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&);
27 
28 private:
29  static const char* classTag;
30  double* m_xhatD;
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 
48  const decompStat stat,
49  int& n_newCuts,
50  int& n_newVars,
51  int& n_cutCalls,
52  int& n_priceCalls);
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
std::list< DecompCut * > DecompCutList
Definition: Decomp.h:93
DecompAlgoD(DecompApp *app, double *xhat, int numOrigCols)
Definition: DecompAlgoD.h:65
static const char * classTag
Definition: DecompAlgoD.h:29
DecompCutList * m_newCuts
Store the name of the class (for logging/debugging) - &quot;who am I?&quot;.
Definition: DecompAlgoD.h:53
DecompAlgoD & operator=(const DecompAlgoD &)
Disable copy constructors.
int LimitRoundCutIters
Definition: DecompParam.h:35
void solve(int whichModel=1)
void recomposeSolution(const double *solution, double *rsolution)
Compose solution in x-space from current space.
decompPhase
double * m_xhatD
Store the name of the class (for logging/debugging) - &quot;who am I?&quot;.
Definition: DecompAlgoD.h:51
int LimitTotalPriceIters
Definition: DecompParam.h:34
decompStat
DecompAlgoD(const DecompAlgoD &)
Disable copy constructors.
Class for DECOMP algorithm Decomp.
Definition: DecompAlgoD.h:36
DecompApp * m_app
Pointer to current active DECOMP application.
Definition: DecompAlgo.h:108
Definition: Decomp.h:128
virtual void phaseUpdate(DecompPhase &phase, DecompStatus &status)
Create the master problem (all algorithms must define this function).
int LimitRoundPriceIters
Definition: DecompParam.h:36
int m_numOrigCols
Store the name of the class (for logging/debugging) - &quot;who am I?&quot;.
Definition: DecompAlgoD.h:55
virtual void createMasterProblem(DecompVarList &initVars)
Create the master problem (all algorithms must define this function).
DecompParam m_param
Parameters.
Definition: DecompApp.h:79
void solveD(DecompCutList *newCuts)
Definition: DecompAlgoD.h:34
int LimitTotalCutIters
Definition: DecompParam.h:33
Base class for DECOMP algorithms.
Definition: DecompAlgo.h:62
std::list< DecompVar * > DecompVarList
Definition: Decomp.h:91
The main application class.
Definition: DecompApp.h:48