QProg#
Purpose#
Solves the quadratic programming problem.
Format#
- { x, u1, u2, u3, u4, u5 } = QProg(start, q, r, a, b, c, d, bnds)#
- Parameters:
start (Kx1 vector) – start values.
q (KxK matrix) – symmetric model matrix.
r (Kx1 vector) – model constant vector.
a (MxK matrix) – equality constraint coefficient matrix, or scalar 0, no equality constraints.
b (Mx1 vector) – equality constraint constant vector, or scalar 0, will be expanded to Mx1 vector of zeros.
c (NxK matrix) – inequality constraint coefficient matrix, or scalar 0, no inequality constraints.
d (Nx1 vector) – inequality constraint constant vector, or scalar 0, will be expanded to Nx1 vector of zeros.
bnds (Kx2 matrix) – bounds on
x
, the first column contains the lower bounds on x, and the second column the upper bounds. If scalar 0, the bounds for all elements will default to ±1e200.
- Returns:
x (Kx1 vector) – coefficients at the minimum of the function.
u1 (Mx1 vector) – Lagrangian coefficients of equality constraints.
u2 (Nx1 vector) – Lagrangian coefficients of inequality constraints.
u3 (Kx1 vector) – Lagrangian coefficients of lower bounds.
u4 (Kx1 vector) – Lagrangian coefficients of upper bounds.
ret (scalar) –
return code.
0
termination
1
iterations exceeded
2
accuracy is insufficient to maintain decreasing function values
3
matrices not conformable
< 0
constraints inconsistent
Global Input#
- _qprog_maxit:
(scalar), maximum number of iterations. Default = 1000.
Remarks#
QProg()
solves the standard quadratic programming problem:
subject to constraints,
and bounds,
Source#
qprog.src