qpipoptmat Solves a linear quadratic problem. Calling Sequence xopt = qpipoptmat(H,f) xopt = qpipoptmat(H,f,A,b) xopt = qpipoptmat(H,f,A,b,Aeq,beq) xopt = qpipoptmat(H,f,A,b,Aeq,beq,lb,ub) xopt = qpipoptmat(H,f,A,b,Aeq,beq,lb,ub,x0) xopt = qpipoptmat(H,f,A,b,Aeq,beq,lb,ub,x0,param) [xopt,fopt,exitflag,output,lamda] = qpipoptmat( ... ) 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 A : a vector of double, represents the linear coefficients in the inequality constraints b : a vector of double, represents the linear coefficients in the inequality constraints Aeq : a matrix of double, represents the linear coefficients in the equality constraints beq : a vector of double, represents the linear coefficients in the equality constraints 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. param : 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. residual : a vector of double, solution residuals returned as the vector d-C*x. exitflag : A flag showing returned exit flag from Ipopt. It could be 0, 1 or 2 etc. i.e. Optimal, Maximum Number of Iterations Exceeded, CPU time exceeded. Other flags one can see in the lsqlin macro. output : Structure containing information about the optimization. This version only contains number of iterations. lambda : Structure containing the Lagrange multipliers at the solution x (separated by constraint type).It contains lower, upper bound multiplier and linear equality, inequality constraint multiplier. 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 \\ \end{eqnarray} The routine calls Ipopt for solving the quadratic problem, Ipopt is a library written in C++. Examples = 0, // x2 >= 0 H = [2 0 0 8]; f = [-8; -16]; A = [1 1;1 0]; b = [5;3]; lb = [0; 0]; ub = [%inf; %inf]; [xopt,fopt,exitflag,output,lambda] = qpipoptmat(H,f,A,b,[],[],lb,ub) // Press ENTER to continue ]]> Examples Authors Keyur Joshi, Saikiran, Iswarya, Harpreet Singh