Skip to main content
FRAMES NO FRAMES

Class IloNoOverlap

Definition file: ilconcert/ilosmodel.h
Map of IloNoOverlapIloNoOverlapIloNoOverlapIloConstraintIloIntExprArgIloNumExprArgIloExtractable
An instance of this class represents a no-overlap constraint.

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

IloNoOverlap

public IloNoOverlap()
This constructor creates an empty handle. You must initialize it before you use it.

IloNoOverlap

public IloNoOverlap(IloNoOverlapI * impl)
This constructor creates a handle object from a pointer to an implementation object.

IloNoOverlap

public IloNoOverlap(const IloEnv env, const IloIntervalVarArray a, const char * name=0)

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.


IloNoOverlap

public IloNoOverlap(const IloEnv env, const IloIntervalSequenceVar seq, const IloTransitionDistance tdist=0, const char * name=0)

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.


IloNoOverlap

public IloNoOverlap(const IloEnv env, const IloIntervalSequenceVar seq, const IloTransitionDistance tdist, IloBool direct, const char * name=0)

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.


getImpl

public IloNoOverlapI * getImpl() const
This member function returns a pointer to the implementation object of the invoking handle.