Loading...
Searching...
No Matches
CglRedSplit2Param.hpp
Go to the documentation of this file.
// Name: CglRedSplit2Param.hpp
// Author: Giacomo Nannicini
// Singapore University of Technology and Design
// Singapore
// email: nannicini@sutd.edu.sg
// Date: 03/09/09
//-----------------------------------------------------------------------------
// Copyright (C) 2010, Giacomo Nannicini and others. All Rights Reserved.
#ifndef CglRedSplit2Param_H
#define CglRedSplit2Param_H
#include "CglParam.hpp"
#include <vector>
class CglRedSplit2Param : public CglParam {
public:
enum RowSelectionStrategy{
/* Pick rows that introduce the fewest nonzeroes on integer nonbasics */
RS1,
/* Pick rows that introduce the fewest nonzeroes on the set of working
continuous nonbasics */
RS2,
/* Pick rows that introduce the fewest nonzeroes on both integer and
working continuous nonbasics */
RS3,
/* Same as RS0 but with greedy algorithm */
RS4,
/* Same as RS1 but with greedy algorithm */
RS5,
/* Same as RS2 but with greedy algorithm */
RS6,
/* Pick rows with smallest angle in the space of integer and working
continuous nonbasics */
RS7,
/* Pick rows with smallest angle in the space of working
continuous nonbasics */
RS8,
/* Use all strategies */
RS_ALL,
/* Use best ones - that is, RS8 and RS7 */
RS_BEST
};
enum ColumnSelectionStrategy{
/* C-3P */
CS1, CS2, CS3,
/* C-5P */
CS4, CS5, CS6, CS7, CS8,
/* I-2P-2/3 */
CS9, CS10,
/* I-2P-4/5 */
CS11, CS12,
/* I-2P-1/2 */
CS13, CS14,
/* I-3P */
CS15, CS16, CS17,
/* I-4P */
CS18, CS19, CS20, CS21,
/* Use all strategies up to this point */
CS_ALL,
/* Use best strategies (same effect as CS_ALL, because it turns out that
using all strategies is the best thing to do) */
CS_BEST,
/* Optimize over all continuous nonbasic columns; this does not give
good results, but we use it for testing Lift & Project + RedSplit */
CS_ALLCONT,
/* Lift & Project specific strategy: only select variables which
are nonbasic in the tableau but are basic in the point to cut
off. This strategy cannot be used outside L&P. It is not very
effective even with L&P, but is left here for testing.*/
CS_LAP_NONBASICS
};
enum ColumnScalingStrategy{
/* No scaling */
SC_NONE,
/* Multiply by |xbar[i]| where xbar[i] is the value of the
corresponding component of the point that we want to cut off */
SC_LINEAR,
/* Multiply by min(factor,|xbar[i]|) */
SC_LINEAR_BOUNDED,
/* Multiply by min(factor,log(|xbar[i]|)) */
SC_LOG_BOUNDED,
/* Multiply all new nonbasics by factor */
SC_UNIFORM,
/* Multiply only nonzero coefficients by factor */
SC_UNIFORM_NZ
};
virtual void setAway(double value);
inline double getAway() const {return away_;}
void setEPS_ELIM(double value);
double getEPS_ELIM() const {return EPS_ELIM;}
virtual void setEPS_RELAX_ABS(double eps_ra);
inline double getEPS_RELAX_ABS() const {return EPS_RELAX_ABS;}
virtual void setEPS_RELAX_REL(double eps_rr);
inline double getEPS_RELAX_REL() 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;}
virtual void setMINVIOL(double value);
inline double getMINVIOL() const {return MINVIOL;}
inline void setMAX_SUPP_ABS(int value) {setMAX_SUPPORT(value);}
inline int getMAX_SUPP_ABS() const {return MAX_SUPPORT;}
inline void setMAX_SUPP_REL(double value);
inline double getMAX_SUPP_REL() const {return MAX_SUPP_REL;}
virtual void setUSE_INTSLACKS(int value);
inline int getUSE_INTSLACKS() const {return USE_INTSLACKS;}
virtual void setNormIsZero(double value);
inline double getNormIsZero() const {return normIsZero_;}
virtual void setMinNormReduction(double value);
inline double getMinNormReduction() const {return minNormReduction_;}
virtual void setMaxSumMultipliers(int value);
inline int getMaxSumMultipliers() const {return maxSumMultipliers_;}
virtual void setNormalization(double value);
inline double getNormalization() const {return normalization_;}
virtual void addNumRowsReduction(int value);
inline std::vector<int> getNumRowsReduction() const {return numRowsReduction_;}
inline void resetNumRowsReduction() {numRowsReduction_.clear();}
virtual void addColumnSelectionStrategy(ColumnSelectionStrategy value);
inline std::vector<ColumnSelectionStrategy> getColumnSelectionStrategy() const {return columnSelectionStrategy_;}
inline void resetColumnSelectionStrategy(){columnSelectionStrategy_.clear();}
virtual void addRowSelectionStrategy(RowSelectionStrategy value);
inline std::vector<RowSelectionStrategy> getRowSelectionStrategy() const {return rowSelectionStrategy_;};
inline void resetRowSelectionStrategy() {rowSelectionStrategy_.clear();}
virtual void addNumRowsReductionLAP(int value);
inline std::vector<int> getNumRowsReductionLAP() const {return numRowsReductionLAP_;}
inline void resetNumRowsReductionLAP() {numRowsReductionLAP_.clear();}
virtual void addColumnSelectionStrategyLAP(ColumnSelectionStrategy value);
inline std::vector<ColumnSelectionStrategy> getColumnSelectionStrategyLAP() const {return columnSelectionStrategyLAP_;}
inline void resetColumnSelectionStrategyLAP(){columnSelectionStrategyLAP_.clear();}
virtual void addRowSelectionStrategyLAP(RowSelectionStrategy value);
inline std::vector<RowSelectionStrategy> getRowSelectionStrategyLAP() const {return rowSelectionStrategyLAP_;};
inline void resetRowSelectionStrategyLAP() {rowSelectionStrategyLAP_.clear();}
virtual void setColumnScalingStrategyLAP(ColumnScalingStrategy value);
inline ColumnScalingStrategy getColumnScalingStrategyLAP() const {return columnScalingStrategyLAP_; };
virtual void setColumnScalingBoundLAP(double value);
inline double getColumnScalingBoundLAP() const {return columnScalingBoundLAP_;};
virtual void setTimeLimit(double value);
inline double getTimeLimit() const {return timeLimit_;}
virtual void setMaxNumCuts(int value);
inline int getMaxNumCuts() const {return maxNumCuts_;}
virtual void setMaxNumComputedCuts(int value);
inline int getMaxNumComputedCuts() const {return maxNumComputedCuts_;}
virtual void setMaxNonzeroesTab(int value);
inline int getMaxNonzeroesTab() const {return maxNonzeroesTab_;}
virtual void setSkipGomory(int value);
inline int getSkipGomory() const {return skipGomory_;}
CglRedSplit2Param(bool use_default_strategies = true,
double eps = 1e-12,
double eps_coeff = 1e-11,
double eps_elim = 0.0,
double eps_relax_abs = 1e-11,
double eps_relax_rel = 1e-13,
double max_dyn = 1e6,
double min_viol = 1e-3,
int max_supp_abs = 1000,
double max_supp_rel = 0.1,
int use_int_slacks = 0,
double norm_zero = 1e-5,
double minNormReduction = 0.1,
int maxSumMultipliers = 10,
double normalization = 0.0001,
double away = 0.005,
double timeLimit = 60,
int maxNumCuts = 10000,
int maxNumComputedCuts = 10000,
int maxNonzeroesTab = 1000,
double columnScalingBoundLAP = 5.0,
int skipGomory = 1);
CglRedSplit2Param(const CglParam &source,
bool use_default_strategies = true,
double eps_elim = 0.0,
double eps_relax_abs = 1e-11,
double eps_relax_rel = 1e-13,
double max_dyn = 1e6,
double min_viol = 1e-3,
double max_supp_rel = 0.1,
int use_int_slacks = 0,
double norm_zero = 1e-5,
double minNormReduction = 0.1,
int maxSumMultipliers = 10,
double normalization = 0.0001,
double away = 0.005,
double timeLimit = 60,
int maxNumCuts = 10000,
int maxNumComputedCuts = 10000,
int maxNonzeroesTab = 1000,
double columnScalingBoundLAP = 5.0,
int skipGomory = 1);
CglRedSplit2Param(const CglRedSplit2Param &source);
virtual CglRedSplit2Param* clone() const;
virtual CglRedSplit2Param& operator=(const CglRedSplit2Param &rhs);
virtual ~CglRedSplit2Param();
protected:
double EPS_ELIM;
double EPS_RELAX_ABS;
double EPS_RELAX_REL;
// Maximum ratio between largest and smallest non zero
// coefficients in a cut. Default: 1e6.
double MAXDYN;
double MINVIOL;
double MAX_SUPP_REL;
int USE_INTSLACKS;
double normIsZero_;
double minNormReduction_;
int maxSumMultipliers_;
double normalization_;
double away_;
std::vector<int> numRowsReduction_;
std::vector<ColumnSelectionStrategy> columnSelectionStrategy_;
std::vector<RowSelectionStrategy> rowSelectionStrategy_;
std::vector<int> numRowsReductionLAP_;
std::vector<ColumnSelectionStrategy> columnSelectionStrategyLAP_;
std::vector<RowSelectionStrategy> rowSelectionStrategyLAP_;
ColumnScalingStrategy columnScalingStrategyLAP_;
double columnScalingBoundLAP_;
double timeLimit_;
int maxNumCuts_;
int maxNumComputedCuts_;
int maxNonzeroesTab_;
int skipGomory_;
};
#endif
CglParam.hpp
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::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::setMAX_SUPPORT
virtual void setMAX_SUPPORT(const int max_s)
Set MAX_SUPPORT.
CglRedSplit2Param::getMAXDYN
double getMAXDYN() const
Get the value of MAXDYN.
Definition CglRedSplit2Param.hpp:201
CglRedSplit2Param::getMaxNumCuts
int getMaxNumCuts() const
get the value
Definition CglRedSplit2Param.hpp:313
CglRedSplit2Param::numRowsReduction_
std::vector< int > numRowsReduction_
Maximum number of rows to use for the reduction of a given row.
Definition CglRedSplit2Param.hpp:453
CglRedSplit2Param::setColumnScalingStrategyLAP
virtual void setColumnScalingStrategyLAP(ColumnScalingStrategy value)
Set the value for columnScalingStrategyLAP, which sets the way nonbasic columns that are basic in the...
CglRedSplit2Param::getEPS_RELAX_ABS
double getEPS_RELAX_ABS() const
Get value of EPS_RELAX_ABS.
Definition CglRedSplit2Param.hpp:190
CglRedSplit2Param::EPS_RELAX_ABS
double EPS_RELAX_ABS
Value added to the right hand side of each generated cut to relax it.
Definition CglRedSplit2Param.hpp:413
CglRedSplit2Param::numRowsReductionLAP_
std::vector< int > numRowsReductionLAP_
Maximum number of rows to use for the reduction during Lift & Project.
Definition CglRedSplit2Param.hpp:462
CglRedSplit2Param::rowSelectionStrategyLAP_
std::vector< RowSelectionStrategy > rowSelectionStrategyLAP_
Row selection method for Lift & Project.
Definition CglRedSplit2Param.hpp:468
CglRedSplit2Param::resetRowSelectionStrategy
void resetRowSelectionStrategy()
reset
Definition CglRedSplit2Param.hpp:267
CglRedSplit2Param::getRowSelectionStrategy
std::vector< RowSelectionStrategy > getRowSelectionStrategy() const
get the value
Definition CglRedSplit2Param.hpp:265
CglRedSplit2Param::getColumnSelectionStrategy
std::vector< ColumnSelectionStrategy > getColumnSelectionStrategy() const
get the value
Definition CglRedSplit2Param.hpp:257
CglRedSplit2Param::setMAXDYN
virtual void setMAXDYN(double value)
CglRedSplit2Param::maxNonzeroesTab_
int maxNonzeroesTab_
Maximum number of nonzeroes in tableau row for reduction.
Definition CglRedSplit2Param.hpp:487
CglRedSplit2Param::normIsZero_
double normIsZero_
Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
Definition CglRedSplit2Param.hpp:436
CglRedSplit2Param::resetRowSelectionStrategyLAP
void resetRowSelectionStrategyLAP()
reset
Definition CglRedSplit2Param.hpp:292
CglRedSplit2Param::columnScalingBoundLAP_
double columnScalingBoundLAP_
Minimum value for column scaling (Lift & Project only).
Definition CglRedSplit2Param.hpp:475
CglRedSplit2Param::getAway
double getAway() const
Get value of away.
Definition CglRedSplit2Param.hpp:178
CglRedSplit2Param::maxNumComputedCuts_
int maxNumComputedCuts_
Maximum number of computed cuts.
Definition CglRedSplit2Param.hpp:484
CglRedSplit2Param::getEPS_ELIM
double getEPS_ELIM() const
Get the value of EPS_ELIM.
Definition CglRedSplit2Param.hpp:185
CglRedSplit2Param::RowSelectionStrategy
RowSelectionStrategy
Enumerations for parameters.
Definition CglRedSplit2Param.hpp:94
CglRedSplit2Param::RS7
@ RS7
Definition CglRedSplit2Param.hpp:111
CglRedSplit2Param::RS6
@ RS6
Definition CglRedSplit2Param.hpp:108
CglRedSplit2Param::RS5
@ RS5
Definition CglRedSplit2Param.hpp:106
CglRedSplit2Param::RS_BEST
@ RS_BEST
Definition CglRedSplit2Param.hpp:118
CglRedSplit2Param::RS8
@ RS8
Definition CglRedSplit2Param.hpp:114
CglRedSplit2Param::RS2
@ RS2
Definition CglRedSplit2Param.hpp:99
CglRedSplit2Param::RS_ALL
@ RS_ALL
Definition CglRedSplit2Param.hpp:116
CglRedSplit2Param::RS4
@ RS4
Definition CglRedSplit2Param.hpp:104
CglRedSplit2Param::RS1
@ RS1
Definition CglRedSplit2Param.hpp:96
CglRedSplit2Param::RS3
@ RS3
Definition CglRedSplit2Param.hpp:102
CglRedSplit2Param::resetColumnSelectionStrategyLAP
void resetColumnSelectionStrategyLAP()
reset
Definition CglRedSplit2Param.hpp:284
CglRedSplit2Param::CglRedSplit2Param
CglRedSplit2Param(const CglRedSplit2Param &source)
Copy constructor.
CglRedSplit2Param::getNormIsZero
double getNormIsZero() const
Get the value of normIsZero.
Definition CglRedSplit2Param.hpp:228
CglRedSplit2Param::CglRedSplit2Param
CglRedSplit2Param(const CglParam &source, bool use_default_strategies=true, double eps_elim=0.0, double eps_relax_abs=1e-11, double eps_relax_rel=1e-13, double max_dyn=1e6, double min_viol=1e-3, double max_supp_rel=0.1, int use_int_slacks=0, double norm_zero=1e-5, double minNormReduction=0.1, int maxSumMultipliers=10, double normalization=0.0001, double away=0.005, double timeLimit=60, int maxNumCuts=10000, int maxNumComputedCuts=10000, int maxNonzeroesTab=1000, double columnScalingBoundLAP=5.0, int skipGomory=1)
Constructor from CglParam.
CglRedSplit2Param::rowSelectionStrategy_
std::vector< RowSelectionStrategy > rowSelectionStrategy_
Row selection method.
Definition CglRedSplit2Param.hpp:459
CglRedSplit2Param::timeLimit_
double timeLimit_
Time limit.
Definition CglRedSplit2Param.hpp:478
CglRedSplit2Param::columnScalingStrategyLAP_
ColumnScalingStrategy columnScalingStrategyLAP_
Column scaling strategy for the nonbasics columns that were basic in the point that we want to cut of...
Definition CglRedSplit2Param.hpp:472
CglRedSplit2Param::setMINVIOL
virtual void setMINVIOL(double value)
Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.
CglRedSplit2Param::columnSelectionStrategyLAP_
std::vector< ColumnSelectionStrategy > columnSelectionStrategyLAP_
Column selection method for Lift & Project.
Definition CglRedSplit2Param.hpp:465
CglRedSplit2Param::ColumnSelectionStrategy
ColumnSelectionStrategy
Column selection strategies; again, look them up in the paper.
Definition CglRedSplit2Param.hpp:122
CglRedSplit2Param::CS_ALL
@ CS_ALL
Definition CglRedSplit2Param.hpp:138
CglRedSplit2Param::CS9
@ CS9
Definition CglRedSplit2Param.hpp:128
CglRedSplit2Param::CS18
@ CS18
Definition CglRedSplit2Param.hpp:136
CglRedSplit2Param::CS2
@ CS2
Definition CglRedSplit2Param.hpp:124
CglRedSplit2Param::CS6
@ CS6
Definition CglRedSplit2Param.hpp:126
CglRedSplit2Param::CS19
@ CS19
Definition CglRedSplit2Param.hpp:136
CglRedSplit2Param::CS4
@ CS4
Definition CglRedSplit2Param.hpp:126
CglRedSplit2Param::CS16
@ CS16
Definition CglRedSplit2Param.hpp:134
CglRedSplit2Param::CS7
@ CS7
Definition CglRedSplit2Param.hpp:126
CglRedSplit2Param::CS5
@ CS5
Definition CglRedSplit2Param.hpp:126
CglRedSplit2Param::CS15
@ CS15
Definition CglRedSplit2Param.hpp:134
CglRedSplit2Param::CS11
@ CS11
Definition CglRedSplit2Param.hpp:130
CglRedSplit2Param::CS_BEST
@ CS_BEST
Definition CglRedSplit2Param.hpp:141
CglRedSplit2Param::CS_ALLCONT
@ CS_ALLCONT
Definition CglRedSplit2Param.hpp:144
CglRedSplit2Param::CS10
@ CS10
Definition CglRedSplit2Param.hpp:128
CglRedSplit2Param::CS14
@ CS14
Definition CglRedSplit2Param.hpp:132
CglRedSplit2Param::CS17
@ CS17
Definition CglRedSplit2Param.hpp:134
CglRedSplit2Param::CS21
@ CS21
Definition CglRedSplit2Param.hpp:136
CglRedSplit2Param::CS20
@ CS20
Definition CglRedSplit2Param.hpp:136
CglRedSplit2Param::CS12
@ CS12
Definition CglRedSplit2Param.hpp:130
CglRedSplit2Param::CS_LAP_NONBASICS
@ CS_LAP_NONBASICS
Definition CglRedSplit2Param.hpp:149
CglRedSplit2Param::CS3
@ CS3
Definition CglRedSplit2Param.hpp:124
CglRedSplit2Param::CS8
@ CS8
Definition CglRedSplit2Param.hpp:126
CglRedSplit2Param::CS13
@ CS13
Definition CglRedSplit2Param.hpp:132
CglRedSplit2Param::CS1
@ CS1
Definition CglRedSplit2Param.hpp:124
CglRedSplit2Param::addRowSelectionStrategyLAP
virtual void addRowSelectionStrategyLAP(RowSelectionStrategy value)
Set the value for rowSelectionStrategyLAP, which changes the way we choose the rows for the reduction...
CglRedSplit2Param::getEPS_RELAX_REL
double getEPS_RELAX_REL() const
Get value of EPS_RELAX_REL.
Definition CglRedSplit2Param.hpp:195
CglRedSplit2Param::clone
virtual CglRedSplit2Param * clone() const
Clone.
CglRedSplit2Param::getColumnScalingStrategyLAP
ColumnScalingStrategy getColumnScalingStrategyLAP() const
get the value
Definition CglRedSplit2Param.hpp:298
CglRedSplit2Param::setTimeLimit
virtual void setTimeLimit(double value)
Set the value of the time limit for cut generation (in seconds).
CglRedSplit2Param::setUSE_INTSLACKS
virtual void setUSE_INTSLACKS(int value)
Set the value of USE_INTSLACKS.
CglRedSplit2Param::CglRedSplit2Param
CglRedSplit2Param(bool use_default_strategies=true, double eps=1e-12, double eps_coeff=1e-11, double eps_elim=0.0, double eps_relax_abs=1e-11, double eps_relax_rel=1e-13, double max_dyn=1e6, double min_viol=1e-3, int max_supp_abs=1000, double max_supp_rel=0.1, int use_int_slacks=0, double norm_zero=1e-5, double minNormReduction=0.1, int maxSumMultipliers=10, double normalization=0.0001, double away=0.005, double timeLimit=60, int maxNumCuts=10000, int maxNumComputedCuts=10000, int maxNonzeroesTab=1000, double columnScalingBoundLAP=5.0, int skipGomory=1)
Default constructor.
CglRedSplit2Param::getColumnSelectionStrategyLAP
std::vector< ColumnSelectionStrategy > getColumnSelectionStrategyLAP() const
get the value
Definition CglRedSplit2Param.hpp:282
CglRedSplit2Param::MINVIOL
double MINVIOL
Minimum violation for the current basic solution in a generated cut.
Definition CglRedSplit2Param.hpp:426
CglRedSplit2Param::getMaxNonzeroesTab
int getMaxNonzeroesTab() const
get the value
Definition CglRedSplit2Param.hpp:324
CglRedSplit2Param::getMAX_SUPP_REL
double getMAX_SUPP_REL() const
Definition CglRedSplit2Param.hpp:217
CglRedSplit2Param::setMinNormReduction
virtual void setMinNormReduction(double value)
Set the value of minNormReduction; Default: 0.1.
CglRedSplit2Param::addNumRowsReduction
virtual void addNumRowsReduction(int value)
Set the value of numRowsReduction, max number of rows that are used for each row reduction step.
CglRedSplit2Param::addRowSelectionStrategy
virtual void addRowSelectionStrategy(RowSelectionStrategy value)
Set the value for rowSelectionStrategy, which changes the way we choose the rows for the reduction st...
CglRedSplit2Param::setMaxNumComputedCuts
virtual void setMaxNumComputedCuts(int value)
Set the value for the maximum number of cuts that can be computed.
CglRedSplit2Param::getNumRowsReduction
std::vector< int > getNumRowsReduction() const
get the value
Definition CglRedSplit2Param.hpp:250
CglRedSplit2Param::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 CglRedSplit2Param.hpp:418
CglRedSplit2Param::addNumRowsReductionLAP
virtual void addNumRowsReductionLAP(int value)
Set the value of numRowsReductionLAP, max number of rows that are used for each row reduction step du...
CglRedSplit2Param::setNormIsZero
virtual void setNormIsZero(double value)
Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5.
CglRedSplit2Param::resetColumnSelectionStrategy
void resetColumnSelectionStrategy()
reset
Definition CglRedSplit2Param.hpp:259
CglRedSplit2Param::EPS_ELIM
double EPS_ELIM
Epsilon for value of coefficients when eliminating slack variables.
Definition CglRedSplit2Param.hpp:409
CglRedSplit2Param::~CglRedSplit2Param
virtual ~CglRedSplit2Param()
Destructor.
CglRedSplit2Param::MAX_SUPP_REL
double MAX_SUPP_REL
Maximum support - relative part of the formula.
Definition CglRedSplit2Param.hpp:429
CglRedSplit2Param::maxSumMultipliers_
int maxSumMultipliers_
Maximum sum of the vector of row multipliers to generate a cut.
Definition CglRedSplit2Param.hpp:442
CglRedSplit2Param::setMAX_SUPP_ABS
void setMAX_SUPP_ABS(int value)
Maximum absolute support of the cutting planes.
Definition CglRedSplit2Param.hpp:211
CglRedSplit2Param::getRowSelectionStrategyLAP
std::vector< RowSelectionStrategy > getRowSelectionStrategyLAP() const
get the value
Definition CglRedSplit2Param.hpp:290
CglRedSplit2Param::MAXDYN
double MAXDYN
Definition CglRedSplit2Param.hpp:422
CglRedSplit2Param::getColumnScalingBoundLAP
double getColumnScalingBoundLAP() const
get the value
Definition CglRedSplit2Param.hpp:303
CglRedSplit2Param::getNumRowsReductionLAP
std::vector< int > getNumRowsReductionLAP() const
get the value
Definition CglRedSplit2Param.hpp:275
CglRedSplit2Param::normalization_
double normalization_
Normalization factor for the norm of lambda in the quadratic minimization problem that is solved duri...
Definition CglRedSplit2Param.hpp:446
CglRedSplit2Param::away_
double away_
Use row only if pivot variable should be integer but is more than away_ from being integer.
Definition CglRedSplit2Param.hpp:450
CglRedSplit2Param::maxNumCuts_
int maxNumCuts_
Maximum number of returned cuts.
Definition CglRedSplit2Param.hpp:481
CglRedSplit2Param::setMAX_SUPP_REL
void setMAX_SUPP_REL(double value)
Maximum relative support of the cutting planes.
CglRedSplit2Param::columnSelectionStrategy_
std::vector< ColumnSelectionStrategy > columnSelectionStrategy_
Column selection method.
Definition CglRedSplit2Param.hpp:456
CglRedSplit2Param::setSkipGomory
virtual void setSkipGomory(int value)
Set the value of skipGomory: should we skip simple Gomory cuts, i.e.
CglRedSplit2Param::operator=
virtual CglRedSplit2Param & operator=(const CglRedSplit2Param &rhs)
Assignment operator.
CglRedSplit2Param::setNormalization
virtual void setNormalization(double value)
Set the value of normalization; Default: 0.0001.
CglRedSplit2Param::getMaxNumComputedCuts
int getMaxNumComputedCuts() const
get the value
Definition CglRedSplit2Param.hpp:318
CglRedSplit2Param::getUSE_INTSLACKS
int getUSE_INTSLACKS() const
Get the value of USE_INTSLACKS.
Definition CglRedSplit2Param.hpp:222
CglRedSplit2Param::getTimeLimit
double getTimeLimit() const
get the value
Definition CglRedSplit2Param.hpp:308
CglRedSplit2Param::addColumnSelectionStrategy
virtual void addColumnSelectionStrategy(ColumnSelectionStrategy value)
Add the value of columnSelectionStrategy.
CglRedSplit2Param::getMAX_SUPP_ABS
int getMAX_SUPP_ABS() const
Definition CglRedSplit2Param.hpp:212
CglRedSplit2Param::getMinNormReduction
double getMinNormReduction() const
Get the value of normIsZero.
Definition CglRedSplit2Param.hpp:233
CglRedSplit2Param::getNormalization
double getNormalization() const
Get the value of normalization.
Definition CglRedSplit2Param.hpp:243
CglRedSplit2Param::setMaxSumMultipliers
virtual void setMaxSumMultipliers(int value)
Set the value of maxSumMultipliers; Default: 10.
CglRedSplit2Param::setMaxNonzeroesTab
virtual void setMaxNonzeroesTab(int value)
Set the value for the maximum number of nonzeroes in a row of the simplex tableau for the row to be c...
CglRedSplit2Param::setMaxNumCuts
virtual void setMaxNumCuts(int value)
Set the value for the maximum number of cuts that can be returned.
CglRedSplit2Param::getSkipGomory
int getSkipGomory() const
get the value
Definition CglRedSplit2Param.hpp:332
CglRedSplit2Param::minNormReduction_
double minNormReduction_
Minimum reduction to accept a new row.
Definition CglRedSplit2Param.hpp:439
CglRedSplit2Param::getMINVIOL
double getMINVIOL() const
Get the value of MINVIOL.
Definition CglRedSplit2Param.hpp:207
CglRedSplit2Param::ColumnScalingStrategy
ColumnScalingStrategy
Scaling strategies for new nonbasic columns for Lift & Project; "factor" is the value of columnScalin...
Definition CglRedSplit2Param.hpp:154
CglRedSplit2Param::SC_UNIFORM_NZ
@ SC_UNIFORM_NZ
Definition CglRedSplit2Param.hpp:167
CglRedSplit2Param::SC_LINEAR_BOUNDED
@ SC_LINEAR_BOUNDED
Definition CglRedSplit2Param.hpp:161
CglRedSplit2Param::SC_LOG_BOUNDED
@ SC_LOG_BOUNDED
Definition CglRedSplit2Param.hpp:163
CglRedSplit2Param::SC_LINEAR
@ SC_LINEAR
Definition CglRedSplit2Param.hpp:159
CglRedSplit2Param::SC_NONE
@ SC_NONE
Definition CglRedSplit2Param.hpp:156
CglRedSplit2Param::SC_UNIFORM
@ SC_UNIFORM
Definition CglRedSplit2Param.hpp:165
CglRedSplit2Param::setEPS_ELIM
void setEPS_ELIM(double value)
Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Defau...
CglRedSplit2Param::resetNumRowsReduction
void resetNumRowsReduction()
reset
Definition CglRedSplit2Param.hpp:252
CglRedSplit2Param::setEPS_RELAX_REL
virtual void setEPS_RELAX_REL(double eps_rr)
Set EPS_RELAX_REL.
CglRedSplit2Param::setColumnScalingBoundLAP
virtual void setColumnScalingBoundLAP(double value)
Set the value for the bound in the column scaling factor.
CglRedSplit2Param::resetNumRowsReductionLAP
void resetNumRowsReductionLAP()
reset
Definition CglRedSplit2Param.hpp:277
CglRedSplit2Param::setEPS_RELAX_ABS
virtual void setEPS_RELAX_ABS(double eps_ra)
Set EPS_RELAX_ABS.
CglRedSplit2Param::setAway
virtual void setAway(double value)
Set away, the minimum distance from being integer used for selecting rows for cut generation; all row...
CglRedSplit2Param::addColumnSelectionStrategyLAP
virtual void addColumnSelectionStrategyLAP(ColumnSelectionStrategy value)
Add the value of columnSelectionStrategyLAP.
CglRedSplit2Param::getMaxSumMultipliers
int getMaxSumMultipliers() const
Get the value of maxSumMultipliers.
Definition CglRedSplit2Param.hpp:238
CglRedSplit2Param::skipGomory_
int skipGomory_
Skip simple Gomory cuts.
Definition CglRedSplit2Param.hpp:490
CglRedSplit2Param::USE_INTSLACKS
int USE_INTSLACKS
Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
Definition CglRedSplit2Param.hpp:432