TOMLAB OPTIMIZATION ENVIRONMENT: lpopt

   

lpopt

Purpose

MEX Interface for LPOPT

For solving linear programming problems (LP)

Syntax

  [Inform, Iter, iState, Ax, cLamda, Obj, x] = lpopt( ...
     A, bl, bu, c, Warm, x, iState, ...
     SpecsFile, PrintFile, SummFile, PriLev, optPar );

Description

lpopt solves the following linear programming problem (LP):

        minimize  c'x    subject to:     
         x                            (  x )
                               bl <=  ( Ax )  <= bu
   where 

   A is an m x n dense matrix (linear constraints).
   c is an n x 1 dense vector of linear objective coefficients. 

   bl, bu have dimension n+m

   If isempty(c) (or all(c==0), then a feasible point problem is solved (FP).
   Otherwise a standard linear programming problem is solved (LP).

If running TOMLAB

bl, bu and other input are generated in lpoptTL.m from Prob input. lpopt is called using mexRun('lpopt',Prob), or using the GUI, the menu program tomMenu, or the driver routine tomRun.

Input Parameters

At least the first 3 parameters must be given.

  
 A         Constraint matrix, m x n (DENSE).
 bl        Lower bounds on (x,Ax), m+n x 1 vector (DENSE).
 bu        Upper bounds on (x,Ax), m+n x 1 vector (DENSE).
 c         Linear objective function cost coeffs, n x 1 (DENSE).
           If length(c) < n, setting c(1:n)=0;
 Warm      If Warm > 0, then warm start, otherwise cold Start. Default 0.
           If warm start, then x and iState must be set properly.
           Normally the values from last call to lpopt are used.
 x         Initial estimate of solution vector x. (DENSE) If length(x) < n,
           the rest of the elements in x are set to 0.
 iState    Working set (if Warm start) (n+m) x 1 (DENSE).
           If length(iState) < n+m, setting iState(1:n+m)=0;

 iState(i)=0: Corresponding constraint not in the initial QP working set.
 iState(i)=1: Inequality constraint at its lower bound in QP working set.
 iState(i)=2: Inequality constraint at its upper bound in QP working set.
 iState(i)=3: Equality constraint in the initial QP working set,bl(i)==bu(i).

 SpecsFile Name of the OPTIONS File, see QPOPT Guide, ch.6.
           Fortran unit 20 is used to read the OPTIONS File in the interface.
 PrintFile Name of the Print file. If optPar(3) > 0, lpopt opens that unit,
           otherwise lpopt opens Fortran unit 9.
           Name includes the path, maximal number of characters = 500.
 SummFile  Name of the Summary file. If optPar(4) > 0, lpopt opens that unit,
           otherwise lpopt opens Fortran unit 8.
           Name includes the path, maximal number of characters = 500
 PriLev    Print level in the lpopt MEX-interface.
           = 0  Silent
           = 1  Summary information
           = 2  More detailed information
           if isempty(PriLev), set as 0. 
 optPar    Vector with optimization parameters overriding defaults and the
           optionally specified SPECS file.
           If length(optPar) < 62, lpopt sets the rest of the values to
           missing value (-999).

Description of the optPar vector

Use missing value (-999 or less), when no change of parameter setting is wanted. No call is then done to internal routines lpprmi, lpprmr and lpprm. The default value will then be used by LPOPT, unless the value is altered in the SPECS file.

 #   SPECS keyword text            Lower    Default   Upper   Comment
 Printing
 1.  PRINT LEVEL                   0        10                {0,1,5,10,20,30}
 3.  PRINT FILE                    0        0                 Fortran Unit #
           SET BY INTERFACE IF PrintFile is given
 4.  SUMMARY FILE                  0        0                 Fortran Unit #
           SET BY INTERFACE IF SummFile  is given
 10. OPTIMALITY TOLERANCE          >0       1.1E-8            sqrt(eps)
 11. FEASIBILITY TOLERANCE         >0       1.1E-8            sqrt(eps)
 21. CRASH TOLERANCE               >0       0.01      <1      
 27. RANK TOLERANCE                >0       1.1E-14           100*eps
 30. ITERATION LIMIT               >0       max(50,5(n+m))    
 33. MIN SUM YES (or NO)           0        0         1       1=min infeas
           IF 1 (MIN SUM YES), minimize the infeasibilities before return
 36. FEASIBILITY PHASE ITERATIONS  >0       max(50,5(n+m))    
 45. INFINITE STEP SIZE            >0       1E20
 47. HESSIAN ROWS                  0        n         n       0 if FP or LP
           IMPLICITLY GIVEN BY THE DIMENSIONS OF H IN THE CALL FROM MATLAB
 48. MAX DEGREES OF FREEDOM        0        n         n       
           ONLY USED IF HESSIAN ROWS == N
 51. CHECK FREQUENCY               >0       50
 52. EXPAND FREQUENCY              >0       5

Output Parameters

 Inform    Result of LPOPT run.
           0 = Optimal solution found
 Iter      Number of iterations.
 iState    Status of working set, se input description of iState.
 Ax        A*x.
 cLamda    Lagrangian multipliers (dual solution vector) (m x 1 vector).
 Obj       Objective function value at optimum.
 x         Solution vector with decision variable values (n x 1 vector).

See Also

, lpoptTL

    lpoptTL