Bonmin::EcpCuts Class Reference

#include <BonEcpCuts.hpp>

Inheritance diagram for Bonmin::EcpCuts:

Inheritance graph
[legend]
Collaboration diagram for Bonmin::EcpCuts:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 EcpCuts (OsiTMINLPInterface *nlp=NULL, int numRounds=1, double abs_violation_tol=1e-6, double rel_violation_tol=1000., double beta=-1.)
 EcpCuts (BabSetupBase &b)
 EcpCuts (const EcpCuts &copy)
 Copy constructor.
CglCutGenerator * clone () const
 clone
virtual ~EcpCuts ()
 Destructor.
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
 Standard cut generation methods.
double doEcpRounds (OsiSolverInterface &si, bool leaveSiUnchanged, double *violation=NULL)
void setNumRounds (int value)
void setPropabilityFactor (double value)
void setAbsViolationTolerance (double value)
void setRelViolationTolerance (double value)

Static Public Member Functions

static void registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register ecp cuts options.

Protected Member Functions

virtual double performOa (OsiCuts &cs, solverManip &nlpManip, solverManip &lpManip, SubMipSolver *&subMip, OsiBabSolver *babInfo, double &cutoff) const
 virtual method which performs the OA algorithm by modifying lp and nlp.
virtual bool doLocalSearch () const
 virutal method to decide if local search is performed

Private Attributes

double objValue_
 Record obj value at final point of Ecp.
double violation_
 Record NLP infeasibility at final point of Ecp.
int numRounds_
 maximum number of iterations of generation.
double abs_violation_tol_
 absolute tolerance for NLP constraint violation to stop ECP rounds
double rel_violation_tol_
 relative tolerance for NLP constraint violation to stop ECP rounds
double beta_
 Factor for probability for skipping cuts.

Detailed Description

Definition at line 17 of file BonEcpCuts.hpp.


Constructor & Destructor Documentation

Bonmin::EcpCuts::EcpCuts ( OsiTMINLPInterface nlp = NULL,
int  numRounds = 1,
double  abs_violation_tol = 1e-6,
double  rel_violation_tol = 1000.,
double  beta = -1. 
) [inline]

Definition at line 20 of file BonEcpCuts.hpp.

Referenced by clone().

Bonmin::EcpCuts::EcpCuts ( BabSetupBase b  ) 

Definition at line 15 of file BonEcpCuts.cpp.

References abs_violation_tol_, Bonmin::OaDecompositionBase::assignLpInterface(), beta_, numRounds_, Bonmin::BabSetupBase::options(), and rel_violation_tol_.

Bonmin::EcpCuts::EcpCuts ( const EcpCuts copy  )  [inline]

Copy constructor.

Definition at line 36 of file BonEcpCuts.hpp.

virtual Bonmin::EcpCuts::~EcpCuts (  )  [inline, virtual]

Destructor.

Definition at line 52 of file BonEcpCuts.hpp.


Member Function Documentation

CglCutGenerator* Bonmin::EcpCuts::clone (  )  const [inline]

clone

Definition at line 46 of file BonEcpCuts.hpp.

References EcpCuts().

void Bonmin::EcpCuts::generateCuts ( const OsiSolverInterface &  si,
OsiCuts &  cs,
const CglTreeInfo  info = CglTreeInfo() 
) const [virtual]

Standard cut generation methods.

Reimplemented from Bonmin::OaDecompositionBase.

Definition at line 43 of file BonEcpCuts.cpp.

References abs_violation_tol_, beta_, Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::OaDecompositionBase::lp_, Bonmin::OaDecompositionBase::nlp_, numRounds_, objValue_, Bonmin::OaDecompositionBase::parameter(), rel_violation_tol_, and violation_.

Referenced by doEcpRounds().

double Bonmin::EcpCuts::doEcpRounds ( OsiSolverInterface &  si,
bool  leaveSiUnchanged,
double *  violation = NULL 
)

Definition at line 26 of file BonEcpCuts.cpp.

References generateCuts(), Bonmin::OaDecompositionBase::leaveSiUnchanged_, Bonmin::OaDecompositionBase::lp_, objValue_, and violation_.

Referenced by Bonmin::LpBranchingSolver::solveFromHotStart().

void Bonmin::EcpCuts::setNumRounds ( int  value  )  [inline]

Definition at line 61 of file BonEcpCuts.hpp.

References numRounds_.

void Bonmin::EcpCuts::setPropabilityFactor ( double  value  )  [inline]

Definition at line 66 of file BonEcpCuts.hpp.

References beta_.

void Bonmin::EcpCuts::setAbsViolationTolerance ( double  value  )  [inline]

Definition at line 71 of file BonEcpCuts.hpp.

References abs_violation_tol_.

void Bonmin::EcpCuts::setRelViolationTolerance ( double  value  )  [inline]

Definition at line 75 of file BonEcpCuts.hpp.

References rel_violation_tol_.

void Bonmin::EcpCuts::registerOptions ( Ipopt::SmartPtr< Bonmin::RegisteredOptions roptions  )  [static]

Register ecp cuts options.

Definition at line 139 of file BonEcpCuts.cpp.

References Bonmin::RegisteredOptions::BonminCategory, and e.

Referenced by Bonmin::BonminSetup::registerAllOptions().

virtual double Bonmin::EcpCuts::performOa ( OsiCuts &  cs,
solverManip &  nlpManip,
solverManip &  lpManip,
SubMipSolver *&  subMip,
OsiBabSolver *  babInfo,
double &  cutoff 
) const [inline, protected, virtual]

virtual method which performs the OA algorithm by modifying lp and nlp.

Definition at line 85 of file BonEcpCuts.hpp.

virtual bool Bonmin::EcpCuts::doLocalSearch (  )  const [inline, protected, virtual]

virutal method to decide if local search is performed

Implements Bonmin::OaDecompositionBase.

Definition at line 91 of file BonEcpCuts.hpp.


Member Data Documentation

double Bonmin::EcpCuts::objValue_ [mutable, private]

Record obj value at final point of Ecp.

Definition at line 97 of file BonEcpCuts.hpp.

Referenced by doEcpRounds(), and generateCuts().

double Bonmin::EcpCuts::violation_ [mutable, private]

Record NLP infeasibility at final point of Ecp.

Definition at line 99 of file BonEcpCuts.hpp.

Referenced by doEcpRounds(), and generateCuts().

int Bonmin::EcpCuts::numRounds_ [private]

maximum number of iterations of generation.

Definition at line 101 of file BonEcpCuts.hpp.

Referenced by EcpCuts(), generateCuts(), and setNumRounds().

double Bonmin::EcpCuts::abs_violation_tol_ [private]

absolute tolerance for NLP constraint violation to stop ECP rounds

Definition at line 103 of file BonEcpCuts.hpp.

Referenced by EcpCuts(), generateCuts(), and setAbsViolationTolerance().

double Bonmin::EcpCuts::rel_violation_tol_ [private]

relative tolerance for NLP constraint violation to stop ECP rounds

Definition at line 105 of file BonEcpCuts.hpp.

Referenced by EcpCuts(), generateCuts(), and setRelViolationTolerance().

double Bonmin::EcpCuts::beta_ [private]

Factor for probability for skipping cuts.

Definition at line 107 of file BonEcpCuts.hpp.

Referenced by EcpCuts(), generateCuts(), and setPropabilityFactor().


The documentation for this class was generated from the following files:
Generated on Mon Aug 3 03:08:25 2009 by  doxygen 1.4.7