Order picking is a central and labor-intensive task in warehouses. The aim of single picker routing problems (SPRPs) is to determine a picker tour of minimum cost—starting from and ending at a depot—to collect all stock keeping units (SKUs) contained in a pick list from their storage locations in the warehouse. The cost of a tour is typically measured as distance or time. Single-block SPRPs are defined on a rectangular warehouse, in which the SKUs are stored in racks along both sides of multiple parallel picking aisles that are enclosed by a storage-free cross aisle at the top and at the bottom (see Figure 1). Each of the picking aisles contains a number of picking positions, and multiple different SKUs can be located at the same picking position. In single-block SPRPs, we do not distinguish between a picking request from the rack on the left side, on the right side, or from both sides of a picking position. All these cases are treated equally, and only the travel cost to reach the picking positions in the aisles is of relevance. Therefore, a pick list translates into a set of required picking positions that the picker needs to visit.
The single-block SPRP with dedicated storage, in which each SKU is only available from one picking position in the warehouse, is the most well-studied SPRP variant, and is denoted as standard SPRP in the following. In a seminal work, Ratliff:1983 introduce a dynamic programming (DP) algorithm to solve the standard SPRP to optimality with a runtime linear in the number of picking aisles. Roodbergen:2001 extend the DP to two-block warehouses, and Pansart:2018 present a DP that is applicable to warehouses with an arbitrary number of blocks, however, the runtime complexity is exponential in the number of cross aisles.
SPRPs can also be tackled using mathematical formulations that are solved with the help of optimization software. To address the standard SPRP, Scholz:2016 reduce the number of vertices that have to be considered in each picking aisle based on the fact that the largest gap in an aisle is never traversed if the aisle is entered from top and bottom, originally discussed in Ratliff:1983. On the resulting graph, they solve a single-commodity flow formulation of a traveling salesman problem (TSP) variant that contains optional vertices indicating the direction of travel at the entry and exit of each picking aisle. In this way, they obtain a formulation whose size is linear to the number of picking aisles. This formulation is compared to three TSP formulations defined on a complete graph spanning the SKUs to be picked and one Steiner TSP formulation that is adapted to single-block warehouses. The authors demonstrate on a large set of test instances that their formulation is superior with regard to the size of the instances that can be solved and the runtimes for solving the instances. Their formulation can also be extended to multi-block warehouses, but they only present results for the standard SPRP. Pansart:2018 present a model of the SPRP in multi-block warehouses that is based on a single-commodity flow formulation of the Steiner TSP. The authors use a procedure similar to the one described in Scholz:2016
to reduce the number of vertices, and the number of arcs is decreased by solving the minimum 1-spanner problem using a commercial solver. In addition, valid inequalities exploiting the special structure of the warehouse are added, and the solver is provided with upper bounds that are computed using a freely available version of the heuristic ofLin:1973. On single-block warehouse instances, their formulation is clearly superior to the formulation of Scholz:2016.
We propose a compact formulation of the standard SPRP that directly exploits two properties of an optimal tour used in the algorithm of Ratliff:1983: (i) two consecutive picking aisles can only be connected using four possible configurations, and (ii) to prevent the generation of isolated subtours, it is sufficient to ensure that the tour is always connected and the degree of the connections at the top and bottom of each picking aisle is of even degree. Thus, no classical subtour elimination constraints are needed. Although we do not rely on preprocessing or the addition of cuts to speed up the solution of our model, our formulation vastly outperforms the one of Scholz:2016 and is approximately six times faster than the one of Pansart:2018 on a set of benchmark instances with up to 30 picking aisles and 45 required picking positions using a comparable computer. Our approach shows a convincing scaling behavior and is able to solve instances with 1000 aisles, 1000 available picking positions per aisle, and 1000 required picking positions in approximately two minutes.
In addition, our model can be extended to cope with three important settings relevant to modern e-commerce warehouses:
Scattered storage: In warehouses with scattered storage, any SKU can be available from more than one picking position. This setting plays a major role in modern e-commerce warehouses of companies like Amazon or Zalando and is receiving growing attention from the scientific community (see, e.g., Boysen:2018; Weidinger:2018b). Daniels:1998 propose a TSP formulation for the SPRP with scattered storage for arbitrary warehouse layouts and compare several heuristics. Weidinger:2018a shows that the single-block SPRP with scattered storage is NP-hard. He proposes a heuristic based on the decomposition of the problem into a selection and a routing problem. As comparison method, the formulation of Daniels:1998 using Miller:1960 subtour elimination constraints is realized with Gurobi. Given a time limit of three hours, the formulation is able to solve most of the single-block warehouse instances generated by the authors with three picking aisles, 30 picking positions per aisle, and pick lists with up to seven requested SKUs. In contrast, the extension of our formulation to the single-block SPRP with scattered storage solves large instances with up to 100 picking aisles, 180 picking positions per aisle, and pick lists containing up to 30 SKUs within short runtimes of at most three minutes.
Decoupling of picker and cart: In manual order picking, items are typically retrieved from the warehouse by a picker pushing a cart, so that multiple items can be picked during one tour. To speed up the order picking, Zalando, a large fashion online retailer, allows pickers to park the cart during the tour, retrieve a few items traveling on their own, then return to the cart and continue their tour (comparable to the picking behavior of people in supermarkets). The company also incorporates this option when planning picker tours (Zalando:2014; Nvidia:2015); however, no mathematical model or algorithm has yet been published. We extend our formulation to the single-block SPRP with decoupling of picker and cart and investigate the potential time savings of this approach depending on the carrying capacity and the speed of the picker without cart.
Multiple end depots: To reduce unnecessary trips back to a central depot, warehouse managers can use multiple end depots at which collected items can be dropped off, e.g., at dedicated positions of a conveyor belt. DeKoster:1998 consider the single-block SPRP with decentralized depositing, in which they assume that it is possible to drop items anywhere along the upper or lower cross aisle. Scholz:2016 show how to extend their formulation to this problem variant, but they only present results for the single depot case. We extend our formulation to single-block SPRP with multiple end depots, and we investigate the potential cost savings depending on the number of available end depots.
Although using our formulation in a commercial solver still cannot match the performance of a dedicated implementation of the DP approach of Ratliff:1983 in a higher programming language, the former approach has the following advantages:
The formulation can be easily be implemented and used by anyone familiar with a mathematical programming solver. No knowledge of a higher programming language is required, and no experience in algorithmic programming to realize a DP is necessary. This point is certainly relevant in practice, where algorithmic programming skills are generally far rarer than at universities and other scientific organizations.
The formulation is extendable to handle three important settings in modern e-commerce warehouses—scattered storage, decoupling of picker and cart, and multiple end depots—and seems likely to be able to incorporate other real-world-inspired constraints.
The formulation can be used in approaches for integrated problems, in which the higher-level decision depends on the outcome of the SPRP, e.g., order batching (Gademann:2005; Valle:2017) or storage assignment (Petersen:1999). For example, the integrated order batching and picker routing problem could be solved by i) column generation, where our model can be modified to solve the pricing subproblem, i.e., the orders are associated with current prices, and the picker can only pick orders such that the number of collected items does not exceed the maximum batch size, or ii) by a compact formulation that extends our model by an index for each batch (up to the maximum number of batches), a limited capacity for each batch, and a set covering constraint. The integrated storage assignment and picker routing problem could be studied in a scattered-storage setting using our model.
This paper is organized as follows. We introduce our compact formulation for the standard SPRP in Section 2. The following sections present the extensions of the model to the setting with scattered storage (Section 3), decoupling of picker and cart (Section 4), and multiple end depots (Section 5). Section 6 presents the numerical studies to investigate the performance of our formulation and the benefits of the considered extensions. Section 7 concludes the paper.
2 Mathematical Formulation of the Standard SPRP
To solve an instance of the standard SPRP, the warehouse can be restricted to its relevant part, i.e., all aisles that lie to the left of both the depot and the leftmost aisle in which a SKU needs to be picked, and, analogously, all aisles that lie to the right of both the depot and the rightmost aisle in which a SKU needs to be picked, can be removed. The resulting part of the warehouse is represented as a set indexing aisles numbered from left to right. Each aisle has available picking positions, numbered from top to bottom, and is associated with a set of required picking positions that the picker needs to visit to complete the pick list. The depot can be located at the entries to the picking aisles in the top or bottom cross aisle. The picking aisle above / below which the depot is located is denoted as aisle . The parameter is set to 1 if the depot is located in the top cross aisle and to zero otherwise.
The example in Figure 1 illustrates the introduced concepts: There are eight picking aisles with available picking positions per aisle. SKUs need to be picked from nine required picking positions that are marked black. We only have to consider the aisles containing required picking positions, i.e., . The required picking positions in the aisles are given by , , , , , and . The depot is located at the bottom of aisle 3, i.e., and .
As described by Ratliff:1983, there exist four feasible configurations to connect aisle and aisle using the cross aisles located at the top and bottom of the warehouse. We represent these configurations by means of the following binary decision variables:
equals 1 if the top cross aisle is traversed twice (back and forth), 0 otherwise,
equals 1 if the bottom cross aisle is traversed twice (back and forth), 0 otherwise,
equals 1 if the bottom and the top cross aisle are both traversed once, 0 otherwise, and
equals 1 if both the top and bottom cross aisle are both traversed twice, 0 otherwise.
With regard to the traversal of picking aisles, the binary decision variables are used to indicate that aisle is completely traversed once (in arbitrary direction). If the costs for traversing the picking aisles are non-uniform, it may be beneficial to traverse an aisle twice: in this case, equals one. For uniform traversal costs, there always exists an optimal solution in which no aisle is traversed twice (see Ratliff:1983). Furthermore, the binary decision variables () define that picking position —and all picking positions that are located between the top (bottom) and picking position —are accessed via a vertical branch-and-pick tour from the top (bottom) of aisle , i.e., the picking aisle is entered and left from the same cross aisle. For each of the described decision variables, we precompute cost coefficients that correspond to the additional travel cost of the picker if the respective decision variable equals 1, e.g., has a coefficient that corresponds to four times the travel cost between aisle and . Figure 1 illustrates the meaning of the decision variables: here, are equal to .
According to Ratliff:1983, the generation of isolated subtours is prevented if the degree of the connections at the top and bottom of each picking aisle is of even, and the picking tour is connected. Using the observation that an even degree divided by two is an integer, we introduce for each picking aisle an integer variable (), whose value corresponds to the degree of the connections at the top (at the bottom) of aisle divided by two. For example, and in Figure 1
. To guarantee that the picking tour is connected, we introduce an additional binary variablefor each picking aisle , which is equal to 0 if the picking tour from the leftmost relevant aisle in the warehouse up to aisle is connected, and equal to 1 if this picking tour consists of two components. Note that two components emerge whenever (i) we have configuration for the leftmost aisle, or (ii) we switch from configuration or to configuration without connecting the top and bottom cross aisle.
Using the above definitions, we can formulate the standard SPRP. To present a concise and comprehensible model (by avoiding the repetition of basically identical constraints for different index sets), we take the following two liberties with regard to notation: (i) we sometimes use conditional statements for defining the relevant index set or to define the validity of a certain set of constraints, and (ii) we use the notation to define that a certain part of an expression is only relevant for a given range of the index (and otherwise disappears).
The objective (1) is to minimize the total costs of the picker tour. Constraints (2) guarantee that the relevant part of the warehouse is visited by the picker using one of the four cross aisle configurations. Constraints (3) ensure that the picker visits all required picking positions. Constraints (4) and (5) guarantee that a vertical branch-and-pick tour from the bottom (top) cross aisle into aisle can only take place if is connected to the previous or successive aisle with a configuration that uses the bottom (top) cross aisle. The squared brackets exclude the terms involving the preceding aisle when the constraints for the first picking aisle are determined. Constraints (6) and (7) guarantee that switches between top and bottom cross aisle are connected in a feasible manner. Constraints (8) and (9) ensure that the depot is included in the tour. For example, if the depot is located at the top and the aisle containing the depot is connected via and , the depot must be included in the tour by setting . Instead, if and , the depot must be included by setting , , or . Constraints (10) and (11) establish that the degrees of all connections at the top and also at the bottom of each picking aisle must be even, i.e, every position must be left as often as it is entered. Constraints (12) set the number of components to two (i.e., ) if there is a transition from configurations or to without directly connecting top and bottom by . Constraints (13) set the number of components to two, if top and bottom are not connected by a traversal of the picking aisle, and the part of the warehouse to the left is not visited. Constraints (14) propagate the number of components. Constraints (15) ensure that configuration is used as long as there are two components. Finally, constraints (16)–(20) define the decision variables.
Note that the model could be further improved by substituting for every aisle the variables with three new variables that represent the three vertical branch-and-pick tours that can alternatively be part of an optimal tour, i.e, from the bottom cross aisle to the topmost requested SKU, from the top cross aisle to the bottommost requested SKU, and from top cross aisle and bottom cross aisle to the two neighboring requested SKUs with the largest distance between them. We refrained from implementing this improvement to keep a more general formulation as a basis for the extensions presented in the following sections.
3 The Single-Block SPRP with Scattered Storage
We extend formulation (1)–(20) to the single-block SPRP with scattered storage, i.e., now, any SKU can be available from multiple picking positions. Figure 2 shows the optimal solution of an example instance of this problem variant. We assume that multiple items of each individual SKU may be contained in the pick list and that the supply of items of a SKU available at a given picking position is limited. Set contains all SKUs that need to be picked, and denotes the number of items of SKU that are requested. Set contains all picking positions from which SKU is available in aisle , and denotes the number of items of SKU that are available in aisle at position . Set is redefined to contain all picking positions in aisle from which SKUs present in the pick list are available: several positions storing the same SKU may be contained, and not all positions have to be visited. To indicate whether picking position in aisle is visited, we introduce additional binary variables . In the example in Figure 2, we assume , , and . The picking tour is given by equal to , and, e.g., indicates that the requested item of SKU ’a’ is picked in aisle 3 at position 8.
Constraints (21) ensure that the requested number of items of each SKU is picked from the picking positions at which the SKU is available. Constraints (22) guarantee that the selected positions are visited by the picking tour.
Because not all picking positions storing requested SKUs have to be visited in the case of scattered storage, it is not possible to define the relevant part of the warehouse by means of these picking positions and the location of the depot like in the standard SPRP. Instead, we require additional binary variables that indicate whether aisle is reached by the picker or not, i.e., in Figure 2, are equal to . We replace constraints (2) by the following constraints:
Constraints (24) and (25) guarantee that all aisles containing the selected picking positions of the requested SKUs and the aisle containing the depot are reached. Constraints (26) define the configurations to connect aisles that allow reaching a certain aisle located to the right of the depot, and (27) does the same for the aisles to the left of the depot. Constraints (28) and (29) describe how to propagate the variables.
4 The Single-Block SPRP with Decoupling
In this section, we extend our model to cover the possibility of the picker to park the cart and continue the tour for a certain period without the cart, then returning to the cart. Figure 3 depicts an example of an optimal solution for the resulting single-block SPRP with decoupling. We make the following modeling assumptions:
The speed of the picker without cart differs from the speed when pushing the cart. The cost coefficients now represent the travel times of the picker when pushing the cart, the coefficients the times of the picker when traveling alone.
Like in the previous models, we assume that the pick list is generated such that the capacity of the picking cart is sufficient to carry all items. However, the carrying capacity of the picker alone is limited to items. We return to a warehouse with dedicated storage, i.e., each SKU is only stored at one picking position, and denotes the number of requested items of SKU that have to be picked from aisle at position .
If a picking aisle is completely traversed, the picker pushes the cart, and no decoupling takes place.
In horizontal branch-and-pick tours, the picker alone travels along a cross aisle and may visit one or more picking aisles to retrieve SKUs. In Figure 3, one horizontal branch-and-pick tour starts at the top of aisle 3, another one at the bottom. We assume that after parking the cart, at most one vertical branch-and-pick tour (see Figure 3, aisles 0 and 2 for examples of vertical branch-and-pick tours) and at most two horizontal branch-and-pick tours—one to the left and one to the right—are possible. Note that this assumption is not restrictive if the picker without cart is not more than twice as fast as the picker pushing the cart. Lifting the assumption is not possible with the presented modeling approach because it would entail that a section of an aisle is traversed more than twice. For the same reason, we assume that branch-and-pick tours (vertical as well as horizontal) starting from different parking positions cannot overlap.
Parking the cart directly at the entry or within a picking aisle and doing a vertical branch-and-pick tour in that aisle does not explicitly have to be modeled: Under our assumption that only one vertical branch-and-pick tour for each parking position is allowed, it is beneficial to only push the cart as far into the picking aisle as is needed so that the capacity of the picker is sufficient to visit the remaining required picking positions in the aisle (see Figure 3, aisle 0). Because the decision () implicates that all positions located above (below) position in aisle are picked in the branch-and-pick tour, the parking position of the cart and consequently the respective cost coefficients and can be precomputed. However, decoupling and the parking position of the cart must explicitly be modeled for horizontal branch-and-pick tours. In this case, possible parking positions are located in the cross aisles at the entries to the picking aisles.
To model the path of the picker when traveling without cart, we introduce additional binary variables: Variables indicate that the picker traverses the top cross aisle from the entry of picking aisle to the entry of , and the cart is parked somewhere to his left, i.e., the picker is traveling to the right. Variables are defined analogously for the bottom cross aisle. Variables and indicate that the picker is traveling from the entry of aisle to the entry of , and the cart is parked to his right. Variables () indicate that picking aisle is entered from the top (bottom) without cart, and all required picking positions down (up) to position are visited. The variables are only defined for those picking positions for which the picker capacity is sufficient to carry the requested number of items of all SKUs that are stored in the picking positions passed by the picker. In the example in Figure 3, variables are equal to and define the picking tour with cart, and variables equal and describe the two horizontal branch-and-pick tours starting from aisle 3.