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);
virtual void setMinReduc(const double value)
Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Defaul...
double getLUB() const
Get the value of LUB.
double maxTab_
Maximum value for (mTab * mTab * CoinMax(mTab, nTab)).
int getUSE_CG2() const
Get the value of USE_CG2.
virtual void setMINVIOL(double value)
Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut...
double EPS_COEFF_LUB
Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger th...
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 ...
virtual void setEPS_RELAX_REL(const double eps_rr)
Set EPS_RELAX_REL.
virtual ~CglRedSplitParam()
Destructor.
double getEPS_RELAX_REL() const
Get value of EPS_RELAX_REL.
int USE_INTSLACKS
Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
void setEPS_ELIM(const double value)
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Defau...
double getMAXDYN_LUB() const
Get the value of MAXDYN_LUB.
virtual void setNormIsZero(const double value)
Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5...
double getNormIsZero() const
Get the value of normIsZero.
double MAXDYN
Value considered large for the absolute value of lower or upper bound on a variable.
Class collecting parameters the Reduced-and-split cut generator.
int USE_CG2
Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgc...
double getMAXDYN() const
Get the value of MAXDYN.
double LUB
Value considered large for the absolute value of lower or upper bound on a variable.
double normIsZero
Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
int getUSE_INTSLACKS() const
Get the value of USE_INTSLACKS.
double EPS_RELAX_ABS
Value added to the right hand side of each generated cut to relax it.
virtual CglRedSplitParam * clone() const
Clone.
virtual void setUSE_CG2(int value)
Set the value of USE_CG2.
Class collecting parameters for all cut generators.
virtual void setMAXDYN(double value)
Set away, the minimum distance from being integer used for selecting rows for cut generation; all row...
double getEPS_ELIM() const
Get the value of EPS_ELIM.
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.
double MINVIOL
Minimum violation for the current basic solution in a generated cut.
double getMaxTab() const
Get the value of maxTab.
virtual void setEPS_RELAX_ABS(const double eps_ra)
Set EPS_RELAX_ABS.
virtual void setAway(const double value)
Set away, the minimum distance from being integer used for selecting rows for cut generation; all row...
double MAXDYN_LUB
Value considered large for the absolute value of lower or upper bound on a variable.
double getEPS_COEFF_LUB() const
Get the value of EPS_COEFF_LUB.
double getMinReduc() const
Get the value of minReduc.
double away_
Use row only if pivot variable should be integer but is more than away_ from being integer...
virtual void setMAXDYN_LUB(double value)
Set away, the minimum distance from being integer used for selecting rows for cut generation; all row...
virtual void setUSE_INTSLACKS(int value)
Set the value of USE_INTSLACKS.
virtual CglRedSplitParam & operator=(const CglRedSplitParam &rhs)
Assignment operator.
double getEPS_RELAX_ABS() const
Get value of EPS_RELAX_ABS.
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...
double getAway() const
Get value of away.
double minReduc
Minimum reduction in percent that must be achieved by a potential reduction step in order to be perfo...
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 ...
double EPS_ELIM
Epsilon for value of coefficients when eliminating slack variables.
virtual void setMaxTab(const double value)
Set the maximum allowed value for (mTab * mTab * CoinMax(mTab, nTab)) where mTab is the number of row...
double getMINVIOL() const
Get the value of MINVIOL.