#include <CglRedSplitParam.hpp>
Inheritance diagram for CglRedSplitParam:


Public Member Functions | |
Set/get methods | |
| virtual void | setAway (const 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.05. | |
| double | getAway () const |
| Get value of away. | |
| 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 variable; Default: 1000. | |
| double | getLUB () const |
| Get the value of LUB. | |
| void | setEPS_ELIM (const double value) |
| Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 1e-12. | |
| double | getEPS_ELIM () const |
| Get the value of EPS_ELIM. | |
| virtual void | setEPS_RELAX_ABS (const double eps_ra) |
| Set EPS_RELAX_ABS. | |
| double | getEPS_RELAX_ABS () const |
| Get value of EPS_RELAX_ABS. | |
| virtual void | setEPS_RELAX_REL (const double eps_rr) |
| Set EPS_RELAX_REL. | |
| double | getEPS_RELAX_REL () const |
| Get value of EPS_RELAX_REL. | |
| virtual void | setMAXDYN (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.05. | |
| double | getMAXDYN () const |
| Get the value of MAXDYN. | |
| virtual void | setMAXDYN_LUB (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.05. | |
| double | getMAXDYN_LUB () const |
| Get the value of MAXDYN_LUB. | |
| 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 of lower or upper bound larger than LUB; Default: 1e-13. | |
| double | getEPS_COEFF_LUB () const |
| Get the value of EPS_COEFF_LUB. | |
| 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. | |
| virtual void | setUSE_INTSLACKS (int value) |
| Set the value of USE_INTSLACKS. | |
| int | getUSE_INTSLACKS () const |
| Get the value of USE_INTSLACKS. | |
| virtual void | setUSE_CG2 (int value) |
| Set the value of USE_CG2. | |
| int | getUSE_CG2 () const |
| Get the value of USE_CG2. | |
| 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. | |
| virtual void | setMinReduc (const double value) |
| Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Default: 0.05. | |
| double | getMinReduc () const |
| Get the value of minReduc. | |
| virtual void | setMaxTab (const double value) |
| Set the maximum allowed value for (mTab * mTab * max(mTab, nTab)) where mTab is the number of rows used in the combinations and nTab is the number of continuous non basic variables. | |
| double | getMaxTab () const |
| Get the value of maxTab. | |
Constructors and destructors | |
| 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. | |
| CglRedSplitParam (const CglParam &source, 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) | |
| Constructor from CglParam. | |
| CglRedSplitParam (const CglRedSplitParam &source) | |
| Copy constructor. | |
| virtual CglRedSplitParam * | clone () const |
| Clone. | |
| virtual CglRedSplitParam & | operator= (const CglRedSplitParam &rhs) |
| Assignment operator. | |
| virtual | ~CglRedSplitParam () |
| Destructor. | |
Protected Attributes | |
Parameters | |
| double | LUB |
| Value considered large for the absolute value of lower or upper bound on a variable. | |
| 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 |
| Value considered large for the absolute value of lower or upper bound on a variable. | |
| double | MAXDYN_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 than LUB. | |
| double | MINVIOL |
| Minimum violation for the current basic solution in a generated cut. | |
| 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_cgcut_2()). | |
| double | normIsZero |
| Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5. | |
| double | minReduc |
| Minimum reduction in percent that must be achieved by a potential reduction step in order to be performed; Between 0 and 1, default: 0.05. | |
| double | away_ |
| Use row only if pivot variable should be integer but is more than away_ from being integer. | |
| double | maxTab_ |
| Maximum value for (mTab * mTab * max(mTab, nTab)). | |
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 58 of file CglRedSplitParam.hpp.
| CglRedSplitParam::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.
| CglRedSplitParam::CglRedSplitParam | ( | const CglParam & | source, | |
| 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 | |||
| ) |
Constructor from CglParam.
| CglRedSplitParam::CglRedSplitParam | ( | const CglRedSplitParam & | source | ) |
Copy constructor.
| virtual CglRedSplitParam::~CglRedSplitParam | ( | ) | [virtual] |
Destructor.
| virtual void CglRedSplitParam::setAway | ( | const 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.05.
| double CglRedSplitParam::getAway | ( | ) | const [inline] |
| virtual void CglRedSplitParam::setLUB | ( | const double | value | ) | [virtual] |
Set the value of LUB, value considered large for the absolute value of a lower or upper bound on a variable; Default: 1000.
| double CglRedSplitParam::getLUB | ( | ) | const [inline] |
| void CglRedSplitParam::setEPS_ELIM | ( | const double | value | ) |
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 1e-12.
| double CglRedSplitParam::getEPS_ELIM | ( | ) | const [inline] |
| virtual void CglRedSplitParam::setEPS_RELAX_ABS | ( | const double | eps_ra | ) | [virtual] |
Set EPS_RELAX_ABS.
| double CglRedSplitParam::getEPS_RELAX_ABS | ( | ) | const [inline] |
Get value of EPS_RELAX_ABS.
Definition at line 89 of file CglRedSplitParam.hpp.
References EPS_RELAX_ABS.
| virtual void CglRedSplitParam::setEPS_RELAX_REL | ( | const double | eps_rr | ) | [virtual] |
Set EPS_RELAX_REL.
| double CglRedSplitParam::getEPS_RELAX_REL | ( | ) | const [inline] |
Get value of EPS_RELAX_REL.
Definition at line 94 of file CglRedSplitParam.hpp.
References EPS_RELAX_REL.
| virtual void CglRedSplitParam::setMAXDYN | ( | 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.05.
| double CglRedSplitParam::getMAXDYN | ( | ) | const [inline] |
Get the value of MAXDYN.
Definition at line 100 of file CglRedSplitParam.hpp.
References MAXDYN_LUB.
| virtual void CglRedSplitParam::setMAXDYN_LUB | ( | 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.05.
| double CglRedSplitParam::getMAXDYN_LUB | ( | ) | const [inline] |
Get the value of MAXDYN_LUB.
Definition at line 108 of file CglRedSplitParam.hpp.
References MAXDYN_LUB.
| virtual void CglRedSplitParam::setEPS_COEFF_LUB | ( | const double | value | ) | [virtual] |
Set the value of EPS_COEFF_LUB, epsilon for values of coefficients for variables with absolute value of lower or upper bound larger than LUB; Default: 1e-13.
| double CglRedSplitParam::getEPS_COEFF_LUB | ( | ) | const [inline] |
Get the value of EPS_COEFF_LUB.
Definition at line 115 of file CglRedSplitParam.hpp.
References EPS_COEFF_LUB.
| virtual void CglRedSplitParam::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 CglRedSplitParam::getMINVIOL | ( | ) | const [inline] |
| virtual void CglRedSplitParam::setUSE_INTSLACKS | ( | int | value | ) | [virtual] |
Set the value of USE_INTSLACKS.
Default: 0
| int CglRedSplitParam::getUSE_INTSLACKS | ( | ) | const [inline] |
Get the value of USE_INTSLACKS.
Definition at line 126 of file CglRedSplitParam.hpp.
References USE_INTSLACKS.
| virtual void CglRedSplitParam::setUSE_CG2 | ( | int | value | ) | [virtual] |
Set the value of USE_CG2.
Default: 0
| int CglRedSplitParam::getUSE_CG2 | ( | ) | const [inline] |
| virtual void CglRedSplitParam::setNormIsZero | ( | const double | value | ) | [virtual] |
Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5.
| double CglRedSplitParam::getNormIsZero | ( | ) | const [inline] |
Get the value of normIsZero.
Definition at line 137 of file CglRedSplitParam.hpp.
References normIsZero.
| virtual void CglRedSplitParam::setMinReduc | ( | const double | value | ) | [virtual] |
Set the value of minReduc, threshold for relative norm improvement for performing a reduction; Default: 0.05.
| double CglRedSplitParam::getMinReduc | ( | ) | const [inline] |
Get the value of minReduc.
Definition at line 143 of file CglRedSplitParam.hpp.
References minReduc.
| virtual void CglRedSplitParam::setMaxTab | ( | const double | value | ) | [virtual] |
Set the maximum allowed value for (mTab * mTab * max(mTab, nTab)) where mTab is the number of rows used in the combinations and nTab is the number of continuous non basic variables.
The work of the generator is proportional to (mTab * mTab * max(mTab, nTab)). Reducing the value of maxTab makes the generator faster, but weaker. Default: 1e7.
| double CglRedSplitParam::getMaxTab | ( | ) | const [inline] |
| virtual CglRedSplitParam* CglRedSplitParam::clone | ( | ) | const [virtual] |
| virtual CglRedSplitParam& CglRedSplitParam::operator= | ( | const CglRedSplitParam & | rhs | ) | [virtual] |
Assignment operator.
double CglRedSplitParam::LUB [protected] |
Value considered large for the absolute value of lower or upper bound on a variable.
Default: 1000.
Definition at line 210 of file CglRedSplitParam.hpp.
Referenced by getLUB().
double CglRedSplitParam::EPS_ELIM [protected] |
Epsilon for value of coefficients when eliminating slack variables.
Default: 1e-12.
Definition at line 214 of file CglRedSplitParam.hpp.
Referenced by getEPS_ELIM().
double CglRedSplitParam::EPS_RELAX_ABS [protected] |
Value added to the right hand side of each generated cut to relax it.
Default: 1e-8
Definition at line 218 of file CglRedSplitParam.hpp.
Referenced by getEPS_RELAX_ABS().
double CglRedSplitParam::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: 0
Definition at line 223 of file CglRedSplitParam.hpp.
Referenced by getEPS_RELAX_REL().
double CglRedSplitParam::MAXDYN [protected] |
Value considered large for the absolute value of lower or upper bound on a variable.
Default: 1000.
Definition at line 227 of file CglRedSplitParam.hpp.
double CglRedSplitParam::MAXDYN_LUB [protected] |
Value considered large for the absolute value of lower or upper bound on a variable.
Default: 1000.
Definition at line 233 of file CglRedSplitParam.hpp.
Referenced by getMAXDYN(), and getMAXDYN_LUB().
double CglRedSplitParam::EPS_COEFF_LUB [protected] |
Epsilon for value of coefficients for variables with absolute value of lower or upper bound larger than LUB.
Default: 1e-13.
Definition at line 237 of file CglRedSplitParam.hpp.
Referenced by getEPS_COEFF_LUB().
double CglRedSplitParam::MINVIOL [protected] |
Minimum violation for the current basic solution in a generated cut.
Default: 1e-7.
Definition at line 241 of file CglRedSplitParam.hpp.
Referenced by getMINVIOL().
int CglRedSplitParam::USE_INTSLACKS [protected] |
Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
Definition at line 244 of file CglRedSplitParam.hpp.
Referenced by getUSE_INTSLACKS().
int CglRedSplitParam::USE_CG2 [protected] |
Use second way to generate a mixed integer Gomory cut (see methods generate_cgcut()) and generate_cgcut_2()).
Default: 0.
Definition at line 248 of file CglRedSplitParam.hpp.
Referenced by getUSE_CG2().
double CglRedSplitParam::normIsZero [protected] |
Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
Definition at line 252 of file CglRedSplitParam.hpp.
Referenced by getNormIsZero().
double CglRedSplitParam::minReduc [protected] |
Minimum reduction in percent that must be achieved by a potential reduction step in order to be performed; Between 0 and 1, default: 0.05.
Definition at line 256 of file CglRedSplitParam.hpp.
Referenced by getMinReduc().
double CglRedSplitParam::away_ [protected] |
Use row only if pivot variable should be integer but is more than away_ from being integer.
Definition at line 260 of file CglRedSplitParam.hpp.
Referenced by getAway().
double CglRedSplitParam::maxTab_ [protected] |
Maximum value for (mTab * mTab * max(mTab, nTab)).
See method setMaxTab().
Definition at line 264 of file CglRedSplitParam.hpp.
Referenced by getMaxTab().
1.4.7