Initializing help system before first use

problem.loadMIQCQP

Purpose
Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
Topic areas
Problem Input, Quadratic
Synopsis
problem.loadMIQCQP(probname="", rowtype=None, rhs=None, rng=None, objcoef=None, start=None, collen=None, rowind=None, rowcoef=None, lb=None, ub=None, objqcol1=None, objqcol2=None, objqcoef=None, qrowind=None, nrowqcoefs=None, rowqcol1=None, rowqcol2=None, rowqcoef=None, coltype=None, entind=None, limit=None, settype=None, setstart=None, setind=None, refval=None)
Arguments
probname 
A string of up to MAXPROBNAMELENGTH characters containing a name for the problem. If probname is None, the problem name will be an empty string.
rowtype 
Character array containing the row types:
indicates a <= constraint (use this one for quadratic constraints as well);
indicates an = constraint;
indicates a >= constraint;
indicates a range constraint;
indicates a nonbinding constraint.
May be None if the problem contains no rows.
rhs 
Double array containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row. May be None if the problem contains no rows.
rng 
Double array containing the range values for range rows. Values for all other rows will be ignored. May be None if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
objcoef 
Double array containing the objective function coefficients. This can be None to set all objective coefficients to 0 (zero).
start 
Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array contains one entry for each column, plus one more if collen is None. If collen is None, the last entry of start contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. This value is also the length of the rowind and rowcoef arrays. May be None if the problem contains no coefficients.
collen 
Integer array containing the number of nonzero elements in each column. May be None if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are contiguous, and the start array has an additional entry as described above.
rowind 
Integer array containing the row indices for the nonzero elements in each column. May be None if the problem contains no coefficients. If the indices are input contiguously, with the columns in ascending order, the length of the rowind array is found by adding the start entry for the last column to the collen entry for the last column, or if collen is None, by the additional entry at the end of start.
rowcoef 
Double array containing the nonzero element values; length as for rowind. May be None if the problem contains no coefficients.
lb 
Double array containing the lower bounds on the columns. Use -xpress.infinity to represent a lower bound of minus infinity. If this is None then all lower bounds are 0 (zero).
ub 
Double array containing the upper bounds on the columns. Use xpress.infinity to represent an upper bound of plus infinity. If this is None then all upper bounds are infinite.
objqcol1 
Integer array containing the column index of the first variable in each quadratic term. May be None if all objective coefficients are zero.
objqcol2 
Integer array containing the column index of the second variable in each quadratic term. May be None if all objective coefficients are zero.
objqcoef 
Double array containing the quadratic coefficients. May be None if all objective coefficients are zero.
qrowind 
Integer array containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in rowtype as type L. May be None if the problem contains no quadratic constraints.
nrowqcoefs 
Integer array containing the number of nonzeros in each quadratic constraint matrix. May be None if the problem contains no quadratic constraints.
rowqcol1 
Integer array of size nqcelem, where nqcelem equals the sum of the elements in nrowqcoefs (i.e. the total number of quadratic matrix elements in all the constraints). It contains the first column indices of the quadratic matrices. Indices for the first matrix are listed from 0 to nrowqcoefs[0]-1, for the second matrix from nrowqcoefs[0] to nrowqcoefs[0]+ nrowqcoefs[1]-1, etc. May be None if the problem contains no quadratic constraints.
rowqcol2 
Integer array of size nqcelem, containing the second index for the quadratic constraint matrices. May be None if the problem contains no quadratic constraints.
rowqcoef 
Integer array of size nqcelem, containing the coefficients for the quadratic constraint matrices. May be None if the problem contains no quadratic constraints.
coltype 
Character array containing the entity types:
binary variables;
integer variables;
partial integer variables;
semi-continuous variables;
semi-continuous integer variables.
May be None if all variables are continuous.
entind 
Integer array containing the column indices of the MIP entities. May be None if the problem contains no entities.
limit 
Double array containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be None if not required.
settype 
Character array containing the set types:
SOS1 type sets;
SOS2 type sets.
May be None if not required.
setstart 
Integer array containing the offsets in the setind and refval arrays indicating the start of each set. This array has one entry for each set plus one extra entry containing the offset where an additional set would start, if it were present. May be None if not required.
setind 
Integer array containing the columns in each set. May be None if not required.
refval 
Double array containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be None if not required.
Related controls
Integer
Number of extra columns to be allowed for.
Number of extra matrix elements to be allowed for.
Number of extra MIP entities to be allowed for.
Number of extra rows to be allowed for.
Status for nonbinding rows.
Type of scaling.

Double
Tolerance on matrix elements.

Further information
1. The objective function is of the form cTx+ 0.5 xTQx. Note that only the upper or lower triangular part of the Q matrix is specified, both for the objective and constraints.
2. The double constants xpress.infinity and -xpress.infinity are defined in the Optimizer library header file.
3. The double constants xpress.infinity and -xpress.infinity are defined in the Optimizer library header file.
4. Semi-continuous lower bounds are taken from the limit array. If this is None then they are given a default value of 1.0. If a semi-continuous variable has a positive lower bound then this will be used as the semi-continuous lower bound and the lower bound on the variable will be set to zero.
5. Passing zero for all integer arguments and None for all array arguments will load an empty problem.
6. Arguments rowind, qrowind may contain xpress.constraint objects instead of indices.
7. Arguments objqcol1, objqcol2, rowqcol1, rowqcol2, entind, setind may contain xpress.var objects instead of indices.
Related topics

© 2001-2025 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.