Dip  0.92.4
DecompAlgoPC.h
Go to the documentation of this file.
1 //===========================================================================//
2 // This file is part of the Decomp Solver Framework. //
3 // //
4 // Decomp is distributed under the Common Public License as part of the //
5 // COIN-OR repository (http://www.coin-or.org). //
6 // //
7 // Author: Matthew Galati, SAS Institute Inc. (matthew.galati@sas.com) //
8 // //
9 // Copyright (C) 2002-2007, Lehigh University, Matthew Galati, and Ted Ralphs//
10 // All Rights Reserved. //
11 //===========================================================================//
12 
13 #ifndef DECOMP_ALGOPC_INCLUDED
14 #define DECOMP_ALGOPC_INCLUDED
15 
16 #include "DecompAlgo.h"
17 
18 class DecompApp;
19 
20 //?? this should probably be a base class for different stablization methods
21 // --------------------------------------------------------------------- //
22 class DecompAlgoPC : public DecompAlgo {
23 private:
24  DecompAlgoPC(const DecompAlgoPC&);
26 
27 private:
28  static const char* classTag; //THINK - bad idea same name as base?
29 
30 public:
31  virtual void setMasterBounds(const double* lbs,
32  const double* ubs);
33 
34  //inherited (from pure virtual) methods
35  virtual void createMasterProblem(DecompVarList& initVars);
37  void addCutsToPool(const double* x,
38  DecompCutList& newCuts,
39  int& n_newCuts);
40  int addCutsFromPool();
41 
42 #if 0
44  const int maxInnerIter,
45  const int maxOuterIter);
46 #endif
47 
48 #if 0
50  const decompStat stat,
51  int& n_newCuts,
52  int& n_newVars,
53  int& n_cutCalls,
54  int& n_priceCalls);
55 #endif
56 
57  //inherited from virtual methods
58  void recomposeSolution(const double* solution,
59  double* rsolution);
60 
61 
62 public:
64  : DecompAlgo(PRICE_AND_CUT, app) {};
66 };
67 
68 #endif
std::list< DecompCut * > DecompCutList
Definition: Decomp.h:93
void addCutsToPool(const double *x, DecompCutList &newCuts, int &n_newCuts)
static const char * classTag
Definition: DecompAlgoPC.h:28
DecompAlgoPC(DecompApp *app, UtilParameters &utilParam, bool doSetup=true, const DecompAlgoType algo=PRICE_AND_CUT)
Default constructors.
Definition: DecompAlgoPC.h:197
decompPhase
int addCutsFromPool()
decompStat
virtual DecompStatus solutionUpdate(const DecompPhase phase, const bool resolve=true, const int maxInnerIter=COIN_INT_MAX, const int maxOuterIter=COIN_INT_MAX)
Update of the solution vectors (primal and/or dual).
virtual void setMasterBounds(const double *lbs, const double *ubs)
DecompAlgoPC(DecompApp *app)
Definition: DecompAlgoPC.h:63
Class for DECOMP algorithm Price and Cut.
Definition: DecompAlgoPC.h:31
virtual void createMasterProblem(DecompVarList &initVars)
Create the master problem (all algorithms must define this function).
Definition: DecompAlgoPC.h:82
void recomposeSolution(const double *solution, double *rsolution)
Compose solution in x-space from current space.
Base class for DECOMP algorithms.
Definition: DecompAlgo.h:62
virtual void phaseUpdate(DecompPhase &phase, DecompStatus &status)
Update of the phase for process loop.
DecompAlgoPC & operator=(const DecompAlgoPC &)
std::list< DecompVar * > DecompVarList
Definition: Decomp.h:91
void createMasterStabilization()
The main application class.
Definition: DecompApp.h:48