BonCouenneInterface.hpp

Go to the documentation of this file.
00001 /* $Id: BonCouenneInterface.hpp 624 2011-06-09 15:21:30Z stefan $ */
00002 // (C) Copyright International Business Machines Corporation (IBM) 2006-09
00003 // All Rights Reserved.
00004 // This code is published under the Eclipse Public License (EPL).
00005 //
00006 // Authors :
00007 // Pietro Belotti, Carnegie Mellon University
00008 // Pierre Bonami, International Business Machines Corporation
00009 //
00010 // Date : 12/19/2006
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     // My name is Couenne [ku:en]
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 2 Aug 2012 for Couenne by  doxygen 1.6.1