The type of a variable cannot be changed by calling modification methods. Instead, Concert Technology provides the modeling class IloConversion, the objects of which allow you to override the type of a variable in a model. This design allows you to use the same variable in different models with different types. Consider for example model1 containing integer variable x. You can then create model2, as a copy of model1, that treats x as a continuous variable, with the following code:
IloConversion
model1
x
model2
IloModel model2(env); model2.add(model1); model2.add(IloConversion(env, x, ILOFLOAT));
A conversion object, that is, an instance of IloConversion, can only specify a type for a variable that is in a model. Converting the type more than once is an error, because there is no rule about which would have precedence. However, this is not a restriction, since you can remove the conversion from a model and add a new one.