SepaSetup.hpp
Go to the documentation of this file.
1 // (C) Copyright CNRS and others 2010
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // Pierre Bonami, Université de la Méditérannée
7 // Hassan Hijazi, Orange Labs
8 //
9 // Date : 05/22/2010
10 
11 #ifndef SepaSetup_H
12 #define SepaSetup_H
13 #include "BonBonminSetup.hpp"
14 #include "BonAmplSetup.hpp"
15 namespace Sepa
16 {
19  {
20  public:
22  SepaSetup(const CoinMessageHandler * handler = NULL);
24  SepaSetup(const SepaSetup & other);
25 
27  SepaSetup(const SepaSetup &setup,
29 
31  SepaSetup(const SepaSetup &setup,
33  const std::string & prefix);
35  virtual BabSetupBase * clone() const
36  {
37  return new SepaSetup(*this);
38  }
40  // virtual BabSetupBase *clone(OsiTMINLPInterface&nlp)const{
41  // return new SepaSetup(*this, nlp);
42  // }
45  return new SepaSetup(*this, nlp);
46  }
48  SepaSetup *clone(Bonmin::OsiTMINLPInterface &nlp, const std::string & prefix)const{
49  return new SepaSetup(*this, nlp, prefix);
50  }
51  virtual ~SepaSetup()
52  {}
56  virtual void registerOptions();
61  void initialize(Ipopt::SmartPtr<Bonmin::TMINLP> tminlp, bool createContinuousSolver = true);
63  void initialize(const Bonmin::OsiTMINLPInterface& nlpSi, bool createContinuousSolver = true);
64 
66 void initialize(char **& argv)
67  {
69  /* Read the model.*/
71  argv, NULL, "bonmin", NULL);
72  mayPrintDoc();
73  initialize(Ipopt::GetRawPtr(model), true);
74  }
75 
76 
77 
78  protected:
80  void initializeSepa();
81  };
82 }
84 #endif
85 
virtual BabSetupBase * clone() const
virtual copy constructor.
Definition: SepaSetup.hpp:35
void initialize(Ipopt::SmartPtr< Bonmin::TMINLP > tminlp, bool createContinuousSolver=true)
Initialize, read options and create appropriate bonmin setup.
Definition: SepaSetup.cpp:72
SepaSetup * clone(Bonmin::OsiTMINLPInterface &nlp, const std::string &prefix) const
Make a copy but take options with different prefix.
Definition: SepaSetup.hpp:48
Ipopt::SmartPtr< Ipopt::Journalist > journalist()
Acces storage of Journalist for output.
SepaSetup(const CoinMessageHandler *handler=NULL)
Default constructor.
Definition: SepaSetup.cpp:21
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions()
Access registered Options.
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
virtual ~SepaSetup()
Definition: SepaSetup.hpp:51
BabSetupBase(const CoinMessageHandler *handler=NULL)
Default constructor.
algorithm setup.
Definition: SepaSetup.hpp:18
virtual void registerOptions()
Register all the options for this algorithm instance.
Definition: SepaSetup.cpp:65
OSSmartPtr< const U > ConstPtr(const OSSmartPtr< U > &smart_ptr)
Definition: OSSmartPtr.hpp:458
U * GetRawPtr(const OSSmartPtr< U > &smart_ptr)
Definition: OSSmartPtr.hpp:452
void initialize(char **&argv)
Ampl initialization.
Definition: SepaSetup.hpp:66
void initializeSepa()
Initialize a branch-and-cut with some OA.
Definition: SepaSetup.cpp:110
Ampl MINLP Interface.
Ipopt::SmartPtr< Ipopt::OptionsList > options()
Acces list of Options.
static void registerAllOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all bonmin type executable options.
Definition: SepaSetup.cpp:44
SepaSetup * clone(Bonmin::OsiTMINLPInterface &nlp) const
Make a copy with solver replace by one passed .
Definition: SepaSetup.hpp:44
void mayPrintDoc()
May print documentation of options if options print_options_documentation is set to yes...
virtual void readOptionsFile()
Get the options from default text file (bonmin.opt) if don&#39;t already have them.
const char * prefix() const
Get prefix to use for options.