Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ src/ linear_solver/

operations_research::MPSolverParameters Class Reference

This class stores parameter settings for LP and MIP solvers. More...

#include <linear_solver.h>

List of all members.

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 }
 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 }
enum  IncrementalityValues { INCREMENTALITY_OFF = 0, INCREMENTALITY_ON = 1 }

Public Member Functions

 MPSolverParameters ()
 The constructor sets all parameters to their default value.
void SetDoubleParam (MPSolverParameters::DoubleParam param, double value)
void SetIntegerParam (MPSolverParameters::IntegerParam param, int value)
void ResetDoubleParam (MPSolverParameters::DoubleParam param)
void ResetIntegerParam (MPSolverParameters::IntegerParam param)
void Reset ()
 Sets all parameters to their default value.
double GetDoubleParam (MPSolverParameters::DoubleParam param) const
int GetIntegerParam (MPSolverParameters::IntegerParam param) const

Static Public Attributes

static const double kDefaultDoubleParamValue = -1.0
static const int kDefaultIntegerParamValue = -1
static const double kUnknownDoubleParamValue = -2.0
static const int kUnknownIntegerParamValue = -2
static const double kDefaultRelativeMipGap = 1e-4
 MPSolverParameters.
static const double kDefaultPrimalTolerance = 1e-7
 For the primal and dual tolerances, choose the same default as CLP and GLPK.
static const double kDefaultDualTolerance = 1e-7
static const PresolveValues kDefaultPresolve
static const IncrementalityValues kDefaultIncrementality


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:

Todo:
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 733 of file linear_solver.h.


Member Enumeration Documentation

Enumeration of parameters that take continuous values.

Enumerator:
RELATIVE_MIP_GAP  Limit for relative MIP gap.
PRIMAL_TOLERANCE  Advanced usage: tolerance for primal feasibility of basic solutions.

This does not control the integer feasibility tolerance of integer solutions for MIP or the tolerance used during presolve.

DUAL_TOLERANCE  Advanced usage: tolerance for dual feasibility of basic solutions.

Definition at line 736 of file linear_solver.h.

Enumeration of parameters that take integer or categorical values.

Enumerator:
PRESOLVE  Advanced usage: presolve mode.
LP_ALGORITHM  Algorithm to solve linear programs.
INCREMENTALITY  Advanced usage: incrementality from one solve to the next.

Definition at line 749 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 759 of file linear_solver.h.

Enumerator:
DUAL  Dual simplex.
PRIMAL  Primal simplex.
BARRIER  Barrier algorithm.

Definition at line 764 of file linear_solver.h.

Enumerator:
INCREMENTALITY_OFF  Start solve from scratch.
INCREMENTALITY_ON  Reuse results from previous solve as much as the underlying solver allows.

Definition at line 770 of file linear_solver.h.


Constructor & Destructor Documentation

operations_research::MPSolverParameters::MPSolverParameters (  ) 

The constructor sets all parameters to their default value.

Definition at line 937 of file linear_solver.cc.


Member Function Documentation

void operations_research::MPSolverParameters::SetDoubleParam ( MPSolverParameters::DoubleParam  param,
double  value 
)

Sets a parameter to a specific value.

Definition at line 946 of file linear_solver.cc.

void operations_research::MPSolverParameters::SetIntegerParam ( MPSolverParameters::IntegerParam  param,
int  value 
)

Definition at line 967 of file linear_solver.cc.

void operations_research::MPSolverParameters::ResetDoubleParam ( MPSolverParameters::DoubleParam  param  ) 

Sets a parameter to its default value (default value defined in MPSolverParameters if it exists, otherwise the default value defined in the underlying solver).

Definition at line 1001 of file linear_solver.cc.

void operations_research::MPSolverParameters::ResetIntegerParam ( MPSolverParameters::IntegerParam  param  ) 

Definition at line 1022 of file linear_solver.cc.

void operations_research::MPSolverParameters::Reset (  ) 

Sets all parameters to their default value.

Definition at line 1043 of file linear_solver.cc.

double operations_research::MPSolverParameters::GetDoubleParam ( MPSolverParameters::DoubleParam  param  )  const

Returns the value of a parameter.

Definition at line 1052 of file linear_solver.cc.

int operations_research::MPSolverParameters::GetIntegerParam ( MPSolverParameters::IntegerParam  param  )  const

Definition at line 1071 of file linear_solver.cc.


Member Data Documentation

Placeholder value to indicate that a parameter is set to the default value defined in the wrapper.

Definition at line 781 of file linear_solver.h.

Definition at line 782 of file linear_solver.h.

Placeholder value to indicate that a parameter is unknown.

Definition at line 787 of file linear_solver.h.

Definition at line 788 of file linear_solver.h.

MPSolverParameters.

Default values for parameters. Only parameters that define the properties of the solution returned need to have a default value (that is the same for all solvers). You can also define a default value for performance parameters when you are confident it is a good choice (example: always turn presolve on).

Definition at line 797 of file linear_solver.h.

For the primal and dual tolerances, choose the same default as CLP and GLPK.

Definition at line 798 of file linear_solver.h.

Definition at line 799 of file linear_solver.h.

Initial value:

Definition at line 800 of file linear_solver.h.

Initial value:

Definition at line 801 of file linear_solver.h.


The documentation for this class was generated from the following files: