xprsmiqcqp
xprsmiqcqp |
Purpose
Synopsis
x = xprsmiqcqp(H,f,A,Q,b,rtype,ctype, clim,sos,lb,ub,x0,options)
[x,fval,exitflag,output] = xprsmiqcqp(...)
Input arguments
H
|
Matrix for quadratic objective terms
|
||||||||||||
f
|
Linear objective function vector
|
||||||||||||
A
|
Matrix for the linear part of the constraints
|
||||||||||||
Q
|
Cell array of length
m with the
n × n matrices for the quadratic terms of the constraints. If there is only one constraint (
m=1), then
Q can be a simple double matrix instead of a cell array. For a linear constraint, the corresponding
Q{i} matrix can be set to
[].
|
||||||||||||
b
|
Vector for constraints RHS
|
||||||||||||
rtype
|
Character vector (string) giving the row types:
If
rtype = [], all rows are assumed to be of type
'L'. If
rtype is a single character, all constraints are assigned the corresponding type.
|
||||||||||||
ctype
|
Character vector (string) giving the column types:
If
ctype = [], all rows are assumed to be of type
'C'. If
ctype is a single character, all constraints are assigned the corresponding type.
|
||||||||||||
clim
|
Vector containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (column types
'P',
'S',
'R'). Values in the positions corresponding to all other columns are ignored.
clim is mandatory if there are any
'P',
'S', or
'R' columns. If
clim is a scalar, all columns are assigned to that same limit.
|
||||||||||||
sos
|
Struct vector defining SOS sets. The number of SOS sets is given by the number of elements in the struct. The struct must contain the following fields:
|
||||||||||||
lb
|
Lower bounds. If
lb = [] it means there are no lower bounds. If
lb is a scalar,
x is uniformly bounded by that scalar.
|
||||||||||||
ub
|
Upper bounds. If
ub = [] it means there are no upper bounds. If
ub is a scalar,
x is uniformly bounded by that scalar.
|
||||||||||||
x0
|
Optional initial known solution used to speed-up search.
|
||||||||||||
options
|
Options structure created with
optimset or
xprsoptimset functions. See
xprsoptimset for more details.
|
Output arguments
x
|
Solution found by the optimization function. If
exitflag > 0, then
x is a solution; otherwise,
x is the value of the optimization routine when it terminated prematurely.
|
||||||||||||
fval
|
Value of the objective function at the solution
x.
|
||||||||||||
exitflag
|
Integer identifying the reason the optimization algorithm terminated. The following lists the values of
exitflag and the corresponding reasons the algorithm terminated.
|
||||||||||||
output
|
Structure containing information about the optimization and, eventually, values of Xpress controls and attributes. See
quadprog and the Section
Setting and querying controls and attributes for details.
|
Further information
1. This routine finds the minimum of a problem specified by
min 0.5·x'·H·x + f·x
s.t. A·x + x'·Qi·x ≤|=|≥ b
lb≤ x ≤ ub
and
x in the domain specified by the
ctype,
clim and
sos arguments, where
H is an
n × n matrix;
A is an
m × n matrix;
Q is a cell array of
n × n matrices;
f,
b,
rtype,
ctype,
clim,
lb,
ub, and
x0 are vectors;
sos is a struct vector.
s.t. A·x + x'·Qi·x ≤|=|≥ b
lb≤ x ≤ ub
2. Input arguments
rtype and following can be omitted, with the condition that, if one is omitted, also all the following ones must be omitted (as in
x=xprsmiqcqp(H, f, A, Q, b, rtype)). Omitting an input argument has the same effect as passing an empty array
[].
3. All output arguments can be omitted too, again with the condition that, if one is omitted, also all the following ones must be omitted (as in
[x, fval]= xprsmiqcqp(H, f, A, Q, b, rtype)).
4. If the specified input bounds for a problem are inconsistent, the output
x and
fval are set to
[].
Related topics