add addGreaterThan, addLessThan to CP-SAT Java API

This commit is contained in:
Laurent Perron
2019-05-16 15:24:43 +02:00
parent ae4cb47fd9
commit 805ab3e15c

View File

@@ -174,6 +174,16 @@ public final class CpModel {
return addLinearExpressionInDomain(new Difference(left, right), new Domain(Long.MIN_VALUE, 0));
}
/** Adds {@code expr < value}. */
public Constraint addLessThan(LinearExpr expr, long value) {
return addLinearExpressionInDomain(expr, new Domain(Long.MIN_VALUE, value - 1));
}
/** Adds {@code left < right}. */
public Constraint addLessThan(LinearExpr left, LinearExpr right) {
return addLinearExpressionInDomain(new Difference(left, right), new Domain(Long.MIN_VALUE, -1));
}
/** Adds {@code left + offset <= right}. */
public Constraint addLessOrEqualWithOffset(LinearExpr left, LinearExpr right, long offset) {
return addLinearExpressionInDomain(
@@ -190,6 +200,16 @@ public final class CpModel {
return addLinearExpressionInDomain(new Difference(left, right), new Domain(0, Long.MAX_VALUE));
}
/** Adds {@code expr > value}. */
public Constraint addGreaterThan(LinearExpr expr, long value) {
return addLinearExpressionInDomain(expr, new Domain(value + 1, Long.MAX_VALUE));
}
/** Adds {@code left > right}. */
public Constraint addGreaterThan(LinearExpr left, LinearExpr right) {
return addLinearExpressionInDomain(new Difference(left, right), new Domain(1, Long.MAX_VALUE));
}
/** Adds {@code left + offset >= right}. */
public Constraint addGreaterOrEqualWithOffset(LinearExpr left, LinearExpr right, long offset) {
return addLinearExpressionInDomain(