public interface IloConversion extends IloAddable
IloConversion objects allow you to locally change the type of
one or more variables.
After you create a conversion object, you must explicitly add the object
to your model and extract the object
so that CPLEX takes it into account. To add the conversion object
to your model, use the appropriate overload of the method
IloModel.add.
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
IloNumVar.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 IloConversion. By adding an
IloConversion object to a model, you can change the types of
the variables represented in the IloConversion object for
that model only. When solving the model, the changed types are
used instead of the original types of the variables. Method
IloNumVar.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 IloConversion 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 IloConversion object before adding a new
IloConversion object. Removing the conversion object for a
variable from the model will
re-instantiate the original type of variable within that model.
For an example of conversion in use, see the sample
AdMIPex6.java
distributed with the product.
| Modifier and Type | Method and Description |
|---|---|
IloNumVarType |
getType(IloNumVar var)
Returns the variable type to which the invoking
IloConversion
object converts variable var. |
getName, setNameIloNumVarType getType(IloNumVar var)
IloConversion
object converts variable var. If the invoking
IloConversion
object does not specify a type for that variable, null is
returned instead.var - The variable to be queried for type.var is converted.IloNumVarType