SOL QP-MINOS
This page is part of the SOL Manual. See SOL. |
Using TOMLAB
Purpose
minosQPTL solves quadratic optimization problems defined as
where Failed to parse (unknown function "\MATHSET"): {\displaystyle c, x, x_L, x_U \in \MATHSET{R}^n} , Failed to parse (unknown function "\MATHSET"): {\displaystyle F \in \MATHSET{R}^{n \times n}} , Failed to parse (unknown function "\MATHSET"): {\displaystyle A \in \MATHSET{R}^{m_1 \times n}} , and Failed to parse (unknown function "\MATHSET"): {\displaystyle b_L,b_U \in \MATHSET{R}^{m_1}} .
Calling Syntax
Using the driver routine tomRun :
Prob = qpAssign( ... ); Result = tomRun('qp-minos', Prob ... ); or Prob = ProbCheck( ... ); Result = minosQPTL(Prob);
Call Prob = qpAssign( ... ) or Prob=ProbDef to define the Prob for the second option.
Description of Inputs
Prob, The following fields are used: | |
---|---|
x_L, x_U | Bounds on variables. |
b_L, b_U | Bounds on linear constraints. |
A | Linear constraint matrix. |
QP.c | Linear coefficients in objective function. |
QP.F | Quadratic matrix of size nnObj x nnObj. nnObj < n is OK. |
PriLevOpt | Print level. |
WarmStart | If true, use warm start, otherwise cold start. |
SOL.xs | Solution and slacks from previous run. |
SOL.hs | State for solution and slacks from previous run. |
SOL.nS | Number of superbasics from previous run. |
SOL.moremem | Add more memory if MINOS stops with not enough storage message. 1E6 is 10MB of memory. Default n+m (number of variables + linear constraints). |
SOL.SpecsFile | Name of user defined SPECS file, read BEFORE optPar() is used. |
SOL.PrintFile | Name of SOL Print file. Amount and type of printing determined by SPECS parameters or optPar parameters. |
SOL.SummFile | Name of SOL Summary File. |
SOL.optPar | Elements > -999 takes precedence over corresponding TOMLAB params. See Table 50. |
Description of Outputs
Result, The following fields are used: | |
---|---|
Result | The structure with results (see ResultDef.m). |
f_k | Function value at optimum. |
x_k | Solution vector. |
x_0 | Initial solution vector. |
g_k | Gradient c (linear objective). |
xState | State of variables. Free == 0; On lower == 1; On upper == 2; Fixed == 3; |
bState | State of linear constraints. Free == 0; Lower == 1; Upper == 2; Equality == 3; |
v_k | Lagrangian multipliers (for bounds + dual solution vector). |
ExitFlag | Exit status from minos.m (similar to TOMLAB). |
Inform | Result of MINOS run.
0 Optimal solution found. 1 The problem is infeasible. 2 The problem is unbounded (or badly scaled). 3 Too many iterations. 4 Apparent stall. The solution has not changed for a large number of iterations (e.g. 1000). 5 The Superbasics limit is too small. 6 User requested termination (by returning bad value). 7 Gradient seems to be giving incorrect derivatives. 8 Jacobian seems to be giving incorrect derivatives. 9 The current point cannot be improved. 10 Numerical error in trying to satisfy the linear constraints (or the linearized nonlinear constraints). The basis is very ill-conditioned. 11 Cannot find a superbasic to replace a basic variable. 12 Basis factorization requested twice in a row. Should probably be treated as inform = 9. 13 Near-optimal solution found. Should probably be treated as inform = 9. 20 Not enough storage for the basis factorization. 21 Error in basis package. 22 The basis is singular after several attempts to factorize it (and add slacks where necessary). 30 An OLD BASIS file had dimensions that did not match the current problem. 32 System error. Wrong number of basic variables. 40 Fatal errors in the MPS file. 41 Not enough storage to read the MPS file. 42 Not enough storage to solve the problem. |
rc | Vector of reduced costs, g - ( A I )Tp, where g is the gradient of the objective function if xn is feasible, or the gradient of the Phase-1 objective otherwise. If ninf = 0, the last m entries are -p. Reduced costs vector is of n+m length. |
Iter | Number of iterations. |
FuncEv | Number of function evaluations. Set to Iter. |
GradEv | Number of gradient evaluations. Set to Iter. |
ConstrEv | Number of constraint evaluations. Set to 0. |
QP.B | Basis vector in TOMLAB QP standard. |
MinorIter | Number of minor iterations. NOT SET. |
Solver | Name of the solver (minos). |
SolverAlgorithm | Description of the solver. |
SOL.xs | Solution and slack variables. |
SOL.hs | Basis status of variables + constraints (n+m x 1 vector). State of variables: 0=nonbasic (on bl), 1=nonbasic (on bu) 2=superbasic (between bounds), 3=basic (between bounds).
Basic and superbasic variables may be outside their bounds by as much as the Feasibility tolerance. Note that if scaling is specified, the Feasibility tolerance applies to the variables of the scaled problem. In this case, the variables of the original problem may be as much as 0.1 outside their bounds, but this is unlikely unless the problem is very badly scaled. Check the "Primal infeasibility" printed after the EXIT message. Very occasionally some nonbasic variables may be outside their bounds by as much as the Feasibility tolerance, and there may be some nonbasics for which xn(j) lies strictly between its bounds. If ninf > 0, some basic and superbasic variables may be outside their bounds by an arbitrary amount (bounded by sinf if scaling was not used). |
SOL.nS | # of superbasics. |
SOL.nInf | # of infeasibilities. |
SOL.sInf | Sum of infeasibilities. |
optPar
Description
Use missing value (-999 or less), when no change of parameter setting is wanted. The default value will then be used by MINOS, unless the value is altered in the SPECS file.
Description of Inputs
# | SPECS keyword text | Lower | Default | Upper | Comment |
---|---|---|---|---|---|
Printing | |||||
1. | PRINT LEVEL | 0 | 0 | 1 | 0=brief 1=LU stats |
Frequencies I | |||||
5. | PRINT FREQUENCY | 0 | 100 | ||
6. | SUMMARY FREQUENCY | 0 | 1 | ||
7. | SOLUTION YES/NO | 0 | 1 | 1 | 1 = YES; 0 = NO |
8. | SUPPRESS PARAMETERS | 0 | 0 | 1 | 1 = True |
Convergence Tolerances | |||||
10. | OPTIMALITY TOLERANCE | > 0 | max(1E - 6, (10eps_{R} )^{0.5}) = 1.73E-6 | ||
11. | FEASIBILITY TOLERANCE | > 0 | 1E-6 | ||
Derivative checking | |||||
13. | VERIFY LEVEL | -1 | -1 | 3 | -1,0,1,2,3 |
14. | START OBJECTIVE CHECK AT COL | 0 | 1 | nnObj | |
15. | STOP OBJECTIVE CHECK AT COL | 0 | nnObj | nnObj | |
Scaling | |||||
18. | SCALE OPTION
See Section 6.2 for more information. |
0 | 1 | 2 | |
19. | SCALE TOLERANCE | > 0 | 0.9 | < 1 | |
20. | SCALE PRINT | 0 | 0 | 1 | 1 = True |
21. | CRASH TOLERANCE | 0 | 0.1 | < 1 | |
Other Tolerances | |||||
22. | LINESEARCH TOLERANCE | > 0 | 0.1 | < 1 | |
LU I | |||||
23. | LU FACTOR TOLERANCE | 1 | 5.0 | ||
24. | LU UPDATE TOLERANCE | 1 | 5.0 | ||
25. | LU SWAP TOLERANCE | >0 | 1.22E-4 | eps^{1/4} | |
26. | LU SINGULARITY TOLERANCE | >0 | 3.25E-11 | eps^{0.67} | |
LP parameters | |||||
27. | PIVOT TOLERANCE | > 0 3.25E-11 | eps^{0.67} | ||
28. | CRASH OPTION | 0 3 3 0,1,2,3 | |||
29. | WEIGHT ON LINEAR OBJECTIVE | 0.0 | 0.0 | during Phase 1 | |
30. | ITERATIONS LIMIT
m3=1 if length(Prob.QP.c) > 0, otherwise m3=0. TOMLAB default: max(10000,3(m+m3) + 10nnL). |
0 | 3(m+m3) + 10nnL | ||
31. | PARTIAL PRICE | 1 | 1 | ||
32. | MAXIMIZE | 0 | 0 | 1 | 1=maximize |
Reduced-gradient method | |||||
39. | DERIVATIVE LEVEL
Is always set by minosqpTL to 3. |
0 | 3 | 3 | 0,1,2,3 |
41. | FUNCTION PRECISION | > 0 | 3.0E-13 | eps^{0.8 = epsR} | |
42. | DIFFERENCE INTERVAL | > 0 | 5.48E-8 | eps^{0.4} | |
43. | CENTRAL DIFFERENCE INTERVAL | > 0 | 6.69E-5 | eps^{0.8/3} | |
44. | COMPLETION | 0 | 1 LC, 0 1 NC | 0=PARTIAL 1=FULL | |
45. | UNBOUNDED STEP SIZE | > 0 | 1E10 | ||
46. | UNBOUNDED OBJECTIVE | > 0 | 1E20 | ||
Hessian approximation | |||||
47. | HESSIAN DIMENSION | 1 | 50 | 1+nnL | |
48. | SUPERBASICS LIMIT
TOMLAB default (to avoid termination with Superbasics Limit too small): If n <= 5000: max(50, n + 1) If n > 5000: max(500, n + 200 - size(A, 1) - length(cL )) Avoid setting REDUCED HESSIAN (number of columns in reduced Hessian). It will then be set to the same value as the SUPERBASICS LIMIT by MINOS. |
1 | 50 | 1+nnL | |
Frequencies II | |||||
51. | CHECK FREQUENCY | > 0 | 60 | ||
52. | EXPAND FREQUENCY | > 0 | 10000 | ||
53. | FACTORIZATION FREQUENCY | > 0 | 50 | ||
LU II | |||||
63. | LU PARTIAL PIVOTING
or LU COMPLETE PIVOTING or LU ROOK PIVOTING |
0 | 0 | 3 | 0=partial
1=complete 2=rook |
Additional parameters | |||||
67. | AIJ TOLERANCE | 0 | 1E-10
Elements |a(i, j)| < AI J TOLERANCE are set as 0 | ||
70. | SUBSPACE
Convergence tolerance in current subspace before consider moving off another constraint. |
> 0 | 0.5 | 1 | Subspace tolerance |