CouenneBTPerfIndicator.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneBTPerfIndicator.hpp 1004 2013-10-13 16:04:19Z pbelotti $
00002  *
00003  * Name:    CouenneBTPerfIndicator.hpp
00004  * Author:  Pietro Belotti
00005  * Purpose: Measures performance of BT in terms of shrunken bounds
00006  *
00007  * (C) Pietro Belotti, 2011.
00008  * This file is licensed under the Eclipse Public License (EPL)
00009  */
00010 
00011 #ifndef COUENNEBTPERFINDICATOR_HPP
00012 #define COUENNEBTPERFINDICATOR_HPP
00013 
00014 #include "CoinHelperFunctions.hpp"
00015 #include <string.h>
00016 
00017 #include "CouenneTypes.hpp"
00018 
00019 namespace Couenne {
00020 
00021   class CouenneProblem;
00022 
00023   class CouenneBTPerfIndicator {
00024 
00025   protected:
00026 
00027     std::string name_;                
00028 
00029     mutable double nFixed_;           
00030     mutable double boundRatio_;       
00031     mutable double shrunkInf_;        
00032     mutable double shrunkDoubleInf_;  
00033     mutable double nProvedInfeas_;    
00034 
00035     mutable double weightSum_;        
00036 
00037     mutable double *oldLB_;           
00038     mutable double *oldUB_;           
00039 
00040     mutable double totalTime_;        
00041 
00042     mutable int    nRuns_;            
00043 
00044     CouenneProblem *problem_;         
00045 
00046     bool stats_;                      
00047 
00048   public:
00049 
00050 
00052     CouenneBTPerfIndicator (CouenneProblem *p, const std::string &name);
00053 
00055     ~CouenneBTPerfIndicator ();
00056 
00058     CouenneBTPerfIndicator (const CouenneBTPerfIndicator &rhs);
00059 
00061     CouenneBTPerfIndicator &operator= (const CouenneBTPerfIndicator &rhs);
00062 
00064     void setOldBounds (const CouNumber *lb, const CouNumber *ub) const;
00065 
00067     void addToTimer (double time) const;
00068 
00070     void update (const CouNumber *lb, const CouNumber *ub, int depth) const;
00071   };
00072 }
00073 
00074 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 6 Apr 2015 for Couenne by  doxygen 1.6.1