allDifferent
:AllDifferent
allMinDistance
:MinimumDistance
inverse
:Inverse
lex
:LexicographicallyLessThan
,LexicographicallyGreaterThan
pack
:BinPacking
Those for scheduling, not yet implemented:
endAtEnd
:endAtStart
:endBeforeStart
:endBeforeStart
:startAtEnd
:startAtStart
:startBeforeEnd
:startBeforeStart
:alternative
:span
:synchronize
:presenceOf
:first
:last
:before
:prev
:noOverlap
:<=
for cumulative resources:alwaysIn
:alwaysConstant
:alwaysEqual
:alwaysNoState
:
Constraints removed/renamed between OPL 3 and OPL 6:
sequence
: what the heck!?circuit
:CP.Walk
(Eulerian circuit)alldifferent
:CP.AllDifferent
atleast
:CP.Count
andMOI.GreaterThan
atleastatmost
:CP.Count
,MOI.GreaterThan
, andMOI.LessThan
atmost
:CP.Count
andMOI.LessThan
cardinality
:CP.GlobalCardinality
distribute
:CP.GlobalCardinality
forall
: use a loop over several constraintsif
-then
-else
:IfThenElse
,Implication
if noelse
clausenot
:Negation
isInDomain
: a function to check if a variable is assigned to a value in its domain, not a constraintpredicate
:VectorDomain
Functionalities from OPL 3 related to scheduling (not still implemented):
- transition times
Activity
: an interval- AlternativeResources: alternative intervals, only one of them is used for the activity to perform
break
: variable interval intensity, astepFunction
applied onto an interval with theintensity
keyword- cumulative resource: production and consumption of resourcesS
- disjunctive resource: no overlap between intervals
precedes
: an interval ends before another startsStateResource
: state functions