Package com.google.ortools.sat
Class CpSolverResponse
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessageV3
-
- com.google.ortools.sat.CpSolverResponse
-
- All Implemented Interfaces:
CpSolverResponseOrBuilder,com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,java.io.Serializable
public final class CpSolverResponse extends com.google.protobuf.GeneratedMessageV3 implements CpSolverResponseOrBuilder
The response returned by a solver trying to solve a CpModelProto. Next id: 31
Protobuf typeoperations_research.sat.CpSolverResponse- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCpSolverResponse.BuilderThe response returned by a solver trying to solve a CpModelProto.-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description static intADDITIONAL_SOLUTIONS_FIELD_NUMBERstatic intBEST_OBJECTIVE_BOUND_FIELD_NUMBERstatic intDETERMINISTIC_TIME_FIELD_NUMBERstatic intGAP_INTEGRAL_FIELD_NUMBERstatic intINNER_OBJECTIVE_LOWER_BOUND_FIELD_NUMBERstatic intINTEGER_OBJECTIVE_FIELD_NUMBERstatic intNUM_BINARY_PROPAGATIONS_FIELD_NUMBERstatic intNUM_BOOLEANS_FIELD_NUMBERstatic intNUM_BRANCHES_FIELD_NUMBERstatic intNUM_CONFLICTS_FIELD_NUMBERstatic intNUM_INTEGER_PROPAGATIONS_FIELD_NUMBERstatic intNUM_INTEGERS_FIELD_NUMBERstatic intNUM_LP_ITERATIONS_FIELD_NUMBERstatic intNUM_RESTARTS_FIELD_NUMBERstatic intOBJECTIVE_VALUE_FIELD_NUMBERstatic intSOLUTION_FIELD_NUMBERstatic intSOLUTION_INFO_FIELD_NUMBERstatic intSOLVE_LOG_FIELD_NUMBERstatic intSTATUS_FIELD_NUMBERstatic intSUFFICIENT_ASSUMPTIONS_FOR_INFEASIBILITY_FIELD_NUMBERstatic intTIGHTENED_VARIABLES_FIELD_NUMBERstatic intUSER_TIME_FIELD_NUMBERstatic intWALL_TIME_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)CpSolverSolutiongetAdditionalSolutions(int index)If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.intgetAdditionalSolutionsCount()If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.java.util.List<CpSolverSolution>getAdditionalSolutionsList()If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.CpSolverSolutionOrBuildergetAdditionalSolutionsOrBuilder(int index)If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.java.util.List<? extends CpSolverSolutionOrBuilder>getAdditionalSolutionsOrBuilderList()If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.doublegetBestObjectiveBound()Only make sense for an optimization problem.static CpSolverResponsegetDefaultInstance()CpSolverResponsegetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()doublegetDeterministicTime()double deterministic_time = 17;doublegetGapIntegral()The integral of log(1 + absolute_objective_gap) over time.longgetInnerObjectiveLowerBound()Advanced usage.CpObjectiveProtogetIntegerObjective()Contains the integer objective optimized internally.CpObjectiveProtoOrBuildergetIntegerObjectiveOrBuilder()Contains the integer objective optimized internally.longgetNumBinaryPropagations()int64 num_binary_propagations = 13;longgetNumBooleans()int64 num_booleans = 10;longgetNumBranches()int64 num_branches = 12;longgetNumConflicts()int64 num_conflicts = 11;longgetNumIntegerPropagations()int64 num_integer_propagations = 14;longgetNumIntegers()Some statistics about the solve.longgetNumLpIterations()int64 num_lp_iterations = 25;longgetNumRestarts()int64 num_restarts = 24;doublegetObjectiveValue()Only make sense for an optimization problem.com.google.protobuf.Parser<CpSolverResponse>getParserForType()intgetSerializedSize()longgetSolution(int index)A feasible solution to the given problem.intgetSolutionCount()A feasible solution to the given problem.java.lang.StringgetSolutionInfo()Additional information about how the solution was found.com.google.protobuf.ByteStringgetSolutionInfoBytes()Additional information about how the solution was found.java.util.List<java.lang.Long>getSolutionList()A feasible solution to the given problem.java.lang.StringgetSolveLog()The solve log will be filled if the parameter log_to_response is set to true.com.google.protobuf.ByteStringgetSolveLogBytes()The solve log will be filled if the parameter log_to_response is set to true.CpSolverStatusgetStatus()The status of the solve.intgetStatusValue()The status of the solve.intgetSufficientAssumptionsForInfeasibility(int index)A subset of the model "assumptions" field.intgetSufficientAssumptionsForInfeasibilityCount()A subset of the model "assumptions" field.java.util.List<java.lang.Integer>getSufficientAssumptionsForInfeasibilityList()A subset of the model "assumptions" field.IntegerVariableProtogetTightenedVariables(int index)Advanced usage.intgetTightenedVariablesCount()Advanced usage.java.util.List<IntegerVariableProto>getTightenedVariablesList()Advanced usage.IntegerVariableProtoOrBuildergetTightenedVariablesOrBuilder(int index)Advanced usage.java.util.List<? extends IntegerVariableProtoOrBuilder>getTightenedVariablesOrBuilderList()Advanced usage.doublegetUserTime()double user_time = 16;doublegetWallTime()The time counted from the beginning of the Solve() call.inthashCode()booleanhasIntegerObjective()Contains the integer objective optimized internally.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static CpSolverResponse.BuildernewBuilder()static CpSolverResponse.BuildernewBuilder(CpSolverResponse prototype)CpSolverResponse.BuildernewBuilderForType()protected CpSolverResponse.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected java.lang.ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static CpSolverResponseparseDelimitedFrom(java.io.InputStream input)static CpSolverResponseparseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CpSolverResponseparseFrom(byte[] data)static CpSolverResponseparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CpSolverResponseparseFrom(com.google.protobuf.ByteString data)static CpSolverResponseparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CpSolverResponseparseFrom(com.google.protobuf.CodedInputStream input)static CpSolverResponseparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CpSolverResponseparseFrom(java.io.InputStream input)static CpSolverResponseparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CpSolverResponseparseFrom(java.nio.ByteBuffer data)static CpSolverResponseparseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<CpSolverResponse>parser()CpSolverResponse.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
STATUS_FIELD_NUMBER
public static final int STATUS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SOLUTION_FIELD_NUMBER
public static final int SOLUTION_FIELD_NUMBER
- See Also:
- Constant Field Values
-
OBJECTIVE_VALUE_FIELD_NUMBER
public static final int OBJECTIVE_VALUE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
BEST_OBJECTIVE_BOUND_FIELD_NUMBER
public static final int BEST_OBJECTIVE_BOUND_FIELD_NUMBER
- See Also:
- Constant Field Values
-
ADDITIONAL_SOLUTIONS_FIELD_NUMBER
public static final int ADDITIONAL_SOLUTIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
TIGHTENED_VARIABLES_FIELD_NUMBER
public static final int TIGHTENED_VARIABLES_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SUFFICIENT_ASSUMPTIONS_FOR_INFEASIBILITY_FIELD_NUMBER
public static final int SUFFICIENT_ASSUMPTIONS_FOR_INFEASIBILITY_FIELD_NUMBER
- See Also:
- Constant Field Values
-
INTEGER_OBJECTIVE_FIELD_NUMBER
public static final int INTEGER_OBJECTIVE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
INNER_OBJECTIVE_LOWER_BOUND_FIELD_NUMBER
public static final int INNER_OBJECTIVE_LOWER_BOUND_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_INTEGERS_FIELD_NUMBER
public static final int NUM_INTEGERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_BOOLEANS_FIELD_NUMBER
public static final int NUM_BOOLEANS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_CONFLICTS_FIELD_NUMBER
public static final int NUM_CONFLICTS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_BRANCHES_FIELD_NUMBER
public static final int NUM_BRANCHES_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_BINARY_PROPAGATIONS_FIELD_NUMBER
public static final int NUM_BINARY_PROPAGATIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_INTEGER_PROPAGATIONS_FIELD_NUMBER
public static final int NUM_INTEGER_PROPAGATIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_RESTARTS_FIELD_NUMBER
public static final int NUM_RESTARTS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
NUM_LP_ITERATIONS_FIELD_NUMBER
public static final int NUM_LP_ITERATIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
WALL_TIME_FIELD_NUMBER
public static final int WALL_TIME_FIELD_NUMBER
- See Also:
- Constant Field Values
-
USER_TIME_FIELD_NUMBER
public static final int USER_TIME_FIELD_NUMBER
- See Also:
- Constant Field Values
-
DETERMINISTIC_TIME_FIELD_NUMBER
public static final int DETERMINISTIC_TIME_FIELD_NUMBER
- See Also:
- Constant Field Values
-
GAP_INTEGRAL_FIELD_NUMBER
public static final int GAP_INTEGRAL_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SOLUTION_INFO_FIELD_NUMBER
public static final int SOLUTION_INFO_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SOLVE_LOG_FIELD_NUMBER
public static final int SOLVE_LOG_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected java.lang.Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getStatusValue
public int getStatusValue()
The status of the solve.
.operations_research.sat.CpSolverStatus status = 1;- Specified by:
getStatusValuein interfaceCpSolverResponseOrBuilder- Returns:
- The enum numeric value on the wire for status.
-
getStatus
public CpSolverStatus getStatus()
The status of the solve.
.operations_research.sat.CpSolverStatus status = 1;- Specified by:
getStatusin interfaceCpSolverResponseOrBuilder- Returns:
- The status.
-
getSolutionList
public java.util.List<java.lang.Long> getSolutionList()
A feasible solution to the given problem. Depending on the returned status it may be optimal or just feasible. This is in one-to-one correspondence with a CpModelProto::variables repeated field and list the values of all the variables.
repeated int64 solution = 2;- Specified by:
getSolutionListin interfaceCpSolverResponseOrBuilder- Returns:
- A list containing the solution.
-
getSolutionCount
public int getSolutionCount()
A feasible solution to the given problem. Depending on the returned status it may be optimal or just feasible. This is in one-to-one correspondence with a CpModelProto::variables repeated field and list the values of all the variables.
repeated int64 solution = 2;- Specified by:
getSolutionCountin interfaceCpSolverResponseOrBuilder- Returns:
- The count of solution.
-
getSolution
public long getSolution(int index)
A feasible solution to the given problem. Depending on the returned status it may be optimal or just feasible. This is in one-to-one correspondence with a CpModelProto::variables repeated field and list the values of all the variables.
repeated int64 solution = 2;- Specified by:
getSolutionin interfaceCpSolverResponseOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The solution at the given index.
-
getObjectiveValue
public double getObjectiveValue()
Only make sense for an optimization problem. The objective value of the returned solution if it is non-empty. If there is no solution, then for a minimization problem, this will be an upper-bound of the objective of any feasible solution, and a lower-bound for a maximization problem.
double objective_value = 3;- Specified by:
getObjectiveValuein interfaceCpSolverResponseOrBuilder- Returns:
- The objectiveValue.
-
getBestObjectiveBound
public double getBestObjectiveBound()
Only make sense for an optimization problem. A proven lower-bound on the objective for a minimization problem, or a proven upper-bound for a maximization problem.
double best_objective_bound = 4;- Specified by:
getBestObjectiveBoundin interfaceCpSolverResponseOrBuilder- Returns:
- The bestObjectiveBound.
-
getAdditionalSolutionsList
public java.util.List<CpSolverSolution> getAdditionalSolutionsList()
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. Note that the one returned in the solution field will likely appear here too. Do not rely on the solutions order as it depends on our internal representation (after postsolve).
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;- Specified by:
getAdditionalSolutionsListin interfaceCpSolverResponseOrBuilder
-
getAdditionalSolutionsOrBuilderList
public java.util.List<? extends CpSolverSolutionOrBuilder> getAdditionalSolutionsOrBuilderList()
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. Note that the one returned in the solution field will likely appear here too. Do not rely on the solutions order as it depends on our internal representation (after postsolve).
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;- Specified by:
getAdditionalSolutionsOrBuilderListin interfaceCpSolverResponseOrBuilder
-
getAdditionalSolutionsCount
public int getAdditionalSolutionsCount()
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. Note that the one returned in the solution field will likely appear here too. Do not rely on the solutions order as it depends on our internal representation (after postsolve).
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;- Specified by:
getAdditionalSolutionsCountin interfaceCpSolverResponseOrBuilder
-
getAdditionalSolutions
public CpSolverSolution getAdditionalSolutions(int index)
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. Note that the one returned in the solution field will likely appear here too. Do not rely on the solutions order as it depends on our internal representation (after postsolve).
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;- Specified by:
getAdditionalSolutionsin interfaceCpSolverResponseOrBuilder
-
getAdditionalSolutionsOrBuilder
public CpSolverSolutionOrBuilder getAdditionalSolutionsOrBuilder(int index)
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. Note that the one returned in the solution field will likely appear here too. Do not rely on the solutions order as it depends on our internal representation (after postsolve).
repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;- Specified by:
getAdditionalSolutionsOrBuilderin interfaceCpSolverResponseOrBuilder
-
getTightenedVariablesList
public java.util.List<IntegerVariableProto> getTightenedVariablesList()
Advanced usage. If the option fill_tightened_domains_in_response is set, then this field will be a copy of the CpModelProto.variables where each domain has been reduced using the information the solver was able to derive. Note that this is only filled with the info derived during a normal search and we do not have any dedicated algorithm to improve it. If the problem is a feasibility problem, then these bounds will be valid for any feasible solution. If the problem is an optimization problem, then these bounds will only be valid for any OPTIMAL solutions, it can exclude sub-optimal feasible ones.
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;- Specified by:
getTightenedVariablesListin interfaceCpSolverResponseOrBuilder
-
getTightenedVariablesOrBuilderList
public java.util.List<? extends IntegerVariableProtoOrBuilder> getTightenedVariablesOrBuilderList()
Advanced usage. If the option fill_tightened_domains_in_response is set, then this field will be a copy of the CpModelProto.variables where each domain has been reduced using the information the solver was able to derive. Note that this is only filled with the info derived during a normal search and we do not have any dedicated algorithm to improve it. If the problem is a feasibility problem, then these bounds will be valid for any feasible solution. If the problem is an optimization problem, then these bounds will only be valid for any OPTIMAL solutions, it can exclude sub-optimal feasible ones.
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;- Specified by:
getTightenedVariablesOrBuilderListin interfaceCpSolverResponseOrBuilder
-
getTightenedVariablesCount
public int getTightenedVariablesCount()
Advanced usage. If the option fill_tightened_domains_in_response is set, then this field will be a copy of the CpModelProto.variables where each domain has been reduced using the information the solver was able to derive. Note that this is only filled with the info derived during a normal search and we do not have any dedicated algorithm to improve it. If the problem is a feasibility problem, then these bounds will be valid for any feasible solution. If the problem is an optimization problem, then these bounds will only be valid for any OPTIMAL solutions, it can exclude sub-optimal feasible ones.
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;- Specified by:
getTightenedVariablesCountin interfaceCpSolverResponseOrBuilder
-
getTightenedVariables
public IntegerVariableProto getTightenedVariables(int index)
Advanced usage. If the option fill_tightened_domains_in_response is set, then this field will be a copy of the CpModelProto.variables where each domain has been reduced using the information the solver was able to derive. Note that this is only filled with the info derived during a normal search and we do not have any dedicated algorithm to improve it. If the problem is a feasibility problem, then these bounds will be valid for any feasible solution. If the problem is an optimization problem, then these bounds will only be valid for any OPTIMAL solutions, it can exclude sub-optimal feasible ones.
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;- Specified by:
getTightenedVariablesin interfaceCpSolverResponseOrBuilder
-
getTightenedVariablesOrBuilder
public IntegerVariableProtoOrBuilder getTightenedVariablesOrBuilder(int index)
Advanced usage. If the option fill_tightened_domains_in_response is set, then this field will be a copy of the CpModelProto.variables where each domain has been reduced using the information the solver was able to derive. Note that this is only filled with the info derived during a normal search and we do not have any dedicated algorithm to improve it. If the problem is a feasibility problem, then these bounds will be valid for any feasible solution. If the problem is an optimization problem, then these bounds will only be valid for any OPTIMAL solutions, it can exclude sub-optimal feasible ones.
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;- Specified by:
getTightenedVariablesOrBuilderin interfaceCpSolverResponseOrBuilder
-
getSufficientAssumptionsForInfeasibilityList
public java.util.List<java.lang.Integer> getSufficientAssumptionsForInfeasibilityList()
A subset of the model "assumptions" field. This will only be filled if the status is INFEASIBLE. This subset of assumption will be enough to still get an infeasible problem. This is related to what is called the irreducible inconsistent subsystem or IIS. Except one is only concerned by the provided assumptions. There is also no guarantee that we return an irreducible (aka minimal subset). However, this is based on SAT explanation and there is a good chance it is not too large. If you really want a minimal subset, a possible way to get one is by changing your model to minimize the number of assumptions at false, but this is likely an harder problem to solve. Important: Currently, this is minimized only in single-thread and if the problem is not an optimization problem, otherwise, it will always include all the assumptions. TODO(user): Allows for returning multiple core at once.
repeated int32 sufficient_assumptions_for_infeasibility = 23;- Specified by:
getSufficientAssumptionsForInfeasibilityListin interfaceCpSolverResponseOrBuilder- Returns:
- A list containing the sufficientAssumptionsForInfeasibility.
-
getSufficientAssumptionsForInfeasibilityCount
public int getSufficientAssumptionsForInfeasibilityCount()
A subset of the model "assumptions" field. This will only be filled if the status is INFEASIBLE. This subset of assumption will be enough to still get an infeasible problem. This is related to what is called the irreducible inconsistent subsystem or IIS. Except one is only concerned by the provided assumptions. There is also no guarantee that we return an irreducible (aka minimal subset). However, this is based on SAT explanation and there is a good chance it is not too large. If you really want a minimal subset, a possible way to get one is by changing your model to minimize the number of assumptions at false, but this is likely an harder problem to solve. Important: Currently, this is minimized only in single-thread and if the problem is not an optimization problem, otherwise, it will always include all the assumptions. TODO(user): Allows for returning multiple core at once.
repeated int32 sufficient_assumptions_for_infeasibility = 23;- Specified by:
getSufficientAssumptionsForInfeasibilityCountin interfaceCpSolverResponseOrBuilder- Returns:
- The count of sufficientAssumptionsForInfeasibility.
-
getSufficientAssumptionsForInfeasibility
public int getSufficientAssumptionsForInfeasibility(int index)
A subset of the model "assumptions" field. This will only be filled if the status is INFEASIBLE. This subset of assumption will be enough to still get an infeasible problem. This is related to what is called the irreducible inconsistent subsystem or IIS. Except one is only concerned by the provided assumptions. There is also no guarantee that we return an irreducible (aka minimal subset). However, this is based on SAT explanation and there is a good chance it is not too large. If you really want a minimal subset, a possible way to get one is by changing your model to minimize the number of assumptions at false, but this is likely an harder problem to solve. Important: Currently, this is minimized only in single-thread and if the problem is not an optimization problem, otherwise, it will always include all the assumptions. TODO(user): Allows for returning multiple core at once.
repeated int32 sufficient_assumptions_for_infeasibility = 23;- Specified by:
getSufficientAssumptionsForInfeasibilityin interfaceCpSolverResponseOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The sufficientAssumptionsForInfeasibility at the given index.
-
hasIntegerObjective
public boolean hasIntegerObjective()
Contains the integer objective optimized internally. This is only filled if the problem had a floating point objective, and on the final response, not the ones given to callbacks.
.operations_research.sat.CpObjectiveProto integer_objective = 28;- Specified by:
hasIntegerObjectivein interfaceCpSolverResponseOrBuilder- Returns:
- Whether the integerObjective field is set.
-
getIntegerObjective
public CpObjectiveProto getIntegerObjective()
Contains the integer objective optimized internally. This is only filled if the problem had a floating point objective, and on the final response, not the ones given to callbacks.
.operations_research.sat.CpObjectiveProto integer_objective = 28;- Specified by:
getIntegerObjectivein interfaceCpSolverResponseOrBuilder- Returns:
- The integerObjective.
-
getIntegerObjectiveOrBuilder
public CpObjectiveProtoOrBuilder getIntegerObjectiveOrBuilder()
Contains the integer objective optimized internally. This is only filled if the problem had a floating point objective, and on the final response, not the ones given to callbacks.
.operations_research.sat.CpObjectiveProto integer_objective = 28;- Specified by:
getIntegerObjectiveOrBuilderin interfaceCpSolverResponseOrBuilder
-
getInnerObjectiveLowerBound
public long getInnerObjectiveLowerBound()
Advanced usage. A lower bound on the inner integer expression of the objective. This is either a bound on the expression in the returned integer_objective or on the integer expression of the original objective if the problem already has an integer objective.
int64 inner_objective_lower_bound = 29;- Specified by:
getInnerObjectiveLowerBoundin interfaceCpSolverResponseOrBuilder- Returns:
- The innerObjectiveLowerBound.
-
getNumIntegers
public long getNumIntegers()
Some statistics about the solve. Important: in multithread, this correspond the statistics of the first subsolver. Which is usually the one with the user defined parameters. Or the default-search if none are specified.
int64 num_integers = 30;- Specified by:
getNumIntegersin interfaceCpSolverResponseOrBuilder- Returns:
- The numIntegers.
-
getNumBooleans
public long getNumBooleans()
int64 num_booleans = 10;- Specified by:
getNumBooleansin interfaceCpSolverResponseOrBuilder- Returns:
- The numBooleans.
-
getNumConflicts
public long getNumConflicts()
int64 num_conflicts = 11;- Specified by:
getNumConflictsin interfaceCpSolverResponseOrBuilder- Returns:
- The numConflicts.
-
getNumBranches
public long getNumBranches()
int64 num_branches = 12;- Specified by:
getNumBranchesin interfaceCpSolverResponseOrBuilder- Returns:
- The numBranches.
-
getNumBinaryPropagations
public long getNumBinaryPropagations()
int64 num_binary_propagations = 13;- Specified by:
getNumBinaryPropagationsin interfaceCpSolverResponseOrBuilder- Returns:
- The numBinaryPropagations.
-
getNumIntegerPropagations
public long getNumIntegerPropagations()
int64 num_integer_propagations = 14;- Specified by:
getNumIntegerPropagationsin interfaceCpSolverResponseOrBuilder- Returns:
- The numIntegerPropagations.
-
getNumRestarts
public long getNumRestarts()
int64 num_restarts = 24;- Specified by:
getNumRestartsin interfaceCpSolverResponseOrBuilder- Returns:
- The numRestarts.
-
getNumLpIterations
public long getNumLpIterations()
int64 num_lp_iterations = 25;- Specified by:
getNumLpIterationsin interfaceCpSolverResponseOrBuilder- Returns:
- The numLpIterations.
-
getWallTime
public double getWallTime()
The time counted from the beginning of the Solve() call.
double wall_time = 15;- Specified by:
getWallTimein interfaceCpSolverResponseOrBuilder- Returns:
- The wallTime.
-
getUserTime
public double getUserTime()
double user_time = 16;- Specified by:
getUserTimein interfaceCpSolverResponseOrBuilder- Returns:
- The userTime.
-
getDeterministicTime
public double getDeterministicTime()
double deterministic_time = 17;- Specified by:
getDeterministicTimein interfaceCpSolverResponseOrBuilder- Returns:
- The deterministicTime.
-
getGapIntegral
public double getGapIntegral()
The integral of log(1 + absolute_objective_gap) over time.
double gap_integral = 22;- Specified by:
getGapIntegralin interfaceCpSolverResponseOrBuilder- Returns:
- The gapIntegral.
-
getSolutionInfo
public java.lang.String getSolutionInfo()
Additional information about how the solution was found. It also stores model or parameters errors that caused the model to be invalid.
string solution_info = 20;- Specified by:
getSolutionInfoin interfaceCpSolverResponseOrBuilder- Returns:
- The solutionInfo.
-
getSolutionInfoBytes
public com.google.protobuf.ByteString getSolutionInfoBytes()
Additional information about how the solution was found. It also stores model or parameters errors that caused the model to be invalid.
string solution_info = 20;- Specified by:
getSolutionInfoBytesin interfaceCpSolverResponseOrBuilder- Returns:
- The bytes for solutionInfo.
-
getSolveLog
public java.lang.String getSolveLog()
The solve log will be filled if the parameter log_to_response is set to true.
string solve_log = 26;- Specified by:
getSolveLogin interfaceCpSolverResponseOrBuilder- Returns:
- The solveLog.
-
getSolveLogBytes
public com.google.protobuf.ByteString getSolveLogBytes()
The solve log will be filled if the parameter log_to_response is set to true.
string solve_log = 26;- Specified by:
getSolveLogBytesin interfaceCpSolverResponseOrBuilder- Returns:
- The bytes for solveLog.
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static CpSolverResponse parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CpSolverResponse parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static CpSolverResponse parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static CpSolverResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static CpSolverResponse parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static CpSolverResponse parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static CpSolverResponse parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public CpSolverResponse.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
public static CpSolverResponse.Builder newBuilder()
-
newBuilder
public static CpSolverResponse.Builder newBuilder(CpSolverResponse prototype)
-
toBuilder
public CpSolverResponse.Builder toBuilder()
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected CpSolverResponse.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
public static CpSolverResponse getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<CpSolverResponse> parser()
-
getParserForType
public com.google.protobuf.Parser<CpSolverResponse> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public CpSolverResponse getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-