18 #ifndef HLIDAC_PES_ROBOTIC_LINE_SOLVER_LP_H
19 #define HLIDAC_PES_ROBOTIC_LINE_SOLVER_LP_H
45 std::vector<std::vector<Location*>>
locs;
47 std::vector<std::vector<RobotPowerMode*>>
pwrms;
49 std::vector<std::vector<Movement*>>
mvs;
void construct(const PrecalculatedMapping &m, bool addTimeLags=true)
Complete construction of the Linear Programming problem for the energy optimization.
void addCollisionResolution(Activity *i, Activity *j, const int32_t &multipleOfCycleTime)
It adds a constraint to resolve a collision where and are start time and duration of the activity ...
The base class incorporating common properties of robot operations and movements. ...
Generation of the (I)LP constraints.
The structure representing a solution found by an algorithm.
Instance of this class includes all the data structures and methods related to a robot.
std::vector< std::vector< Location * > > locs
Selected locations for each robot, time ordered.
ConstraintsGenerator mGenerator
Generator of the constraints.
std::vector< std::vector< RobotPowerMode * > > pwrms
Selected power saving modes of related locations.
PartialSolution mPartialSolution
Partially fixed problem, or in other words, a partial solution.
Mapping of continuous variables of the energy optimization problem.
Integer Linear Programming problem is stored in this data structure.
Mapping of continuous variables occurring in the energy optimization problem.
The structures and methods suitable for fast searching in the data structure of the robotic cell...
Declares a class for the generation of constraints.
Fixed locations, power saving modes, and movements.
RoboticLineSolverLP(Robot *r, const PartialSolution &ps, const PrecalculatedMapping &m)
It builds a Linear Programming problem (variables, constraints, criterion) to be solved.
VariableMappingLP mMapper
Mapping of the continuous variables.
General model for Integer Linear Programming problem.
Determines an optimal timing of a partially fixed problem.
It declares the namespace for program settings.
void addVariablesForSelectedDynamicActivities()
It adds additional float variables for optional activities.
ILPModel mModel
Linear Programming problem to be solved.
Solution solve() const
The energy optimal timing is determined by solving Linear Programming problem and the solution is ret...
Declares the class storing the best found solutions, tuples, and information about the heuristic perf...
A representation of the solution that is algorithm independent.
std::vector< std::vector< Movement * > > mvs
Selected movements, implied from the selected locations and their order.
The robotic cell corresponds to an instance of this class.
The structure contains the maps for fast searching in the robotic cell.
void checkArguments(const PrecalculatedMapping &m, const uint32_t &numberOfRobots=1u) const
It checks that the arguments passed to the constructor are valid and correct.
The file contains various classes devoted to abstract representation of the robotic cell...