00001
00002
00003 #ifndef CbcStatistics_H
00004 #define CbcStatistics_H
00005
00006 #include "CbcModel.hpp"
00007
00010 class CbcStatistics {
00011 public:
00012
00013 CbcStatistics ();
00014
00015 CbcStatistics(CbcNode * node);
00016
00017 ~CbcStatistics();
00018
00019 CbcStatistics(const CbcStatistics & rhs);
00020
00021 CbcStatistics& operator=(const CbcStatistics & rhs);
00022
00023 void endOfBranch(int numberIterations, double objectiveValue);
00024
00025 void updateInfeasibility(int numberInfeasibilities);
00026
00027 void sayInfeasible();
00028
00029 void print(const int * sequenceLookup=NULL) const;
00030
00031 inline int node() const
00032 { return id_;};
00033
00034 inline int parentNode() const
00035 { return parentId_;};
00036
00037 inline int depth() const
00038 { return depth_;};
00039
00040 inline int way() const
00041 { return way_;};
00042
00043 inline double value() const
00044 { return value_;};
00045
00046 inline double startingObjective() const
00047 { return startingObjective_;};
00048
00049 inline int startingInfeasibility() const
00050 { return startingInfeasibility_;};
00051
00052 inline double endingObjective() const
00053 { return endingObjective_;};
00054
00055 inline int endingInfeasibility() const
00056 { return endingInfeasibility_;};
00057
00058 inline int numberIterations() const
00059 { return numberIterations_;};
00060
00061 protected:
00062
00064 double value_;
00066 double startingObjective_;
00068 double endingObjective_;
00070 int id_;
00072 int parentId_;
00074 int way_;
00076 int sequence_;
00078 int depth_;
00080 int startingInfeasibility_;
00082 int endingInfeasibility_;
00084 int numberIterations_;
00085 };
00086
00087 #endif