Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CouenneFixPoint.hpp
Go to the documentation of this file.
1 /* $Id: CouenneFixPoint.hpp 1004 2013-10-13 16:04:19Z pbelotti $
2  *
3  * Name: CouenneFixPoint.hpp
4  * Author: Pietro Belotti
5  * Purpose: A bound tightener based on fixpoint computation
6  *
7  * (C) Pietro Belotti, 2010.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNEFIXPOINT_HPP
12 #define COUENNEFIXPOINT_HPP
13 
14 #include "BonRegisteredOptions.hpp"
15 
16 #include "BonOaDecBase.hpp"
17 #include "CglConfig.h"
18 #include "CglCutGenerator.hpp"
19 #include "OsiRowCut.hpp"
20 #include "OsiSolverInterface.hpp"
21 
23 
24 namespace Couenne {
25 
26  class CouenneProblem;
27 
29 
30  class CouenneFixPoint: public CglCutGenerator {
31 
32  public:
33 
37 
40 
43 
46  {return new CouenneFixPoint (*this);}
47 
49  void generateCuts (const OsiSolverInterface &,
50  OsiCuts &,
51  const CglTreeInfo = CglTreeInfo ())
52 #if CGL_VERSION_MAJOR == 0 && CGL_VERSION_MINOR <= 57
53  const
54 #endif
55  ;
56 
59 
60  protected:
61 
64 
67 
69  mutable bool firstCall_;
70 
72  mutable double CPUtime_;
73 
75  mutable int nTightened_;
76 
78  void createRow (int, int,
79  int,
80  OsiSolverInterface *,
81  const int *,
82  const double *,
83  const double,
84  const int,
85  bool,
86  int, int) const;
87 
90  };
91 }
92 
93 #endif
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Add list of options to be read from file.
CouenneFixPoint(CouenneProblem *, const Ipopt::SmartPtr< Ipopt::OptionsList >)
constructor
CouenneBTPerfIndicator perfIndicator_
Performance indicator.
~CouenneFixPoint()
destructor
CouenneProblem * problem_
pointer to the CouenneProblem representation
int nTightened_
Number of bounds tightened.
Cut Generator for FBBT fixpoint.
void generateCuts(const OsiSolverInterface &, OsiCuts &, const CglTreeInfo=CglTreeInfo()) const
the main CglCutGenerator
Class for MINLP problems with symbolic information.
bool firstCall_
Is this the first call?
CouenneFixPoint * clone() const
clone method (necessary for the abstract CglCutGenerator class)
void createRow(int, int, int, OsiSolverInterface *, const int *, const double *, const double, const int, bool, int, int) const
Create a single cut.
bool extendedModel_
should we use an extended model or a more compact one?