Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
CglRedSplitParam Class Reference

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

#include <CglRedSplitParam.hpp>

+ Inheritance diagram for CglRedSplitParam:
+ Collaboration diagram for CglRedSplitParam:

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. More...
 
double getAway () const
 Get value of away. More...
 
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. More...
 
double getLUB () const
 Get the value of LUB. More...
 
void setEPS_ELIM (const double value)
 Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 1e-12. More...
 
double getEPS_ELIM () const
 Get the value of EPS_ELIM. More...
 
virtual void setEPS_RELAX_ABS (const double eps_ra)
 Set EPS_RELAX_ABS. More...
 
double getEPS_RELAX_ABS () const
 Get value of EPS_RELAX_ABS. More...
 
virtual void setEPS_RELAX_REL (const double eps_rr)
 Set EPS_RELAX_REL. More...
 
double getEPS_RELAX_REL () const
 Get value of EPS_RELAX_REL. More...
 
virtual void setMAXDYN (double value)
 
double getMAXDYN () const
 Get the value of MAXDYN. More...
 
virtual void setMAXDYN_LUB (double value)
 
double getMAXDYN_LUB () const
 Get the value of MAXDYN_LUB. More...
 
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. More...
 
double getEPS_COEFF_LUB () const
 Get the value of EPS_COEFF_LUB. More...
 
virtual void setMINVIOL (double value)
 Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut. More...
 
double getMINVIOL () const
 Get the value of MINVIOL. More...
 
virtual void setUSE_INTSLACKS (int value)
 Set the value of USE_INTSLACKS. More...
 
int getUSE_INTSLACKS () const
 Get the value of USE_INTSLACKS. More...
 
virtual void setUSE_CG2 (int value)
 Set the value of USE_CG2. More...
 
int getUSE_CG2 () const
 Get the value of USE_CG2. More...
 
virtual void setNormIsZero (const double value)
 Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5. More...
 
double getNormIsZero () const
 Get the value of normIsZero. More...
 
virtual void setMinReduc (const double value)
 Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Default: 0.05. More...
 
double getMinReduc () const
 Get the value of minReduc. More...
 
virtual void setMaxTab (const double value)
 Set the maximum allowed value for (mTab * mTab * CoinMax(mTab, nTab)) where mTab is the number of rows used in the combinations and nTab is the number of continuous non basic variables. More...
 
double getMaxTab () const
 Get the value of maxTab. More...
 
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. More...
 
 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. More...
 
 CglRedSplitParam (const CglRedSplitParam &source)
 Copy constructor. More...
 
virtual CglRedSplitParamclone () const
 Clone. More...
 
virtual CglRedSplitParamoperator= (const CglRedSplitParam &rhs)
 Assignment operator. More...
 
virtual ~CglRedSplitParam ()
 Destructor. More...
 
- Public Member Functions inherited from CglParam
virtual void setINFINIT (const double inf)
 Set INFINIT. More...
 
double getINFINIT () const
 Get value of INFINIT. More...
 
virtual void setEPS (const double eps)
 Set EPS. More...
 
double getEPS () const
 Get value of EPS. More...
 
virtual void setEPS_COEFF (const double eps_c)
 Set EPS_COEFF. More...
 
double getEPS_COEFF () const
 Get value of EPS_COEFF. More...
 
virtual void setMAX_SUPPORT (const int max_s)
 Set MAX_SUPPORT. More...
 
int getMAX_SUPPORT () const
 Get value of MAX_SUPPORT. More...
 
 CglParam (const double inf=COIN_DBL_MAX, const double eps=1e-6, const double eps_c=1e-5, const int max_s=COIN_INT_MAX)
 Default constructor. More...
 
 CglParam (const CglParam &)
 Copy constructor. More...
 
CglParamoperator= (const CglParam &rhs)
 Assignment operator. More...
 
virtual ~CglParam ()
 Destructor. More...
 

Protected Attributes

Parameters
double LUB
 Value considered large for the absolute value of lower or upper bound on a variable. More...
 
double EPS_ELIM
 Epsilon for value of coefficients when eliminating slack variables. More...
 
double EPS_RELAX_ABS
 Value added to the right hand side of each generated cut to relax it. More...
 
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. More...
 
double MAXDYN
 
double MAXDYN_LUB
 
double EPS_COEFF_LUB
 Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger than LUB. More...
 
double MINVIOL
 Minimum violation for the current basic solution in a generated cut. More...
 
int USE_INTSLACKS
 Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0. More...
 
int USE_CG2
 Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgcut_2()). More...
 
double normIsZero
 Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5. More...
 
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. More...
 
double away_
 Use row only if pivot variable should be integer but is more than away_ from being integer. More...
 
double maxTab_
 Maximum value for (mTab * mTab * CoinMax(mTab, nTab)). More...
 
- Protected Attributes inherited from CglParam
double INFINIT
 
double EPS
 
double EPS_COEFF
 
int MAX_SUPPORT
 Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More...
 

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 61 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 73 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 80 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 87 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 92 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 97 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMAXDYN ( double  value)
virtual
double CglRedSplitParam::getMAXDYN ( ) const
inline

Get the value of MAXDYN.

Definition at line 103 of file CglRedSplitParam.hpp.

virtual void CglRedSplitParam::setMAXDYN_LUB ( double  value)
virtual
double CglRedSplitParam::getMAXDYN_LUB ( ) const
inline

Get the value of MAXDYN_LUB.

Definition at line 111 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 118 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 124 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 129 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 134 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 140 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 146 of file CglRedSplitParam.hpp.

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

Set the maximum allowed value for (mTab * mTab * CoinMax(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 * CoinMax(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 155 of file CglRedSplitParam.hpp.

virtual CglRedSplitParam* CglRedSplitParam::clone ( ) const
virtual

Clone.

Reimplemented from CglParam.

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

Assignment operator.

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 213 of file CglRedSplitParam.hpp.

double CglRedSplitParam::EPS_ELIM
protected

Epsilon for value of coefficients when eliminating slack variables.

Default: 1e-12.

Definition at line 217 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 221 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 226 of file CglRedSplitParam.hpp.

double CglRedSplitParam::MAXDYN
protected

Definition at line 230 of file CglRedSplitParam.hpp.

double CglRedSplitParam::MAXDYN_LUB
protected

Definition at line 236 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 240 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 244 of file CglRedSplitParam.hpp.

int CglRedSplitParam::USE_INTSLACKS
protected

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

Definition at line 247 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 251 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 255 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 259 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 263 of file CglRedSplitParam.hpp.

double CglRedSplitParam::maxTab_
protected

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

See method setMaxTab().

Definition at line 267 of file CglRedSplitParam.hpp.


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