Initializing help system before first use

XPRSchgcoltype

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:
indicates a continuous column;
indicates a binary column;
indicates an integer column.
indicates a semi–continuous column. The semi–continuous lower bound will be set to 1.0.
indicates a semi–integer column. The semi–integer lower bound will be set to 1.0.
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.