symphonymat
Solves a mixed integer linear programming constrained optimization problem in intlinprog format.
Calling Sequence
xopt = symphonymat(c,intcon,A,b)
xopt = symphonymat(c,intcon,A,b,Aeq,beq)
xopt = symphonymat(c,intcon,A,b,Aeq,beq,lb,ub)
xopt = symphonymat(c,intcon,A,b,Aeq,beq,lb,ub,options)
[xopt,fopt,status,output] = symphonymat( ... )
Parameters
c :
a vector of double, contains coefficients of the variables in the objective
intcon :
Vector of integer constraints, specified as a vector of positive integers. The values in intcon indicate the components of the decision variable x that are integer-valued. intcon has values from 1 through number of variable.
A :
a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.
b :
a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.
Aeq :
a matrix of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.
beq :
a vector of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.
lb :
Lower bounds, specified as a vector or array of double. lb represents the lower bounds elementwise in lb ≤ x ≤ ub.
ub :
Upper bounds, specified as a vector or array of double. ub represents the upper bounds elementwise in lb ≤ x ≤ ub.
options :
a list containing the parameters to be set.
xopt :
a vector of double, the computed solution of the optimization problem.
fopt :
a double, the value of the function at x.
status :
status flag returned from symphony. See below for details.
output :
The output data structure contains detailed information about the optimization process. See below for details.
Description
Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by :
\begin{eqnarray}
&\mbox{min}_{x}
& C^T⋅x \\
& \text{subject to} & A⋅x \leq b \\
& & Aeq⋅x = beq \\
& & lb \leq x \leq ub \\
& & x_i \in \!\, \mathbb{Z}, i \in \!\, I
\end{eqnarray}
The routine calls SYMPHONY written in C by gateway files for the actual computation.
The status allows to know the status of the optimization which is given back by Ipopt.
status=227 : Optimal Solution Found
status=228 : Maximum CPU Time exceeded.
status=229 : Maximum Number of Node Limit Exceeded.
status=230 : Maximum Number of Iterations Limit Exceeded.
For more details on status see the symphony documentation, go to http://www.coin-or.org/SYMPHONY/man-5.6/
The output data structure contains detailed informations about the optimization process.
It has type "struct" and contains the following fields.
output.iterations: The number of iterations performed during the search
Examples
Examples
Authors
Keyur Joshi, Saikiran, Iswarya, Harpreet Singh