CouenneAmplInterface.hpp

Go to the documentation of this file.
00001 // $Id: CouenneAmplInterface.hpp 488 2011-01-10 17:06:41Z pbelotti $
00002 //
00003 // (C) Copyright XXX 2009
00004 // All Rights Reserved.
00005 // This code is published under the Eclipse Public License (EPL).
00006 //
00007 // Authors :
00008 // Pietro Belotti, Lehigh University
00009 // Stefan Vigerske, Humboldt University
00010 //
00011 // Date : 07/18/2009
00012 
00013 #ifndef COUENNEAMPLINTERFACE_HPP_
00014 #define COUENNEAMPLINTERFACE_HPP_
00015 
00016 #include "CouenneUserInterface.hpp"
00017 #include "BonRegisteredOptions.hpp"
00018 
00019 struct ASL;
00020 struct expr;
00021 
00022 namespace Couenne {
00023 
00024 class expression;
00025 
00026 class CouenneAmplInterface : public CouenneUserInterface {
00027 private:
00028         CouenneProblem*                  problem;
00029         Ipopt::SmartPtr<Bonmin::TMINLP>  tminlp;
00030         
00031         Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions;
00032         struct ASL*                      asl;
00033         
00034         bool readASLfg();
00035         bool readnl();
00036         expression* nl2e(expr *e);
00037         
00038 public:
00039         static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00040         
00041         CouenneAmplInterface(Ipopt::SmartPtr<Ipopt::OptionsList> options_, Ipopt::SmartPtr<Ipopt::Journalist> jnlst_)
00042         : CouenneUserInterface(options_, jnlst_), problem(NULL), asl(NULL)
00043         { }
00044         
00045         ~CouenneAmplInterface();
00046         
00047         CouenneProblem* getCouenneProblem();
00048         
00049         Ipopt::SmartPtr<Bonmin::TMINLP> getTMINLP();
00050         
00051         bool writeSolution(Bonmin::Bab& bab);
00052         
00053         void setRegisteredOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions_)
00054         { roptions = roptions_; }
00055         
00056 };
00057 
00058 }
00059 
00060 #endif /*COUENNEAMPLINTERFACE_HPP_*/
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 18 Jul 2013 for Couenne by  doxygen 1.6.1