Proceedings Proceedings of of the the 20th 20th World World Congress Congress The International International Federation of Congress Automatic Control Control Proceedings of the 20th World The Federation of Automatic Available online at www.sciencedirect.com Proceedings of the 20th World Congress Toulouse, France, July 9-14, 2017 The International Federation of Automatic Control Toulouse, France, July 9-14, 2017 The International Federation of Automatic Control Toulouse, France, July 9-14, 2017 Toulouse, France, July 9-14, 2017
ScienceDirect
IFAC PapersOnLine 50-1 (2017) 1106–1113
Optimization Optimization of of order order batching batching in in aa picking picking system system with with Carousels Carousels Optimization of order batching in a picking system with Lenoble Nicolas*, Frein Yannick**, Hammami Ramzi*** Nicolas*, Frein Yannick**, Hammami Ramzi*** OptimizationLenoble of order batching in a picking system with Carousels Carousels Lenoble Nicolas*, Nicolas*, Frein Hammami Lenoble Frein Yannick**, Yannick**, Hammami Ramzi*** Ramzi*** * Univ. Grenoble Alpes, CNRS, G-SCOP, 38 000 Grenoble, France
* Univ. Grenoble Alpes, CNRS, G-SCOP, 38 000 Grenoble, France (Tel: +33 19 e-mail:
[email protected]). * Univ. Alpes, CNRS, G-SCOP, 38 000 Grenoble, France (Tel: +33 66Grenoble 19 17 17 21 21 88; 88; e-mail:
[email protected]). * Univ. Grenoble Alpes, CNRS, G-SCOP, 38 000 Grenoble, France ** Univ. Univ. Grenoble Alpes, CNRS, G-SCOP, F-38000 F-38000 Grenoble, Grenoble, France France (Tel: +33 6Grenoble 19 17 21 Alpes, 88; e-mail:
[email protected]). ** CNRS, G-SCOP, (Tel: +33 6 19 17 21 88; e-mail:
[email protected]). (e-mail:
[email protected]) ** Univ. Grenoble Alpes, CNRS, G-SCOP, F-38000 Grenoble, France (e-mail:Alpes,
[email protected]) ** Univ. Grenoble CNRS, G-SCOP, F-38000 Grenoble, France *** Rennes Rennes School School of of(e-mail: Business, Rennes, France, France, (e-mail: (e-mail:
[email protected])}
[email protected])}
[email protected]) *** Business, Rennes, (e-mail:
[email protected]) *** Rennes School of Business, Rennes, France, (e-mail:
[email protected])} *** Rennes School of Business, Rennes, France, (e-mail:
[email protected])} Abstract: Carrousels are Automated in warehouses. warehouses. The The Abstract: Carrousels are Automated Storage Storage and and Retrieval Retrieval Systems Systems frequently frequently used used in
Abstract: Carrousels are Storage and Systems frequently in The performance of warehouses warehouses with carousels carousels is highly highly correlated to the the order order pickingused performance. The order order performance of with is correlated to picking performance. The Abstract: Carrousels are Automated Automated Storage and Retrieval Retrieval Systems frequently used in warehouses. warehouses. The performance of warehouses with carousels is highly correlated to the order picking performance. The order picking is one of the main activities in warehouse management, consisting of retrieving the required picking is one of the mainwith activities in warehouse management, of performance. retrieving theThe required performance of warehouses carousels is highly correlated to the consisting order picking order picking one of main activities warehouse management, consisting of the productsis from their storage location to in fulfil customers’ orders. A A critical critical operation for the the order order picking products storage fulfil customers’ orders. operation for picking picking isfrom onetheir of the the mainlocation activitiesto in warehouse management, consisting of retrieving retrieving the required required products from their storage location to fulfil customers’ orders. A critical operation for the order picking efficiency is the order batching, namely how to regroup customers’ orders into batches before the collect. efficiencyfrom is thetheir order batching, namely how customers’ to regroup customers’ orders operation into batches the picking collect. products storage location to fulfil orders. A critical forbefore the order efficiency is the order batching, namely how to regroup customers’ orders into batches before the collect. In this paper, we provide an optimization model for the orders batching problem, when the products are In this paper, weorder provide an optimization model for thecustomers’ orders batching whenbefore the products are efficiency is the batching, namely how to regroup ordersproblem, into batches the collect. In this paper, we provide an optimization model for the orders batching problem, when the products are stored in one or several carrousels, with the objective of minimizing the total completion time. We use real stored in one or several carrousels, with the objective of minimizing the total completion time. We use real In this paper, we provide an optimization model for the orders batching problem, when the products are stored one or several the of total completion We data in inin order to test and carrousels, validate our ourwith models. Numerical experimentsthe show that our model modeltime. outperforms the data order and validate models. Numerical experiments show that our outperforms the stored in one to or test several carrousels, with the objective objective of minimizing minimizing the total completion time. We use use real real data in order to test and validate our models. Numerical experiments show that our model outperforms actual batching strategy used by the considered companies. actual strategy used by our the considered companies. data inbatching order to test and validate models. Numerical experiments show that our model outperforms the the actual batching strategy by companies. actual strategy used usedFederation by the the considered considered companies. © 2017,batching IFAC (International of Automatic Control) Hosting by ElsevierReal Ltd. All rights reserved. Keywords: Keywords: Order Order Batching, Batching, Carousel Carousel,, Warehouse Warehouse Management, Management, Optimization, Optimization, Real data. data. Keywords: Order Batching, Carousel , Warehouse Management, Optimization, Real data. Keywords: Order Batching, Carousel, Warehouse Management, Optimization, Real data.
1. INTRODUCTION 1. INTRODUCTION 1. 1. INTRODUCTION INTRODUCTION The Automated Automated Storage Storage and Retrieval Retrieval Systems Systems or or AS/RS AS/RS are are The and The Automated Storage and Retrieval Systems or AS/RS used in many warehouses of manufacturing and distribution used in many warehouses manufacturing andordistribution The Automated Storage andofRetrieval Systems AS/RS are are used in many warehouses of manufacturing and distribution companies. The advantages of these systems are basically the companies. Thewarehouses advantagesofofmanufacturing these systems are the used in many andbasically distribution companies. systems basically space savingThe andadvantages the increase increaseof inthese productivity. With the use usethe of space saving and the productivity. With the of companies. The advantages ofin these systems are are basically the space saving and the increase in productivity. With the use AS/RS systems, the operator (or picker) stays in front of the AS/RS systems, the operator (or picker) stays in front of the space saving and the increase in productivity. With the use of of AS/RS operator (or stays front the machine while the thethe machine brings the product product toin him; heof does machine while machine brings the AS/RS systems, systems, the operator (or picker) picker) staysto inhim; fronthe ofdoes the machine the machine product him; not need while to move move from one brings storagethe location to to another. Indoes the not need to one storage location to another. the machine while thefrom machine brings the product to him; he heIn does not need to move from one storage location to another. In literature, these systems are referred to as “Part to Picker” literature, arestorage referred to as to “Part to Picker” not need tothese movesystems from one location another. In the the literature, these systems are referred to as “Part to Picker” systems as against the “Picker to Part” systems for which the systems against the “Picker to Part”to systems for to which the literature,asthese systems are referred as “Part Picker” systems as the “Picker for which the picker has to move move throughout the systems warehouse to collect picker to the warehouse collect systemshas as against against the throughout “Picker to to Part” Part” systems for to which the picker has to move throughout the warehouse to collect products. products. picker has to move throughout the warehouse to collect products. products. The most most used used technology technology of of AS/RS AS/RS systems systems is is the the carousel, carousel, The The most used technology of AS/RS systems is the which is a device using a set shelves mounted on a closed loop which is a device using a set shelves mounted on a closed loop The most used technology of AS/RS systems is the carousel, carousel, which is a device using a set shelves mounted on a closed rail where products are stored on (see Fig.1 for an illustration). rail where products are stored on (see Fig.1 for an illustration). which is a device using a set shelves mounted on a closed loop loop rail where on for illustration). As soon asproducts productare is stored requested, the Fig.1 carousel rotates to reach reach As as aa product is requested, the carousel rotates to railsoon where products are stored on (see (see Fig.1 for an an illustration). As as product requested, the rotates to the desired shelf and is then waits until until the product product is retrieved retrieved the desired and waits the is As soon soon as aashelf product isthen requested, the carousel carousel rotates to reach reach the desired shelf and then waits until the product is retrieved by the picker and another product is requested. In practice, the by pickershelf and and another is requested. In practice, the thethe desired thenproduct waits until the product is retrieved by the picker and another product is requested. In practice, the carousels are located in the picking area, also called pod, carousels areand located in product the picking area, also called pod, by the picker another is requested. In practice, the carousels are located in the picking area, also called pod, where one or several pickers have to collect products from one where one are or several to collect frompod, one carousels locatedpickers in thehave picking area,products also called where one several to products one or several carousels. In this this have paper, we focus focus on the thefrom vertical or several carousels. In paper, we on vertical where one or or several pickers pickers have to collect collect products from one or several carousels. In this paper, we focus on the vertical carousel, which consists of shelves connected to each other’s carousel, which consists of shelves connected to each other’s or several carousels. In this paper, we focus on the vertical carousel, which consists shelves to other’s with chains rotating on the theof horizontal axis. On On each each shelf, there there with chains rotating on axis. shelf, carousel, which consists ofhorizontal shelves connected connected to each each other’s with chains rotating on the horizontal axis. On each shelf, are some boxes where products are stored. boxes where are stored. are withsome chains rotating on products the horizontal axis. On each shelf, there there are are some some boxes boxes where where products products are are stored. stored.
Fig Fig 1. 1. Carousel Carousel illustration illustration (picture (picture from from apmaritime.com) apmaritime.com) Fig 1. Carousel illustration (picture from apmaritime.com) Fig 1. Carousel illustration (picture from apmaritime.com)
In In this this article, article, we we focus focus on on the the order order picking picking activity, activity, which which is is In this article, we focus on the order picking activity, is the operation of retrieving products from their storage location thethis operation theiractivity, storage which location In article,ofweretrieving focus onproducts the orderfrom picking which is the operation of retrieving products from their storage location to fulfil customers’ orders. Each order contains a set of orders to customers’ orders.products Each order contains a set oflocation orders thefulfil operation of retrieving from their storage to customers’ orders. Each contains aa set of lines, also called representing aa given quantity given lines, also called lines, lines, representing given quantity of given to fulfil fulfil customers’ orders. Each order order contains setof ofaaorders orders lines, also called lines, representing a given quantity of a product. This product is stored on a given shelf of a product. This product is stored on a given shelf of a given lines, also called lines, representing a given quantity of a given product. This product is stored on a given shelf of a carousel. The picking activity is a critical operation with a high carousel. The picking activity is a critical operation with a high product. This product is stored on a given shelf of a given given carousel. The picking activity is a critical operation with a impact on warehouses’ performances, it is also the most labor impact on warehouses’ performances, it is also the most labor carousel. The picking activity is a critical operation with a high high impact warehouses’ performances, it the intensive activity. It counts counts for about about 55% 55% ofalso all operating operating costs intensive It for all costs impact on onactivity. warehouses’ performances, it is isof also the most most labor labor intensive activity. It for of costs for manual warehouses according to55% Tompkins et al. al. (2003) (2003) for manual warehouses according Tompkins et intensive activity. It counts counts for about aboutto 55% of all all operating operating costs for manual warehouses according to Tompkins et al. (2003) and according to De Koster et al. (2007) it is a primordial and according to De Koster et al.to(2007) it is et a primordial for manual warehouses according Tompkins al. (2003) and to et activity in warehouses warehouses using AS/RS. AS/RS. activity in using and according according to De De Koster Koster et al. al. (2007) (2007) it it is is aa primordial primordial activity in warehouses using AS/RS. activity in warehouses using AS/RS. In practice, practice, in in order order to to achieve achieve aa higher higher throughput, throughput, warehouse warehouse In In practice, in order to achieve a higher throughput, managers regroup orders into batches and retrieve the orders orders managers regroup orders into batches and retrieve the In practice, in order to achieve a higher throughput, warehouse warehouse managers regroup orders into batches and retrieve the belonging to the same batch together. A batch is composed by belonging to the same batch together. A batch is composed by managers regroup orders into batches and retrieve the orders orders to the same batch together. A batch is composed abelonging set of of orders. orders. Note that an order cannot be split into several abelonging set Note that an order cannot be split into several to the same batch together. A batch is composed by by abatches. set of orders. that an be batches. For better efficiency, it is is essential essential to several collect For aa Note better it to collect a set of orders. Note thatefficiency, an order order cannot cannot be split split into into several batches. For it essential together products from efficiency, different orders orders located onto thecollect same together from different same batches. products For aa better better efficiency, it is is located essentialon tothe collect together products from different orders located on the shelf instead of retrieving them one order at the time (Yu and shelf instead of retrieving them one orderlocated at the time (Yusame and together products from different orders on the same shelf instead of retrieving them one order at the time (Yu De Koster (2010) and Pazour and Meller (2013)). De Koster (2010) and Pazour and Meller shelf instead of retrieving them one order(2013)). at the time (Yu and and De Koster (2010) and Pazour and Meller (2013)). De Koster (2010) and Pazour and Meller (2013)). The order order picking picking process process on on aa pod pod composed composed by by carrousels carrousels The The order picking process on a pod composed by can be described as follows: can described follows:on a pod composed by carrousels The be order pickingasprocess carrousels can be described as follows: can be described as follows: For each each batch, batch, the the picker picker receives receives aa number number of of bins bins equal equal to to For For each batch, the picker receives a number of bins equal the number of orders in the considered batch. Each bin the number of orders in the considered batch. Each bin For each batch, the picker receives a number of bins equal to to the orders in considered Each corresponds toof only one order order (see Fig 2). 2). All Allbatch. the products products (of corresponds one Fig the (of the number number to ofonly orders in the the(see considered batch. Each bin bin to only one order (see 2). products acorresponds given order) order) that are being retrieved from given shelf of of(of acorresponds given given shelf to that onlyare onebeing orderretrieved (see Fig Fig from 2). All Allaa the the products (ofaa agiven given order) that are being retrieved from a given shelf of given carousel have to be placed into their corresponding have be placed into their corresponding a givencarousel order) that aretobeing retrieved from a given shelf of aa given carousel have to be placed into their corresponding order’s bin. The picker proceeds by retrieving all the order order order’s bin. Thehave picker retrieving all the given carousel to proceeds be placedbyinto their corresponding order’s bin. The picker proceeds by retrieving all the lines that have to be collected on the first shelf of the first lines that have be collected onby theretrieving first shelfallofthe theorder first order’s bin. Thetopicker proceeds order lines that have to be collected on the first shelf of the carousel that has to be visited. Then, the picker moves to the carousel that has to be visited. Then, the picker moves to the lines that have to be collected on the first shelf of the first first carousel that has to be visited. Then, the picker moves to next carousel. Meanwhile, the first carousel rotates to present next carousel. Meanwhile, the first carousel rotates to present carousel that has to be visited. Then, the picker moves to the the next carousel. the rotates present the next shelf. Meanwhile, The picker picker continues continues by collecting collecting allto required the shelf. The by nextnext carousel. Meanwhile, the first first carousel carousel rotatesall torequired present the shelf. The picker by collecting required lines from the first first shelf ofcontinues the second second carousel. Heall continues lines from the the the next next shelf. The shelf pickerof continues bycarousel. collectingHe allcontinues required lines from the first shelf of the second carousel. He continues by moving from one carousel to another until all products from by moving from oneshelf carousel to second anothercarousel. until all products from lines from the first of the He continues by moving from one carousel to another until all products from the first shelf of all carousels are retrieved. Then, the picker the first shelf ofone all carousel carouselstoare retrieved. Then, the picker by moving from another until all products from the first shelf of all carousels are retrieved. Then, the picker comes back to the first carousel in order to collect the required comes to of theall first carouselare in order to collect the firstback shelf carousels retrieved. Then,thetherequired picker comes comes back back to to the the first first carousel carousel in in order order to to collect collect the the required required
2405-8963 © 2017, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Copyright © 2017 IFAC 1129 Copyright 2017 responsibility IFAC 1129Control. Peer review©under of International Federation of Automatic Copyright © 2017 IFAC 1129 10.1016/j.ifacol.2017.08.392 Copyright © 2017 IFAC 1129
Proceedings of the 20th IFAC World Congress Toulouse, France, July 9-14, 2017 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113
products from the second shelf of this carousel. Similarly, to the first collecting round, he moves from one carousel to another until he finishes collecting all the required items from the second shelf of theses carousels. He repeats this process until all the required order lines are collected from all the shelves of all carrousels that have to be visited. The batch is now collected and the bins leave the pod while new bins comes to the picker. These new bins correspond to the next batch of orders and the picker repeats the process described above until all batches are collected.
1107
on the class of these products. A random location was decided for the high turnover class and the items having the lowest demands are located as far as possible from this location. A valuable review providing good insights on the literature relative to the storage location of products within a carousel is given by Litvak and Vlasiou (2010). In our case, the pick sequence is given and the storage location of the product is imposed. To our knowledge, papers on the batching decision in case of carousels systems are missing in the literature. In practice, basic tools for the batching decision are used, such as the first come first served, which are generally far from optimality. Two situations may arise concerning the order batching: “Offline” and “Online” batching. For Offline batching, all information about the orders is available before deciding how to batch these orders. For Online batching, the arrival time of orders is considered and therefore the information regarding each given order can be known only after this time. This paper focuses on Offline batching, which is the most common situation in practice.
Fig 2. Order picking with Carousel system (picture from http://www.brysdales.co.uk)
Although many companies using carousel systems proceed by regrouping orders into batches before collecting them, the literature did not give adequate attention to the batching decision in AS/RS systems with carousels. Note, however, that the order batching problem in case of classical picker to part systems is well studied. Reviews of the solution approaches related to the order batching problem in manual warehouses are provided by De Koster et al. (2007) and Henn et al. (2012).
This paper aims to provide a batching optimization model for an AS/RS warehouse with carousels. The objective of our model is to minimize the total completion time required to collect a given set of customers’ orders. We first consider the case of one carousel and then study the more complex situation with multiple carousels. We consider real data of two companies to conduct experiments on our model and to compare its performance with the actual batching strategy of these companies.
The literature relative to carousels systems can be split into two main categories. The first category of papers focus on the pick sequence of an order (or a sequence of orders) while the main purpose of the second category is to determine the best storage location of products in the carousel.
This paper is organized as follows: In section 2, we evaluate the completion time and provide the optimization model and experiments in the case of one carousel. Section 3 is dedicated to the case of several carousels. We finally conclude in section 4 and give future work directions.
The problem of determining the pick sequence on a carousel, for a set of products of a given order, in order to optimize the travelled distance is well studied since 1980 (Weiss (1980)). Bartholdi and Platzman (1986) considered a single order sequencing problem. They developed a discrete model and studied the computational performance to find the nearoptimal pick sequence of products to retrieve from the carousel. Wang et al. (2013) proposed an analytical model with a set of heuristics considering multiple carousels in order to find the near optimal picking sequence. Another picking strategy studied in the literature is the m-step strategy, consisting in taking the route that changes direction at maximum once after collecting m products (a review for this problem is given by Litvak and Vlasiou (2010)). The literature relative to the second category, i.e. the storage location of products within the carousel, is also widely studied since the 90’s. Several storage policies have been studied and savings of travel time have been evaluated. The first studied strategy is the Randomised policy (Hwang and Ha. (1991) and Litvak. (2001)). Ha and Hwang (1994) proposed the two-class based storage policy, which splits the products into two class according to their demand frequency and the storage is based
2.
ORDER BATCHING WITH ONE CAROUSEL
In this case, the picker has to retrieve a given number of batches from one carousel. First, we present the model notations and assumptions. Then, we explain how we obtain the completion time required to retrieve a given set of batches. Based on the completion time, we develop the batching model and conduct experiments. 2.1 Notations and assumptions The number of shelves of the carousel is denoted by S. We let 𝕤𝕤 denote the set of all shelves, indexed by s (s= 1, …,𝑆𝑆). We let O refer to the number of considered orders and ϴ its associated set, indexed by o (o= 1… O). The set of batches is denoted by ℬ and is indexed by b (b=1…B) where B is the number of batches to be collected. The batch size is Bmax. 𝑂𝑂 ⌉ Thus, the number of batches to build is given by B=⌈ 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 with ⌈. ⌉ the ceiling function.
For batch b, the number of shelves to visit is denoted by 𝑆𝑆 𝑏𝑏 and we let 𝕤𝕤𝑏𝑏 denote the vector representing the shelves that
1130
Proceedings of the 20th IFAC World Congress 1108 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113 Toulouse, France, July 9-14, 2017
have to be visited. We let 𝕤𝕤b (𝑙𝑙) refer to the number of the l-th shelf that the carousel has to visit (l=1, ...,𝑆𝑆 𝑏𝑏 ). In order to simplify the notation, we will denote it by 𝕤𝕤b𝑙𝑙 .
Thus, the products are stored in 𝑆𝑆 shelves of the carousel. In order to evaluate the completion time for batch b, we need to know the shelves visited by this batch. For instance, if 𝕤𝕤 = {1,2,3,4} then 𝑆𝑆=4, implying that there are 4 shelves in the carousel. If 𝕤𝕤b = {2, 3} then there are 2 shelves to visit for batch b over the 4 shelves. In this case, 𝑆𝑆 𝑏𝑏 =2 and 𝕤𝕤1b =2, meaning that the first shelf to visit is the shelf n° 2. We denote by C the total completion time for all batches. This time includes the total time during which the picker waits in front of the carousel, denoted by W, and the total picking time, denoted by P. The picking time is the time during which the picker retrieves products from the carousel. Clearly, we have C=W+P.
The completion time for a given batch b is 𝑪𝑪𝑏𝑏 , it is equal to the sum of the waiting time, 𝑊𝑊 𝑏𝑏 and the picking time, 𝑃𝑃𝑏𝑏 . We have: 𝑪𝑪𝑏𝑏 = 𝑊𝑊 𝑏𝑏 + 𝑃𝑃𝑏𝑏 .
We now introduce the notations used for each shelf. There is a waiting time and a picking time associated with each shelf that the picker has to visit on the carousel. We denote by 𝑊𝑊𝑙𝑙𝑏𝑏 the waiting time for the l-th shelf associated with batch b and 𝑃𝑃𝑙𝑙𝑏𝑏 the picking time on this shelf. The time required to wait and collect items from the l-th visited shelf is given by 𝑪𝑪𝑏𝑏𝑙𝑙 = 𝑊𝑊𝑙𝑙𝑏𝑏 + 𝑃𝑃𝑙𝑙𝑏𝑏 . Thus, we have: 𝐵𝐵
𝐵𝐵
𝐵𝐵
𝑆𝑆 𝑏𝑏
𝑪𝑪 = ∑ 𝑪𝑪 = ∑(𝑊𝑊 + 𝑃𝑃 ) = ∑ ∑(𝑊𝑊𝑙𝑙𝑏𝑏 + 𝑃𝑃𝑙𝑙𝑏𝑏 ) 𝑏𝑏=1
𝑏𝑏
𝑏𝑏=1
𝑏𝑏
𝑏𝑏
a unit picking time p. In practice, this depends on the dimension of the product, the number of items to collect and the different operations that have to be done during the collection. In general, p does not vary a lot in a given pod. 2.2 Evaluation of the Completion time with one carousel We now evaluate the completion time required for retrieving B batches from one carousel with one picker. We will first present an example for one given batch and then give the general formula. We consider the following example (see Fig.3): 𝑆𝑆 𝑏𝑏 = 3; 𝐿𝐿𝑏𝑏1 = 2; 𝐿𝐿𝑏𝑏2 = 1; 𝐿𝐿𝑏𝑏3 = 2. The number of browsed shelves : 𝐾𝐾1𝑏𝑏 = 0; 𝐾𝐾2𝑏𝑏 = 3; 𝐾𝐾3𝑏𝑏 = 2. p
𝑷𝑷𝒃𝒃𝟏𝟏 𝑪𝑪𝒃𝒃𝟏𝟏
p
r
r
𝑾𝑾𝒃𝒃𝟐𝟐
r
𝑪𝑪𝒃𝒃𝟐𝟐
p
𝑪𝑪𝒃𝒃
𝑷𝑷𝒃𝒃𝟐𝟐
r
𝑾𝑾𝒃𝒃𝟑𝟑
r
p
𝑪𝑪𝒃𝒃𝟑𝟑
𝑷𝑷𝒃𝒃𝟑𝟑
p
Fig 3. Illustration of the completion time with one carousel
In this example, the picker begins batch b by retrieving 2 lines on the first shelf since 𝐿𝐿𝑏𝑏1 = 2. Then, he waits until the carousel reaches the second shelf to visit, which requires 3r units of time since 𝐾𝐾2𝑏𝑏 = 3. The picker collects one line from this second shelf (since 𝐿𝐿𝑏𝑏2 = 1). He then waits until the third shelf becomes available (which takes 2*r units of time since 𝐾𝐾3𝑏𝑏 = 2). Finally, he collects two lines (since 𝐿𝐿𝑏𝑏3 = 2), which finishes this batch. Thus, the completion time for this batch b is: 2 ∗ 𝒑𝒑 + 3 ∗ 𝑟𝑟 + 𝒑𝒑 + 2 ∗ 𝑟𝑟 + 2 ∗ 𝒑𝒑 = 5 ∗ 𝑟𝑟 + 5 ∗ 𝒑𝒑
𝑏𝑏=1 𝑙𝑙=1
In general, the completion time for one batch is:
We now present the system parameters:
- p: unit picking time, i.e. the time required to collect one order line (i.e. a given quantity of a given product associated with a given customer order). - r: time required by the carousel to rotate from a given shelf to the next shelf. This time is assumed to be constant.
- 𝐿𝐿𝑏𝑏𝑙𝑙 : number of order lines that must be collected on the l-th shelf visited by batch b.
𝑆𝑆 𝑏𝑏
𝑆𝑆 𝑏𝑏
𝑪𝑪𝑏𝑏 = ∑(𝑊𝑊𝑙𝑙𝑏𝑏 + 𝑃𝑃𝑙𝑙𝑏𝑏 ) = ∑(𝐾𝐾𝑙𝑙𝑏𝑏 ∗ 𝑟𝑟 + 𝐿𝐿𝑏𝑏𝑙𝑙 ∗ 𝒑𝒑) 𝑙𝑙=1 𝑆𝑆 𝑏𝑏
𝑆𝑆 𝑏𝑏
𝑙𝑙=1
𝑙𝑙=1
𝑙𝑙=1
= 𝑟𝑟 ∗ ∑ 𝐾𝐾𝑙𝑙𝑏𝑏 + 𝒑𝒑 ∗ ∑ 𝐿𝐿𝑏𝑏𝑙𝑙 .
The completion time for all batches is expressed by: 𝐵𝐵
𝐵𝐵
𝑆𝑆 𝑏𝑏
𝑆𝑆 𝑏𝑏
𝑏𝑏=1
𝑏𝑏=1
𝑙𝑙=1
𝑙𝑙=1
- 𝐾𝐾𝑙𝑙𝑏𝑏 : number of shelves that the carousel has to browse between the (l-1)-th shelf and the l-th shelf of batch b.
𝑪𝑪 = ∑ 𝑪𝑪𝑏𝑏 = ∑ (∑ 𝐾𝐾𝑙𝑙𝑏𝑏 ∗ 𝑟𝑟 + ∑ 𝐿𝐿𝑏𝑏𝑙𝑙 ∗ 𝑝𝑝)
The main model assumptions are described hereafter. There is one picker in front of the carousel. We assume that the first shelf to visit for a given batch b is immediately available, therefore 𝐾𝐾1𝑏𝑏 = 0. This hypothesis is realistic since the carousel usually has enough time to go to the desired shelf between two batches. We consider that the total rotating time of the carousel required to reach the l-th shelf associated with batch b depends on the travelled distance and is equal to 𝐾𝐾𝑙𝑙𝑏𝑏 ∗ 𝑟𝑟. We consider a realistic situation where the picking time is assumed to be proportional to the number of order lines to collect on a given shelf, 𝑃𝑃𝑙𝑙𝑏𝑏 = 𝐿𝐿𝑏𝑏𝑙𝑙 ∗ 𝒑𝒑. Note that the picking time required to collect one order line is constant and equals to
As we can see, the waiting time of the picker depends on the total number of order lines to be collected and on the distance travelled by the carousel (indeed, the picker has to wait when the carousel is rotating and this rotation time depends on the travelled distance between the different shelves that have to be visited). Note that the total picking time for all batches 𝑆𝑆 𝑏𝑏 𝑏𝑏 (namely, p*∑𝐵𝐵𝑏𝑏=1 ∑𝑙𝑙=1 𝐿𝐿𝑙𝑙 ) is constant as the total number of order lines to be collected is constant and p is a fixed parameter. Therefore, given that r is also a constant parameter, minimizing the total completion time is equivalent to minimizing the distance travelled by the carousel.
1131
Proceedings of the 20th IFAC World Congress Toulouse, France, July 9-14, 2017 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113
2.3 Optimization model In this section, we present the order batching optimization model in case of one carousel. We let 𝑈𝑈𝑠𝑠 𝑜𝑜 be an input parameter that is equal to 1 if order o visits shelf s, 0 otherwise. The model decision variables are: 𝑥𝑥𝑜𝑜𝑏𝑏
𝑉𝑉𝑠𝑠𝑏𝑏
= 1 if order o is included in batch b; 0 otherwise.
We denote by 𝐷𝐷𝑏𝑏 the minimal distance travelled by the carousel in order to collect items from all shelves that have to be visited for batch b. Recall that the first shelf is immediately available, implying that the traveling distance is equal to zero if there is only one shelf to visit. In case of several shelves having to be visited, finding the minimal distance travelled by the carousel is equivalent to finding the minimal distance in a circle visiting a set of points.
Fig 4. Circle representation
∑𝑂𝑂𝑜𝑜=1 𝑥𝑥𝑜𝑜𝑏𝑏 ≤ 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵, ∀𝑏𝑏 ∈ ℬ
(2)
𝐷𝐷𝑏𝑏 = 𝑆𝑆 − 𝑚𝑚𝑚𝑚𝑚𝑚 𝐷𝐷𝑠𝑠𝑏𝑏 , ∀𝑏𝑏 ∈ ℬ
(4)
𝑉𝑉𝑠𝑠𝑏𝑏 = ∑𝑂𝑂𝑜𝑜=1 𝑥𝑥𝑜𝑜𝑏𝑏 ∗ 𝑈𝑈𝑠𝑠 𝑜𝑜 , ∀𝑏𝑏 ∈ ℬ, ∀𝑠𝑠 ∈ 𝕤𝕤
For example, in a circle where we have to visit 3 points (i, j and k) with the following distances between these points: A=[i;j]; B=[j;k]; C=[k;i]. We see that the minimum travelled is A+B, also equal to the total distance in the circle (A+B+C) minus the largest distance between two consecutive points (the largest distance here is C).
We have 𝑆𝑆 𝑏𝑏 = ∑𝑆𝑆𝑠𝑠=1 𝑉𝑉𝑠𝑠𝑏𝑏
Let 𝑄𝑄𝑏𝑏 be the vector of size 𝑆𝑆 𝑏𝑏 including the numbers of the shelves visited during batch b in the increasing order of numbers. More precisely, 𝑄𝑄𝑏𝑏 (1) is equal to the number of the visited shelf having the lowest shelf number, …, 𝑄𝑄𝑏𝑏 (𝑆𝑆 𝑏𝑏 ) is the number of the visited shelf having the biggest number. Therefore, we have 𝑄𝑄𝑏𝑏 (1) < 𝑄𝑄𝑏𝑏 (2) < ⋯ < 𝑄𝑄𝑏𝑏 (𝑆𝑆 𝑏𝑏 )
(3)
𝑙𝑙
If 𝑆𝑆 𝑏𝑏 = ∑𝑆𝑆𝑠𝑠=1 𝑉𝑉𝑠𝑠𝑏𝑏 = 1 Db = 0, ∀𝑏𝑏 ∈ ℬ
If 𝑆𝑆 = 𝑏𝑏
= 1 if shelf s is visited by batch b; 0 otherwise.
1109
∑𝑆𝑆𝑠𝑠=1 𝑉𝑉𝑠𝑠𝑏𝑏 > 1, ∀𝑏𝑏 ∈ ℬ, ∀s ∈ 𝕤𝕤 𝐷𝐷𝑙𝑙𝑏𝑏 = 𝑄𝑄𝑏𝑏 (l) − 𝑄𝑄𝑏𝑏 (l − 1) ∀𝑙𝑙 𝐷𝐷1𝑏𝑏 = 𝑆𝑆 − 𝑄𝑄𝑏𝑏 (𝑆𝑆 𝑏𝑏 ) + 𝑄𝑄𝑏𝑏 (1)
∈ {2, … , 𝑆𝑆 𝑏𝑏 )
(5) (6) (7)
Constraints (1) ensure that each order is included in only one batch. Constraints (2) guarantee that the maximal batch size is respected, i.e. there is no more than Bmax orders per batch. Constraints (3) compute variable 𝑉𝑉𝑠𝑠𝑏𝑏 , a shelf s has to be visited if at least one order of batch b visits shelf s. Finally, constraints (4) to (7) serve to compute the minimal distance travelled by the carousel. 2.4 Case study We conducted several numerical experiments in order to evaluate the gain reached by using our model in practice. The data were obtained thanks to our collaboration with the company KLS Logistic systems, a French editor of Warehouse Management Systems. The data are extracted from the database of an Hospital in France, corresponding to the customers’ orders received over several days. We take 5 days into account for our study. The actual batching strategy of the hospital is to include into a batch the orders of the day until Bmax is reached and then filling the next batch until all orders are included in a batch. According to the hospital practice, Bmax is equal to 6 orders per batch.
Let 𝐷𝐷𝑠𝑠𝑏𝑏 is the distance between shelf s and the nearest shelf having a number lower than s.
The comparison is based on two parameters: The first parameter is the total distance savings (denoted by “Gains W”) since the savings in travelled distance lead proportionally to savings in waiting time. The second parameter is the total completion time (Gains C).
Recall also that the distance travelled by the carousel between two batches is not considered here. We consider that this distance is done in masked time while new bins come in the pod. This assumption is even more realistic if the carousel can rotate in both directions, since in this case the carousel has 2 possibilities to join the first tray of the new batch. We can note that most carousels in companies are bi-directional, justifying even more our assumption.
For the comparison, we assume that the time required by the carousel to move from one shelf to the next one equals 1 unit of time; therefore, r=1. According to KLS Logistic systems, in this situation, a realistic picking time per order line is also equal to 1. Therefore, p=1. Our model was solved to optimality with CPLEX on an Intel Core i3 dual 2.27 GHz with 3Go Ram and running under the environment windows 7 professional 32 bits.
Recall that minimizing the completion time is equivalent to minimizing the total distance travelled by the carrousel. We present our optimization model. We note that this is a Mix Integer Linear Program (MILP).
Table 1 summarizes the results of the comparison between the actual batching strategy and our model. In this table, 5 instances were considered and each of them corresponds to a given day of customers’ orders. We also give the number of orders that we have to batch per day and the associated number of order lines. Instances that were not solved to optimality after 1800 seconds are denoted by “1800*”. For these instances, we took the best feasible solution obtained after 30 minutes.
𝐵𝐵
Minimize ∑ 𝐷𝐷𝑏𝑏 𝑏𝑏=1
Subject to:
∑𝐵𝐵𝑏𝑏=1 𝑥𝑥𝑜𝑜𝑏𝑏 = 1, ∀o ∈ ϴ
(1)
1132
Proceedings of the 20th IFAC World Congress 1110 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113 Toulouse, France, July 9-14, 2017
Clearly, we also have the following relations between the different lead times:
Table 1: Model performances for the French Hospital
𝑆𝑆𝑐𝑐𝑏𝑏
𝑆𝑆𝑐𝑐𝑏𝑏
Instance
NB Orders
NB lines
Distance our approach
Distance actual approach
Gains W
Gains C
Computation time (seconds)
Day 1
31
234
145
203
29%
13%
163
Day 2
32
101
111
200
45%
30%
184
𝑪𝑪 = ∑ 𝑪𝑪 =
Day 3
46
128
171
281
39%
27%
1722
We now introduce the following system parameters:
Day 4
50
243
173
306
43%
24%
1800*
Day 5
72
372
207
421
51%
27%
1800*
𝐵𝐵
𝑏𝑏=1
As we can observe, the gain of our model in terms of waiting time (or distance travelled by the carousel) ranges from 29% to 51% and the gain in terms of completion time ranges from 13% to 30%. In general, the larger the number of orders, the bigger the gain obtained by using our model in terms of waiting time. By increasing the number of orders, we also increase the number of possible combinations, likely leading to bigger savings. 3.
ORDER BATCHING WITH SEVERAL CAROUSELS
In this section, the picker has to retrieve several batches of orders from a pod with carousels with the objective of minimizing the total completion time. First we introduce the new notations and assumptions made. Then, an evaluation of the total completion time is provided followed by the optimization model and the case study. 3.1 Notations and assumptions The previous notations and assumptions still hold and we add new notations triggered by the consideration of several carousels. We let C be the total number of carousels and the set of all carousel is 𝕔𝕔 indexed by c (c= 1,..,C). The total number of shelves of carousel c is denoted by 𝑆𝑆𝑐𝑐 . For batch b, the number of shelves to visit by the carousel c is denoted by 𝑆𝑆𝑐𝑐𝑏𝑏 and the associated vector is 𝕤𝕤b𝑐𝑐 .𝕤𝕤b𝑐𝑐 (𝑙𝑙) will be the l-th shelf that carousel c has to visit (l=1, ...,𝑆𝑆𝑐𝑐𝑏𝑏 ). To simplify the notation, we will denote it by 𝕤𝕤b𝑐𝑐 𝑙𝑙 .
In order to evaluate the completion time, we need to know the shelves that have to be visited for a given batch. If 𝕤𝕤c = {1,2,3,4}, therefore 𝑆𝑆𝑐𝑐 =4, meaning that there are 4 shelves in the carousel c. If 𝕤𝕤bc = {2,3}, it means that there are 2 shelves to visit for batch b over the 4 shelves of the carousel c. In this case 𝑆𝑆𝑐𝑐𝑏𝑏 =2 and 𝕤𝕤b𝑐𝑐 1 =2 implying that the first shelf visited in carousel c is shelf number 2.
We let 𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 denote the waiting time of the picker before collecting items from the l-th shelf that has to be visited on carousel c for batch b. It represents the time during which the picker is waiting in front of carousel c before retrieving items from the l-th shelf of batch b. We denote by 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐 the time required to collect items from the l-th shelf of carousel c for batch b. We have the following relations: 𝑊𝑊𝑙𝑙𝑏𝑏 = ∑𝐶𝐶𝑐𝑐=1 𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 and 𝑃𝑃𝑙𝑙𝑏𝑏 = ∑𝐶𝐶𝑐𝑐=1 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐
𝑏𝑏
𝐵𝐵
∑ ∑(𝑊𝑊𝑙𝑙𝑏𝑏
𝑏𝑏=1 𝑙𝑙=1
+
𝑃𝑃𝑙𝑙𝑏𝑏 )
𝐵𝐵
𝐶𝐶
= ∑ ∑ ∑(𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 + 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐 ) 𝑏𝑏=1 𝑙𝑙=1 𝑐𝑐=1
- 𝐿𝐿𝑏𝑏𝑙𝑙 𝑐𝑐 : number of order lines that have to be collected on the lth shelf visited by carousel c for batch b.
- 𝐾𝐾lbc : distance travelled by carousel c, for batch b, before reaching the l-th shelf to visit.
We recapitulate hereafter the different modelling assumptions. As in the previous case, each carousel is Mono directional. We assume that the first shelf to be visited in each carousel is immediately available, therefore 𝐾𝐾1𝑏𝑏𝑐𝑐 = 0, ∀𝑐𝑐 ∈ 𝕔𝕔. We impose the sequence of visiting the carousels. For given batch b, the picker begins by the carousel having the largest number of shelves to visit for this batch (denoted by carousel 1). The second carousel (carousel 2) will be the one with the second largest number of shelves to be visited, and so on until the last carousel which has the lowest number of shelves to be visited. After collecting items on the first shelves of all carousels, the picker restarts another round with the same sequence until all items of batch b are retrieved. Note that the first carousel visited for batch b is not necessary the first carousel visited for another batch b’. For the system parameters, we consider that the total rotating time of carousel c, required to reach the l-th shelf to visit for batch b, depends on the distance to travel by this carousel and is equal to 𝐾𝐾𝑙𝑙𝑏𝑏𝑐𝑐 ∗ 𝑟𝑟. Regarding the picking time, we still assume that this time depends on the number of order lines to collect on a given shelf, 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐 = 𝐿𝐿𝑏𝑏𝑙𝑙 𝑐𝑐 ∗ 𝒑𝒑. 3.2. Evaluation of the completion time In order to simplify the presentation of the problem for such a complex real-world system, we first give an example of calculation of the total completion time and then provide the general formula. For this example, we assume that the unit rotating time for any given carousel is equal to the time required by the picker to collect one order line. Note that, according to KLS logistic systems, this hypothesis is realistic. In this example, we consider 3 Carousels. Hence C=3. These carousels have the following parameters for batch b and an illustration of this example is presented in Fig. 5: 𝑆𝑆1𝑏𝑏 = 5; 𝐿𝐿𝑏𝑏1 1 = 1; 𝐿𝐿𝑏𝑏2 1 = 1; 𝐿𝐿𝑏𝑏3 1 = 2; 𝐿𝐿𝑏𝑏4 1 = 1 ; 𝐿𝐿𝑏𝑏5 1 = 1. The distances travelled by this carousel are: 𝐾𝐾1𝑏𝑏1 = 0; 𝐾𝐾2𝑏𝑏1 = 2; 𝐾𝐾3𝑏𝑏1 = 5; 𝐾𝐾4𝑏𝑏1 = 2; 𝐾𝐾5𝑏𝑏1 = 3.
𝑆𝑆2𝑏𝑏 = 4; 𝐿𝐿𝑏𝑏1 2 = 2; 𝐿𝐿𝑏𝑏2 2 = 1; 𝐿𝐿𝑏𝑏3 2 = 1; 𝐿𝐿𝑏𝑏4 2 = 2 . The associated distances are: 𝐾𝐾1𝑏𝑏2 = 0; 𝐾𝐾2𝑏𝑏2 = 4; 𝐾𝐾3𝑏𝑏2 = 5; 𝐾𝐾4𝑏𝑏2 = 5.
1133
Proceedings of the 20th IFAC World Congress Toulouse, France, July 9-14, 2017 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113
𝑆𝑆3𝑏𝑏 = 3; 𝐿𝐿𝑏𝑏1 1 = 1; 𝐿𝐿𝑏𝑏2 1 = 1; 𝐿𝐿𝑏𝑏3 1 = 2. The associated distances are:𝐾𝐾1𝑏𝑏3 = 0; 𝐾𝐾2𝑏𝑏3 = 2; 𝐾𝐾3𝑏𝑏3 = 7.
1111
wait 𝑊𝑊5𝑏𝑏1 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾5𝑏𝑏1 ∗ 𝑟𝑟 − 𝑃𝑃4𝑏𝑏2 − 𝑊𝑊4𝑏𝑏2 ; 0) = 𝑟𝑟. Finally, the picker collects products from the fifth shelf to visit by the carousel 1, which takes 𝑃𝑃5𝑏𝑏1 = 𝒑𝒑. We can now give the total completion time of this example: 𝐵𝐵
𝑆𝑆𝑐𝑐𝑏𝑏
𝐶𝐶
𝑪𝑪 = ∑ ∑ ∑(𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 + 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐 ) = 7 ∗ 𝑟𝑟 + 16 ∗ 𝒑𝒑 𝑏𝑏=1 𝑙𝑙=1 𝑐𝑐=1
Fig. 5: Illustration of the completion time with multiple carousels As assumed, the picker begins by collecting the order line on the first shelf of the first carousel (since 𝐿𝐿𝑏𝑏1 1 = 1), which requires the picking time 𝑃𝑃1𝑏𝑏1 = 𝒑𝒑. He then moves to the second carousel and collects 2 lines from this carousel (since 𝐿𝐿𝑏𝑏1 2 = 2) which requires 𝑃𝑃1𝑏𝑏2 = 2 ∗ 𝒑𝒑. He moves to the third carousel and collects one order line (since 𝐿𝐿𝑏𝑏1 3 = 1), this operation takes 𝑃𝑃1𝑏𝑏3 = 𝒑𝒑. Note that there is no waiting time as we assumed that the first shelf of each carousel is available at the beginning of the batch. After this first round, the picker goes back to the first carousel and starts the second round by collecting one order line (since 𝐿𝐿𝑏𝑏2 1 = 1), which takes 𝑃𝑃2𝑏𝑏1 = 𝒑𝒑. The picker will wait in front of this carousel if the time he spends on the other carousels (in the first round) is bigger than the time spent by the first carousel to rotate until reaching the second shelf to be visited. In our example, there is no waiting time in the second round in front of the first carousel, 𝑊𝑊2𝑏𝑏1 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾2𝑏𝑏1 ∗ 𝑟𝑟 − 𝑃𝑃1𝑏𝑏2 − 𝑃𝑃1𝑏𝑏3 ; 0) = 𝑚𝑚𝑚𝑚𝑚𝑚(2 ∗ 𝑟𝑟 − 2 ∗ 𝑝𝑝 − 𝑝𝑝; 0) = 𝑚𝑚𝑚𝑚𝑚𝑚(2 ∗ 𝑟𝑟 − 3 ∗ 𝑝𝑝; 0) = 0.
The picker then moves to the second carousel. The waiting time in front of the second carousel in the second round is 𝑊𝑊2𝑏𝑏2 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝑟𝑟 ∗ 𝐾𝐾2𝑏𝑏2 − 𝑃𝑃1𝑏𝑏3 − 𝑊𝑊2𝑏𝑏1 − 𝑃𝑃2𝑏𝑏1 ; 0) = 𝑚𝑚𝑚𝑚𝑚𝑚(4𝑟𝑟 − 𝑝𝑝 − 0 − 𝑝𝑝) = 2 ∗ 𝑟𝑟. Then, the picker collects 1 line (as Lb2 2 = 1), which takes 𝑃𝑃2𝑏𝑏2 = 𝒑𝒑. Similarly, there is no waiting time in front of the third carousel as 𝑊𝑊2𝑏𝑏3 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾2𝑏𝑏3 ∗ 𝑟𝑟 − 𝑃𝑃2𝑏𝑏1 − 𝑊𝑊2𝑏𝑏1 − 𝑊𝑊2𝑏𝑏2 − 𝑃𝑃2𝑏𝑏2 ; 0) = 0. The picker can directly collect the line on this carousel and 𝑃𝑃2𝑏𝑏3 = 𝒑𝒑.
The same method holds for the third shelf to visit on the different carousels. Therefore, the waiting in front of the first carousel in the third round is 𝑊𝑊3𝑏𝑏1 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾3𝑏𝑏1 ∗ 𝑟𝑟 − 𝑊𝑊2𝑏𝑏2 − 𝑃𝑃2𝑏𝑏2 − 𝑊𝑊2𝑏𝑏3 − 𝑃𝑃2𝑏𝑏3 ; 0) = 𝑟𝑟. The corresponding picking time is 𝑃𝑃3𝑏𝑏1 = 2 ∗ 𝒑𝒑. For the second carousel, 𝑊𝑊3𝑏𝑏2 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾3𝑏𝑏2 ∗ 𝑟𝑟 − 𝑊𝑊2𝑏𝑏3 − 𝑃𝑃2𝑏𝑏3 − 𝑊𝑊3𝑏𝑏1 − 𝑃𝑃3𝑏𝑏1 ; 0) = 𝑟𝑟 and the picking time is 𝑃𝑃3𝑏𝑏2 = 𝒑𝒑. For the third carousel, the waiting time is 𝑊𝑊3𝑏𝑏3 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾3𝑏𝑏3 ∗ 𝑟𝑟 − 𝑊𝑊3𝑏𝑏2 − 𝑃𝑃3𝑏𝑏2 − 𝑊𝑊3𝑏𝑏1 − 𝑃𝑃3𝑏𝑏1 ; 0) = 2 ∗ 𝑟𝑟 and the picking time is equal to 𝑃𝑃3𝑏𝑏3 = 2 ∗ 𝒑𝒑.
The fourth round starts directly by the picking operation (no waiting) since 𝑊𝑊4𝑏𝑏1 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾4𝑏𝑏1 ∗ 𝑟𝑟 − 𝑊𝑊3𝑏𝑏2 − 𝑃𝑃3𝑏𝑏2 − 𝑊𝑊3𝑏𝑏3 − 𝑃𝑃3𝑏𝑏3 ; 0) = 0 and this picking time 𝑃𝑃4𝑏𝑏1 = 𝒑𝒑. For the second carousel, 𝑊𝑊4𝑏𝑏2 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾4𝑏𝑏2 ∗ 𝑟𝑟 − 𝑊𝑊4𝑏𝑏1 − 𝑃𝑃4𝑏𝑏1 − 𝑊𝑊3𝑏𝑏3 − 𝑃𝑃3𝑏𝑏3 ; 0) = 0 and the picking time 𝑃𝑃4𝑏𝑏1 = 2 ∗ 𝒑𝒑. As there is no product to collect on the third carousel (since 𝑆𝑆3𝑏𝑏 = 3), the picker moves to carousel 1 and begins fifth round. He has to
As we can observe in the example, reducing the completion time depends on the ability of working with masked time. The masked time refers to when a carousel is rotating while the picker is busy (doing collect) on the other carousels, implying less waiting time for the picker. The general formula for the completion time is given by: 𝑏𝑏 𝑏𝑏 𝐶𝐶 𝑐𝑐 𝑪𝑪 = ∑𝑩𝑩 𝒃𝒃=𝟏𝟏 ∑𝑙𝑙=1 ∑𝑐𝑐=1(𝑊𝑊𝑙𝑙 𝑐𝑐 + 𝑃𝑃𝑙𝑙 𝑐𝑐 ) . 𝑆𝑆 𝑏𝑏
The picking time 𝑃𝑃𝑙𝑙𝑏𝑏𝑐𝑐 = 𝐿𝐿𝑏𝑏𝑙𝑙 𝑐𝑐 ∗ 𝒑𝒑. The waiting time per shelf per carousel 𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 mustconsider the masked time. It includes the following components: 1- the time required by carousel c to rotate from shelf (l-1) to shelf l; this time depends on the distance that the carousel has to travel, 𝐾𝐾𝑙𝑙𝑏𝑏𝑐𝑐 and the constant time, r.
2- the time spent by the picker to collect items from carousel (c+1) to carousel C regarding the (l-1)-th shelf and from carousel 𝑏𝑏 1 to (c-1) for the l-th shelf. This time is equal to ∑𝑐𝑐−1 𝑖𝑖=1 (𝐿𝐿𝑙𝑙 𝑖𝑖 ∗ 𝒑𝒑) + 𝑏𝑏 𝐶𝐶 ∑𝑖𝑖=𝑐𝑐+1(𝐿𝐿𝑙𝑙−1 𝑖𝑖 ∗ 𝒑𝒑).
3- the waiting times occurring in front of carousel c+1 to C for the (l-1)-th shelf and in front of carousel 1 to c-1 for the l-th shelf. 𝑏𝑏 𝐶𝐶 𝑏𝑏 This time is ∑𝑐𝑐−1 𝑖𝑖=1 𝑊𝑊𝑙𝑙 𝑖𝑖 + ∑𝑖𝑖=𝑐𝑐+1 𝑊𝑊𝑙𝑙−1 𝑖𝑖
Thus, there is a waiting time in front of the l-th shelf to be visited by carousel c for batch b if (1) -(2) -(3) leads to a negative value. 𝑐𝑐−1 (𝑊𝑊𝑙𝑙𝑏𝑏𝑖𝑖 + 𝐿𝐿𝑏𝑏𝑙𝑙 𝑖𝑖 ∗ 𝒑𝒑) + 𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾𝑙𝑙𝑏𝑏𝑐𝑐 ∗ 𝑟𝑟 − (∑𝑖𝑖=1 𝑏𝑏 𝑏𝑏 𝐶𝐶 ∑𝑖𝑖=𝑐𝑐+1(𝑊𝑊𝑙𝑙−1 𝑖𝑖 + 𝐿𝐿𝑙𝑙−1 𝑖𝑖 ∗ 𝒑𝒑)); 0) ∀𝑐𝑐 > 1 and 𝑙𝑙 > 1
𝑏𝑏 𝑏𝑏 𝑊𝑊𝑙𝑙𝑏𝑏1 = 𝑚𝑚𝑚𝑚𝑚𝑚(𝐾𝐾𝑙𝑙𝑏𝑏1 ∗ 𝑟𝑟 − ∑𝐶𝐶𝑖𝑖=2(𝑊𝑊𝑙𝑙−1 𝑖𝑖 + 𝐿𝐿𝑙𝑙−1 𝑖𝑖 ∗ 𝒑𝒑) ; 0) if 𝑙𝑙 > 1
𝑊𝑊𝑙𝑙𝑏𝑏𝑐𝑐 = 0 if 𝑙𝑙 = 1 as 𝐾𝐾1𝑏𝑏𝑐𝑐 = 0
3.3 Optimization model We now develop the optimization model for order batching with several carousels and then evaluate its performances on real data. Recall that the objective of companies is to reduce the completion time. The completion time function in case of multiple carousels is very complex. A mixed-integer constrained optimization model with such an objective function cannot be solved. Therefore, we decided to use an alternative objective function, which is the sum of the largest distance travelled by the carousels for each batch. We can argue that, under some conditions, minimizing the largest travelled distance (i.e. the sum of the largest distance travelled by each carousel) is equivalent to the minimization of the completion time. This is particularly true in case of one carousel (see precedent section). In addition, numerical experiments showed a positive correlation between
1134
Proceedings of the 20th IFAC World Congress 1112 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113 Toulouse, France, July 9-14, 2017
minimizing the largest travelled distance and minimizing the completion time. We observed in the previous section that the masked time has a significant impact on the waiting time. Therefore, we aim, by the choice of our criterion, to have as much as possible time masked. By reducing the maximum distance travelled among the carousels, we aim to balance the distance travelled among the carousels. Recall that the main decision of our model is the construction of batches from a given set of orders. The number of shelves of carrousel c is given by 𝑆𝑆𝑐𝑐 .and let 𝑈𝑈𝑠𝑠 𝑐𝑐 𝑜𝑜 be an input parameter that equals 1 if order o visits shelf s of carousel c, 0 otherwise. The model decision variables are:
𝑥𝑥𝑛𝑛𝑏𝑏 =1 if order n is included in batch b; 0 otherwise.
𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 =1 if shelf s of carousel c is visited by batch b; 0 otherwise.
The minimal distance per carousel will be computed as in the previous section, let 𝐷𝐷𝑐𝑐𝑏𝑏 be the minimal distance travelled by carousel c in order to visit all shelves associated with batch b (namely, shelves c such as 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 = 1). Let 𝐷𝐷𝑠𝑠𝑏𝑏𝑐𝑐 is the distance between shelf s and the nearest visited shelf that has a number lower than s. We will have 𝑆𝑆𝑐𝑐𝑏𝑏 = ∑𝑆𝑆𝑠𝑠=1 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐
Let 𝑄𝑄𝑏𝑏 𝑐𝑐 be the vector of size 𝑆𝑆𝑐𝑐𝑏𝑏 including the numbers of the shelves visited during batch b for carousel c in the increasing order of numbers of shelves. More precisely, 𝑄𝑄𝑏𝑏 𝑐𝑐 (1) is equal to the number of the visited shelf having the lowest shelf number of the carousel c, …, 𝑄𝑄𝑏𝑏 𝑐𝑐 (𝑆𝑆𝑐𝑐𝑏𝑏 ) is the number of the shelf having the biggest shelf number of the carousel c. Therefore, we have 𝑄𝑄𝑏𝑏 𝑐𝑐 (1) < 𝑄𝑄𝑏𝑏 𝑐𝑐 (2) < ⋯ < 𝑄𝑄𝑏𝑏 𝑐𝑐 (𝑆𝑆𝑐𝑐𝑏𝑏 ). The objective function is: 𝐵𝐵
𝑀𝑀𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 ∑ max 𝐷𝐷𝑐𝑐𝑏𝑏 𝑏𝑏=1
𝑐𝑐∈𝕔𝕔
The constraints are the following
∑𝐵𝐵𝑏𝑏=1 𝑥𝑥𝑜𝑜𝑏𝑏 = 1, ∀𝑜𝑜 ∈ ϴ ∑𝑂𝑂𝑜𝑜=1 𝑥𝑥𝑜𝑜𝑏𝑏 ≤ 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵, ∀𝑏𝑏 ∈ ℬ 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 = ∑𝑂𝑂𝑜𝑜=1 𝑥𝑥𝑜𝑜𝑏𝑏 ∗ 𝑈𝑈𝑠𝑠 𝑜𝑜 𝑐𝑐 , ∀𝑏𝑏 ∈ ℬ, ∀c ∈ 𝕔𝕔, ∀s ∈ 𝕤𝕤c 𝐷𝐷𝑐𝑐𝑏𝑏 = 𝑆𝑆𝑐𝑐 − 𝑚𝑚𝑚𝑚𝑚𝑚 𝐷𝐷𝑠𝑠𝑏𝑏𝑐𝑐 , ∀𝑏𝑏 ∈ ℬ Such as
𝑠𝑠
𝑐𝑐 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 = 1 Db𝑠𝑠 𝑐𝑐 = 0, ∀𝑏𝑏 ∈ ℬ, ∀c ∈ 𝕔𝕔 If 𝑆𝑆𝑐𝑐𝑏𝑏 = ∑𝑠𝑠=1
𝑆𝑆
𝑐𝑐 If 𝑆𝑆𝑐𝑐𝑏𝑏 = ∑𝑠𝑠=1 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 > 1 , ∀𝑏𝑏 ∈ ℬ, ∀c ∈ 𝕔𝕔
𝑆𝑆
travelled of carousel c in order to see all shelves associated with batch b. 3.4 Case study We conducted numerical experiments in order to evaluate the gain obtained by using our model in practice. The data are extracted from the database of a Swiss company, corresponding to the customers’ orders received over several days. We take 5 days into account for our study. The actual batching strategy of this company is to include into a batch the orders of the day until Bmax is reached and then filling the next batch until all orders are included in a batch. According to the hospital practice, Bmax is equal to 8 orders per batch. The comparison is based on 3 parameters: the total waiting time savings (denoted by Gains W), the total completion time (denoted by Gains C), and the criterion used in the objective function of our model. For the comparison, we assume that the time required by the carousel to move from one shelf to the next one equals 1 unit of time; therefore, r=1. According to KLS Logistic systems, in this situation, a realistic picking time per order line is also equal to 1. Therefore, p=1. We also study the impact of a higher value of the unit picking time by testing the cases p=2 and p=3. Our model was solved to optimality with CPLEX on an Intel Core i3 dual 2.27 GHz with 3Go Ram and running under the environment windows 7 professional 32 bits. Table 2 summarizes the results of the comparison between the actual batching strategy and our model based on the criterion of our objective function (the sum of largest distance travelled by the carousels for each batch). In this table, 5 instances were considered and each of them corresponds to a given day of customers’ orders. We provide the number of orders that we have to batch and the associated number of order lines. Concerning the resolution time, we can note that none of the following instances were solved to optimality within 30 minutes, that is why we took the best feasible solution after 30 minutes of computation time. Table 2: Model performance for the Swiss company
(8) (9) (10) (11)
(12)
- 𝐷𝐷𝑙𝑙𝑏𝑏𝑐𝑐 = 𝑄𝑄𝑏𝑏 𝑐𝑐 (𝑙𝑙) − 𝑄𝑄𝑏𝑏 𝑐𝑐 (𝑙𝑙 − 1) ∀𝑙𝑙 ∈ {2, … , 𝑆𝑆𝑐𝑐𝑏𝑏 )(13) (14) - 𝐷𝐷1𝑏𝑏 𝑐𝑐 = 𝑆𝑆𝑐𝑐 − 𝑄𝑄𝑏𝑏 𝑐𝑐 (𝑆𝑆 𝑏𝑏 ) + 𝑄𝑄𝑏𝑏 𝑐𝑐 (1)
Constraints (8) impose that an order is included in one and only one batch. Constraints (9) ensure that there is no more than Bmax orders per batch. Constraints (10) serve us to compute variable 𝑉𝑉𝑠𝑠𝑏𝑏𝑐𝑐 . A shelf s will be visited for batch b if there is at least one order included in this batch and having to visit shelf s. Constraints (11) to (14) compute the minimal distance
Instance
NB Orders
NB lines
CPLEX criterion
Actual approach
Savings
Computation time (sec)
Day 1
31
237
83
127
35%
1800*
Day 2
36
302
91
128
29%
1800*
Day 3
42
195
119
205
42%
1800*
Day 4
52
142
134
255
47%
1800*
Day 5
58
204
214
312
31%
1800*
We can observe that the savings (with regards to the used criterion) ranges from 29 % to 47% with an average savings of 37%. Nevertheless, we can observe that a significant computation time is required. We finally present in table 3 the results of comparison in terms of waiting time and completion time for the different values of r and p.
1135
Proceedings of the 20th IFAC World Congress Toulouse, France, July 9-14, 2017 Lenoble Nicolas et al. / IFAC PapersOnLine 50-1 (2017) 1106–1113
In case of several carousels, Cplex was not able to find the optimal solution in all tested instances. We stopped Cplex after 30minutes and took the best obtained feasible solution. However, there is a need to develop efficient solving approach for these instances. Our research could be extended by developing heuristics and metaheuristics in order to provide near optimal solutions under reasonable running time. We are working on this issue and our results are, so far, very promising.
Table 3: Savings in waiting time and completion time Instance
r=1; p=1
r=1; p=2
r=1; p=3
Gains W
Gains C
Gains W
Gains C
Gains W
Gains C
Day 1
51%
14%
65%
8%
56%
10%
Day 2
35%
11%
32%
5%
34%
4%
Day 3
37%
17%
47%
10%
52%
6%
Day 4
36%
22%
35%
13%
39%
10%
Day 5
49%
30%
56%
20%
65%
15%
The evolution of the savings is difficult to interpret because we compare savings between the actual strategy and ours. We can observe that overall, increasing the value of p leads to increasing the masked time and therefore to a decrease in waiting time for the picker. However, both the actual strategy and ours have shorter waiting times and the comparison of both cannot be easily interpreted. The gain obtained in terms of waiting time, under the realistic assumption p=r=1, ranges from 35% to 51% with an average savings of 42%. When the picking time equals 2*r, we have a savings of waiting time from 32% to 65% with an average of 47%. Similarly, when the picking time is equal to 3*r, the savings ranges from 34% to 65% with an average of 49%. This increase is due to the masked time: when the picker spends more time in the collect, it is likely that the other carousels will be available as soon as they are visited by the picker. In terms of completion time, the savings range from 11% to 30% in the realistic case with an average savings of 19%. With the second parameters setting (p=2*r) , the gain is between 5% and 20% with an average of 11%, and for the third setting where p=3*r, the savings range from 4% to 15% with an average of 9%. 4.
1113
CONCLUSION
This paper dealt with the order batching problem in warehouses equipped with carousels systems. We considered two different cases: a simple situation with one carousel and then a more realistic and complex situation with multiple carousels. In both cases, there is one picker in the pod. We started by evaluating the completion time required to collect a set of customers’ orders for a given batching strategy. In case of one carousel, minimizing the total completion time is equivalent to minimizing the distance travelled by the carousel. We considered this criterion in the objective function to be minimized. In case of multiple carousels, the obtained completion time function is very complex and cannot be used in the objective function (since otherwise the model cannot be solved). In this case, we showed that using an alternative objective (minimizing the sum of the largest distance travelled by the carousels on each batch) leads to great savings in terms of waiting time and completion time. We showed that our model outperforms the actual batching strategy used by two companies in all tested instances. The savings in terms of waiting time are about 42% in case of one carousel and the saving in terms of completion time are about 23%. Under the most realistic parameters setting for the case of multiple carousels, we showed that the savings in terms of waiting time are about 42% and the savings in terms of completion time are about 19%.
5.
REFERENCE
Bartholdi III J.J., and Platzman, L.K. (1986). Retrieval strategies for a carousel conveyor. IIE Transactions 18, pp. 166-173. Ha J.-W. and H. Hwang. (1994). Class-based storage assignment policy in carousel system. Computers & Industrial Engineering, 26(3):489–499. Hwang H. and Ha. J.-W. (1991) Cycle time models for single/double carousel system. International Journal of Production Economics, 25:129–140. Koster R.D. Le Duc T. Roodbergen, K.J. (2007). Design and control of warehouse order picking: A literature review. European Journal of Operational Research, 182 (2), 481501 Litvak N. & Vlasiou M. (2010). A survey on performance analysis of warehouse carousel systems, Statistica Neerlandica, 64(4), pp 401-447. Litvak N. (2001) Collecting n Items Randomly Located on a Circle. Ph.D. Thesis, Eindhoven, University of Technology, Eindhoven, The Netherlands. Pazour J.A. Meller R.D.(2013) The impact of batch retrievals on throughput performance of a carousel system serviced by a storage and retrieval machine, International Journal of Production Economics 142 (2), 332-342. Tompkins J.A., White, J.A., Bozer, Y.A., Tanchoco, J.M.A. (2003). Facilities Planning, 3rd edn, Wiley, New York, NY. Wang X. Wang G. and Li X. (2013). “Order Picking Optimization in Carousels Storage System,” Mathematical Problems in Engineering, vol. 2013, Article ID 692701, 8 pages, Weiss D. J. (1980). Computer controlled carousels. In Proceedings of the 3rd International Conference on Automation in Warehousing, pages 413–418, Stratfordupon-Avon, UK, IFS(Publications). Yu M., De Koster R. (2010). Enhancing performance in order picking processes by Dynamic Storage Systems. International Journal of Production Research, 48 (16), 4785-4806.
1136