Java Reference

Java Reference

ConstraintProtoOrBuilder

Detailed Description

Definition at line 6 of file ConstraintProtoOrBuilder.java.

Public Member Functions

java.lang.String getName ()
 
com.google.protobuf.ByteString getNameBytes ()
 
java.util.List< java.lang.Integer > getEnforcementLiteralList ()
 
int getEnforcementLiteralCount ()
 
int getEnforcementLiteral (int index)
 
boolean hasBoolOr ()
 
com.google.ortools.sat.BoolArgumentProto getBoolOr ()
 
com.google.ortools.sat.BoolArgumentProtoOrBuilder getBoolOrOrBuilder ()
 
boolean hasBoolAnd ()
 
com.google.ortools.sat.BoolArgumentProto getBoolAnd ()
 
com.google.ortools.sat.BoolArgumentProtoOrBuilder getBoolAndOrBuilder ()
 
boolean hasAtMostOne ()
 
com.google.ortools.sat.BoolArgumentProto getAtMostOne ()
 
com.google.ortools.sat.BoolArgumentProtoOrBuilder getAtMostOneOrBuilder ()
 
boolean hasExactlyOne ()
 
com.google.ortools.sat.BoolArgumentProto getExactlyOne ()
 
com.google.ortools.sat.BoolArgumentProtoOrBuilder getExactlyOneOrBuilder ()
 
boolean hasBoolXor ()
 
com.google.ortools.sat.BoolArgumentProto getBoolXor ()
 
com.google.ortools.sat.BoolArgumentProtoOrBuilder getBoolXorOrBuilder ()
 
boolean hasIntDiv ()
 
com.google.ortools.sat.IntegerArgumentProto getIntDiv ()
 
com.google.ortools.sat.IntegerArgumentProtoOrBuilder getIntDivOrBuilder ()
 
boolean hasIntMod ()
 
com.google.ortools.sat.IntegerArgumentProto getIntMod ()
 
com.google.ortools.sat.IntegerArgumentProtoOrBuilder getIntModOrBuilder ()
 
boolean hasIntMax ()
 
com.google.ortools.sat.IntegerArgumentProto getIntMax ()
 
com.google.ortools.sat.IntegerArgumentProtoOrBuilder getIntMaxOrBuilder ()
 
boolean hasLinMax ()
 .operations_research.sat.LinearArgumentProto lin_max = 27; More...
 
com.google.ortools.sat.LinearArgumentProto getLinMax ()
 .operations_research.sat.LinearArgumentProto lin_max = 27; More...
 
com.google.ortools.sat.LinearArgumentProtoOrBuilder getLinMaxOrBuilder ()
 .operations_research.sat.LinearArgumentProto lin_max = 27; More...
 
boolean hasIntMin ()
 
com.google.ortools.sat.IntegerArgumentProto getIntMin ()
 
com.google.ortools.sat.IntegerArgumentProtoOrBuilder getIntMinOrBuilder ()
 
boolean hasLinMin ()
 .operations_research.sat.LinearArgumentProto lin_min = 28; More...
 
com.google.ortools.sat.LinearArgumentProto getLinMin ()
 .operations_research.sat.LinearArgumentProto lin_min = 28; More...
 
com.google.ortools.sat.LinearArgumentProtoOrBuilder getLinMinOrBuilder ()
 .operations_research.sat.LinearArgumentProto lin_min = 28; More...
 
boolean hasIntProd ()
 
com.google.ortools.sat.IntegerArgumentProto getIntProd ()
 
com.google.ortools.sat.IntegerArgumentProtoOrBuilder getIntProdOrBuilder ()
 
boolean hasLinear ()
 
com.google.ortools.sat.LinearConstraintProto getLinear ()
 
com.google.ortools.sat.LinearConstraintProtoOrBuilder getLinearOrBuilder ()
 
boolean hasAllDiff ()
 
com.google.ortools.sat.AllDifferentConstraintProto getAllDiff ()
 
com.google.ortools.sat.AllDifferentConstraintProtoOrBuilder getAllDiffOrBuilder ()
 
boolean hasElement ()
 
com.google.ortools.sat.ElementConstraintProto getElement ()
 
com.google.ortools.sat.ElementConstraintProtoOrBuilder getElementOrBuilder ()
 
boolean hasCircuit ()
 
com.google.ortools.sat.CircuitConstraintProto getCircuit ()
 
com.google.ortools.sat.CircuitConstraintProtoOrBuilder getCircuitOrBuilder ()
 
boolean hasRoutes ()
 
com.google.ortools.sat.RoutesConstraintProto getRoutes ()
 
com.google.ortools.sat.RoutesConstraintProtoOrBuilder getRoutesOrBuilder ()
 
boolean hasTable ()
 
com.google.ortools.sat.TableConstraintProto getTable ()
 
com.google.ortools.sat.TableConstraintProtoOrBuilder getTableOrBuilder ()
 
boolean hasAutomaton ()
 
com.google.ortools.sat.AutomatonConstraintProto getAutomaton ()
 
com.google.ortools.sat.AutomatonConstraintProtoOrBuilder getAutomatonOrBuilder ()
 
boolean hasInverse ()
 
com.google.ortools.sat.InverseConstraintProto getInverse ()
 
com.google.ortools.sat.InverseConstraintProtoOrBuilder getInverseOrBuilder ()
 
boolean hasReservoir ()
 
com.google.ortools.sat.ReservoirConstraintProto getReservoir ()
 
com.google.ortools.sat.ReservoirConstraintProtoOrBuilder getReservoirOrBuilder ()
 
boolean hasInterval ()
 
com.google.ortools.sat.IntervalConstraintProto getInterval ()
 
com.google.ortools.sat.IntervalConstraintProtoOrBuilder getIntervalOrBuilder ()
 
boolean hasNoOverlap ()
 
com.google.ortools.sat.NoOverlapConstraintProto getNoOverlap ()
 
com.google.ortools.sat.NoOverlapConstraintProtoOrBuilder getNoOverlapOrBuilder ()
 
boolean hasNoOverlap2D ()
 
com.google.ortools.sat.NoOverlap2DConstraintProto getNoOverlap2D ()
 
com.google.ortools.sat.NoOverlap2DConstraintProtoOrBuilder getNoOverlap2DOrBuilder ()
 
boolean hasCumulative ()
 
com.google.ortools.sat.CumulativeConstraintProto getCumulative ()
 
com.google.ortools.sat.CumulativeConstraintProtoOrBuilder getCumulativeOrBuilder ()
 
com.google.ortools.sat.ConstraintProto.ConstraintCase getConstraintCase ()
 

Member Function Documentation

◆ getAllDiff()

The all_diff constraint forces all variables to take different values.

.operations_research.sat.AllDifferentConstraintProto all_diff = 13;

Returns
The allDiff.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getAllDiffOrBuilder()

The all_diff constraint forces all variables to take different values.

.operations_research.sat.AllDifferentConstraintProto all_diff = 13;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getAtMostOne()

The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto at_most_one = 26;

Returns
The atMostOne.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getAtMostOneOrBuilder()

The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto at_most_one = 26;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getAutomaton()

The automaton constraint forces a sequence of variables to be accepted
by an automaton.

.operations_research.sat.AutomatonConstraintProto automaton = 17;

Returns
The automaton.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getAutomatonOrBuilder()

The automaton constraint forces a sequence of variables to be accepted
by an automaton.

.operations_research.sat.AutomatonConstraintProto automaton = 17;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolAnd()

The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.

.operations_research.sat.BoolArgumentProto bool_and = 4;

Returns
The boolAnd.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolAndOrBuilder()

The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.

.operations_research.sat.BoolArgumentProto bool_and = 4;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolOr()

The bool_or constraint forces at least one literal to be true.

.operations_research.sat.BoolArgumentProto bool_or = 3;

Returns
The boolOr.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolOrOrBuilder()

The bool_or constraint forces at least one literal to be true.

.operations_research.sat.BoolArgumentProto bool_or = 3;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolXor()

The bool_xor constraint forces an odd number of the literals to be true.

.operations_research.sat.BoolArgumentProto bool_xor = 5;

Returns
The boolXor.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getBoolXorOrBuilder()

The bool_xor constraint forces an odd number of the literals to be true.

.operations_research.sat.BoolArgumentProto bool_xor = 5;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getCircuit()

The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.

.operations_research.sat.CircuitConstraintProto circuit = 15;

Returns
The circuit.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getCircuitOrBuilder()

The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.

.operations_research.sat.CircuitConstraintProto circuit = 15;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getConstraintCase()

◆ getCumulative()

The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.

.operations_research.sat.CumulativeConstraintProto cumulative = 22;

Returns
The cumulative.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getCumulativeOrBuilder()

The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.

.operations_research.sat.CumulativeConstraintProto cumulative = 22;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getElement()

The element constraint forces the variable with the given index
to be equal to the target.

.operations_research.sat.ElementConstraintProto element = 14;

Returns
The element.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getElementOrBuilder()

The element constraint forces the variable with the given index
to be equal to the target.

.operations_research.sat.ElementConstraintProto element = 14;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getEnforcementLiteral()

int getEnforcementLiteral ( int  index)
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
  • bool_or, bool_and, linear: fully supported.
  • interval: only support a single enforcement literal.
  • other: no support (but can be added on a per-demand basis).
repeated int32 enforcement_literal = 2;
Parameters
indexThe index of the element to return.
Returns
The enforcementLiteral at the given index.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getEnforcementLiteralCount()

int getEnforcementLiteralCount ( )
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
  • bool_or, bool_and, linear: fully supported.
  • interval: only support a single enforcement literal.
  • other: no support (but can be added on a per-demand basis).
repeated int32 enforcement_literal = 2;
Returns
The count of enforcementLiteral.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getEnforcementLiteralList()

java.util.List<java.lang.Integer> getEnforcementLiteralList ( )
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
  • bool_or, bool_and, linear: fully supported.
  • interval: only support a single enforcement literal.
  • other: no support (but can be added on a per-demand basis).
repeated int32 enforcement_literal = 2;
Returns
A list containing the enforcementLiteral.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getExactlyOne()

The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto exactly_one = 29;

Returns
The exactlyOne.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getExactlyOneOrBuilder()

The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto exactly_one = 29;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntDiv()

The int_div constraint forces the target to equal vars[0] / vars[1].
In particular, vars[1] can never take the value 0.

.operations_research.sat.IntegerArgumentProto int_div = 7;

Returns
The intDiv.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntDivOrBuilder()

The int_div constraint forces the target to equal vars[0] / vars[1].
In particular, vars[1] can never take the value 0.

.operations_research.sat.IntegerArgumentProto int_div = 7;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getInterval()

The interval constraint takes a start, end, and size, and forces
start + size == end.

.operations_research.sat.IntervalConstraintProto interval = 19;

Returns
The interval.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntervalOrBuilder()

The interval constraint takes a start, end, and size, and forces
start + size == end.

.operations_research.sat.IntervalConstraintProto interval = 19;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntMax()

The int_max constraint forces the target to equal the maximum of all
variables.
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
TODO(user): Remove int_max in favor of lin_max.

.operations_research.sat.IntegerArgumentProto int_max = 9;

Returns
The intMax.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntMaxOrBuilder()

The int_max constraint forces the target to equal the maximum of all
variables.
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
TODO(user): Remove int_max in favor of lin_max.

.operations_research.sat.IntegerArgumentProto int_max = 9;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntMin()

The int_min constraint forces the target to equal the minimum of all
variables.
The lin_min constraint forces the target to equal the minimum of all
linear expressions.
TODO(user): Remove int_min in favor of lin_min.

.operations_research.sat.IntegerArgumentProto int_min = 10;

Returns
The intMin.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntMinOrBuilder()

The int_min constraint forces the target to equal the minimum of all
variables.
The lin_min constraint forces the target to equal the minimum of all
linear expressions.
TODO(user): Remove int_min in favor of lin_min.

.operations_research.sat.IntegerArgumentProto int_min = 10;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntMod()

The int_mod constraint forces the target to equal vars[0] % vars[1].
The domain of vars[1] must be strictly positive.

.operations_research.sat.IntegerArgumentProto int_mod = 8;

Returns
The intMod.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntModOrBuilder()

The int_mod constraint forces the target to equal vars[0] % vars[1].
The domain of vars[1] must be strictly positive.

.operations_research.sat.IntegerArgumentProto int_mod = 8;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntProd()

The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
TODO(user): Support more than two terms in the product.

.operations_research.sat.IntegerArgumentProto int_prod = 11;

Returns
The intProd.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getIntProdOrBuilder()

The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
TODO(user): Support more than two terms in the product.

.operations_research.sat.IntegerArgumentProto int_prod = 11;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getInverse()

The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.

.operations_research.sat.InverseConstraintProto inverse = 18;

Returns
The inverse.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getInverseOrBuilder()

The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.

.operations_research.sat.InverseConstraintProto inverse = 18;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinear()

The linear constraint enforces a linear inequality among the variables,
such as 0 <= x + 2y <= 10.

.operations_research.sat.LinearConstraintProto linear = 12;

Returns
The linear.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinearOrBuilder()

The linear constraint enforces a linear inequality among the variables,
such as 0 <= x + 2y <= 10.

.operations_research.sat.LinearConstraintProto linear = 12;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinMax()

.operations_research.sat.LinearArgumentProto lin_max = 27;

Returns
The linMax.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinMaxOrBuilder()

.operations_research.sat.LinearArgumentProto lin_max = 27;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinMin()

.operations_research.sat.LinearArgumentProto lin_min = 28;

Returns
The linMin.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getLinMinOrBuilder()

.operations_research.sat.LinearArgumentProto lin_min = 28;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getName()

java.lang.String getName ( )
For debug/logging only. Can be empty.

string name = 1;

Returns
The name.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getNameBytes()

com.google.protobuf.ByteString getNameBytes ( )
For debug/logging only. Can be empty.

string name = 1;

Returns
The bytes for name.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getNoOverlap()

The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.

.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;

Returns
The noOverlap.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getNoOverlap2D()

The no_overlap_2d constraint prevents a set of boxes from overlapping.

.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;

Returns
The noOverlap2d.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getNoOverlap2DOrBuilder()

The no_overlap_2d constraint prevents a set of boxes from overlapping.

.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getNoOverlapOrBuilder()

The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.

.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getReservoir()

The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.

.operations_research.sat.ReservoirConstraintProto reservoir = 24;

Returns
The reservoir.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getReservoirOrBuilder()

The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.

.operations_research.sat.ReservoirConstraintProto reservoir = 24;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getRoutes()

The routes constraint implements the vehicle routing problem.

.operations_research.sat.RoutesConstraintProto routes = 23;

Returns
The routes.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getRoutesOrBuilder()

The routes constraint implements the vehicle routing problem.

.operations_research.sat.RoutesConstraintProto routes = 23;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getTable()

The table constraint enforces what values a tuple of variables may
take.

.operations_research.sat.TableConstraintProto table = 16;

Returns
The table.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ getTableOrBuilder()

The table constraint enforces what values a tuple of variables may
take.

.operations_research.sat.TableConstraintProto table = 16;

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasAllDiff()

boolean hasAllDiff ( )
The all_diff constraint forces all variables to take different values.

.operations_research.sat.AllDifferentConstraintProto all_diff = 13;

Returns
Whether the allDiff field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasAtMostOne()

boolean hasAtMostOne ( )
The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto at_most_one = 26;

Returns
Whether the atMostOne field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasAutomaton()

boolean hasAutomaton ( )
The automaton constraint forces a sequence of variables to be accepted
by an automaton.

.operations_research.sat.AutomatonConstraintProto automaton = 17;

Returns
Whether the automaton field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasBoolAnd()

boolean hasBoolAnd ( )
The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.

.operations_research.sat.BoolArgumentProto bool_and = 4;

Returns
Whether the boolAnd field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasBoolOr()

boolean hasBoolOr ( )
The bool_or constraint forces at least one literal to be true.

.operations_research.sat.BoolArgumentProto bool_or = 3;

Returns
Whether the boolOr field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasBoolXor()

boolean hasBoolXor ( )
The bool_xor constraint forces an odd number of the literals to be true.

.operations_research.sat.BoolArgumentProto bool_xor = 5;

Returns
Whether the boolXor field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasCircuit()

boolean hasCircuit ( )
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.

.operations_research.sat.CircuitConstraintProto circuit = 15;

Returns
Whether the circuit field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasCumulative()

boolean hasCumulative ( )
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.

.operations_research.sat.CumulativeConstraintProto cumulative = 22;

Returns
Whether the cumulative field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasElement()

boolean hasElement ( )
The element constraint forces the variable with the given index
to be equal to the target.

.operations_research.sat.ElementConstraintProto element = 14;

Returns
Whether the element field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasExactlyOne()

boolean hasExactlyOne ( )
The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.

.operations_research.sat.BoolArgumentProto exactly_one = 29;

Returns
Whether the exactlyOne field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasIntDiv()

boolean hasIntDiv ( )
The int_div constraint forces the target to equal vars[0] / vars[1].
In particular, vars[1] can never take the value 0.

.operations_research.sat.IntegerArgumentProto int_div = 7;

Returns
Whether the intDiv field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasInterval()

boolean hasInterval ( )
The interval constraint takes a start, end, and size, and forces
start + size == end.

.operations_research.sat.IntervalConstraintProto interval = 19;

Returns
Whether the interval field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasIntMax()

boolean hasIntMax ( )
The int_max constraint forces the target to equal the maximum of all
variables.
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
TODO(user): Remove int_max in favor of lin_max.

.operations_research.sat.IntegerArgumentProto int_max = 9;

Returns
Whether the intMax field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasIntMin()

boolean hasIntMin ( )
The int_min constraint forces the target to equal the minimum of all
variables.
The lin_min constraint forces the target to equal the minimum of all
linear expressions.
TODO(user): Remove int_min in favor of lin_min.

.operations_research.sat.IntegerArgumentProto int_min = 10;

Returns
Whether the intMin field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasIntMod()

boolean hasIntMod ( )
The int_mod constraint forces the target to equal vars[0] % vars[1].
The domain of vars[1] must be strictly positive.

.operations_research.sat.IntegerArgumentProto int_mod = 8;

Returns
Whether the intMod field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasIntProd()

boolean hasIntProd ( )
The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
TODO(user): Support more than two terms in the product.

.operations_research.sat.IntegerArgumentProto int_prod = 11;

Returns
Whether the intProd field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasInverse()

boolean hasInverse ( )
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.

.operations_research.sat.InverseConstraintProto inverse = 18;

Returns
Whether the inverse field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasLinear()

boolean hasLinear ( )
The linear constraint enforces a linear inequality among the variables,
such as 0 <= x + 2y <= 10.

.operations_research.sat.LinearConstraintProto linear = 12;

Returns
Whether the linear field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasLinMax()

boolean hasLinMax ( )

.operations_research.sat.LinearArgumentProto lin_max = 27;

Returns
Whether the linMax field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasLinMin()

boolean hasLinMin ( )

.operations_research.sat.LinearArgumentProto lin_min = 28;

Returns
Whether the linMin field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasNoOverlap()

boolean hasNoOverlap ( )
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.

.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;

Returns
Whether the noOverlap field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasNoOverlap2D()

boolean hasNoOverlap2D ( )
The no_overlap_2d constraint prevents a set of boxes from overlapping.

.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;

Returns
Whether the noOverlap2d field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasReservoir()

boolean hasReservoir ( )
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.

.operations_research.sat.ReservoirConstraintProto reservoir = 24;

Returns
Whether the reservoir field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasRoutes()

boolean hasRoutes ( )
The routes constraint implements the vehicle routing problem.

.operations_research.sat.RoutesConstraintProto routes = 23;

Returns
Whether the routes field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.

◆ hasTable()

boolean hasTable ( )
The table constraint enforces what values a tuple of variables may
take.

.operations_research.sat.TableConstraintProto table = 16;

Returns
Whether the table field is set.

Implemented in ConstraintProto.Builder, and ConstraintProto.


The documentation for this interface was generated from the following file: