Google OR-Tools v9.9
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 9916 of file CpModel.pb.cs.
|
inline |
Definition at line 9270 of file CpModel.pb.cs.
|
inline |
Definition at line 9660 of file CpModel.pb.cs.
|
inline |
Definition at line 9654 of file CpModel.pb.cs.
|
inline |
Definition at line 9695 of file CpModel.pb.cs.
|
inline |
Definition at line 9987 of file CpModel.pb.cs.
|
inline |
Definition at line 10060 of file CpModel.pb.cs.
|
inline |
Definition at line 9728 of file CpModel.pb.cs.
|
inline |
Definition at line 9734 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 9594 of file CpModel.pb.cs.
|
static |
Field number for the "gap_integral" field.
Definition at line 9606 of file CpModel.pb.cs.
|
static |
Field number for the "inner_objective_lower_bound" field.
Definition at line 9442 of file CpModel.pb.cs.
|
static |
Field number for the "integer_objective" field.
Definition at line 9425 of file CpModel.pb.cs.
|
static |
Field number for the "num_binary_propagations" field.
Definition at line 9519 of file CpModel.pb.cs.
|
static |
Field number for the "num_booleans" field.
Definition at line 9483 of file CpModel.pb.cs.
|
static |
Field number for the "num_branches" field.
Definition at line 9507 of file CpModel.pb.cs.
|
static |
Field number for the "num_conflicts" field.
Definition at line 9495 of file CpModel.pb.cs.
|
static |
Field number for the "num_integer_propagations" field.
Definition at line 9531 of file CpModel.pb.cs.
|
static |
Field number for the "num_integers" field.
Definition at line 9463 of file CpModel.pb.cs.
|
static |
Field number for the "num_lp_iterations" field.
Definition at line 9555 of file CpModel.pb.cs.
|
static |
Field number for the "num_restarts" field.
Definition at line 9543 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 9621 of file CpModel.pb.cs.
|
static |
Field number for the "solve_log" field.
Definition at line 9637 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 9389 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 9582 of file CpModel.pb.cs.
|
static |
Field number for the "wall_time" field.
Definition at line 9567 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 9598 of file CpModel.pb.cs.
|
getset |
The integral of log(1 + absolute_objective_gap) over time.
Definition at line 9613 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 9455 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 9434 of file CpModel.pb.cs.
|
getset |
Definition at line 9523 of file CpModel.pb.cs.
|
getset |
Definition at line 9487 of file CpModel.pb.cs.
|
getset |
Definition at line 9511 of file CpModel.pb.cs.
|
getset |
Definition at line 9499 of file CpModel.pb.cs.
|
getset |
Definition at line 9535 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 9475 of file CpModel.pb.cs.
|
getset |
Definition at line 9559 of file CpModel.pb.cs.
|
getset |
Definition at line 9547 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 9629 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 9645 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 9420 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. 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.
Definition at line 9384 of file CpModel.pb.cs.
|
getset |
Definition at line 9586 of file CpModel.pb.cs.
|
getset |
The time counted from the beginning of the Solve() call.
Definition at line 9574 of file CpModel.pb.cs.