CouenneTwoImplied.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneTwoImplied.hpp 945 2013-04-06 20:25:21Z stefan $
00002  *
00003  * Name:    CouenneTwoImplied.hpp
00004  * Author:  Pietro Belotti
00005  * Purpose: Bound Tightening using pairs of linear inequalities or equations
00006  *
00007  * (C) Pietro Belotti, 2010.
00008  * This file is licensed under the Eclipse Public License (EPL)
00009  */
00010 
00011 #ifndef COUENNETWOIMPLIED_HPP
00012 #define COUENNETWOIMPLIED_HPP
00013 
00014 #include "BonRegisteredOptions.hpp"
00015 
00016 #include "CglConfig.h"
00017 #include "CglCutGenerator.hpp"
00018 #include "OsiRowCut.hpp"
00019 #include "CouenneJournalist.hpp"
00020 
00021 namespace Ipopt {
00022   template <class T> class SmartPtr;
00023   class OptionsList;
00024 }
00025 
00026 namespace Couenne {
00027 
00028   class CouenneProblem;
00029 
00174   class CouenneTwoImplied: public CglCutGenerator {
00175 
00176   public:
00177 
00179     CouenneTwoImplied (CouenneProblem *,
00180                        JnlstPtr,
00181                        const Ipopt::SmartPtr <Ipopt::OptionsList>);
00182 
00184     CouenneTwoImplied  (const CouenneTwoImplied &);
00185 
00187     ~CouenneTwoImplied ();
00188 
00190     CouenneTwoImplied *clone () const
00191     {return new CouenneTwoImplied (*this);}
00192 
00194     void generateCuts (const OsiSolverInterface &, 
00195                        OsiCuts &, 
00196                        const CglTreeInfo = CglTreeInfo ())
00197 #if CGL_VERSION_MAJOR == 0 && CGL_VERSION_MINOR <= 57
00198     const
00199 #endif
00200     ;
00201 
00203     static void registerOptions (Ipopt::SmartPtr <Bonmin::RegisteredOptions> roptions);
00204 
00205   protected:
00206 
00208     CouenneProblem *problem_;
00209 
00211     JnlstPtr jnlst_;
00212 
00214     int nMaxTrials_;
00215 
00217     mutable double totalTime_;
00218 
00220     mutable double totalInitTime_;
00221 
00223     mutable bool firstCall_;
00224 
00226     int depthLevelling_;
00227 
00229     int depthStopSeparate_;
00230   };
00231 }
00232 
00233 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 6 Apr 2015 for Couenne by  doxygen 1.6.1