OpenGM  2.3.x
Discrete Graphical Model Library
Public Member Functions | Public Attributes | List of all members
opengm::LPSolverInterface< LP_SOLVER_TYPE, VALUE_TYPE, INDEX_TYPE, SOLUTION_ITERATOR_TYPE, SOLVER_TIMING_TYPE >::Parameter Class Reference

Parameter class provides options to modify LP Solver behavior. More...

#include <lp_solver_interface.hxx>

+ Collaboration diagram for opengm::LPSolverInterface< LP_SOLVER_TYPE, VALUE_TYPE, INDEX_TYPE, SOLUTION_ITERATOR_TYPE, SOLVER_TIMING_TYPE >::Parameter:

Public Member Functions

 Parameter ()
 Default constructor of class Parameter. Sets default values provided by class LPDef for all options. More...
 

Public Attributes

int numberOfThreads_
 The number of threads used for Optimization (0 = autoselect). More...
 
bool verbose_
 Enable verbose output if set to true. More...
 
double cutUp_
 Upper cutoff tolerance. More...
 
double epOpt_
 Optimality tolerance. More...
 
double epMrk_
 Markowitz tolerance. More...
 
double epRHS_
 Feasibility tolerance. More...
 
double epInt_
 Amount by which an integer variable can differ from an integer. More...
 
double epAGap_
 Absolute MIP gap tolerance. More...
 
double epGap_
 Relative MIP gap tolerance. More...
 
double workMem_
 Maximal amount of memory in MB used for workspace. More...
 
double treeMemoryLimit_
 Maximal amount of memory in MB used for tree. More...
 
double timeLimit_
 Maximal time in seconds the solver has. More...
 
int probingLevel_
 Amount of probing on variables to be performed before MIP branching. More...
 
LPDef::LP_SOLVER rootAlg_
 Select which algorithm is used to solve continuous models or to solve the root relaxation of a MIP. More...
 
LPDef::LP_SOLVER nodeAlg_
 Select which algorithm is used to solve the subproblems in a MIP after the initial relaxation has been solved. More...
 
LPDef::MIP_EMPHASIS mipEmphasis_
 Controls trade-offs between speed, feasibility, optimality, and moving bounds in a MIP. More...
 
LPDef::LP_PRESOLVE presolve_
 Controls how aggressive presolve is performed during preprocessing. More...
 
LPDef::MIP_CUT cutLevel_
 Determines whether or not to generate cuts for the problem and how aggressively (will be overruled by specific ones). More...
 
LPDef::MIP_CUT cliqueCutLevel_
 Determines whether or not to generate clique cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT coverCutLevel_
 Determines whether or not to generate cover cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT gubCutLevel_
 Determines whether or not to generate generalized upper bound (GUB) cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT mirCutLevel_
 Determines whether or not mixed integer rounding (MIR) cuts should be generated for the problem and how aggressively. More...
 
LPDef::MIP_CUT iboundCutLevel_
 Determines whether or not to generate implied bound cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT flowcoverCutLevel_
 Determines whether or not to generate flow cover cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT flowpathCutLevel_
 Determines whether or not to generate flow path cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT disjunctCutLevel_
 Determines whether or not to generate disjunctive cuts for the problem and how aggressively. More...
 
LPDef::MIP_CUT gomoryCutLevel_
 Determines whether or not to generate gomory fractional cuts for the problem and how aggressively. More...
 

Detailed Description

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
class opengm::LPSolverInterface< LP_SOLVER_TYPE, VALUE_TYPE, INDEX_TYPE, SOLUTION_ITERATOR_TYPE, SOLVER_TIMING_TYPE >::Parameter

Parameter class provides options to modify LP Solver behavior.

Note
  1. Not all LP Solver might provide support for all parameter options.
  2. Default values are taken from class LPDef.

Definition at line 25 of file lp_solver_interface.hxx.

Constructor & Destructor Documentation

template<class LP_SOLVER_TYPE , class VALUE_TYPE , class INDEX_TYPE , class SOLUTION_ITERATOR_TYPE , class SOLVER_TIMING_TYPE >
opengm::LPSolverInterface< LP_SOLVER_TYPE, VALUE_TYPE, INDEX_TYPE, SOLUTION_ITERATOR_TYPE, SOLVER_TIMING_TYPE >::Parameter::Parameter ( )
inline

Default constructor of class Parameter. Sets default values provided by class LPDef for all options.

Definition at line 632 of file lp_solver_interface.hxx.

Member Data Documentation

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::cliqueCutLevel_

Determines whether or not to generate clique cuts for the problem and how aggressively.

Definition at line 48 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::coverCutLevel_

Determines whether or not to generate cover cuts for the problem and how aggressively.

Definition at line 49 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::cutLevel_

Determines whether or not to generate cuts for the problem and how aggressively (will be overruled by specific ones).

Definition at line 47 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::cutUp_

Upper cutoff tolerance.

Definition at line 32 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::disjunctCutLevel_

Determines whether or not to generate disjunctive cuts for the problem and how aggressively.

Definition at line 55 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epAGap_

Absolute MIP gap tolerance.

Definition at line 37 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epGap_

Relative MIP gap tolerance.

Definition at line 38 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epInt_

Amount by which an integer variable can differ from an integer.

Definition at line 36 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epMrk_

Markowitz tolerance.

Definition at line 34 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epOpt_

Optimality tolerance.

Definition at line 33 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::epRHS_

Feasibility tolerance.

Definition at line 35 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::flowcoverCutLevel_

Determines whether or not to generate flow cover cuts for the problem and how aggressively.

Definition at line 53 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::flowpathCutLevel_

Determines whether or not to generate flow path cuts for the problem and how aggressively.

Definition at line 54 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::gomoryCutLevel_

Determines whether or not to generate gomory fractional cuts for the problem and how aggressively.

Definition at line 56 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::gubCutLevel_

Determines whether or not to generate generalized upper bound (GUB) cuts for the problem and how aggressively.

Definition at line 50 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::iboundCutLevel_

Determines whether or not to generate implied bound cuts for the problem and how aggressively.

Definition at line 52 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::mipEmphasis_

Controls trade-offs between speed, feasibility, optimality, and moving bounds in a MIP.

Definition at line 45 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::mirCutLevel_

Determines whether or not mixed integer rounding (MIR) cuts should be generated for the problem and how aggressively.

Definition at line 51 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::nodeAlg_

Select which algorithm is used to solve the subproblems in a MIP after the initial relaxation has been solved.

Definition at line 44 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::numberOfThreads_

The number of threads used for Optimization (0 = autoselect).

Definition at line 30 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::presolve_

Controls how aggressive presolve is performed during preprocessing.

Definition at line 46 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::probingLevel_

Amount of probing on variables to be performed before MIP branching.

Definition at line 42 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::rootAlg_

Select which algorithm is used to solve continuous models or to solve the root relaxation of a MIP.

Definition at line 43 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::timeLimit_

Maximal time in seconds the solver has.

Definition at line 41 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::treeMemoryLimit_

Maximal amount of memory in MB used for tree.

Definition at line 40 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::verbose_

Enable verbose output if set to true.

Definition at line 31 of file lp_solver_interface.hxx.

template<class LP_SOLVER_TYPE, class VALUE_TYPE, class INDEX_TYPE, class SOLUTION_ITERATOR_TYPE, class SOLVER_TIMING_TYPE>
LPSolverInterface::Parameter::workMem_

Maximal amount of memory in MB used for workspace.

Definition at line 39 of file lp_solver_interface.hxx.