10 #ifndef BonOaNlpOptim_HPP 
   11 #define BonOaNlpOptim_HPP 
   12 #include "CglCutGenerator.hpp" 
   24         int maxDepth = 10, 
bool addOnlyViolated = 
false,
 
   25         bool globalCuts = 
true);
 
   32         CglCutGenerator(copy),
 
   50     virtual CglCutGenerator * 
clone()
 const 
   65     virtual void generateCuts( 
const OsiSolverInterface & si, OsiCuts & cs,
 
   66         const CglTreeInfo info);
 
   93     static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
 
bool addOnlyViolated_
Add only violated cuts? 
 
void assignInterface(OsiTMINLPInterface *si)
Assign an OsiTMINLPInterface. 
 
void setGlobalCuts(bool yesno)
 
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
 
void setLogLevel(int value)
set log level 
 
void setMaxDepth(int value)
 
double solves_per_level_
Average number of nodes per level in tree. 
 
OsiTMINLPInterface * nlp_
Pointer to the Ipopt interface. 
 
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register OaNlpOptim options. 
 
virtual CglCutGenerator * clone() const 
Abstract constructor. 
 
A class to have all elements necessary to setup a branch-and-bound. 
 
bool global_
Add cuts as global? 
 
CoinMessageHandler * handler_
messages handler. 
 
CoinMessages messages_
handler 
 
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info)
cut generation method 
 
int nSolve_
Number of NLP resolution done. 
 
int maxDepth_
maximum depth at which generate cuts 
 
Output messages for Outer approximation cutting planes. 
 
OaNlpOptim(OsiTMINLPInterface *si=NULL, int maxDepth=10, bool addOnlyViolated=false, bool globalCuts=true)
Default constructor. 
 
OaNlpOptim(const OaNlpOptim ©)
Copy constructor. 
 
virtual ~OaNlpOptim()
Desctructor. 
 
void passInMessageHandler(const CoinMessageHandler *handler)
 
Generate cuts for the nlp corresponding to continuous relaxation at a node. 
 
void setAddOnlyViolated(bool yesno)