18 #ifndef HLIDAC_PES_SOLUTION_H 
   19 #define HLIDAC_PES_SOLUTION_H 
   39         OPTIMAL, FEASIBLE, INFEASIBLE, UNKNOWN
 
Solution()
It constructs an empty solution. 
 
double totalEnergy
The amount of energy required per robot cycle. 
 
The structure representing a solution found by an algorithm. 
 
double runTime
Run time (seconds) of the optimization algorithm required for obtaining this solution. 
 
State convert(const Status &ilpStatus)
Conversion between the ILP solver status and the solution state. 
 
std::ostream & operator<<(std::ostream &out, const Solution &s)
It prints the solution to the output stream. 
 
std::map< uint32_t, std::pair< uint32_t, uint32_t > > pointAndPowerMode
It maps the identification of a static activity to its assigned coordinate and used power saving mode...
 
Solver-independent interface for solving Integer Linear Programming problems. 
 
State status
Enum specifying whether the solution is optimal, feasible, or infeasible... 
 
void writeBriefResultToCsvFile(const std::string &instanceName, const std::string &pathToFile, const Solution &s)
It writes the solution to the file in the same format as writeBriefResultToStream function...
 
Status
Constants specifying whether a solution is optimal, feasible, infeasible, unbounded, or undefined, respectively. 
 
double memUsage
Memory usage (bytes) of the optimization algorithm, currently not used due to implementation issues...
 
void writeSolutionToCsvFile(const std::string &file, const Solution &s, const PrecalculatedMapping &mapper)
It writes the solution to a csv file, the header is 'activity id, start time, duration, type, point, power saving mode, movement, energy'. 
 
State
Enum declares constants specifying whether a found solution is optimal, feasible, infeasible...
 
double lowerBound
Lower bound on energy, i.e. there is not a solution consuming less energy than this number...
 
void writeBriefResultToStream(std::ostream &OUT, const std::string &instanceName, const Solution &s)
It prints the solution as follows: 'instance name (state, runtime s): energy'. 
 
The structure contains the maps for fast searching in the robotic cell. 
 
std::map< uint32_t, std::pair< double, double > > startTimeAndDuration
Mapping of the activity identification to its start time and duration.