Modifier and Type | Method and Description |
---|---|
default void |
ifOnlyIf(Constraint cstr1,
Constraint cstr2)
Posts an equivalence constraint stating that
cstr1 is satisfied <=> cstr2 is satisfied,
BEWARE : it is automatically posted (it cannot be reified)
|
default void |
ifThen(BoolVar ifVar,
Constraint thenCstr)
Posts an implication constraint: ifVar => thenCstr
Also called half reification constraint
Ensures:
- ifVar = 1 => thenCstr is satisfied, - thenCstr is not satisfied => ifVar = 0 Example : - ifThen(b1, arithm(v1, "=", 2)); :
b1 is equal to 1 => v1 = 2, so v1 != 2 => b1 is equal to 0
But if b1 is equal to 0, nothing happens
BEWARE : it is automatically posted (it cannot be reified)
|
default void |
ifThen(Constraint ifCstr,
Constraint thenCstr)
Posts a constraint ensuring that if ifCstr is satisfied, then thenCstr is satisfied as well
BEWARE : it is automatically posted (it cannot be reified)
|
default void |
ifThenElse(BoolVar ifVar,
Constraint thenCstr,
Constraint elseCstr)
Posts an implication constraint: ifVar => thenCstr && not(ifVar) => elseCstr.
|
default void |
ifThenElse(Constraint ifCstr,
Constraint thenCstr,
Constraint elseCstr)
Posts a constraint ensuring that if ifCstr is satisfied, then thenCstr must be satisfied as well
Otherwise, elseCstr must be satisfied
ifCstr => ThenCstr
not(ifCstr) => ElseCstr
BEWARE : it is automatically posted (it cannot be reified)
|
default void |
reification(BoolVar var,
Constraint cstr)
Reify a constraint with a boolean variable:
var = 1 <=> cstr is satisfied,
Equivalent to ifOnlyIf
BEWARE : it is automatically posted (it cannot be reified)
|
default void |
reifyXeqC(IntVar X,
int C,
BoolVar B)
Posts one constraint that expresses : (x = c) ⇔ b.
|
default void |
reifyXeqY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x = y) ⇔ b.
|
default void |
reifyXeqYC(IntVar X,
IntVar Y,
int C,
BoolVar B)
Posts one constraint that expresses : (x = y + c) ⇔ b.
|
default void |
reifyXgeY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x ≥ y) ⇔ b.
|
default void |
reifyXgtC(IntVar X,
int C,
BoolVar B)
Posts one constraint that expresses : (x > c) ⇔ b.
|
default void |
reifyXgtY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x > y) ⇔ b.
|
default void |
reifyXgtYC(IntVar X,
IntVar Y,
int C,
BoolVar B)
Posts one constraint that expresses : (x > y + c) ⇔ b.
|
default void |
reifyXinS(IntVar X,
IntIterableRangeSet S,
BoolVar B)
Posts one constraint that expresses : (X ∈ S) ⇔ B.
|
default void |
reifyXleY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x ≤ y) ⇔ b.
|
default void |
reifyXltC(IntVar X,
int C,
BoolVar B)
Posts one constraint that expresses : (x < c) ⇔ b.
|
default void |
reifyXltY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x < y) ⇔ b.
|
default void |
reifyXltYC(IntVar X,
IntVar Y,
int C,
BoolVar B)
Posts one constraint that expresses : (x < y + c) ⇔ b.
|
default void |
reifyXneC(IntVar X,
int C,
BoolVar B)
Posts one constraint that expresses : (x ≠ c) ⇔ b.
|
default void |
reifyXneY(IntVar X,
IntVar Y,
BoolVar B)
Posts one constraint that expresses : (x ≠ y) ⇔ b.
|
default void |
reifyXneYC(IntVar X,
IntVar Y,
int C,
BoolVar B)
Posts one constraint that expresses : (x ≠ y + c) ⇔ b.
|
default void |
reifyXnotinS(IntVar X,
IntIterableRangeSet S,
BoolVar B)
Posts one constraint that expresses : (X ∉ S) ⇔ B.
|
default void ifThenElse(Constraint ifCstr, Constraint thenCstr, Constraint elseCstr)
ifCstr
- a constraintthenCstr
- a constraintelseCstr
- a constraintdefault void ifThenElse(BoolVar ifVar, Constraint thenCstr, Constraint elseCstr)
ifVar
- variable of reificationthenCstr
- the constraint to be satisfied when ifVar = 1elseCstr
- the constraint to be satisfied when ifVar = 0default void ifThen(Constraint ifCstr, Constraint thenCstr)
ifCstr
- a constraintthenCstr
- a constraintdefault void ifThen(BoolVar ifVar, Constraint thenCstr)
ifThen(b1, arithm(v1, "=", 2));
:
b1 is equal to 1 => v1 = 2, so v1 != 2 => b1 is equal to 0
But if b1 is equal to 0, nothing happens
BEWARE : it is automatically posted (it cannot be reified)
ifVar
- variable of reificationthenCstr
- the constraint to be satisfied when ifVar = 1default void ifOnlyIf(Constraint cstr1, Constraint cstr2)
cstr1
- a constraint to be satisfied if and only if cstr2 is satisfiedcstr2
- a constraint to be satisfied if and only if cstr1 is satisfieddefault void reification(BoolVar var, Constraint cstr)
var
- variable of reificationcstr
- the constraint to be satisfied if and only if var = 1default void reifyXeqC(IntVar X, int C, BoolVar B)
X
- a integer variableC
- an intB
- a boolean variabledefault void reifyXneC(IntVar X, int C, BoolVar B)
X
- a integer variableC
- an intB
- a boolean variabledefault void reifyXeqY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXneY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXeqYC(IntVar X, IntVar Y, int C, BoolVar B)
X
- an integer variableY
- an integer variableC
- an intB
- a boolean variabledefault void reifyXneYC(IntVar X, IntVar Y, int C, BoolVar B)
X
- an integer variableY
- an integer variableC
- an intB
- a boolean variabledefault void reifyXltC(IntVar X, int C, BoolVar B)
X
- a integer variableC
- an intB
- a boolean variabledefault void reifyXgtC(IntVar X, int C, BoolVar B)
X
- a integer variableC
- an intB
- a boolean variabledefault void reifyXltY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXgtY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXleY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXgeY(IntVar X, IntVar Y, BoolVar B)
X
- an integer variableY
- an integer variableB
- a boolean variabledefault void reifyXltYC(IntVar X, IntVar Y, int C, BoolVar B)
X
- an integer variableY
- an integer variableC
- an intB
- a boolean variabledefault void reifyXgtYC(IntVar X, IntVar Y, int C, BoolVar B)
X
- an integer variableY
- an integer variableC
- an intB
- a boolean variabledefault void reifyXinS(IntVar X, IntIterableRangeSet S, BoolVar B)
X
- an integer variableS
- a set of valuesB
- a boolean variabledefault void reifyXnotinS(IntVar X, IntIterableRangeSet S, BoolVar B)
X
- an integer variableS
- a set of valuesB
- a boolean variableCopyright © 2018. All rights reserved.