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.