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 1239 2018-01-11 00:09:39Z 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 
79 
81  void createRow (int, int,
82  int,
83  OsiSolverInterface *,
84  const int *,
85  const double *,
86  const double,
87  const int,
88  bool,
89  int, int) const;
90 
93  };
94 }
95 
96 #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.
int levelStop_
Level at which to stop.
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?