Purpose
Used to change the
bounds on columns in the
matrix.
Synopsis
int XPRS_CC XPRSchgbounds(XPRSprob prob, int nbnds, const int mindex[], const char qbtype[], const double bnd[]);
Arguments
prob
|
The current problem.
|
nbnds
|
Number of bounds to change.
|
mindex
|
Integer array of size nbnds containing the indices of the columns on which the bounds will change.
|
qbtype
|
Character array of length nbnds indicating the type of bound to change:
U
|
indicates change the upper bound;
|
L
|
indicates change the lower bound;
|
B
|
indicates change both bounds, i.e. fix the column.
|
|
bnd
|
Double array of length nbnds giving the new bound values.
|
Example
The following changes column 0 of the current problem to have an upper bound of
0.5:
mindex[0] = 0;
qbtype[0] = "U";
bnd[0] = 0.5;
XPRSchgbounds(prob,1,mindex,qbtype,bnd);
Further information
1. A column index may appear twice in the mindex array so it is possible
to change both the upper and lower bounds on a variable in one go.
2. XPRSchgbounds may be applied to the problem in a presolved state, in
which case it expects references to the presolved problem.
3. The double constants XPRS_PLUSINFINITY and XPRS_MINUSINFINITY
defined in the library header file can be used to represent plus and minus infinity respectively in
the bound (bnd) array).
4. If the upper bound on a binary variable is changed to be greater than 1 or the
lower bound is changed to be less than 0 then the variable will become an integer variable.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.