C:/Programme/home/Administrator/CD/stableSetCode/OddCyclesSeparator.hh

Go to the documentation of this file.
00001 
00002 //
00003 //  Module           : oddCyclesSeparator.hh
00004 //  Description      : Separate the odd cycle inequalities.
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 15:13:14 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 ODD_CYCLES_SEPARATOR_HH
00022 #define ODD_CYCLES_SEPARATOR_HH
00023 
00024 #include <abacus/separator.h>
00025 #include <vector>
00026 
00027 using namespace std;
00028 
00029 class Graph;
00030 class StableSetLPSolution;
00031 class StableSetMaster;
00032 
00033 
00034 
00038 class OddCyclesSeparator: public ABA_SEPARATOR <ABA_CONSTRAINT, ABA_VARIABLE> {
00039 
00040 public:
00041 
00042     // -------------------------------------------------------------------------
00043     // ------------- M e t h o d s  ( p u b l i c ) ----------------------------
00044     // -------------------------------------------------------------------------
00045 
00055     OddCyclesSeparator(ABA_MASTER *master, StableSetLPSolution *solution,
00056                        Graph *theGraph, bool flag);
00057 
00061     ~OddCyclesSeparator();
00062 
00070     virtual void separate();
00071 
00078     int getSizeOfClique() const;
00079 
00086     int getCliqueElement(int i) const;
00087 
00094     int getNumberOfOddCycles() const;
00095 
00102     int *getOddCycle(int i);
00103 
00104 
00105 private:
00106 
00107     // -------------------------------------------------------------------------
00108     // ------------- V a r i a b l e s  ( p r i v a t e ) ----------------------
00109     // -------------------------------------------------------------------------
00110 
00114     ABA_MASTER *master_;
00115 
00119     Graph *itsGraph;
00120 
00124     StableSetLPSolution *lpSolution;
00125 
00130     bool lifting;
00131 
00136     vector<int> clique;
00137 
00143     vector<int*> cycles;
00144 
00145 };
00146 
00147 #endif
00148 
00149 

Generated on Fri Apr 28 15:49:59 2006 for Branch and Cut algorithm for the Maximum Stable Set Problem by  doxygen 1.4.6-NO