qpipopt
Solves a linear quadratic problem.
Calling Sequence
xopt = qpipopt(nbVar,nbCon,Q,p,LB,UB,conMatrix,conLB,conUB)
xopt = qpipopt(nbVar,nbCon,Q,p,LB,UB,conMatrix,conLB,conUB,x0)
xopt = qpipopt(nbVar,nbCon,Q,p,LB,UB,conMatrix,conLB,conUB,x0,param)
[xopt,fopt,exitflag,output,lamda] = qpipopt( ... )
Parameters
nbVar :
a double, number of variables
nbCon :
a double, number of constraints
Q :
a symmetric matrix of doubles, represents coefficients of quadratic in the quadratic problem.
p :
a vector of doubles, represents coefficients of linear in the quadratic problem
LB :
a vector of doubles, contains lower bounds of the variables.
UB :
a vector of doubles, where n is number of variables, contains upper bounds of the variables.
conMatrix :
a matrix of doubles, contains matrix representing the constraint matrix
conLB :
a vector of doubles, contains lower bounds of the constraints.
conUB :
a vector of doubles, contains upper bounds of the constraints.
x0 :
a vector of doubles, contains initial guess of variables.
param :
a list containing the the parameters to be set.
xopt :
a vector of doubles, the computed solution of the optimization problem.
fopt :
a double, the function value at x.
exitflag :
Integer identifying the reason the algorithm terminated.
output :
Structure containing information about the optimization.
lambda :
Structure containing the Lagrange multipliers at the solution x (separated by constraint type).
Description
Search the minimum of a constrained linear quadratic optimization problem specified by :
find the minimum of f(x) such that
\begin{eqnarray}
&\mbox{min}_{x}
& 1/2*x'*Q*x + p'*x \\
& \text{subject to} & conLB \leq C(x) \leq conUB \\
& & lb \leq x \leq ub \\
\end{eqnarray}
We are calling IPOpt for solving the quadratic problem, IPOpt is a library written in C++. The code has been written by Andreas Wächter and Carl Laird.
Examples
Examples
Authors
Keyur Joshi, Saikiran, Iswarya, Harpreet Singh