problem.loadproblem
problem.loadproblem |
Purpose
Load an optimization problem, possibly with quadratic objective and/or constraints, and integer variables.
Synopsis
problem.loadproblem (probname, qrtypes, rhs, range, obj, mstart, mnel, mrwind, dmatval, dlb, dub, mqcol1, mqcol2, dqe, qcrows, qcnquads, qcmqcol1, qcmqcol2, qcdqval, qgtype, mgcols, dlim, qstype, msstart, mscols, dref, colnames, rownames)
Arguments
probname
|
A string of up to 200 characters containing the problem name.
|
||||||||||
qrtype
|
Character array containing the row types:
|
||||||||||
rhs
|
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.
|
||||||||||
range
|
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.
|
||||||||||
obj
|
Array containing the objective function coefficients.
|
||||||||||
mstart
|
Array containing the offsets in the
mrwind and
dmatval arrays of the start of the elements for each column. This array is of length equal to the number
ncol of added variables or, if
mnel is
None,
ncol+1. If
mnel is
None the extra entry of
mstart,
mstart[ncol], contains the position in the
mrwind and
dmatval arrays at which an extra column would start, if it were present.
|
||||||||||
mnel
|
Array containing the number of nonzero elements in each column. May be
None if all elements are contiguous and
mstart[ncol] contains the offset where the elements for column
ncol+1 would start. This array is not required if the non-zero coefficients in the
mrwind and
dmatval arrays are continuous, and the
mstart array has
ncol+1 entries as described above. It may be
None if not required.
|
||||||||||
mrwind
|
Array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the
mrwind is
mstart[ncol-1]+mnel[ncol-1] or, if
mnel is
None,
mstart[ncol].
|
||||||||||
dmatval
|
Array containing the nonzero element values; length as for
mrwind.
|
||||||||||
dlb
|
Array containing the lower bounds on the columns. Use
-xpress.infinity to represent a lower bound of minus infinity.
|
||||||||||
dub
|
Array containing the upper bounds on the columns. Use
xpress.infinity to represent an upper bound of plus infinity.
|
||||||||||
mqc1
|
(optional) Array with the first variable in each quadratic term.
|
||||||||||
mqc2
|
(optional) Array with the second variable in each quadratic term.
|
||||||||||
dqe
|
(optional) Array with the quadratic coefficients.
|
||||||||||
qcrows
|
(optional) Integer containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in
qrtype as type
L.
|
||||||||||
qcnquads
|
(optional) Array containing the number of nonzeros in each quadratic constraint matrix.
|
||||||||||
qcmqcol1
|
(optional) Array with a number of elements equal to the sum of the elements in
qcnquads (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
qcnquads[0]-1, for the second matrix from
qcnquads[0] to
qcnquads[0]+ qcnquads[1]-1, etc.
|
||||||||||
qcmqcol2
|
(optional) Array containing the second index for the quadratic constraint matrices.
|
||||||||||
qcdqval
|
(optional) Array containing the coefficients for the quadratic constraint matrices.
|
||||||||||
qgtype
|
Character array containing the entity types:
|
||||||||||
mgcols
|
(optional) Array containing the variables of the global entities.
|
||||||||||
dlim
|
(optional) 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.
|
||||||||||
qstype
|
(optional) Character array of length equal to the number of sets specified,
problem.attributes.nsets, and specifies the set types:
May be
None if not required.
|
||||||||||
msstart
|
(optional) Array containing the offsets in the
mscols and
dref arrays indicating the start of the sets. This array is of length
nsets+1, the last member containing the offset where set
nsets+1 would start. May be
None if not required.
|
||||||||||
mscols
|
(optional) Array of length
msstart[nsets]-1 containing the columns in each set. May be
None if not required.
|
||||||||||
dref
|
(optional) Array of length
msstart[nsets]-1 containing the reference row entries for each member of the sets. May be
None if not required.
|
||||||||||
colname
|
(optional) Array of containing the column names for all variables added.
|
||||||||||
rowname
|
(optional) Array of containing the row names for all constraints added.
|
Further information
1. The objective function is of the form
cTx+ 1/2 xTQx where
Q is positive semi-definite for minimization problems and negative semi-definite for maximization problems. If this is not the case the optimization algorithms may converge to a local optimum or may not converge at all. Note that only the upper or lower triangular part of the
Q matrix is specified.
2. All
Q matrices in the constraints must be positive semi-definite. Note that only the upper or lower triangular part of the
Q matrix is specified for constraints as well.
3. The row and column indices are from
0 to
nrow-1 and
0 to
ncol-1 respectively.
4. The row and column indices are from
0 to
nrow-1 and
0 to
ncol-1 respectively.
5. Semi-continuous lower bounds are taken from the dlim 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.
Related topics