Skip to main content
FRAMES NO FRAMES

Class IloIsomorphism

Definition file: ilconcert/ilosmodel.h
Map of IloIsomorphismIloIsomorphismIloIsomorphismIloConstraintIloIntExprArgIloNumExprArgIloExtractable
An instance of this class represents an isomorphism constraint between two interval variable arrays.

This constraint states that in a solution there is a 1-to-1 correspondence between the present intervals in the array intervals and the present intervals of the array domain in a solution.

The constraint can be passed an additional set of n integer variables map with domains in [0..|domain|-1]U{absVal} that describe the mapping at the solution. If the interval at the ith position in array intervals is in correspondence with the interval in jth position in array domain then the ith variable of the array map takes the value j. The ith integer variable of the array map takes the value absVal if the ith intervals of array intervals is absent.

A rephrasing of the previous formulation is: Each of the interval variables of domain is an alternative on intervals and each of the interval variables of intervals is an alternative on domain whose selected integer variable position is map.

Note: This constraint cannot be used in a logical constraint.

For more information on the isomorphism constraint, see the concept Isomorphism constraint.

Method Summary
public IloIsomorphism(const IloEnv env, const IloIntervalVarArray domain, const IloIntervalVarArray intervals, const char * name=0)
public IloIsomorphism(const IloEnv env, const IloIntervalVarArray domain, const IloIntervalVarArray intervals, const IloIntExprArray map, const IloInt absVal, const char * name=0)
Inherited Methods from IloConstraint
getImpl, IloConstraint, IloConstraint
Inherited Methods from IloIntExprArg
getImpl, IloIntExprArg, IloIntExprArg
Inherited Methods from IloNumExprArg
getImpl, IloNumExprArg, IloNumExprArg
Inherited Methods from IloExtractable
asConstraint, asIntExpr, asModel, asNumExpr, asObjective, asVariable, end, getEnv, getId, getImpl, getName, getObject, IloExtractable, isConstraint, isIntExpr, isModel, isNumExpr, isObjective, isVariable, removeFromAll, setLocation, setName, setObject
Method Detail

IloIsomorphism

public IloIsomorphism(const IloEnv env, const IloIntervalVarArray domain, const IloIntervalVarArray intervals, const char * name=0)

This constructor creates an isomorphism constraint between the set of interval variables in the array domain and the set of interval variables in the array intervals and makes it part of the environment env.


IloIsomorphism

public IloIsomorphism(const IloEnv env, const IloIntervalVarArray domain, const IloIntervalVarArray intervals, const IloIntExprArray map, const IloInt absVal, const char * name=0)

This constructor creates an isomorphism constraint between the set of interval variables in the array domain and the set of interval variables in the array intervals with the set of integer expressions map as the indexer with a default index value for absent intervals (absVal). The constructor makes the constraint part of the environment env.

.