![]() |
Google OR-Tools v9.12
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 | NumFixedBooleansFieldNumber = 31 |
Field number for the "num_fixed_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 | NumFixedBooleans [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: 32
Definition at line 9641 of file CpModel.pb.cs.
|
inline |
Definition at line 9666 of file CpModel.pb.cs.
|
inline |
Definition at line 9674 of file CpModel.pb.cs.
|
inline |
Definition at line 10377 of file CpModel.pb.cs.
|
inline |
Definition at line 9704 of file CpModel.pb.cs.
|
inline |
Definition at line 10111 of file CpModel.pb.cs.
|
inline |
Definition at line 10105 of file CpModel.pb.cs.
|
inline |
Definition at line 10147 of file CpModel.pb.cs.
|
inline |
Definition at line 10451 of file CpModel.pb.cs.
|
inline |
Definition at line 10527 of file CpModel.pb.cs.
|
inline |
Definition at line 10181 of file CpModel.pb.cs.
|
inline |
Definition at line 10187 of file CpModel.pb.cs.
|
static |
Field number for the "additional_solutions" field.
Definition at line 9776 of file CpModel.pb.cs.
|
static |
Field number for the "best_objective_bound" field.
Definition at line 9759 of file CpModel.pb.cs.
|
static |
Field number for the "deterministic_time" field.
Definition at line 10045 of file CpModel.pb.cs.
|
static |
Field number for the "gap_integral" field.
Definition at line 10057 of file CpModel.pb.cs.
|
static |
Field number for the "inner_objective_lower_bound" field.
Definition at line 9881 of file CpModel.pb.cs.
|
static |
Field number for the "integer_objective" field.
Definition at line 9864 of file CpModel.pb.cs.
|
static |
Field number for the "num_binary_propagations" field.
Definition at line 9970 of file CpModel.pb.cs.
|
static |
Field number for the "num_booleans" field.
Definition at line 9922 of file CpModel.pb.cs.
|
static |
Field number for the "num_branches" field.
Definition at line 9958 of file CpModel.pb.cs.
|
static |
Field number for the "num_conflicts" field.
Definition at line 9946 of file CpModel.pb.cs.
|
static |
Field number for the "num_fixed_booleans" field.
Definition at line 9934 of file CpModel.pb.cs.
|
static |
Field number for the "num_integer_propagations" field.
Definition at line 9982 of file CpModel.pb.cs.
|
static |
Field number for the "num_integers" field.
Definition at line 9902 of file CpModel.pb.cs.
|
static |
Field number for the "num_lp_iterations" field.
Definition at line 10006 of file CpModel.pb.cs.
|
static |
Field number for the "num_restarts" field.
Definition at line 9994 of file CpModel.pb.cs.
|
static |
Field number for the "objective_value" field.
Definition at line 9741 of file CpModel.pb.cs.
|
static |
Field number for the "solution" field.
Definition at line 9724 of file CpModel.pb.cs.
|
static |
Field number for the "solution_info" field.
Definition at line 10072 of file CpModel.pb.cs.
|
static |
Field number for the "solve_log" field.
Definition at line 10088 of file CpModel.pb.cs.
|
static |
Field number for the "status" field.
Definition at line 9709 of file CpModel.pb.cs.
|
static |
Field number for the "sufficient_assumptions_for_infeasibility" field.
Definition at line 9828 of file CpModel.pb.cs.
|
static |
Field number for the "tightened_variables" field.
Definition at line 9796 of file CpModel.pb.cs.
|
static |
Field number for the "user_time" field.
Definition at line 10033 of file CpModel.pb.cs.
|
static |
Field number for the "wall_time" field.
Definition at line 10018 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 9791 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 9768 of file CpModel.pb.cs.
|
staticget |
Definition at line 9654 of file CpModel.pb.cs.
|
getset |
Definition at line 10049 of file CpModel.pb.cs.
|
getset |
The integral of log(1 + absolute_objective_gap) over time.
Definition at line 10064 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 9894 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 9873 of file CpModel.pb.cs.
|
getset |
Definition at line 9974 of file CpModel.pb.cs.
|
getset |
Definition at line 9926 of file CpModel.pb.cs.
|
getset |
Definition at line 9962 of file CpModel.pb.cs.
|
getset |
Definition at line 9950 of file CpModel.pb.cs.
|
getset |
Definition at line 9938 of file CpModel.pb.cs.
|
getset |
Definition at line 9986 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 9914 of file CpModel.pb.cs.
|
getset |
Definition at line 10010 of file CpModel.pb.cs.
|
getset |
Definition at line 9998 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 9751 of file CpModel.pb.cs.
|
staticget |
Definition at line 9650 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 9736 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 10080 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 10096 of file CpModel.pb.cs.
|
getset |
The status of the solve.
Definition at line 9716 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 9859 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 9823 of file CpModel.pb.cs.
|
getset |
Definition at line 10037 of file CpModel.pb.cs.
|
getset |
The time counted from the beginning of the Solve() call.
Definition at line 10025 of file CpModel.pb.cs.