18 #ifndef HLIDAC_PES_VARIABLE_MAPPING_ILP_H 
   19 #define HLIDAC_PES_VARIABLE_MAPPING_ILP_H 
   32 using map2to1 = std::map<std::pair<uint32_t, uint32_t>, uint32_t>;
 
   34 using map4toN = std::map<std::pair<uint64_t, uint64_t>, std::vector<uint32_t> >;
 
   97 std::map<uint32_t, uint32_t> 
inverseMapping(
const std::vector<double>& solution, 
const map2to1& mapping);
 
Instance of this class includes all the data structures and methods related to a robot. 
 
uint32_t numberOfVariables() const 
Total number of variables including both continuous and binary ones. 
 
map4toN c
Binary variables used for collisions resolution. 
 
void addActivityBinaryVariables(Robot *r)
It creates the mapping for x, z, and y variables. 
 
Mapping of continuous variables of the energy optimization problem. 
 
void addActivityOrderBinaryVariables(Robot *r)
It constructs the mapping for w variables. 
 
Mapping of continuous variables occurring in the energy optimization problem. 
 
std::map< std::pair< uint64_t, uint64_t >, std::vector< uint32_t > > map4toN
Mapping of variables indexed by four numbers. 
 
void addCollisionBinaryVariables(const RoboticLine &l)
Mapping of c variables is created. 
 
VariableMappingILP(Robot *r)
Constructs the mapping of all the variables related to robot r. 
 
std::map< uint32_t, uint32_t > inverseMapping(const std::vector< double > &solution, const map2to1 &mapping)
It extracts the variables set to true and returns the ,,selected" indices. 
 
The robotic cell corresponds to an instance of this class. 
 
std::map< std::pair< uint32_t, uint32_t >, uint32_t > map2to1
Mapping of variables indexed by two numbers. 
 
Mapping of continuous and binary variables.