Class ConstraintProto.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<ConstraintProto.Builder>
com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder>
com.google.ortools.sat.ConstraintProto.Builder
All Implemented Interfaces:
ConstraintProtoOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
ConstraintProto

public static final class ConstraintProto.Builder extends com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder> implements ConstraintProtoOrBuilder
 Next id: 31
 
Protobuf type operations_research.sat.ConstraintProto
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder>
    • clear

      public ConstraintProto.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder>
    • getDefaultInstanceForType

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

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

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

      public ConstraintProto.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ConstraintProto.Builder>
    • mergeFrom

      public ConstraintProto.Builder mergeFrom(ConstraintProto other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<ConstraintProto.Builder>
    • mergeFrom

      public ConstraintProto.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ConstraintProto.Builder>
      Throws:
      IOException
    • getConstraintCase

      public ConstraintProto.ConstraintCase getConstraintCase()
      Specified by:
      getConstraintCase in interface ConstraintProtoOrBuilder
    • clearConstraint

      public ConstraintProto.Builder clearConstraint()
    • getName

      public 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.
    • setName

      public ConstraintProto.Builder setName(String value)
       For debug/logging only. Can be empty.
       
      string name = 1;
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      public ConstraintProto.Builder clearName()
       For debug/logging only. Can be empty.
       
      string name = 1;
      Returns:
      This builder for chaining.
    • setNameBytes

      public ConstraintProto.Builder setNameBytes(com.google.protobuf.ByteString value)
       For debug/logging only. Can be empty.
       
      string name = 1;
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getEnforcementLiteralList

      public List<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.
    • setEnforcementLiteral

      public ConstraintProto.Builder setEnforcementLiteral(int index, int value)
       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 to set the value at.
      value - The enforcementLiteral to set.
      Returns:
      This builder for chaining.
    • addEnforcementLiteral

      public ConstraintProto.Builder addEnforcementLiteral(int value)
       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:
      value - The enforcementLiteral to add.
      Returns:
      This builder for chaining.
    • addAllEnforcementLiteral

      public ConstraintProto.Builder addAllEnforcementLiteral(Iterable<? extends Integer> values)
       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:
      values - The enforcementLiteral to add.
      Returns:
      This builder for chaining.
    • clearEnforcementLiteral

      public ConstraintProto.Builder clearEnforcementLiteral()
       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:
      This builder for chaining.
    • 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.
    • setBoolOr

      public ConstraintProto.Builder setBoolOr(BoolArgumentProto value)
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
    • setBoolOr

      public ConstraintProto.Builder setBoolOr(BoolArgumentProto.Builder builderForValue)
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
    • mergeBoolOr

      public ConstraintProto.Builder mergeBoolOr(BoolArgumentProto value)
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
    • clearBoolOr

      public ConstraintProto.Builder clearBoolOr()
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
    • getBoolOrBuilder

      public BoolArgumentProto.Builder getBoolOrBuilder()
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
    • getBoolOrOrBuilder

      public BoolArgumentProtoOrBuilder getBoolOrOrBuilder()
       The bool_or constraint forces at least one literal to be true.
       
      .operations_research.sat.BoolArgumentProto bool_or = 3;
      Specified by:
      getBoolOrOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setBoolAnd

      public ConstraintProto.Builder setBoolAnd(BoolArgumentProto value)
       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;
    • setBoolAnd

      public ConstraintProto.Builder setBoolAnd(BoolArgumentProto.Builder builderForValue)
       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;
    • mergeBoolAnd

      public ConstraintProto.Builder mergeBoolAnd(BoolArgumentProto value)
       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;
    • clearBoolAnd

      public ConstraintProto.Builder clearBoolAnd()
       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;
    • getBoolAndBuilder

      public BoolArgumentProto.Builder getBoolAndBuilder()
       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;
    • 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.
    • setAtMostOne

      public ConstraintProto.Builder setAtMostOne(BoolArgumentProto value)
       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;
    • setAtMostOne

      public ConstraintProto.Builder setAtMostOne(BoolArgumentProto.Builder builderForValue)
       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;
    • mergeAtMostOne

      public ConstraintProto.Builder mergeAtMostOne(BoolArgumentProto value)
       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;
    • clearAtMostOne

      public ConstraintProto.Builder clearAtMostOne()
       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;
    • getAtMostOneBuilder

      public BoolArgumentProto.Builder getAtMostOneBuilder()
       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;
    • 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.
    • setExactlyOne

      public ConstraintProto.Builder setExactlyOne(BoolArgumentProto value)
       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;
    • setExactlyOne

      public ConstraintProto.Builder setExactlyOne(BoolArgumentProto.Builder builderForValue)
       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;
    • mergeExactlyOne

      public ConstraintProto.Builder mergeExactlyOne(BoolArgumentProto value)
       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;
    • clearExactlyOne

      public ConstraintProto.Builder clearExactlyOne()
       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;
    • getExactlyOneBuilder

      public BoolArgumentProto.Builder getExactlyOneBuilder()
       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;
    • 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.
    • setBoolXor

      public ConstraintProto.Builder setBoolXor(BoolArgumentProto value)
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
    • setBoolXor

      public ConstraintProto.Builder setBoolXor(BoolArgumentProto.Builder builderForValue)
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
    • mergeBoolXor

      public ConstraintProto.Builder mergeBoolXor(BoolArgumentProto value)
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
    • clearBoolXor

      public ConstraintProto.Builder clearBoolXor()
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
    • getBoolXorBuilder

      public BoolArgumentProto.Builder getBoolXorBuilder()
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
    • getBoolXorOrBuilder

      public BoolArgumentProtoOrBuilder getBoolXorOrBuilder()
       The bool_xor constraint forces an odd number of the literals to be true.
       
      .operations_research.sat.BoolArgumentProto bool_xor = 5;
      Specified by:
      getBoolXorOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setIntDiv

      public ConstraintProto.Builder setIntDiv(LinearArgumentProto value)
       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;
    • setIntDiv

      public ConstraintProto.Builder setIntDiv(LinearArgumentProto.Builder builderForValue)
       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;
    • mergeIntDiv

      public ConstraintProto.Builder mergeIntDiv(LinearArgumentProto value)
       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;
    • clearIntDiv

      public ConstraintProto.Builder clearIntDiv()
       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;
    • getIntDivBuilder

      public LinearArgumentProto.Builder getIntDivBuilder()
       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;
    • 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.
    • setIntMod

      public ConstraintProto.Builder setIntMod(LinearArgumentProto value)
       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;
    • setIntMod

      public ConstraintProto.Builder setIntMod(LinearArgumentProto.Builder builderForValue)
       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;
    • mergeIntMod

      public ConstraintProto.Builder mergeIntMod(LinearArgumentProto value)
       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;
    • clearIntMod

      public ConstraintProto.Builder clearIntMod()
       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;
    • getIntModBuilder

      public LinearArgumentProto.Builder getIntModBuilder()
       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;
    • 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.
    • setIntProd

      public ConstraintProto.Builder setIntProd(LinearArgumentProto value)
       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;
    • setIntProd

      public ConstraintProto.Builder setIntProd(LinearArgumentProto.Builder builderForValue)
       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;
    • mergeIntProd

      public ConstraintProto.Builder mergeIntProd(LinearArgumentProto value)
       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;
    • clearIntProd

      public ConstraintProto.Builder clearIntProd()
       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;
    • getIntProdBuilder

      public LinearArgumentProto.Builder getIntProdBuilder()
       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;
    • 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.
    • setLinMax

      public ConstraintProto.Builder setLinMax(LinearArgumentProto value)
       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;
    • setLinMax

      public ConstraintProto.Builder setLinMax(LinearArgumentProto.Builder builderForValue)
       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;
    • mergeLinMax

      public ConstraintProto.Builder mergeLinMax(LinearArgumentProto value)
       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;
    • clearLinMax

      public ConstraintProto.Builder clearLinMax()
       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;
    • getLinMaxBuilder

      public LinearArgumentProto.Builder getLinMaxBuilder()
       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;
    • 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.
    • setLinear

       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
    • setLinear

      public ConstraintProto.Builder setLinear(LinearConstraintProto.Builder builderForValue)
       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
    • mergeLinear

      public ConstraintProto.Builder mergeLinear(LinearConstraintProto value)
       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
    • clearLinear

      public ConstraintProto.Builder clearLinear()
       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
    • getLinearBuilder

      public LinearConstraintProto.Builder getLinearBuilder()
       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
    • getLinearOrBuilder

      public LinearConstraintProtoOrBuilder getLinearOrBuilder()
       The linear constraint enforces a linear inequality among the variables,
       such as 0 <= x + 2y <= 10.
       
      .operations_research.sat.LinearConstraintProto linear = 12;
      Specified by:
      getLinearOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • getAllDiff

      public AllDifferentConstraintProto getAllDiff()
       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
      Specified by:
      getAllDiff in interface ConstraintProtoOrBuilder
      Returns:
      The allDiff.
    • setAllDiff

       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
    • setAllDiff

      public ConstraintProto.Builder setAllDiff(AllDifferentConstraintProto.Builder builderForValue)
       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
    • mergeAllDiff

       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
    • clearAllDiff

      public ConstraintProto.Builder clearAllDiff()
       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
    • getAllDiffBuilder

      public AllDifferentConstraintProto.Builder getAllDiffBuilder()
       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
    • getAllDiffOrBuilder

      public AllDifferentConstraintProtoOrBuilder getAllDiffOrBuilder()
       The all_diff constraint forces all variables to take different values.
       
      .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
      Specified by:
      getAllDiffOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setElement

       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
    • setElement

      public ConstraintProto.Builder setElement(ElementConstraintProto.Builder builderForValue)
       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
    • mergeElement

      public ConstraintProto.Builder mergeElement(ElementConstraintProto value)
       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
    • clearElement

      public ConstraintProto.Builder clearElement()
       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
    • getElementBuilder

      public ElementConstraintProto.Builder getElementBuilder()
       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
    • getElementOrBuilder

      public ElementConstraintProtoOrBuilder getElementOrBuilder()
       The element constraint forces the variable with the given index
       to be equal to the target.
       
      .operations_research.sat.ElementConstraintProto element = 14;
      Specified by:
      getElementOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setCircuit

       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;
    • setCircuit

      public ConstraintProto.Builder setCircuit(CircuitConstraintProto.Builder builderForValue)
       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;
    • mergeCircuit

      public ConstraintProto.Builder mergeCircuit(CircuitConstraintProto value)
       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;
    • clearCircuit

      public ConstraintProto.Builder clearCircuit()
       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;
    • getCircuitBuilder

      public CircuitConstraintProto.Builder getCircuitBuilder()
       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;
    • getCircuitOrBuilder

      public 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;
      Specified by:
      getCircuitOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • getRoutes

      public RoutesConstraintProto getRoutes()
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
      Specified by:
      getRoutes in interface ConstraintProtoOrBuilder
      Returns:
      The routes.
    • setRoutes

       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
    • setRoutes

      public ConstraintProto.Builder setRoutes(RoutesConstraintProto.Builder builderForValue)
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
    • mergeRoutes

      public ConstraintProto.Builder mergeRoutes(RoutesConstraintProto value)
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
    • clearRoutes

      public ConstraintProto.Builder clearRoutes()
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
    • getRoutesBuilder

      public RoutesConstraintProto.Builder getRoutesBuilder()
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
    • getRoutesOrBuilder

      public RoutesConstraintProtoOrBuilder getRoutesOrBuilder()
       The routes constraint implements the vehicle routing problem.
       
      .operations_research.sat.RoutesConstraintProto routes = 23;
      Specified by:
      getRoutesOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setTable

       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
    • setTable

      public ConstraintProto.Builder setTable(TableConstraintProto.Builder builderForValue)
       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
    • mergeTable

      public ConstraintProto.Builder mergeTable(TableConstraintProto value)
       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
    • clearTable

      public ConstraintProto.Builder clearTable()
       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
    • getTableBuilder

      public TableConstraintProto.Builder getTableBuilder()
       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
    • getTableOrBuilder

      public TableConstraintProtoOrBuilder getTableOrBuilder()
       The table constraint enforces what values a tuple of variables may
       take.
       
      .operations_research.sat.TableConstraintProto table = 16;
      Specified by:
      getTableOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setAutomaton

       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
    • setAutomaton

      public ConstraintProto.Builder setAutomaton(AutomatonConstraintProto.Builder builderForValue)
       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
    • mergeAutomaton

      public ConstraintProto.Builder mergeAutomaton(AutomatonConstraintProto value)
       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
    • clearAutomaton

      public ConstraintProto.Builder clearAutomaton()
       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
    • getAutomatonBuilder

      public AutomatonConstraintProto.Builder getAutomatonBuilder()
       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
    • getAutomatonOrBuilder

      public AutomatonConstraintProtoOrBuilder getAutomatonOrBuilder()
       The automaton constraint forces a sequence of variables to be accepted
       by an automaton.
       
      .operations_research.sat.AutomatonConstraintProto automaton = 17;
      Specified by:
      getAutomatonOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setInverse

       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;
    • setInverse

      public ConstraintProto.Builder setInverse(InverseConstraintProto.Builder builderForValue)
       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;
    • mergeInverse

      public ConstraintProto.Builder mergeInverse(InverseConstraintProto value)
       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;
    • clearInverse

      public ConstraintProto.Builder clearInverse()
       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;
    • getInverseBuilder

      public InverseConstraintProto.Builder getInverseBuilder()
       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;
    • getInverseOrBuilder

      public 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;
      Specified by:
      getInverseOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setReservoir

       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;
    • setReservoir

      public ConstraintProto.Builder setReservoir(ReservoirConstraintProto.Builder builderForValue)
       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;
    • mergeReservoir

      public ConstraintProto.Builder mergeReservoir(ReservoirConstraintProto value)
       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;
    • clearReservoir

      public ConstraintProto.Builder clearReservoir()
       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;
    • getReservoirBuilder

      public ReservoirConstraintProto.Builder getReservoirBuilder()
       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;
    • getReservoirOrBuilder

      public 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;
      Specified by:
      getReservoirOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setInterval

       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
    • setInterval

      public ConstraintProto.Builder setInterval(IntervalConstraintProto.Builder builderForValue)
       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
    • mergeInterval

      public ConstraintProto.Builder mergeInterval(IntervalConstraintProto value)
       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
    • clearInterval

      public ConstraintProto.Builder clearInterval()
       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
    • getIntervalBuilder

      public IntervalConstraintProto.Builder getIntervalBuilder()
       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
    • getIntervalOrBuilder

      public IntervalConstraintProtoOrBuilder getIntervalOrBuilder()
       The interval constraint takes a start, end, and size, and forces
       start + size == end.
       
      .operations_research.sat.IntervalConstraintProto interval = 19;
      Specified by:
      getIntervalOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setNoOverlap

       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;
    • setNoOverlap

      public ConstraintProto.Builder setNoOverlap(NoOverlapConstraintProto.Builder builderForValue)
       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;
    • mergeNoOverlap

      public ConstraintProto.Builder mergeNoOverlap(NoOverlapConstraintProto value)
       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;
    • clearNoOverlap

      public ConstraintProto.Builder clearNoOverlap()
       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;
    • getNoOverlapBuilder

      public NoOverlapConstraintProto.Builder getNoOverlapBuilder()
       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;
    • getNoOverlapOrBuilder

      public 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;
      Specified by:
      getNoOverlapOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • getNoOverlap2D

      public NoOverlap2DConstraintProto getNoOverlap2D()
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
      Specified by:
      getNoOverlap2D in interface ConstraintProtoOrBuilder
      Returns:
      The noOverlap2d.
    • setNoOverlap2D

      public ConstraintProto.Builder setNoOverlap2D(NoOverlap2DConstraintProto value)
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
    • setNoOverlap2D

      public ConstraintProto.Builder setNoOverlap2D(NoOverlap2DConstraintProto.Builder builderForValue)
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
    • mergeNoOverlap2D

      public ConstraintProto.Builder mergeNoOverlap2D(NoOverlap2DConstraintProto value)
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
    • clearNoOverlap2D

      public ConstraintProto.Builder clearNoOverlap2D()
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
    • getNoOverlap2DBuilder

      public NoOverlap2DConstraintProto.Builder getNoOverlap2DBuilder()
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
    • getNoOverlap2DOrBuilder

      public NoOverlap2DConstraintProtoOrBuilder getNoOverlap2DOrBuilder()
       The no_overlap_2d constraint prevents a set of boxes from overlapping.
       
      .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
      Specified by:
      getNoOverlap2DOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setCumulative

      public ConstraintProto.Builder setCumulative(CumulativeConstraintProto value)
       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;
    • setCumulative

      public ConstraintProto.Builder setCumulative(CumulativeConstraintProto.Builder builderForValue)
       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;
    • mergeCumulative

      public ConstraintProto.Builder mergeCumulative(CumulativeConstraintProto value)
       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;
    • clearCumulative

      public ConstraintProto.Builder clearCumulative()
       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;
    • getCumulativeBuilder

      public CumulativeConstraintProto.Builder getCumulativeBuilder()
       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;
    • getCumulativeOrBuilder

      public 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;
      Specified by:
      getCumulativeOrBuilder in interface ConstraintProtoOrBuilder
    • 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.
    • setDummyConstraint

      public ConstraintProto.Builder setDummyConstraint(ListOfVariablesProto value)
       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;
    • setDummyConstraint

      public ConstraintProto.Builder setDummyConstraint(ListOfVariablesProto.Builder builderForValue)
       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;
    • mergeDummyConstraint

      public ConstraintProto.Builder mergeDummyConstraint(ListOfVariablesProto value)
       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;
    • clearDummyConstraint

      public ConstraintProto.Builder clearDummyConstraint()
       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;
    • getDummyConstraintBuilder

      public ListOfVariablesProto.Builder getDummyConstraintBuilder()
       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;
    • getDummyConstraintOrBuilder

      public ListOfVariablesProtoOrBuilder getDummyConstraintOrBuilder()
       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:
      getDummyConstraintOrBuilder in interface ConstraintProtoOrBuilder