- Main Page
- Namespaces
- Classes
- Files
- Directories

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CglTwomir Class Reference

Twostep MIR Cut Generator Class. More...

`#include <CglTwomir.hpp>`

Inheritance diagram for CglTwomir:

[legend]
Collaboration diagram for CglTwomir:

[legend]
List of all members.

## Public Member Functions
Generate Cuts
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
| Generate Two step MIR cuts either from the tableau rows or from the formulation rows.
virtual bool | needsOptimalBasis () const
| Return true if needs optimal basis to do cuts (will return true).
Change criterion on which scalings to use (default = 1,1,1,1)
void | setMirScale (int tmin, int tmax)
| Set.
void | setTwomirScale (int qmin, int qmax)
void | setAMax (int a)
void | setMaxElements (int n)
void | setMaxElementsRoot (int n)
void | setCutTypes (bool mir, bool twomir, bool tab, bool form)
void | setFormulationRows (int n)
int | getTmin () const
| Get.
int | getTmax () const
int | getQmin () const
int | getQmax () const
int | getAmax () const
int | getMaxElements () const
int | getMaxElementsRoot () const
int | getIfMir () const
int | getIfTwomir () const
int | getIfTableau () const
int | getIfFormulation () const
Change criterion on which variables to look at. All ones
more than "away" away from integrality will be investigated (default 0.05)
void | setAway (double value)
| Set away.
double | getAway () const
| Get away.
void | setAwayAtRoot (double value)
| Set away at root.
double | getAwayAtRoot () const
| Get away at root.
virtual int | maximumLengthOfCutInTree () const
| Return maximum length of cut in tree.
Constructors and destructors
| CglTwomir ()
| Default constructor.
| CglTwomir (const CglTwomir &)
| Copy constructor.
virtual CglCutGenerator * | clone () const
| Clone.
CglTwomir & | operator= (const CglTwomir &rhs)
| Assignment operator.
virtual | ~CglTwomir ()
| Destructor.
virtual std::string | generateCpp (FILE *fp)
| Create C++ lines to get to current state.
## Public Attributes
std::string | probname_
| Problem name.
## Private Attributes
Private member data
CoinThreadRandom | randomNumberGenerator_
| Threadsafe random number generator.
double | away_
| Only investigate if more than this away from integrality.
double | awayAtRoot_
| Only investigate if more than this away from integrality (at root).
bool | do_mir_
bool | do_2mir_
bool | do_tab_
bool | do_form_
int | t_min_
int | t_max_
| t_min - first value of t to use for tMIR inequalities
int | q_min_
| t_max - last value of t to use for tMIR inequalities
int | q_max_
| q_min - first value of t to use for 2-Step tMIR inequalities
int | a_max_
| q_max - last value of t to use for 2-Step tMIR inequalities
int | max_elements_
| a_max - maximum value of bhat/alpha
int | max_elements_root_
| Maximum number of elements in cut.
int | form_nrows_
| Maximum number of elements in cut at root.
## Friends
void | CglTwomirUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
| A function that tests the methods in the CglTwomir class.

## Detailed Description

Twostep MIR Cut Generator Class.

Definition at line 91 of file CglTwomir.hpp.

## Constructor & Destructor Documentation

CglTwomir::CglTwomir | ( |  | ) |

Default constructor.

CglTwomir::CglTwomir | ( | const CglTwomir & |  | ) |

Copy constructor.

virtual CglTwomir::~CglTwomir | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual void CglTwomir::generateCuts | ( | const OsiSolverInterface & | si,
|  | OsiCuts & | cs,
|  | const CglTreeInfo | info = `CglTreeInfo()` |
| ) |  |  | const`[virtual]`

Generate Two step MIR cuts either from the tableau rows or from the formulation rows.

Implements CglCutGenerator.

virtual bool CglTwomir::needsOptimalBasis | ( |  | ) | const`[virtual]`

Return true if needs optimal basis to do cuts (will return true).

Reimplemented from CglCutGenerator.

void CglTwomir::setMirScale | ( | int | tmin,
|  | int | tmax |
| ) |  |  | `[inline]`

Set.

Definition at line 115 of file CglTwomir.hpp.

void CglTwomir::setTwomirScale | ( | int | qmin,
|  | int | qmax |
| ) |  |  | `[inline]`

Definition at line 116 of file CglTwomir.hpp.

void CglTwomir::setAMax | ( | int | a | ) | `[inline]`

Definition at line 117 of file CglTwomir.hpp.

void CglTwomir::setMaxElements | ( | int | n | ) | `[inline]`

Definition at line 118 of file CglTwomir.hpp.

void CglTwomir::setMaxElementsRoot | ( | int | n | ) | `[inline]`

Definition at line 119 of file CglTwomir.hpp.

void CglTwomir::setCutTypes | ( | bool | mir,
|  | bool | twomir,
|  | bool | tab,
|  | bool | form |
| ) |  |  | `[inline]`

Definition at line 120 of file CglTwomir.hpp.

void CglTwomir::setFormulationRows | ( | int | n | ) | `[inline]`

Definition at line 122 of file CglTwomir.hpp.

int CglTwomir::getTmin | ( |  | ) | const`[inline]`

Get.

Definition at line 125 of file CglTwomir.hpp.

int CglTwomir::getTmax | ( |  | ) | const`[inline]`

Definition at line 126 of file CglTwomir.hpp.

int CglTwomir::getQmin | ( |  | ) | const`[inline]`

Definition at line 127 of file CglTwomir.hpp.

int CglTwomir::getQmax | ( |  | ) | const`[inline]`

Definition at line 128 of file CglTwomir.hpp.

int CglTwomir::getAmax | ( |  | ) | const`[inline]`

Definition at line 129 of file CglTwomir.hpp.

int CglTwomir::getMaxElements | ( |  | ) | const`[inline]`

Definition at line 130 of file CglTwomir.hpp.

int CglTwomir::getMaxElementsRoot | ( |  | ) | const`[inline]`

Definition at line 131 of file CglTwomir.hpp.

int CglTwomir::getIfMir | ( |  | ) | const`[inline]`

Definition at line 132 of file CglTwomir.hpp.

int CglTwomir::getIfTwomir | ( |  | ) | const`[inline]`

Definition at line 133 of file CglTwomir.hpp.

int CglTwomir::getIfTableau | ( |  | ) | const`[inline]`

Definition at line 134 of file CglTwomir.hpp.

int CglTwomir::getIfFormulation | ( |  | ) | const`[inline]`

Definition at line 135 of file CglTwomir.hpp.

void CglTwomir::setAway | ( | double | value | ) |

Set away.

double CglTwomir::getAway | ( |  | ) | const

Get away.

void CglTwomir::setAwayAtRoot | ( | double | value | ) |

Set away at root.

double CglTwomir::getAwayAtRoot | ( |  | ) | const

Get away at root.

virtual int CglTwomir::maximumLengthOfCutInTree | ( |  | ) | const`[inline, virtual]`

Return maximum length of cut in tree.

Reimplemented from CglCutGenerator.

Definition at line 151 of file CglTwomir.hpp.

virtual CglCutGenerator* CglTwomir::clone | ( |  | ) | const`[virtual]`

Clone.

Implements CglCutGenerator.

CglTwomir& CglTwomir::operator= | ( | const CglTwomir & | rhs | ) |

Assignment operator.

virtual std::string CglTwomir::generateCpp | ( | FILE * | fp | ) | `[virtual]`

Create C++ lines to get to current state.

Reimplemented from CglCutGenerator.

## Friends And Related Function Documentation

void CglTwomirUnitTest | ( | const OsiSolverInterface * | siP,
|  | const std::string | mpdDir |
| ) |  |  | `[friend]`

A function that tests the methods in the CglTwomir class.

The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.

## Member Data Documentation

std::string CglTwomir::probname_`[mutable]`

Problem name.

Definition at line 100 of file CglTwomir.hpp.

CoinThreadRandom CglTwomir::randomNumberGenerator_`[mutable, private]`

Threadsafe random number generator.

Definition at line 180 of file CglTwomir.hpp.

double CglTwomir::away_`[private]`

Only investigate if more than this away from integrality.

Definition at line 182 of file CglTwomir.hpp.

double CglTwomir::awayAtRoot_`[private]`

Only investigate if more than this away from integrality (at root).

Definition at line 184 of file CglTwomir.hpp.

bool CglTwomir::do_mir_`[private]`

Definition at line 185 of file CglTwomir.hpp.

bool CglTwomir::do_2mir_`[private]`

Definition at line 186 of file CglTwomir.hpp.

bool CglTwomir::do_tab_`[private]`

Definition at line 187 of file CglTwomir.hpp.

bool CglTwomir::do_form_`[private]`

Definition at line 188 of file CglTwomir.hpp.

int CglTwomir::t_min_`[private]`

Definition at line 190 of file CglTwomir.hpp.

int CglTwomir::t_max_`[private]`

t_min - first value of t to use for tMIR inequalities

Definition at line 191 of file CglTwomir.hpp.

int CglTwomir::q_min_`[private]`

t_max - last value of t to use for tMIR inequalities

Definition at line 192 of file CglTwomir.hpp.

int CglTwomir::q_max_`[private]`

q_min - first value of t to use for 2-Step tMIR inequalities

Definition at line 193 of file CglTwomir.hpp.

int CglTwomir::a_max_`[private]`

q_max - last value of t to use for 2-Step tMIR inequalities

Definition at line 194 of file CglTwomir.hpp.

int CglTwomir::max_elements_`[private]`

a_max - maximum value of bhat/alpha

Definition at line 195 of file CglTwomir.hpp.

int CglTwomir::max_elements_root_`[private]`

Maximum number of elements in cut.

Definition at line 196 of file CglTwomir.hpp.

int CglTwomir::form_nrows_`[private]`

Maximum number of elements in cut at root.

Definition at line 197 of file CglTwomir.hpp.

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

- /home/coin/SVN-release/Cgl-0.57.1/Cgl/src/CglTwomir/CglTwomir.hpp