public interface CpModelProtoOrBuilder
extends com.google.protobuf.MessageOrBuilder
Modifier and Type | Method and Description |
---|---|
int |
getAssumptions(int index)
A list of literals.
|
int |
getAssumptionsCount()
A list of literals.
|
java.util.List<java.lang.Integer> |
getAssumptionsList()
A list of literals.
|
ConstraintProto |
getConstraints(int index)
repeated .operations_research.sat.ConstraintProto constraints = 3; |
int |
getConstraintsCount()
repeated .operations_research.sat.ConstraintProto constraints = 3; |
java.util.List<ConstraintProto> |
getConstraintsList()
repeated .operations_research.sat.ConstraintProto constraints = 3; |
ConstraintProtoOrBuilder |
getConstraintsOrBuilder(int index)
repeated .operations_research.sat.ConstraintProto constraints = 3; |
java.util.List<? extends ConstraintProtoOrBuilder> |
getConstraintsOrBuilderList()
repeated .operations_research.sat.ConstraintProto constraints = 3; |
FloatObjectiveProto |
getFloatingPointObjective()
Advanced usage.
|
FloatObjectiveProtoOrBuilder |
getFloatingPointObjectiveOrBuilder()
Advanced usage.
|
java.lang.String |
getName()
For debug/logging only.
|
com.google.protobuf.ByteString |
getNameBytes()
For debug/logging only.
|
CpObjectiveProto |
getObjective()
The objective to minimize.
|
CpObjectiveProtoOrBuilder |
getObjectiveOrBuilder()
The objective to minimize.
|
DecisionStrategyProto |
getSearchStrategy(int index)
Defines the strategy that the solver should follow when the
search_branching parameter is set to FIXED_SEARCH.
|
int |
getSearchStrategyCount()
Defines the strategy that the solver should follow when the
search_branching parameter is set to FIXED_SEARCH.
|
java.util.List<DecisionStrategyProto> |
getSearchStrategyList()
Defines the strategy that the solver should follow when the
search_branching parameter is set to FIXED_SEARCH.
|
DecisionStrategyProtoOrBuilder |
getSearchStrategyOrBuilder(int index)
Defines the strategy that the solver should follow when the
search_branching parameter is set to FIXED_SEARCH.
|
java.util.List<? extends DecisionStrategyProtoOrBuilder> |
getSearchStrategyOrBuilderList()
Defines the strategy that the solver should follow when the
search_branching parameter is set to FIXED_SEARCH.
|
PartialVariableAssignment |
getSolutionHint()
Solution hint.
|
PartialVariableAssignmentOrBuilder |
getSolutionHintOrBuilder()
Solution hint.
|
SymmetryProto |
getSymmetry()
For now, this is not meant to be filled by a client writing a model, but
by our preprocessing step.
|
SymmetryProtoOrBuilder |
getSymmetryOrBuilder()
For now, this is not meant to be filled by a client writing a model, but
by our preprocessing step.
|
IntegerVariableProto |
getVariables(int index)
The associated Protos should be referred by their index in these fields.
|
int |
getVariablesCount()
The associated Protos should be referred by their index in these fields.
|
java.util.List<IntegerVariableProto> |
getVariablesList()
The associated Protos should be referred by their index in these fields.
|
IntegerVariableProtoOrBuilder |
getVariablesOrBuilder(int index)
The associated Protos should be referred by their index in these fields.
|
java.util.List<? extends IntegerVariableProtoOrBuilder> |
getVariablesOrBuilderList()
The associated Protos should be referred by their index in these fields.
|
boolean |
hasFloatingPointObjective()
Advanced usage.
|
boolean |
hasObjective()
The objective to minimize.
|
boolean |
hasSolutionHint()
Solution hint.
|
boolean |
hasSymmetry()
For now, this is not meant to be filled by a client writing a model, but
by our preprocessing step.
|
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
java.lang.String getName()
For debug/logging only. Can be empty.
string name = 1;
com.google.protobuf.ByteString getNameBytes()
For debug/logging only. Can be empty.
string name = 1;
java.util.List<IntegerVariableProto> getVariablesList()
The associated Protos should be referred by their index in these fields.
repeated .operations_research.sat.IntegerVariableProto variables = 2;
IntegerVariableProto getVariables(int index)
The associated Protos should be referred by their index in these fields.
repeated .operations_research.sat.IntegerVariableProto variables = 2;
int getVariablesCount()
The associated Protos should be referred by their index in these fields.
repeated .operations_research.sat.IntegerVariableProto variables = 2;
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;
IntegerVariableProtoOrBuilder getVariablesOrBuilder(int index)
The associated Protos should be referred by their index in these fields.
repeated .operations_research.sat.IntegerVariableProto variables = 2;
java.util.List<ConstraintProto> getConstraintsList()
repeated .operations_research.sat.ConstraintProto constraints = 3;
ConstraintProto getConstraints(int index)
repeated .operations_research.sat.ConstraintProto constraints = 3;
int getConstraintsCount()
repeated .operations_research.sat.ConstraintProto constraints = 3;
java.util.List<? extends ConstraintProtoOrBuilder> getConstraintsOrBuilderList()
repeated .operations_research.sat.ConstraintProto constraints = 3;
ConstraintProtoOrBuilder getConstraintsOrBuilder(int index)
repeated .operations_research.sat.ConstraintProto constraints = 3;
boolean hasObjective()
The objective to minimize. Can be empty for pure decision problems.
.operations_research.sat.CpObjectiveProto objective = 4;
CpObjectiveProto getObjective()
The objective to minimize. Can be empty for pure decision problems.
.operations_research.sat.CpObjectiveProto objective = 4;
CpObjectiveProtoOrBuilder getObjectiveOrBuilder()
The objective to minimize. Can be empty for pure decision problems.
.operations_research.sat.CpObjectiveProto objective = 4;
boolean hasFloatingPointObjective()
Advanced usage. It is invalid to have both an objective and a floating point objective. The objective of the model, in floating point format. The solver will automatically scale this to integer during expansion and thus convert it to a normal CpObjectiveProto. See the mip* parameters to control how this is scaled. In most situation the precision will be good enough, but you can see the logs to see what are the precision guaranteed when this is converted to a fixed point representation. Note that even if the precision is bad, the returned objective_value and best_objective_bound will be computed correctly. So at the end of the solve you can check the gap if you only want precise optimal.
.operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
FloatObjectiveProto getFloatingPointObjective()
Advanced usage. It is invalid to have both an objective and a floating point objective. The objective of the model, in floating point format. The solver will automatically scale this to integer during expansion and thus convert it to a normal CpObjectiveProto. See the mip* parameters to control how this is scaled. In most situation the precision will be good enough, but you can see the logs to see what are the precision guaranteed when this is converted to a fixed point representation. Note that even if the precision is bad, the returned objective_value and best_objective_bound will be computed correctly. So at the end of the solve you can check the gap if you only want precise optimal.
.operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
FloatObjectiveProtoOrBuilder getFloatingPointObjectiveOrBuilder()
Advanced usage. It is invalid to have both an objective and a floating point objective. The objective of the model, in floating point format. The solver will automatically scale this to integer during expansion and thus convert it to a normal CpObjectiveProto. See the mip* parameters to control how this is scaled. In most situation the precision will be good enough, but you can see the logs to see what are the precision guaranteed when this is converted to a fixed point representation. Note that even if the precision is bad, the returned objective_value and best_objective_bound will be computed correctly. So at the end of the solve you can check the gap if you only want precise optimal.
.operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
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. Currently, we will set them to their lower bound in the solution.
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
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. Currently, we will set them to their lower bound in the solution.
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
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. Currently, we will set them to their lower bound in the solution.
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
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. Currently, we will set them to their lower bound in the solution.
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
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. Currently, we will set them to their lower bound in the solution.
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
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;
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;
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;
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 logically 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;
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 logically 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;
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 logically 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;
index
- The index of the element to return.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;
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;
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;
Copyright © 2025. All rights reserved.