Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
The response returned by a solver trying to solve a CpModelProto. More...
Public Member Functions | |
CpSolverResponse () | |
CpSolverResponse (CpSolverResponse other) | |
CpSolverResponse | Clone () |
override bool | Equals (object other) |
bool | Equals (CpSolverResponse other) |
override int | GetHashCode () |
override string | ToString () |
void | WriteTo (pb::CodedOutputStream output) |
int | CalculateSize () |
void | MergeFrom (CpSolverResponse other) |
void | MergeFrom (pb::CodedInputStream input) |
Static Public Attributes | |
const int | StatusFieldNumber = 1 |
Field number for the "status" field. | |
const int | SolutionFieldNumber = 2 |
Field number for the "solution" field. | |
const int | ObjectiveValueFieldNumber = 3 |
Field number for the "objective_value" field. | |
const int | BestObjectiveBoundFieldNumber = 4 |
Field number for the "best_objective_bound" field. | |
const int | AdditionalSolutionsFieldNumber = 27 |
Field number for the "additional_solutions" field. | |
const int | TightenedVariablesFieldNumber = 21 |
Field number for the "tightened_variables" field. | |
const int | SufficientAssumptionsForInfeasibilityFieldNumber = 23 |
Field number for the "sufficient_assumptions_for_infeasibility" field. | |
const int | IntegerObjectiveFieldNumber = 28 |
Field number for the "integer_objective" field. | |
const int | InnerObjectiveLowerBoundFieldNumber = 29 |
Field number for the "inner_objective_lower_bound" field. | |
const int | NumIntegersFieldNumber = 30 |
Field number for the "num_integers" field. | |
const int | NumBooleansFieldNumber = 10 |
Field number for the "num_booleans" field. | |
const int | NumConflictsFieldNumber = 11 |
Field number for the "num_conflicts" field. | |
const int | NumBranchesFieldNumber = 12 |
Field number for the "num_branches" field. | |
const int | NumBinaryPropagationsFieldNumber = 13 |
Field number for the "num_binary_propagations" field. | |
const int | NumIntegerPropagationsFieldNumber = 14 |
Field number for the "num_integer_propagations" field. | |
const int | NumRestartsFieldNumber = 24 |
Field number for the "num_restarts" field. | |
const int | NumLpIterationsFieldNumber = 25 |
Field number for the "num_lp_iterations" field. | |
const int | WallTimeFieldNumber = 15 |
Field number for the "wall_time" field. | |
const int | UserTimeFieldNumber = 16 |
Field number for the "user_time" field. | |
const int | DeterministicTimeFieldNumber = 17 |
Field number for the "deterministic_time" field. | |
const int | GapIntegralFieldNumber = 22 |
Field number for the "gap_integral" field. | |
const int | SolutionInfoFieldNumber = 20 |
Field number for the "solution_info" field. | |
const int | SolveLogFieldNumber = 26 |
Field number for the "solve_log" field. | |
Properties | |
static pb::MessageParser< CpSolverResponse > | Parser [get] |
static pbr::MessageDescriptor | Descriptor [get] |
global::Google.OrTools.Sat.CpSolverStatus | Status [get, set] |
The status of the solve. | |
pbc::RepeatedField< long > | Solution [get] |
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. | |
double | ObjectiveValue [get, set] |
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 | BestObjectiveBound [get, set] |
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. | |
pbc::RepeatedField< global::Google.OrTools.Sat.CpSolverSolution > | AdditionalSolutions [get] |
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here. | |
pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > | TightenedVariables [get] |
Advanced usage. | |
pbc::RepeatedField< int > | SufficientAssumptionsForInfeasibility [get] |
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. | |
global::Google.OrTools.Sat.CpObjectiveProto | IntegerObjective [get, set] |
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. | |
long | InnerObjectiveLowerBound [get, set] |
Advanced usage. | |
long | NumIntegers [get, set] |
Some statistics about the solve. | |
long | NumBooleans [get, set] |
long | NumConflicts [get, set] |
long | NumBranches [get, set] |
long | NumBinaryPropagations [get, set] |
long | NumIntegerPropagations [get, set] |
long | NumRestarts [get, set] |
long | NumLpIterations [get, set] |
double | WallTime [get, set] |
The time counted from the beginning of the Solve() call. | |
double | UserTime [get, set] |
double | DeterministicTime [get, set] |
double | GapIntegral [get, set] |
The integral of log(1 + absolute_objective_gap) over time. | |
string | SolutionInfo [get, set] |
Additional information about how the solution was found. It also stores model or parameters errors that caused the model to be invalid. | |
string | SolveLog [get, set] |
The solve log will be filled if the parameter log_to_response is set to true. | |
The response returned by a solver trying to solve a CpModelProto.
Next id: 31
Definition at line 9208 of file CpModel.pb.cs.
|
inline |
Definition at line 9233 of file CpModel.pb.cs.
|
inline |
Definition at line 9241 of file CpModel.pb.cs.
|
inline |
Definition at line 9921 of file CpModel.pb.cs.
|
inline |
Definition at line 9270 of file CpModel.pb.cs.
|
inline |
Definition at line 9665 of file CpModel.pb.cs.
|
inline |
Definition at line 9659 of file CpModel.pb.cs.
|
inline |
Definition at line 9700 of file CpModel.pb.cs.
|
inline |
Definition at line 9992 of file CpModel.pb.cs.
|
inline |
Definition at line 10065 of file CpModel.pb.cs.
|
inline |
Definition at line 9733 of file CpModel.pb.cs.
|
inline |
Definition at line 9739 of file CpModel.pb.cs.
|
static |
Field number for the "additional_solutions" field.
Definition at line 9342 of file CpModel.pb.cs.
|
static |
Field number for the "best_objective_bound" field.
Definition at line 9325 of file CpModel.pb.cs.
|
static |
Field number for the "deterministic_time" field.
Definition at line 9599 of file CpModel.pb.cs.
|
static |
Field number for the "gap_integral" field.
Definition at line 9611 of file CpModel.pb.cs.
|
static |
Field number for the "inner_objective_lower_bound" field.
Definition at line 9447 of file CpModel.pb.cs.
|
static |
Field number for the "integer_objective" field.
Definition at line 9430 of file CpModel.pb.cs.
|
static |
Field number for the "num_binary_propagations" field.
Definition at line 9524 of file CpModel.pb.cs.
|
static |
Field number for the "num_booleans" field.
Definition at line 9488 of file CpModel.pb.cs.
|
static |
Field number for the "num_branches" field.
Definition at line 9512 of file CpModel.pb.cs.
|
static |
Field number for the "num_conflicts" field.
Definition at line 9500 of file CpModel.pb.cs.
|
static |
Field number for the "num_integer_propagations" field.
Definition at line 9536 of file CpModel.pb.cs.
|
static |
Field number for the "num_integers" field.
Definition at line 9468 of file CpModel.pb.cs.
|
static |
Field number for the "num_lp_iterations" field.
Definition at line 9560 of file CpModel.pb.cs.
|
static |
Field number for the "num_restarts" field.
Definition at line 9548 of file CpModel.pb.cs.
|
static |
Field number for the "objective_value" field.
Definition at line 9307 of file CpModel.pb.cs.
|
static |
Field number for the "solution" field.
Definition at line 9290 of file CpModel.pb.cs.
|
static |
Field number for the "solution_info" field.
Definition at line 9626 of file CpModel.pb.cs.
|
static |
Field number for the "solve_log" field.
Definition at line 9642 of file CpModel.pb.cs.
|
static |
Field number for the "status" field.
Definition at line 9275 of file CpModel.pb.cs.
|
static |
Field number for the "sufficient_assumptions_for_infeasibility" field.
Definition at line 9394 of file CpModel.pb.cs.
|
static |
Field number for the "tightened_variables" field.
Definition at line 9362 of file CpModel.pb.cs.
|
static |
Field number for the "user_time" field.
Definition at line 9587 of file CpModel.pb.cs.
|
static |
Field number for the "wall_time" field.
Definition at line 9572 of file CpModel.pb.cs.
|
get |
If the parameter fill_additional_solutions_in_response is set, then we copy all the solutions from our internal solution pool here.
Definition at line 9357 of file CpModel.pb.cs.
|
getset |
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.
Definition at line 9334 of file CpModel.pb.cs.
|
staticget |
Definition at line 9221 of file CpModel.pb.cs.
|
getset |
Definition at line 9603 of file CpModel.pb.cs.
|
getset |
The integral of log(1 + absolute_objective_gap) over time.
Definition at line 9618 of file CpModel.pb.cs.
|
getset |
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.
Definition at line 9460 of file CpModel.pb.cs.
|
getset |
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.
Definition at line 9439 of file CpModel.pb.cs.
|
getset |
Definition at line 9528 of file CpModel.pb.cs.
|
getset |
Definition at line 9492 of file CpModel.pb.cs.
|
getset |
Definition at line 9516 of file CpModel.pb.cs.
|
getset |
Definition at line 9504 of file CpModel.pb.cs.
|
getset |
Definition at line 9540 of file CpModel.pb.cs.
|
getset |
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.
Definition at line 9480 of file CpModel.pb.cs.
|
getset |
Definition at line 9564 of file CpModel.pb.cs.
|
getset |
Definition at line 9552 of file CpModel.pb.cs.
|
getset |
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.
Definition at line 9317 of file CpModel.pb.cs.
|
staticget |
Definition at line 9217 of file CpModel.pb.cs.
|
get |
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.
Definition at line 9302 of file CpModel.pb.cs.
|
getset |
Additional information about how the solution was found. It also stores model or parameters errors that caused the model to be invalid.
Definition at line 9634 of file CpModel.pb.cs.
|
getset |
The solve log will be filled if the parameter log_to_response is set to true.
Definition at line 9650 of file CpModel.pb.cs.
|
getset |
The status of the solve.
Definition at line 9282 of file CpModel.pb.cs.
|
get |
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.
Definition at line 9425 of file CpModel.pb.cs.
|
get |
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.
Definition at line 9389 of file CpModel.pb.cs.
|
getset |
Definition at line 9591 of file CpModel.pb.cs.
|
getset |
The time counted from the beginning of the Solve() call.
Definition at line 9579 of file CpModel.pb.cs.