Package com.google.ortools.sat
Interface ConstraintProtoOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
ConstraintProto,ConstraintProto.Builder
public interface ConstraintProtoOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and Type Method Description AllDifferentConstraintProtogetAllDiff()The all_diff constraint forces all variables to take different values.AllDifferentConstraintProtoOrBuildergetAllDiffOrBuilder()The all_diff constraint forces all variables to take different values.BoolArgumentProtogetAtMostOne()The at_most_one constraint enforces that no more than one literal is true at the same time.BoolArgumentProtoOrBuildergetAtMostOneOrBuilder()The at_most_one constraint enforces that no more than one literal is true at the same time.AutomatonConstraintProtogetAutomaton()The automaton constraint forces a sequence of variables to be accepted by an automaton.AutomatonConstraintProtoOrBuildergetAutomatonOrBuilder()The automaton constraint forces a sequence of variables to be accepted by an automaton.BoolArgumentProtogetBoolAnd()The bool_and constraint forces all of the literals to be true.BoolArgumentProtoOrBuildergetBoolAndOrBuilder()The bool_and constraint forces all of the literals to be true.BoolArgumentProtogetBoolOr()The bool_or constraint forces at least one literal to be true.BoolArgumentProtoOrBuildergetBoolOrOrBuilder()The bool_or constraint forces at least one literal to be true.BoolArgumentProtogetBoolXor()The bool_xor constraint forces an odd number of the literals to be true.BoolArgumentProtoOrBuildergetBoolXorOrBuilder()The bool_xor constraint forces an odd number of the literals to be true.CircuitConstraintProtogetCircuit()The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a literal) to form a unique cycle.CircuitConstraintProtoOrBuildergetCircuitOrBuilder()The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a literal) to form a unique cycle.ConstraintProto.ConstraintCasegetConstraintCase()CumulativeConstraintProtogetCumulative()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.CumulativeConstraintProtoOrBuildergetCumulativeOrBuilder()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.ElementConstraintProtogetElement()The element constraint forces the variable with the given index to be equal to the target.ElementConstraintProtoOrBuildergetElementOrBuilder()The element constraint forces the variable with the given index to be equal to the target.intgetEnforcementLiteral(int index)The constraint will be enforced iff all literals listed here are true.intgetEnforcementLiteralCount()The constraint will be enforced iff all literals listed here are true.java.util.List<java.lang.Integer>getEnforcementLiteralList()The constraint will be enforced iff all literals listed here are true.BoolArgumentProtogetExactlyOne()The exactly_one constraint force exactly one literal to true and no more.BoolArgumentProtoOrBuildergetExactlyOneOrBuilder()The exactly_one constraint force exactly one literal to true and no more.IntegerArgumentProtogetIntDiv()The int_div constraint forces the target to equal vars[0] / vars[1].IntegerArgumentProtoOrBuildergetIntDivOrBuilder()The int_div constraint forces the target to equal vars[0] / vars[1].IntervalConstraintProtogetInterval()The interval constraint takes a start, end, and size, and forces start + size == end.IntervalConstraintProtoOrBuildergetIntervalOrBuilder()The interval constraint takes a start, end, and size, and forces start + size == end.IntegerArgumentProtogetIntMax()The int_max constraint forces the target to equal the maximum of all variables.IntegerArgumentProtoOrBuildergetIntMaxOrBuilder()The int_max constraint forces the target to equal the maximum of all variables.IntegerArgumentProtogetIntMin()The int_min constraint forces the target to equal the minimum of all variables.IntegerArgumentProtoOrBuildergetIntMinOrBuilder()The int_min constraint forces the target to equal the minimum of all variables.IntegerArgumentProtogetIntMod()The int_mod constraint forces the target to equal vars[0] % vars[1].IntegerArgumentProtoOrBuildergetIntModOrBuilder()The int_mod constraint forces the target to equal vars[0] % vars[1].IntegerArgumentProtogetIntProd()The int_prod constraint forces the target to equal the product of all variables.IntegerArgumentProtoOrBuildergetIntProdOrBuilder()The int_prod constraint forces the target to equal the product of all variables.InverseConstraintProtogetInverse()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.InverseConstraintProtoOrBuildergetInverseOrBuilder()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.LinearConstraintProtogetLinear()The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.LinearConstraintProtoOrBuildergetLinearOrBuilder()The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.LinearArgumentProtogetLinMax().operations_research.sat.LinearArgumentProto lin_max = 27;LinearArgumentProtoOrBuildergetLinMaxOrBuilder().operations_research.sat.LinearArgumentProto lin_max = 27;LinearArgumentProtogetLinMin().operations_research.sat.LinearArgumentProto lin_min = 28;LinearArgumentProtoOrBuildergetLinMinOrBuilder().operations_research.sat.LinearArgumentProto lin_min = 28;java.lang.StringgetName()For debug/logging only.com.google.protobuf.ByteStringgetNameBytes()For debug/logging only.NoOverlapConstraintProtogetNoOverlap()The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint.NoOverlap2DConstraintProtogetNoOverlap2D()The no_overlap_2d constraint prevents a set of boxes from overlapping.NoOverlap2DConstraintProtoOrBuildergetNoOverlap2DOrBuilder()The no_overlap_2d constraint prevents a set of boxes from overlapping.NoOverlapConstraintProtoOrBuildergetNoOverlapOrBuilder()The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint.ReservoirConstraintProtogetReservoir()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.ReservoirConstraintProtoOrBuildergetReservoirOrBuilder()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.RoutesConstraintProtogetRoutes()The routes constraint implements the vehicle routing problem.RoutesConstraintProtoOrBuildergetRoutesOrBuilder()The routes constraint implements the vehicle routing problem.TableConstraintProtogetTable()The table constraint enforces what values a tuple of variables may take.TableConstraintProtoOrBuildergetTableOrBuilder()The table constraint enforces what values a tuple of variables may take.booleanhasAllDiff()The all_diff constraint forces all variables to take different values.booleanhasAtMostOne()The at_most_one constraint enforces that no more than one literal is true at the same time.booleanhasAutomaton()The automaton constraint forces a sequence of variables to be accepted by an automaton.booleanhasBoolAnd()The bool_and constraint forces all of the literals to be true.booleanhasBoolOr()The bool_or constraint forces at least one literal to be true.booleanhasBoolXor()The bool_xor constraint forces an odd number of the literals to be true.booleanhasCircuit()The circuit constraint takes a graph and forces the arcs present (with arc presence indicated by a literal) to form a unique cycle.booleanhasCumulative()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.booleanhasElement()The element constraint forces the variable with the given index to be equal to the target.booleanhasExactlyOne()The exactly_one constraint force exactly one literal to true and no more.booleanhasIntDiv()The int_div constraint forces the target to equal vars[0] / vars[1].booleanhasInterval()The interval constraint takes a start, end, and size, and forces start + size == end.booleanhasIntMax()The int_max constraint forces the target to equal the maximum of all variables.booleanhasIntMin()The int_min constraint forces the target to equal the minimum of all variables.booleanhasIntMod()The int_mod constraint forces the target to equal vars[0] % vars[1].booleanhasIntProd()The int_prod constraint forces the target to equal the product of all variables.booleanhasInverse()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.booleanhasLinear()The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.booleanhasLinMax().operations_research.sat.LinearArgumentProto lin_max = 27;booleanhasLinMin().operations_research.sat.LinearArgumentProto lin_min = 28;booleanhasNoOverlap()The no_overlap constraint prevents a set of intervals from overlapping; in scheduling, this is called a disjunctive constraint.booleanhasNoOverlap2D()The no_overlap_2d constraint prevents a set of boxes from overlapping.booleanhasReservoir()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.booleanhasRoutes()The routes constraint implements the vehicle routing problem.booleanhasTable()The table constraint enforces what values a tuple of variables may take.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitializedMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getName
java.lang.String getName()For debug/logging only. Can be empty.
string name = 1;- Returns:
- The name.
-
getNameBytes
com.google.protobuf.ByteString getNameBytes()For debug/logging only. Can be empty.
string name = 1;- Returns:
- The bytes for name.
-
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.
-
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.
-
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:
index- The index of the element to return.- Returns:
- The enforcementLiteral at the given index.
-
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.
-
getBoolOr
BoolArgumentProto getBoolOr()The bool_or constraint forces at least one literal to be true.
.operations_research.sat.BoolArgumentProto bool_or = 3;- Returns:
- The boolOr.
-
getBoolOrOrBuilder
BoolArgumentProtoOrBuilder getBoolOrOrBuilder()The bool_or constraint forces at least one literal to be true.
.operations_research.sat.BoolArgumentProto bool_or = 3; -
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.
-
getBoolAnd
BoolArgumentProto 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.
-
getBoolAndOrBuilder
BoolArgumentProtoOrBuilder 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; -
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.
-
getAtMostOne
BoolArgumentProto 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.
-
getAtMostOneOrBuilder
BoolArgumentProtoOrBuilder 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; -
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.
-
getExactlyOne
BoolArgumentProto 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.
-
getExactlyOneOrBuilder
BoolArgumentProtoOrBuilder 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; -
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.
-
getBoolXor
BoolArgumentProto 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.
-
getBoolXorOrBuilder
BoolArgumentProtoOrBuilder getBoolXorOrBuilder()The bool_xor constraint forces an odd number of the literals to be true.
.operations_research.sat.BoolArgumentProto bool_xor = 5; -
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.
-
getIntDiv
IntegerArgumentProto 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.
-
getIntDivOrBuilder
IntegerArgumentProtoOrBuilder 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; -
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.
-
getIntMod
IntegerArgumentProto 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.
-
getIntModOrBuilder
IntegerArgumentProtoOrBuilder 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; -
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.
-
getIntMax
IntegerArgumentProto 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.
-
getIntMaxOrBuilder
IntegerArgumentProtoOrBuilder 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; -
hasLinMax
boolean hasLinMax().operations_research.sat.LinearArgumentProto lin_max = 27;- Returns:
- Whether the linMax field is set.
-
getLinMax
LinearArgumentProto getLinMax().operations_research.sat.LinearArgumentProto lin_max = 27;- Returns:
- The linMax.
-
getLinMaxOrBuilder
LinearArgumentProtoOrBuilder getLinMaxOrBuilder().operations_research.sat.LinearArgumentProto lin_max = 27; -
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.
-
getIntMin
IntegerArgumentProto 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.
-
getIntMinOrBuilder
IntegerArgumentProtoOrBuilder 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; -
hasLinMin
boolean hasLinMin().operations_research.sat.LinearArgumentProto lin_min = 28;- Returns:
- Whether the linMin field is set.
-
getLinMin
LinearArgumentProto getLinMin().operations_research.sat.LinearArgumentProto lin_min = 28;- Returns:
- The linMin.
-
getLinMinOrBuilder
LinearArgumentProtoOrBuilder getLinMinOrBuilder().operations_research.sat.LinearArgumentProto lin_min = 28; -
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.
-
getIntProd
IntegerArgumentProto 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.
-
getIntProdOrBuilder
IntegerArgumentProtoOrBuilder 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; -
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.
-
getLinear
LinearConstraintProto 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.
-
getLinearOrBuilder
LinearConstraintProtoOrBuilder getLinearOrBuilder()The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.
.operations_research.sat.LinearConstraintProto linear = 12; -
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.
-
getAllDiff
AllDifferentConstraintProto getAllDiff()The all_diff constraint forces all variables to take different values.
.operations_research.sat.AllDifferentConstraintProto all_diff = 13;- Returns:
- The allDiff.
-
getAllDiffOrBuilder
AllDifferentConstraintProtoOrBuilder getAllDiffOrBuilder()The all_diff constraint forces all variables to take different values.
.operations_research.sat.AllDifferentConstraintProto all_diff = 13; -
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.
-
getElement
ElementConstraintProto 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.
-
getElementOrBuilder
ElementConstraintProtoOrBuilder getElementOrBuilder()The element constraint forces the variable with the given index to be equal to the target.
.operations_research.sat.ElementConstraintProto element = 14; -
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.
-
getCircuit
CircuitConstraintProto 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.
-
getCircuitOrBuilder
CircuitConstraintProtoOrBuilder 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; -
hasRoutes
boolean hasRoutes()The routes constraint implements the vehicle routing problem.
.operations_research.sat.RoutesConstraintProto routes = 23;- Returns:
- Whether the routes field is set.
-
getRoutes
RoutesConstraintProto getRoutes()The routes constraint implements the vehicle routing problem.
.operations_research.sat.RoutesConstraintProto routes = 23;- Returns:
- The routes.
-
getRoutesOrBuilder
RoutesConstraintProtoOrBuilder getRoutesOrBuilder()The routes constraint implements the vehicle routing problem.
.operations_research.sat.RoutesConstraintProto routes = 23; -
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.
-
getTable
TableConstraintProto getTable()The table constraint enforces what values a tuple of variables may take.
.operations_research.sat.TableConstraintProto table = 16;- Returns:
- The table.
-
getTableOrBuilder
TableConstraintProtoOrBuilder getTableOrBuilder()The table constraint enforces what values a tuple of variables may take.
.operations_research.sat.TableConstraintProto table = 16; -
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.
-
getAutomaton
AutomatonConstraintProto getAutomaton()The automaton constraint forces a sequence of variables to be accepted by an automaton.
.operations_research.sat.AutomatonConstraintProto automaton = 17;- Returns:
- The automaton.
-
getAutomatonOrBuilder
AutomatonConstraintProtoOrBuilder getAutomatonOrBuilder()The automaton constraint forces a sequence of variables to be accepted by an automaton.
.operations_research.sat.AutomatonConstraintProto automaton = 17; -
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.
-
getInverse
InverseConstraintProto 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.
-
getInverseOrBuilder
InverseConstraintProtoOrBuilder 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; -
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.
-
getReservoir
ReservoirConstraintProto 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.
-
getReservoirOrBuilder
ReservoirConstraintProtoOrBuilder 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; -
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.
-
getInterval
IntervalConstraintProto getInterval()The interval constraint takes a start, end, and size, and forces start + size == end.
.operations_research.sat.IntervalConstraintProto interval = 19;- Returns:
- The interval.
-
getIntervalOrBuilder
IntervalConstraintProtoOrBuilder getIntervalOrBuilder()The interval constraint takes a start, end, and size, and forces start + size == end.
.operations_research.sat.IntervalConstraintProto interval = 19; -
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.
-
getNoOverlap
NoOverlapConstraintProto 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.
-
getNoOverlapOrBuilder
NoOverlapConstraintProtoOrBuilder 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; -
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.
-
getNoOverlap2D
NoOverlap2DConstraintProto getNoOverlap2D()The no_overlap_2d constraint prevents a set of boxes from overlapping.
.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;- Returns:
- The noOverlap2d.
-
getNoOverlap2DOrBuilder
NoOverlap2DConstraintProtoOrBuilder getNoOverlap2DOrBuilder()The no_overlap_2d constraint prevents a set of boxes from overlapping.
.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21; -
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.
-
getCumulative
CumulativeConstraintProto 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.
-
getCumulativeOrBuilder
CumulativeConstraintProtoOrBuilder 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; -
getConstraintCase
ConstraintProto.ConstraintCase getConstraintCase()
-