solver  1.0
Settings.h
Go to the documentation of this file.
1 /*
2  This file is part of the EnergyOptimizatorOfRoboticCells program.
3 
4  EnergyOptimizatorOfRoboticCells is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  EnergyOptimizatorOfRoboticCells is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with EnergyOptimizatorOfRoboticCells. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef HLIDAC_PES_SETTINGS_H
19 #define HLIDAC_PES_SETTINGS_H
20 
27 #include <string>
28 #include <stdint.h>
29 #include "DefaultSettings.h"
30 
32 namespace Settings {
33 
34  /* GENERAL OPTIONS */
35 
37  extern std::string DATASET_FILE;
39  extern bool VERBOSE;
41  extern uint32_t NUMBER_OF_SEGMENTS;
43  extern uint32_t NUMBER_OF_THREADS;
45  extern double MAX_RUNTIME;
47  extern bool USE_HEURISTICS;
49  extern bool USE_EXACT_ALGORITHM;
51  extern std::string RESULTS_DIRECTORY;
52 
53 
54  /* ILP SOLVER OPTIONS */
55 
57  extern double ILP_RELATIVE_GAP;
59  extern bool CALCULATE_LOWER_BOUND;
61  extern double RUNTIME_OF_LOWER_BOUND;
62 
63 
64  /* HEURISTIC OPTIONS */
65 
67  extern uint32_t MAX_ELITE_SOLUTIONS;
69  extern uint32_t MAX_ALTERNATIVES;
71  extern uint32_t MIN_ITERS_PER_TUPLE;
72 }
73 
74 #endif
75 
bool USE_EXACT_ALGORITHM
The variable indicates whether the exact algorithm should be used.
Definition: Settings.cpp:33
double ILP_RELATIVE_GAP
If a given relative gap from the best known lower bound is achieved, then the solver stops...
Definition: Settings.cpp:37
uint32_t MAX_ALTERNATIVES
The maximal number of alternative orders generated for each robot.
Definition: Settings.cpp:43
uint32_t NUMBER_OF_SEGMENTS
By how many segments (linear pieces) the energy function of the movement is approximated.
Definition: Settings.cpp:29
string DATASET_FILE
Dataset with problems to be solved.
Definition: Settings.cpp:27
bool CALCULATE_LOWER_BOUND
Indicates whether a tight lower bound should be calculated.
Definition: Settings.cpp:38
double RUNTIME_OF_LOWER_BOUND
Time limit for the tight lower bound.
Definition: Settings.cpp:39
uint32_t MAX_ELITE_SOLUTIONS
The number of top solutions maintained by the heuristic.
Definition: Settings.cpp:42
bool VERBOSE
Boolean flag determining verbosity of the program.
Definition: Settings.cpp:28
uint32_t NUMBER_OF_THREADS
Maximal number of threads to be used.
Definition: Settings.cpp:30
This namespace encapsulates various external variables related to the program settings.
Definition: Settings.cpp:25
string RESULTS_DIRECTORY
If not empty, then the optimization results will be written to this directory.
Definition: Settings.cpp:34
uint32_t MIN_ITERS_PER_TUPLE
The minimal number of optimization iterations per each tuple.
Definition: Settings.cpp:44
Default configuration of the solver.
double MAX_RUNTIME
Maximal run time of the solver.
Definition: Settings.cpp:31
bool USE_HEURISTICS
The variable indicates whether the heuristic should be used.
Definition: Settings.cpp:32