CglGMIParam Class Reference

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

#include <CglGMIParam.hpp>

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

List of all members.

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.
double getInfinity () const
 Aliases for parameter get/set method in the base class CglParam.
void setEps (double value)
 Epsilon for comparing numbers.
double getEps () const
 Aliases for parameter get/set method in the base class CglParam.
void setEpsCoeff (double value)
 Epsilon for zeroing out coefficients.
double getEpsCoeff () const
 Aliases for parameter get/set method in the base class CglParam.
void setMaxSupport (int value)
 Maximum support of the cutting planes.
int getMaxSupport () const
 Aliases for parameter get/set method in the base class CglParam.
void setMaxSupportAbs (int value)
 Alias for consistency with our naming scheme.
int getMaxSupportAbs () const
 Aliases for parameter get/set method in the base class CglParam.
int getMAX_SUPPORT_ABS () const
 Aliases for parameter get/set method in the base class CglParam.
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.
double getAway () const
 Get value of away.
void setAWAY (double value)
 Aliases.
double getAWAY () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setEPS_ELIM (double value)
 Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.
double getEPS_ELIM () const
 Get the value of EPS_ELIM.
void setEpsElim (double value)
 Aliases.
double getEpsElim () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setEPS_RELAX_ABS (double value)
 Set EPS_RELAX_ABS.
double getEPS_RELAX_ABS () const
 Get value of EPS_RELAX_ABS.
void setEpsRelaxAbs (double value)
 Aliases.
double getEpsRelaxAbs () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setEPS_RELAX_REL (double value)
 Set EPS_RELAX_REL.
double getEPS_RELAX_REL () const
 Get value of EPS_RELAX_REL.
void setEpsRelaxRel (double value)
 Aliases.
double getEpsRelaxRel () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setMAXDYN (double value)
 Aliases for parameter get/set method in the base class CglParam.
double getMAXDYN () const
 Get the value of MAXDYN.
void setMaxDyn (double value)
 Aliases.
double getMaxDyn () const
 Aliases for parameter get/set method in the base class CglParam.
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.
void setMinViol (double value)
 Aliases.
double getMinViol () const
 Aliases for parameter get/set method in the base class CglParam.
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.
double getMAX_SUPPORT_REL () const
 Get the value of MINVIOL.
void setMaxSupportRel (double value)
 Aliases.
double getMaxSupportRel () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setUSE_INTSLACKS (bool value)
 Set the value of USE_INTSLACKS.
bool getUSE_INTSLACKS () const
 Get the value of USE_INTSLACKS.
void setUseIntSlacks (bool value)
 Aliases.
int getUseIntSlacks () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setCHECK_DUPLICATES (bool value)
 Set the value of CHECK_DUPLICATES.
bool getCHECK_DUPLICATES () const
 Get the value of CHECK_DUPLICATES.
void setCheckDuplicates (bool value)
 Aliases.
bool getCheckDuplicates () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setCLEAN_PROC (CleaningProcedure value)
 Set the value of CLEAN_PROC.
CleaningProcedure getCLEAN_PROC () const
 Get the value of CLEAN_PROC.
void setCleanProc (CleaningProcedure value)
 Aliases.
CleaningProcedure getCleaningProcedure () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setINTEGRAL_SCALE_CONT (bool value)
 Set the value of INTEGRAL_SCALE_CONT.
bool getINTEGRAL_SCALE_CONT () const
 Get the value of INTEGRAL_SCALE_CONT.
void setIntegralScaleCont (bool value)
 Aliases.
bool getIntegralScaleCont () const
 Aliases for parameter get/set method in the base class CglParam.
virtual void setENFORCE_SCALING (bool value)
 Set the value of ENFORCE_SCALING.
bool getENFORCE_SCALING () const
 Get the value of ENFORCE_SCALING.
void setEnforceScaling (bool value)
 Aliases.
bool getEnforcescaling () const
 Aliases for parameter get/set method in the base class CglParam.
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.
 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 (const CglGMIParam &source)
 Copy constructor.
virtual CglGMIParamclone () const
 Clone.
virtual CglGMIParamoperator= (const CglGMIParam &rhs)
 Assignment operator.
virtual ~CglGMIParam ()
 Destructor.

Protected Attributes

Parameters



double AWAY
 Use row only if pivot variable should be integer but is more than AWAY from being integer.
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
 Maximum ratio between largest and smallest non zero coefficients in a cut.
double MINVIOL
 Minimum violation for the current basic solution in a generated cut.
double MAX_SUPPORT_REL
 Maximum support relative to number of columns.
CleaningProcedure CLEAN_PROC
 Which cleaning procedure should be used?
bool USE_INTSLACKS
 Use integer slacks to generate cuts if USE_INTSLACKS = 1.
bool CHECK_DUPLICATES
 Check for duplicates when adding the cut to the collection?
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.
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.

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

Definition at line 96 of file CglGMIParam.hpp.

int CglGMIParam::getMAX_SUPPORT_ABS (  )  const [inline]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

Definition at line 134 of file CglGMIParam.hpp.

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

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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]

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

Value for Infinity. Default: DBL_MAX

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.

Reimplemented from CglParam.


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.

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.

Check for duplicates when adding the cut to the collection?

Definition at line 295 of file CglGMIParam.hpp.

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:

Generated on 5 Apr 2015 by  doxygen 1.6.1