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 (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 &lpManip, BabInfo *babInfo, double &cutoff, const CglTreeInfo &info) const
 virtual method which performs the OA algorithm by modifying lp and nlp.
virtual bool doLocalSearch (BabInfo *babInfo) 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 ( BabSetupBase b  ) 

Definition at line 18 of file BonEcpCuts.cpp.

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

Referenced by clone().

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

Copy constructor.

Definition at line 23 of file BonEcpCuts.hpp.

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

Destructor.

Definition at line 39 of file BonEcpCuts.hpp.


Member Function Documentation

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

clone

Definition at line 33 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 46 of file BonEcpCuts.cpp.

References abs_violation_tol_, Bonmin::BabInfo::babPtr(), beta_, Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), infeasible, Bonmin::installCuts(), Bonmin::OaDecompositionBase::lp_, Bonmin::Bab::model(), 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 29 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 48 of file BonEcpCuts.hpp.

References numRounds_.

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

Definition at line 53 of file BonEcpCuts.hpp.

References beta_.

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

Definition at line 58 of file BonEcpCuts.hpp.

References abs_violation_tol_.

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

Definition at line 62 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 146 of file BonEcpCuts.cpp.

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

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

virtual double Bonmin::EcpCuts::performOa ( OsiCuts &  cs,
solverManip &  lpManip,
BabInfo babInfo,
double &  cutoff,
const CglTreeInfo &  info 
) const [inline, protected, virtual]

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

Definition at line 72 of file BonEcpCuts.hpp.

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

virutal method to decide if local search is performed

Implements Bonmin::OaDecompositionBase.

Definition at line 78 of file BonEcpCuts.hpp.


Member Data Documentation

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

Record obj value at final point of Ecp.

Definition at line 84 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 86 of file BonEcpCuts.hpp.

Referenced by doEcpRounds(), and generateCuts().

int Bonmin::EcpCuts::numRounds_ [private]

maximum number of iterations of generation.

Definition at line 88 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 90 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 92 of file BonEcpCuts.hpp.

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

double Bonmin::EcpCuts::beta_ [private]

Factor for probability for skipping cuts.

Definition at line 94 of file BonEcpCuts.hpp.

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


The documentation for this class was generated from the following files:
Generated on Thu Nov 10 03:13:39 2011 by  doxygen 1.4.7