Home > mpt > solvers > mpt_solveMIQP.m

mpt_solveMIQP

PURPOSE ^

MPT_SOLVEMIQP Interface to various MIQP solvers

SYNOPSIS ^

function [xmin,fmin,how,exitflag]=mpt_solveMIQP(H,f,A,B,Aeq,Beq,lb,ub,vartype,param,options,solver)

DESCRIPTION ^

MPT_SOLVEMIQP Interface to various MIQP solvers

 [xmin,fmin,how,exitflag]=mpt_solveMIQP(H,f,A,B,Aeq,Beq,lb,ub,vartype,param,options,solver)

 ---------------------------------------------------------------------------
 DESCRIPTION
 ---------------------------------------------------------------------------
 Solves an MILP problem:

     min  0.5 x' H x + f'x
     s.t. A*x (<=,=) B
          some 'x' integer/boolean

 by using the method specified in 'solver'

 ---------------------------------------------------------------------------
 INPUT
 ---------------------------------------------------------------------------
 H          An (n x n) SYMETRIC, POSITIVE SEMIDEFINITE matrix (in full or sparse
            format) containing the quadratic objective function coefficients.

 f          An (n x 1) vector containing the linear objective function coefficients.
            REQUIRED INPUT ARGUMENT.
 
 A          An (m x n) matrix (in full or sparse format) containing the constraint
            coefficients. REQUIRED INPUT ARGUMENT.
 
 b          An (m x 1) vector containing the right-hand side value for each
            constraint in the constraint matrix. REQUIRED INPUT ARGUMENT.
 
 Aeq        An (k x n) matrix (in full or sparse format) containing the constraint
            coefficients for equality constraints (i.e. Aeq*x = Beq)
 
 beq        An (k x 1) vector containing the right-hand side value for each
            constraint in the constraint matrix for equality constraints

 LB         An (n x 1) vector containing the lower bound on each of the variables.
            Any lower bound that is set to a value less than or equal to that of
            the constant -CPX_INFBOUND will be treated as negative \infty.
            CPX_INFBOUND is defined in the header file cplex.h.
            Default: [], (lower bound of all variables set to -CPX_INFBOUND).
 
 UB         An (n x 1) vector containing the upper bound on each of the variables.
            Any upper bound that is set to a value greater than or equal to that of
            the constant CPX_INFBOUND will be treated as \infty.
            CPX_INFBOUND is defined in the header file cplex.h.
            Default: [], (upper bound of all variables set to CPX_INFBOUND).

 VARTYPE    An (n x 1) vector containing the types of the variables
            VARTYPE(i) = 'C' Continuous variable
            VARTYPE(i) = 'B' Binary(0/1) variable
            VARTYPE(i) = 'I' Integer variable
            VARTYPE(i) = 'S' Semi-continuous variable
            VARTYPE(i) = 'N' Semi-integer variable
            (This is case sensitive).
            Default: [], (all variables are continuous).

 solver     which solver to use:
              0 - CPLEX 9 (cplexint)
              1 - YALMIP Branch & Bound
              2 - XPRESS
              3 - MOSEK
              4 - CPLEX 8 (mexcplex)
              5 - CPLEXMEX (by Nicolo Giorgetti)

 Note: if 'solver' is not specified, mptOptions.miqpsolver will be used instead
       (see help mpt_init)

 ---------------------------------------------------------------------------
 OUTPUT
 ---------------------------------------------------------------------------
 xopt      - The optimizer
 fmin      - Value of the objective
 exitflag  - An integer specifying result of the optimization
             (1 - optimal solution found, -1 - problem is infeasible)
 how       - States the result of optimization ('ok', 'unbounded', 'infeasible')

 see also MPT_SOLVEQP, MPT_SOLVEMILP

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003