Dip  0.92.4
DecompAlgoD.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_ALGOD_INCLUDED
14 #define DECOMP_ALGOD_INCLUDED
15 
16 #include "DecompAlgoPC.h"
17 
18 class DecompApp;
19 
20 //?? this should probably be a base class for different stablization methods
21 // --------------------------------------------------------------------- //
22 //derive from DecompAlgo or DecompAlgoPC?? THINK
23 class DecompAlgoD : public DecompAlgo {
24 private:
25  DecompAlgoD(const DecompAlgoD&);
26  DecompAlgoD& operator=(const DecompAlgoD&);
27 
28 private:
29  static const char* classTag;
30  double* m_xhatD;
31  DecompCutList* m_newCuts;
32 
33 public:
34  void solveD(DecompCutList* newCuts) {
35  m_newCuts = newCuts;
36  //need to change parameters to price, no cut
42  }
43 
44  //inherited (from pure virtual) methods
45  void createMasterProblem(DecompVarList& initVars);
46 
47  decompPhase phaseUpdate(const decompPhase phase,
48  const decompStat stat,
49  int& n_newCuts,
50  int& n_newVars,
51  int& n_cutCalls,
52  int& n_priceCalls);
53  decompPhase phaseUpdate(const decompPhase phase,
54  const decompStat stat);
55 
56  //=PO
57  void recomposeSolution(const double* solution,
58  double* rsolution);
59 
60 
61 public:
62  //can pass this all in... to save time, and since we might
63  //do francois idea of tightening P' as we go...
64  // DecompConstraintSet * m_modelRelax)
66  double* xhat,
67  int numOrigCols) :
68  DecompAlgo(DECOMP, app),
69  m_newCuts(0) {
70  //that would change them all
71  //m_app->m_decompParam.CutIters = 0;
72  m_xhatD = xhat;
73  m_numOrigCols = numOrigCols;
74  };
76 };
77 
78 #endif
DecompAlgoD(DecompApp *app, double *xhat, int numOrigCols)
Definition: DecompAlgoD.h:65
int LimitTotalPriceIters
Definition: DecompParam.h:34
int LimitRoundCutIters
Definition: DecompParam.h:35
DecompApp * m_app
Pointer to current active DECOMP application.
Definition: DecompAlgo.h:108
Class for DECOMP algorithm Decomp.
Definition: DecompAlgoD.h:36
DecompParam m_param
Parameters.
Definition: DecompApp.h:79
std::list< DecompCut * > DecompCutList
Definition: Decomp.h:93
std::list< DecompVar * > DecompVarList
Definition: Decomp.h:91
decompStat
void recomposeSolution(const double *solution, double *rsolution)
Compose solution in x-space from current space.
int LimitRoundPriceIters
Definition: DecompParam.h:36
void solve(int whichModel=1)
decompPhase
void solveD(DecompCutList *newCuts)
Definition: DecompAlgoD.h:34
The main application class.
Definition: DecompApp.h:48
Definition: Decomp.h:128
Base class for DECOMP algorithms.
Definition: DecompAlgo.h:62
int LimitTotalCutIters
Definition: DecompParam.h:33