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

Class collecting parameters for the GMI cut generator. More...

#include <CglGMIParam.hpp>

+ Inheritance diagram for CglGMIParam:
+ Collaboration diagram for CglGMIParam:

Public Types

Enumerations
enum  CleaningProcedure {
  CP_CGLLANDP1, CP_CGLLANDP2, CP_CGLREDSPLIT, CP_INTEGRAL_CUTS,
  CP_CGLLANDP1_INT, CP_CGLLANDP1_SCALEMAX, CP_CGLLANDP1_SCALERHS
}
 

Public Member Functions

Set/get methods
void setInfinity (double value)
 Aliases for parameter get/set method in the base class CglParam. More...
 
double getInfinity () const
 
void setEps (double value)
 Epsilon for comparing numbers. More...
 
double getEps () const
 
void setEpsCoeff (double value)
 Epsilon for zeroing out coefficients. More...
 
double getEpsCoeff () const
 
void setMaxSupport (int value)
 Maximum support of the cutting planes. More...
 
int getMaxSupport () const
 
void setMaxSupportAbs (int value)
 Alias for consistency with our naming scheme. More...
 
int getMaxSupportAbs () const
 
int getMAX_SUPPORT_ABS () const
 
virtual void setAway (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.005. More...
 
double getAway () const
 Get value of away. More...
 
void setAWAY (double value)
 Aliases. More...
 
double getAWAY () const
 
virtual void setEPS_ELIM (double value)
 Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0. More...
 
double getEPS_ELIM () const
 Get the value of EPS_ELIM. More...
 
void setEpsElim (double value)
 Aliases. More...
 
double getEpsElim () const
 
virtual void setEPS_RELAX_ABS (double value)
 Set EPS_RELAX_ABS. More...
 
double getEPS_RELAX_ABS () const
 Get value of EPS_RELAX_ABS. More...
 
void setEpsRelaxAbs (double value)
 Aliases. More...
 
double getEpsRelaxAbs () const
 
virtual void setEPS_RELAX_REL (double value)
 Set EPS_RELAX_REL. More...
 
double getEPS_RELAX_REL () const
 Get value of EPS_RELAX_REL. More...
 
void setEpsRelaxRel (double value)
 Aliases. More...
 
double getEpsRelaxRel () const
 
virtual void setMAXDYN (double value)
 
double getMAXDYN () const
 Get the value of MAXDYN. More...
 
void setMaxDyn (double value)
 Aliases. More...
 
double getMaxDyn () const
 
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...
 
void setMinViol (double value)
 Aliases. More...
 
double getMinViol () const
 
virtual void setMAX_SUPPORT_REL (double value)
 Set the value of MAX_SUPPORT_REL, the factor contributing to the maximum support relative to the number of columns. More...
 
double getMAX_SUPPORT_REL () const
 Get the value of MINVIOL. More...
 
void setMaxSupportRel (double value)
 Aliases. More...
 
double getMaxSupportRel () const
 
virtual void setUSE_INTSLACKS (bool value)
 Set the value of USE_INTSLACKS. More...
 
bool getUSE_INTSLACKS () const
 Get the value of USE_INTSLACKS. More...
 
void setUseIntSlacks (bool value)
 Aliases. More...
 
int getUseIntSlacks () const
 
virtual void setCHECK_DUPLICATES (bool value)
 Set the value of CHECK_DUPLICATES. More...
 
bool getCHECK_DUPLICATES () const
 Get the value of CHECK_DUPLICATES. More...
 
void setCheckDuplicates (bool value)
 Aliases. More...
 
bool getCheckDuplicates () const
 
virtual void setCLEAN_PROC (CleaningProcedure value)
 Set the value of CLEAN_PROC. More...
 
CleaningProcedure getCLEAN_PROC () const
 Get the value of CLEAN_PROC. More...
 
void setCleanProc (CleaningProcedure value)
 Aliases. More...
 
CleaningProcedure getCleaningProcedure () const
 
virtual void setINTEGRAL_SCALE_CONT (bool value)
 Set the value of INTEGRAL_SCALE_CONT. More...
 
bool getINTEGRAL_SCALE_CONT () const
 Get the value of INTEGRAL_SCALE_CONT. More...
 
void setIntegralScaleCont (bool value)
 Aliases. More...
 
bool getIntegralScaleCont () const
 
virtual void setENFORCE_SCALING (bool value)
 Set the value of ENFORCE_SCALING. More...
 
bool getENFORCE_SCALING () const
 Get the value of ENFORCE_SCALING. More...
 
void setEnforceScaling (bool value)
 Aliases. More...
 
bool getEnforcescaling () const
 
Constructors and destructors
 CglGMIParam (double eps=1e-12, double away=0.005, double eps_coeff=1e-11, double eps_elim=0, double eps_relax_abs=1e-11, double eps_relax_rel=1e-13, double max_dyn=1e6, double min_viol=1e-4, int max_supp_abs=1000, double max_supp_rel=0.1, CleaningProcedure clean_proc=CP_CGLLANDP1, bool use_int_slacks=false, bool check_duplicates=false, bool integral_scale_cont=false, bool enforce_scaling=true)
 Default constructor. More...
 
 CglGMIParam (CglParam &source, double away=0.005, double eps_elim=1e-12, double eps_relax_abs=1e-11, double eps_relax_rel=1e-13, double max_dyn=1e6, double min_viol=1e-4, double max_supp_rel=0.1, CleaningProcedure clean_proc=CP_CGLLANDP1, bool use_int_slacks=false, bool check_duplicates=false, bool integral_scale_cont=false, bool enforce_scaling=true)
 Constructor from CglParam. More...
 
 CglGMIParam (const CglGMIParam &source)
 Copy constructor. More...
 
virtual CglGMIParamclone () const
 Clone. More...
 
virtual CglGMIParamoperator= (const CglGMIParam &rhs)
 Assignment operator. More...
 
virtual ~CglGMIParam ()
 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 AWAY
 Use row only if pivot variable should be integer but is more than AWAY from being integer. 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
 Maximum ratio between largest and smallest non zero coefficients in a cut. More...
 
double MINVIOL
 Minimum violation for the current basic solution in a generated cut. More...
 
double MAX_SUPPORT_REL
 Maximum support relative to number of columns. More...
 
CleaningProcedure CLEAN_PROC
 Which cleaning procedure should be used? More...
 
bool USE_INTSLACKS
 Use integer slacks to generate cuts if USE_INTSLACKS = 1. More...
 
bool CHECK_DUPLICATES
 Check for duplicates when adding the cut to the collection? More...
 
bool INTEGRAL_SCALE_CONT
 Should we try to rescale cut coefficients on continuous variables so that they become integral, or do we only rescale coefficients on integral variables? Used only by cleaning procedure that try the integral scaling. More...
 
bool ENFORCE_SCALING
 Should we discard badly scaled cuts (according to the scaling procedure in use)? If false, CglGMI::scaleCut always returns true, even though it still scales cuts whenever possible, but not cut is rejected for scaling. 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 for the GMI 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 52 of file CglGMIParam.hpp.

Member Enumeration Documentation

Enumerator
CP_CGLLANDP1 
CP_CGLLANDP2 
CP_CGLREDSPLIT 
CP_INTEGRAL_CUTS 
CP_CGLLANDP1_INT 
CP_CGLLANDP1_SCALEMAX 
CP_CGLLANDP1_SCALERHS 

Definition at line 57 of file CglGMIParam.hpp.

Constructor & Destructor Documentation

CglGMIParam::CglGMIParam ( double  eps = 1e-12,
double  away = 0.005,
double  eps_coeff = 1e-11,
double  eps_elim = 0,
double  eps_relax_abs = 1e-11,
double  eps_relax_rel = 1e-13,
double  max_dyn = 1e6,
double  min_viol = 1e-4,
int  max_supp_abs = 1000,
double  max_supp_rel = 0.1,
CleaningProcedure  clean_proc = CP_CGLLANDP1,
bool  use_int_slacks = false,
bool  check_duplicates = false,
bool  integral_scale_cont = false,
bool  enforce_scaling = true 
)

Default constructor.

CglGMIParam::CglGMIParam ( CglParam source,
double  away = 0.005,
double  eps_elim = 1e-12,
double  eps_relax_abs = 1e-11,
double  eps_relax_rel = 1e-13,
double  max_dyn = 1e6,
double  min_viol = 1e-4,
double  max_supp_rel = 0.1,
CleaningProcedure  clean_proc = CP_CGLLANDP1,
bool  use_int_slacks = false,
bool  check_duplicates = false,
bool  integral_scale_cont = false,
bool  enforce_scaling = true 
)

Constructor from CglParam.

CglGMIParam::CglGMIParam ( const CglGMIParam source)

Copy constructor.

virtual CglGMIParam::~CglGMIParam ( )
virtual

Destructor.

Member Function Documentation

void CglGMIParam::setInfinity ( double  value)
inline

Aliases for parameter get/set method in the base class CglParam.

Value for Infinity. Default: DBL_MAX

Definition at line 80 of file CglGMIParam.hpp.

double CglGMIParam::getInfinity ( ) const
inline

Definition at line 81 of file CglGMIParam.hpp.

void CglGMIParam::setEps ( double  value)
inline

Epsilon for comparing numbers.

Default: 1.0e-6

Definition at line 84 of file CglGMIParam.hpp.

double CglGMIParam::getEps ( ) const
inline

Definition at line 85 of file CglGMIParam.hpp.

void CglGMIParam::setEpsCoeff ( double  value)
inline

Epsilon for zeroing out coefficients.

Default: 1.0e-5

Definition at line 88 of file CglGMIParam.hpp.

double CglGMIParam::getEpsCoeff ( ) const
inline

Definition at line 89 of file CglGMIParam.hpp.

void CglGMIParam::setMaxSupport ( int  value)
inline

Maximum support of the cutting planes.

Default: INT_MAX

Definition at line 92 of file CglGMIParam.hpp.

int CglGMIParam::getMaxSupport ( ) const
inline

Definition at line 93 of file CglGMIParam.hpp.

void CglGMIParam::setMaxSupportAbs ( int  value)
inline

Alias for consistency with our naming scheme.

Definition at line 95 of file CglGMIParam.hpp.

int CglGMIParam::getMaxSupportAbs ( ) const
inline

Definition at line 96 of file CglGMIParam.hpp.

int CglGMIParam::getMAX_SUPPORT_ABS ( ) const
inline

Definition at line 97 of file CglGMIParam.hpp.

virtual void CglGMIParam::setAway ( 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.005.

double CglGMIParam::getAway ( ) const
inline

Get value of away.

Definition at line 105 of file CglGMIParam.hpp.

void CglGMIParam::setAWAY ( double  value)
inline

Aliases.

Definition at line 107 of file CglGMIParam.hpp.

double CglGMIParam::getAWAY ( ) const
inline

Definition at line 108 of file CglGMIParam.hpp.

virtual void CglGMIParam::setEPS_ELIM ( double  value)
virtual

Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.

double CglGMIParam::getEPS_ELIM ( ) const
inline

Get the value of EPS_ELIM.

Definition at line 115 of file CglGMIParam.hpp.

void CglGMIParam::setEpsElim ( double  value)
inline

Aliases.

Definition at line 117 of file CglGMIParam.hpp.

double CglGMIParam::getEpsElim ( ) const
inline

Definition at line 118 of file CglGMIParam.hpp.

virtual void CglGMIParam::setEPS_RELAX_ABS ( double  value)
virtual

Set EPS_RELAX_ABS.

double CglGMIParam::getEPS_RELAX_ABS ( ) const
inline

Get value of EPS_RELAX_ABS.

Definition at line 123 of file CglGMIParam.hpp.

void CglGMIParam::setEpsRelaxAbs ( double  value)
inline

Aliases.

Definition at line 125 of file CglGMIParam.hpp.

double CglGMIParam::getEpsRelaxAbs ( ) const
inline

Definition at line 126 of file CglGMIParam.hpp.

virtual void CglGMIParam::setEPS_RELAX_REL ( double  value)
virtual

Set EPS_RELAX_REL.

double CglGMIParam::getEPS_RELAX_REL ( ) const
inline

Get value of EPS_RELAX_REL.

Definition at line 131 of file CglGMIParam.hpp.

void CglGMIParam::setEpsRelaxRel ( double  value)
inline

Aliases.

Definition at line 133 of file CglGMIParam.hpp.

double CglGMIParam::getEpsRelaxRel ( ) const
inline

Definition at line 134 of file CglGMIParam.hpp.

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

Get the value of MAXDYN.

Definition at line 140 of file CglGMIParam.hpp.

void CglGMIParam::setMaxDyn ( double  value)
inline

Aliases.

Definition at line 142 of file CglGMIParam.hpp.

double CglGMIParam::getMaxDyn ( ) const
inline

Definition at line 143 of file CglGMIParam.hpp.

virtual void CglGMIParam::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 CglGMIParam::getMINVIOL ( ) const
inline

Get the value of MINVIOL.

Definition at line 149 of file CglGMIParam.hpp.

void CglGMIParam::setMinViol ( double  value)
inline

Aliases.

Definition at line 151 of file CglGMIParam.hpp.

double CglGMIParam::getMinViol ( ) const
inline

Definition at line 152 of file CglGMIParam.hpp.

virtual void CglGMIParam::setMAX_SUPPORT_REL ( double  value)
virtual

Set the value of MAX_SUPPORT_REL, the factor contributing to the maximum support relative to the number of columns.

Maximum allowed support is: MAX_SUPPORT_ABS + MAX_SUPPORT_REL*ncols. Default: 0.1

double CglGMIParam::getMAX_SUPPORT_REL ( ) const
inline

Get the value of MINVIOL.

Definition at line 160 of file CglGMIParam.hpp.

void CglGMIParam::setMaxSupportRel ( double  value)
inline

Aliases.

Definition at line 162 of file CglGMIParam.hpp.

double CglGMIParam::getMaxSupportRel ( ) const
inline

Definition at line 163 of file CglGMIParam.hpp.

virtual void CglGMIParam::setUSE_INTSLACKS ( bool  value)
virtual

Set the value of USE_INTSLACKS.

Default: 0

bool CglGMIParam::getUSE_INTSLACKS ( ) const
inline

Get the value of USE_INTSLACKS.

Definition at line 168 of file CglGMIParam.hpp.

void CglGMIParam::setUseIntSlacks ( bool  value)
inline

Aliases.

Definition at line 170 of file CglGMIParam.hpp.

int CglGMIParam::getUseIntSlacks ( ) const
inline

Definition at line 171 of file CglGMIParam.hpp.

virtual void CglGMIParam::setCHECK_DUPLICATES ( bool  value)
virtual

Set the value of CHECK_DUPLICATES.

Default: 0

bool CglGMIParam::getCHECK_DUPLICATES ( ) const
inline

Get the value of CHECK_DUPLICATES.

Definition at line 176 of file CglGMIParam.hpp.

void CglGMIParam::setCheckDuplicates ( bool  value)
inline

Aliases.

Definition at line 178 of file CglGMIParam.hpp.

bool CglGMIParam::getCheckDuplicates ( ) const
inline

Definition at line 179 of file CglGMIParam.hpp.

virtual void CglGMIParam::setCLEAN_PROC ( CleaningProcedure  value)
virtual

Set the value of CLEAN_PROC.

Default: CP_CGLLANDP1

CleaningProcedure CglGMIParam::getCLEAN_PROC ( ) const
inline

Get the value of CLEAN_PROC.

Definition at line 184 of file CglGMIParam.hpp.

void CglGMIParam::setCleanProc ( CleaningProcedure  value)
inline

Aliases.

Definition at line 186 of file CglGMIParam.hpp.

CleaningProcedure CglGMIParam::getCleaningProcedure ( ) const
inline

Definition at line 187 of file CglGMIParam.hpp.

virtual void CglGMIParam::setINTEGRAL_SCALE_CONT ( bool  value)
virtual

Set the value of INTEGRAL_SCALE_CONT.

Default: 0

bool CglGMIParam::getINTEGRAL_SCALE_CONT ( ) const
inline

Get the value of INTEGRAL_SCALE_CONT.

Definition at line 192 of file CglGMIParam.hpp.

void CglGMIParam::setIntegralScaleCont ( bool  value)
inline

Aliases.

Definition at line 194 of file CglGMIParam.hpp.

bool CglGMIParam::getIntegralScaleCont ( ) const
inline

Definition at line 195 of file CglGMIParam.hpp.

virtual void CglGMIParam::setENFORCE_SCALING ( bool  value)
virtual

Set the value of ENFORCE_SCALING.

Default: 1

bool CglGMIParam::getENFORCE_SCALING ( ) const
inline

Get the value of ENFORCE_SCALING.

Definition at line 200 of file CglGMIParam.hpp.

void CglGMIParam::setEnforceScaling ( bool  value)
inline

Aliases.

Definition at line 202 of file CglGMIParam.hpp.

bool CglGMIParam::getEnforcescaling ( ) const
inline

Definition at line 203 of file CglGMIParam.hpp.

virtual CglGMIParam* CglGMIParam::clone ( ) const
virtual

Clone.

Reimplemented from CglParam.

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

Assignment operator.

Member Data Documentation

double CglGMIParam::AWAY
protected

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

Definition at line 261 of file CglGMIParam.hpp.

double CglGMIParam::EPS_ELIM
protected

Epsilon for value of coefficients when eliminating slack variables.

Default: 0.

Definition at line 265 of file CglGMIParam.hpp.

double CglGMIParam::EPS_RELAX_ABS
protected

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

Default: 1e-11

Definition at line 269 of file CglGMIParam.hpp.

double CglGMIParam::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: 1.e-13

Definition at line 274 of file CglGMIParam.hpp.

double CglGMIParam::MAXDYN
protected

Maximum ratio between largest and smallest non zero coefficients in a cut.

Default: 1e6.

Definition at line 278 of file CglGMIParam.hpp.

double CglGMIParam::MINVIOL
protected

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

Default: 1e-4.

Definition at line 282 of file CglGMIParam.hpp.

double CglGMIParam::MAX_SUPPORT_REL
protected

Maximum support relative to number of columns.

Must be between 0 and 1. Default: 0.

Definition at line 286 of file CglGMIParam.hpp.

CleaningProcedure CglGMIParam::CLEAN_PROC
protected

Which cleaning procedure should be used?

Definition at line 289 of file CglGMIParam.hpp.

bool CglGMIParam::USE_INTSLACKS
protected

Use integer slacks to generate cuts if USE_INTSLACKS = 1.

Default: 0.

Definition at line 292 of file CglGMIParam.hpp.

bool CglGMIParam::CHECK_DUPLICATES
protected

Check for duplicates when adding the cut to the collection?

Definition at line 295 of file CglGMIParam.hpp.

bool CglGMIParam::INTEGRAL_SCALE_CONT
protected

Should we try to rescale cut coefficients on continuous variables so that they become integral, or do we only rescale coefficients on integral variables? Used only by cleaning procedure that try the integral scaling.

Definition at line 301 of file CglGMIParam.hpp.

bool CglGMIParam::ENFORCE_SCALING
protected

Should we discard badly scaled cuts (according to the scaling procedure in use)? If false, CglGMI::scaleCut always returns true, even though it still scales cuts whenever possible, but not cut is rejected for scaling.

Default true. Used only by cleaning procedure that try to scale.

Definition at line 308 of file CglGMIParam.hpp.


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