ilog.concert
Interface IloConversion
- public interface IloConversion
- extends IloAddable
IloConversion
objects allow you to locally change the type of a
variable.
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
an integer variable is relaxed to a continuous variable. This is achieved
using objects of type IloConversion
. By adding an
IloConversion
object to a model, the types of the variables
represented in the IloConversion
object can be changed for
that model only. When solving the model, the changed types will be
used instead of the original types of the variables. Method
IloNumVar.getType()
will still return the original variable
type.
The type of a variable can only be changed 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
reinstantiate the original type of variable within that model.
- See Also:
IloNumVarType
,
IloMPModeler.conversion(ilog.concert.IloNumVar, ilog.concert.IloNumVarType)
getType
public IloNumVarType getType(IloNumVar var)
- Returns the variable type to which the invoking
IloConversion
object converts variable var
. If the invoking
IloConversion
object does not specify a type for that variable, null
will
be returned instead.
- Parameters:
var
- The variable to be queried for type.- Returns:
- The type to which variable
var
is converted. - See Also:
IloNumVarType