Loading...
Searching...
No Matches
LAP::Validator Class Reference

Class to validate or reject a cut. More...

`#include <CglLandPValidator.hpp>`

Collaboration diagram for LAP::Validator:
[legend]

## Public Types

enum | RejectionsReasons { NoneAccepted =0 , SmallViolation , SmallCoefficient , BigDynamic , DenseCut , EmptyCut , DummyEnd }
| Reasons for rejecting a cut. More...

## Public Member Functions

| Validator (double maxFillIn=1., double maxRatio=1e8, double minViolation=0, bool scale=false, double rhsScale=1)
| Constructor with default values.
int | cleanCut (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
| Clean an OsiCut.
int | cleanCut2 (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
| Clean an OsiCut by another method.
int | operator() (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
| Call the cut cleaner.
const char * | failureString (RejectionsReasons code) const
const char * | failureString (int code) const
int | numRejected (RejectionsReasons code) const
int | numRejected (int code) const
set functions
void | setMaxFillIn (double value)
void | setMaxRatio (double value)
void | setMinViolation (double value)
void | setRhsScale (double v)
get functions
double | getMaxFillIn ()
double | getMaxRatio ()
double | getMinViolation ()

## Private Attributes

double | maxFillIn_
| max percentage of given formulation fillIn should be accepted for cut fillin.
double | maxRatio_
| max ratio between smallest and biggest coefficient
double | minViolation_
| minimum violation for accepting a cut
double | rhsScale_
| Do we do scaling?
std::vector< int > | numRejected_
| Number of cut rejected for each of the reasons.

## Static Private Attributes

static const char * | rejections_ [DummyEnd]
| Strings explaining reason for rejections.

## Detailed Description

Class to validate or reject a cut.

Definition at line 26 of file CglLandPValidator.hpp.

## Member Enumeration Documentation

## RejectionsReasons

enum LAP::Validator::RejectionsReasons

Reasons for rejecting a cut.

Enumerator
NoneAccepted |
SmallViolation | Violation of the cut is too small.
SmallCoefficient | There is a small coefficient we can not get rid off.
BigDynamic | Dynamic of coefficinet is too important.
DenseCut | cut is too dense
EmptyCut | After cleaning cut has become empty.
DummyEnd | dummy

Definition at line 30 of file CglLandPValidator.hpp.

## Constructor & Destructor Documentation

## Validator()

LAP::Validator::Validator | ( | double | maxFillIn = 1.,
|  | double | maxRatio = 1e8,
|  | double | minViolation = 0,
|  | bool | scale = false,
|  | double | rhsScale = 1 )

Constructor with default values.

## Member Function Documentation

## cleanCut()

int LAP::Validator::cleanCut | ( | OsiRowCut & | aCut,
|  | const double * | solCut,
|  | const OsiSolverInterface & | si,
|  | const CglParam & | par,
|  | const double * | colLower,
|  | const double * | colUpper )

Clean an OsiCut.

## cleanCut2()

int LAP::Validator::cleanCut2 | ( | OsiRowCut & | aCut,
|  | const double * | solCut,
|  | const OsiSolverInterface & | si,
|  | const CglParam & | par,
|  | const double * | colLower,
|  | const double * | colUpper )

Clean an OsiCut by another method.

## operator()()

int LAP::Validator::operator() | ( | OsiRowCut & | aCut,
|  | const double * | solCut,
|  | const OsiSolverInterface & | si,
|  | const CglParam & | par,
|  | const double * | colLower,
|  | const double * | colUpper )

inline

Call the cut cleaner.

Definition at line 55 of file CglLandPValidator.hpp.

## setMaxFillIn()

void LAP::Validator::setMaxFillIn | ( | double | value | ) |

inline

Definition at line 62 of file CglLandPValidator.hpp.

## setMaxRatio()

void LAP::Validator::setMaxRatio | ( | double | value | ) |

inline

Definition at line 66 of file CglLandPValidator.hpp.

## setMinViolation()

void LAP::Validator::setMinViolation | ( | double | value | ) |

inline

Definition at line 70 of file CglLandPValidator.hpp.

## setRhsScale()

void LAP::Validator::setRhsScale | ( | double | v | ) |

inline

Definition at line 75 of file CglLandPValidator.hpp.

## getMaxFillIn()

double LAP::Validator::getMaxFillIn | ( |  | ) |

inline

Definition at line 82 of file CglLandPValidator.hpp.

## getMaxRatio()

double LAP::Validator::getMaxRatio | ( |  | ) |

inline

Definition at line 86 of file CglLandPValidator.hpp.

## getMinViolation()

double LAP::Validator::getMinViolation | ( |  | ) |

inline

Definition at line 90 of file CglLandPValidator.hpp.

## failureString() [1/2]

const char * LAP::Validator::failureString | ( | RejectionsReasons | code | ) | const

inline

Definition at line 96 of file CglLandPValidator.hpp.

## failureString() [2/2]

const char * LAP::Validator::failureString | ( | int | code | ) | const

inline

Definition at line 100 of file CglLandPValidator.hpp.

## numRejected() [1/2]

int LAP::Validator::numRejected | ( | RejectionsReasons | code | ) | const

inline

Definition at line 104 of file CglLandPValidator.hpp.

## numRejected() [2/2]

int LAP::Validator::numRejected | ( | int | code | ) | const

inline

Definition at line 108 of file CglLandPValidator.hpp.

## Member Data Documentation

## maxFillIn_

double LAP::Validator::maxFillIn_

private

max percentage of given formulation fillIn should be accepted for cut fillin.

Definition at line 114 of file CglLandPValidator.hpp.

## maxRatio_

double LAP::Validator::maxRatio_

private

max ratio between smallest and biggest coefficient

Definition at line 116 of file CglLandPValidator.hpp.

## minViolation_

double LAP::Validator::minViolation_

private

minimum violation for accepting a cut

Definition at line 118 of file CglLandPValidator.hpp.

## rhsScale_

double LAP::Validator::rhsScale_

private

Do we do scaling?

Scale of right-hand-side.

Definition at line 122 of file CglLandPValidator.hpp.

## rejections_

const char* LAP::Validator::rejections_[DummyEnd]

static private

Strings explaining reason for rejections.

Definition at line 124 of file CglLandPValidator.hpp.

## numRejected_

std::vector<int> LAP::Validator::numRejected_

private

Number of cut rejected for each of the reasons.

Definition at line 126 of file CglLandPValidator.hpp.

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

- Cgl/src/CglLandP/CglLandPValidator.hpp