Purpose
Used to change the type of a specified set of columns in the matrix.
Topic areas
Synopsis
int XPRS_CC XPRSchgcoltype(XPRSprob prob, int ncols, const int colind[], const char coltype[]);
Arguments
prob
|
The current problem.
|
ncols
|
Number of columns to change.
|
colind
|
Integer array of length
ncols containing the indices of the columns.
|
coltype
|
Character array of length
ncols giving the new column types:
C
|
indicates a continuous column;
|
B
|
indicates a binary column;
|
I
|
indicates an integer column.
|
S
|
indicates a semi–continuous column. The semi–continuous lower bound will be set to
1.0.
|
R
|
indicates a semi–integer column. The semi–integer lower bound will be set to
1.0.
|
P
|
indicates a partial integer column. The partial integer limit will be set to
1.0.
|
|
Example
The following changes columns
3 and
5 of the matrix to be integer and binary respectively:
colind[0] = 3; colind[1] = 5;
coltype[0] = 'I'; coltype[1] = 'B';
XPRSchgcoltype(prob,2,colind,coltype);
Further information
1. The column types can only be changed before the tree search is started.
2. Calling
XPRSchgcoltype to change any variable into a binary variable causes the bounds previously defined for the variable to be deleted and replaced by bounds of 0 and 1.
3. Calling
XPRSchgcoltype to change a continuous variable into an integer variable cause its lower bound to be rounded up to the nearest integer value and its upper bound to be rounded down to the nearest integer value.
4. After changing the type of a column to semi-continuous, semi-integer or partial integer, call
XPRSchgglblimit to set the limit value.
5. This function cannot be called while the current problem is being solved or when it is in an interrupted state. Use
XPRSpostsolve to restore the problem to a non-solving state.
6. For performance reasons, avoid turning MIP entities into continuous columns by calling
XPRSchgcoltype many times in the presence of SOS constraints. If an application has this requirement, it is recommended to first collect all such columns beforehand and then change their type in a single call to this function.
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.