BonCouenneInterface.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef CouenneInterface_H
00013 #define CouenneInterface_H
00014
00015 #include "CouenneConfig.h"
00016 #include "CouenneCutGenerator.hpp"
00017
00018 #ifdef COUENNEINTERFACE_FROM_ASL
00019 #include "BonAmplInterface.hpp"
00020
00021 struct ASL;
00022 struct ASL *readASLfg (char **);
00023 #else
00024 #define AmplInterface OsiTMINLPInterface
00025 #endif
00026
00027 namespace Bonmin {
00028 class AmplInterface;
00029 }
00030
00031 namespace Couenne {
00032
00033 class CouenneInterface : public Bonmin::AmplInterface
00034 {
00035 public:
00037 CouenneInterface();
00038
00040 CouenneInterface(const CouenneInterface &other);
00041
00043 virtual CouenneInterface * clone(bool CopyData);
00044
00046 virtual ~CouenneInterface();
00047
00048
00049 virtual std::string appName() {return "couenne";}
00050
00051 #ifdef COUENNEINTERFACE_FROM_ASL
00052
00053 virtual void readAmplNlFile(char **& argv, Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions,
00054 Ipopt::SmartPtr<Ipopt::OptionsList> options,
00055 Ipopt::SmartPtr<Ipopt::Journalist> journalist);
00056 #endif
00057
00065 virtual void extractLinearRelaxation
00066 (OsiSolverInterface &si, CouenneCutGenerator & couenneCg, bool getObj = 1, bool solveNlp = 1);
00067
00068
00070 virtual void setAppDefaultOptions(Ipopt::SmartPtr<Ipopt::OptionsList> Options);
00071
00073 bool haveNlpSolution ()
00074 {return have_nlp_solution_;}
00075
00076 protected:
00077
00079 bool have_nlp_solution_;
00080 };
00081
00082 }
00083
00084 #endif