DecompAlgoPC.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef DECOMP_ALGOPC_INCLUDED
00014 #define DECOMP_ALGOPC_INCLUDED
00015
00016 #include "DecompAlgo.h"
00017
00018 class DecompApp;
00019
00020
00021
00022 class DecompAlgoPC : public DecompAlgo {
00023 private:
00024 DecompAlgoPC(const DecompAlgoPC&);
00025 DecompAlgoPC& operator=(const DecompAlgoPC&);
00026
00027 private:
00028 static const char* classTag;
00029
00030 public:
00031 virtual void setMasterBounds(const double* lbs,
00032 const double* ubs);
00033
00034
00035 virtual void createMasterProblem(DecompVarList& initVars);
00036 void createMasterStabilization();
00037 void addCutsToPool(const double* x,
00038 DecompCutList& newCuts,
00039 int& n_newCuts);
00040 int addCutsFromPool();
00041
00042 #if 0
00043 decompStat solutionUpdate(const decompPhase phase,
00044 const int maxInnerIter,
00045 const int maxOuterIter);
00046 #endif
00047
00048 #if 0
00049 decompPhase phaseUpdate(const decompPhase phase,
00050 const decompStat stat,
00051 int& n_newCuts,
00052 int& n_newVars,
00053 int& n_cutCalls,
00054 int& n_priceCalls);
00055 #endif
00056
00057
00058 void recomposeSolution(const double* solution,
00059 double* rsolution);
00060
00061
00062 public:
00063 DecompAlgoPC(DecompApp* app)
00064 : DecompAlgo(PRICE_AND_CUT, app) {};
00065 ~DecompAlgoPC() {};
00066 };
00067
00068 #endif