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

Go to the documentation of this file.
00001 
00002 //
00003 //  Module           : LocalCutSeparator.hh
00004 //  Description      : Separate a local cut.
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:18:09 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 LOCAL_CUT_SEPARATOR_HH
00022 #define LOCAL_CUT_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 LocalCutSeparator: 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 
00053     LocalCutSeparator(ABA_MASTER *master, StableSetLPSolution *solution,
00054                       Graph *theGraph);
00055 
00059     ~LocalCutSeparator();
00060 
00068     virtual void separate();
00069 
00070 
00071 private:
00072 
00073     // -------------------------------------------------------------------------
00074     // ------------- M e t h o d s  ( p r i v a t e ) --------------------------
00075     // -------------------------------------------------------------------------
00076 
00083     bool getPartitialGraph();
00084 
00092     double calculateGCD(double a, double b);
00093 
00100     StableSetMaster *stableSetMaster();
00101 
00102 
00103     // -------------------------------------------------------------------------
00104     // ------------- V a r i a b l e s  ( p r i v a t e ) ----------------------
00105     // -------------------------------------------------------------------------
00106 
00110     ABA_MASTER *master_;
00111 
00115     StableSetLPSolution *lpSolution;
00116 
00120     Graph *itsGraph;
00121 
00125     const static int MAX_NUMBER_OF_NODES = 15;
00126 
00130     const static int MIN_NUMBER_OF_NODES = 4;
00131 
00135     int numberOfNodes;
00136 
00140     vector<int> nodes;
00141 
00145     vector< vector<int> > adjacentList;
00146 
00147 };
00148 
00149 #endif
00150 
00151 

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