Dip-All  0.91.0
ATM_Param.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, Lehigh University //
8 // //
9 // Copyright (C) 2002-2015, Lehigh University, Matthew Galati, and Ted Ralphs//
10 // All Rights Reserved. //
11 //===========================================================================//
12 
13 #ifndef ATM_PARAM_INCLUDED
14 #define ATM_PARAM_INCLUDED
15 
16 //===========================================================================//
17 #include "UtilParameters.h"
18 
19 using namespace std;
20 
21 //===========================================================================//
28 //===========================================================================//
29 class ATM_Param {
30 public:
31  int LogLevel; //application log level
32  string DataDir; //data directory
33  string DataAtm; //data file (atms)
34  string DataDate; //data file (dates)
35  string DataAtmDate; //data file (atms x dates)
36  int NumSteps; //number of steps for discretization of NLP
37  bool UseTightModel; //use tighter formulation of z=xy
38  string ModelNameCore; //name of model core
39  string ModelNameRelax; //name of model relax
40  string ModelNameRelaxNest;//name of nested model relax
41 
42 public:
43  void getSettings(UtilParameters & utilParam){
44  static const char * common = "ATM";
45  LogLevel = utilParam.GetSetting("LogLevel", 0, common);
46  DataDir = utilParam.GetSetting("DataDir", "", common);
47  DataAtm = utilParam.GetSetting("DataAtm", "", common);
48  DataDate = utilParam.GetSetting("DataDate", "", common);
49  DataAtmDate = utilParam.GetSetting("DataAtmDate", "", common);
50  NumSteps = utilParam.GetSetting("NumSteps", 10, common);
51  UseTightModel = utilParam.GetSetting("UseTightModel", true, common);
52  ModelNameCore = utilParam.GetSetting("ModelNameCore", "", common);
53  ModelNameRelax = utilParam.GetSetting("ModelNameRelax", "", common);
54  ModelNameRelaxNest
55  = utilParam.GetSetting("ModelNameRelaxNest", "", common);
56  }
57 
58  void dumpSettings(ostream * os = &cout){
59  static const char * common = "ATM";
60  (*os) << "\n=====================================================\n"
61  << "ATM_DECOMP PARAMETER SETTINGS \n";
62  (*os) << common << ": LogLevel : " << LogLevel << endl;
63  (*os) << common << ": DataDir : " << DataDir << endl;
64  (*os) << common << ": DataAtm : " << DataAtm << endl;
65  (*os) << common << ": DataDate : " << DataDate << endl;
66  (*os) << common << ": DataAtmDate : " << DataAtmDate << endl;
67  (*os) << common << ": NumSteps : " << NumSteps << endl;
68  (*os) << common << ": UseTightModel : " << UseTightModel << endl;
69  (*os) << common << ": ModelNameCore : " << ModelNameCore << endl;
70  (*os) << common << ": ModelNameRelax : " << ModelNameRelax << endl;
71  (*os) << common << ": ModelNameRelaxNest: " << ModelNameRelaxNest<< endl;
72  (*os) << "=====================================================\n";
73  }
74 
75 public:
77  LogLevel (0),
78  DataDir (""),
79  DataAtm (""),
80  DataDate (""),
81  DataAtmDate (""),
82  NumSteps (0),
83  UseTightModel (true),
84  ModelNameCore (""),
85  ModelNameRelax (""),
86  ModelNameRelaxNest(""){};
87  ~ATM_Param() {};
88 };
89 
90 #endif
string DataDir
Definition: ATM_Param.h:32
string GetSetting(const char *name, const char *defaultValue, const char *section=NULL)
int LogLevel
Definition: ATM_Param.h:31
string ModelNameCore
Definition: ATM_Param.h:38
void dumpSettings(ostream *os=&cout)
Definition: ATM_Param.h:58
bool UseTightModel
Definition: ATM_Param.h:37
ATM_Param()
Definition: ATM_Param.h:76
string ModelNameRelaxNest
Definition: ATM_Param.h:40
~ATM_Param()
Definition: ATM_Param.h:87
int NumSteps
Definition: ATM_Param.h:36
string DataAtmDate
Definition: ATM_Param.h:35
string DataDate
Definition: ATM_Param.h:34
void getSettings(UtilParameters &utilParam)
Definition: ATM_Param.h:43
string DataAtm
Definition: ATM_Param.h:33
string ModelNameRelax
Definition: ATM_Param.h:39