Bonmin  1.8.8
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Bonmin::EcpCuts Class Reference

#include <BonEcpCuts.hpp>

Inheritance diagram for Bonmin::EcpCuts:
Bonmin::OaDecompositionBase

Public Member Functions

 EcpCuts (BabSetupBase &b)
 
 EcpCuts (const EcpCuts &copy)
 Copy constructor. More...
 
CglCutGenerator * clone () const
 clone More...
 
virtual ~EcpCuts ()
 Destructor. More...
 
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
 Standard cut generation methods. More...
 
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)
 
- Public Member Functions inherited from Bonmin::OaDecompositionBase
 OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver)
 New usefull constructor. More...
 
 OaDecompositionBase (const OaDecompositionBase &copy)
 Copy constructor. More...
 
virtual ~OaDecompositionBase ()
 Destructor. More...
 
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
 Standard cut generation methods. More...
 
void assignNlpInterface (OsiTMINLPInterface *nlp)
 Assign an OsiTMINLPInterface. More...
 
void assignLpInterface (OsiSolverInterface *si)
 Assign an OsiTMINLPInterface. More...
 
bool reassignLpsolver ()
 
void setObjects (OsiObject **objects, int nObjects)
 Set objects. More...
 
void setLeaveSiUnchanged (bool yesno)
 Set whether to leave the solverinterface unchanged. More...
 
Parameters & parameter ()
 
const Parameters & parameter () const
 
void setLogLevel (int level)
 
void setReassignLpSolver (bool v)
 
void passInMessageHandler (CoinMessageHandler *handler)
 

Static Public Member Functions

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

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. More...
 
virtual bool doLocalSearch (BabInfo *babInfo) const
 virutal method to decide if local search is performed More...
 
- Protected Member Functions inherited from Bonmin::OaDecompositionBase
void setupMipSolver (BabSetupBase &b, const std::string &prefix)
 
bool post_nlp_solve (BabInfo *babInfo, double cutoff) const
 Solve the nlp and do output. More...
 

Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from Bonmin::OaDecompositionBase
OsiTMINLPInterface * nlp_
 Pointer to nlp interface. More...
 
BabSetupBase * s_
 Pointer to setup. More...
 
int nSolve_
 Number of nlp solved done. More...
 
OsiSolverInterface * lp_
 A linear solver. More...
 
OsiObject ** objects_
 Some objects the feasiblitiy of which to verify. More...
 
int nObjects_
 Number of objects.*/. More...
 
int nLocalSearch_
 number of local searches performed More...
 
CoinMessageHandler * handler_
 messages handler. More...
 
CoinMessages messages_
 Messages for OA. More...
 
bool leaveSiUnchanged_
 Wether or not we should remove cuts at the end of the procedure. More...
 
bool reassignLpsolver_
 Do we need to reassign the lp solver with Cbc. More...
 
double timeBegin_
 time of construction More...
 
int numSols_
 number of solutions found by OA_decomposition. More...
 
Parameters parameters_
 Parameters. More...
 
OsiCuts savedCuts_
 Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts. More...
 
int currentNodeNumber_
 Store the current node number. More...
 

Detailed Description

Definition at line 17 of file BonEcpCuts.hpp.

Constructor & Destructor Documentation

Bonmin::EcpCuts::EcpCuts ( BabSetupBase &  b)

Referenced by clone().

Bonmin::EcpCuts::EcpCuts ( const EcpCuts &  copy)
inline

Copy constructor.

Definition at line 23 of file BonEcpCuts.hpp.

virtual Bonmin::EcpCuts::~EcpCuts ( )
inlinevirtual

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().

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

Standard cut generation methods.

double Bonmin::EcpCuts::doEcpRounds ( OsiSolverInterface &  si,
bool  leaveSiUnchanged,
double *  violation = NULL 
)
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_.

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

Register ecp cuts options.

virtual double Bonmin::EcpCuts::performOa ( OsiCuts &  cs,
solverManip &  lpManip,
BabInfo *  babInfo,
double &  cutoff,
const CglTreeInfo &  info 
) const
inlineprotectedvirtual

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

Implements Bonmin::OaDecompositionBase.

Definition at line 72 of file BonEcpCuts.hpp.

virtual bool Bonmin::EcpCuts::doLocalSearch ( BabInfo *  babInfo) const
inlineprotectedvirtual

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_
mutableprivate

Record obj value at final point of Ecp.

Definition at line 84 of file BonEcpCuts.hpp.

double Bonmin::EcpCuts::violation_
mutableprivate

Record NLP infeasibility at final point of Ecp.

Definition at line 86 of file BonEcpCuts.hpp.

int Bonmin::EcpCuts::numRounds_
private

maximum number of iterations of generation.

Definition at line 88 of file BonEcpCuts.hpp.

Referenced by 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 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 setRelViolationTolerance().

double Bonmin::EcpCuts::beta_
private

Factor for probability for skipping cuts.

Definition at line 94 of file BonEcpCuts.hpp.

Referenced by setPropabilityFactor().


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