| solveqp {qpmadr} | R Documentation | 
Quadratic Programming
Description
Solves
argmin 0.5 x' H x + h' x
s.t.
lb_i \leq x_i \leq ub_i
Alb_i \leq (A x)_i \leq Aub_i
Usage
solveqp(
  H,
  h = NULL,
  lb = NULL,
  ub = NULL,
  A = NULL,
  Alb = NULL,
  Aub = NULL,
  pars = list()
)
Arguments
H | 
 Symmetric positive definite matrix, n*n. Can also be a (inverse) Cholesky factor cf.
  | 
h | 
 Optional, vector of length n.  | 
lb, ub | 
 Optional, lower/upper bounds of   | 
A | 
 Optional, constraints matrix of dimension p*n, where each row corresponds to a constraint. For equality constraints let corresponding elements in   | 
Alb, Aub | 
 Optional, lower/upper bounds for   | 
pars | 
 Optional, qpmad-solver parameters, conveniently set with   | 
Value
At least one of lb, ub or A must be specified. If A has been
specified then also at least one of Alb or Aub. Returns a list with elements solution (the solution vector),
status (a status code) and message (a human readable message). If status = 0 the algorithm has converged.
Possible status codes:
0: Ok-1: Numerical issue, matrix (probably) not positive definite1: Inconsistent2: Infeasible equality3: Infeasible inequality4: Maximal number of iterations
See Also
Examples
## Assume we want to minimize: -(0 5 0) %*% b + 1/2 b^T b
## under the constraints:      A^T b >= b0
## with b0 = (-8,2,0)^T
## and      (-4  2  0)
##      A = (-3  1 -2)
##          ( 0  0  1)
## we can use solveqp as follows:
##
Dmat       <- diag(3)
dvec       <- c(0,-5,0)
Amat       <- t(matrix(c(-4,-3,0,2,1,0,0,-2,1),3,3))
bvec       <- c(-8,2,0)
solveqp(Dmat,dvec,A=Amat,Alb=bvec)