QUADPROG Quadratic programming.
X=QUADPROG(H,f,A,b) attempts to solve the quadratic programming problem:
min 0.5*x'*H*x + f'*x subject to: A*x <= b
x
X=QUADPROG(H,f,A,b,Aeq,beq) solves the problem above while additionally
satisfying the equality constraints Aeq*x = beq.
X=QUADPROG(H,f,A,b,Aeq,beq,LB,UB) defines a set of lower and upper
bounds on the design variables, X, so that the solution is in the
range LB <= X <= UB. Use empty matrices for LB and UB
if no bounds exist. Set LB(i) = -Inf if X(i) is unbounded below;
set UB(i) = Inf if X(i) is unbounded above.
X=QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0) sets the starting point to X0.
X=QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS) minimizes with the default
optimization parameters replaced by values in the structure OPTIONS, an
argument created with the OPTIMSET function. See OPTIMSET for details.
Used options are Display, Diagnostics, TolX, TolFun, HessMult, LargeScale,
MaxIter, PrecondBandWidth, TypicalX, TolPCG, and MaxPCGIter. Currently,
only 'final' and 'off' are valid values for the parameter Display ('iter'
is not available).
X=QUADPROG(Hinfo,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS,P1,P2,...) passes the
problem-dependent parameters P1,P2,... directly to the HMFUN function
when OPTIMSET('HessMult',HMFUN) is set. HMFUN is provided by the user.
Pass empty matrices for A, b, Aeq, beq, LB, UB, XO, OPTIONS, to use the
default values.
[X,FVAL]=QUADPROG(H,f,A,b) returns the value of the objective function at X:
FVAL = 0.5*X'*H*X + f'*X.
[X,FVAL,EXITFLAG] = QUADPROG(H,f,A,b) returns an EXITFLAG that describes the
exit condition of QUADPROG. Possible values of EXITFLAG and the corresponding
exit conditions are
1 QUADPROG converged with a solution X.
3 Change in objective function value smaller than the specified tolerance.
4 Local minimizer found.
0 Maximum number of iterations exceeded.
-2 No feasible point found.
-3 Problem is unbounded.
-4 Current search direction is not a direction of descent; no further
progress can be made.
-7 Magnitude of search direction became too small; no further progress can
be made.
[X,FVAL,EXITFLAG,OUTPUT] = QUADPROG(H,f,A,b) returns a structure
OUTPUT with the number of iterations taken in OUTPUT.iterations,
the type of algorithm used in OUTPUT.algorithm, the number of conjugate
gradient iterations (if used) in OUTPUT.cgiterations, a measure of first
order optimality (large-scale method only) in OUPUT.firstorderopt, and the
exit message in OUTPUT.message.
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA]=QUADPROG(H,f,A,b) returns the set of
Lagrangian multipliers LAMBDA, at the solution: LAMBDA.ineqlin for the
linear inequalities A, LAMBDA.eqlin for the linear equalities Aeq,
LAMBDA.lower for LB, and LAMBDA.upper for UB.