Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | Static Private Attributes | List of all members
LAP::Validator Class Reference

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

#include <CglLandPValidator.hpp>

+ Collaboration diagram for LAP::Validator:

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. More...
 
int cleanCut (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
 Clean an OsiCut. More...
 
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. More...
 
int operator() (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
 Call the cut cleaner. More...
 
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. More...
 
double maxRatio_
 max ratio between smallest and biggest coefficient More...
 
double minViolation_
 minimum violation for accepting a cut More...
 
bool scale_
 Do we do scaling? More...
 
double rhsScale_
 Scale of right-hand-side. More...
 
std::vector< int > numRejected_
 Number of cut rejected for each of the reasons. More...
 

Static Private Attributes

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

Detailed Description

Class to validate or reject a cut.

Definition at line 26 of file CglLandPValidator.hpp.

Member Enumeration Documentation

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

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

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

Clean an OsiCut.

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.

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.

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

Definition at line 62 of file CglLandPValidator.hpp.

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

Definition at line 66 of file CglLandPValidator.hpp.

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

Definition at line 70 of file CglLandPValidator.hpp.

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

Definition at line 75 of file CglLandPValidator.hpp.

double LAP::Validator::getMaxFillIn ( )
inline

Definition at line 82 of file CglLandPValidator.hpp.

double LAP::Validator::getMaxRatio ( )
inline

Definition at line 86 of file CglLandPValidator.hpp.

double LAP::Validator::getMinViolation ( )
inline

Definition at line 90 of file CglLandPValidator.hpp.

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

Definition at line 96 of file CglLandPValidator.hpp.

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

Definition at line 100 of file CglLandPValidator.hpp.

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

Definition at line 104 of file CglLandPValidator.hpp.

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

Definition at line 108 of file CglLandPValidator.hpp.

Member Data Documentation

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.

double LAP::Validator::maxRatio_
private

max ratio between smallest and biggest coefficient

Definition at line 116 of file CglLandPValidator.hpp.

double LAP::Validator::minViolation_
private

minimum violation for accepting a cut

Definition at line 118 of file CglLandPValidator.hpp.

bool LAP::Validator::scale_
private

Do we do scaling?

Definition at line 120 of file CglLandPValidator.hpp.

double LAP::Validator::rhsScale_
private

Scale of right-hand-side.

Definition at line 122 of file CglLandPValidator.hpp.

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

Strings explaining reason for rejections.

Definition at line 124 of file CglLandPValidator.hpp.

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: