intqpipopt
Solves a linear quadratic problem.
Calling Sequence
xopt = intqpipopt(H,f)
xopt = intqpipopt(H,f,intcon)
xopt = intqpipopt(H,f,intcon,A,b)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0,options)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0,options,"file_path")
[xopt,fopt,exitflag,output] = intqpipopt( ... )
Parameters
H :
a symmetric matrix of double, represents coefficients of quadratic in the quadratic problem.
f :
a vector of double, represents coefficients of linear in the quadratic problem
intcon :
a vector of integers, represents which variables are constrained to be integers
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 :
a vector of double, contains lower bounds of the variables.
ub :
a vector of double, contains upper bounds of the variables.
x0 :
a vector of double, contains initial guess of variables.
options :
a list containing the parameters to be set.
file_path :
path to bonmin opt file if used.
xopt :
a vector of double, the computed solution of the optimization problem.
fopt :
a double, the value of the function at x.
exitflag :
The exit status. See below for details.
output :
The structure consist of statistics about the optimization. See below for details.
Description
Search the minimum of a constrained linear quadratic optimization problem specified by :
\begin{eqnarray}
&\mbox{min}_{x}
& 1/2⋅x^T⋅H⋅x + f^T⋅x \\
& \text{subject to} & A⋅x \leq b \\
& & Aeq⋅x = beq \\
& & lb \leq x \leq ub \\
& & x_i \in \!\, \mathbb{Z}, i \in \!\, intcon\\
\end{eqnarray}
The routine calls Bonmin for solving the quadratic problem, Bonmin is a library written in C++.
The exitflag allows to know the status of the optimization which is given back by Bonmin.
exitflag=0 : Optimal Solution Found.
exitflag=1 : InFeasible Solution.
exitflag=2 : Output is Continuous Unbounded.
exitflag=3 : Limit Exceeded.
exitflag=4 : User Interrupt.
exitflag=5 : MINLP Error.
For more details on exitflag see the Bonmin page, go to http://www.coin-or.org/Bonmin
The output data structure contains detailed informations about the optimization process.
It has type "struct" and contains the following fields.
output.constrviolation: The max-norm of the constraint violation.
Examples
Examples
Authors
Akshay Miterani and Pranav Deshpande