Formulating and solving integrated order batching and routing in multi-depot AGV-assisted mixed-shelves warehouses
FFormulating and solving integrated order batching androuting in multi-depot AGV-assisted mixed-shelveswarehouses
Lin Xie a, ∗ , Hanyi Li b , Laurin Luttmann a a Leuphana University of L¨uneburg, Universit¨atallee 1, 21335 L¨uneburg b Beijing Hanning Tech Co., Ltd
Abstract
Different retail and e-commerce companies are facing the challenge of assem-bling large numbers of time-critical picking orders that include both single-lineand multi-line orders. To reduce unproductive picker working time as in tradi-tional picker-to-parts warehousing systems, different solutions are proposed inthe literature and in practice. For example, in a mixed-shelves storage policy,items of the same stock keeping unit are spread over several shelves in a ware-house; or automated guided vehicles (AGVs) are used to transport the pickeditems from the storage area to packing stations instead of human pickers. Thisis the first paper to combine both solutions, creating what we call
AGV-assistedmixed-shelves picking systems . We model the new integrated order batchingand routing problem in such systems as an extended multi-depot vehicle routingproblem with both three-index and two-commodity network flow formulations.Due to the complexity of the integrated problem, we develop a novel variableneighborhood search algorithm to solve the integrated problem more efficiently.We test our methods with different sizes of instances, and conclude that themixed-shelves storage policy is more suitable than the usual storage policy inAGV-assisted mixed-shelves systems for both single-line and multi-line orders(saving up to 67% on driving distances for AGVs). Our variable neighborhoodsearch algorithm provides close-to-optimal solutions within an acceptable com-putational time.
Keywords:
Logistics, Order batching, Routing, Mixed-shelves storage,AGV-assisted picking ∗ Lin Xie
Email address: [email protected] (Lin Xie)
URL: (Lin Xie)
Preprint submitted to Elsevier January 28, 2021 a r X i v : . [ m a t h . O C ] J a n . Introduction The most important and time-consuming task in a warehouse is the collec-tion of items from their storage locations to fufill customer orders. This pro-cess is called order picking , which may constitute about 50–65% of operatingcosts. Therefore order picking is considered the highest-priority area for pro-ductivity improvements (see De Koster et al. (2007)). In a traditional manualorder picking system (also called a picker-to-parts system ), the pickers spend50% of their working time on the task of walking (see Tompkins (2010); for anoverview of manual order picking systems see De Koster et al. (2007)). Theunproductive working times require the picker-to-parts system to have a largeworkforce, especially for companies which have millions of small-sized items inlarge warehouses, such as the retailers Amazon, Alibaba, Zara, Zalando andWalmart. Many of them provide both brick-and-mortar stores and online shopsto create a seamless shopping experience for customers (omnichannel flexibil-ity). Due to the diversity of online shops, we concentrate on both single-lineand multi-line small-sized orders. Especially during the COVID-19 pandemic,online grocery sales are growing threefold faster (see Fabric (2020)). Thereare increasing demands for alternative warehousing systems to increase the effi-ciency of order picking, for example, robot-based compact storage and retrievalsystems and robotic mobile fulfillment systems (see more details in Azadeh et al.(2019)). Here we consider a relatively new warehousing concept that does notuse expensive fixed hardware and can be easily and quickly implemented, called
AGV-assisted picking (see Boysen et al. (2019), Azadeh et al. (2019)).
As described in Azadeh et al. (2019), there are different variants of this typeof system. In this paper, we concentrate on the one that has been marketed tothe warehousing industry, such as Locus Robotics, 6 River Systems and FetchRobotics (see Figure 1).
Figure 1: Companies who own an AGV-assisted picking system (from left to right: LocusRobotics, 6 River Systems, Fetch Robotics).
In such systems, each human picker works at his/her working area in the storage area (containing shelves with items). For example, in Figure 2, picker2 acking station a s torage area p acking station b binpicker 1 packer 2 picker 2 cobot 1 cobot 2 packer 1 cobot 3 pick location 1 pick location 2 Figure 2: An example of a AGV-assisted picking system (with two packing stations). cobot ) leaves from its packing station (alsocalled a depot ) and goes automatically to a pick location in the storage areaand waits for a human picker to arrive. The picker identifies and picks up theordered items from shelves and puts them into bins carried by the cobot (one bin is used to temporarily store an order); after that, the cobot goes to its nextpicking location. The load of each cobot is limited. After collecting, each cobotgoes back to its packing station to drop off the loaded bins, and the human packer at that station packs the collected items. Each cobot has a dedicatedpacking station and it is charged there. In the example in Figure 2, cobot 1leaves packing station a and goes firstly to pick location 1 to wait for picker 1 toload items; after that, it goes to pick locatin 2 to wait for picker 2 to load itemsand returns to packing station a . If there is another cobot in front of station a , then it should wait in a queue in front of the station. The explanation of allcomponents in such a picking system can be found in Table A.8. In differentreal-world warehouses, these depots might vary slightly as shown in Figure 2.For example, the depots might be drop-off locations, where the bins are putonto a conveyor system to transport them to packing stations. But each cobotstill has a dedicated depot, which is its charging location. In the rest of thepaper, the terms depot and packing station are synonyms. This system is calleda follow-pick system in Lee & Murray (2019), and Boysen et al. (2019) callthis model of operation the free-floating policy. Although AGV-based pickingsystems are often applied for heavy and bulky items, there are also applicationsfor small-sized items (see Boysen et al. (2019)). The latter applications are alsoa focus of this paper.In practice, AGV-assisted pick systems are becoming increasingly popular,since adding AGVs to an existing picker-to-parts system barely alters the basicfulfillment processes (easy and quick implementation). More than 80% of allwarehouses in Western Europe still follow the traditional picker-to-parts setup(see De Koster et al. (2012)). The other automated systems require, for example,expensive fixed hardware, such as automated storage systems in robot-basedcompact storage and retrieval systems. An AGV-assisted system is also easilyscalable by adding or reducing pickers and AGVs to adapt to varying workloads,3or example due to seasonal changes in customers’ orders, such as end-of-seasonsales.As described in Azadeh et al. (2019) and Boysen et al. (2019), AGV-assistedpicking is a relatively new concept. The only publication about the free-floatingsystem is in Lee & Murray (2019). They modeled the routing problem to supportthe cooperation of picker robots with transport robots and compared this withthe cooperation of human pickers with transport robots (follow-pick). Theyconcluded that human pickers are more suitable for identifying and pickingup items. They also analyzed the relationship between layout configurationand robot system parameters. In contrast to that paper, we concentrate onintegrated batching and routing in a mixed-shelves follow-pick system. As described in Boysen et al. (2019) and Weidinger et al. (2019), mixed-shelves storage has been applied by many large-sized facilities in e-commercecompanies, for example in the distribution centers of Amazon Europe and fash-ion retailer Zalando. In such storage, items of the same stock keeping unit(SKU) are spread over the shelves, so there are always some items of that SKUclose by for picking. The main advantage of such storage is that it reducesunproductive working time. That is supported by Weidinger et al. (2019) fortraditional manual systems and Boysen et al. (2017) for robotic mobile fulfill-ment systems. However, the literature shows that this storage is more suitablefor online companies, which usually have many single-line orders (or small order-line demands). For cases with a large demand per SKU or multiple order linesper order, several storage locations might need to be visited by pickers to finishone order.We apply mixed-shelves storage in an AGV-assisted pick system (called a multi-depot AGV-assisted mixed-shelves system ) for picking both single-line andmulti-line small-sized orders and compare this with the reference storage policy,called dedicated storage . In the dedicated storage policy, items of the same SKUare stored in only one shelf.
The problems that occur in a multi-depot AGV-assisted mixed-shelves sys-tem are mostly similar to the problems in traditional manual order pickingsystems, including strategic (such as layout planning), tactical (such as zoningand storage assignment) and operational problems (batching, routing and jobassignment) (see overview in Van Gils et al. (2018) for the traditional manualorder picking systems). In addition, we have several depots in our system, andeach cobot has its dedicated depot, i.e. it leaves from its depot and goes backto that depot. Therefore, we also need to decide in which depot an order willbe handled to minimize driving distances while ensuring balanced workloadsamong all depots (this will be discussed further in Section 2).We consider in this paper two integrated operational problems in a multi-depot AGV-assisted mixed-shelves system: customer orders are combined in4everal pick rounds (batches) in order batching by deciding from which depot abatch is leaving, while the sequence of storage locations that cobots should visitto load all retrieved items from human pickers in each batch is determined in routing .In the following, the literature of picker routing in manual mixed-shelveswarehouse and integrated order batching and routing will be described.
Picker routing in mixed-shelves picking
As shown in Weidinger et al. (2019), picker routing in a mixed-shelves ware-house is much more complex than in traditional environments: Multiple ordersare concurrently picked by each picker (in our case: cobot), many alternativedepots (in our case: packing stations) are available, and items of the sameSKU are available in multiple shelves. Daniels et al. (1998) was the first pub-lication to integrate the selection of alternative storage positions into pickerrouting. The same problem was also addressed in Weidinger (2018) for rectan-gular warehouses, and integrating alternative pick locations was proven to makethis problem strongly NP-hard.The mixed-shelves storage in Weidinger et al. (2019) is similar to the envi-ronment we consider, including: • Items of the same SKU are available in multiple shelves. • The cobot / picking cart is able to carry multiple bins for different ordersconcurrently.However, we do not have the same meaning of depots as in Weidinger et al.(2019). They define depots as access points to the conveyor system, not theleaving and return locations of cobots. So in our case we have dedicated assign-ment of cobots to depots. Each cobot begins from its depot and ends at thesame depot. This property makes our formulation similar to the vehicle routingproblem with multiple depots. An overview of multi-depot vehicle routing prob-lems can be found in Montoya-Torres et al. (2015). It is known that multi-depotvehicle routing problems are proven to be NP-hard (Garey & Johnson (1979)).Furthermore, we should ensure the fair distribution of workload for the packersin different depots.And we consider multiple pickers (in our case: cobots), rather than onepicker as in Weidinger et al. (2019). The following problems are mentioned inWeidinger et al. (2019) for considering multiple pickers. • They block each other in front of shelves (in this paper we assume thatthe aisles are wide enough for at least two (even three) cobots operatingside by side (see Lee & Murray (2019) for the same assumption)) • They block each other in front of depots (there is a queue in front of eachdepot; furthermore, due to the short drop-off time by removing bins fromcobots, we assume that the blocking is minimal). • They influence each other’s inventory levels (this will be formulated in ourmodel, and that might increase the complexity of the model).5 ntegrated batching and routing
Due to the similar time horizon of the batching and routing decisions and thestrong relationship between them, the integration of them is extensively studiedin the literature; see an overview in Van Gils et al. (2019). The efficiency of theintegration compared with the sequential approach to both of these problems isalready shown in previous papers, such as in Van Gils et al. (2019). Therefore,we do not focus on such comparison in this paper.The differences in our problem from the existing integrated batching androuting problems for the traditional manual picking systems are summarized asfollows. • Not all locations (shelves) should be visited by each picker (cobot). It issimilar to the Steiner TSP (see Letchford et al. (2013)), but the visitedlocations for each picker are not determined. They are decided by therouting itself. The items of an SKU are available in several locations(shelves) (mixed storage, see third column of Table 1). • Multiple depots (packing stations) (see fourth column of Table 1). • Multiple pickers (cobots) (see fifth column of Table 1).In the first integrated model from Won & Olafsson (2005), they formulateit as the integrated bin packing and traveling salesman problem. The three-index formulations with sub-tour elimination constraints are widely used in theliterature (see Table 1). It is worth mentioning that Chen et al. (2015), Scholzet al. (2017) and Van Gils et al. (2019) also use three-index formulation tointegrate batching and routing with another operational problem.
Formu- Mixed Multiple Multiple Min. Heuristiclation storage depots pickers dist.Won & Olafsson (2005) 1 FCFS+2-OptTsai et al. (2008) 1 X GAEne & ¨Ozt¨urk (2012) 1 GAKulak et al. (2012) 1 X Cluster-based TSMatusiak et al. (2014) 1 X SA+A*Cheng et al. (2015) 1 X PSO+ACOLin et al. (2016) 1 X PSOLi et al. (2017) 1 X Similarity+ACOValle et al. (2017) 1 X -Briant et al. (2020) CG this paper
1, 2 X X X X VNS
Table 1: The literature about integrated batching and routing. 1: three-index formulation; 2:two-commodity network flow formulation; FCFS: first come, first serve; GA: genetic algorithm;TS: tabu search; SA: simulated annealing; PSO: particle swarm optimization; ACO: ant colonyoptimization; CG: column generation; VNS: nariable neighborhood search.
The two-commodity network flow formulation for solving the traveling sales-man problem was first introduced by Finke (1984). This formulation was pro-posed by Baldacci et al. (2004) to solve the capacitated vehicle routing prob-lem and was extended by Ramos et al. (2020) to solve the multi-depot vehicle6outing problem, and it was shown that the flow formulation provides betterperformance to achieve lower gaps within a smaller computational time. In ourwork, we extend the formulation in Ramos et al. (2020) for integrating vehiclerouting with order batching in a mixed-shelves warehouse. In other words, weallow each location to be visited more than once and the demand in each lo-cation is unknown (but the maximum is given) and enable batching of orders.More about this formulation can be found in Subsection 3.2.Due to the complexity of the integration, the problem is solved in the lit-erature mostly using metaheuristics (see seventh column of Table 1). Li et al.(2017) mentioned several problems of existing applied metaheuristics for theintegrated batching and routing problem, such as the bad performance causedby not using the full capacity of the vehicle in the batching process, or the longcomputational time. Instead, we propose in this work a new variable neigh-borhood search algorithm to solve our integrated problem. The main reasonfor that is that variable neighborhood search has been successfully applied tosolve vehicle routing problems, such as large scale capacitated vehicle routingin Kyt¨ojoki et al. (2007).
Based on the literature review in the previous subsection, we summarize themain contributions of this paper as follows: • We formulate the first integrated batching and routing problem in a multi-depot AGV-assisted mixed-shelves warehouse with a new two-commoditynetwork flow model and compare it with the classical three-index model. • Due to the high complexity of the integration, a novel variable neighbor-hood search is developed to provide good solutions within shorter compu-tational times.The remainder of this paper is organized as follows. Section 2 describes theassumptions we used, while Sections 3 and 4 describe the different mathematicalformulations and implemented metaheuristic for our integrated order batchingand robot routing respectively. Computational results are described in Section 5.Finally, Section 6 presents conclusions and opportunities for future research.
2. Assumption for the mathematical models
The following assumptions are made for the formulation of the integratedproblem in Section 3.
Objective.
The objective of minimizing distances is widely used in the literaturefor the integrated batching and routing in the traditional manual systems (seesixth column of Table 1), and it assumes that minimizing distances has the samemeaning as minimizing total picking time (Li et al. (2017), Tsai et al. (2008)and Won & Olafsson (2005)). This is supported by the assertion in De Kosteret al. (2007) that the travel time is an increasing function of the travel distance,7o that minimizing the latter is considered a primary objective in warehousedesign and optimization. So we also use minimizing distances as our objective.
A given set of orders.
The single-line and multi-line orders of customers aregiven as input for the models. No new incoming orders are considered.
Demand nodes.
In order to formulate the problem as a vehicle routing problem,we need to define a set of demand nodes. So it is possible to define each itemas a node. But there are a large number of nodes, and all items on one shelfshare the same distances to items on another shelf. Therefore we use a shelf asan aggregated node for all items on it.
Picking list of an order.
Each customer’s order includes several SKUs with theirgiven ordered quantities. Based on the property of mixed-shelves storage, itemsof the same SKU might be picked by different shelves. To simplify the modeling,we divide customer orders into a picking list. For example, we have order 1,including two units of SKU a , one unit of SKU b and three units of SKU c : o = ( a, , ( b, , ( c,
3) (SKU, ordered quantity); then we have a picking list for o : a , a , b , c , c , c in our models. In this way, two items of SKU a can bepicked at different shelves. No charging.
We assume that all cobots we send out have enough remainingpercentage of battery life for one tour. When a cobot visits its depot, it will bere-charged at a rate per unit of time.
Aisle congestion.
We assume that the aisles are large enough for two or eventhree cobots moving side by side (the same assumption is common in the litera-ture, such as in Lee & Murray (2019)), so the aisle congestion is minimal, sinceone cobot can go around the boundaries (such as: picker, another cobot).
Load capacity of batches.
In integrated batching and routing, we can determinea tour for a cobot for each batch. So the load capacity of each batch is equal tothe load capacity of a cobot. We assume that the payloads of all cobots are thesame.
Same number of cobots in each depot.
We assume that the same number ofcobots are available in each depot.
A bin for each order.
Each cobot can carry several bins, and each bin is forone order. This reduces the sorting work at the depots. Furthermore, a bin canbe separated into several small sub-bins for small-sized items (see for exampleLocus Robotics in Figure 1). Therefore, we assume that the batching is limitedby the load capacity of a cobot, not the number of orders/bins such as in Valleet al. (2017).
Pickers in the storage area.
We don’t analyze the number of pickers and size oftheir corresponding working areas (zones). To simplify the model, we assumethat there is at least one picker near each picking location.8 orkloads of different depots.
In order to make the workload even for packersin different depots, we need to balance the number of batches in different depots.Assuming the processing time for an order in each depot is the same, minimizedtraveled distances and the balanced workload of each depot can lead to a goodmakespan for a given set of orders.
No refill in parallel to picking.
We assume that our optimization begins afterrefill operations and the inventory has enough items for picking.
3. Mathematical model for integrated order batching and cobot rout-ing
Our integrated order batching and cobot routing can be reduced to thecapacitated vehicle routing problem if there is only one depot, with each shelfincluding only items of one SKU, single-line orders (each with a distinct SKU)and given number of batches. We assume each shelf corresponds to a customerand each batch corresponds to a vehicle, so each customer is assigned to exactlyone vehicle. As the capacitated vehicle routing problem is known to be NP-hard(see, for example, Baldacci et al. (2007)), so is our problem.In this section, we firstly model the integrated order batching and routingproblem as a three-index formulation in Subsection 3.1, and then as a two-commodity network flow formulation in Subsection 3.2.
The following model is based on the integrated batching and routing inCheng et al. (2015). In contrast to that, we consider mixed-shelves storage andmultiple depots. Furthermore, we use one more index for cobots for the followingreasons. First, we have multiple depots, so we need to know at which depot anorder is packed. Therefore we assume that we have exactly one artificial cobotleaving from each depot and run all batches for that cobot beginning at thatdepot. Second, this model can be easily extended to support further integrationwith job assignment to determine the sequence of batches (see Van Gils et al.(2019)).The sets, parameters and variables are as follows:
Sets : V Set of nodes, including shelves V S (including at least oneordered item) and depots V D ( V = V S ∪ V D ) E Set of edges ( i, j ) ∈ E ∀ i, j ∈ VP C Set of physical items for picking V SC p Set of shelves including item p ∈ P C O Set of orders P C o Set of physical items in the picking list for order o R C Set of cobots for collecting items and transporting to de-pots B r Set of batches for cobot r ∈ R C R C i ⊂ R C Set of cobots leaving depot i ∈ V D arameters : d ij Distance between two nodes i, j ∈ V c Maximum payload of a cobot w p Weight of item p ∈ P C n ps Number of items sharing the same SKU as the physicalitem p at shelf node s ∈ V S Decision variables : x ijrb (cid:26) , Cobot r ∈ R C has visited node j ∈ V after node i ∈ V in batch b ∈ B r , else z psrb (cid:26) , Cobot r ∈ R C has collected item p at node s ∈ V SC p in batch b ∈ B r , else y rb (cid:26) , Cobot r ∈ R C is used in batch b ∈ B r , else y r (cid:26) , Cobot r ∈ R C is used0 , else ω orb (cid:26) , Order o ∈ O is picked by cobot r ∈ R C in batch b ∈ B r , else Goal: Minimizing traveled distances of all batches F (3 . z ( F (3 . (cid:88) r ∈R C (cid:88) b ∈B (cid:88) ( i,j ) ∈E d ij ∗ x ijrb (1)s.t. (cid:88) j ∈V x ijrb = (cid:88) j ∈V x jirb ≤ y rb , ∀ r ∈ R C , i ∈ V , b ∈ B r (2) (cid:88) j ∈V x ijrb = (cid:88) j ∈V x jirb = y rb , ∀ r ∈ R C i , i ∈ V D , b ∈ B r (3) (cid:88) p ∈P C (cid:88) s ∈V SC p z psrb ∗ w p ≤ c, ∀ r ∈ R C , b ∈ B r (4) (cid:88) i ∈ S (cid:88) j ∈ S x ijrb ≤ | S | − , ∀ S ⊂ V S , | S | ≥ , r ∈ R C , b ∈ B r (5) (cid:88) s ∈V SC p (cid:88) r ∈R C (cid:88) b ∈B r z psrb = 1 , ∀ p ∈ P C (6) (cid:88) p ∈P C (cid:88) s ∈V SC p z psrb = ω orb ∗ |P C o | , ∀ o ∈ O , r ∈ R C , b ∈ B r (7) z psrb ≤ (cid:88) j ∈V x sjrb , p ∈ P C , s ∈ V SC p , ∀ r ∈ R C , b ∈ B r (8) (cid:88) r ∈R C ,b ∈B r z psrb ≤ n ps , ∀ p ∈ P C , s ∈ V SC p (9) (cid:88) p ∈P C (cid:88) s ∈V SC p z psrb ≤ M ∗ y rb , ∀ r ∈ R C , b ∈ B r (10) y rb +1 ≤ y rb , ∀ b ∈ { , , ..., |B r | − } , r ∈ R C (11)10 b ∈B r y rb ≤ |B r | ∗ y r , ∀ r ∈ R C (12) y rb ∈ { , } , ∀ r ∈ R C , b ∈ B r (13) y r ∈ { , } , ∀ r ∈ R C (14) x ijrb ∈ { , } , ∀ ( i, j ) ∈ E , r ∈ R C , b ∈ B r (15) z psrb ∈ { , } , ∀ p ∈ P , r ∈ R C , s ∈ V SC p , b ∈ B r (16) ω orb ∈ { , } , ∀ r ∈ R C , b ∈ B r (17) A. Same constraints as in classical multi-depot vehicle routing prob-lems
Constraint set (2) indicates the flow conservation, while constraint set (3) en-sures that each batch leaves its depot once at the most, and if it leaves its depot,it should come back to that depot at the end of the tour. Furthermore, the ca-pacity of batches is limited in constraint set (4). Constraint set (5) eliminatessubtours. Similar constraints can be found in, for example, Ramos et al. (2020)for multi-depot vehicle routing problems.
B. Constraints about order batching
Each item must be assigned to a batch.
Each item in the picking list should becollected exactly once in one batch in constraint set (6).
No splitting.
Constraint set (7) ensures that all items for an order are collectedin precisely one batch assigned to a cobot.
Set of constraints due to mixed-shelves storage.
Constraint set (8) ensures thatif one item p in shelf s is collected in batch b , shelf s should be visited in thatbatch. Constraints (9) ensure that the available stock of items in a shelf is notexceeded in all batches. C. Constraints related to determine minimum number of batches foreach cobot
Alternative I.
A batch assigned to a cobot is only used if it has collected itemsin constraint set (10). Constraints (11) ensure that if a batch b + 1 assignedto cobot r is used, batch b should be used as well. So the selection of batch isfrom 1 to |B r | . In this case, |B r | is set to a constant, which is large enough. Acobot is only used if at least one of its batches is used (constraint set (12)). Inthis model, we set y r to be 1, since we have one artificial cobot at each depotto ensure that there is at least one batch leaving that depot. The definitionsof variables y rb and y r are given in (13) and (14). Using this alternative, weneed to first run the model using objective (18). After that the optimal valuesof y rb and y r are determined and we run the model using objective (1) to findthe optimal traveled distances.Min (cid:88) r ∈R C (cid:88) b ∈B r y rb + y r (18)11 lternative II. As an alternative to using this set of constraints in AlternativeI (constraint sets from (10) to (14)), we can calculate |B ∗ r | optimally (accordingto the balanced workload for each depot) as follows: |B ∗ r | = (cid:24) (cid:80) p ∈P C w p |R C | ∗ c (cid:25) (19) D. Definition of variables
The binary definitions of variables are given in constraint sets (15)–(17).
The model about the two-commodity network flow formulation is based onthe formulation presented by Ramos et al. (2020) for solving the multi-depotvehicle routing problem. Constraint sets (2)–(3) and the constraint sets aboutorder batching ((6)–(17)) are extended with a set of copy depots and new flowvariables. We will show you an example to illustrate the idea of the flow formu-lation. First we need some addition definitions of sets and variables.
Additional set : V D’ Set of copy of depots ( V = V S ∪ V D ∪ V D’ ) P s Set of all items in shelf s ∈ V S Additional decision variables : y ijrb A flow variable representing the cobot load when cobot r ∈ R C travels from i to j in the b -th batch. The flow y jirb represents thecurrent empty space of cobot r ∈ R C in the b -th batch. Example.
Figure 3 shows an example of batch I limited by the batch capacity c I = 1 (in other words: cobot 1 in depot a has the capacity of 1). Three ordersare assigned to depot a . They include different items, whose sizes are equal (0.3).The items sharing the same SKU are illustrated with the same color and shape.For example, the items indicated by a green rectangle are included in orders 2and 5, and they are stored in shelves 1 and 3. In the flow formulation, the routefor batch I is defined by two paths: one from the real depot a to the copy depot a (cid:48) ( a → → → a (cid:48) ), defined by y ijrb (representing the vehicle load); while thereserve path from the copy depot to the real depot ( a (cid:48) → → → a ) is definedby y jirb (representing the empty space in the vehicle). For example, the flow y a I indicates that cobot 1 leaves the depot in batch I with a load equal to thetotal weights of the three picking items, 0.9; while the flow y a (cid:48) I = 1 meansthat the batch arrives empty at the depot after dropping off items. For eachedge ( i, j ) of the route within a batch b of a cobot r , we have y ijrb + y jirb = c ,for example, y a I + y a I = 0 . . Goal: Minimizing traveled distances for all batches depotcopy depot cobot 1 shelf 1shelf 3 I packing station a Figure 3: Flow paths for batch I for picking three items. ( F (3 . z ( F (3 . (cid:88) r ∈R C (cid:88) b ∈B (cid:88) ( i,j ) ∈E d ij ∗ x ijrb (1)s.t. (2) − (3) , (6) − (17) (cid:88) j ∈V ( y jsrb − y sjrb ) = 2 ∗ (cid:88) p ∈P C s ( w p ∗ z psrb ) , ∀ s ∈ V S , r ∈ R C , b ∈ B r (20) (cid:88) i ∈V D (cid:88) j ∈V S (cid:88) r ∈R C (cid:88) b ∈B r y ijrb = (cid:88) p ∈P C w p (21) (cid:88) i ∈V D (cid:88) j ∈V S (cid:88) r ∈R C (cid:88) b ∈B r y jirb ≤ (cid:88) r ∈R C (cid:88) b ∈B r c ∗ y rb − (cid:88) p ∈P C w p (22) (cid:88) j ∈V S y ijrb ≤ c, ∀ i ∈ V D’ , r ∈ R C i , b ∈ B r (23) y ijrb + y jirb = c ∗ ( x ijrb + x jirb ) , ∀ i, j ∈ V , r ∈ R C , b ∈ B r (24) y sjrb ≤ M ∗ (cid:88) p ∈P s z psrb , ∀ s ∈ V S , j ∈ V , r ∈ R C , b ∈ B r (25) (cid:88) j ∈V S x ijrb = 0 , ∀ i ∈ V D’ , r / ∈ R C i , b ∈ B r (26) (cid:88) j ∈V S x jirb = 0 , ∀ i ∈ V D , r / ∈ R C i , b ∈ B r (27)13 isrb ≥ (cid:88) p ∈P s w p ∗ z psrb − c ∗ (1 − x isrb ) , ∀ s ∈ V S , i ∈ V , r ∈ R C , b ∈ B r (28) y ijrb ≥ , ∀ i, j ∈ V , r ∈ R C , b ∈ B r (29)The objective function (1) is the same as in F(3.1), while some constraintsets are retained as in F(3.1), including (2)–(3) and (6)–(17). For each batchassigned to a cobot, the inflow minus outflow at each shelf node is equal to twicethe weights of picked items on that shelf (see constraint set (20)). The totaloutflow from the real depots for all batches assigned to cobots indicates the totalload, which should be equal to the weight of all items (see constraint set (21)),while the total inflow to the real depots should be smaller than or equal to theresidual capacity of the used batches (see constraint set (22)). It is smaller inthe case of unused batches. Constraint set (23) ensures that the outflow of eachbatch of a cobot leaving a copy depot i is less than or equal to that batch’scapacity. Constraint set (24) ensures that the inflow plus outflow of each nodeequals the capacity of the batch of the cobot that visits that node. Constraintset (25) guarantees that the flow variable is set to zero; if not, a single item i is picked in batch b , so b does not need to visit shelf s . Finally, constraintsets (26) and (27) jointly ensure that a batch assigned to a cobot cannot leaveand return to a copy/real depot other than its home depot. Constraint set(28) defines valid inequalities to tighten the formulation by reducing the searchspace. These constraints ensure that the remaining cobot load before reachingshelf s should be larger than or equal to the weights of all picked items at shelf s . Constraint set (29) defines new linear flow variables.
4. Variable neighborhood search algorithm for integrated order batch-ing and cobot routing
As described before, integrated batching and routing is very complex, so itis solved in the literature mostly using metaheuristics to get a good solutionwithin a reasonable computational time (see Table 1, the last column). In thiswork, we use variable neighborhood search (VNS) to solve this integrated prob-lem. Variable neighborhood search is a relatively new metaheuristic (proposedby Mladenovi´c & Hansen (1997)), and its basic idea is a systematic change ofneighborhood both within a descent phase to find a local optimum and in a per-turbation phase to get out of the corresponding valley (according to Gendreau& Potvin (2010)).The steps of the basic VNS are shown in Algorithm 1. Here, N κ ( κ =1 , ..., κ max ) is a set of neighborhood structures, which we will explain togetherwith shaking in Subsection 4.2. The stopping condition may be, for example, thenumber of iterations ( γ ) without improvement of x (cid:48) or the maximum computa-tional time t max . It is worth mentioning that the algorithms we implemented inthis section work for both mixed-shelves and dedicated storages. Therefore, ouralgorithms can also be applied to the integrated batching and routing problemfor the traditional manual picking systems.14 lgorithm 1: Steps of the basic VNS (based on Mladenovi´c & Hansen(1997)) Initialization . Select the set of neighborhood structures N κ ( κ = 1 , ..., κ max ) that will used in the search; find an initial solution x ; choose a stopping condition Repeat the following until the stopping condition is met:1. Set κ ← κ = κ max :(a) Shaking . Generate a point x (cid:48) at random from κ th neighborhood of x ( x (cid:48) ∈ N κ ( x ));(b) Local search . Apply some local search method with x (cid:48) as initialsolution; denote with x (cid:48)(cid:48) the so obtained local optimum;(c) Move or not . If the local optimum x (cid:48)(cid:48) is better than the incumbent,move there x ← x (cid:48)(cid:48) , and continue the search with N ( κ ← κ ← κ + 1In the following subsections, the implementation of each part of VNS forsolving our integrated problem is described, including the building of an initialsolution (Subsection 4.1), the shaking phase with the definition of the neighbor-hood structure (Subsection 4.2) and the local search methods (Subsection 4.3). Algorithm 2:
Greedy algorithm to generate an initial solution
Result:
Initial solution x Function
Initial (orders : O , depot : V D ) ω = AssignOrdersToDepots (orders : O , depot : V D ) for i ∈ V D do O i = O i ∪ { o } ∀ ω oi = 1 , o ∈ O B i = AssignOrdersToBatchesAndTours ( O i ) x ← x ∪ B i end In this section a greedy heuristic is presented in Algorithm 2, which gen-erates an initial solution x for our integrated problem. First, the algorithm AssignOrdersToDepots determines the assignment of order o to depot i ,while keeping the balanced workload among depots (see line 2 in Algorithm 2). ω oi = 1 if order o is assigned to depot i ; and 0 otherwise. Let B be the setof batches and tours for all orders, while B i is the set of batches and tours forall orders assigned to depot i . Second, B i for each depot i is determined in AssignOrdersToBatchesAndTours (see line 5). In the following, we willexplain both algorithms in detail. 15 .1.1. Assignment of orders to depots
Algorithm 3:
Greedy assignment of orders to depots
Result:
Assignment of variable ω io , ∀ i ∈ V D , o ∈ O Function
AssignOrdersToDepots ( O ; µ o , ˆ D o = { ˆ d o , ..., ˆ d oi } ∀ o ∈ O ) Initialize ω oi = 0 ∀ i ∈ V D , o ∈ O ; weight of orders w o = (cid:80) p ∈P C o w p ;total weight at stations w i = (cid:80) o ∈O w o · ω oi ; sort O according to µ o indescending order for o ∈ O do i ← argmin i ∈V D ( ˆ d oi ) if (cid:6) w i + w o c (cid:7) ≤ (cid:108) |B| ∗ |V D | (cid:109) then // check balancing ω oi ← w i ← w i + w o ; O ← O \ o else ˆ D o ← ˆ D o \ ˆ d oi AssignOrdersToDepots ( O , ˆ D o ) end end Algorithm 3 assigns orders to depots. For these types of assignment prob-lems, it is common to first consider the distance from the object to be assigned(orders in our case) to all potential depots/stations (Giosa et al., 2002). Forthe problem at hand, this is already a challenge as each order consists of severalitems; further, each item can be stored in different shelves. Hence, the distancefrom an order to each depot is not well defined. To define a hypothetical loss fora given depot, we take for each item the distance of the shelf storing the itemwhich is closest to the depot. These distances are then added up over all itemsof the order to get the hypothetical distance from that order to a depot. Thisdefinition of the distance from an order to a depot is formalized in Equation(30): ˆ d oi = (cid:88) p ∈P C o min j ∈V SC p ( d ij ) ∀ o ∈ O , i ∈ V D , (30)where we write ˆ d to indicate the hypothetical nature of the distance betweenorder o and depot i . These values are given as input for the algorithm.Given the distances for all possible combinations of ( o, i ), we follow theapproach of Giosa et al. (2002) and calculate for each order the potential savingsof assigning that order to its closest depot instead of the second closest. This isdone in accordance with the following equation: µ o = ˆ D o (2) − ˆ D o (1) , (31)16here ˆ D o is the set of distances of depots from order o and subscripts (1) and(2) denote the first- and second-order statistic respectively, i.e. ˆ D o (2) denotesthe second smallest and ˆ D o (1) the smallest distance in ˆ D o .The savings are also given as input for the algorithm to prioritize orders, i.e.to determine the sequence in which the orders are assigned to the depots (seeline 2). Due to the balancing constraint, orders cannot be assigned arbitrarily tostations, but must be assigned such that the number of batches at each stationis as balanced as possible. So, orders where the second best choice would be farworse than the best choice are prioritized and therefore assigned prior to orderswhere the difference is not too large. A new order can still be assigned to astation if the number of batches required to fulfill all these orders is less than orequal to the minimum required number of batches |B ∗ | divided by the numberof depots (see line 5). The number of batches required to fulfill all orders canbe determined by rounding up the quotient of the total weight of these ordersand the capacity c of a cobot. Likewise, the overall minimum number of batchesrequired to carry out all orders can be determined as follows: |B| ∗ = (cid:38) (cid:80) o ∈O (cid:80) p ∈P C o w p c (cid:39) . (32)If an order cannot be assigned to the station closest to it due to the balancingconstraint, the station is removed from the set of possible stations for that order(see lines 8–9) and a new savings value for that order is determined. As the newsavings value might affect the precedence of the remaining orders, this is doneby recursively calling function AssignOrdersToStations with the reducedset of stations and only the orders that are not assigned yet. This procedure isrepeated until all orders are assigned.
In Algorithm 4, the orders o ∈ O i of a depot i ∈ V D need to be assigned tobatches while forming tours without violating the batch capacity c . To initializea new batch (see line 4), the initial weight, tour and empty order set in thebatch O temp are given. An order o ∈ O i is selected by calculating the minimumpossible distance from any item of o to any item of the orders ∈ O temp in thebatch (see line 6; if O temp is empty, then the order o is randomly chosen), whilethe load capacity of a cobot is kept (see line 7). As an item can be stored inmany shelves, the shelf that minimizes the distance to any of the shelves visitedin the current batch is determined. Therefore, each time a new order is assignedto a batch, the tour of this (partial) batch is updated (see line 10). Therefore,for every new item that has to be included in the current tour, and for everyshelf this item is stored in, the position-shelf combination that minimizes thedistance added to the tour is determined using Algorithm 5 (see lines 6–9). Theadditional distance created by adding a new node t j between nodes t i and t k can easily be calculated using the following formula: d add = d t i ,t j + d t j ,t k − d t i ,t k , (33)17 lgorithm 4: Create a set of batches and tours for orders handled indepot i Result:
Set of batches B i Function
AssignOrdersToBatchesAndTours ( O i ) batchnr := 1 while O i ! = ∅ do weight := 0; tour := [ d i , d i ]; O temp ← ∅ while weight < c i do // keep batch capacity for o ∈ M inDist ( O i , O temp ) do // choose a new order if weight + (cid:80) p ∈P C o w p < c i then // check batch capacity weight := weight + (cid:80) p ∈P C o w p O temp ← O temp ∪ { o } tour ← GreedyTour ( tour, o ) // update the tour O i ← O i \ o end end end B i,batchnr ← ( O temp , tour ); batchnr := batchnr + 1 endAlgorithm 5: Create a greedy cobot tour for an order
Result:
Updated tour by picking order o Function
GreedyTour ( tour := [ t , ..., t n , t ] , o ) Initialize d addbest ← ∞ for p ∈ P C o do // iterate over items of new order for s ∈ V SC p do if n ps > then // check if shelf still has units j ← argmin j ∈{ ,..., | tour |− } (cid:0) d t j − ,s + d s,t j − d t j − ,t j (cid:1) d addj ← d t j − ,s + d s,t j − d t j − ,t j if d addj < d addbest then d addbest ← d addj ; s ∗ ← s ; j ∗ ← j end end end tour ← [ t , ..., t j ∗ − , s ∗ , t j ∗ , ..., t n , t ] // insert node n ps ∗ ← n ps ∗ − // decrease supply by one end return tour s is that which minimizesthis new distance with respect to all possible positions j in the tour (see line 6of Algorithm 4). Algorithm 6:
Shaking
Result:
Solution x (cid:48) from neighborhood N κ ( x ) of current solution x Function
Shaking ( x, κ ) Determine total weight w b per batch b ∈ B ; O temp ← ∅ repeat κ times d ← EliminateBatch ( B ) // destroy a batch B ← B \ d ; O temp ← O temp ∪ O d end for o ∈ O temp do // repair orders if (cid:64) b ∈ B : w b + w o ≤ c then // add orders to a new batch b |B| +1 ← o ; B ← B ∪ b |B| +1 ; b ← b |B| +1 else // add orders to a existing batch b ← select a random batch b ∈ B for which w b + w o ≤ c w b ← w b + w o ; O b ← O b ∪ o end tour b ← GreedyTour ( tour b , o ) end if | B | > | B ∗ | then B ← ReducedBatches ( B ) end After an initial solution is obtained using the algorithms described in theprevious subsection, its neighborhood can be searched for better solutions. The
Shaking operator is mainly used to search increasingly distant neighborhoodsof the current incumbent solution, which are then searched for a local opti-mum (Mladenovi´c & Hansen, 1997). The
Shaking operator helps escapinglocal optima by searching a larger neighborhood with different basins. If thisneighborhood still does not yield a better solution, an even larger neighborhoodis searched until an improvement is made or the most distant neighborhood N κ is reached.To search larger neighborhoods, this work proposes a destroy-and-repairoperator in shaking (see Algorithm 6). During the destroy phase, κ batchesfrom the set of batches B are selected and destroyed (see line 4). The selectionof a batch happens through Algorithm 7. If there exists a depot i with morebatches than any other depots, a batch from i is selected in order not to violatethe capacity constraints (see line 2 of Algorithm 7). Moreover, the probabilityof a batch leaving from depot i being selected is dependent on its workload, sothat batches that are already close to the capacity limit have a lower chance ofbeing selected (see line 4). If there is not such depot as described above, then abatch is chosen according to the same principle, but from all batches (see line 6).19he EliminateBatch function returns the respective batch to the
Shaking operator, which then excludes the batch from the set of batches (see line 5 ofAlgorithm 6).
Algorithm 7:
Eliminate a random batch Function
EliminateBatch ( B ) if ∃ i ∈ V D : |B i | − |B j | > ∀ j ∈ V D \ i then i ← argmax i ∈V D ( |B i | ) p b ← − ( w b /c ) (cid:80) (cid:96) ∈B i − ( w (cid:96) /c ) ∀ b ∈ B i else p b ← − ( w b /c ) (cid:80) (cid:96) ∈B − ( w (cid:96) /c ) ∀ b ∈ B end d ← pick random b according to p b return d The repair phase in Algorithm 6 then reassigns the orders in the destroyedbatches to the remaining batches where the additional weight opposed by thenew order cannot violate the capacity constraints (see line 8). In a case thatan order in a destroyed batch cannot be reassigned to any existing batches dueto the capacity constraint, it will be put in a new batch b |B| +1 (see line 9).Otherwise, it will assigned to a random batch that it still fits into (see lines11–12).Every time an order is added to a batch, the GreedyTour algorithm isapplied in order to assign shelves to items and update the tour in a greedymanner (see line 14).If the number of batches is higher than the minimum possible number ofbatches |B| ∗ (see Equation (32)), then we will try to reduce the total num-ber of batches through ReduceBatches in Algorithm 8, which was originallyproposed by Alvim et al. (1999) (see lines 16–17 of Algorithm 6).In Algorithm 8, just like in the
Shaking operator, the
EliminateBatch function chooses a batch d to make sure that the balancing constraint is notviolated (see line 3 in Algorithm 8). The orders in batch d are then split upamong the other batches in B (cid:48) so that the total weight of the other batchesremains as small as possible; however, the capacity constraint may be violated(see lines 4–5). If no batch exceeds the maximum allowed weight, the solution B (cid:48) is accepted (see lines 5, 7–8); otherwise, a Repair operator is executed (seeline 10). If the final solution still has batches that exceed the maximum weight,the neighborhood solution is discarded, otherwise it is accepted (see lines 11–12of Algorithm 8). 20 lgorithm 8:
Minimize number of batches Function
ReduceBatches ( B ) while improvement do improvement ← False; d ← EliminateBatch ( B ); B (cid:48) ← B \ d for o ∈ O d do b ← argmin b ∈B (cid:48) ( w o + w b ); O b ← O b ∪ o end if w b ≤ c ∀ b ∈ B (cid:48) then B ← B (cid:48) ; improvement ← True else ¯ B ←
Repair ( B (cid:48) ) if w b ≤ c ∀ b ∈ ¯ B then B ← ¯ B ; improvement ← True end end return B Algorithm 9:
Repair an infeasible neighborhood solution Function
Repair ( B (cid:48) ) while not w b ≤ c ∀ b ∈ B (cid:48) and improvement do improvement ← False b inf ← draw next batch from { b ∈ B : w b > c } for b other ∈ B (cid:48) \ b inf do ¯ b inf , ¯ b other ← apply differencing method to b other and b inf if | ¯ b inf − ¯ b other | < | b inf − b other | then B (cid:48) ← ( B (cid:48) ∪ { ¯ b inf , ¯ b other } ) \ { b inf , b other } improvement ← True end end end return B (cid:48) Within the
Repair operator in Algorithm 9, the infeasible batch b inf is fixedwhile iterating over all other batches to find a batch b other to swap. The weightof b other is as close as possible to the weight of the infeasible batch b inf (see line6). The reassignment of orders to B (cid:48) is performed using the differencing methodproposed by Karmarkar & Karp (1982). This algorithm saves the weights of allthe items in a sorted list and in each iteration extracts the two largest numbersfrom it, computes the difference between them and places only the differenceback in the list. This represents a decision to put each of the respective ordersinto different batches. This procedure is repeated until there is only one numberleft, which is the value of the final subset difference (Karmarkar & Karp, 1982).21he solution obtained by redistributing the orders is accepted if the dif-ference in the weight of the two corresponding batches decreased (see line 7).And the repair procedure is repeated for each batch that is infeasible or hasbecome infeasible by applying the differencing method until all batches meetthe capacity constraints or a batch cannot be balanced with any other batch. Algorithm 10:
Exchange orders
Result:
Updated solution x (cid:48) Function
ExchangeOrders ( x (cid:48) , κ ) repeat iter maxexchange times B temp ← ∅ repeat κ times draw orders o i and o j from batches b i and b j respectively, i (cid:54) = j if no capacity constraints are violated then O b i ← ( O b i ∪ o j ) \ o i O b j ← ( O b j ∪ o i ) \ o j // exchange orders end B temp ← B temp ∪ { b i , b j } end x (cid:48)(cid:48) ← OptimizeShelves( B temp ) if f ( x (cid:48)(cid:48) ) < f ( x (cid:48) ) then x (cid:48) ← x (cid:48)(cid:48) end return x (cid:48) After moving to a different basin of attraction using the
Shaking algorithm,we use a local search operator
ExchangeOrders in Algorithm 10 to find thelocal minima. Since the greedy initial solution and the
Shaking operator maycome up with batches that have to approach many different shelves due to fewintersections of shelves storing the different items, this work proposes a swapoperation of orders in different batches, which is described in Algorithm 10. Bydoing so, one may replace an order in a batch with another order in a differentbatch that reduces the distance of the tour for the corresponding cobots.In order to systematically change the neighborhood during the descent phase,we select κ pairs of orders from two different batches randomly and exchangethem between the batches if possible (see lines 4–5). The exchange is possibleif the absolute difference in the weight of the pair of orders still fits in thebatch that currently contains the lighter order (see lines 6–8). After that, inorder to minimize the number of shelves that are included in a tour, a function OptimizeShelves for the item-shelf assignment is carried out for all the batchesthat have been changed (see line 12). If the resulting solution yields a betterfitness than the current solution, the candidate solution is adopted, otherwiseit is discarded (see lines 13–14). The swap operator repeats until a maximumnumber of iterations iter max is reached to ensure that a local minima is found.22 lgorithm 11:
Optimization of shelf assignment
Result:
Updated solution x (cid:48) Function
OptimizeShelves ( B temp ) foreach b ∈ B temp do P C b = (cid:83) o ∈O b P C o ; tour b ← ∅ while P C b (cid:54) = ∅ do P C s = (cid:83) p ∈P C b { p : s ∈ V SC p } ∀ s ∈ V SC s ∗ ← argmax s ∈V SC ( |P C s | ) tour b ← tour b ∪ s ∗ P C b ← P C b \ P C s ∗ end tour (cid:48) = SimulatedAnnealing ( tour b ) x (cid:48) ← x (cid:48) ∪ ( b, tour (cid:48) ) end return x (cid:48) Algorithm 12:
Simulated annealing algorithm
Result:
Improved sequence of visiting pods tour Function
SimulatedAnnealing ( tour := [ t , ..., t n , t ]) iter ← iter no change ← T = d maxij − d minij // difference between max and min distances repeat for i ∈ { , ..., n − } do for j ∈ { i + 2 , ..., n } do tour (cid:48) ← [ t , ..., t i , t j − , ..., t i +1 , t j +1 , ..., t n , t ] // 2-opt if U (0 , < P ( tour, tour (cid:48) , T ) then tour ← tour (cid:48) // accept solution iter no change ← else iter no change ← iter no change + 1 // discard changes end end end T ← αT iter ← iter + 1 until T ≤ T min or iter ≥ iter max or iter no change ≥ iter maxno change return tour Algorithm 11 first determines for a given batch b and for each shelf thenumber of items of batch b that are stored in the respective shelf (see lines 2–3in Algorithm 11). Then, the shelf that contains the most items in batch b isselected and added to the tour (see lines 5–7). All the items of the batch that23an be collected at that shelf are then excluded from the set of items that haveto be picked up during the batch (line 8), and the procedure repeats until nomore items have to be assigned to a shelf.In the end, the resulting tour is optimized by SimulatedAnnealing (seeline 10), where a simulated annealing (SA) algorithm is proposed in combinationwith a 2-opt operator (see Algorithm 12). The 2-opt operator exchanges twoedges of a given tour to generate a neighborhood solution (see line 7). Follow-ing the SA framework, this neighborhood solution is accepted with a probabilitydetermined by the well-known Metropolis criteria (see line 8). For faster conver-gence, the number of iterations where no improvement is made is counted (seeline 12), and if this number exceeds a threshold, the best solution is returned.Other stopping criteria we use include a minimum temperature which is eventu-ally reached due to the cooling phase in line 16, and a general maximum numberof iterations after which the algorithm stops.
5. Computational evaluation
A series of numerical studies was conducted to evaluate (1) the solutionqualities of three-index and two-commodity flow formulations, (2) whether themixed-shelves policy works well for both single-line and multi-line orders (inboth small and large warehouses). The computational results in this sectionwere conducted on a PC with an Intel Core i7-7700K CPU @4.20GHz and 32GBRAM running Microsoft Windows 10 in 64-bit mode. Our models were solvedby Gurobi 8.1.1 via Python version 3.7. In the following subsections, we firstdetail instance generation and the setting of parameters in Subsection 5.1. Theresults of the computational study of our models are presented in Subsection 5.2,while the tuned parameters and the results of VNS are presented in Subsection5.3 and 5.4 respectively.
Table 2 shows the parameters for small and large instances, including layout(including number of shelves), number of orders, average number of order lines,three different order sets, number of SKUs, storage policy, number of depotsand number of cobots per depot.We use the same layout for traditional manual warehouses as described inVan Gils et al. (2019). For example, we have a small layout with 360 shelves (6aisles ×
60 shelves per aisle), in Figure 4. In such a layout, we define the widthof each cross-aisle as 6 meters and the width of each pick aisle as 3 meters, whilewe define each shelf with 0.9 meters wide and 1.3 meters deep. Picking aisles aretwo-sided and wide enough for two-way travel of cobots (for example in Lee &Murray (2019) for the same assumption); therefore we assume that the blockingof cobots to be minimum. Another small layout we test includes 24 shelves (2aisles ×
12 shevels per aisle), while we use a large layout with 3240 shelves (18aisles ×
180 shelvels per aisle).We generate different sets of orders (small instances: 10 and 20 orders; largeinstances: 100, 200 and 300 orders) randomly based on a given average number24mall instances Large instancesLayout 2 ×
12 shelves 6 ×
60 shelves 18 ×
180 shelves a, b, c a, b, c a, b, c
Table 2: Parameters for instance generation. of order lines between 1 and 10. According to Van Gils et al. (2019), thenumber of order lines impacts the number of batches created and consequentlythe complexity of the problem. Therefore, we test two different average numbersof order line per order: 1.6 (for e-commerce companies; see De Koster et al.(2012)) and 5. We don’t test larger average numbers of order lines than 5, sincewe want to keep the weight of each order smaller than the capacity of eachcobot. We set the capacity of each cobot as in the real-world application to be18kg according to Wulfraat (2016). That means the batch capacity is limitedto 18kg. We call the orders with an average of 1.6 order lines single-line orders ,and the orders with an average of 5 order lines multi-line orders . In order to getrid of randomness by generating orders, we generate three different sets (a,b,c)for each order size. The weights of items are generated randomly between 0.5kgand 3kg (small-sized items according to pratical experience).The number of shelves sharing an SKU also seems to impact the complexityof the integrated problems (storage policy). We test two storage policies, namelydedicated and mixed-shelves. Recall that dedicated storage means that the itemsof an SKU are stored in only one shelf, while mixed-shelves storage means thatthe items of an SKU can be spread over several shelves. We also set the numberof shelves on which the items of an SKU can be stored to 5, 10 and 20 to seethe complexity and efficiency of mixed-shelves storage policy. Without loss ofgenerality, we set the number of depots to 2, with one cobot per depot for allinstances. In our study, we do not intend to support decisions on the numberof cobots and the number of depots in practice.Note that we get the shortest path for each two nodes i and j with theDijkstra algorithm by using NetworkX (Hagberg et al. (2008)). Table 3 shows the results of the comparison between the two-commoditymodel (in short: two) and the three-index model (in short: three) for small25 igure 4: The layout with six pick aisles and one cross-aisle; The depots are marked in redon the left- and right-hand sides. instances of 24 and 360 shelves respectively. Note that we use alternative II inconstraint set C in Section 3.1 to determine the minimum number of batchesfor each cobot r , |B ∗ r | (see Equation 19). It is possible that there are no feasiblesolutions to achieve |B ∗ r | . In this case, the minimum number of batches willbe increased by one or two, etc. The results of applying both storage policies,namely dedicated and mixed-shelves (in short: mixed(5), mixed(10)) storagepolicies, for single- and multi-line orders are also shown in the table. Basedon the results, we can gain some knowledge of the models of integrated orderbatching and routing. First, the two-commodity flow formulation provides bet-ter performance by achieving lower gaps with smaller computational time forsolving our integrated problem. The improvements in the time and optimumgap are marked in green. Second, based on the results we can get the followingfactors that increase the complexity of the model: • the number of orders • the storage policy • the average number of order lines • the number of shelves. 26 Instances with 24 shelves single-line multi-line single-line multi-linededicated three gap (%) 0 6.2 6.1 37.0time (s) 10.47 9212 7216 t.l.two gap (%) 0 1.3 0 22.1*time (s) 0 5755 491.7 t.l.mixed(5) three gap (%) 0 48.5 11.4 -time (s) 5286 t.l. t.l. t.l.two gap (%) 0 27.8 0 -time (s) 216.3 t.l. 2964 t.l.
Instances with 360 shelves dedicated three gap (%) 0 6.64 0 -time (s) 3 t.l. 2606 t.l.two gap (%) 0 5 0 -time(s) 1.3 t.l. 1500 t.l.mixed(5) three gap (%) 33 - -time (s) t.l. t.l. t.l. t.l.two gap (%) 0 - 28.3 -time (s) 566.5 t.l. t.l. t.l.mixed(10) three gap (%) 42.5 - - -time (s) t.l. t.l. t.l. t.l.two gap (%) 0 - - -time (s) 2636 t.l. t.l. t.l.
Table 3: Comparison of results of three-index and two-commodity models (the average gapand running time of instance sets a, b, c ) for instances with 24 and 360 shelves. “-” meansthat there is no feasible integer solution found within the time limit (t.l.: 14,400 seconds).“*”means that some instances cannot find a feasible solution within the time limit. Note thatthe model for each instance was solved using eight threads.
The number of orders.
If more orders are processed in a model, then morecomputational time is needed. The reason is obvious, since the set of physicalitems P C for picking is larger for more orders, assuming all other factors arethe same. The average number of order lines.
The models with single-line orders are moreeasily solved than those with multi-line orders, since single-line orders includesmaller sets of physical items P C for picking (see Table 3, columns single-linevs. multi-line), assuming the other factors are the same. Therefore the numberof decision variables x ijrb and z psrb increases. Note that we should considerthe number of orders and the average number of order lines together, since theyinfluence the set of physical items for picking and the number of batches created,and consequently the complexity of the problem. Therefore, the instances of 10multi-line orders are more difficult to solve than the instances of 20 single-lineorders. The storage policy.
The models using the dedicated storage policy require lesscomputational time compared with the models using the mixed-shelves storage27olicy, assuming the other factors are the same. In Table 3, we can see that ifmore shelves contain items of an SKU (mixed(5) and mixed(10) vs. dedicated),the problem is more complex, since the set of possible shelves including item p , V SCp , is larger for all picking items in mixed-shelves storage. Therefore thenumber of decision variables x ijrb and z psrb increases. The number of shelves (Layout).
In Table 3, it is easy to see that the models fora larger warehouse are more difficult to solve, since the set of shelves includingall items in P C is larger. Therefore, the number of decision variables x ijrb and z psrb increases. 10 orders 20 orderssingle-line multi-line single-line multi-line Instances of 24 shelves dedicated 59.2 (0%) 220.2 (1.3%) 105.8 (0%) 364.0* (22%)mixed(5) 44.5 (0%) 139.0 (27.8%) 71.0 (0%) -% -24.8 -36.9 -32.9 -
Instances of 360 shelves dedicated 232.23 (0%) 801.4 (9.3%) 352.3 (0%) -mixed(5) 106.6 (0%) - 177.0 (28.3%) -% -54.1 - -49.8 -mixed(10) 89.97 (0%) - - -% -61.2 - - -
Table 4: The average distances for instance set a, b, c of 24 and 360 shelves solved with thetwo-commodity formulation with the gap in %. The lines beginning with “%” show thepecentage improvement in the results of mixed-shelves storage compared with the dedicatedstorage policy. “-” means that there is no feasible integer solution found within the time limit(t.l.: 14,400 seconds). “*” means that some instances cannot find a feasible solution withinthe time limit.
In Table 4, the mixed-shelves policy definitely works better than the ded-icated policy for single-line orders (in other words, shorter distances). In alarger warehouse (with 360 shelves), the saving is more significant. The reasonis obvious: First, the distances between visiting shelves are larger in a largerwarehouse. Second, it is as expected that if more shelves contain items of anSKU, more distance can be saved for picking an item of this SKU (see mixed(5)vs. mixed(10) in
Instances of 360 shelves ), since the probability is higher inmixed(10) that a shelf near-by contains the required item.Based on the results of the two-commodity flow model in Tables 3 and 4,60% of instances (36 out of 60) have not been solved optimaly by Gurobi withinthe run time limit of 4 hours. Among these, for 23 instances no feasible integersolution has been found. Layout, storage policy, the number of orders andthe average number of order lines have effects on the number of non-optimalsolutions. All of those instances with no feasible integer solution are those inwhich we apply mixed-shelves storage. This demonstrates the complexity ofthe problem. Therefore it is worth developing an efficient metaheuristic to gain28ore results.
It is often beneficial to tune algorithm parameters. In our VNS, parame-ter tuning is performed on the small instances (in total 60 instances). In ourexperiment, we tune two parameters in Algorithm 1, namely γ (parameter defin-ing the number of iterations without improvement of x (cid:48) ) and κ max (parameterdefining the neighborhood structures). Note that we don’t tune local searchparameters in our experiment, such as iter maxexchange = 5 , T min = 0 . , iter max =1000 , iter maxno change = 15 , α = 0 . γ with the values 100, 200, 300 and 400, while κ max is setto be 3 and 4. And we set t max to be 3600 seconds. Five repetitions are runto eliminate randomness. Consequently, we have in total 60 × × × γ , but different γ -values have littleeffect on solution quality. So, we choose γ = 100 for the rest of the experi-ment. From our observation, κ max = 4 brings a small improvement, averaging2 . κ max = 3 within a similar computationaltime using the same value of γ . So we will choose κ max = 4 in the furtherexperiment.
10 orders 20 orderssingle-line multi-line single-line multi-line
Instances of 24 shelves dedicated Instances of 360 shelves dedicated Table 5: The average distances for instance set a, b, c of 24 and 360 shelves solved with theVNS in five repetitions with parameters γ = 100 , κ max = 4. The lines beginning with %shows the percentage improvement of the results of mixed-shelves storage compared withthe dedicated storage policy. Each number in brackets is the percentage difference betweenthe VNS solution and the solution solved by Gurobi in Table 4, if there is a feasible integersolution. The blue numbers in cells sort the instances based on the computational time solvedwith Gurobi. The number marked by * is the comparable average distance for those instanceswith feasible solutions solved by Gurobi. In Table 5, the average distances for small instances with κ max = 4 and γ = 100 are shown. Each result represents the average value of three instancesets a, b, c in five repetitions. For the instance sets where we can get optimalsolutions with the two-commodity model within 4 hours, our VNS provides29olutions with the gap within 5% (instance sets of 24 shelves with numbers 1 to5, and instance sets of 360 shelves with numbers 1 to 4, in Table 5). Note thatthe number of each instance set represents its complexity for each layout (24and 360 shelves respectively). For the instance sets with numbers 6 to 8, some ofwhich give us feasible solutions within 4 hours from the two-commodity model,our VNS provides either the same or better solutions. The computational timeof our VNS is very competitive compared with the time solved by the solver (seeFigure 5). It decreases substantially when the problem is solved by the VNS.Note that the time is not directly comparable, since the model for each instancewas solved using eight threads, while the VNS is solved with one thread. Asshown in Figure 5, the computational time of each instance solved by the VNS isless than 15 minutes. Figure 6 shows that the computational time applying theVNS is dependent on the layout and the number of orders. The storage policyhas a small effect on the computational time. Our VNS reduces the complexityof the mixed-shelves storage (not as in the model), since the GreedyTour algorithm provides the same complexity for both storage policies ( O ( |P Co | )).The computational time strongly increases as the number of orders increases,since this increases the number of batches and the complexity of the routingproblem. The similar increase in complexity caused by the increasing numberof orders can be found in the results of the Gurobi solver (see Table 4). Ourresults show that the VNS algorithm is an efficient tool for solving the integratedorder batching and routing in multi-depot mixed-shelves warehouses, at leastfor our small instances. . . . . . . · Instance setting R unn i n g t i m e [ s ] Model 24VNS 24Model 360VNS 360
Figure 5: The comparison of running time between the two-commodity flow network modeland our VNS. The number in the x-axis corresponds the instance set with blue number inTable 5. e d i c a t e d m i x e d ( ) m i x e d ( ) s i n g l e - li n e m u l t i - li n e
10 o r d e r s
20 o r d e r s R unn i n g t i m e [ s ] Figure 6: The average computational time of the VNS algorithm for instances which areclassified by factors including the storage policy (dedicated vs. mixed(5) vs. mixed(10)), theaverage number of order lines (single-line, multi-line), the number of orders (10 orders vs. 20orders) and the number of shelves (24 shelves vs. 360 shelves).
Furthermore, we can continue with our statement in Subsection 5.2 that themixed-shelves storage policy works well for both single-line and multi-line or-ders. However, the items in a multi-line order are spread among several shelves,so several shelves should be visited. Using mixed-shelves storage, the proba-bility is higher that a shelf nearby contains the required items compared withdedicated storage. Furthermore, in our AVG-assisted system, the limited ca-pacity of cobots does not allow multi-line orders with very large order linesto be accepted, unless the splitting of orders is allowed (see e.g. in Xie et al.(2020)). Order splitting is outside the scope of this paper. Due to this setting oflimited capacity of cobots, multi-line orders in mixed-shelves storage can saveup to 62% on driving distances compared with the results in dedicated stor-age. Similar savings (up to 67%) can also be achieved for the multi-line ordersin large instances (see Table 6). Based on the results of small instances, thecomputational time might be strongly increased for the large instances, sincethey have a larger layout and larger numbers of orders. Therefore, we limit thecomputational time for solving the large instances to 1 hour.
6. Conclusions
In this work, we formulate and solve integrated order batching and routingin AGV-assisted warehouses. In such warehouses, each AGV (in our case, acobot) is sent from its depot to collect the items of orders in different loca-31
00 orders 200 orders 300 orderssingle-line multi-line single-line multi-line single-line multi-linededicated 5263 21,069.3 10,090.1 42,249 15,190 57,275.6mixed(10) 2605 10,633 4589.5 23,266 7804 34,514.8% -50 -49.5 -54.5 -45 -48.7 -40mixed(20) 1775.9 7280 3516.9 15,600 5682.6 24,308% -66.3 -65.4 -65.2 -63 -62.6 -57.6
Table 6: The average distances for instance set a, b, c of 3240 shelves solved with the VNSalgorithm. The lines beginning with “%” show the percentage improvement in the results ofmixed-shelves storage compared with the dedicated storage policy. The time limit is set to 1hour. tions in the storage area and goes back to its depot. Each order is collectedin a bin, and that is efficient for packing. The tour for a cobot is limitedby its load capacity. We consider different depots (a.k.a. loading stations forcobots) while the items for each SKU are stored in different shelves in the stor-age area (a.k.a. the mixed-shelves storage policy). In such an environment, weformulate the new integrated order batching and routing with three-index andtwo-commodity network flow formulations to minimize the driving distances forcobots. We experimentally show that the two-commodity network flow formu-lation works better for our integrated problem by achieving lower gaps withsmaller computational time. With mixed-shelves storage and multiple lines oforders, the complexity of the problem increases significantly. Therefore, wepropose a novel variable neighborhood search (VNS) algorithm to solve the in-tegrated problem more efficiently. According to our experiments, our VNS canobtain near-optimal results (less than 5% gap) for small instances, which can besolved optimally in the two-commodity model within 4 hours. For those smallinstances where we can obtain feasible solutions within 4 hours, our VNS al-gorithm provides a better solution with an improvement of up to 17.7% within15 minutes, if a comparable feasible integer solution can be obtained from theGurobi solver within 4 hours. Also, we apply our VNS to solve large instanceswithin an acceptable computational time. Based on our VNS solutions, we cansee that mixed-shelves storage works well both for the single-line and multi-linesmall-sized orders we tested. Up to 67% can be saved on driving distances byapplying the mixed-shelves storage policy compared with our reference storagepolicy.Since an AGV-assisted warehouse system is a relatively new type of ware-housing system, the concepts specific to such a system have not received muchscholarly attention. Each picker works in a particular area in the storage area(called a zone ). For example, the determination of the number of zones (see e.g.De Koster et al. (2012) for the manual system) and the distribution of SKUs ineach zone might be interesting topics. Mixed-shelves storage can be used as agood instrument to balance the workload of pickers, since the items of a SKUcan be stored in different zones, while it reduces the waiting time for severalcobots for a single picker. 32 eferences
Alvim, A., Glover, F. S., Ribeiro, C. C., & Aloise, D. J. (1999). Local searchfor the bin packing problem. In
Extended Abstracts of the 3rd MetaheuristicsInternational Conference (pp. 7–12). CiteSeer.Azadeh, K., De Koster, R., & Roy, D. (2019). Robotized and automated ware-house systems: Review and recent developments.
Transportation Science , ,917–945. doi: .Baldacci, R., Hadjiconstantinou, E., & Mingozzi, A. (2004). An exact algo-rithm for the capacitated vehicle routing problem based on a two-commoditynetwork flow formulation. Operations Research , , 723–738. doi: .Baldacci, R., Toth, P., & Vigo, D. (2007). Recent advances in vehicle routingexact algorithms. , , 269–298. doi: .Boysen, N., Briskorn, D., & Emde, S. (2017). Parts-to-picker based order pro-cessing in a rack-moving mobile robots environment. European Journal ofOperational Research , , 550–562. doi: .Boysen, N., de Koster, R., & Weidinger, F. (2019). Warehousing in the e-commerce era: A survey. European Journal of Operational Research , ,396–411. doi: .Briant, O., Cambazard, H., Cattaruzza, D., Catusse, N., Ladier, A.-L., & Ogier,M. (2020). An efficient and general approach for the joint order batching andpicker routing problem. European Journal of Operational Research , , 497–512. doi: .Chen, T.-L., Cheng, C.-Y., Chen, Y.-Y., & Chan, L.-K. (2015). An effi-cient hybrid algorithm for integrated order batching, sequencing and rout-ing problem. International Journal of Production Economics , , 158–167.doi: .Cheng, C.-Y., Chen, Y.-Y., Chen, T.-L., & Yoo, J. J.-W. (2015). Using a hybridapproach based on the particle swarm optimization and ant colony optimiza-tion to solve a joint order batching and picker routing problem. InternationalJournal of Production Economics , , 805–814. doi: .Daniels, R. L., Rummel, J. L., & Schantz, R. (1998). A model for warehouseorder picking. European Journal of Operational Research , , 1–17. doi: .De Koster, R., Le-Duc, T., & Roodbergen, K. J. (2007). Design and controlof warehouse order picking: A literature review. European Journal of Opera-tional Research , , 481–501. doi: .33e Koster, R. B., Le-Duc, T., & Zaerpour, N. (2012). Determining the numberof zones in a pick-and-sort order picking system. International Journal ofProduction Research , , 757–771. doi: .Ene, S., & ¨Ozt¨urk, N. (2012). Storage location assignment and order picking op-timization in the automotive industry. The International Journal of AdvancedManufacturing Technology , , 787–797. doi: .Fabric (2020). The impact of Covid-19 on online grocery: Whythe coronavirus pandemic in 2020 will change the grocery indus-try forever in the United States. URL: https://getfabric.com/the-impact-of-covid-19-on-online-grocery/ .Finke, G. (1984). A two-commodity network flow approach to the travelingsalesman problem. Congressus Numerantium , , 167–178.Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guideto the theory of NP-completeness volume 174. Freeman.Gendreau, M., & Potvin, J.-Y. E. (2010).
Handbook of metaheuristics volume 3.Springer. doi: .Giosa, I., Tansini, I., & Viera, I. (2002). New assignment algorithms for themulti-depot vehicle routing problem.
Journal of the Operational ResearchSociety , , 977–984. doi: .Hagberg, A. A., Schult, D. A., & Swart, P. J. (2008). Exploring network struc-ture, dynamics, and function using NetworkX. In G. Varoquaux, T. Vaught,& J. Millman (Eds.), Proceedings of the 7th Python in Science Conference (pp. 11–15). Pasadena, CA, USA.Karmarkar, N., & Karp, R. M. (1982).
The differencing method of set partition-ing . Computer Science Division (EECS), University of California.Kulak, O., Sahin, Y., & Taner, M. E. (2012). Joint order batching and pickerrouting in single and multiple-cross-aisle warehouses using cluster-based tabusearch algorithms.
Flexible Services and Manufacturing Journal , , 52–80.doi: .Kyt¨ojoki, J., Nuortio, T., Br¨aysy, O., & Gendreau, M. (2007). An efficientvariable neighborhood search heuristic for very large scale vehicle routingproblems. Computers & Operations Research , , 2743–2757. doi: .Lee, H.-Y., & Murray, C. C. (2019). Robotics in order picking: Evaluatingwarehouse layouts for pick, place, and transport vehicle routing systems. International Journal of Production Research , , 5821–5841. doi: . 34etchford, A. N., Nasiri, S. D., & Theis, D. O. (2013). Compact formulationsof the Steiner traveling salesman problem and related problems. EuropeanJournal of Operational Research , , 83–92. doi: .Li, J., Huang, R., & Dai, J. B. (2017). Joint optimisation of order batchingand picker routing in the online retailer’s warehouse in China. InternationalJournal of Production Research , , 447–461. doi: .Lin, C.-C., Kang, J.-R., Hou, C.-C., & Cheng, C.-Y. (2016). Joint order batchingand picker Manhattan routing problem. Computers & Industrial Engineering , , 164–174. doi: .Matusiak, M., de Koster, R., Kroon, L., & Saarinen, J. (2014). A fast simulatedannealing method for batching precedence-constrained customer orders in awarehouse. European Journal of Operational Research , , 968–977. doi: .Mladenovi´c, N., & Hansen, P. (1997). Variable neighborhood search. Com-puters & Operations Research , , 1097–1100. doi: .Montoya-Torres, J. R., Franco, J. L., Isaza, S. N., Jim´enez, H. F., & Herazo-Padilla, N. (2015). A literature review on the vehicle routing problem withmultiple depots. Computers & Industrial Engineering , , 115–129. doi: .Ramos, T. R. P., Gomes, M. I., & P´ovoa, A. P. B. (2020). Multi-depotvehicle routing problem: A comparative study of alternative formulations. International Journal of Logistics Research and Applications , , 103–120.doi: .Scholz, A., Schubert, D., & W¨ascher, G. (2017). Order picking with multiplepickers and due dates: Simultaneous solution of order batching, batch as-signment and sequencing, and picker routing problems. European Journal ofOperational Research , , 461–478. doi: .Tompkins, J. A. (2010). Facilities planning . (4th ed.). John Wiley & Sons.Tsai, C.-Y., Liou, J. J., & Huang, T.-M. (2008). Using a multiple-GA methodto solve the batch picking problem: Considering travel distance and order duetime.
International Journal of Production Research , , 6533–6555. doi: .Valle, C. A., Beasley, J. E., & da Cunha, A. S. (2017). Optimally solvingthe joint order batching and picker routing problem. European Journal ofOperational Research , , 817–834. doi: .35an Gils, T., Caris, A., Ramaekers, K., & Braekers, K. (2019). Formulating andsolving the integrated batching, routing, and picker scheduling problem in areal-life spare parts warehouse. European Journal of Operational Research , , 814–830. doi: .Van Gils, T., Ramaekers, K., Caris, A., & De Koster, R. B. (2018). Designingefficient order picking systems by combining planning problems: State-of-the-art classification and review. European Journal of Operational Research , ,1–15. doi: .Weidinger, F. (2018). Picker routing in rectangular mixed shelves warehouses. Computers & Operations Research , , 139–150. doi: .Weidinger, F., Boysen, N., & Schneider, M. (2019). Picker routing in the mixed-shelves warehouses of e-commerce retailers. European Journal of OperationalResearch , , 501–515. doi: .Won, J., & Olafsson, S. (2005). Joint order batching and order picking inwarehouse operations. International Journal of Production Research , ,1427–1442. doi: .Wulfraat, M. (2016). Locus Robotics: An independent consultant review ofautonomous robots. URL: https://mwpvl.com/html/locus_robotics_-_independent_consultant_review.html .Xie, L., Thieme, N., Krenzler, R., & Li, H. (2020). Introducing split orders andoptimizing operational policies in robotic mobile fulfillment systems. EuropeanJournal of Operational Research , . doi: https://doi.org/10.1016/j.ejor.2020.05.032 . Appendix A. Components of an AVG-assisted picking system
Firstly, we define some terms related to orders in Table A.7.
Term Description
SKU stock keeping unit order line one SKU with the ordered quantity item a physical unit of one SKU pick order a set of order lines from a customer’s order single-line order single SKU per order multi-line order multiple SKUs per order backlog all unfulfilled orders
Table A.7: Terms related to orders.
The central components of an AGV-assisted picking system are listed inTable A.8. 36 omponent Description shelves storing items bin temporary storage items for an order during picking storage area the inventory area where the shelves are storedhuman workers picker working in a given part of the storage areato pick items from shelves packer packing order items in packing stations packing stations where packers pack the pick order items queue a list of cobots waiting in front of a packing station picking locations somewhere in front of the shelves in the storage areawhere pickers pick the order items cobots robots that transport items between the storage area andworkstations. Each of them has a limited weight capacityand belongs to a certain packing station.