Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
com.google.ortools.sat.CpSolverResponseOrBuilder Interface Reference
Inheritance diagram for com.google.ortools.sat.CpSolverResponseOrBuilder:
com.google.ortools.sat.CpSolverResponse com.google.ortools.sat.CpSolverResponse.Builder

Public Member Functions

int getStatusValue ()
 
com.google.ortools.sat.CpSolverStatus getStatus ()
 
java.util.List< java.lang.Long > getSolutionList ()
 
int getSolutionCount ()
 
long getSolution (int index)
 
double getObjectiveValue ()
 
double getBestObjectiveBound ()
 
java.util.List< com.google.ortools.sat.CpSolverSolutiongetAdditionalSolutionsList ()
 
com.google.ortools.sat.CpSolverSolution getAdditionalSolutions (int index)
 
int getAdditionalSolutionsCount ()
 
java.util.List<? extends com.google.ortools.sat.CpSolverSolutionOrBuildergetAdditionalSolutionsOrBuilderList ()
 
com.google.ortools.sat.CpSolverSolutionOrBuilder getAdditionalSolutionsOrBuilder (int index)
 
java.util.List< com.google.ortools.sat.IntegerVariableProtogetTightenedVariablesList ()
 
com.google.ortools.sat.IntegerVariableProto getTightenedVariables (int index)
 
int getTightenedVariablesCount ()
 
java.util.List<? extends com.google.ortools.sat.IntegerVariableProtoOrBuildergetTightenedVariablesOrBuilderList ()
 
com.google.ortools.sat.IntegerVariableProtoOrBuilder getTightenedVariablesOrBuilder (int index)
 
java.util.List< java.lang.Integer > getSufficientAssumptionsForInfeasibilityList ()
 
int getSufficientAssumptionsForInfeasibilityCount ()
 
int getSufficientAssumptionsForInfeasibility (int index)
 
boolean hasIntegerObjective ()
 
com.google.ortools.sat.CpObjectiveProto getIntegerObjective ()
 
com.google.ortools.sat.CpObjectiveProtoOrBuilder getIntegerObjectiveOrBuilder ()
 
long getInnerObjectiveLowerBound ()
 
long getNumIntegers ()
 
long getNumBooleans ()
 
long getNumConflicts ()
 
long getNumBranches ()
 
long getNumBinaryPropagations ()
 
long getNumIntegerPropagations ()
 
long getNumRestarts ()
 
long getNumLpIterations ()
 
double getWallTime ()
 
double getUserTime ()
 
double getDeterministicTime ()
 
double getGapIntegral ()
 
java.lang.String getSolutionInfo ()
 
com.google.protobuf.ByteString getSolutionInfoBytes ()
 
java.lang.String getSolveLog ()
 
com.google.protobuf.ByteString getSolveLogBytes ()
 

Detailed Description

Definition at line 7 of file CpSolverResponseOrBuilder.java.

Member Function Documentation

◆ getAdditionalSolutions()

com.google.ortools.sat.CpSolverSolution com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getAdditionalSolutionsCount()

int com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getAdditionalSolutionsList()

java.util.List< com.google.ortools.sat.CpSolverSolution > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getAdditionalSolutionsOrBuilder()

com.google.ortools.sat.CpSolverSolutionOrBuilder com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getAdditionalSolutionsOrBuilderList()

java.util.List<? extends com.google.ortools.sat.CpSolverSolutionOrBuilder > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getBestObjectiveBound()

double com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The bestObjectiveBound.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getDeterministicTime()

double com.google.ortools.sat.CpSolverResponseOrBuilder.getDeterministicTime ( )

double deterministic_time = 17;

Returns
The deterministicTime.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getGapIntegral()

double com.google.ortools.sat.CpSolverResponseOrBuilder.getGapIntegral ( )
The integral of log(1 + absolute_objective_gap) over time.

double gap_integral = 22;

Returns
The gapIntegral.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getInnerObjectiveLowerBound()

long com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The innerObjectiveLowerBound.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getIntegerObjective()

com.google.ortools.sat.CpObjectiveProto com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The integerObjective.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getIntegerObjectiveOrBuilder()

com.google.ortools.sat.CpObjectiveProtoOrBuilder com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumBinaryPropagations()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumBinaryPropagations ( )

int64 num_binary_propagations = 13;

Returns
The numBinaryPropagations.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumBooleans()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumBooleans ( )

int64 num_booleans = 10;

Returns
The numBooleans.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumBranches()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumBranches ( )

int64 num_branches = 12;

Returns
The numBranches.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumConflicts()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumConflicts ( )

int64 num_conflicts = 11;

Returns
The numConflicts.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumIntegerPropagations()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumIntegerPropagations ( )

int64 num_integer_propagations = 14;

Returns
The numIntegerPropagations.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumIntegers()

long com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The numIntegers.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumLpIterations()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumLpIterations ( )

int64 num_lp_iterations = 25;

Returns
The numLpIterations.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getNumRestarts()

long com.google.ortools.sat.CpSolverResponseOrBuilder.getNumRestarts ( )

int64 num_restarts = 24;

Returns
The numRestarts.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getObjectiveValue()

double com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The objectiveValue.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolution()

long com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Parameters
indexThe index of the element to return.
Returns
The solution at the given index.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolutionCount()

int com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The count of solution.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolutionInfo()

java.lang.String com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The solutionInfo.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolutionInfoBytes()

com.google.protobuf.ByteString com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The bytes for solutionInfo.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolutionList()

java.util.List< java.lang.Long > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
A list containing the solution.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolveLog()

java.lang.String com.google.ortools.sat.CpSolverResponseOrBuilder.getSolveLog ( )
The solve log will be filled if the parameter log_to_response is set to
true.

string solve_log = 26;

Returns
The solveLog.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSolveLogBytes()

com.google.protobuf.ByteString com.google.ortools.sat.CpSolverResponseOrBuilder.getSolveLogBytes ( )
The solve log will be filled if the parameter log_to_response is set to
true.

string solve_log = 26;

Returns
The bytes for solveLog.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getStatus()

com.google.ortools.sat.CpSolverStatus com.google.ortools.sat.CpSolverResponseOrBuilder.getStatus ( )
The status of the solve.

.operations_research.sat.CpSolverStatus status = 1;

Returns
The status.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getStatusValue()

int com.google.ortools.sat.CpSolverResponseOrBuilder.getStatusValue ( )
The status of the solve.

.operations_research.sat.CpSolverStatus status = 1;

Returns
The enum numeric value on the wire for status.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSufficientAssumptionsForInfeasibility()

int com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Parameters
indexThe index of the element to return.
Returns
The sufficientAssumptionsForInfeasibility at the given index.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSufficientAssumptionsForInfeasibilityCount()

int com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
The count of sufficientAssumptionsForInfeasibility.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getSufficientAssumptionsForInfeasibilityList()

java.util.List< java.lang.Integer > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
A list containing the sufficientAssumptionsForInfeasibility.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getTightenedVariables()

com.google.ortools.sat.IntegerVariableProto com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getTightenedVariablesCount()

int com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getTightenedVariablesList()

java.util.List< com.google.ortools.sat.IntegerVariableProto > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getTightenedVariablesOrBuilder()

com.google.ortools.sat.IntegerVariableProtoOrBuilder com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getTightenedVariablesOrBuilderList()

java.util.List<? extends com.google.ortools.sat.IntegerVariableProtoOrBuilder > com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getUserTime()

double com.google.ortools.sat.CpSolverResponseOrBuilder.getUserTime ( )

double user_time = 16;

Returns
The userTime.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ getWallTime()

double com.google.ortools.sat.CpSolverResponseOrBuilder.getWallTime ( )
The time counted from the beginning of the Solve() call.

double wall_time = 15;

Returns
The wallTime.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.

◆ hasIntegerObjective()

boolean com.google.ortools.sat.CpSolverResponseOrBuilder.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;

Returns
Whether the integerObjective field is set.

Implemented in com.google.ortools.sat.CpSolverResponse, and com.google.ortools.sat.CpSolverResponse.Builder.


The documentation for this interface was generated from the following file: