| Overview | Group | Tree | Graph | Deprecated | Index | Concepts |

An instance of IloNoOverlap represents a no-overlap
constraint. A no-overlap constraint over a set of interval
variables {a1,...,an} states that all the present
intervals in the set are pairwise non-overlapping. It means that
whenever both interval variables ai and
aj, i!=j are present, ai is
constrained to end before the start of aj or
aj is constrained to end before the start of
ai.
If the no-overlap constraint has been built on an interval
sequence variable, it means that the no-overlap constraint works on
the set of interval variables {a1,...,an} of the
sequence and that the order of interval variables of the sequence
will describe the order of the non-overlapping intervals. That is,
if ai and aj, i!=j are both
present and if ai appears before aj in
the sequence value, then ai is constrained to end
before the start of aj. If a transition distance
tdist is specified and if tpi and
tpj respectively denote the types of interval
variables ai and aj in the sequence, it
means that a minimal distance tdist[tpi,tpj] is to be
maintained between the end of ai and the start of
aj.
You must add this constraint to a model and extract the model to an algorithm in order for it to be taken into account.
Note: This constraint cannot be used in a logical constraint.
For more information on the no-overlap constraint, see the concept Interval variable sequencing in CP Optimizer.
| Method Summary | |
|---|---|
public IloNoOverlapI * | getImpl() const |
public | IloNoOverlap() |
public | IloNoOverlap(IloNoOverlapI * impl) |
public | IloNoOverlap(const IloEnv env, const IloIntervalVarArray a, const char * name=0) |
public | IloNoOverlap(const IloEnv env, const IloIntervalSequenceVar seq, const IloTransitionDistance tdist=0, const char * name=0) |
public | IloNoOverlap(const IloEnv env, const IloIntervalSequenceVar seq, const IloTransitionDistance tdist, IloBool direct, 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 |
|---|
This constructor creates a no-overlap constraint on the set of
interval variables defined by array a and makes it
part of the environment env. By default, the name of
the no-overlap constraint is the empty string, but you can specify
a name of your own choice.
This constructor creates a no-overlap constraint on the
sequence variable seq and makes it part of the
environment env. This constraint states that the
interval variables of the sequence do not overlap and that the
order of intervals in the sequence is the order implied by the
relative position of the start and end points of the
non-overlapping intervals. A transition distance
tdist can be used to specify a minimal distance
between two interval variables in the sequence; the transition distance
holds between an interval and all its successors in the sequence.
By default, the
name of the no-overlap constraint is the empty string, but you
can specify a name of your own choice.
This constructor creates a no-overlap constraint on the
sequence variable seq and makes it part of the
environment env. This constraint states that
the interval variables of the sequence do not overlap and
that the order of intervals in the sequence is the order
implied by the relative position of the start and end points
of the non-overlapping intervals. The transition distance
tdist specifies a minimal distance between two
interval variables in the sequence. If direct
is true, the transition distance holds between an interval
and its immediate successor in the sequence otherwise, if
direct is false, the transition distance holds
between an interval and all its successors in the
sequence. By default, the name of the no-overlap constraint
is the empty string, but you can specify a name
of your own choice.