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:
Inheritance graph
[legend]
Collaboration diagram for Bonmin::EcpCuts:
Collaboration graph
[legend]

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...
 
Parametersparameter ()
 
const Parametersparameter () 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
OsiTMINLPInterfacenlp_
 Pointer to nlp interface. More...
 
BabSetupBases_
 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)

Definition at line 18 of file BonEcpCuts.cpp.

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.

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

Standard cut generation methods.

Definition at line 46 of file BonEcpCuts.cpp.

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

Definition at line 29 of file BonEcpCuts.cpp.

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

Definition at line 48 of file BonEcpCuts.hpp.

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

Definition at line 53 of file BonEcpCuts.hpp.

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

Definition at line 58 of file BonEcpCuts.hpp.

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

Definition at line 62 of file BonEcpCuts.hpp.

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

Register ecp cuts options.

Definition at line 146 of file BonEcpCuts.cpp.

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.

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.

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.

double Bonmin::EcpCuts::beta_
private

Factor for probability for skipping cuts.

Definition at line 94 of file BonEcpCuts.hpp.


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