This class stores parameter settings for LP and MIP solvers.
Some parameters are marked as advanced: do not change their values unless you know what you are doing!
For developers: how to add a new parameter:
TODO(user): store the parameter values in a protocol buffer instead. We need to figure out how to deal with the subtleties of the default values.
Definition at line 1304 of file linear_solver.h.
Public Types | |
| enum | DoubleParam { RELATIVE_MIP_GAP = 0, PRIMAL_TOLERANCE = 1, DUAL_TOLERANCE = 2 } |
| Enumeration of parameters that take continuous values. More... | |
| enum | IntegerParam { PRESOLVE = 1000, LP_ALGORITHM = 1001, INCREMENTALITY = 1002, SCALING = 1003 } |
| Enumeration of parameters that take integer or categorical values. More... | |
| enum | PresolveValues { PRESOLVE_OFF = 0, PRESOLVE_ON = 1 } |
| For each categorical parameter, enumeration of possible values. More... | |
| enum | LpAlgorithmValues { DUAL = 10, PRIMAL = 11, BARRIER = 12 } |
| LP algorithm to use. More... | |
| enum | IncrementalityValues { INCREMENTALITY_OFF = 0, INCREMENTALITY_ON = 1 } |
| Advanced usage: Incrementality options. More... | |
| enum | ScalingValues { SCALING_OFF = 0, SCALING_ON = 1 } |
| Advanced usage: Scaling options. More... | |
Public Member Functions | |
| MPSolverParameters () | |
| The constructor sets all parameters to their default value. More... | |
| void | SetDoubleParam (MPSolverParameters::DoubleParam param, double value) |
| Sets a double parameter to a specific value. More... | |
| void | SetIntegerParam (MPSolverParameters::IntegerParam param, int value) |
| Sets a integer parameter to a specific value. More... | |
| void | ResetDoubleParam (MPSolverParameters::DoubleParam param) |
| Sets a double parameter to its default value (default value defined in MPSolverParameters if it exists, otherwise the default value defined in the underlying solver). More... | |
| void | ResetIntegerParam (MPSolverParameters::IntegerParam param) |
| Sets an integer parameter to its default value (default value defined in MPSolverParameters if it exists, otherwise the default value defined in the underlying solver). More... | |
| void | Reset () |
| Sets all parameters to their default value. More... | |
| double | GetDoubleParam (MPSolverParameters::DoubleParam param) const |
| Returns the value of a double parameter. More... | |
| int | GetIntegerParam (MPSolverParameters::IntegerParam param) const |
| Returns the value of an integer parameter. More... | |
Static Public Attributes | |
| static const double | kDefaultDoubleParamValue |
| static const int | kDefaultIntegerParamValue |
| static const double | kUnknownDoubleParamValue |
| static const int | kUnknownIntegerParamValue |
| static const double | kDefaultRelativeMipGap |
| static const double | kDefaultPrimalTolerance |
| static const double | kDefaultDualTolerance |
| static const PresolveValues | kDefaultPresolve |
| static const IncrementalityValues | kDefaultIncrementality |
Enumeration of parameters that take continuous values.
Definition at line 1307 of file linear_solver.h.
Advanced usage: Incrementality options.
| Enumerator | |
|---|---|
| INCREMENTALITY_OFF | Start solve from scratch. |
| INCREMENTALITY_ON | Reuse results from previous solve as much as the underlying solver allows. |
Definition at line 1353 of file linear_solver.h.
Enumeration of parameters that take integer or categorical values.
Definition at line 1323 of file linear_solver.h.
LP algorithm to use.
| Enumerator | |
|---|---|
| DUAL | Dual simplex. |
| PRIMAL | Primal simplex. |
| BARRIER | Barrier algorithm. |
Definition at line 1343 of file linear_solver.h.
For each categorical parameter, enumeration of possible values.
| Enumerator | |
|---|---|
| PRESOLVE_OFF | Presolve is off. |
| PRESOLVE_ON | Presolve is on. |
Definition at line 1335 of file linear_solver.h.
Advanced usage: Scaling options.
| Enumerator | |
|---|---|
| SCALING_OFF | Scaling is off. |
| SCALING_ON | Scaling is on. |
Definition at line 1365 of file linear_solver.h.
| operations_research::MPSolverParameters::MPSolverParameters | ( | ) |
The constructor sets all parameters to their default value.
| double operations_research::MPSolverParameters::GetDoubleParam | ( | MPSolverParameters::DoubleParam | param | ) | const |
Returns the value of a double parameter.
| int operations_research::MPSolverParameters::GetIntegerParam | ( | MPSolverParameters::IntegerParam | param | ) | const |
Returns the value of an integer parameter.
| void operations_research::MPSolverParameters::Reset | ( | ) |
Sets all parameters to their default value.
| void operations_research::MPSolverParameters::ResetDoubleParam | ( | MPSolverParameters::DoubleParam | param | ) |
Sets a double parameter to its default value (default value defined in MPSolverParameters if it exists, otherwise the default value defined in the underlying solver).
| void operations_research::MPSolverParameters::ResetIntegerParam | ( | MPSolverParameters::IntegerParam | param | ) |
Sets an integer parameter to its default value (default value defined in MPSolverParameters if it exists, otherwise the default value defined in the underlying solver).
| void operations_research::MPSolverParameters::SetDoubleParam | ( | MPSolverParameters::DoubleParam | param, |
| double | value | ||
| ) |
Sets a double parameter to a specific value.
| void operations_research::MPSolverParameters::SetIntegerParam | ( | MPSolverParameters::IntegerParam | param, |
| int | value | ||
| ) |
Sets a integer parameter to a specific value.
|
static |
Definition at line 1374 of file linear_solver.h.
|
static |
Definition at line 1388 of file linear_solver.h.
|
static |
Definition at line 1390 of file linear_solver.h.
|
static |
Definition at line 1375 of file linear_solver.h.
|
static |
Definition at line 1389 of file linear_solver.h.
|
static |
Definition at line 1387 of file linear_solver.h.
|
static |
Definition at line 1386 of file linear_solver.h.
|
static |
Definition at line 1378 of file linear_solver.h.
|
static |
Definition at line 1379 of file linear_solver.h.