Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CouenneTwoImplied.hpp
Go to the documentation of this file.
1 /* $Id: CouenneTwoImplied.hpp 945 2013-04-06 20:25:21Z stefan $
2  *
3  * Name: CouenneTwoImplied.hpp
4  * Author: Pietro Belotti
5  * Purpose: Bound Tightening using pairs of linear inequalities or equations
6  *
7  * (C) Pietro Belotti, 2010.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNETWOIMPLIED_HPP
12 #define COUENNETWOIMPLIED_HPP
13 
14 #include "BonRegisteredOptions.hpp"
15 
16 #include "CglConfig.h"
17 #include "CglCutGenerator.hpp"
18 #include "OsiRowCut.hpp"
19 #include "CouenneJournalist.hpp"
20 
21 namespace Ipopt {
22  template <class T> class SmartPtr;
23  class OptionsList;
24 }
25 
26 namespace Couenne {
27 
28  class CouenneProblem;
29 
174  class CouenneTwoImplied: public CglCutGenerator {
175 
176  public:
177 
180  JnlstPtr,
182 
185 
188 
191  {return new CouenneTwoImplied (*this);}
192 
194  void generateCuts (const OsiSolverInterface &,
195  OsiCuts &,
196  const CglTreeInfo = CglTreeInfo ())
197 #if CGL_VERSION_MAJOR == 0 && CGL_VERSION_MINOR <= 57
198  const
199 #endif
200  ;
201 
204 
205  protected:
206 
209 
212 
215 
217  mutable double totalTime_;
218 
220  mutable double totalInitTime_;
221 
223  mutable bool firstCall_;
224 
227 
230  };
231 }
232 
233 #endif
int depthStopSeparate_
Depth of the BB tree where stop separation.
CouenneProblem * problem_
pointer to problem data structure (used for post-BT)
~CouenneTwoImplied()
destructor
int depthLevelling_
Depth of the BB tree where to start decreasing chance of running this.
double totalInitTime_
CPU time spent columning the row formulation.
double totalTime_
Total CPU time spent separating cuts.
void generateCuts(const OsiSolverInterface &, OsiCuts &, const CglTreeInfo=CglTreeInfo()) const
the main CglCutGenerator
Class for MINLP problems with symbolic information.
Cut Generator for implied bounds derived from pairs of linear (in)equalities.
CouenneTwoImplied * clone() const
clone method (necessary for the abstract CglCutGenerator class)
CouenneTwoImplied(CouenneProblem *, JnlstPtr, const Ipopt::SmartPtr< Ipopt::OptionsList >)
constructor
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Add list of options to be read from file.
bool firstCall_
first call indicator
int nMaxTrials_
maximum number of trials in every call