13 #ifndef CglRedSplitParam_H
14 #define CglRedSplitParam_H
71 virtual void setAway(
const double value);
78 virtual void setLUB(
const double value);
153 virtual void setMaxTab(
const double value);
162 const double eps_elim = 1e-12,
163 const double eps_relax_abs = 1e-8,
164 const double eps_relax_rel = 0.0,
165 const double max_dyn = 1e8,
166 const double max_dyn_lub = 1e13,
167 const double eps_coeff_lub = 1e-13,
168 const double min_viol = 1e-7,
169 const int use_int_slacks = 0,
170 const int use_cg2 = 0,
171 const double norm_zero = 1e-5,
172 const double min_reduc = 0.05,
173 const double away = 0.05,
174 const double max_tab = 1e7);
178 const double lub = 1000.0,
179 const double eps_elim = 1e-12,
180 const double eps_relax_abs = 1e-8,
181 const double eps_relax_rel = 0.0,
182 const double max_dyn = 1e8,
183 const double max_dyn_lub = 1e13,
184 const double eps_coeff_lub = 1e-13,
185 const double min_viol = 1e-7,
186 const int use_int_slacks = 0,
187 const int use_cg2 = 0,
188 const double norm_zero = 1e-5,
189 const double min_reduc = 0.05,
190 const double away = 0.05,
191 const double max_tab = 1e7);
double maxTab_
Maximum value for (mTab * mTab * CoinMax(mTab, nTab)).
virtual void setAway(const double value)
Set away, the minimum distance from being integer used for selecting rows for cut generation; all row...
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 va...
virtual CglRedSplitParam * clone() const
Clone.
double getEPS_COEFF_LUB() const
Get the value of EPS_COEFF_LUB.
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 ...
double getNormIsZero() const
Get the value of normIsZero.
virtual void setMAXDYN_LUB(double value)
virtual void setUSE_INTSLACKS(int value)
Set the value of USE_INTSLACKS.
virtual void setUSE_CG2(int value)
Set the value of USE_CG2.
double getLUB() const
Get the value of LUB.
virtual void setMAXDYN(double value)
double getAway() const
Get value of away.
virtual void setMINVIOL(double value)
Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut...
double getMinReduc() const
Get the value of minReduc.
int getUSE_CG2() const
Get the value of USE_CG2.
double getMINVIOL() const
Get the value of MINVIOL.
double MINVIOL
Minimum violation for the current basic solution in a generated cut.
void setEPS_ELIM(const double value)
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Defau...
virtual void setMinReduc(const double value)
Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Defaul...
double getEPS_RELAX_REL() const
Get value of EPS_RELAX_REL.
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.
int USE_INTSLACKS
Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
int USE_CG2
Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgc...
double EPS_RELAX_ABS
Value added to the right hand side of each generated cut to relax it.
double normIsZero
Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
Class collecting parameters for all cut generators.
double away_
Use row only if pivot variable should be integer but is more than away_ from being integer...
virtual ~CglRedSplitParam()
Destructor.
double getEPS_ELIM() const
Get the value of EPS_ELIM.
double getEPS_RELAX_ABS() const
Get value of EPS_RELAX_ABS.
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 ...
int getUSE_INTSLACKS() const
Get the value of USE_INTSLACKS.
double getMaxTab() const
Get the value of maxTab.
virtual void setNormIsZero(const double value)
Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5...
double getMAXDYN_LUB() const
Get the value of MAXDYN_LUB.
double LUB
Value considered large for the absolute value of lower or upper bound on a variable.
double EPS_COEFF_LUB
Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger th...
double minReduc
Minimum reduction in percent that must be achieved by a potential reduction step in order to be perfo...
Class collecting parameters the Reduced-and-split cut generator.
virtual void setEPS_RELAX_ABS(const double eps_ra)
Set EPS_RELAX_ABS.
double EPS_ELIM
Epsilon for value of coefficients when eliminating slack variables.
virtual CglRedSplitParam & operator=(const CglRedSplitParam &rhs)
Assignment operator.
double getMAXDYN() const
Get the value of MAXDYN.
virtual void setMaxTab(const double value)
Set the maximum allowed value for (mTab * mTab * CoinMax(mTab, nTab)) where mTab is the number of row...
virtual void setEPS_RELAX_REL(const double eps_rr)
Set EPS_RELAX_REL.