Initializing help system before first use

xprsmiqcqp

xprsmiqcqp


Purpose
Solve mixed integer quadratically constrained quadratic programming problems with Xpress.
Synopsis
x = xprsmiqcqp(H,f,A,Q,b,rtype,ctype, clim,sos,lb,ub,x0,options)
[x,fval,exitflag,output] = xprsmiqcqp(...)
Input arguments
Matrix for quadratic objective terms
Linear objective function vector
Matrix for the linear part of the constraints
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 [].
Vector for constraints RHS
rtype 
Character vector (string) giving the row types:
indicates a ≤ row
indicates a = row
indicates a ≥ row
indicates a free row
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:
(or \0) continuous variables
binary variables
integer variables
partial integer variables
semi-continuous variables
semi-continuous integers
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:
sos(i).type 
a character indicating the SOS type, either '1' or '2'
sos(i).ind 
numeric vector with the indices of columns in the set (column indices start from 0)
sos(i).wt 
numeric vector with the reference row weights corresponding to the columns in the sos(i).ind vector. It must have the same length as sos(i).ind
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
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.
function converged to a solution x (MIPSTATUS=MIP_OPTIMAL)
number of iterations exceeded iter limit (STOPSTATUS= STOP_ITERLIMIT)
-2 
the problem is infeasible (MIPSTATUS=MIP_INFEAS)
-4 
number of searched nodes exceeded limit (STOPSTATUS= STOP_NODELIMIT)
-5 
search time exceeded limit (STOPSTATUS= STOP_TIMELIMIT)
-8 
other stop reason, see MIPSTATUS and STOPSTATUS for details
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.
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
xprsoptimset, bintprog, quadprog

© 2001-2019 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.