First, learn about Dimensions and Hierarchies in the Optimization Engine at Main Concepts for Optimization Problems.
Hierarchies
The problem description starts with enumerating the hierarchies of dimensions used in the problem. Dimensions are sorted from the finest grain to the larger grain.
For instance, in the following example:
Each
customer
belongs to acustomer_group
and an unrelatedcustomer_country
.Each
product
belongs to aproduct_family
which itself belongs to aproduct_group
.shipping_mode
is a dimension without any hierarchical relation to any other dimension.
hierarchies: - [customer, customer_group] - [customer, customer_country] - [product, product_family, product_group] - [shipping_mode]
All the dimensions, in their correct hierarchies, are to be defined. They are used in the spaces definitions.
Note: Maybe, from the end-user point of view, the customer group is hierarchical with the country: “wholesales/UK” is not the same group of customers as “wholesales/CZ” for instance. But if the customer group has the same name in both countries, like “wholesales”, it is not a hierarchy, it is a cartesian product. A hierarchy would be with the values “UK” and “CZ” for the countries and “wholesales-UK”, “wholesales-CZ”, “retail-CZ“ for the customer groups.