March 2008qp_solvelinear quadratic programming solver builtinCalling Sequence[x [,iact [,iter [,f]]]]=qp_solve(Q,p1,C1,b,me)ParametersQreal positive definite symmetric matrix (dimension n
x n).preal (column) vector (dimension n)Creal matrix (dimension (me + md) x n).
This matrix may be dense or sparse.bRHS column vector (dimension m=(me +
md))menumber of equality constraints (i.e. x'*C(:,1:me) =
b(1:me)')xoptimal solution found.iactvector, indicator of active constraints. The first non zero
entries give the index of the active constraintsiter2x1 vector, first component gives the number of "main"
iterations, the second one says how many constraints were deleted
after they became active.DescriptionThis function requires Q to be symmetric positive
definite. If this hypothesis is not satisfied, one may use the contributed
quapro toolbox.Examples= b2 (2 inequality constraints)
C2= [ 0 ,1;
-1, 0;
0,-2;
-1,-1;
-2,-1;
1, 0];
b2=[ 1;-2.5];
// and minimize 0.5*x'*Q*x - p'*x with
p=[-1;-2;-3;-4;-5;-6]; Q=eye(6,6);
me=3;
[x,iact,iter,f]=qp_solve(Q,p,[C1 C2],[b1;b2],me)
// Only linear constraints (1 to 4) are active
]]>See AlsooptimqldqpsolveThe contributed toolbox "quapro" may also be of interest, in
particular for singular Q.Memory requirementsLet r be
r=min(m,n)
Then the memory required by qp_solve during the computations
is
2*n+r*(r+5)/2 + 2*m +1
AuthorsS. SteerINRIA (Scilab interface)Berwin A. TurlachSchool of Mathematics and Statistics (M019), The University of
Western Australia, Crawley, AUSTRALIA (solver code)ReferencesGoldfarb, D. and Idnani, A. (1982). "Dual and Primal-Dual
Methods for Solving Strictly Convex Quadratic Programs", in J.P.
Hennart (ed.), Numerical Analysis, Proceedings, Cocoyoc, Mexico 1981,
Vol. 909 of Lecture Notes in Mathematics, Springer-Verlag, Berlin, pp.
226-239.Goldfarb, D. and Idnani, A. (1983). "A numerically stable dual
method for solving strictly convex quadratic programs", Mathematical
Programming 27: 1-33.QuadProg (Quadratic Programming Routines), Berwin A
Turlach,http://www.maths.uwa.edu.au/~berwin/software/quadprog.htmlUsed Functionsqpgen2.f and >qpgen1.f (also named QP.solve.f) developped by
Berwin A. Turlach according to the Goldfarb/Idnani algorithm