diff options
author | Harpreet | 2016-09-03 00:34:27 +0530 |
---|---|---|
committer | Harpreet | 2016-09-03 00:34:27 +0530 |
commit | 4b64cf486f5c999fd8167758cae27839f3b50848 (patch) | |
tree | d9d06639fb7fa61aef59be0363655e4747105ec7 /newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp | |
parent | d19794fb80a271a4c885ed90f97cfc12baa012f2 (diff) | |
download | FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.gz FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.bz2 FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.zip |
Structure updated and intqpipopt files added
Diffstat (limited to 'newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp')
-rw-r--r-- | newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp b/newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp new file mode 100644 index 0000000..055004c --- /dev/null +++ b/newstructure/thirdparty/linux/include/coin/BonAmplInterface.hpp @@ -0,0 +1,64 @@ +// (C) Copyright International Business Machines Corporation and +// Carnegie Mellon University 2004, 2007 +// +// All Rights Reserved. +// This code is published under the Eclipse Public License. +// +// Authors : +// Pierre Bonami, Carnegie Mellon University, +// Andreas Waechter, International Business Machines Corporation +// +// Date : 12/01/2004 + +#ifndef BonminAmplInterface_H +#define BonminAmplInterface_H +#include "BonOsiTMINLPInterface.hpp" +#include "BonAmplTMINLP.hpp" + +class BM_lp; +namespace Bonmin +{ + /** Class for providing an Osi interface to Ipopt with an ampl nl file as input. */ + class AmplInterface: public OsiTMINLPInterface + { + public: + /** Default constructor */ + /** Default constructor only available for Bonmin's friends and child classes.*/ + AmplInterface(); + /**@name Methods to input a problem */ + //@{ + virtual void readAmplNlFile(char **& argv, Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions, + Ipopt::SmartPtr<Ipopt::OptionsList> options, + Ipopt::SmartPtr<Ipopt::Journalist> journalist, + std::string* nl_file_content = NULL); + //@} + /** Copy constructor */ + AmplInterface(const AmplInterface &other); + /// Clone + virtual OsiSolverInterface * clone(bool CopyData = true); + + /// Destructor + virtual ~AmplInterface(); + + + /** Fast access to AmplTMINLP */ + const AmplTMINLP * amplModel() const + { + return GetRawPtr(amplTminlp_); + } + /** To set some application specific defaults. */ + virtual void setAppDefaultOptions(Ipopt::SmartPtr<Ipopt::OptionsList> Options); + + protected: + /** Read variables and row names in .col and .row files.*/ + void readNames() ; + + /** TMINLP problem (the original problem usually an AmplTMINLP).*/ + Ipopt::SmartPtr<Bonmin::AmplTMINLP> amplTminlp_; + + private: + /** Write the ampl solution file or write a bonmin one?*/ + int writeAmplSolFile_; + }; +} +#endif |