SOL LP-MINOS
This page is part of the SOL Manual. See SOL. |
Using TOMLAB
Purpose
minosLPTL solves linear optimization problems defined as
where , , and .
Calling Syntax
Using the driver routine tomRun :
Prob = lpAssign( ... ); Result = tomRun('lp-minos', Prob ... ); or Prob = ProbCheck( ... ); Result = minosLPTL(Prob);
Call Prob = lpAssign( ... ) 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. |
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 (always 0 for LP). |
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. |
ConstrEv | Number of constraint evaluations. |
QP.B | Basis vector in TOMLAB QP standard. |
MinorIter | Number of minor iterations. |
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 | 100 | ||
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 | 1E-6 | ||
11. | FEASIBILITY TOLERANCE | > 0 | 1E-6 | ||
Scaling | |||||
18. | SCALE OPTION
See Section 6.2 for more information. |
0 | 2 | 2 | 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 | |
LU I | |||||
23. | LU FACTORIZATION TOLERANCE | 1 | 100 | ||
24. | LU UPDATE TOLERANCE | 1 | 10 | ||
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 | 0 | 3m | ||
31. | PARTIAL PRICE | 1 | 10 | ||
Solve with tight or loose tols (applies to LP but probably not useful) | |||||
44. | COMPLETION | 0 | 1 | 1 | 0=PARTIAL 1=FULL |
Frequencies II | |||||
51. | CHECK FREQUENCY | > 0 | 60 | ||
52. | EXPAND FREQUENCY | > 0 | 10000 | ||
53. | FACTORIZATION FREQUENCY | > 0 | 100 | ||
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)| < AIJ TOLERANCE are set as 0 | ||
70. | SUBSPACE
Convergence tolerance in current subspace before consider moving off another constraint. |
> 0 | 0.5 | 1 | Subspace tolerance |