Loading...
Searching...
No Matches
CglGMIParam.hpp
Go to the documentation of this file.
// Name: CglGMIParam.hpp
// Author: Giacomo Nannicini
// Singapore University of Technology and Design
// email: nannicini@sutd.edu.sg
// based on CglRedSplitParam.hpp by Francois Margot
// Date: 11/17/09
//-----------------------------------------------------------------------------
// Copyright (C) 2009, Giacomo Nannicini and others. All Rights Reserved.
#ifndef CglGMIParam_H
#define CglGMIParam_H
#include "CglParam.hpp"
class CglGMIParam : public CglParam {
public:
enum CleaningProcedure{
/* CglLandP procedure I */
CP_CGLLANDP1,
/* CglLandP procedure II */
CP_CGLLANDP2,
/* CglRedSplit procedure I */
CP_CGLREDSPLIT,
/* Only integral cuts, i.e. cuts with integral coefficients */
CP_INTEGRAL_CUTS,
/* CglLandP procedure I with integral scaling */
CP_CGLLANDP1_INT,
/* CglLandP procedure I with scaling of the max element to 1 if possible */
CP_CGLLANDP1_SCALEMAX,
/* CglLandP procedure I with scaling of the rhs to 1 if possible */
CP_CGLLANDP1_SCALERHS
};
inline void setInfinity(double value) {setINFINIT(value);}
inline double getInfinity() const {return INFINIT;}
inline void setEps(double value) {setEPS(value);}
inline double getEps() const {return EPS;}
inline void setEpsCoeff(double value) {setEPS_COEFF(value);}
inline double getEpsCoeff() const {return EPS_COEFF;}
inline void setMaxSupport(int value) {setMAX_SUPPORT(value);}
inline int getMaxSupport() const {return MAX_SUPPORT;}
inline void setMaxSupportAbs(int value) {setMAX_SUPPORT(value);}
inline int getMaxSupportAbs() const {return MAX_SUPPORT;}
inline int getMAX_SUPPORT_ABS() const {return MAX_SUPPORT;}
virtual void setAway(double value);
inline double getAway() const {return AWAY;}
inline void setAWAY(double value) {setAway(value);}
inline double getAWAY() const {return AWAY;}
virtual void setEPS_ELIM(double value);
inline double getEPS_ELIM() const {return EPS_ELIM;}
inline void setEpsElim(double value) {setEPS_ELIM(value);}
inline double getEpsElim() const {return EPS_ELIM;}
virtual void setEPS_RELAX_ABS(double value);
inline double getEPS_RELAX_ABS() const {return EPS_RELAX_ABS;}
inline void setEpsRelaxAbs(double value) {setEPS_RELAX_ABS(value);}
inline double getEpsRelaxAbs() const {return EPS_RELAX_ABS;}
virtual void setEPS_RELAX_REL(double value);
inline double getEPS_RELAX_REL() const {return EPS_RELAX_REL;}
inline void setEpsRelaxRel(double value) {setEPS_RELAX_REL(value);}
inline double getEpsRelaxRel() const {return EPS_RELAX_REL;}
// Set the maximum ratio between largest and smallest non zero
// coefficients in a cut. Default: 1e6.
virtual void setMAXDYN(double value);
inline double getMAXDYN() const {return MAXDYN;}
inline void setMaxDyn(double value) {setMAXDYN(value);}
inline double getMaxDyn() const {return MAXDYN;}
virtual void setMINVIOL(double value);
inline double getMINVIOL() const {return MINVIOL;}
inline void setMinViol(double value) {setMINVIOL(value);}
inline double getMinViol() const {return MINVIOL;}
virtual void setMAX_SUPPORT_REL(double value);
inline double getMAX_SUPPORT_REL() const {return MAX_SUPPORT_REL;}
inline void setMaxSupportRel(double value) {setMAX_SUPPORT_REL(value);}
inline double getMaxSupportRel() const {return MAX_SUPPORT_REL;}
virtual void setUSE_INTSLACKS(bool value);
inline bool getUSE_INTSLACKS() const {return USE_INTSLACKS;}
inline void setUseIntSlacks(bool value) {setUSE_INTSLACKS(value);}
inline int getUseIntSlacks() const {return USE_INTSLACKS;}
virtual void setCHECK_DUPLICATES(bool value);
inline bool getCHECK_DUPLICATES() const {return CHECK_DUPLICATES;}
inline void setCheckDuplicates(bool value) {setCHECK_DUPLICATES(value);}
inline bool getCheckDuplicates() const {return CHECK_DUPLICATES;}
virtual void setCLEAN_PROC(CleaningProcedure value);
inline CleaningProcedure getCLEAN_PROC() const {return CLEAN_PROC;}
inline void setCleanProc(CleaningProcedure value) {setCLEAN_PROC(value);}
inline CleaningProcedure getCleaningProcedure() const {return CLEAN_PROC;}
virtual void setINTEGRAL_SCALE_CONT(bool value);
inline bool getINTEGRAL_SCALE_CONT() const {return INTEGRAL_SCALE_CONT;}
inline void setIntegralScaleCont(bool value) {setINTEGRAL_SCALE_CONT(value);}
inline bool getIntegralScaleCont() const {return INTEGRAL_SCALE_CONT;}
virtual void setENFORCE_SCALING(bool value);
inline bool getENFORCE_SCALING() const {return ENFORCE_SCALING;}
inline void setEnforceScaling(bool value) {setENFORCE_SCALING(value);}
inline bool getEnforcescaling() const {return ENFORCE_SCALING;}
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);
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);
CglGMIParam(const CglGMIParam &source);
virtual CglGMIParam* clone() const;
virtual CglGMIParam& operator=(const CglGMIParam &rhs);
virtual ~CglGMIParam();
protected:
double AWAY;
double EPS_ELIM;
double EPS_RELAX_ABS;
double EPS_RELAX_REL;
double MAXDYN;
double MINVIOL;
double MAX_SUPPORT_REL;
CleaningProcedure CLEAN_PROC;
bool USE_INTSLACKS;
bool CHECK_DUPLICATES;
bool INTEGRAL_SCALE_CONT;
bool ENFORCE_SCALING;
};
#endif
CglParam.hpp
CglGMIParam::getENFORCE_SCALING
bool getENFORCE_SCALING() const
Get the value of ENFORCE_SCALING.
Definition CglGMIParam.hpp:200
CglGMIParam::setEpsRelaxRel
void setEpsRelaxRel(double value)
Aliases.
Definition CglGMIParam.hpp:133
CglGMIParam::setMINVIOL
virtual void setMINVIOL(double value)
Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.
CglGMIParam::setENFORCE_SCALING
virtual void setENFORCE_SCALING(bool value)
Set the value of ENFORCE_SCALING.
CglGMIParam::ENFORCE_SCALING
bool ENFORCE_SCALING
Should we discard badly scaled cuts (according to the scaling procedure in use)?
Definition CglGMIParam.hpp:308
CglGMIParam::getMINVIOL
double getMINVIOL() const
Get the value of MINVIOL.
Definition CglGMIParam.hpp:149
CglGMIParam::setMaxSupportRel
void setMaxSupportRel(double value)
Aliases.
Definition CglGMIParam.hpp:162
CglGMIParam::setMaxSupportAbs
void setMaxSupportAbs(int value)
Alias for consistency with our naming scheme.
Definition CglGMIParam.hpp:95
CglGMIParam::setEPS_ELIM
virtual void setEPS_ELIM(double value)
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Defau...
CglGMIParam::MAXDYN
double MAXDYN
Maximum ratio between largest and smallest non zero coefficients in a cut.
Definition CglGMIParam.hpp:278
CglGMIParam::getCheckDuplicates
bool getCheckDuplicates() const
Definition CglGMIParam.hpp:179
CglGMIParam::operator=
virtual CglGMIParam & operator=(const CglGMIParam &rhs)
Assignment operator.
CglGMIParam::setUSE_INTSLACKS
virtual void setUSE_INTSLACKS(bool value)
Set the value of USE_INTSLACKS.
CglGMIParam::getINTEGRAL_SCALE_CONT
bool getINTEGRAL_SCALE_CONT() const
Get the value of INTEGRAL_SCALE_CONT.
Definition CglGMIParam.hpp:192
CglGMIParam::EPS_RELAX_REL
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 ...
Definition CglGMIParam.hpp:274
CglGMIParam::setEpsCoeff
void setEpsCoeff(double value)
Epsilon for zeroing out coefficients.
Definition CglGMIParam.hpp:88
CglGMIParam::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::getMaxSupport
int getMaxSupport() const
Definition CglGMIParam.hpp:93
CglGMIParam::setMAX_SUPPORT_REL
virtual void setMAX_SUPPORT_REL(double value)
Set the value of MAX_SUPPORT_REL, the factor contributing to the maximum support relative to the numb...
CglGMIParam::getCleaningProcedure
CleaningProcedure getCleaningProcedure() const
Definition CglGMIParam.hpp:187
CglGMIParam::CglGMIParam
CglGMIParam(const CglGMIParam &source)
Copy constructor.
CglGMIParam::setEpsRelaxAbs
void setEpsRelaxAbs(double value)
Aliases.
Definition CglGMIParam.hpp:125
CglGMIParam::getEPS_RELAX_ABS
double getEPS_RELAX_ABS() const
Get value of EPS_RELAX_ABS.
Definition CglGMIParam.hpp:123
CglGMIParam::getMAX_SUPPORT_REL
double getMAX_SUPPORT_REL() const
Get the value of MINVIOL.
Definition CglGMIParam.hpp:160
CglGMIParam::getMaxDyn
double getMaxDyn() const
Definition CglGMIParam.hpp:143
CglGMIParam::setEps
void setEps(double value)
Epsilon for comparing numbers.
Definition CglGMIParam.hpp:84
CglGMIParam::getAway
double getAway() const
Get value of away.
Definition CglGMIParam.hpp:105
CglGMIParam::getMaxSupportRel
double getMaxSupportRel() const
Definition CglGMIParam.hpp:163
CglGMIParam::setMinViol
void setMinViol(double value)
Aliases.
Definition CglGMIParam.hpp:151
CglGMIParam::setInfinity
void setInfinity(double value)
Aliases for parameter get/set method in the base class CglParam.
Definition CglGMIParam.hpp:80
CglGMIParam::USE_INTSLACKS
bool USE_INTSLACKS
Use integer slacks to generate cuts if USE_INTSLACKS = 1.
Definition CglGMIParam.hpp:292
CglGMIParam::getCLEAN_PROC
CleaningProcedure getCLEAN_PROC() const
Get the value of CLEAN_PROC.
Definition CglGMIParam.hpp:184
CglGMIParam::setMaxDyn
void setMaxDyn(double value)
Aliases.
Definition CglGMIParam.hpp:142
CglGMIParam::getMAXDYN
double getMAXDYN() const
Get the value of MAXDYN.
Definition CglGMIParam.hpp:140
CglGMIParam::getEpsElim
double getEpsElim() const
Definition CglGMIParam.hpp:118
CglGMIParam::CLEAN_PROC
CleaningProcedure CLEAN_PROC
Which cleaning procedure should be used?
Definition CglGMIParam.hpp:289
CglGMIParam::CHECK_DUPLICATES
bool CHECK_DUPLICATES
Check for duplicates when adding the cut to the collection?
Definition CglGMIParam.hpp:295
CglGMIParam::AWAY
double AWAY
Use row only if pivot variable should be integer but is more than AWAY from being integer.
Definition CglGMIParam.hpp:261
CglGMIParam::setMAXDYN
virtual void setMAXDYN(double value)
CglGMIParam::setUseIntSlacks
void setUseIntSlacks(bool value)
Aliases.
Definition CglGMIParam.hpp:170
CglGMIParam::MINVIOL
double MINVIOL
Minimum violation for the current basic solution in a generated cut.
Definition CglGMIParam.hpp:282
CglGMIParam::setMaxSupport
void setMaxSupport(int value)
Maximum support of the cutting planes.
Definition CglGMIParam.hpp:92
CglGMIParam::setCheckDuplicates
void setCheckDuplicates(bool value)
Aliases.
Definition CglGMIParam.hpp:178
CglGMIParam::getEpsCoeff
double getEpsCoeff() const
Definition CglGMIParam.hpp:89
CglGMIParam::CleaningProcedure
CleaningProcedure
Definition CglGMIParam.hpp:57
CglGMIParam::CP_CGLREDSPLIT
@ CP_CGLREDSPLIT
Definition CglGMIParam.hpp:63
CglGMIParam::CP_INTEGRAL_CUTS
@ CP_INTEGRAL_CUTS
Definition CglGMIParam.hpp:65
CglGMIParam::CP_CGLLANDP1
@ CP_CGLLANDP1
Definition CglGMIParam.hpp:59
CglGMIParam::CP_CGLLANDP1_SCALERHS
@ CP_CGLLANDP1_SCALERHS
Definition CglGMIParam.hpp:71
CglGMIParam::CP_CGLLANDP2
@ CP_CGLLANDP2
Definition CglGMIParam.hpp:61
CglGMIParam::CP_CGLLANDP1_INT
@ CP_CGLLANDP1_INT
Definition CglGMIParam.hpp:67
CglGMIParam::CP_CGLLANDP1_SCALEMAX
@ CP_CGLLANDP1_SCALEMAX
Definition CglGMIParam.hpp:69
CglGMIParam::getEpsRelaxAbs
double getEpsRelaxAbs() const
Definition CglGMIParam.hpp:126
CglGMIParam::getMaxSupportAbs
int getMaxSupportAbs() const
Definition CglGMIParam.hpp:96
CglGMIParam::getEPS_RELAX_REL
double getEPS_RELAX_REL() const
Get value of EPS_RELAX_REL.
Definition CglGMIParam.hpp:131
CglGMIParam::setEpsElim
void setEpsElim(double value)
Aliases.
Definition CglGMIParam.hpp:117
CglGMIParam::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::INTEGRAL_SCALE_CONT
bool INTEGRAL_SCALE_CONT
Should we try to rescale cut coefficients on continuous variables so that they become integral,...
Definition CglGMIParam.hpp:301
CglGMIParam::setAWAY
void setAWAY(double value)
Aliases.
Definition CglGMIParam.hpp:107
CglGMIParam::getEps
double getEps() const
Definition CglGMIParam.hpp:85
CglGMIParam::setCLEAN_PROC
virtual void setCLEAN_PROC(CleaningProcedure value)
Set the value of CLEAN_PROC.
CglGMIParam::EPS_RELAX_ABS
double EPS_RELAX_ABS
Value added to the right hand side of each generated cut to relax it.
Definition CglGMIParam.hpp:269
CglGMIParam::~CglGMIParam
virtual ~CglGMIParam()
Destructor.
CglGMIParam::EPS_ELIM
double EPS_ELIM
Epsilon for value of coefficients when eliminating slack variables.
Definition CglGMIParam.hpp:265
CglGMIParam::setCHECK_DUPLICATES
virtual void setCHECK_DUPLICATES(bool value)
Set the value of CHECK_DUPLICATES.
CglGMIParam::getEnforcescaling
bool getEnforcescaling() const
Definition CglGMIParam.hpp:203
CglGMIParam::getMAX_SUPPORT_ABS
int getMAX_SUPPORT_ABS() const
Definition CglGMIParam.hpp:97
CglGMIParam::getEPS_ELIM
double getEPS_ELIM() const
Get the value of EPS_ELIM.
Definition CglGMIParam.hpp:115
CglGMIParam::MAX_SUPPORT_REL
double MAX_SUPPORT_REL
Maximum support relative to number of columns.
Definition CglGMIParam.hpp:286
CglGMIParam::setCleanProc
void setCleanProc(CleaningProcedure value)
Aliases.
Definition CglGMIParam.hpp:186
CglGMIParam::setEnforceScaling
void setEnforceScaling(bool value)
Aliases.
Definition CglGMIParam.hpp:202
CglGMIParam::setAway
virtual void setAway(double value)
Set AWAY, the minimum distance from being integer used for selecting rows for cut generation; all row...
CglGMIParam::getUSE_INTSLACKS
bool getUSE_INTSLACKS() const
Get the value of USE_INTSLACKS.
Definition CglGMIParam.hpp:168
CglGMIParam::setEPS_RELAX_ABS
virtual void setEPS_RELAX_ABS(double value)
Set EPS_RELAX_ABS.
CglGMIParam::getEpsRelaxRel
double getEpsRelaxRel() const
Definition CglGMIParam.hpp:134
CglGMIParam::getCHECK_DUPLICATES
bool getCHECK_DUPLICATES() const
Get the value of CHECK_DUPLICATES.
Definition CglGMIParam.hpp:176
CglGMIParam::getUseIntSlacks
int getUseIntSlacks() const
Definition CglGMIParam.hpp:171
CglGMIParam::setINTEGRAL_SCALE_CONT
virtual void setINTEGRAL_SCALE_CONT(bool value)
Set the value of INTEGRAL_SCALE_CONT.
CglGMIParam::getIntegralScaleCont
bool getIntegralScaleCont() const
Definition CglGMIParam.hpp:195
CglGMIParam::setEPS_RELAX_REL
virtual void setEPS_RELAX_REL(double value)
Set EPS_RELAX_REL.
CglGMIParam::setIntegralScaleCont
void setIntegralScaleCont(bool value)
Aliases.
Definition CglGMIParam.hpp:194
CglGMIParam::getInfinity
double getInfinity() const
Definition CglGMIParam.hpp:81
CglGMIParam::clone
virtual CglGMIParam * clone() const
Clone.
CglGMIParam::getAWAY
double getAWAY() const
Definition CglGMIParam.hpp:108
CglGMIParam::getMinViol
double getMinViol() const
Definition CglGMIParam.hpp:152
CglParam::EPS_COEFF
double EPS_COEFF
Definition CglParam.hpp:82
CglParam::setINFINIT
virtual void setINFINIT(const double inf)
Set INFINIT.
CglParam::MAX_SUPPORT
int MAX_SUPPORT
Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX.
Definition CglParam.hpp:86
CglParam::setEPS_COEFF
virtual void setEPS_COEFF(const double eps_c)
Set EPS_COEFF.
CglParam::INFINIT
double INFINIT
Definition CglParam.hpp:75
CglParam::CglParam
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.
CglParam::setEPS
virtual void setEPS(const double eps)
Set EPS.
CglParam::setMAX_SUPPORT
virtual void setMAX_SUPPORT(const int max_s)
Set MAX_SUPPORT.
CglParam::EPS
double EPS
Definition CglParam.hpp:78