Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BonCouenneInterface.hpp
Go to the documentation of this file.
1 /* $Id: BonCouenneInterface.hpp 857 2012-06-11 17:52:32Z pbelotti $ */
2 // (C) Copyright International Business Machines Corporation (IBM) 2006-09
3 // All Rights Reserved.
4 // This code is published under the Eclipse Public License (EPL).
5 //
6 // Authors :
7 // Pietro Belotti, Carnegie Mellon University
8 // Pierre Bonami, International Business Machines Corporation
9 //
10 // Date : 12/19/2006
11 
12 #ifndef CouenneInterface_H
13 #define CouenneInterface_H
14 
15 #include "CouenneConfig.h"
16 #include "CouenneCutGenerator.hpp"
17 
18 #ifdef COUENNEINTERFACE_FROM_ASL
19 #include "BonAmplInterface.hpp"
20 
21 struct ASL;
22 struct ASL *readASLfg (char **);
23 #else
24 #define AmplInterface OsiTMINLPInterface
25 #endif
26 
27 namespace Bonmin {
28  class AmplInterface;
29 }
30 
31 namespace Couenne {
32 
34  {
35  public:
38 
40  CouenneInterface(const CouenneInterface &other);
41 
43  virtual CouenneInterface * clone(bool CopyData);
44 
46  virtual ~CouenneInterface();
47 
48  // My name is Couenne [ku:en]
49  virtual std::string appName() {return "couenne";}
50 
51 #ifdef COUENNEINTERFACE_FROM_ASL
52 
53  virtual void readAmplNlFile(char **& argv, Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions,
56 #endif
57 
65  virtual void extractLinearRelaxation
66  (OsiSolverInterface &si, CouenneCutGenerator & couenneCg, bool getObj = 1, bool solveNlp = 1);
67 
68 
71 
74  {return have_nlp_solution_;}
75 
76  protected:
77 
80  };
81 
82 }
83 
84 #endif
Cut Generator for linear convexifications.
bool haveNlpSolution()
return value of have_nlp_solution_
CouenneInterface()
Default constructor.
#define AmplInterface
bool have_nlp_solution_
true if we got an integer feasible solution from initial solve
virtual std::string appName()
virtual void setAppDefaultOptions(Ipopt::SmartPtr< Ipopt::OptionsList > Options)
To set some application specific defaults.
virtual CouenneInterface * clone(bool CopyData)
virutal copy constructor.
virtual void extractLinearRelaxation(OsiSolverInterface &si, CouenneCutGenerator &couenneCg, bool getObj=1, bool solveNlp=1)
Extract a linear relaxation of the MINLP.
virtual ~CouenneInterface()
Destructor.