qps_cplex(H,
c,
A,
l,
u,
xmin,
xmax,
x0,
opt)
| source code
|
Quadratic Program Solver based on CPLEX.
A wrapper function providing a PYPOWER standardized interface for
using cplexqp or cplexlp to solve the following
QP (quadratic programming) problem:
min 1/2 X'*H*x + c'*x
x
subject to:
l <= A*x <= u (linear constraints)
xmin <= x <= xmax (variable bounds)
Inputs (all optional except H , c ,
A and l ):
-
H : matrix (possibly sparse) of quadratic cost
coefficients
-
c : vector of linear cost coefficients
-
A, l, u : define the optional linear constraints.
Default values for the elements of L and U are -Inf and Inf,
respectively.
-
xmin, xmax : optional lower and upper bounds on the
x variables, defaults are -Inf and Inf, respectively.
-
x0 : optional starting value of optimization vector
x
-
opt : optional options structure with the following
fields, all of which are also optional (default values shown in
parentheses)
-
verbose (0) - controls level of progress output
displayed
-
0 = no progress output
-
1 = some progress output
-
2 = verbose progress output
-
cplex_opt - options dict for CPLEX, value in verbose
overrides these options
-
problem : The inputs can alternatively be supplied in a
single problem dict with fields corresponding to the
input arguments described above: H, c, A, l, u, xmin, xmax, x0,
opt
Outputs:
-
x : solution vector
-
f : final objective function value
-
exitflag : CPLEXQP/CPLEXLP exit flag (see
cplexqp and cplexlp documentation for
details)
-
output : CPLEXQP/CPLEXLP output dict (see
cplexqp and cplexlp documentation for
details)
-
lmbda : dict containing the Langrange and Kuhn-Tucker
multipliers on the constraints, with fields:
-
mu_l - lower (left-hand) limit on linear constraints
-
mu_u - upper (right-hand) limit on linear constraints
-
lower - lower bound on optimization variables
-
upper - upper bound on optimization variables
- Authors:
-
Ray Zimmerman (PSERC Cornell),
Richard Lincoln
|