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

Go to the documentation of this file.
00001 
00002 //
00003 //  Module           : ModkSeparator.hh
00004 //  Description      :
00005 //  Author           : Lars Fricke
00006 //  Email            : lars.fricke@iwr.uni-heidelberg.de
00007 //  Copyright        : University of Heidelberg
00008 //  Created on       : Tue Nov 8 2005
00009 //  Last modified by : Rebennack
00010 //  Last modified on : Wed Apr 05 15:59:06 2006
00011 //  Update count     : 1
00012 //
00014 //
00015 //  Date        Name            Changes/Extensions
00016 //  Apr 05      Rebennack       Fitting programming guides
00017 //
00019 
00020 #ifndef MOD_K_SEPARATOR_HH
00021 #define MOD_K_SEPARATOR_HH
00022 
00023 
00024 
00028 class ModkSeparator {
00029 
00030 public:
00031 
00032     // -------------------------------------------------------------------------
00033     // ------------- M e t h o d s  ( p u b l i c ) ----------------------------
00034     // -------------------------------------------------------------------------
00035 
00050     ModkSeparator(int modfac, int nConstraints, int nVariables, int* nNonZeros,
00051                   int** NonZeroIndices, double** NonZeroCoeff, double* rhs,
00052                   double* lpSolution);
00053 
00057     ~ModkSeparator();
00058 
00065     int separate(int nMaxCuts);
00066         
00073     int* getCut();
00074 
00075 
00076 private:
00077 
00078     // -------------------------------------------------------------------------
00079     // ------------- M e t h o d s  ( p r i v a t e ) --------------------------
00080     // -------------------------------------------------------------------------
00081     
00088     unsigned int hweight(unsigned int w);
00089 
00090 
00091     // -------------------------------------------------------------------------
00092     // ------------- V a r i a b l e s  ( p r i v a t e ) ----------------------
00093     // -------------------------------------------------------------------------
00094 
00098     int** GeneratedCuts;
00099    
00103     int** CongruenceSystem;
00104 
00108     int nCols;
00109 
00113     int nRows;
00114 
00118      int nGen;
00119 
00123     int nCutsLeft;
00124 
00128     int* Cols;
00129 
00133     int K;
00134 
00138     int* Ord;
00139         
00140 
00141     int** NonZeroI;
00142     int* nNonZ;
00143     double** NonZeroC;
00144     double* RHS;
00145     int nVar;
00146     int nCon;
00147     double* lpSol;
00148 
00152     bool ordGen;
00153 
00157     bool constraintsGen;
00158 
00162     int  congruenceSystemGen;
00163 
00164 
00168     bool colsGen;
00169 
00173     bool generatedCutsGen;
00174 
00175 };
00176 
00177 #endif /*MODKSEPARATOR_HH_*/
00178 

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