# 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