00001 00002 // 00003 // Module : StableSetStatistics.hh 00004 // Description : Statistics. 00005 // Author : Steffen Rebennack 00006 // Email : srebenac@ix.urz.uni-heidelberg.de; 00007 // steffen.rebennack@web.de 00008 // Copyright : (C) 2006 by the University of Heidelberg 00009 // Created on : Thu Apr 06 11:37:54 2006 00010 // Last modified by : - 00011 // Last modified on : - 00012 // Update count : 0 00013 // 00015 // 00016 // Date Name Changes/Extensions 00017 // ---- ---- ------------------ 00018 // 00020 00021 #ifndef StableSetStatistics_HH 00022 #define StableSetStatistics_HH 00023 00024 00025 00029 class StableSetStatistics { 00030 00031 public: 00032 00033 // ------------------------------------------------------------------------- 00034 // ------------- M e t h o d s ( p u b l i c ) ---------------------------- 00035 // ------------------------------------------------------------------------- 00036 00040 StableSetStatistics(); 00041 00045 ~StableSetStatistics(); 00046 00053 void edgeInequalitiesCut(int num); 00054 00061 void poolSeparationCut(int num); 00062 00069 void maxCliquesMemoryCut(int num); 00070 00077 void oddCyclesCut(int num); 00078 00085 void liftedOddCyclesCut(int num); 00086 00093 void exactCliquesCut(int num); 00094 00101 void cliqueHeuristicsCut(int num); 00102 00109 void edgeProjectionCut(int num); 00110 00117 void localCutCut(int num); 00118 00125 void modKCut(int num); 00126 00133 void largeCutCut(int num); 00134 00141 void setDualBound(double val); 00142 00150 void roundingHeuristics(); 00151 00159 void improvementHeuristics(); 00160 00167 void solutionFound(int index); 00168 00175 void setAlphaRoot(int alpha); 00176 00183 int getEdgeInequalitiesCut() const; 00184 00191 int getPoolSeparationCut() const; 00192 00199 int getMaxCliquesMemoryCut() const; 00200 00207 int getOddCyclesCut() const; 00208 00215 int getLiftedOddCyclesCut() const; 00216 00223 int getExactCliquesCut() const; 00224 00231 int getCliqueHeuristicsCut() const; 00232 00239 int getEdgeProjectionCut() const; 00240 00247 int getLocalCutCut() const; 00248 00255 int getModKCut() const; 00256 00263 int getLargeCut() const; 00264 00271 int getRoundedSolutions() const; 00272 00279 int getImprovedSolutions() const; 00280 00287 int getAlphaRoot() const; 00288 00295 double getDualBound() const; 00296 00303 char *solutionWasFoundBy() const; 00304 00305 00306 private: 00307 00308 // ------------------------------------------------------------------------- 00309 // ------------- M e t h o d s ( p r i v a t e ) -------------------------- 00310 // ------------------------------------------------------------------------- 00311 00312 00313 // ------------------------------------------------------------------------- 00314 // ------------- V a r i a b l e s ( p r i v a t e ) ---------------------- 00315 // ------------------------------------------------------------------------- 00316 00320 int edgeInequalities; 00321 00325 int poolSeparationCuts; 00326 00330 int maxCliquesMemoryCuts; 00331 00335 int oddCyclesCuts; 00336 00340 int liftedOddCyclesCuts; 00341 00345 int exactCliquesCuts; 00346 00350 int cliqueHeuristicsCuts; 00351 00355 int edgeProjectionCuts; 00356 00360 int localCutCuts; 00361 00365 int modKCuts; 00366 00370 int largeCuts; 00371 00375 int roundedSolutions; 00376 00380 int improvedSolutions; 00381 00385 int solutionFoundBy; 00386 00390 int alphaRoot; 00391 00395 double dualBoundOfRoot; 00396 00397 }; 00398 00399 #endif