Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | List of all members
CglRedSplit2Param Class Reference

Class collecting parameters the Reduced-and-split cut generator. More...

#include <CglRedSplit2Param.hpp>

+ Inheritance diagram for CglRedSplit2Param:
+ Collaboration diagram for CglRedSplit2Param:

Public Types

enum  RowSelectionStrategy {
  RS1, RS2, RS3, RS4,
  RS5, RS6, RS7, RS8,
  RS_ALL, RS_BEST
}
 Enumerations for parameters. More...
 
enum  ColumnSelectionStrategy {
  CS1, CS2, CS3, CS4,
  CS5, CS6, CS7, CS8,
  CS9, CS10, CS11, CS12,
  CS13, CS14, CS15, CS16,
  CS17, CS18, CS19, CS20,
  CS21, CS_ALL, CS_BEST, CS_ALLCONT,
  CS_LAP_NONBASICS
}
 Column selection strategies; again, look them up in the paper. More...
 
enum  ColumnScalingStrategy {
  SC_NONE, SC_LINEAR, SC_LINEAR_BOUNDED, SC_LOG_BOUNDED,
  SC_UNIFORM, SC_UNIFORM_NZ
}
 Scaling strategies for new nonbasic columns for Lift & Project; "factor" is the value of columnScalingBoundLAP_. More...
 

Public Member Functions

Set/get methods
virtual void setAway (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.005. More...
 
double getAway () const
 Get value of away. More...
 
void setEPS_ELIM (double value)
 Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.0. More...
 
double getEPS_ELIM () const
 Get the value of EPS_ELIM. More...
 
virtual void setEPS_RELAX_ABS (double eps_ra)
 Set EPS_RELAX_ABS. More...
 
double getEPS_RELAX_ABS () const
 Get value of EPS_RELAX_ABS. More...
 
virtual void setEPS_RELAX_REL (double eps_rr)
 Set EPS_RELAX_REL. More...
 
double getEPS_RELAX_REL () const
 Get value of EPS_RELAX_REL. More...
 
virtual void setMAXDYN (double value)
 
double getMAXDYN () const
 Get the value of MAXDYN. More...
 
virtual void setMINVIOL (double value)
 Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut. More...
 
double getMINVIOL () const
 Get the value of MINVIOL. More...
 
void setMAX_SUPP_ABS (int value)
 Maximum absolute support of the cutting planes. More...
 
int getMAX_SUPP_ABS () const
 
void setMAX_SUPP_REL (double value)
 Maximum relative support of the cutting planes. More...
 
double getMAX_SUPP_REL () const
 
virtual void setUSE_INTSLACKS (int value)
 Set the value of USE_INTSLACKS. More...
 
int getUSE_INTSLACKS () const
 Get the value of USE_INTSLACKS. More...
 
virtual void setNormIsZero (double value)
 Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5. More...
 
double getNormIsZero () const
 Get the value of normIsZero. More...
 
virtual void setMinNormReduction (double value)
 Set the value of minNormReduction; Default: 0.1. More...
 
double getMinNormReduction () const
 Get the value of normIsZero. More...
 
virtual void setMaxSumMultipliers (int value)
 Set the value of maxSumMultipliers; Default: 10. More...
 
int getMaxSumMultipliers () const
 Get the value of maxSumMultipliers. More...
 
virtual void setNormalization (double value)
 Set the value of normalization; Default: 0.0001. More...
 
double getNormalization () const
 Get the value of normalization. More...
 
virtual void addNumRowsReduction (int value)
 Set the value of numRowsReduction, max number of rows that are used for each row reduction step. More...
 
std::vector< int > getNumRowsReduction () const
 get the value More...
 
void resetNumRowsReduction ()
 reset More...
 
virtual void addColumnSelectionStrategy (ColumnSelectionStrategy value)
 Add the value of columnSelectionStrategy. More...
 
std::vector
< ColumnSelectionStrategy
getColumnSelectionStrategy () const
 get the value More...
 
void resetColumnSelectionStrategy ()
 reset More...
 
virtual void addRowSelectionStrategy (RowSelectionStrategy value)
 Set the value for rowSelectionStrategy, which changes the way we choose the rows for the reduction step. More...
 
std::vector< RowSelectionStrategygetRowSelectionStrategy () const
 get the value More...
 
void resetRowSelectionStrategy ()
 reset More...
 
virtual void addNumRowsReductionLAP (int value)
 Set the value of numRowsReductionLAP, max number of rows that are used for each row reduction step during Lift & Project. More...
 
std::vector< int > getNumRowsReductionLAP () const
 get the value More...
 
void resetNumRowsReductionLAP ()
 reset More...
 
virtual void addColumnSelectionStrategyLAP (ColumnSelectionStrategy value)
 Add the value of columnSelectionStrategyLAP. More...
 
std::vector
< ColumnSelectionStrategy
getColumnSelectionStrategyLAP () const
 get the value More...
 
void resetColumnSelectionStrategyLAP ()
 reset More...
 
virtual void addRowSelectionStrategyLAP (RowSelectionStrategy value)
 Set the value for rowSelectionStrategyLAP, which changes the way we choose the rows for the reduction step. More...
 
std::vector< RowSelectionStrategygetRowSelectionStrategyLAP () const
 get the value More...
 
void resetRowSelectionStrategyLAP ()
 reset More...
 
virtual void setColumnScalingStrategyLAP (ColumnScalingStrategy value)
 Set the value for columnScalingStrategyLAP, which sets the way nonbasic columns that are basic in the fractional point to cut off are scaled. More...
 
ColumnScalingStrategy getColumnScalingStrategyLAP () const
 get the value More...
 
virtual void setColumnScalingBoundLAP (double value)
 Set the value for the bound in the column scaling factor. More...
 
double getColumnScalingBoundLAP () const
 get the value More...
 
virtual void setTimeLimit (double value)
 Set the value of the time limit for cut generation (in seconds) More...
 
double getTimeLimit () const
 get the value More...
 
virtual void setMaxNumCuts (int value)
 Set the value for the maximum number of cuts that can be returned. More...
 
int getMaxNumCuts () const
 get the value More...
 
virtual void setMaxNumComputedCuts (int value)
 Set the value for the maximum number of cuts that can be computed. More...
 
int getMaxNumComputedCuts () const
 get the value More...
 
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 considered. More...
 
int getMaxNonzeroesTab () const
 get the value More...
 
virtual void setSkipGomory (int value)
 Set the value of skipGomory: should we skip simple Gomory cuts, i.e. More...
 
int getSkipGomory () const
 get the value More...
 
Constructors and destructors
 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. More...
 
 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. More...
 
 CglRedSplit2Param (const CglRedSplit2Param &source)
 Copy constructor. More...
 
virtual CglRedSplit2Paramclone () const
 Clone. More...
 
virtual CglRedSplit2Paramoperator= (const CglRedSplit2Param &rhs)
 Assignment operator. More...
 
virtual ~CglRedSplit2Param ()
 Destructor. More...
 
- Public Member Functions inherited from CglParam
virtual void setINFINIT (const double inf)
 Set INFINIT. More...
 
double getINFINIT () const
 Get value of INFINIT. More...
 
virtual void setEPS (const double eps)
 Set EPS. More...
 
double getEPS () const
 Get value of EPS. More...
 
virtual void setEPS_COEFF (const double eps_c)
 Set EPS_COEFF. More...
 
double getEPS_COEFF () const
 Get value of EPS_COEFF. More...
 
virtual void setMAX_SUPPORT (const int max_s)
 Set MAX_SUPPORT. More...
 
int getMAX_SUPPORT () const
 Get value of MAX_SUPPORT. More...
 
 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. More...
 
 CglParam (const CglParam &)
 Copy constructor. More...
 
CglParamoperator= (const CglParam &rhs)
 Assignment operator. More...
 
virtual ~CglParam ()
 Destructor. More...
 

Protected Attributes

Parameters
double EPS_ELIM
 Epsilon for value of coefficients when eliminating slack variables. More...
 
double EPS_RELAX_ABS
 Value added to the right hand side of each generated cut to relax it. More...
 
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. More...
 
double MAXDYN
 
double MINVIOL
 Minimum violation for the current basic solution in a generated cut. More...
 
double MAX_SUPP_REL
 Maximum support - relative part of the formula. More...
 
int USE_INTSLACKS
 Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0. More...
 
double normIsZero_
 Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5. More...
 
double minNormReduction_
 Minimum reduction to accept a new row. More...
 
int maxSumMultipliers_
 Maximum sum of the vector of row multipliers to generate a cut. More...
 
double normalization_
 Normalization factor for the norm of lambda in the quadratic minimization problem that is solved during the coefficient reduction step. More...
 
double away_
 Use row only if pivot variable should be integer but is more than away_ from being integer. More...
 
std::vector< int > numRowsReduction_
 Maximum number of rows to use for the reduction of a given row. More...
 
std::vector
< ColumnSelectionStrategy
columnSelectionStrategy_
 Column selection method. More...
 
std::vector< RowSelectionStrategyrowSelectionStrategy_
 Row selection method. More...
 
std::vector< int > numRowsReductionLAP_
 Maximum number of rows to use for the reduction during Lift & Project. More...
 
std::vector
< ColumnSelectionStrategy
columnSelectionStrategyLAP_
 Column selection method for Lift & Project. More...
 
std::vector< RowSelectionStrategyrowSelectionStrategyLAP_
 Row selection method for Lift & Project. More...
 
ColumnScalingStrategy columnScalingStrategyLAP_
 Column scaling strategy for the nonbasics columns that were basic in the point that we want to cut off (Lift & Project only) More...
 
double columnScalingBoundLAP_
 Minimum value for column scaling (Lift & Project only) More...
 
double timeLimit_
 Time limit. More...
 
int maxNumCuts_
 Maximum number of returned cuts. More...
 
int maxNumComputedCuts_
 Maximum number of computed cuts. More...
 
int maxNonzeroesTab_
 Maximum number of nonzeroes in tableau row for reduction. More...
 
int skipGomory_
 Skip simple Gomory cuts. More...
 
- Protected Attributes inherited from CglParam
double INFINIT
 
double EPS
 
double EPS_COEFF
 
int MAX_SUPPORT
 Maximum number of non zero coefficients in a generated cut; Default: COIN_INT_MAX. More...
 

Detailed Description

Class collecting parameters the Reduced-and-split cut generator.

An important thing to note is that the cut generator allows for the selection of a number of strategies that can be combined together. By default, a selection that typically yields a good compromise between speed and cut strenght is made. The selection can be changed by resetting the default choices (see the functions whose name starts with "reset") or by setting the parameter use_default_strategies to false in the constructors. After this, the chosen strategies can be added to the list by using the functions whose name starts with "add". All strategies will be combined together: if we choose 3 row selection strategies, 2 column selection strategies, and 2 possible numbers of rows, we end up with a total of 3*2*2 combinations.

For a detailed explanation of the parameters and their meaning, see the paper by Cornuejols and Nannicini: "Practical strategies for generating rank-1 split cuts in mixed-integer linear programming", on Mathematical Programming Computation.

Parameters of the generator are listed below.

Definition at line 88 of file CglRedSplit2Param.hpp.

Member Enumeration Documentation

Enumerations for parameters.

Row selection strategies; same names as in the paper

Enumerator
RS1 
RS2 
RS3 
RS4 
RS5 
RS6 
RS7 
RS8 
RS_ALL 
RS_BEST 

Definition at line 94 of file CglRedSplit2Param.hpp.

Column selection strategies; again, look them up in the paper.

Enumerator
CS1 
CS2 
CS3 
CS4 
CS5 
CS6 
CS7 
CS8 
CS9 
CS10 
CS11 
CS12 
CS13 
CS14 
CS15 
CS16 
CS17 
CS18 
CS19 
CS20 
CS21 
CS_ALL 
CS_BEST 
CS_ALLCONT 
CS_LAP_NONBASICS 

Definition at line 122 of file CglRedSplit2Param.hpp.

Scaling strategies for new nonbasic columns for Lift & Project; "factor" is the value of columnScalingBoundLAP_.

Enumerator
SC_NONE 
SC_LINEAR 
SC_LINEAR_BOUNDED 
SC_LOG_BOUNDED 
SC_UNIFORM 
SC_UNIFORM_NZ 

Definition at line 154 of file CglRedSplit2Param.hpp.

Constructor & Destructor Documentation

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.

If use_default_strategies is true, we add to the list of strategies the default ones. If is false, the list of strategies is left empty (must be populated before usage!).

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.

If use_default_strategies is true, we add to the list of strategies the default ones. If is false, the list of strategies is left empty (must be populated before usage!).

CglRedSplit2Param::CglRedSplit2Param ( const CglRedSplit2Param source)

Copy constructor.

virtual CglRedSplit2Param::~CglRedSplit2Param ( )
virtual

Destructor.

Member Function Documentation

virtual void CglRedSplit2Param::setAway ( 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.005.

double CglRedSplit2Param::getAway ( ) const
inline

Get value of away.

Definition at line 178 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::setEPS_ELIM ( double  value)

Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.0.

double CglRedSplit2Param::getEPS_ELIM ( ) const
inline

Get the value of EPS_ELIM.

Definition at line 185 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setEPS_RELAX_ABS ( double  eps_ra)
virtual

Set EPS_RELAX_ABS.

double CglRedSplit2Param::getEPS_RELAX_ABS ( ) const
inline

Get value of EPS_RELAX_ABS.

Definition at line 190 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setEPS_RELAX_REL ( double  eps_rr)
virtual

Set EPS_RELAX_REL.

double CglRedSplit2Param::getEPS_RELAX_REL ( ) const
inline

Get value of EPS_RELAX_REL.

Definition at line 195 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMAXDYN ( double  value)
virtual
double CglRedSplit2Param::getMAXDYN ( ) const
inline

Get the value of MAXDYN.

Definition at line 201 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMINVIOL ( double  value)
virtual

Set the value of MINVIOL, the minimum violation for the current basic solution in a generated cut.

Default: 1e-3

double CglRedSplit2Param::getMINVIOL ( ) const
inline

Get the value of MINVIOL.

Definition at line 207 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::setMAX_SUPP_ABS ( int  value)
inline

Maximum absolute support of the cutting planes.

Default: INT_MAX. Aliases for consistency with our naming scheme.

Definition at line 211 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::getMAX_SUPP_ABS ( ) const
inline

Definition at line 212 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::setMAX_SUPP_REL ( double  value)
inline

Maximum relative support of the cutting planes.

Default: 0.0. The maximum support is MAX_SUPP_ABS + MAX_SUPPREL*ncols.

double CglRedSplit2Param::getMAX_SUPP_REL ( ) const
inline

Definition at line 217 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setUSE_INTSLACKS ( int  value)
virtual

Set the value of USE_INTSLACKS.

Default: 0

int CglRedSplit2Param::getUSE_INTSLACKS ( ) const
inline

Get the value of USE_INTSLACKS.

Definition at line 222 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setNormIsZero ( double  value)
virtual

Set the value of normIsZero, the threshold for considering a norm to be 0; Default: 1e-5.

double CglRedSplit2Param::getNormIsZero ( ) const
inline

Get the value of normIsZero.

Definition at line 228 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMinNormReduction ( double  value)
virtual

Set the value of minNormReduction; Default: 0.1.

double CglRedSplit2Param::getMinNormReduction ( ) const
inline

Get the value of normIsZero.

Definition at line 233 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMaxSumMultipliers ( int  value)
virtual

Set the value of maxSumMultipliers; Default: 10.

int CglRedSplit2Param::getMaxSumMultipliers ( ) const
inline

Get the value of maxSumMultipliers.

Definition at line 238 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setNormalization ( double  value)
virtual

Set the value of normalization; Default: 0.0001.

double CglRedSplit2Param::getNormalization ( ) const
inline

Get the value of normalization.

Definition at line 243 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addNumRowsReduction ( int  value)
virtual

Set the value of numRowsReduction, max number of rows that are used for each row reduction step.

In particular, the linear system will involve a numRowsReduction*numRowsReduction matrix

std::vector<int> CglRedSplit2Param::getNumRowsReduction ( ) const
inline

get the value

Definition at line 250 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetNumRowsReduction ( )
inline

reset

Definition at line 252 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addColumnSelectionStrategy ( ColumnSelectionStrategy  value)
virtual

Add the value of columnSelectionStrategy.

std::vector<ColumnSelectionStrategy> CglRedSplit2Param::getColumnSelectionStrategy ( ) const
inline

get the value

Definition at line 257 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetColumnSelectionStrategy ( )
inline

reset

Definition at line 259 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addRowSelectionStrategy ( RowSelectionStrategy  value)
virtual

Set the value for rowSelectionStrategy, which changes the way we choose the rows for the reduction step.

std::vector<RowSelectionStrategy> CglRedSplit2Param::getRowSelectionStrategy ( ) const
inline

get the value

Definition at line 265 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetRowSelectionStrategy ( )
inline

reset

Definition at line 267 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addNumRowsReductionLAP ( int  value)
virtual

Set the value of numRowsReductionLAP, max number of rows that are used for each row reduction step during Lift & Project.

In particular, the linear system will involve a numRowsReduction*numRowsReduction matrix

std::vector<int> CglRedSplit2Param::getNumRowsReductionLAP ( ) const
inline

get the value

Definition at line 275 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetNumRowsReductionLAP ( )
inline

reset

Definition at line 277 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addColumnSelectionStrategyLAP ( ColumnSelectionStrategy  value)
virtual

Add the value of columnSelectionStrategyLAP.

std::vector<ColumnSelectionStrategy> CglRedSplit2Param::getColumnSelectionStrategyLAP ( ) const
inline

get the value

Definition at line 282 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetColumnSelectionStrategyLAP ( )
inline

reset

Definition at line 284 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::addRowSelectionStrategyLAP ( RowSelectionStrategy  value)
virtual

Set the value for rowSelectionStrategyLAP, which changes the way we choose the rows for the reduction step.

std::vector<RowSelectionStrategy> CglRedSplit2Param::getRowSelectionStrategyLAP ( ) const
inline

get the value

Definition at line 290 of file CglRedSplit2Param.hpp.

void CglRedSplit2Param::resetRowSelectionStrategyLAP ( )
inline

reset

Definition at line 292 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setColumnScalingStrategyLAP ( ColumnScalingStrategy  value)
virtual

Set the value for columnScalingStrategyLAP, which sets the way nonbasic columns that are basic in the fractional point to cut off are scaled.

ColumnScalingStrategy CglRedSplit2Param::getColumnScalingStrategyLAP ( ) const
inline

get the value

Definition at line 298 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setColumnScalingBoundLAP ( double  value)
virtual

Set the value for the bound in the column scaling factor.

double CglRedSplit2Param::getColumnScalingBoundLAP ( ) const
inline

get the value

Definition at line 303 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setTimeLimit ( double  value)
virtual

Set the value of the time limit for cut generation (in seconds)

double CglRedSplit2Param::getTimeLimit ( ) const
inline

get the value

Definition at line 308 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMaxNumCuts ( int  value)
virtual

Set the value for the maximum number of cuts that can be returned.

int CglRedSplit2Param::getMaxNumCuts ( ) const
inline

get the value

Definition at line 313 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMaxNumComputedCuts ( int  value)
virtual

Set the value for the maximum number of cuts that can be computed.

int CglRedSplit2Param::getMaxNumComputedCuts ( ) const
inline

get the value

Definition at line 318 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setMaxNonzeroesTab ( int  value)
virtual

Set the value for the maximum number of nonzeroes in a row of the simplex tableau for the row to be considered.

int CglRedSplit2Param::getMaxNonzeroesTab ( ) const
inline

get the value

Definition at line 324 of file CglRedSplit2Param.hpp.

virtual void CglRedSplit2Param::setSkipGomory ( int  value)
virtual

Set the value of skipGomory: should we skip simple Gomory cuts, i.e.

GMI cuts derived from a single row of the simple tableau? This is 1 (true) by default: we only generate cuts from linear combinations of at least two rows.

int CglRedSplit2Param::getSkipGomory ( ) const
inline

get the value

Definition at line 332 of file CglRedSplit2Param.hpp.

virtual CglRedSplit2Param* CglRedSplit2Param::clone ( ) const
virtual

Clone.

Reimplemented from CglParam.

virtual CglRedSplit2Param& CglRedSplit2Param::operator= ( const CglRedSplit2Param rhs)
virtual

Assignment operator.

Member Data Documentation

double CglRedSplit2Param::EPS_ELIM
protected

Epsilon for value of coefficients when eliminating slack variables.

Default: 0.0.

Definition at line 409 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::EPS_RELAX_ABS
protected

Value added to the right hand side of each generated cut to relax it.

Default: 1e-11

Definition at line 413 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::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: 1e-13

Definition at line 418 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::MAXDYN
protected

Definition at line 422 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::MINVIOL
protected

Minimum violation for the current basic solution in a generated cut.

Default: 1e-3.

Definition at line 426 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::MAX_SUPP_REL
protected

Maximum support - relative part of the formula.

Definition at line 429 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::USE_INTSLACKS
protected

Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.

Definition at line 432 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::normIsZero_
protected

Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.

Definition at line 436 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::minNormReduction_
protected

Minimum reduction to accept a new row.

Definition at line 439 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::maxSumMultipliers_
protected

Maximum sum of the vector of row multipliers to generate a cut.

Definition at line 442 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::normalization_
protected

Normalization factor for the norm of lambda in the quadratic minimization problem that is solved during the coefficient reduction step.

Definition at line 446 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::away_
protected

Use row only if pivot variable should be integer but is more than away_ from being integer.

Default: 0.005

Definition at line 450 of file CglRedSplit2Param.hpp.

std::vector<int> CglRedSplit2Param::numRowsReduction_
protected

Maximum number of rows to use for the reduction of a given row.

Definition at line 453 of file CglRedSplit2Param.hpp.

std::vector<ColumnSelectionStrategy> CglRedSplit2Param::columnSelectionStrategy_
protected

Column selection method.

Definition at line 456 of file CglRedSplit2Param.hpp.

std::vector<RowSelectionStrategy> CglRedSplit2Param::rowSelectionStrategy_
protected

Row selection method.

Definition at line 459 of file CglRedSplit2Param.hpp.

std::vector<int> CglRedSplit2Param::numRowsReductionLAP_
protected

Maximum number of rows to use for the reduction during Lift & Project.

Definition at line 462 of file CglRedSplit2Param.hpp.

std::vector<ColumnSelectionStrategy> CglRedSplit2Param::columnSelectionStrategyLAP_
protected

Column selection method for Lift & Project.

Definition at line 465 of file CglRedSplit2Param.hpp.

std::vector<RowSelectionStrategy> CglRedSplit2Param::rowSelectionStrategyLAP_
protected

Row selection method for Lift & Project.

Definition at line 468 of file CglRedSplit2Param.hpp.

ColumnScalingStrategy CglRedSplit2Param::columnScalingStrategyLAP_
protected

Column scaling strategy for the nonbasics columns that were basic in the point that we want to cut off (Lift & Project only)

Definition at line 472 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::columnScalingBoundLAP_
protected

Minimum value for column scaling (Lift & Project only)

Definition at line 475 of file CglRedSplit2Param.hpp.

double CglRedSplit2Param::timeLimit_
protected

Time limit.

Definition at line 478 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::maxNumCuts_
protected

Maximum number of returned cuts.

Definition at line 481 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::maxNumComputedCuts_
protected

Maximum number of computed cuts.

Definition at line 484 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::maxNonzeroesTab_
protected

Maximum number of nonzeroes in tableau row for reduction.

Definition at line 487 of file CglRedSplit2Param.hpp.

int CglRedSplit2Param::skipGomory_
protected

Skip simple Gomory cuts.

Definition at line 490 of file CglRedSplit2Param.hpp.


The documentation for this class was generated from the following file: