Java Reference
Java Reference
Detailed Description
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:
- Add the new Foo parameter in the DoubleParam or IntegerParam enum.
- If it is a categorical param, add a FooValues enum.
- Decide if the wrapper should define a default value for it: yes
if it controls the properties of the solution (example:
tolerances) or if it consistently improves performance, no
otherwise. If yes, define kDefaultFoo.
- Add a foo_value_ member and, if no default value is defined, a
foo_is_default_ member.
- Add code to handle Foo in Set...Param, Reset...Param,
Get...Param, Reset and the constructor.
- In class MPSolverInterface, add a virtual method SetFoo, add it
to SetCommonParameters or SetMIPParameters, and implement it for
each solver. Sometimes, parameters need to be implemented
differently, see for example the INCREMENTALITY implementation.
- Add a test in linear_solver_test.cc.
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 39 of file MPSolverParameters.java.
Classes | |
| enum | DoubleParam |
| Enumeration of parameters that take continuous values. More... | |
| enum | IncrementalityValues |
| Advanced usage: Incrementality options. More... | |
| enum | IntegerParam |
| Enumeration of parameters that take integer or categorical values. More... | |
| enum | LpAlgorithmValues |
| LP algorithm to use. More... | |
| enum | PresolveValues |
| For each categorical parameter, enumeration of possible values. More... | |
| enum | ScalingValues |
| Advanced usage: Scaling options. More... | |
Public Member Functions | |
| synchronized void | delete () |
| 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... | |
| double | getDoubleParam (MPSolverParameters.DoubleParam param) |
| Returns the value of a double parameter. More... | |
| int | getIntegerParam (MPSolverParameters.IntegerParam param) |
| Returns the value of an integer parameter. More... | |
Static Public Member Functions | |
| static double | getKDefaultRelativeMipGap () |
| static double | getKDefaultPrimalTolerance () |
| static double | getKDefaultDualTolerance () |
| static MPSolverParameters.PresolveValues | getKDefaultPresolve () |
| static MPSolverParameters.IncrementalityValues | getKDefaultIncrementality () |
Protected Member Functions | |
| MPSolverParameters (long cPtr, boolean cMemoryOwn) | |
Constructor & Destructor Documentation
◆ MPSolverParameters() [1/2]
|
inlineprotected |
Definition at line 43 of file MPSolverParameters.java.
◆ MPSolverParameters() [2/2]
|
inline |
The constructor sets all parameters to their default value.
Definition at line 90 of file MPSolverParameters.java.
Member Function Documentation
◆ delete()
|
inline |
Definition at line 57 of file MPSolverParameters.java.
◆ getDoubleParam()
|
inline |
Returns the value of a double parameter.
Definition at line 111 of file MPSolverParameters.java.
◆ getIntegerParam()
|
inline |
Returns the value of an integer parameter.
Definition at line 118 of file MPSolverParameters.java.
◆ getKDefaultDualTolerance()
|
inlinestatic |
Definition at line 75 of file MPSolverParameters.java.
◆ getKDefaultIncrementality()
|
inlinestatic |
Definition at line 83 of file MPSolverParameters.java.
◆ getKDefaultPresolve()
|
inlinestatic |
Definition at line 79 of file MPSolverParameters.java.
◆ getKDefaultPrimalTolerance()
|
inlinestatic |
Definition at line 71 of file MPSolverParameters.java.
◆ getKDefaultRelativeMipGap()
|
inlinestatic |
Definition at line 67 of file MPSolverParameters.java.
◆ setDoubleParam()
|
inline |
Sets a double parameter to a specific value.
Definition at line 97 of file MPSolverParameters.java.
◆ setIntegerParam()
|
inline |
Sets a integer parameter to a specific value.
Definition at line 104 of file MPSolverParameters.java.
The documentation for this class was generated from the following file: