CglRedSplitParam Class Reference

Class collecting parameters the Reduced-and-split cut generator. More...

#include <CglRedSplitParam.hpp>

Inheritance diagram for CglRedSplitParam:
Inheritance graph
[legend]
Collaboration diagram for CglRedSplitParam:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Set/get methods



virtual void setAway (const double value)
 Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.
double getAway () const
 Get value of away.
virtual void setLUB (const double value)
 Set the value of LUB, value considered large for the absolute value of a lower or upper bound on a variable; Default: 1000.
double getLUB () const
 Get the value of LUB.
void setEPS_ELIM (const double value)
 Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 1e-12.
double getEPS_ELIM () const
 Get the value of EPS_ELIM.
virtual void setEPS_RELAX_ABS (const double eps_ra)
 Set EPS_RELAX_ABS.
double getEPS_RELAX_ABS () const
 Get value of EPS_RELAX_ABS.
virtual void setEPS_RELAX_REL (const double eps_rr)
 Set EPS_RELAX_REL.
double getEPS_RELAX_REL () const
 Get value of EPS_RELAX_REL.
virtual void setMAXDYN (double value)
 Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.
double getMAXDYN () const
 Get the value of MAXDYN.
virtual void setMAXDYN_LUB (double value)
 Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.
double getMAXDYN_LUB () const
 Get the value of MAXDYN_LUB.
virtual void setEPS_COEFF_LUB (const double value)
 Set the value of EPS_COEFF_LUB, epsilon for values of coefficients for variables with absolute value of lower or upper bound larger than LUB; Default: 1e-13.
double getEPS_COEFF_LUB () const
 Get the value of EPS_COEFF_LUB.
virtual void setMINVIOL (double value)
 Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.
double getMINVIOL () const
 Get the value of MINVIOL.
virtual void setUSE_INTSLACKS (int value)
 Set the value of USE_INTSLACKS.
int getUSE_INTSLACKS () const
 Get the value of USE_INTSLACKS.
virtual void setUSE_CG2 (int value)
 Set the value of USE_CG2.
int getUSE_CG2 () const
 Get the value of USE_CG2.
virtual void setNormIsZero (const double value)
 Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5.
double getNormIsZero () const
 Get the value of normIsZero.
virtual void setMinReduc (const double value)
 Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Default: 0.05.
double getMinReduc () const
 Get the value of minReduc.
virtual void setMaxTab (const double value)
 Set the maximum allowed value for (mTab * mTab * max(mTab, nTab)) where mTab is the number of rows used in the combinations and nTab is the number of continuous non basic variables.
double getMaxTab () const
 Get the value of maxTab.
Constructors and destructors



 CglRedSplitParam (const double lub=1000.0, const double eps_elim=1e-12, const double eps_relax_abs=1e-8, const double eps_relax_rel=0.0, const double max_dyn=1e8, const double max_dyn_lub=1e13, const double eps_coeff_lub=1e-13, const double min_viol=1e-7, const int use_int_slacks=0, const int use_cg2=0, const double norm_zero=1e-5, const double min_reduc=0.05, const double away=0.05, const double max_tab=1e7)
 Default constructor.
 CglRedSplitParam (const CglParam &source, const double lub=1000.0, const double eps_elim=1e-12, const double eps_relax_abs=1e-8, const double eps_relax_rel=0.0, const double max_dyn=1e8, const double max_dyn_lub=1e13, const double eps_coeff_lub=1e-13, const double min_viol=1e-7, const int use_int_slacks=0, const int use_cg2=0, const double norm_zero=1e-5, const double min_reduc=0.05, const double away=0.05, const double max_tab=1e7)
 Constructor from CglParam.
 CglRedSplitParam (const CglRedSplitParam &source)
 Copy constructor.
virtual CglRedSplitParamclone () const
 Clone.
virtual CglRedSplitParamoperator= (const CglRedSplitParam &rhs)
 Assignment operator.
virtual ~CglRedSplitParam ()
 Destructor.

Protected Attributes

Parameters



double LUB
 Value considered large for the absolute value of lower or upper bound on a variable.
double EPS_ELIM
 Epsilon for value of coefficients when eliminating slack variables.
double EPS_RELAX_ABS
 Value added to the right hand side of each generated cut to relax it.
double EPS_RELAX_REL
 For a generated cut with right hand side rhs_val, EPS_RELAX_EPS * fabs(rhs_val) is used to relax the constraint.
double MAXDYN
 Value considered large for the absolute value of lower or upper bound on a variable.
double MAXDYN_LUB
 Value considered large for the absolute value of lower or upper bound on a variable.
double EPS_COEFF_LUB
 Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger than LUB.
double MINVIOL
 Minimum violation for the current basic solution in a generated cut.
int USE_INTSLACKS
 Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
int USE_CG2
 Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgcut_2()).
double normIsZero
 Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
double minReduc
 Minimum reduction in percent that must be achieved by a potential reduction step in order to be performed; Between 0 and 1, default: 0.05.
double away_
 Use row only if pivot variable should be integer but is more than away_ from being integer.
double maxTab_
 Maximum value for (mTab * mTab * max(mTab, nTab)).

Detailed Description

Class collecting parameters the Reduced-and-split cut generator.

Parameters of the generator are listed below. Modifying the default values for parameters other than the last four might result in invalid cuts.

Definition at line 58 of file CglRedSplitParam.hpp.


Constructor & Destructor Documentation

CglRedSplitParam::CglRedSplitParam ( const double  lub = 1000.0,
const double  eps_elim = 1e-12,
const double  eps_relax_abs = 1e-8,
const double  eps_relax_rel = 0.0,
const double  max_dyn = 1e8,
const double  max_dyn_lub = 1e13,
const double  eps_coeff_lub = 1e-13,
const double  min_viol = 1e-7,
const int  use_int_slacks = 0,
const int  use_cg2 = 0,
const double  norm_zero = 1e-5,
const double  min_reduc = 0.05,
const double  away = 0.05,
const double  max_tab = 1e7 
)

Default constructor.

CglRedSplitParam::CglRedSplitParam ( const CglParam source,
const double  lub = 1000.0,
const double  eps_elim = 1e-12,
const double  eps_relax_abs = 1e-8,
const double  eps_relax_rel = 0.0,
const double  max_dyn = 1e8,
const double  max_dyn_lub = 1e13,
const double  eps_coeff_lub = 1e-13,
const double  min_viol = 1e-7,
const int  use_int_slacks = 0,
const int  use_cg2 = 0,
const double  norm_zero = 1e-5,
const double  min_reduc = 0.05,
const double  away = 0.05,
const double  max_tab = 1e7 
)

Constructor from CglParam.

CglRedSplitParam::CglRedSplitParam ( const CglRedSplitParam source  ) 

Copy constructor.

virtual CglRedSplitParam::~CglRedSplitParam (  )  [virtual]

Destructor.


Member Function Documentation

virtual void CglRedSplitParam::setAway ( const double  value  )  [virtual]

Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.

double CglRedSplitParam::getAway (  )  const [inline]

Get value of away.

Definition at line 70 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setLUB ( const double  value  )  [virtual]

Set the value of LUB, value considered large for the absolute value of a lower or upper bound on a variable; Default: 1000.

double CglRedSplitParam::getLUB (  )  const [inline]

Get the value of LUB.

Definition at line 77 of file CglRedSplitParam.hpp.

void CglRedSplitParam::setEPS_ELIM ( const double  value  ) 

Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 1e-12.

double CglRedSplitParam::getEPS_ELIM (  )  const [inline]

Get the value of EPS_ELIM.

Definition at line 84 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setEPS_RELAX_ABS ( const double  eps_ra  )  [virtual]

Set EPS_RELAX_ABS.

double CglRedSplitParam::getEPS_RELAX_ABS (  )  const [inline]

Get value of EPS_RELAX_ABS.

Definition at line 89 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setEPS_RELAX_REL ( const double  eps_rr  )  [virtual]

Set EPS_RELAX_REL.

double CglRedSplitParam::getEPS_RELAX_REL (  )  const [inline]

Get value of EPS_RELAX_REL.

Definition at line 94 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMAXDYN ( double  value  )  [virtual]

Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.

double CglRedSplitParam::getMAXDYN (  )  const [inline]

Get the value of MAXDYN.

Definition at line 100 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMAXDYN_LUB ( double  value  )  [virtual]

Set away, the minimum distance from being integer used for selecting rows for cut generation; all rows whose pivot variable should be integer but is more than away from integrality will be selected; Default: 0.05.

double CglRedSplitParam::getMAXDYN_LUB (  )  const [inline]

Get the value of MAXDYN_LUB.

Definition at line 108 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setEPS_COEFF_LUB ( const double  value  )  [virtual]

Set the value of EPS_COEFF_LUB, epsilon for values of coefficients for variables with absolute value of lower or upper bound larger than LUB; Default: 1e-13.

double CglRedSplitParam::getEPS_COEFF_LUB (  )  const [inline]

Get the value of EPS_COEFF_LUB.

Definition at line 115 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMINVIOL ( double  value  )  [virtual]

Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.

Default: 1e-7

double CglRedSplitParam::getMINVIOL (  )  const [inline]

Get the value of MINVIOL.

Definition at line 121 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setUSE_INTSLACKS ( int  value  )  [virtual]

Set the value of USE_INTSLACKS.

Default: 0

int CglRedSplitParam::getUSE_INTSLACKS (  )  const [inline]

Get the value of USE_INTSLACKS.

Definition at line 126 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setUSE_CG2 ( int  value  )  [virtual]

Set the value of USE_CG2.

Default: 0

int CglRedSplitParam::getUSE_CG2 (  )  const [inline]

Get the value of USE_CG2.

Definition at line 131 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setNormIsZero ( const double  value  )  [virtual]

Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5.

double CglRedSplitParam::getNormIsZero (  )  const [inline]

Get the value of normIsZero.

Definition at line 137 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMinReduc ( const double  value  )  [virtual]

Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Default: 0.05.

double CglRedSplitParam::getMinReduc (  )  const [inline]

Get the value of minReduc.

Definition at line 143 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMaxTab ( const double  value  )  [virtual]

Set the maximum allowed value for (mTab * mTab * max(mTab, nTab)) where mTab is the number of rows used in the combinations and nTab is the number of continuous non basic variables.

The work of the generator is proportional to (mTab * mTab * max(mTab, nTab)). Reducing the value of maxTab makes the generator faster, but weaker. Default: 1e7.

double CglRedSplitParam::getMaxTab (  )  const [inline]

Get the value of maxTab.

Definition at line 152 of file CglRedSplitParam.hpp.

virtual CglRedSplitParam* CglRedSplitParam::clone (  )  const [virtual]

Clone.

Reimplemented from CglParam.

virtual CglRedSplitParam& CglRedSplitParam::operator= ( const CglRedSplitParam rhs  )  [virtual]

Assignment operator.

Reimplemented from CglParam.


Member Data Documentation

double CglRedSplitParam::LUB [protected]

Value considered large for the absolute value of lower or upper bound on a variable.

Default: 1000.

Definition at line 210 of file CglRedSplitParam.hpp.

double CglRedSplitParam::EPS_ELIM [protected]

Epsilon for value of coefficients when eliminating slack variables.

Default: 1e-12.

Definition at line 214 of file CglRedSplitParam.hpp.

double CglRedSplitParam::EPS_RELAX_ABS [protected]

Value added to the right hand side of each generated cut to relax it.

Default: 1e-8

Definition at line 218 of file CglRedSplitParam.hpp.

double CglRedSplitParam::EPS_RELAX_REL [protected]

For a generated cut with right hand side rhs_val, EPS_RELAX_EPS * fabs(rhs_val) is used to relax the constraint.

Default: 0

Definition at line 223 of file CglRedSplitParam.hpp.

double CglRedSplitParam::MAXDYN [protected]

Value considered large for the absolute value of lower or upper bound on a variable.

Default: 1000.

Definition at line 227 of file CglRedSplitParam.hpp.

double CglRedSplitParam::MAXDYN_LUB [protected]

Value considered large for the absolute value of lower or upper bound on a variable.

Default: 1000.

Definition at line 233 of file CglRedSplitParam.hpp.

double CglRedSplitParam::EPS_COEFF_LUB [protected]

Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger than LUB.

Default: 1e-13.

Definition at line 237 of file CglRedSplitParam.hpp.

double CglRedSplitParam::MINVIOL [protected]

Minimum violation for the current basic solution in a generated cut.

Default: 1e-7.

Definition at line 241 of file CglRedSplitParam.hpp.

Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.

Definition at line 244 of file CglRedSplitParam.hpp.

int CglRedSplitParam::USE_CG2 [protected]

Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgcut_2()).

Default: 0.

Definition at line 248 of file CglRedSplitParam.hpp.

double CglRedSplitParam::normIsZero [protected]

Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.

Definition at line 252 of file CglRedSplitParam.hpp.

double CglRedSplitParam::minReduc [protected]

Minimum reduction in percent that must be achieved by a potential reduction step in order to be performed; Between 0 and 1, default: 0.05.

Definition at line 256 of file CglRedSplitParam.hpp.

double CglRedSplitParam::away_ [protected]

Use row only if pivot variable should be integer but is more than away_ from being integer.

Definition at line 260 of file CglRedSplitParam.hpp.

double CglRedSplitParam::maxTab_ [protected]

Maximum value for (mTab * mTab * max(mTab, nTab)).

See method setMaxTab().

Definition at line 264 of file CglRedSplitParam.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1