IConversion
objects allow you to locally change the type of one or more variables.
For a list of all members of this type, see IConversion Members.
When a variable is created, its type is determined to be one of Int
, Float
, or Bool
. The type of a variable can be queried with the method INumVar.GetType()
. It cannot be changed throughout the lifetime of the variable.
However, it is sometimes necessary to consider a model where, for example, some integer variables are relaxed to be continuous. This is achieved using objects of type IConversion
. By adding an IConversion
object to a model, you can change the types of the variables represented in the IConversion
object for that model only. When solving the model, the changed types are used instead of the original types of the variables. Method INumVar.GetType()
still returns the original variable types.
The type of a variable can be changed only once per model. An attempt to add more than one IConversion
object to a model containing the same variable will cause an exception to be thrown.
To change the type of a variable more than once, you must remove the existing IConversion
object before adding a new IConversion
object. Removing the conversion object for a variable from the model will reinstantiate the original type of variable within that model.
Namespace: ILOG.Concert
Assembly: ILOG.CPLEX (in ILOG.CPLEX.dll)