symphony
Solves a mixed integer linear programming constrained optimization problem.
Calling Sequence
xopt = symphony(nbVar,nbCon,c,isInt,lb,ub,A,conLB,conUB)
xopt = symphony(nbVar,nbCon,c,isInt,lb,ub,A,conLB,conUB,objSense)
xopt = symphony(nbVar,nbCon,c,isInt,lb,ub,A,conLB,conUB,objSense,options)
[xopt,fopt,status,output] = symphony( ... )
Parameters
nbVar :
a double, number of variables.
nbCon :
a double, number of constraints.
c :
a vector of double, represents coefficients of the variables in the objective.
isInt :
a vector of boolean, represents wether a variable is constrained to be an integer.
lb :
a vector of double, represents lower bounds of the variables.
ub :
a vector of double, represents upper bounds of the variables.
A :
a matrix of double, represents matrix representing the constraint matrix.
conLB :
a vector of double, represents lower bounds of the constraints.
conUB :
a vector of double, represents upper bounds of the constraints
objSense :
The sense (maximization/minimization) of the objective. Use 1(sym_minimize ) or -1 (sym_maximize) here.
options :
a list containing the the parameters to be set.
xopt :
a vector of double, the computed solution of the optimization problem.
fopt :
a double, the function value at x.
status :
status flag returned from symphony. 227 is optimal, 228 is Time limit exceeded, 230 is iteration limit exceeded.
output :
The output data structure contains detailed information about the optimization process. This version only contains number of iterations
Description
Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by :
\begin{eqnarray}
&\mbox{min}_{x}
& f^T⋅x \\
& \text{subject to} & conLB \leq A⋅x \leq conUB \\
& & 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.
Examples
Examples
Authors
Keyur Joshi, Saikiran, Iswarya, Harpreet Singh