CouenneFixPoint.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneFixPoint.hpp 1004 2013-10-13 16:04:19Z pbelotti $
00002  *
00003  * Name:    CouenneFixPoint.hpp
00004  * Author:  Pietro Belotti
00005  * Purpose: A bound tightener based on fixpoint computation
00006  *
00007  * (C) Pietro Belotti, 2010.
00008  * This file is licensed under the Eclipse Public License (EPL)
00009  */
00010 
00011 #ifndef COUENNEFIXPOINT_HPP
00012 #define COUENNEFIXPOINT_HPP
00013 
00014 #include "BonRegisteredOptions.hpp"
00015 
00016 #include "BonOaDecBase.hpp"
00017 #include "CglConfig.h"
00018 #include "CglCutGenerator.hpp"
00019 #include "OsiRowCut.hpp"
00020 #include "OsiSolverInterface.hpp"
00021 
00022 #include "CouenneBTPerfIndicator.hpp"
00023 
00024 namespace Couenne {
00025 
00026   class CouenneProblem;
00027 
00029 
00030   class CouenneFixPoint: public CglCutGenerator {
00031 
00032   public:
00033 
00035     CouenneFixPoint (CouenneProblem *,
00036                      const Ipopt::SmartPtr<Ipopt::OptionsList>);
00037 
00039     CouenneFixPoint  (const CouenneFixPoint &);
00040 
00042     ~CouenneFixPoint ();
00043 
00045     CouenneFixPoint *clone () const
00046     {return new CouenneFixPoint (*this);}
00047 
00049     void generateCuts (const OsiSolverInterface &, 
00050                        OsiCuts &, 
00051                        const CglTreeInfo = CglTreeInfo ())
00052 #if CGL_VERSION_MAJOR == 0 && CGL_VERSION_MINOR <= 57
00053     const
00054 #endif
00055     ;
00056 
00058     static void registerOptions (Ipopt::SmartPtr <Bonmin::RegisteredOptions> roptions);
00059 
00060   protected:
00061 
00063     bool extendedModel_;
00064 
00066     CouenneProblem *problem_;
00067 
00069     mutable bool firstCall_;
00070 
00072     mutable double CPUtime_;
00073 
00075     mutable int nTightened_;
00076 
00078     void createRow (int, int,
00079                     int,
00080                     OsiSolverInterface *,
00081                     const int    *,
00082                     const double *,
00083                     const double,
00084                     const int,
00085                     bool,
00086                     int, int) const;
00087 
00089     CouenneBTPerfIndicator perfIndicator_;
00090   };
00091 }
00092 
00093 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Mar 2015 for Couenne by  doxygen 1.6.1