00001 00002 // 00003 // Module : LowerBoundHeuristic.hh 00004 // Description : Rounding heuristic for the maximum stable set problem. 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 : Wed Apr 05 14:32: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 LOWER_BOUND_HEURISTIC_HH 00022 #define LOWER_BOUND_HEURISTIC_HH 00023 00024 #include <vector> 00025 00026 using namespace std; 00027 00028 class ABA_MASTER; 00029 class Graph; 00030 class StableSetStatistics; 00031 00032 00033 00038 class LowerBoundHeuristic { 00039 00040 public: 00041 00042 // ------------------------------------------------------------------------- 00043 // ------------- M e t h o d s ( p u b l i c ) ---------------------------- 00044 // ------------------------------------------------------------------------- 00045 00054 LowerBoundHeuristic(ABA_MASTER *master, Graph *theGraph, 00055 StableSetStatistics *theStatistics); 00056 00060 ~LowerBoundHeuristic(); 00061 00072 int computeSolution(double &value, double *xVal_, int level); 00073 00074 00075 private: 00076 00077 // ------------------------------------------------------------------------- 00078 // ------------- M e t h o d s ( p r i v a t e ) -------------------------- 00079 // ------------------------------------------------------------------------- 00080 00089 void testStableSet(vector<int> *stableSet); 00090 00091 00092 // ------------------------------------------------------------------------- 00093 // ------------- V a r i a b l e s ( p r i v a t e ) ---------------------- 00094 // ------------------------------------------------------------------------- 00095 00099 ABA_MASTER *master_; 00100 00104 Graph *itsGraph; 00105 00109 StableSetStatistics *itsStatistics; 00110 00111 }; 00112 00113 00114 #endif 00115 00116