Class ConstraintProto

  • All Implemented Interfaces:
    ConstraintProtoOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, java.io.Serializable

    public final class ConstraintProto
    extends com.google.protobuf.GeneratedMessageV3
    implements ConstraintProtoOrBuilder
     Next id: 31
     
    Protobuf type operations_research.sat.ConstraintProto
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public java.lang.String getName()
         For debug/logging only. Can be empty.
         
        string name = 1;
        Specified by:
        getName in interface ConstraintProtoOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         For debug/logging only. Can be empty.
         
        string name = 1;
        Specified by:
        getNameBytes in interface ConstraintProtoOrBuilder
        Returns:
        The bytes for name.
      • getEnforcementLiteralList

        public 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;
        Specified by:
        getEnforcementLiteralList in interface ConstraintProtoOrBuilder
        Returns:
        A list containing the enforcementLiteral.
      • getEnforcementLiteralCount

        public 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;
        Specified by:
        getEnforcementLiteralCount in interface ConstraintProtoOrBuilder
        Returns:
        The count of enforcementLiteral.
      • getEnforcementLiteral

        public 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;
        Specified by:
        getEnforcementLiteral in interface ConstraintProtoOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The enforcementLiteral at the given index.
      • hasBoolOr

        public boolean hasBoolOr()
         The bool_or constraint forces at least one literal to be true.
         
        .operations_research.sat.BoolArgumentProto bool_or = 3;
        Specified by:
        hasBoolOr in interface ConstraintProtoOrBuilder
        Returns:
        Whether the boolOr field is set.
      • getBoolOr

        public BoolArgumentProto getBoolOr()
         The bool_or constraint forces at least one literal to be true.
         
        .operations_research.sat.BoolArgumentProto bool_or = 3;
        Specified by:
        getBoolOr in interface ConstraintProtoOrBuilder
        Returns:
        The boolOr.
      • hasBoolAnd

        public 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;
        Specified by:
        hasBoolAnd in interface ConstraintProtoOrBuilder
        Returns:
        Whether the boolAnd field is set.
      • getBoolAnd

        public 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;
        Specified by:
        getBoolAnd in interface ConstraintProtoOrBuilder
        Returns:
        The boolAnd.
      • getBoolAndOrBuilder

        public 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;
        Specified by:
        getBoolAndOrBuilder in interface ConstraintProtoOrBuilder
      • hasAtMostOne

        public 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;
        Specified by:
        hasAtMostOne in interface ConstraintProtoOrBuilder
        Returns:
        Whether the atMostOne field is set.
      • getAtMostOne

        public 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;
        Specified by:
        getAtMostOne in interface ConstraintProtoOrBuilder
        Returns:
        The atMostOne.
      • getAtMostOneOrBuilder

        public 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;
        Specified by:
        getAtMostOneOrBuilder in interface ConstraintProtoOrBuilder
      • hasExactlyOne

        public 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;
        Specified by:
        hasExactlyOne in interface ConstraintProtoOrBuilder
        Returns:
        Whether the exactlyOne field is set.
      • getExactlyOne

        public 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;
        Specified by:
        getExactlyOne in interface ConstraintProtoOrBuilder
        Returns:
        The exactlyOne.
      • getExactlyOneOrBuilder

        public 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;
        Specified by:
        getExactlyOneOrBuilder in interface ConstraintProtoOrBuilder
      • hasBoolXor

        public boolean hasBoolXor()
         The bool_xor constraint forces an odd number of the literals to be true.
         
        .operations_research.sat.BoolArgumentProto bool_xor = 5;
        Specified by:
        hasBoolXor in interface ConstraintProtoOrBuilder
        Returns:
        Whether the boolXor field is set.
      • getBoolXor

        public BoolArgumentProto getBoolXor()
         The bool_xor constraint forces an odd number of the literals to be true.
         
        .operations_research.sat.BoolArgumentProto bool_xor = 5;
        Specified by:
        getBoolXor in interface ConstraintProtoOrBuilder
        Returns:
        The boolXor.
      • hasIntDiv

        public boolean hasIntDiv()
         The int_div constraint forces the target to equal exprs[0] / exprs[1].
         The division is "rounded" towards zero, so we can have for instance
         (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division,
         then you should use instead of t = a / b, the int_prod constraint
         a = b * t.
        
         If 0 belongs to the domain of exprs[1], then the model is deemed invalid.
         
        .operations_research.sat.LinearArgumentProto int_div = 7;
        Specified by:
        hasIntDiv in interface ConstraintProtoOrBuilder
        Returns:
        Whether the intDiv field is set.
      • getIntDiv

        public LinearArgumentProto getIntDiv()
         The int_div constraint forces the target to equal exprs[0] / exprs[1].
         The division is "rounded" towards zero, so we can have for instance
         (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division,
         then you should use instead of t = a / b, the int_prod constraint
         a = b * t.
        
         If 0 belongs to the domain of exprs[1], then the model is deemed invalid.
         
        .operations_research.sat.LinearArgumentProto int_div = 7;
        Specified by:
        getIntDiv in interface ConstraintProtoOrBuilder
        Returns:
        The intDiv.
      • getIntDivOrBuilder

        public LinearArgumentProtoOrBuilder getIntDivOrBuilder()
         The int_div constraint forces the target to equal exprs[0] / exprs[1].
         The division is "rounded" towards zero, so we can have for instance
         (2 = 12 / 5) or (-3 = -10 / 3). If you only want exact integer division,
         then you should use instead of t = a / b, the int_prod constraint
         a = b * t.
        
         If 0 belongs to the domain of exprs[1], then the model is deemed invalid.
         
        .operations_research.sat.LinearArgumentProto int_div = 7;
        Specified by:
        getIntDivOrBuilder in interface ConstraintProtoOrBuilder
      • hasIntMod

        public boolean hasIntMod()
         The int_mod constraint forces the target to equal exprs[0] % exprs[1].
         The domain of exprs[1] must be strictly positive. The sign of the target
         is the same as the sign of exprs[0].
         
        .operations_research.sat.LinearArgumentProto int_mod = 8;
        Specified by:
        hasIntMod in interface ConstraintProtoOrBuilder
        Returns:
        Whether the intMod field is set.
      • getIntMod

        public LinearArgumentProto getIntMod()
         The int_mod constraint forces the target to equal exprs[0] % exprs[1].
         The domain of exprs[1] must be strictly positive. The sign of the target
         is the same as the sign of exprs[0].
         
        .operations_research.sat.LinearArgumentProto int_mod = 8;
        Specified by:
        getIntMod in interface ConstraintProtoOrBuilder
        Returns:
        The intMod.
      • getIntModOrBuilder

        public LinearArgumentProtoOrBuilder getIntModOrBuilder()
         The int_mod constraint forces the target to equal exprs[0] % exprs[1].
         The domain of exprs[1] must be strictly positive. The sign of the target
         is the same as the sign of exprs[0].
         
        .operations_research.sat.LinearArgumentProto int_mod = 8;
        Specified by:
        getIntModOrBuilder in interface ConstraintProtoOrBuilder
      • hasIntProd

        public 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.
        
         Note that the solver checks for potential integer overflow. So the
         product of the maximum absolute value of all the terms (using the initial
         domain) should fit on an int64. Otherwise the model will be declared
         invalid.
         
        .operations_research.sat.LinearArgumentProto int_prod = 11;
        Specified by:
        hasIntProd in interface ConstraintProtoOrBuilder
        Returns:
        Whether the intProd field is set.
      • getIntProd

        public LinearArgumentProto 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.
        
         Note that the solver checks for potential integer overflow. So the
         product of the maximum absolute value of all the terms (using the initial
         domain) should fit on an int64. Otherwise the model will be declared
         invalid.
         
        .operations_research.sat.LinearArgumentProto int_prod = 11;
        Specified by:
        getIntProd in interface ConstraintProtoOrBuilder
        Returns:
        The intProd.
      • getIntProdOrBuilder

        public LinearArgumentProtoOrBuilder 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.
        
         Note that the solver checks for potential integer overflow. So the
         product of the maximum absolute value of all the terms (using the initial
         domain) should fit on an int64. Otherwise the model will be declared
         invalid.
         
        .operations_research.sat.LinearArgumentProto int_prod = 11;
        Specified by:
        getIntProdOrBuilder in interface ConstraintProtoOrBuilder
      • hasLinMax

        public boolean hasLinMax()
         The lin_max constraint forces the target to equal the maximum of all
         linear expressions.
         Note that this can model a minimum simply by negating all expressions.
         
        .operations_research.sat.LinearArgumentProto lin_max = 27;
        Specified by:
        hasLinMax in interface ConstraintProtoOrBuilder
        Returns:
        Whether the linMax field is set.
      • getLinMax

        public LinearArgumentProto getLinMax()
         The lin_max constraint forces the target to equal the maximum of all
         linear expressions.
         Note that this can model a minimum simply by negating all expressions.
         
        .operations_research.sat.LinearArgumentProto lin_max = 27;
        Specified by:
        getLinMax in interface ConstraintProtoOrBuilder
        Returns:
        The linMax.
      • getLinMaxOrBuilder

        public LinearArgumentProtoOrBuilder getLinMaxOrBuilder()
         The lin_max constraint forces the target to equal the maximum of all
         linear expressions.
         Note that this can model a minimum simply by negating all expressions.
         
        .operations_research.sat.LinearArgumentProto lin_max = 27;
        Specified by:
        getLinMaxOrBuilder in interface ConstraintProtoOrBuilder
      • hasLinear

        public boolean hasLinear()
         The linear constraint enforces a linear inequality among the variables,
         such as 0 <= x + 2y <= 10.
         
        .operations_research.sat.LinearConstraintProto linear = 12;
        Specified by:
        hasLinear in interface ConstraintProtoOrBuilder
        Returns:
        Whether the linear field is set.
      • getLinear

        public LinearConstraintProto getLinear()
         The linear constraint enforces a linear inequality among the variables,
         such as 0 <= x + 2y <= 10.
         
        .operations_research.sat.LinearConstraintProto linear = 12;
        Specified by:
        getLinear in interface ConstraintProtoOrBuilder
        Returns:
        The linear.
      • hasAllDiff

        public boolean hasAllDiff()
         The all_diff constraint forces all variables to take different values.
         
        .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
        Specified by:
        hasAllDiff in interface ConstraintProtoOrBuilder
        Returns:
        Whether the allDiff field is set.
      • hasElement

        public boolean hasElement()
         The element constraint forces the variable with the given index
         to be equal to the target.
         
        .operations_research.sat.ElementConstraintProto element = 14;
        Specified by:
        hasElement in interface ConstraintProtoOrBuilder
        Returns:
        Whether the element field is set.
      • getElement

        public ElementConstraintProto getElement()
         The element constraint forces the variable with the given index
         to be equal to the target.
         
        .operations_research.sat.ElementConstraintProto element = 14;
        Specified by:
        getElement in interface ConstraintProtoOrBuilder
        Returns:
        The element.
      • hasCircuit

        public 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;
        Specified by:
        hasCircuit in interface ConstraintProtoOrBuilder
        Returns:
        Whether the circuit field is set.
      • getCircuit

        public 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;
        Specified by:
        getCircuit in interface ConstraintProtoOrBuilder
        Returns:
        The circuit.
      • hasRoutes

        public boolean hasRoutes()
         The routes constraint implements the vehicle routing problem.
         
        .operations_research.sat.RoutesConstraintProto routes = 23;
        Specified by:
        hasRoutes in interface ConstraintProtoOrBuilder
        Returns:
        Whether the routes field is set.
      • hasTable

        public boolean hasTable()
         The table constraint enforces what values a tuple of variables may
         take.
         
        .operations_research.sat.TableConstraintProto table = 16;
        Specified by:
        hasTable in interface ConstraintProtoOrBuilder
        Returns:
        Whether the table field is set.
      • getTable

        public TableConstraintProto getTable()
         The table constraint enforces what values a tuple of variables may
         take.
         
        .operations_research.sat.TableConstraintProto table = 16;
        Specified by:
        getTable in interface ConstraintProtoOrBuilder
        Returns:
        The table.
      • hasAutomaton

        public boolean hasAutomaton()
         The automaton constraint forces a sequence of variables to be accepted
         by an automaton.
         
        .operations_research.sat.AutomatonConstraintProto automaton = 17;
        Specified by:
        hasAutomaton in interface ConstraintProtoOrBuilder
        Returns:
        Whether the automaton field is set.
      • getAutomaton

        public AutomatonConstraintProto getAutomaton()
         The automaton constraint forces a sequence of variables to be accepted
         by an automaton.
         
        .operations_research.sat.AutomatonConstraintProto automaton = 17;
        Specified by:
        getAutomaton in interface ConstraintProtoOrBuilder
        Returns:
        The automaton.
      • hasInverse

        public 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;
        Specified by:
        hasInverse in interface ConstraintProtoOrBuilder
        Returns:
        Whether the inverse field is set.
      • getInverse

        public 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;
        Specified by:
        getInverse in interface ConstraintProtoOrBuilder
        Returns:
        The inverse.
      • hasReservoir

        public 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;
        Specified by:
        hasReservoir in interface ConstraintProtoOrBuilder
        Returns:
        Whether the reservoir field is set.
      • getReservoir

        public 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;
        Specified by:
        getReservoir in interface ConstraintProtoOrBuilder
        Returns:
        The reservoir.
      • hasInterval

        public boolean hasInterval()
         The interval constraint takes a start, end, and size, and forces
         start + size == end.
         
        .operations_research.sat.IntervalConstraintProto interval = 19;
        Specified by:
        hasInterval in interface ConstraintProtoOrBuilder
        Returns:
        Whether the interval field is set.
      • getInterval

        public IntervalConstraintProto getInterval()
         The interval constraint takes a start, end, and size, and forces
         start + size == end.
         
        .operations_research.sat.IntervalConstraintProto interval = 19;
        Specified by:
        getInterval in interface ConstraintProtoOrBuilder
        Returns:
        The interval.
      • hasNoOverlap

        public 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;
        Specified by:
        hasNoOverlap in interface ConstraintProtoOrBuilder
        Returns:
        Whether the noOverlap field is set.
      • getNoOverlap

        public 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;
        Specified by:
        getNoOverlap in interface ConstraintProtoOrBuilder
        Returns:
        The noOverlap.
      • hasNoOverlap2D

        public boolean hasNoOverlap2D()
         The no_overlap_2d constraint prevents a set of boxes from overlapping.
         
        .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
        Specified by:
        hasNoOverlap2D in interface ConstraintProtoOrBuilder
        Returns:
        Whether the noOverlap2d field is set.
      • hasCumulative

        public 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;
        Specified by:
        hasCumulative in interface ConstraintProtoOrBuilder
        Returns:
        Whether the cumulative field is set.
      • getCumulative

        public 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;
        Specified by:
        getCumulative in interface ConstraintProtoOrBuilder
        Returns:
        The cumulative.
      • hasDummyConstraint

        public boolean hasDummyConstraint()
         This constraint is not meant to be used and will be rejected by the
         solver. It is meant to mark variable when testing the presolve code.
         
        .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
        Specified by:
        hasDummyConstraint in interface ConstraintProtoOrBuilder
        Returns:
        Whether the dummyConstraint field is set.
      • getDummyConstraint

        public ListOfVariablesProto getDummyConstraint()
         This constraint is not meant to be used and will be rejected by the
         solver. It is meant to mark variable when testing the presolve code.
         
        .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
        Specified by:
        getDummyConstraint in interface ConstraintProtoOrBuilder
        Returns:
        The dummyConstraint.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static ConstraintProto parseFrom​(java.nio.ByteBuffer data)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(java.nio.ByteBuffer data,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(com.google.protobuf.ByteString data)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(com.google.protobuf.ByteString data,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(byte[] data)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(byte[] data,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConstraintProto parseFrom​(java.io.InputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ConstraintProto parseFrom​(java.io.InputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ConstraintProto parseDelimitedFrom​(java.io.InputStream input)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ConstraintProto parseDelimitedFrom​(java.io.InputStream input,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ConstraintProto parseFrom​(com.google.protobuf.CodedInputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ConstraintProto parseFrom​(com.google.protobuf.CodedInputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public ConstraintProto.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public ConstraintProto.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected ConstraintProto.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • parser

        public static com.google.protobuf.Parser<ConstraintProto> parser()
      • getParserForType

        public com.google.protobuf.Parser<ConstraintProto> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ConstraintProto getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder