solver
1.0
|
An exact solver for the energy optimization problem. More...
#include <RoboticLineSolverILP.h>
Public Member Functions | |
RoboticLineSolverILP (Robot *r, const PrecalculatedMapping &m) | |
Integer Linear Programming problem is built from the robot. More... | |
RoboticLineSolverILP (const RoboticLine &l, const PrecalculatedMapping &m) | |
Integer Linear Programming problem is built from the robotic cell. More... | |
Solution | solve (double relGap=Settings::ILP_RELATIVE_GAP, double timLim=Settings::MAX_RUNTIME) const |
ILP solver optimizes the energy consumption of the robotic cell until a stop criterion is reached. More... | |
Static Public Member Functions | |
static double | lowerBoundOnEnergy (const std::vector< Robot * > &robots, const PrecalculatedMapping &m) |
A tight lower bound on the energy consumption. More... | |
Private Member Functions | |
void | construct (ConstraintsGenerator &generator, bool addGlobalConstraints=true) |
It builds the Integer Linear Programming problem corresponding to the energy optimization problem of the robotic cell. More... | |
Private Attributes | |
ILPModel | mModel |
The energy optimization of the robotic cell formulated as an Integer Linear Programming problem. | |
VariableMappingILP | mMapper |
Mapping of both the continuous and binary variables. | |
An exact solver for the energy optimization problem.
An exact solver for the energy optimization of robotic cells. It employs an Integer Linear Programming solver to solve the problem. Only small instances can be solved with a satisfactory quality.
Definition at line 41 of file RoboticLineSolverILP.h.
RoboticLineSolverILP::RoboticLineSolverILP | ( | Robot * | r, |
const PrecalculatedMapping & | m | ||
) |
Integer Linear Programming problem is built from the robot.
r | Robot to be optimized. |
m | Fast mapping for the searching in the data structure of the robotic cell (containing one robot). |
Definition at line 34 of file RoboticLineSolverILP.cpp.
RoboticLineSolverILP::RoboticLineSolverILP | ( | const RoboticLine & | l, |
const PrecalculatedMapping & | m | ||
) |
Integer Linear Programming problem is built from the robotic cell.
l | Robotic cell to be energy optimized. |
m | Fast mapping for the searching in the data structure of the robotic cell. |
Definition at line 39 of file RoboticLineSolverILP.cpp.
|
private |
It builds the Integer Linear Programming problem corresponding to the energy optimization problem of the robotic cell.
generator | Instance of the class is responsible for the constraints generation. |
addGlobalConstraints | Whether the global constraints should be considered. |
Definition at line 113 of file RoboticLineSolverILP.cpp.
|
static |
A tight lower bound on the energy consumption.
A tight lower bound neglects the global constraints, i.e. linkage between robots, and solves each robot individually as an ILP problem with a given time limit. The resulting bound is a summation of individual lower bounds.
robots | Robots located in a robotic cell. |
m | Fast mapping for the searching in the data structure of the related robotic cell. |
Definition at line 102 of file RoboticLineSolverILP.cpp.
Solution RoboticLineSolverILP::solve | ( | double | relGap = Settings::ILP_RELATIVE_GAP , |
double | timLim = Settings::MAX_RUNTIME |
||
) | const |
ILP solver optimizes the energy consumption of the robotic cell until a stop criterion is reached.
relGap | A relative gap used as a stop criterion. |
timLim | Time limit used as a stop criterion. |
Definition at line 44 of file RoboticLineSolverILP.cpp.