Java Reference
Java Reference
CpModel.java
Go to the documentation of this file.
Specialized automaton constraint.
Definition: AutomatonConstraint.java:23
Specialized circuit constraint.
Definition: CircuitConstraint.java:24
Exception thrown when parallel arrays have mismatched lengths.
Definition: CpModel.java:52
MismatchedArrayLengths(String methodName, String array1Name, String array2Name)
Definition: CpModel.java:53
Exception thrown when an array has a wrong length.
Definition: CpModel.java:59
WrongLength(String methodName, String msg)
Definition: CpModel.java:60
Constraint addLessThan(LinearArgument expr, long value)
Adds expr < value.
Definition: CpModel.java:268
Constraint addLinearExpressionInDomain(LinearArgument expr, Domain domain)
Adds expr in domain.
Definition: CpModel.java:218
Constraint addEquality(LinearArgument expr, long value)
Adds expr == value.
Definition: CpModel.java:242
CumulativeConstraint addCumulative(LinearArgument capacity)
Adds Cumulative(capacity).
Definition: CpModel.java:864
IntervalVar newOptionalFixedSizeIntervalVar(LinearArgument start, long size, Literal isPresent, String name)
Creates an optional interval variable from an affine expression start, and a fixed size.
Definition: CpModel.java:791
NoOverlap2dConstraint addNoOverlap2D()
Adds NoOverlap2D(xIntervals, yIntervals).
Definition: CpModel.java:847
Constraint addAbsEquality(LinearArgument target, LinearArgument expr)
Adds target == Abs(expr).
Definition: CpModel.java:644
ReservoirConstraint addReservoirConstraint(long minLevel, long maxLevel)
Adds a reservoir constraint with optional refill/emptying events.
Definition: CpModel.java:564
Constraint addLessOrEqual(LinearArgument left, LinearArgument right)
Adds left <= right.
Definition: CpModel.java:260
TableConstraint addForbiddenAssignments(Iterable< IntVar > variables)
Adds ForbiddenAssignments(variables).
Definition: CpModel.java:462
Constraint addMultiplicationEquality(LinearArgument target, LinearArgument[] exprs)
Adds target == Product(exprs).
Definition: CpModel.java:677
Constraint addMaxEquality(LinearArgument target, Iterable<? extends LinearArgument > exprs)
Adds target == Max(exprs).
Definition: CpModel.java:620
Constraint addAllDifferent(Iterable<? extends LinearArgument > expressions)
Adds AllDifferent(expressions).
Definition: CpModel.java:341
void maximize(DoubleLinearExpr expr)
Definition: CpModel.java:948
CumulativeConstraint addCumulative(long capacity)
Adds Cumulative(capacity).
Definition: CpModel.java:876
Boolean exportToFile(String file)
Write the model as a protocol buffer to 'file'.
Definition: CpModel.java:989
BoolVar newBoolVar(String name)
Creates a Boolean variable with the given name.
Definition: CpModel.java:89
TableConstraint addAllowedAssignments(IntVar[] variables)
Adds AllowedAssignments(variables).
Definition: CpModel.java:424
IntervalVar newOptionalFixedInterval(long start, long size, Literal isPresent, String name)
Creates an optional fixed interval from start and size, and an isPresent literal.
Definition: CpModel.java:802
Constraint addElement(IntVar index, long[] values, IntVar target)
Adds the element constraint: values[index] == target.
Definition: CpModel.java:363
Constraint addBoolXor(Iterable< Literal > literals)
Adds XOr(literals) == true.
Definition: CpModel.java:201
void addAssumptions(Literal[] literals)
Adds multiple literals to the model as assumptions.
Definition: CpModel.java:900
Constraint addExactlyOne(Literal[] literals)
Adds ExactlyOne(literals): Sum(literals) == 1.
Definition: CpModel.java:166
void maximize(LinearArgument expr)
Adds a maximization objective of a linear expression.
Definition: CpModel.java:936
Constraint addGreaterThan(LinearArgument left, LinearArgument right)
Adds left > right.
Definition: CpModel.java:299
TableConstraint addAllowedAssignments(Iterable< IntVar > variables)
Adds AllowedAssignments(variables).
Definition: CpModel.java:433
void addAssumption(Literal lit)
Adds a literal to the model as assumption.
Definition: CpModel.java:895
IntervalVar newFixedSizeIntervalVar(LinearArgument start, long size, String name)
Creates an interval variable from an affine expression start, and a fixed size.
Definition: CpModel.java:734
IntervalVar newFixedInterval(long start, long size, String name)
Creates a fixed interval from its start and its size.
Definition: CpModel.java:744
Constraint addAtMostOne(Literal[] literals)
Adds AtMostOne(literals): Sum(literals) <= 1.
Definition: CpModel.java:151
Constraint addLessThan(LinearArgument left, LinearArgument right)
Adds left < right.
Definition: CpModel.java:273
Constraint addDivisionEquality(LinearArgument target, LinearArgument num, LinearArgument denom)
Adds target == num / denom, rounded towards 0.
Definition: CpModel.java:632
Constraint addElement(IntVar index, IntVar[] variables, IntVar target)
Adds the element constraint: variables[index] == target.
Definition: CpModel.java:351
IntervalVar newIntervalVar(LinearArgument start, LinearArgument size, LinearArgument end, String name)
Creates an interval variable from three affine expressions start, size, and end.
Definition: CpModel.java:714
Constraint addNoOverlap(Iterable< IntervalVar > intervalVars)
Adds NoOverlap(intervalVars).
Definition: CpModel.java:826
Constraint addGreaterThan(LinearArgument expr, long value)
Adds expr > value.
Definition: CpModel.java:294
Constraint addAtMostOne(Iterable< Literal > literals)
Adds AtMostOne(literals): Sum(literals) <= 1.
Definition: CpModel.java:156
Constraint addBoolOr(Iterable< Literal > literals)
Adds Or(literals) == true.
Definition: CpModel.java:131
Constraint addMaxEquality(LinearArgument target, LinearArgument[] exprs)
Adds target == Max(vars).
Definition: CpModel.java:609
Constraint addGreaterOrEqual(LinearArgument expr, long value)
Adds expr >= value.
Definition: CpModel.java:281
void minimize(DoubleLinearExpr expr)
Definition: CpModel.java:925
IntVar newIntVar(long lb, long ub, String name)
Creates an integer variable with domain [lb, ub].
Definition: CpModel.java:73
IntervalVar newOptionalIntervalVar(LinearArgument start, LinearArgument size, LinearArgument end, Literal isPresent, String name)
Creates an optional interval variable from three affine expressions start, size, end,...
Definition: CpModel.java:768
Constraint addDifferent(LinearArgument expr, long value)
Adds expr != value.
Definition: CpModel.java:307
Constraint addDifferent(LinearArgument left, LinearArgument right)
Adds left != right.
Definition: CpModel.java:314
AutomatonConstraint addAutomaton(IntVar[] transitionVariables, long startingState, long[] finalStates)
Adds an automaton constraint.
Definition: CpModel.java:501
void addMapDomain(IntVar var, Literal[] booleans, long offset)
Adds var == i + offset <=> booleans[i] == true for all i in [0, booleans.length).
Definition: CpModel.java:578
void addDecisionStrategy(IntVar[] variables, DecisionStrategyProto.VariableSelectionStrategy varStr, DecisionStrategyProto.DomainReductionStrategy domStr)
Adds DecisionStrategy(variables, varStr, domStr).
Definition: CpModel.java:961
Constraint addInverse(IntVar[] variables, IntVar[] inverseVariables)
Adds Inverse(variables, inverseVariables).
Definition: CpModel.java:526
Constraint addModuloEquality(LinearArgument target, LinearArgument var, LinearArgument mod)
Adds target == var % mod.
Definition: CpModel.java:654
Constraint addNoOverlap(IntervalVar[] intervalVars)
Adds NoOverlap(intervalVars).
Definition: CpModel.java:817
Constraint addElement(IntVar index, int[] values, IntVar target)
Adds the element constraint: values[index] == target.
Definition: CpModel.java:375
Constraint addLessOrEqual(LinearArgument expr, long value)
Adds expr <= value.
Definition: CpModel.java:255
Constraint addEquality(LinearArgument left, LinearArgument right)
Adds left == right.
Definition: CpModel.java:247
String validate()
Returns a non empty string explaining the issue if the model is invalid.
Definition: CpModel.java:977
void minimize(LinearArgument expr)
Adds a minimization objective of a linear expression.
Definition: CpModel.java:914
Constraint addMultiplicationEquality(LinearArgument target, LinearArgument left, LinearArgument right)
Adds target == left * right.
Definition: CpModel.java:688
Constraint addExactlyOne(Iterable< Literal > literals)
Adds ExactlyOne(literals): Sum(literals) == 1.
Definition: CpModel.java:171
IntVar newIntVarFromDomain(Domain domain, String name)
Creates an integer variable with given domain.
Definition: CpModel.java:84
Constraint addModuloEquality(LinearArgument target, LinearArgument var, long mod)
Adds target == var % mod.
Definition: CpModel.java:666
Constraint addLinearConstraint(LinearArgument expr, long lb, long ub)
Adds lb <= expr <= ub.
Definition: CpModel.java:237
Constraint addBoolAnd(Iterable< Literal > literals)
Adds And(literals) == true.
Definition: CpModel.java:186
TableConstraint addForbiddenAssignments(IntVar[] variables)
Adds ForbiddenAssignments(variables).
Definition: CpModel.java:453
Constraint addAtLeastOne(Iterable< Literal > literals)
Same as addBoolOr.
Definition: CpModel.java:146
Constraint addMinEquality(LinearArgument target, Iterable<? extends LinearArgument > exprs)
Adds target == Min(exprs).
Definition: CpModel.java:597
Constraint addAllDifferent(LinearArgument[] expressions)
Adds AllDifferent(expressions).
Definition: CpModel.java:332
Constraint addGreaterOrEqual(LinearArgument left, LinearArgument right)
Adds left >= right.
Definition: CpModel.java:286
Constraint addMinEquality(LinearArgument target, LinearArgument[] exprs)
Adds target == Min(vars).
Definition: CpModel.java:586
Specialized cumulative constraint.
Definition: CumulativeConstraint.java:24
A linear expression interface that can be parsed.
Definition: DoubleLinearExpr.java:17
int numElements()
Returns the number of elements in the interface.
Definition: DoubleLinearExpr.java:100
int getIndex()
Returns the index of the variable in the underlying CpModelProto.
Definition: IntVar.java:44
Builder class for the LinearExpr container.
Definition: LinearExprBuilder.java:20
LinearExprBuilder add(LinearArgument expr)
Definition: LinearExprBuilder.java:29
LinearExprBuilder addTerm(LinearArgument expr, long coeff)
Definition: LinearExprBuilder.java:39
Specialized multiple circuit constraint.
Definition: MultipleCircuitConstraint.java:24
Specialized NoOverlap2D constraint.
Definition: NoOverlap2dConstraint.java:24
Specialized reservoir constraint.
Definition: ReservoirConstraint.java:24
Specialized assignment constraint.
Definition: TableConstraint.java:25
A object that can build a LinearExpr object.
Definition: LinearArgument.java:21
A linear expression (sum (ai * xi) + b).
Definition: LinearExpr.java:19
long getCoefficient(int index)
Returns the ith coefficient.
int numElements()
Returns the number of terms (excluding the constant one) in this expression.
long getOffset()
Returns the constant part of the expression.
int getVariableIndex(int index)
Returns the index of the ith variable.
Interface to describe a boolean variable or its negation.
Definition: Literal.java:17
int getIndex()