DecompAlgoPC.h

Go to the documentation of this file.
00001 //===========================================================================//
00002 // This file is part of the Decomp Solver Framework.                         //
00003 //                                                                           //
00004 // Decomp is distributed under the Common Public License as part of the      //
00005 // COIN-OR repository (http://www.coin-or.org).                              //
00006 //                                                                           //
00007 // Author: Matthew Galati, SAS Institute Inc. (matthew.galati@sas.com)       //
00008 //                                                                           //
00009 // Copyright (C) 2002-2007, Lehigh University, Matthew Galati, and Ted Ralphs//
00010 // All Rights Reserved.                                                      //
00011 //===========================================================================//
00012 
00013 #ifndef DECOMP_ALGOPC_INCLUDED
00014 #define DECOMP_ALGOPC_INCLUDED
00015 
00016 #include "DecompAlgo.h"
00017 
00018 class DecompApp;
00019 
00020 //?? this should probably be a base class for different stablization methods
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;  //THINK - bad idea same name as base?
00029 
00030 public:
00031    virtual void setMasterBounds(const double* lbs,
00032                                 const double* ubs);
00033 
00034    //inherited (from pure virtual) methods
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    //inherited from virtual methods
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

Generated on 5 Apr 2015 for Dip-All by  doxygen 1.6.1