DecompAlgoC.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 
00014 #ifndef DECOMP_ALGOC_INCLUDED
00015 #define DECOMP_ALGOC_INCLUDED
00016 
00017 #include "DecompAlgo.h"
00018 
00019 class DecompApp;
00020 // --------------------------------------------------------------------- //
00021 class DecompAlgoC : public DecompAlgo {
00022 private:
00023    DecompAlgoC(const DecompAlgoC&);
00024    DecompAlgoC& operator=(const DecompAlgoC&);
00025 
00026 private:
00027    static const char* m_classTag;
00028 
00029 public:
00030    //inherited (from pure virtual) methods
00031    void createMasterProblem(DecompVarList& initVars);
00032    void recomposeSolution(const double* solution,
00033                           double*        rsolution);
00034    int  generateInitVars(DecompVarList& initVars) {
00035       printf("\ncut generateInitVars do nothing");
00036       return 0;
00037    }
00038 
00039    int generateVars(const decompStat   stat,
00040                     DecompVarList&     newVars,
00041                     double&            mostNegReducedCost) {
00042       assert(0);
00043       return 0;
00044    }
00045    decompPhase phaseUpdate(const decompPhase phase,
00046                            const decompStat  stat);
00047 #if 0
00048    decompStat solutionUpdate(const decompPhase phase,
00049                              const int         maxInnerIter,
00050                              const int         maxOuterIter);
00051 
00052    decompPhase phaseUpdate(const decompPhase   phase,
00053                            const decompStat    stat,
00054                            int&                n_newCuts,
00055                            int&                n_newVars,
00056                            int&                n_cutCalls,
00057                            int&                n_priceCalls);
00058 #endif
00059 
00060    //from virtual
00061    int branch(int    branchedOnIndex,
00062               double branchedOnValue);
00063 
00064 public:
00065    //THINK: really DecompAlgoC should override param PriceIter = 0
00066    //because if user accidently does not do this, will cause errors
00067    DecompAlgoC(DecompApp* app)
00068       : DecompAlgo(CUT, app) {};
00069    ~DecompAlgoC() {};
00070 };
00071 
00072 #endif

Generated on 12 Feb 2015 for Dip-All by  doxygen 1.6.1