CouenneAmplInterface.hpp

Go to the documentation of this file.
00001 // $Id$
00002 //
00003 // (C) Copyright XXX 2009
00004 // All Rights Reserved.
00005 // This code is published under the Common Public License.
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 class expression;
00022 
00023 class CouenneAmplInterface : public CouenneUserInterface {
00024 private:
00025         CouenneProblem*                  problem;
00026         Ipopt::SmartPtr<Bonmin::TMINLP>  tminlp;
00027         
00028         Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions;
00029         struct ASL*                      asl;
00030         
00031         bool readASLfg();
00032         bool readnl();
00033         expression* nl2e(expr *e);
00034         
00035 public:
00036         static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00037         
00038         CouenneAmplInterface(Ipopt::SmartPtr<Ipopt::OptionsList> options_, Ipopt::SmartPtr<Ipopt::Journalist> jnlst_)
00039         : CouenneUserInterface(options_, jnlst_), problem(NULL), asl(NULL)
00040         { }
00041         
00042         ~CouenneAmplInterface();
00043         
00044         CouenneProblem* getCouenneProblem();
00045         
00046         Ipopt::SmartPtr<Bonmin::TMINLP> getTMINLP();
00047         
00048         bool writeSolution(Bonmin::Bab& bab);
00049         
00050         void setRegisteredOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions_)
00051         { roptions = roptions_; }
00052         
00053 };
00054 
00055 #endif /*COUENNEAMPLINTERFACE_HPP_*/

Generated on Wed Jan 20 03:03:55 2010 for Couenne by  doxygen 1.4.7