00001 #ifndef BonminAmplInterface_H 00002 #define BonminAmplInterface_H 00003 #include "IpoptInterface.hpp" 00004 #include "AmplTMINLP.hpp" 00005 00007 class BonminAmplInterface: public IpoptInterface 00008 { 00009 public: 00011 BonminAmplInterface(); 00013 BonminAmplInterface(char **& amplArgs, bool = true); 00015 BonminAmplInterface(const BonminAmplInterface &other); 00017 virtual BonminAmplInterface * clone(bool CopyData = true) const; 00018 00020 virtual ~BonminAmplInterface(); 00021 00025 virtual void readAmplNlFile(char**& filename, 00026 std::string* ipopt_file_content =NULL, 00027 std::string* nl_file_content = NULL, 00028 bool = true); 00030 void writeAmplSolFile(std::string message,const double * primalSol = NULL); 00032 00034 const Ipopt::AmplTMINLP * amplModel() const 00035 { 00036 return GetRawPtr(amplTminlp_); 00037 } 00038 00039 protected: 00041 Ipopt::SmartPtr<Ipopt::AmplTMINLP> amplTminlp_; 00042 }; 00043 00044 #endif