Class collecting parameters for the GMI cut generator. More...
#include <CglGMIParam.hpp>
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
void | setEps (double value) |
Epsilon for comparing numbers. More... | |
double | getEps () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
void | setEpsCoeff (double value) |
Epsilon for zeroing out coefficients. More... | |
double | getEpsCoeff () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
void | setMaxSupport (int value) |
Maximum support of the cutting planes. More... | |
int | getMaxSupport () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
void | setMaxSupportAbs (int value) |
Alias for consistency with our naming scheme. More... | |
int | getMaxSupportAbs () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
int | getMAX_SUPPORT_ABS () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
virtual void | setMAXDYN (double value) |
Aliases for parameter get/set method in the base class CglParam. More... | |
double | getMAXDYN () const |
Get the value of MAXDYN. More... | |
void | setMaxDyn (double value) |
Aliases. More... | |
double | getMaxDyn () const |
Aliases for parameter get/set method in the base class CglParam. 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... | |
void | setMinViol (double value) |
Aliases. More... | |
double | getMinViol () const |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 |
Aliases for parameter get/set method in the base class CglParam. More... | |
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 CglGMIParam * | clone () const |
Clone. More... | |
virtual CglGMIParam & | operator= (const CglGMIParam &rhs) |
Assignment operator. More... | |
virtual | ~CglGMIParam () |
Destructor. More... | |
![]() | |
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... | |
CglParam & | operator= (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... | |
![]() | |
double | INFINIT |
Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More... | |
double | EPS |
Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More... | |
double | EPS_COEFF |
Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More... | |
int | MAX_SUPPORT |
Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More... | |
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.
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.
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 |
Destructor.
|
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.
|
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.
|
inline |
|
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.
|
inline |
Epsilon for zeroing out coefficients.
Default: 1.0e-5
Definition at line 88 of file CglGMIParam.hpp.
|
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.
|
inline |
Maximum support of the cutting planes.
Default: INT_MAX
Definition at line 92 of file CglGMIParam.hpp.
|
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.
|
inline |
Alias for consistency with our naming scheme.
Definition at line 95 of file CglGMIParam.hpp.
|
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.
|
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 |
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.
|
inline |
Get value of away.
Definition at line 105 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 107 of file CglGMIParam.hpp.
|
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 |
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.
|
inline |
Get the value of EPS_ELIM.
Definition at line 115 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 117 of file CglGMIParam.hpp.
|
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 |
Set EPS_RELAX_ABS.
|
inline |
Get value of EPS_RELAX_ABS.
Definition at line 123 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 125 of file CglGMIParam.hpp.
|
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 |
Set EPS_RELAX_REL.
|
inline |
Get value of EPS_RELAX_REL.
Definition at line 131 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 133 of file CglGMIParam.hpp.
|
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 |
Aliases for parameter get/set method in the base class CglParam.
Value for Infinity. Default: DBL_MAX
|
inline |
Get the value of MAXDYN.
Definition at line 140 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 142 of file CglGMIParam.hpp.
|
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 |
Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.
Default: 1e-7
|
inline |
Get the value of MINVIOL.
Definition at line 149 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 151 of file CglGMIParam.hpp.
|
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 |
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
|
inline |
Get the value of MINVIOL.
Definition at line 160 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 162 of file CglGMIParam.hpp.
|
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 |
Set the value of USE_INTSLACKS.
Default: 0
|
inline |
Get the value of USE_INTSLACKS.
Definition at line 168 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 170 of file CglGMIParam.hpp.
|
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 |
Set the value of CHECK_DUPLICATES.
Default: 0
|
inline |
Get the value of CHECK_DUPLICATES.
Definition at line 176 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 178 of file CglGMIParam.hpp.
|
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 |
Set the value of CLEAN_PROC.
Default: CP_CGLLANDP1
|
inline |
Get the value of CLEAN_PROC.
Definition at line 184 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 186 of file CglGMIParam.hpp.
|
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 |
Set the value of INTEGRAL_SCALE_CONT.
Default: 0
|
inline |
Get the value of INTEGRAL_SCALE_CONT.
Definition at line 192 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 194 of file CglGMIParam.hpp.
|
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 |
Set the value of ENFORCE_SCALING.
Default: 1
|
inline |
Get the value of ENFORCE_SCALING.
Definition at line 200 of file CglGMIParam.hpp.
|
inline |
Aliases.
Definition at line 202 of file CglGMIParam.hpp.
|
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 |
Clone.
Reimplemented from CglParam.
|
virtual |
Assignment operator.
|
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.
|
protected |
Epsilon for value of coefficients when eliminating slack variables.
Default: 0.
Definition at line 265 of file CglGMIParam.hpp.
|
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.
|
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.
|
protected |
Maximum ratio between largest and smallest non zero coefficients in a cut.
Default: 1e6.
Definition at line 278 of file CglGMIParam.hpp.
|
protected |
Minimum violation for the current basic solution in a generated cut.
Default: 1e-4.
Definition at line 282 of file CglGMIParam.hpp.
|
protected |
Maximum support relative to number of columns.
Must be between 0 and 1. Default: 0.
Definition at line 286 of file CglGMIParam.hpp.
|
protected |
Which cleaning procedure should be used?
Definition at line 289 of file CglGMIParam.hpp.
|
protected |
Use integer slacks to generate cuts if USE_INTSLACKS = 1.
Default: 0.
Definition at line 292 of file CglGMIParam.hpp.
|
protected |
Check for duplicates when adding the cut to the collection?
Definition at line 295 of file CglGMIParam.hpp.
|
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.
|
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.