- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/OS-2.3.5/ApplicationTemplates/osDip/solvers/OSDipBlockBearcatSolver.h

Go to the documentation of this file.

    00001 /* $Id: OSBlockBearcatSolver.h 3038 2009-11-07 11:43:44Z kmartin $ */
    00018 #ifndef OSDIPBLOCKBEARCATSOLVER_H
    00019 #define OSDIPBLOCKBEARCATSOLVER_H
    00020
    00021 // --------------------------------------------------------------------- //
    00022 #include "OSDipBlockSolver.h"
    00023 #include "OSDataStructures.h"
    00024 #include "OSDefaultSolver.h"
    00025 #include "OSrLReader.h"
    00026
    00027 #include "OSDipBlockSolverFactory.h"
    00028
    00029 // --------------------------------------------------------------------- //
    00037 // --------------------------------------------------------------------- //
    00038 class OSDipBlockBearcatSolver : public OSDipBlockSolver {
    00039 public:
    00040
    00041
    00042         OSInstance *m_osinstance;
    00043         OSOption *m_osoption;
    00044         OSResult *m_osresult;
    00045
    00046         //variables for the dynamic programming solution
    00047         int m_numberOfVar;
    00048         int m_numHubs;
    00049         int m_numNodes;
    00050         int m_totalDemand;
    00051         int m_minDemand;
    00052         int* m_demand;
    00053
    00054         double** m_u;
    00055         double** m_v;
    00056         int** m_px;
    00057         int** m_tx;
    00058         double** m_g;
    00059
    00060         int* m_varIdx;
    00061         //end variables for the dynamic programming solution
    00062
    00063         std::vector<IndexValuePair*>  m_primalVals;
    00064
    00065
    00066         double qrouteCost(const int& k, const int& l, double* c, int* kountVar) ;
    00067
    00068
    00080         virtual void solve(double *cost, std::vector<IndexValuePair*> *solIndexValPair, double *optVal) ;
    00081
    00082
    00093         virtual void solve(double *cost, std::string *osrl) ;
    00094
    00099         OSDipBlockBearcatSolver();
    00100
    00101
    00106         OSDipBlockBearcatSolver( OSInstance *osinstance, OSOption *osoption);
    00107
    00112         ~OSDipBlockBearcatSolver();
    00113
    00114         class Factory;
    00115         class Factory : public OSDipBlockSolverFactory{
    00116
    00117         public:
    00118
    00119                 Factory(){
    00120
    00121                 }
    00122
    00123                 ~Factory(){
    00124
    00125                 }
    00126
    00127                 OSDipBlockSolver* create() {  return new OSDipBlockBearcatSolver(  osinstance, osoption); };
    00128
    00129         };// end class OSDipBlockSolverFactory
    00130
    00131
    00132         //
    00133 };//end class OSDipBlockBearcatSolver
    00134
    00135
    00136
    00137
    00138 #endif