# BonCouenneInterface.hpp

Go to the documentation of this file.

    00001 /* $Id: BonCouenneInterface.hpp 857 2012-06-11 17:52:32Z pbelotti $ */
    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