# CglRedSplit2Param Class Reference

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

`#include <CglRedSplit2Param.hpp>`

Inheritance diagram for CglRedSplit2Param:
[legend]
Collaboration diagram for CglRedSplit2Param:
[legend]

List of all members.

## 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.
double | getAway () const
| Get value of away.
void | setEPS_ELIM (double value)
| Set the value of EPS_ELIM, epsilon for values of coefficients when eliminating slack variables; Default: 0.0.
double | getEPS_ELIM () const
| Get the value of EPS_ELIM.
virtual void | setEPS_RELAX_ABS (double eps_ra)
| Set EPS_RELAX_ABS.
double | getEPS_RELAX_ABS () const
| Get value of EPS_RELAX_ABS.
virtual void | setEPS_RELAX_REL (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.005.
double | getMAXDYN () const
| Get the value of MAXDYN.
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.
void | setMAX_SUPP_ABS (int value)
| Maximum absolute support of the cutting planes.
int | getMAX_SUPP_ABS () const
| 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.
void | setMAX_SUPP_REL (double value)
| Maximum relative support of the cutting planes.
double | getMAX_SUPP_REL () const
| 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.
virtual void | setUSE_INTSLACKS (int value)
| Set the value of USE_INTSLACKS.
int | getUSE_INTSLACKS () const
| Get the value of USE_INTSLACKS.
virtual void | setNormIsZero (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 | setMinNormReduction (double value)
| Set the value of minNormReduction; Default: 0.1.
double | getMinNormReduction () const
| Get the value of normIsZero.
virtual void | setMaxSumMultipliers (int value)
| Set the value of maxSumMultipliers; Default: 10.
int | getMaxSumMultipliers () const
| Get the value of maxSumMultipliers.
virtual void | setNormalization (double value)
| Set the value of normalization; Default: 0.0001.
double | getNormalization () const
| Get the value of normalization.
virtual void | addNumRowsReduction (int value)
| Set the value of numRowsReduction, max number of rows that are used for each row reduction step.
std::vector< int > | getNumRowsReduction () const
| get the value
void | resetNumRowsReduction ()
| reset
virtual void | addColumnSelectionStrategy (ColumnSelectionStrategy value)
| Add the value of columnSelectionStrategy.
std::vector < ColumnSelectionStrategy > | getColumnSelectionStrategy () const
| get the value
void | resetColumnSelectionStrategy ()
| reset
virtual void | addRowSelectionStrategy (RowSelectionStrategy value)
| Set the value for rowSelectionStrategy, which changes the way we choose the rows for the reduction step.
std::vector< RowSelectionStrategy > | getRowSelectionStrategy () const
| get the value
void | resetRowSelectionStrategy ()
| reset
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.
std::vector< int > | getNumRowsReductionLAP () const
| get the value
void | resetNumRowsReductionLAP ()
| reset
virtual void | addColumnSelectionStrategyLAP (ColumnSelectionStrategy value)
| Add the value of columnSelectionStrategyLAP.
std::vector < ColumnSelectionStrategy > | getColumnSelectionStrategyLAP () const
| get the value
void | resetColumnSelectionStrategyLAP ()
| reset
virtual void | addRowSelectionStrategyLAP (RowSelectionStrategy value)
| Set the value for rowSelectionStrategyLAP, which changes the way we choose the rows for the reduction step.
std::vector< RowSelectionStrategy > | getRowSelectionStrategyLAP () const
| get the value
void | resetRowSelectionStrategyLAP ()
| reset
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.
ColumnScalingStrategy | getColumnScalingStrategyLAP () const
| get the value
virtual void | setColumnScalingBoundLAP (double value)
| Set the value for the bound in the column scaling factor.
double | getColumnScalingBoundLAP () const
| get the value
virtual void | setTimeLimit (double value)
| Set the value of the time limit for cut generation (in seconds).
double | getTimeLimit () const
| get the value
virtual void | setMaxNumCuts (int value)
| Set the value for the maximum number of cuts that can be returned.
int | getMaxNumCuts () const
| get the value
virtual void | setMaxNumComputedCuts (int value)
| Set the value for the maximum number of cuts that can be computed.
int | getMaxNumComputedCuts () const
| get the value
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.
int | getMaxNonzeroesTab () const
| get the value
virtual void | setSkipGomory (int value)
| Set the value of skipGomory: should we skip simple Gomory cuts, i.e.
int | getSkipGomory () const
| get the value
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.
| 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 (const CglRedSplit2Param &source)
| Copy constructor.
virtual CglRedSplit2Param * | clone () const
| Clone.
virtual CglRedSplit2Param & | operator= (const CglRedSplit2Param &rhs)
| Assignment operator.
virtual | ~CglRedSplit2Param ()
| Destructor.
## Protected Attributes
Parameters
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
| Epsilon for value of coefficients when eliminating slack variables.
double | MINVIOL
| Minimum violation for the current basic solution in a generated cut.
double | MAX_SUPP_REL
| Maximum support - relative part of the formula.
int | USE_INTSLACKS
| Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
double | normIsZero_
| Norm of a vector is considered zero if smaller than normIsZero; Default: 1e-5.
double | minNormReduction_
| Minimum reduction to accept a new row.
int | maxSumMultipliers_
| Maximum sum of the vector of row multipliers to generate a cut.
double | normalization_
| Normalization factor for the norm of lambda in the quadratic minimization problem that is solved during the coefficient reduction step.
double | away_
| Use row only if pivot variable should be integer but is more than away_ from being integer.
std::vector< int > | numRowsReduction_
| Maximum number of rows to use for the reduction of a given row.
std::vector < ColumnSelectionStrategy > | columnSelectionStrategy_
| Column selection method.
std::vector< RowSelectionStrategy > | rowSelectionStrategy_
| Row selection method.
std::vector< int > | numRowsReductionLAP_
| Maximum number of rows to use for the reduction during Lift & Project.
std::vector < ColumnSelectionStrategy > | columnSelectionStrategyLAP_
| Column selection method for Lift & Project.
std::vector< RowSelectionStrategy > | rowSelectionStrategyLAP_
| Row selection method for Lift & Project.
ColumnScalingStrategy | columnScalingStrategyLAP_
| Column scaling strategy for the nonbasics columns that were basic in the point that we want to cut off (Lift & Project only).
double | columnScalingBoundLAP_
| Minimum value for column scaling (Lift & Project only).
double | timeLimit_
| Time limit.
int | maxNumCuts_
| Maximum number of returned cuts.
int | maxNumComputedCuts_
| Maximum number of computed cuts.
int | maxNonzeroesTab_
| Maximum number of nonzeroes in tableau row for reduction.
int | skipGomory_
| Skip simple Gomory cuts.

## 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.

- MAXDYN: Maximum ratio between largest and smallest non zero coefficients in a cut. See method setMAXDYN().
- EPS_ELIM: Precision for deciding if a coefficient is zero when eliminating slack variables. See method setEPS_ELIM().
- MINVIOL: Minimum violation for the current basic solution in a generated cut. See method setMINVIOL().
- EPS_RELAX_ABS: Absolute relaxation of cut rhs.
- EPS_RELAX_REL: Relative relaxation of cut rhs.
- MAX_SUPP_ABS: Maximum cut support (absolute).
- MAX_SUPP_REL: Maximum cut support (relative): the formula to compute maximum cut support is MAX_SUPP_ABS + ncol*MAX_SUPP_REL.
- USE_INTSLACKS: Use integer slacks to generate cuts. (not implemented). See method setUSE_INTSLACKS().
- normIsZero: Norm of a vector is considered zero if smaller than this value. See method setNormIsZero().
- minNormReduction: a cut is generated if the new norm of the row on the continuous nonbasics is reduced by at least this factor (relative reduction).
- away: Look only at basic integer variables whose current value is at least this value from being integer. See method setAway().
- maxSumMultipliers: maximum sum (in absolute value) of row multipliers
- normalization: normalization factor for the norm of lambda in the coefficient reduction algorithm (convex min problem)
- numRowsReduction: Maximum number of rows in the linear system for norm reduction.
- columnSelectionStrategy: parameter to select which columns should be used for coefficient reduction.
- rowSelectionStrategy: parameter to select which rows should be used for coefficient reduction.
- timeLimit: Time limit (in seconds) for cut generation.
- maxNumCuts: Maximum number of cuts that can be returned at each pass; we could generate more cuts than this number (see below)
- maxNumComputedCuts: Maximum number of cuts that can be computed by the generator at each pass
- maxNonzeroesTab : Rows of the simplex tableau with more than this number of nonzeroes will not be considered for reduction. Only works if RS_FAST_* are defined in CglRedSplit2.
- skipGomory: Skip traditional Gomory cuts, i.e. GMI cuts arising from a single row of the tableau (instead of a combination). Default is 1 (true), because we assume that they are generated by a traditional Gomory generator anyway.

Definition at line 88 of file CglRedSplit2Param.hpp.

## Member Enumeration Documentation

enum CglRedSplit2Param::RowSelectionStrategy

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.

enum CglRedSplit2Param::ColumnSelectionStrategy

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.

enum CglRedSplit2Param::ColumnScalingStrategy

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]`

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::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]`

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.

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]`

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.

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.

Reimplemented from CglParam.

## 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]`

Epsilon for value of coefficients when eliminating slack variables.

Default: 0.0.

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:

- /home/coin/svn-release/Blis-0.94.1/Cgl/src/CglRedSplit2/CglRedSplit2Param.hpp