Interface CpModelProtoOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
CpModelProto, CpModelProto.Builder

public interface CpModelProtoOrBuilder
extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • getName

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

      com.google.protobuf.ByteString getNameBytes()
       For debug/logging only. Can be empty.
       
      string name = 1;
      Returns:
      The bytes for name.
    • getVariablesList

      java.util.List<IntegerVariableProto> getVariablesList()
       The associated Protos should be referred by their index in these fields.
       
      repeated .operations_research.sat.IntegerVariableProto variables = 2;
    • getVariables

      IntegerVariableProto getVariables​(int index)
       The associated Protos should be referred by their index in these fields.
       
      repeated .operations_research.sat.IntegerVariableProto variables = 2;
    • getVariablesCount

      int getVariablesCount()
       The associated Protos should be referred by their index in these fields.
       
      repeated .operations_research.sat.IntegerVariableProto variables = 2;
    • getVariablesOrBuilderList

      java.util.List<? extends IntegerVariableProtoOrBuilder> getVariablesOrBuilderList()
       The associated Protos should be referred by their index in these fields.
       
      repeated .operations_research.sat.IntegerVariableProto variables = 2;
    • getVariablesOrBuilder

      IntegerVariableProtoOrBuilder getVariablesOrBuilder​(int index)
       The associated Protos should be referred by their index in these fields.
       
      repeated .operations_research.sat.IntegerVariableProto variables = 2;
    • getConstraintsList

      java.util.List<ConstraintProto> getConstraintsList()
      repeated .operations_research.sat.ConstraintProto constraints = 3;
    • getConstraints

      ConstraintProto getConstraints​(int index)
      repeated .operations_research.sat.ConstraintProto constraints = 3;
    • getConstraintsCount

      int getConstraintsCount()
      repeated .operations_research.sat.ConstraintProto constraints = 3;
    • getConstraintsOrBuilderList

      java.util.List<? extends ConstraintProtoOrBuilder> getConstraintsOrBuilderList()
      repeated .operations_research.sat.ConstraintProto constraints = 3;
    • getConstraintsOrBuilder

      ConstraintProtoOrBuilder getConstraintsOrBuilder​(int index)
      repeated .operations_research.sat.ConstraintProto constraints = 3;
    • hasObjective

      boolean hasObjective()
       The objective to minimize. Can be empty for pure decision problems.
       
      .operations_research.sat.CpObjectiveProto objective = 4;
      Returns:
      Whether the objective field is set.
    • getObjective

      CpObjectiveProto getObjective()
       The objective to minimize. Can be empty for pure decision problems.
       
      .operations_research.sat.CpObjectiveProto objective = 4;
      Returns:
      The objective.
    • getObjectiveOrBuilder

      CpObjectiveProtoOrBuilder getObjectiveOrBuilder()
       The objective to minimize. Can be empty for pure decision problems.
       
      .operations_research.sat.CpObjectiveProto objective = 4;
    • getSearchStrategyList

      java.util.List<DecisionStrategyProto> getSearchStrategyList()
       Defines the strategy that the solver should follow when the
       search_branching parameter is set to FIXED_SEARCH. Note that this strategy
       is also used as a heuristic when we are not in fixed search.
       Advanced Usage: if not all variables appears and the parameter
       "instantiate_all_variables" is set to false, then the solver will not try
       to instantiate the variables that do not appear. Thus, at the end of the
       search, not all variables may be fixed and this is why we have the
       solution_lower_bounds and solution_upper_bounds fields in the
       CpSolverResponse.
       
      repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
    • getSearchStrategy

      DecisionStrategyProto getSearchStrategy​(int index)
       Defines the strategy that the solver should follow when the
       search_branching parameter is set to FIXED_SEARCH. Note that this strategy
       is also used as a heuristic when we are not in fixed search.
       Advanced Usage: if not all variables appears and the parameter
       "instantiate_all_variables" is set to false, then the solver will not try
       to instantiate the variables that do not appear. Thus, at the end of the
       search, not all variables may be fixed and this is why we have the
       solution_lower_bounds and solution_upper_bounds fields in the
       CpSolverResponse.
       
      repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
    • getSearchStrategyCount

      int getSearchStrategyCount()
       Defines the strategy that the solver should follow when the
       search_branching parameter is set to FIXED_SEARCH. Note that this strategy
       is also used as a heuristic when we are not in fixed search.
       Advanced Usage: if not all variables appears and the parameter
       "instantiate_all_variables" is set to false, then the solver will not try
       to instantiate the variables that do not appear. Thus, at the end of the
       search, not all variables may be fixed and this is why we have the
       solution_lower_bounds and solution_upper_bounds fields in the
       CpSolverResponse.
       
      repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
    • getSearchStrategyOrBuilderList

      java.util.List<? extends DecisionStrategyProtoOrBuilder> getSearchStrategyOrBuilderList()
       Defines the strategy that the solver should follow when the
       search_branching parameter is set to FIXED_SEARCH. Note that this strategy
       is also used as a heuristic when we are not in fixed search.
       Advanced Usage: if not all variables appears and the parameter
       "instantiate_all_variables" is set to false, then the solver will not try
       to instantiate the variables that do not appear. Thus, at the end of the
       search, not all variables may be fixed and this is why we have the
       solution_lower_bounds and solution_upper_bounds fields in the
       CpSolverResponse.
       
      repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
    • getSearchStrategyOrBuilder

      DecisionStrategyProtoOrBuilder getSearchStrategyOrBuilder​(int index)
       Defines the strategy that the solver should follow when the
       search_branching parameter is set to FIXED_SEARCH. Note that this strategy
       is also used as a heuristic when we are not in fixed search.
       Advanced Usage: if not all variables appears and the parameter
       "instantiate_all_variables" is set to false, then the solver will not try
       to instantiate the variables that do not appear. Thus, at the end of the
       search, not all variables may be fixed and this is why we have the
       solution_lower_bounds and solution_upper_bounds fields in the
       CpSolverResponse.
       
      repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
    • hasSolutionHint

      boolean hasSolutionHint()
       Solution hint.
       If a feasible or almost-feasible solution to the problem is already known,
       it may be helpful to pass it to the solver so that it can be used. The
       solver will try to use this information to create its initial feasible
       solution.
       Note that it may not always be faster to give a hint like this to the
       solver. There is also no guarantee that the solver will use this hint or
       try to return a solution "close" to this assignment in case of multiple
       optimal solutions.
       
      .operations_research.sat.PartialVariableAssignment solution_hint = 6;
      Returns:
      Whether the solutionHint field is set.
    • getSolutionHint

      PartialVariableAssignment getSolutionHint()
       Solution hint.
       If a feasible or almost-feasible solution to the problem is already known,
       it may be helpful to pass it to the solver so that it can be used. The
       solver will try to use this information to create its initial feasible
       solution.
       Note that it may not always be faster to give a hint like this to the
       solver. There is also no guarantee that the solver will use this hint or
       try to return a solution "close" to this assignment in case of multiple
       optimal solutions.
       
      .operations_research.sat.PartialVariableAssignment solution_hint = 6;
      Returns:
      The solutionHint.
    • getSolutionHintOrBuilder

      PartialVariableAssignmentOrBuilder getSolutionHintOrBuilder()
       Solution hint.
       If a feasible or almost-feasible solution to the problem is already known,
       it may be helpful to pass it to the solver so that it can be used. The
       solver will try to use this information to create its initial feasible
       solution.
       Note that it may not always be faster to give a hint like this to the
       solver. There is also no guarantee that the solver will use this hint or
       try to return a solution "close" to this assignment in case of multiple
       optimal solutions.
       
      .operations_research.sat.PartialVariableAssignment solution_hint = 6;
    • getAssumptionsList

      java.util.List<java.lang.Integer> getAssumptionsList()
       A list of literals. The model will be solved assuming all these literals
       are true. Compared to just fixing the domain of these literals, using this
       mechanism is slower but allows in case the model is INFEASIBLE to get a
       potentially small subset of them that can be used to explain the
       infeasibility.
       Think (IIS), except when you are only concerned by the provided
       assumptions. This is powerful as it allows to group a set of logicially
       related constraint under only one enforcement literal which can potentially
       give you a good and interpretable explanation for infeasiblity.
       Such infeasibility explanation will be available in the
       sufficient_assumptions_for_infeasibility response field.
       
      repeated int32 assumptions = 7;
      Returns:
      A list containing the assumptions.
    • getAssumptionsCount

      int getAssumptionsCount()
       A list of literals. The model will be solved assuming all these literals
       are true. Compared to just fixing the domain of these literals, using this
       mechanism is slower but allows in case the model is INFEASIBLE to get a
       potentially small subset of them that can be used to explain the
       infeasibility.
       Think (IIS), except when you are only concerned by the provided
       assumptions. This is powerful as it allows to group a set of logicially
       related constraint under only one enforcement literal which can potentially
       give you a good and interpretable explanation for infeasiblity.
       Such infeasibility explanation will be available in the
       sufficient_assumptions_for_infeasibility response field.
       
      repeated int32 assumptions = 7;
      Returns:
      The count of assumptions.
    • getAssumptions

      int getAssumptions​(int index)
       A list of literals. The model will be solved assuming all these literals
       are true. Compared to just fixing the domain of these literals, using this
       mechanism is slower but allows in case the model is INFEASIBLE to get a
       potentially small subset of them that can be used to explain the
       infeasibility.
       Think (IIS), except when you are only concerned by the provided
       assumptions. This is powerful as it allows to group a set of logicially
       related constraint under only one enforcement literal which can potentially
       give you a good and interpretable explanation for infeasiblity.
       Such infeasibility explanation will be available in the
       sufficient_assumptions_for_infeasibility response field.
       
      repeated int32 assumptions = 7;
      Parameters:
      index - The index of the element to return.
      Returns:
      The assumptions at the given index.
    • hasSymmetry

      boolean hasSymmetry()
       For now, this is not meant to be filled by a client writing a model, but
       by our preprocessing step.
       Information about the symmetries of the feasible solution space.
       These usually leaves the objective invariant.
       
      .operations_research.sat.SymmetryProto symmetry = 8;
      Returns:
      Whether the symmetry field is set.
    • getSymmetry

      SymmetryProto getSymmetry()
       For now, this is not meant to be filled by a client writing a model, but
       by our preprocessing step.
       Information about the symmetries of the feasible solution space.
       These usually leaves the objective invariant.
       
      .operations_research.sat.SymmetryProto symmetry = 8;
      Returns:
      The symmetry.
    • getSymmetryOrBuilder

      SymmetryProtoOrBuilder getSymmetryOrBuilder()
       For now, this is not meant to be filled by a client writing a model, but
       by our preprocessing step.
       Information about the symmetries of the feasible solution space.
       These usually leaves the objective invariant.
       
      .operations_research.sat.SymmetryProto symmetry = 8;