CglValidator Class Reference

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

#include <CglLandPValidator.hpp>

List of all members.

Public Types

 NoneAccepted = 0
 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
enum  RejectionsReasons {
  NoneAccepted = 0, SmallViolation, SmallCoefficient, BigDynamic,
  DenseCut, EmptyCut, DummyEnd
}
 Reasons for rejecting a cut. More...

Public Member Functions

 CglValidator (double maxFillIn=1., double maxRatio=1e8, double minViolation=0, bool scale=false)
 Constructor with default values.
int cleanCut (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par) const
 Clean an OsiCut.
int cleanCut2 (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par) const
 Clean an OsiCut by another method.
int operator() (OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par) const
 Call the cut cleaner.
const std::string & failureString (RejectionsReasons code) const
const std::string & 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)
get functions
double getMaxFillIn ()
double getMaxRatio ()
double getMinViolation ()

Static Private Member Functions

static void fillRejectionReasons ()

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
bool scale_
 Do we do scaling?
std::vector< int > numRejected_
 Number of cut rejected for each of the reasons.

Static Private Attributes

static std::vector< std::string > rejections_
 Strings explaining reason for rejections.


Detailed Description

Class to validate or reject a cut.

Definition at line 20 of file CglLandPValidator.hpp.


Member Enumeration Documentation

enum CglValidator::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 24 of file CglLandPValidator.hpp.


Constructor & Destructor Documentation

CglValidator::CglValidator ( double  maxFillIn = 1.,
double  maxRatio = 1e8,
double  minViolation = 0,
bool  scale = false 
)

Constructor with default values.


Member Function Documentation

int CglValidator::cleanCut ( OsiRowCut aCut,
const double *  solCut,
const OsiSolverInterface si,
const CglParam par 
) const

Clean an OsiCut.

int CglValidator::cleanCut2 ( OsiRowCut aCut,
const double *  solCut,
const OsiSolverInterface si,
const CglParam par 
) const

Clean an OsiCut by another method.

Referenced by operator()().

int CglValidator::operator() ( OsiRowCut aCut,
const double *  solCut,
const OsiSolverInterface si,
const CglParam par 
) const [inline]

Call the cut cleaner.

Definition at line 45 of file CglLandPValidator.hpp.

References cleanCut2().

void CglValidator::setMaxFillIn ( double  value  )  [inline]

Definition at line 49 of file CglLandPValidator.hpp.

References maxFillIn_.

void CglValidator::setMaxRatio ( double  value  )  [inline]

Definition at line 50 of file CglLandPValidator.hpp.

References maxRatio_.

void CglValidator::setMinViolation ( double  value  )  [inline]

Definition at line 51 of file CglLandPValidator.hpp.

References minViolation_.

double CglValidator::getMaxFillIn (  )  [inline]

Definition at line 55 of file CglLandPValidator.hpp.

References maxFillIn_.

double CglValidator::getMaxRatio (  )  [inline]

Definition at line 56 of file CglLandPValidator.hpp.

References maxRatio_.

double CglValidator::getMinViolation (  )  [inline]

Definition at line 57 of file CglLandPValidator.hpp.

References minViolation_.

const std::string& CglValidator::failureString ( RejectionsReasons  code  )  const [inline]

Definition at line 60 of file CglLandPValidator.hpp.

References rejections_.

const std::string& CglValidator::failureString ( int  code  )  const [inline]

Definition at line 61 of file CglLandPValidator.hpp.

References rejections_.

int CglValidator::numRejected ( RejectionsReasons  code  )  const [inline]

Definition at line 62 of file CglLandPValidator.hpp.

References numRejected_.

int CglValidator::numRejected ( int  code  )  const [inline]

Definition at line 63 of file CglLandPValidator.hpp.

References numRejected_.

static void CglValidator::fillRejectionReasons (  )  [static, private]


Member Data Documentation

double CglValidator::maxFillIn_ [private]

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

Definition at line 67 of file CglLandPValidator.hpp.

Referenced by getMaxFillIn(), and setMaxFillIn().

double CglValidator::maxRatio_ [private]

max ratio between smallest and biggest coefficient

Definition at line 69 of file CglLandPValidator.hpp.

Referenced by getMaxRatio(), and setMaxRatio().

double CglValidator::minViolation_ [private]

minimum violation for accepting a cut

Definition at line 71 of file CglLandPValidator.hpp.

Referenced by getMinViolation(), and setMinViolation().

bool CglValidator::scale_ [private]

Do we do scaling?

Definition at line 73 of file CglLandPValidator.hpp.

std::vector<std::string> CglValidator::rejections_ [static, private]

Strings explaining reason for rejections.

Definition at line 75 of file CglLandPValidator.hpp.

Referenced by failureString().

std::vector<int> CglValidator::numRejected_ [mutable, private]

Number of cut rejected for each of the reasons.

Definition at line 77 of file CglLandPValidator.hpp.

Referenced by numRejected().


The documentation for this class was generated from the following file:
Generated on Sun Nov 14 14:13:16 2010 for Coin-All by  doxygen 1.4.7