1 Introduction
-
We develop the first exact solution procedure for the picker routing problem in U-shaped order picking zones, namely an algorithm based on combinatorial Benders decomposition.
-
In a comprehensive numerical study, we compare the solutions of our newly developed exact procedure to the solutions of the sweep algorithm developed by Glock and Grosse (2012) to analyze the latter’s solution quality, which had not been done yet.
-
We develop a new heuristic approach extending the idea of the sweep algorithm, based on dynamic programming. The newly developed procedure compares favorably in theory and in our numerical experiments.
-
In addition, we derive some managerial insights from our numerical experiments. We propose a new radial storage assignment policy that better matches the specific characteristics of a U-shaped order picking zone, compare it to storage assignment policies from the literature, and demonstrate its advantage in certain situations. Furthermore, we investigate the effects of having a movable compared to a fixed depot and the influence of the effort for moving the depot.
2 Literature review
3 Problem description
3.1 Formal description of the picker routing problem
-
We consider a picker processing a single order in a single U-zone. An order constitutes a set \(\Omega\) of items that need to be collected and placed together in the depot – for example, a kit destined for a single production station. During a shift, a picker processes multiple orders. We assume orders are planned beforehand and given from the perspective of our problem, such that order picker routing for a single order is independent from other orders.
-
The U-zone’s coordinate system is two-dimensional, and the depot can be placed anywhere on the center line of the U-zone (i.e., the y-coordinate of the depot is always 0). The location of the depot has to be fixed before the order picker starts processing the order. Moving the depot from the open end of the U deeper into the zone consumes a certain amount of time proportional to the distance that the depot is moved.
-
Euclidean distances are used to calculate the travel distance of the order picker, as we assume that this is the most intuitive way to travel through the pick zone. Formally, we define the Euclidean distance between two points \(P_1=\left( x^p_1, y^p_1 \right)\) and \(P_2=\left( x^p_2, y^p_2 \right)\) as \(D^e \left( P_1, P_2 \right) = \sqrt{\left( x^p_1 - x^p_2 \right) ^2 + \left( y^p_1 - y^p_2 \right) ^2}\). The distance between stillages is calculated to the center of each stillage or the depot.
-
We do not consider service/picking times because they can be considered constant for a given picklist and are therefore not affected by the picker routes. Moreover, we equate travel distances with travel times. Note that, given a fixed average movement speed of the picker, distances can be transformed into durations by simple multiplication with a constant factor.
-
Stillages are numbered in a clockwise manner starting at the upper left corner (see Fig. 1).
-
The storage assignment policy is selected prior to the start of the order picking process (see Sect. 5.4). Once items have been assigned to storage locations, the assignment is kept constant until all orders have been completed. Each kind of item is stored in a single stillage and each stillage contains only one kind of item. This implies that items have to fit in a single stillage, which is usually the case in practice for U-shaped order picking zones.
-
The order picker must return to the depot when he/she has finished his/her order or when the transport capacity of his/her picking device has been reached. In the latter case, after returning to the depot to drop off items there, he/she can continue picking items. After an order has been completed, the depot is removed, and a new depot is brought to the U-zone together with a new order (pick-by-order).
-
The demand of any item does not exceed the carrying capacity of the picker.
Sets | |
---|---|
I | Set of stillages |
\(\Omega\) | Set of items to be picked (indices i, j) |
\(\omega _k\) | variable: set of items to be picked on tour \(k \in \{ 1, \ldots , r \}\) |
\({\tilde{\omega }}_k\) | Auxiliary variable: set of stillages to be visited on tour \(k \in \{ 1, \ldots , r \}\) |
Parameters | |
---|---|
\(d_{ii'}\) | Distance from stillage i to stillage \(i'\) (meters) |
\({\tilde{d}}_{jj'}\) | Distance between the stillage containing item j and the stillage containing item \(j'\) |
Q | Maximum carrying capacity of the order picker (kilograms) |
\(q_j\) | Weight of item j (kilograms) |
v | Penalty distance factor for moving the depot |
b | Width of the aisle (meters) |
l | Length of the aisle (meters) |
n | Number of stillages in one row of horizontal shelves |
m | Number of stillages in the vertical shelf |
s | Distance/gap between two adjacent stillages (meters) |
w | Width of a stillage (meters) |
\(x_i\) | x-coordinate of stillage i (meters) |
\(y_i\) | y-coordinate of stillage i (meters) |
\({\tilde{x}}_j\) | x-coordinate of the stillage containing item j (meters) |
\({\tilde{y}}_j\) | y-coordinate of the stillage containing item j (meters) |
3.2 Computational complexity
4 Algorithms
4.1 Logic-based Benders decomposition for the picker routing problem
4.1.1 Master problem
4.1.2 Slave problem
4.1.3 Combinatorial cuts
4.2 Heuristic solution approaches
4.2.1 Sweep algorithm
4.2.2 Heuristic dynamic programming algorithm
5 Numerical experiments and analysis
5.1 Generating instances for the computational tests
5.2 Computational performance
Instances | Benders decomposition | Sweep algorithm | Dynamic programming | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
label | Value | LB | Chi | Runtime | Time MP | Time SP | Opt | Prog | Value | Chi | Gap | Runtime | Value | Chi | Gap | runtime |
CPLEX | (in s) | (in %) | (in %) | cuts | cuts | (in %) | (in s) | (in %) | (in s) | |||||||
44-(9x4)-10-01 | 34.34 | 34.34 | 3.87 | 0.58 | 75.22 | 24.78 | 3 | 34 | 34.34 | 3.87 | 0.00 | 0.01 | 34.34 | 3.87 | 0.00 | 0.76 |
44-(9x4)-10-02 | 37.40 | 37.40 | 9.13 | 0.30 | 80.20 | 19.80 | 10 | 23 | 37.40 | 9.13 | 0.00 | 0.01 | 37.40 | 9.13 | 0.00 | 0.29 |
44-(9x4)-10-03 | 44.55 | 44.55 | 10.83 | 1.40 | 60.73 | 39.27 | 12 | 105 | 45.50 | 10.10 | 2.13 | 0.01 | 44.55 | 10.83 | 0.00 | 0.19 |
44-(9x4)-10-04 | 37.26 | 37.26 | 8.75 | 0.45 | 90.22 | 9.78 | 5 | 18 | 37.26 | 8.75 | 0.00 | 0.01 | 37.26 | 8.75 | 0.00 | 0.22 |
44-(9x4)-10-05 | 32.72 | 32.72 | 1.74 | 0.30 | 79.87 | 20.13 | 6 | 25 | 32.72 | 1.74 | 0.00 | 0.01 | 32.72 | 1.74 | 0.00 | 0.66 |
44-(9x4)-10-06 | 38.99 | 38.99 | 3.07 | 0.68 | 57.46 | 42.54 | 7 | 66 | 38.99 | 3.07 | 0.00 | 0.01 | 38.99 | 3.07 | 0.00 | 0.58 |
44-(9x4)-10-07 | 43.11 | 43.11 | 5.47 | 1.10 | 58.00 | 42.00 | 11 | 130 | 43.99 | 6.54 | 2.04 | 0.01 | 43.11 | 5.47 | 0.00 | 0.35 |
44-(9x4)-10-08 | 37.45 | 37.45 | 9.80 | 0.58 | 75.56 | 24.44 | 6 | 55 | 37.91 | 9.56 | 1.23 | 0.01 | 37.45 | 9.80 | 0.00 | 0.42 |
44-(9x4)-10-09 | 34.40 | 34.40 | 11.69 | 0.42 | 81.67 | 18.33 | 5 | 24 | 35.63 | 11.55 | 3.58 | 0.01 | 34.40 | 11.69 | 0.00 | 0.28 |
44-(9x4)-10-10 | 34.35 | 34.35 | 8.19 | 0.72 | 61.42 | 38.58 | 8 | 79 | 34.35 | 8.19 | 0.00 | 0.01 | 34.35 | 8.19 | 0.00 | 0.19 |
Mean | 37.46 | 37.46 | 7.25 | 0.65 | 72.04 | 27.97 | 7.3 | 55.9 | 37.81 | 7.25 | 0.90 | 0.01 | 37.46 | 7.25 | 0.00 | 0.39 |
44-(9x4)-15-01 | 52.42 | 52.42 | 9.67 | 39.27 | 83.84 | 16.16 | 12 | 1239 | 52.42 | 9.67 | 0.00 | 0.02 | 52.42 | 9.67 | 0.00 | 0.64 |
44-(9x4)-15-02 | 57.43 | 57.43 | 5.12 | 54.75 | 85.42 | 14.58 | 19 | 1163 | 57.43 | 5.12 | 0.00 | 0.03 | 57.43 | 5.12 | 0.00 | 0.35 |
44-(9x4)-15-03 | 53.81 | 53.81 | 6.84 | 99.48 | 87.21 | 12.79 | 12 | 2096 | 56.41 | 6.98 | 4.83 | 0.02 | 56.41 | 6.98 | 4.83 | 0.57 |
44-(9x4)-15-04 | 47.42 | 47.42 | 5.75 | 12.66 | 84.28 | 15.72 | 9 | 381 | 47.42 | 5.75 | 0.00 | 0.02 | 47.42 | 5.75 | 0.00 | 0.88 |
44-(9x4)-15-05 | 42.47 | 42.47 | 3.85 | 8.07 | 72.59 | 27.41 | 7 | 472 | 42.47 | 3.85 | 0.00 | 0.02 | 42.47 | 3.85 | 0.00 | 1.38 |
44-(9x4)-15-06 | 49.35 | 49.35 | 6.00 | 19.14 | 94.25 | 5.75 | 10 | 220 | 49.35 | 6.00 | 0.00 | 0.03 | 49.35 | 6.00 | 0.00 | 0.44 |
44-(9x4)-15-07 | 43.67 | 43.67 | 3.75 | 13.14 | 82.69 | 17.31 | 10 | 412 | 43.67 | 3.75 | 0.00 | 0.02 | 43.67 | 3.75 | 0.00 | 1.03 |
44-(9x4)-15-08 | 46.98 | 46.98 | 6.59 | 7.54 | 95.08 | 4.92 | 7 | 78 | 46.98 | 6.59 | 0.00 | 0.02 | 46.98 | 6.59 | 0.00 | 0.58 |
44-(9x4)-15-09 | 53.01 | 53.01 | 7.96 | 79.91 | 91.13 | 8.87 | 15 | 1080 | 53.01 | 7.96 | 0.00 | 0.02 | 53.01 | 7.96 | 0.00 | 0.40 |
44-(9x4)-15-10 | 45.75 | 45.75 | 10.06 | 16.82 | 69.38 | 30.62 | 9 | 829 | 46.85 | 10.03 | 2.40 | 0.02 | 45.75 | 10.06 | 0.00 | 0.99 |
Mean | 49.23 | 49.23 | 6.56 | 35.08 | 84.59 | 15.41 | 11.0 | 797.0 | 49.60 | 6.57 | 0.72 | 0.02 | 49.49 | 6.57 | 0.48 | 0.73 |
88-(20x4)-30-01 | 148.87 | 84.97 | 16.23 | – | 96.79 | 3.21 | 19 | 2732 | 145.65 | 16.32 | \(-\) 2.16 | 0.17 | 144.03 | 16.31 | \(-\) 3.25 | 4.73 |
88-(20x4)-30-02 | 148.01 | 84.01 | 17.24 | – | 97.67 | 2.33 | 21 | 1750 | 140.87 | 17.42 | \(-\) 4.82 | 0.20 | 140.87 | 17.42 | \(-\)4.82 | 2.94 |
88-(20x4)-30-03 | 146.74 | 82.44 | 14.07 | – | 98.27 | 1.73 | 14 | 1703 | 139.27 | 14.10 | \(-\) 5.09 | 0.16 | 139.27 | 14.10 | \(-\) 5.09 | 3.54 |
88-(20x4)-30-04 | 177.22 | 93.24 | 16.84 | – | 97.17 | 2.83 | 28 | 2147 | 167.76 | 15.78 | \(-\) 5.34 | 0.22 | 166.42 | 16.58 | \(-\) 6.09 | 2.18 |
88-(20x4)-30-05 | 145.45 | 79.07 | 11.90 | – | 98.21 | 1.79 | 20 | 1440 | 142.00 | 10.90 | \(-\) 2.37 | 0.20 | 138.11 | 11.80 | \(-\) 5.05 | 2.49 |
88-(20x4)-30-06 | 171.98 | 86.04 | 12.46 | - | 98.40 | 1.60 | 15 | 1261 | 159.75 | 12.94 | \(-\) 7.11 | 0.20 | 159.75 | 12.94 | \(-\) 7.11 | 2.70 |
88-(20x4)-30-07 | 143.08 | 81.31 | 12.78 | – | 98.10 | 1.90 | 32 | 1699 | 134.48 | 12.97 | \(-\) 6.01 | 0.17 | 134.48 | 12.97 | \(-\) 6.01 | 6.72 |
88-(20x4)-30-08 | 151.92 | 97.99 | 13.44 | – | 99.23 | 0.77 | 9 | 665 | 147.22 | 13.53 | \(-\) 3.09 | 0.17 | 147.22 | 13.53 | \(-\) 3.09 | 4.02 |
88-(20x4)-30-09 | 154.80 | 93.21 | 15.48 | – | 97.85 | 2.15 | 26 | 1704 | 148.02 | 14.35 | \(-\) 4.38 | 0.19 | 148.02 | 14.35 | \(-\) 4.38 | 2.83 |
88-(20x4)-30-10 | 144.04 | 77.70 | 13.81 | – | 99.42 | 0.58 | 18 | 457 | 137.94 | 13.54 | \(-\) 4.23 | 0.19 | 137.94 | 13.54 | \(-\) 4.23 | 3.52 |
Mean | 153.21 | 86.00 | 14.43 | – | 98.11 | 1.89 | 20.2 | 1555.8 | 146.30 | 14.19 | \(-\) 4.46 | 0.19 | 145.61 | 14.35 | \(-\) 4.91 | 3.57 |
88-(20x4)-60-01 | 297.23 | 82.28 | 14.86 | – | 98.31 | 1.69 | 11 | 388 | 255.57 | 15.84 | \(-\) 14.02 | 0.74 | 255.55 | 15.83 | \(-\) 14.02 | 6.24 |
88-(20x4)-60-02 | 305.78 | 74.83 | 15.12 | – | 99.33 | 0.67 | 9 | 132 | 237.18 | 15.20 | \(-\) 22.43 | 0.72 | 234.57 | 15.21 | \(-\) 23.29 | 8.32 |
88-(20x4)-60-03 | 288.54 | 69.71 | 10.56 | – | 96.20 | 3.80 | 14 | 345 | 234.99 | 11.67 | \(-\) 18.56 | 0.72 | 231.58 | 11.97 | \(-\) 19.74 | 10.43 |
88-(20x4)-60-04 | 376.85 | 89.00 | 12.97 | – | 96.56 | 3.44 | 16 | 645 | 285.32 | 15.20 | \(-\) 24.29 | 0.76 | 283.06 | 14.81 | \(-\) 24.89 | 6.31 |
88-(20x4)-60-05 | 309.40 | 83.28 | 9.66 | – | 93.53 | 6.47 | 14 | 1124 | 239.07 | 12.25 | \(-\) 22.73 | 0.68 | 237.95 | 12.65 | \(-\) 23.09 | 6.20 |
88-(20x4)-60-06 | 341.57 | 94.20 | 13.41 | – | 99.71 | 0.29 | 17 | 67 | 266.08 | 15.12 | \(-\) 22.10 | 0.76 | 263.65 | 15.58 | \(-\) 22.81 | 5.77 |
88-(20x4)-60-07 | 339.56 | 98.19 | 12.69 | – | 98.29 | 1.71 | 10 | 106 | 270.38 | 14.15 | \(-\) 20.37 | 0.75 | 268.30 | 14.28 | \(-\) 20.99 | 5.05 |
88-(20x4)-60-08 | 334.89 | 94.83 | 13.41 | – | 97.60 | 2.40 | 15 | 533 | 275.25 | 15.14 | \(-\) 17.81 | 0.84 | 274.08 | 14.86 | \(-\) 18.16 | 5.17 |
88-(20x4)-60-09 | 310.37 | 79.73 | 12.35 | – | 98.15 | 1.85 | 16 | 414 | 240.26 | 13.27 | \(-\) 22.59 | 0.78 | 239.94 | 13.24 | \(-\) 22.69 | 5.98 |
88-(20x4)-60-10 | 293.21 | 77.76 | 13.19 | – | 98.73 | 1.27 | 25 | 236 | 252.90 | 13.95 | \(-\) 13.75 | 0.74 | 251.66 | 13.69 | \(-\) 14.17 | 9.40 |
Mean | 319.74 | 84.38 | 12.82 | – | 97.64 | 2.36 | 14.7 | 399.0 | 255.70 | 14.18 | \(-\) 19.86 | 0.75 | 254.03 | 14.21 | \(-\) 20.39 | 6.89 |
5.3 Effects of having a movable depot
5.4 Effects of storage assignment policies
Instances | 44-(n,m)-10-instances | 44-(n,m)-15-instances | 88-(n,m)-30-instances | 88-(n,m)-60-instances | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Layout | (10,2) | (9,4) | (8,6) | (10,2) | (9,4) | (8,6) | (21,2) | (20,4) | (19,6) | (21,2) | (20,4) | (19,6) |
Break-even at | 223.60 | 197.03 | 137.96 | 475.29 | 487.81 | 281.00 | 199.37 | 217.00 | 225.37 | 151.62 | 183.70 | 211.81 |
Break-even with | Radial | Radial | Radial | Radial | Radial | Radial | Radial | Radial | Radial | Radial | Radial | Radial |
\(0.50 \cdot l\) | \(0.75 \cdot l\) | \(0.75 \cdot l\) | \(0.50 \cdot l\) | \(0.75 \cdot l\) | \(0.75 \cdot l\) | \(0.50 \cdot l\) | \(0.75 \cdot l\) | \(0.75 \cdot l\) | \(0.50 \cdot l\) | \(0.50 \cdot l\) | \(0.50 \cdot l\) |
Instances | 44-(n,m)-10-instances | 44-(n,m)-15-instances | 88-(n,m)-30-instances | 88-(n,m)-60-instances | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Demand skewness | 80/20 | 60/20 | 40/20 | 80/20 | 60/20 | 40/20 | 80/20 | 60/20 | 40/20 | 80/20 | 60/20 | 40/20 | |
Storage assignment policy | Horizontal | \(-\) 4.6 | 0.0 | 4.8 | 1.7 | 0.0 | 2.6 | \(-\) 3.2 | 0.0 | 2.5 | \(-\) 0.1 | 0.0 | 0.2 |
Vertical | \(-\) 3.3 | 0.0 | 8.9 | \(-\) 0.2 | 0.0 | 2.0 | \(-\) 3.1 | 0.0 | 1.8 | 0.1 | 0.0 | 1.4 | |
Upper/lower | \(-\) 2.5 | 0.0 | 1.7 | 2.6 | 0.0 | 0.2 | \(-\) 2.2 | 0.0 | 0.4 | 0.7 | 0.0 | 0.0 | |
Radial 0 | \(-\) 4.9 | 0.0 | 10.1 | 0.4 | 0.0 | 1.3 | \(-\) 4.3 | 0.0 | 2.0 | \(-\) 0.5 | 0.0 | 0.9 | |
Radial 0.25 | \(-\) 2.4 | 0.0 | 9.5 | 0.4 | 0.0 | 1.3 | \(-\) 3.3 | 0.0 | 4.8 | \(-\) 0.5 | 0.0 | 1.1 | |
Radial 0.5 | \(-\) 2.5 | 0.0 | 8.1 | \(-\) 0.5 | 0.0 | 1.2 | \(-\) 4.4 | 0.0 | 3.6 | 0.1 | 0.0 | 1.6 | |
Radial 0.75 | \(-\) 4.0 | 0.0 | 8.7 | 0.6 | 0.0 | 2.3 | \(-\) 4.5 | 0.0 | 3.7 | \(-\) 0.2 | 0.0 | 0.3 |
6 Conclusion
-
A movable depot is always favorable compared to a stationary depot. However, for larger U-zones and longer picklists, a stationary depot in the middle of the U-zone is almost as beneficial as having a movable one. In our experiments, objective values were between \(0.78 \text {\%}\) (for large U-zones) and \(6.37 \text {\%}\) (for small U-zones) higher if the depot was fixed compared to the movable depot case.
-
Having a stationary depot directly at the entrance of the U-zone is the worst option by a large margin in all of our experiments. It is therefore not advisable.
-
In our experiments, the newly proposed radial assignment policy minimizes the effort for order picking, while the upper/lower assignment policy minimizes the combined effort for order picking and exchanging empty stillages. However, the latter is strongly dependent on the assumed stillage capacities. For high stillage capacities, radial assignment remains the best policy even if the effort for exchanging empty stillages is considered. Moreover, radial assignment appears superior for highly skewed item demand distributions, while upper/lower assignment is beneficial for lower demand skewness.
-
In our experiments, narrow U-zones are advantageous, which validates the results from the literature.
-
The relatively simple sweep algorithm, adapted to U-shaped picking zones with a movable depot, performs quite well. This may be good news for practitioners who do not wish to implement complicated optimization logic.