OPTIMIZATION OF STORAGE CATEGORIZATION

Size: px
Start display at page:

Download "OPTIMIZATION OF STORAGE CATEGORIZATION"

Transcription

1 OPTIMIZATION OF STORAGE CATEGORIZATION A simulation based study of how categorization strategies affect the order fulfillment time in a multi-picker warehouse Linnea Nilsson & Linnea Tiensuu Master thesis, 30 ECTS Master of Science in Industrial Engineering and Management, 300 ECTS Spring 2018

2

3 Abstract The most costly and labor-intensive activity for almost every warehouse is the order picking process and a key challenge for manufacturing companies is to store parts in an efficient way. Therefore, to minimize the order retrieval time when picking from a storage, the need of a sufficient storage categorization strategy becomes vital. One of the logistics centers at Scania in Södertälje stores parts that will be transported to the chassis assembly and the assembly of gearboxes and axles when needed in the production. In one of the storage areas at the logistics center, namely the PS storage, the forklift drivers picking from the storage have experienced congestion in the storage aisles and that it might be possible to reduce the order fulfillment time when picking the orders. This master thesis aims to investigate the possibility of optimizing the picking process in the PS storage, with respect to the order fulfillment time for the forklift drivers, with categorization of the goods. This has been analyzed with a heuristic optimization approach and with the use of a discrete event simulation model, where different categorization strategies have been applied on the storage and compared to the current state. By categorizing the goods in the PS storage, a reduction of the order fulfillment time can be done of around 4% - 5% compared to the current state with all tested categorization strategies. The strategy which has been shown to give the largest improvement is by categorizing the parts in the storage according to their final delivery address at the production line, which would reduce the order fulfillment time by 5.03% compared to the current state. With this categorization method, parts that are picked on the same route are located close to each other. Keywords: Storage categorization, Multi-picker system, Multi-item order system, Storage Location Assignment Problem, Discrete event simulation

4 ii

5 Sammanfattning Den mest kostsamma och arbetsintensiva aktiviteten i nästan alla lager är plockningsprocessen, därav är en av de största utmaningarna för tillverkande företag att lagerhålla artiklar på ett effektivt sätt. För att minimera orderhämtningstiden i ett lager är därför en lämplig kategorisering av artiklarna i lagret nödvändig. Ett av logistikcentrena på Scania i Södertälje lagerhåller artiklar som sedan ska transporteras till chassimonteringen och monteringen för växellådor och axlar när de behövs i produktionen. I ett av lagerområdena på logistikcentret, nämligen PS-lagret, har truckförarna upplevt trängsel i lagergångarna samt att det kan vara möjligt att minska körtiden när de plockar i lagret. Syftet med detta examensarbete är att undersöka möjligheten att optimera plockningsprocessen i PS-lagret, med avseende på truckförarnas orderhämtningstid, genom att kategorisera artiklarna i lagret. Detta har analyserats med ett heuristiskt angreppssätt och med användningen av en diskret händelsesimulering, där olika kategoriseringsstrategier har implementerats i lagret och jämförts med nuläget. Genom att kategorisera artiklarna i PS-lagret kan orderhämtningstiden minskas med omkring 4% - 5% jämfört med nuläget, med alla testade kategoriseringsstrategier. Den strategi som visade sig ge den största förbättringen var att kategorisera artiklarna i lagret enligt deras slutliga leveransadress vid produktionen, vilket skulle minska orderhämtningstiden med 5.03% jämfört med nuläget. Med denna kategoriseringsstrategi placeras artiklar som plockas på samma runda nära varandra. Nyckelord: Lagerkategorisering, Multi-picker system, Multi-item order system, Storage Location Assignment Problem, Diskret händelsesimulering Svensk titel: Optimering av förrådskategorisering

6 iv

7 Acknowledgements We wish to thank all people that have contributed to this master thesis. Firstly, we wish to sincerely thank Pål Skogtjärn at Scania for the opportunity to perform this master thesis at the OLSX division and for believing in us and our work. We would also like to thank our supervisor at Scania, Carl Esping, for all the support and for providing us with all necessary resources and always answering our questions. An extra thanks also goes to Pär Mårtensson at Scania, for all the support and helpful tips about the simulation software ExtendSim and for your guidance when building our own simulation model. We also wish to thank our supervisor at Umeå university, Jonas Westin, for all the valuable support and feedback throughout this project. Your expertise within the optimization area, your enthusiasm and your ability to see our problems in new perspectives have been very valuable for us during this project. Last but not least we wish to thank everyone else at the OLSX division at Scania and all involved operators at the Logistics Center for always taking the time to answer our questions, encouraging our work and always making us feel welcome. Södertälje May 24, 2018 Linnea Nilsson & Linnea Tiensuu

8 vi

9 Contents 1 Introduction Scania CV AB Scania Logistics Center in Södertälje, OLS Background Purpose Research questions Delimitations Related work Disposition of project Outline Description of Current State Logistics Engineering, OLSX Storage of goods to the chassis assembly Program, Master and Development picking The PS Storage Theoretical Background Storage management Storage assignment strategies Clustering analysis Jaccard s similarity index Optimization theory Assignment Problem Storage Location Assignment Problem Method Data collection Software ExtendSim Microsoft Excel vii

10 viii CONTENTS 4.3 Mathematical modelling Formulation of model Categorization methods Description of categorization strategies Simulation model Description of model Verification of model Sensitivity analysis Construction of simulation tool Result Simulation result Queuing time Sensitivity analysis Number of racks per route Discussion Choice of optimization method Analysis of simulation result Analysis of queuing time Sensitivity analysis Further factors affecting the result Implementation of a categorization in practice Wider perspective Conclusions 43 8 Future Research 45 References 47 A Pseudo code I A.1 ABC-classification I A.2 Classification according to program II A.3 Classification according to delivery address II A.4 Classification according to Jaccard s similarity index III A.5 Random location strategy IV B Simulation model V

11 List of Figures 2.1 An overview of the area where buildings 210, 230 and 270 are located Overview of the layout design of the racks for the PS, CHP and LVF storage areas Overview of a part of the simulation model from ExtendSim Savings in order fulfillment time compared to the current state Total order fulfillment time in proportion to the current state Sensitivity analysis of the use of different disruptions in the model Average number of racks visited per route with the different categorization strategies B.1 Overview of the whole simulation model from ExtendSim VI B.2 Example of the input file which is inserted in the simulation model in ExtendSim VII B.3 Example of output from the simulation model in ExtendSim VIII ix

12 x LIST OF FIGURES

13 List of Tables 2.1 Distribution of the activity in the storage area Table of commonly used divisions of ABC-classification Savings in order fulfillment time for each categorization strategy compared to the current state Percentage of total order fulfillment time which was spent queuing Average and maximum number of visited racks per route xi

14 xii LIST OF TABLES

15 Abbreviations and Terminology Abbreviations AP FIFO LC RCAP SLAP Assignment Problem First In First Out Logistic Center Resource Constraint Assignment Problem Storage Location Assignment Problem Terminology Development picking Master picking MS Multi-picker system OL OLS Picking process for picking parts to the development line. Picking process for picking low volume parts into cages. The chassis assembly. Picking system with multiple pickers operating in the storage area. Scania Logistics Center Sweden, the department responsible of Scania s logistics activities in the Swedish factories. Scania s logistics center for the chassis assembly and the axle and gearbox assembly in Södertälje. OLSX The department of Logistics Engineering at OLS in Södertälje. Order fulfillment time Picker-to-part system Program picking Routing policy The total time of retrieving an order from the storage, including driving time, picking time and queuing time. A picking system where the picker travels to the storage location of the parts. Picking process for picking low volume parts into pallets. Policy for determining the driving behavior and routes of traveling. xiii

16 xiv

17 Chapter 1 Introduction This chapter gives an introduction to the project, including the problem background, purpose and the research questions that have been formulated for the project. Also, the delimitations which have been made, related studies and the disposition of the project are presented. 1.1 Scania CV AB This master thesis has been carried out with help from and in collaboration with Scania CV AB in Södertälje. Scania CV AB (henceforward entitled as Scania) is a global automotive manufacturer of commercial vehicles, producing heavy trucks and buses as well as diesel engines and other general industrial applications. Scania was founded in 1891 and has since then had the headquarter in Södertälje. Scania is a part of Volkswagen Truck & Bus and has more than employees in 100 countries all over the world [1] Scania Logistics Center in Södertälje, OLS Scania Logistics Center Sweden, OL, handles Scania s logistics activities in the Swedish factories and is divided into three areas in Södertälje and Oskarshamn. One of the two logistics centers in Södertälje, OLS, is responsible of the delivery of material to the chassis assembly and the assembly of gearboxes and axles, and they also handle packaging decomposition [8]. The OLS is managing the receiving of units per day, which are stored in a square meter storage area. The storage area consists of box store locations and pallet store locations, from where picks are done per day. Each day, pallets and boxes are delivered from the storage area to the chassis assembly and to the assembly of gearboxes and axles. The goods are delivered and received with logistics trains, each hour 14 trains go out from and 30 trains go in to the logistics center. 1

18 2 Chapter 1. Introduction 1.2 Background Every truck produced at Scania is unique and therefore different components need to be used for different trucks. Because of this, a lot in the production processes have to be coordinated, and it is important that the right parts are at the right place at the right time. If this is not done successfully, it will affect the production flow in several manners and furthermore it might lead to disruptions in the processes. The production system at Scania is based on a PULL-system, i.e. what is produced is based on the customers orders. This also means that the consumption of material and parts differs depending on what the customer has ordered. Scania offers a variety of products for the customers and several extra options are available, which increase the number of unique parts and the demand of storage. This also entails that all the material and parts used in the assemblies can not be placed in direct connection to the production line. To handle all the material it is necessary to have logistics centers, LC s, where low volume and bulky parts can be stored before they are transported to the assemblies in the right time for the production. To have a productive and efficient storage management, it is crucial to categorize the goods in an optimal way. A good way of categorizing the goods can minimize the driving time and distance for the forklift drivers working in the storage, which in turn reduces the non-value-adding time [15]. In one part of the storage area at the LC, namely the PS storage, it has been experienced that the forklift drivers some times have to wait in line to be able to pick their orders due to congestion in the storage aisles, and that it might be possible to reduce the driving distance while picking the orders. This specific storage does not have a specified categorization of the goods in it and it has been suggested that this might be the reason for the experienced inefficiency. 1.3 Purpose The purpose of this master thesis is to analyze and examine if it is possible to optimize the picking process, with respect to the order fulfillment time for the forklift drivers, in a certain storage with categorization of the goods. The project should also result in a general method of how to categorize a storage, that can be applied on other storage areas with similar conditions. 1.4 Research questions Based on the problem background and the purpose of the project, two research questions have been specified to define the most important areas to investigate. Is it possible to optimize the picking process, with respect to minimizing the order fulfillment time for the forklift drivers, by categorizing the goods? What characteristics of the goods need to be considered for obtaining an optimal categorization?

19 1.5. Delimitations Delimitations To make the project possible to go through with within the given time frame, the following delimitations regarding the scope of the project has been made. The optimization of storage categorization will be executed on a certain storage, the PS storage. Order history is only possible to receive from four months, and will be collected from the period May 29th 2017 to January 30th To achieve a trustworthy result of the study, the choice has been made to disregard potential changes that can be made in the specific storage area during the project s time frame. Hence, new categorization methods will be executed on the current conditions of the storage area and will not consider planned reconstructions. The study has been made without consideration of the possibility that the capacities (sizes) of the storage locations can be changed, hence the current sizes of the storage locations have been used for all analyzes. This further entails that other storage units within the concerned racks will remain at the same locations as in the current state. The categorization will only concern parts picked in one of the three picking processes in the PS storage, namely the picking process called Program picking. Parts entitled as heavy parts will not be considered in the categorization, and these parts will remain located at the specific area designated for this kind of parts. 1.6 Related work A lot of papers have been published within the area of storage management, containing studies of how to locate the goods in a storage in order to obtain an optimal storage assignment. Most studies have focused on reducing travel distance when picking in the storage. However, a study performed by Pan, Shih and Wu [13] has shown that with a multi-picker system, congestion may occur and it might therefore be more useful to instead aim to reduce the total order fulfillment time including both travel distance and waiting time. Another study worth mentioning was performed by Mindi, Manzini, Pareshi and Regattieri at the University of Bologna [3], who investigated different storage assignments of a warehousing system of an Italian food service company. Their results showed that by categorizing the warehouse according to different similarity indexes, a reduction of driving distance could be made of 5% - 6% compared to a random location strategy. Their study suggests that parts which often are on the same order in a multi-item order system are preferable to store close to each other.

20 4 Chapter 1. Introduction 1.7 Disposition of project The first phase of this project has been to understand and examine the current process of handling the material flow in the specific storage area. Relevant theories within the areas of storage management, categorization of warehouses and optimization models that can be applied to the problem were then evaluated. The next phase in the project has been to gather and analyze data about the different parts in the storage, collect order history and timekeeping of the forklifts working in the area. The theory, together with the data analysis and the analysis of the current state, has been used as a basis and motivation for the chosen categorization methods to test. With the use of a constructed simulation model of the storage area, the process of picking the goods has been simulated both with the current storage locations of the goods and with the chosen categorization methods. The total order fulfillment times with the use of the different categorization strategies have then been compared to find the best way of storing the goods. Finally, the procedure of categorizing the goods was compiled into a tool to be used at Scania, which also can be applied on other storages with similar conditions. 1.8 Outline This project report is divided into the following eight chapters: Chapter 1 contains a presentation of the project, including the problem background which has been used as a motivation for why this subject is interesting to investigate further, the purpose of the project and a description of the delimitations which have been made. Chapter 2 specifies the current methods of handling material in the specific area, including a description of the current method of locating the goods in the warehouse, as well as an accurate explanation of the process of picking goods in the storage. Chapter 3 evaluates different theories which are of relevance for the project, such as different categorization methods and a general mathematical model which can be applied to the problem. Chapter 4 describes in detail the method which has been used to solve the problem. This includes the collection of data, collection of measurements important for the construction of the simulation model, which software that have been used, a formulation of a mathematical model of the problem and an in-depth explanation of the simulation model constructed in ExtendSim. Chapter 5 presents the results generated from the simulation model and explains the main findings from the study. Chapter 6 contains an analysis and discussion of the results presented in chapter 5, as well as an evaluation of the choice of method and the implementation of the result in practice.

21 1.8. Outline 5 Chapter 7 presents a few conclusions which can be drawn from this study and describes under what circumstances the conclusions are valid. Chapter 8 presents suggestions of future work and development of this research.

22 6 Chapter 1. Introduction

23 Chapter 2 Description of Current State The following chapter contains a description of the operations at the concerned storage area at the logistic center, including an explanation of the current location of the goods and the picking process in the storage. The information in this chapter is gathered by communication with employees working with the concerned storage area and from internal documents at Scania. 2.1 Logistics Engineering, OLSX To manage all material that is needed in the production, it is necessary to have logistics centers, LC s, where goods that could not be stored at the material facades at the assembly lines due to lack of storage capacity can be stored. When the goods arrive to the LC, it is sorted and transported to different areas of the storage depending on what building the goods will be transported to from the LC. The goods are transported to their final destinations from the LC with logistics trains continuously. The department of Logistics Engineering, OLSX, is a part of one of the logistics centers in Södertälje, and focuses on logistical challenges regarding material flows and storage areas for parts that will be transported to the chassis assembly and the assembly of gearboxes and axles. In Figure 2.1, an overview of the area where these assemblies are located can be seen, where the chassis assembly is in building 230 and the axle and gearbox assembly is in building 210. All operations for the OLSX division take place foremost in building 270. The logistics developers at the OLSX division are responsible for planning and executing logistics projects in close collaboration with the production line organization. They participate in on-going improvement projects and work with handling of deviations and risks in the storage operations [2]. 7

24 8 Chapter 2. Description of Current State Figure 2.1: An overview of the area where buildings 210, 230 and 270 are located. 2.2 Storage of goods to the chassis assembly The storage area for parts going to the chassis assembly, MS, is divided into the following six different storage units, depending on what format the goods are stored in and in what size and frequency they are transported to the assembly. PS LVF CHP CB NCP LV Storage for low volume parts that are often specific for a specific truck or bus and are picked out of pallets. This is explained in detail later in the report, see Section Storage for parts picked out of boxes, which are used in the development line for new trucks. Storage for parts picked out of pallets, which are used in the development line for new trucks. Storage for smaller low volume parts that are picked out of boxes. Storage for parts that are transported in full pallets to the assembly. Storage for low value parts, as for example screws, that are transported to the assembly in different packages Program, Master and Development picking Goods stored in the PS, LVF and CHP storages are all located within the same storage area, consisting of 16 racks of different sizes, see Figure 2.2 of the layout design of the

25 2.2. Storage of goods to the chassis assembly 9 area. However, most of the storage locations within these racks are designated to the PS storage. The vertical lines in Figure 2.2 represent the storage racks and the square marked as input/output gates represents where the picking processes start and end. The picking in these specific racks is mostly done in accordance with three different material flows, which are collected in three different picking processes called Program picking, Master picking and Development picking respectively. Program picking refers to the picking of low volume parts into pallets, mostly picked from the PS storage and a fractional part in the CB storage area. Master picking is the picking of low volume parts into cages which are needed at the assembly line just-in-time for a specific truck, mostly picked from the CB and PS storage areas. Development picking refers to the picking of parts to the development line for new trucks, mostly picked out of the CHP and LVF storages. However, each of these three picking processes might also include picks from other storage areas than these primary ones. Different people are working with different material flows, and currently three forklifts for Program picking, two for Master picking and one to two for Development picking are circulating within these 16 racks at the same time. Within these specific racks, the distribution between the activity from Program, Master and Development picking is presented in Table 2.1. The category called Other represents a number of other minor picking activities in the area. Table 2.1: Distribution of the activity in the storage area. Picking process Distribution of total activity in the area Program picking 51,33% Development picking 23,20% Master picking 12,15% Other 13,32% Since Program picking is the picking process representing the largest part of the activity in the area, this project has focused on optimizing only that picking process. The optimization was done with respect to the order fulfillment time for the forklift drivers, by categorization of the goods in this storage. As Program picking is mostly done from the PS storage area, the categorization only concerns parts picked from this storage within the process Program picking.

26 10 Chapter 2. Description of Current State Figure 2.2: Overview of the layout design of the racks for the PS, CHP and LVF storage areas The PS Storage The PS storage is a storage area of low volume parts that often are specific for a particular truck or bus. The parts are stored in full sized or half sized pallets, from which the parts are picked when they are needed at the assembly. Current location strategy Today, there is no efficient way of categorizing the goods in the PS storage. It has been said that all parts should be assigned a number in the range of one to four, depending on how frequently it is used in the production. Category one is for parts with high consumption and category four is for parts with zero consumption. The idea has been that category four should be located furthest away from the input/output gates, and category one should be located closest to the input/output gates. What has happened lately, though, is that almost every part has been assigned to category one and the rack furthest away has been used as a back-up for when the other racks are filled. As a result of this, there is hardly any categorization in practice and almost every rack contains items of only category one. Furthermore, this has led to the case that zero consumption parts have been assigned to store locations close to the input/output gates, which might be of better use for parts ordered with higher frequency. Additionally, when an incoming pallet is assigned a certain store location, there are two further things that need to be taken into consideration. First, the weight of the goods sets limits of how high up in the racks it can be placed. Secondly, the store location needs to be at least of the required size for that specific pallet and it is desirable that the pallet occupies the minimum possible space. When a new pallet is going to be

27 2.2. Storage of goods to the chassis assembly 11 located in the storage, the system searches for a store location constructed for the size of that specific pallet. If all those store locations are used already, the system searches for the next available location ordered by size from the smallest possible until a free store location is found. New pallets are inserted in the racks continuously during the day, i.e. replenishment in and picking from the storage is done simultaneously. Picking Process Program picking represents the largest activity in the PS storage. During this picking process, individual parts are sequentially retrieved according to a predetermined list and put into a pallet. Hence, the Program picking process represents a multi-item order system, where several parts are picked during one route into the same pallet. The Program picking from the PS storage is done according to a predetermined daily schedule, which is divided into five different picking blocks, so called programs (thereof the name of the picking process). These programs represent five different platforms at MS, to where the goods will be transported: three platforms for the production of trucks and two for the production of buses. One program represents what should be picked from the PS storage in order to cover the demand at the specific part of MS that program refers to. One program covers the demand during half a day in that specific part of MS, i.e. the parts picked during the first part of the day are intended to cover the demand during the second part of the day. Each program is picked one at the time in the PS storage by three forklift drivers simultaneously. Thus, the program picking in the PS storage represents a multi-picker system. The first step in the process is taking place at the printing station, where orders of what is needed at MS from the PS storage are received. At the printing station, documents of what should be picked in a specific program are printed. One document shows what one of the forklift drivers are to pick and put into one pallet during one route. What parts that should be collected during the same route in the storage is decided depending on what delivery address at MS the parts have, which represent where the parts are needed at the production line. All the parts in one pallet should have the same delivery address. For each of the printed documents, tags for all the parts that will be picked during that route are attached and sorted by what rack the parts are located in. When the documents and their respective tags are printed and sorted, the forklift drivers go to the printing station and pick a document. Thereafter, an empty pallet is put onto the forklift and then all the parts on that specific document are collected from the storage. The driver is free to pick the parts from the storage in the order he/she desires, thus they are not obligated to follow the order of the tags predetermined at the printing station. When all parts are picked, the pallet is driven to a so called filter station and then the forklift driver goes to the printing station again to get a new document with a new picking route on. This process is repeated until a whole program has been picked, hence all forklift drivers work on one program at the same time, after which the next program in the schedule is printed. At the filter station, a person verifies that all parts in the pallet have been collected correctly. The pallet is then moved to a pickup position, before it is transported to an area where material is gathered to be driven by trains to the assembly. The trains depart at scheduled times and go to one of the platforms.

28 12 Chapter 2. Description of Current State

29 Chapter 3 Theoretical Background This chapter discusses theoretical background relevant for the project. This includes a description of different categorization strategies for warehouses and a general optimization model which can be applied to the problem. 3.1 Storage management 55% of all operating costs in a typical warehouse has been estimated to arise due to factors related to the order picking process, which has been identified as the most costly and labor-intensive activity for almost every warehouse [12]. There are especially four parameters that have to be taken into consideration in order to establish an efficient storage management: layout design of the storage area, picking policies, where items are to be stored in the warehouse, i.e. storage assignment, and routing policies [5]. The two most commonly used routing policies are called the S-shaped policy and the largest-gap policy. The S-shaped policy entails that any aisle containing at least one item to pick is traversed through its entire length, while with the largest-gap policy a picker enters an aisle from the side that is nearest the item that should be picked and leaves the aisle from the same side as it was entered [16]. However, the factor affecting the picking performance the most is the storage assignment, and by optimizing the location of the goods in the storage a lot of savings can be done in terms of costs and labor [5] Storage assignment strategies In general, the storage assignment strategies for assigning parts to storage locations can be divided into three broad categories: randomized storage, dedicated storage and class-based storage [10]. Randomized storage The random storage strategy allows to store parts on an arbitrary empty location in the storage with the same probability. This strategy is easy to use and ensures that the space is highly utilized, but might on the other hand increase the travel distance when picking the goods in the storage [5]. 13

30 14 Chapter 3. Theoretical Background Dedicated storage The dedicated storage only allows a certain pallet to be stored at a specified location based on factors such as average demand, unit traveling cost and order frequency. In contrast to the randomized strategy, the dedicated storage often results in shorter traveling distance but lower space utilization [6]. Class-based storage The class-based strategy is a mix of a random and dedicated storage, where parts are divided into different classes based on the order frequency or based on some characteristics. Each class is assigned to a certain area of the storage, but within each class the storage locations are random. There are mainly two types of class-based storage strategies; ABC-classification and family-based classification [10]. ABC-classification With ABC-classification, the items are assigned to three different classes depending on their order frequency, where category A contains the parts with the highest order frequency. This policy assigns the nearest locations from input/output gates to the most frequently used items [5]. A widely used division of items into A, B and C classes is shown in Table 3.1. Note that the fractions can differ from case to case [12]. Table 3.1: Table of commonly used divisions of ABC-classification. ABC class Percentage of parts Percentage of consumption A 10-20% 70-80% B 15-25% 10-20% C 65-75% 5-10% The ABC-classification can either be horizontal or vertical. Horizontal ABC class-based storage refers to assigning A-items closer to the input/output gates to reduce travel distance. Vertical ABC class-based storage refers to assigning A-items to lower levels of the racks, which reduces the order retrieval time [5]. Family-based classification With family-based classification, items are clustered together according to relations or similarities between products or orders. However, grouping according to characteristics often results in a long order fulfillment time since components within the same order can have many different characteristics and are thereby spread over a large area. A more suitable way of clustering items into different families is to store goods that are likely to appear on the same order together. In industrial storages, items which will be transported to the same platform or assembly are often likely to appear in the same order. By storing items with demand dependence together, there is a great opportunity of reducing the routing length for a given list of orders [4]. 3.2 Clustering analysis When performing a classification for a class-based storage assignment, a useful tool is clustering analysis. Clustering analysis is a set of algorithms and methods for grouping items of similar kind into categories or classes. The aim is to group individuals in such a way that the degree of correlation between two items is maximal if they belong to the same cluster and minimal otherwise [17].

31 3.3. Optimization theory 15 Two widely used clustering analysis methods are Hierarchical cluster analysis and K- means cluster analysis. Hierarchical clustering identifies groups of related objects by successively linking objects with related characteristics based on a distance matrix to form a tree structure. With the K-means method, the number of groups is determined in advance and then objects are allocated to appropriate cluster depending on the cluster s mean value and the distance matrix. The distance matrix can be in the form of a similarity matrix containing the correlation between every pair of objects in the classification [11] Jaccard s similarity index Jaccard s similarity index, s i,j, is a widely used measurement of correlation between two products i and j, and is calculated by the following [3]: s i,j = a a + b + c (3.1) where a is the number of times both product i and j belonged to the same order, b is the number of times only product i belonged to an order and c is the number of times only product j belonged to an order. 3.3 Optimization theory Storage assignment is a matching problem of assigning a set of parts to a set of locations, and it is thereby similar to the family of Assignment Problems. This section presents relevant optimization models for the concerned problem Assignment Problem The Assignment Problem, AP, is a well-known optimization problem which consists of finding a one-to-one matching between n tasks and n agents, with the objective to minimize the total cost of assigning tasks to agents [14]. The AP can be formulated as [19]: s.t. n n min c ij x ij (3.2) i=1 j=1 n x ij = 1, j = 1,..., n (3.3) i=1 n x ij = 1, i = 1,..., n (3.4) j=1

32 16 Chapter 3. Theoretical Background { 1, if agent i is assigned to task j x ij = 0, otherwise (3.5) where c ij is the cost of assigning agent i to task j. The objective function (3.2) aims to minimize the total cost of assignments, constraint (3.3) ensures that each task is assigned to exactly one agent and constraint (3.4) ensures that each agent is assigned exactly one task. Resource Constraint Assignment Problem Resource Constraint Assignment Problem, RCAP is a formulation of the AP with an additional side constraint to limit the use of resources. The constraint for limitation of resources can be formulated as: n n r ijk x ijk b k (3.6) i j where r ijk is the amount of resource k which is used if agent i is assigned to task j, and b k is the amount of resource k available [14] Storage Location Assignment Problem The Storage Location Assignment Problem, SLAP, belongs to the family of Assignment Problems and refers to the problem of determining a way of assigning items to storage racks in order to maximize the picking efficiency, which also means to minimize the warehouse operational cost [20]. SLAP is classed as an NP-hard problem [13], which means that it is not proven to be solved in polynomial time [7], and therefore many heuristic methods for the problem have been proposed [13]. There is no universally agreed measurement for the SLAP, but one of the most commonly used measures is the total picking distance [21]. In a picker-to-part system with several pickers operating in a certain storage area it might however be more relevant to measure the total picking time, since the congestion in the aisles can have a significant effect on the order picking process [13]. Mathematical model Based on the formulation of an AP, the model for an SLAP can mathematically be formulated as follows: s.t. n n min c ij x ij (3.7) i=1 j=1 n x ij = 1, j = 1,..., n (3.8) i=1 n x ij = 1, i = 1,..., n (3.9) j=1

33 3.3. Optimization theory 17 { 1, if item i is assigned to location j x ij = 0, otherwise (3.10) where the cost function c represents the time it takes to pick item i from location j and n is the total number of items/locations. The objective function (3.7) aims to minimize the total time it takes to pick all items, constraint (3.8) ensures that each location is assigned to exactly one item and constraint (3.9) ensures that each item is assigned exactly one location. However, depending on the circumstances in the concerned warehouse, the model needs to be developed with further constraints for those particular conditions. This can depend on the layout design of the storage area, picking policy and routing policy. In most of the cases, constraints need to be added regarding limitations of where the pallets can be located in the storage due to size and weight of the pallets.

34 18 Chapter 3. Theoretical Background

35 Chapter 4 Method In this chapter, the method used to solve the problem is presented and has been divided into separate parts. First, the data and software which have been used for the simulation and categorization is described. Thereafter, the constructed mathematical model of the problem is presented and how it differs from a traditional SLAP is discussed. The chosen categorization methods and the constructed simulation model are then further described in the later part of the chapter. As described in Section 3.3.2, SLAP is an NP-hard problem, hence it is not possible to find an optimal solution in polynomial time and therefore heuristic methods are used in order to solve these kinds of problems. Furthermore, in practice an optimal location of the goods in the storage might not be optimal after all. This since it can be hard to distinguish what characteristics the parts located close to each other have in common, and thereby it would be hard to maintain the storage assignment over time. Also, the optimal solution would only be valid for the specific storage and the specific parts, and therefore hard to apply on other storage areas. Additionally, since what is stored in the storage depends on the customers orders in this case, the parts in the storage can vary over time and every time a new part is introduced a new optimal solution will be needed. Therefore, the choice has been made to solve the problem in this project with a heuristic approach by testing different categorization strategies with simulation and comparing the total order fulfillment time for the strategies with the current state. The number of racks that need to be visited on a picking route depends on the location of parts, and may therefore vary for the different categorization strategies. Since this can cause longer picking time, the number of racks visited per route was calculated and compared for the tested categorization strategies. 4.1 Data collection In order to build a simulation model representing the picking process in the storage area, relevant data have been collected. First, information about the parts stored in the PS storage is essential to be able to categorize the parts in different groups based on their characteristics. This have been provided in the form of different Microsoft Excel-files, 19

36 20 Chapter 4. Method containing information such as: Part number Storage location Weight Pallet size Picking program Delivery address at MS Secondly, order history from the PS storage, travel pattern of the forklifts in the area, timekeeping of the forklifts and information about the capacity of the storage locations were needed in order to build the model and have been collected from provided data and observations. Order history Order history in the PS storage from the period May 29th 2017 to January 30th 2018 has been used to represent a sample of the picking process in the storage. This sample was used in the simulation model to test different location strategies of the parts which had been picked during this time. The order history contained executed date and time of when the different parts have been ordered during this period and from what location in the storage it was picked. Travel pattern of forklifts In order to recognize a travel pattern of the forklifts in the storage area and to get a perception of the congestion in the storage aisles at the current state, a spaghetti diagram of the movement in the area was constructed. By accompanying forklift drivers during the picking process, tours for different routes were noted. This, together with the order history, was used as a basis for constructing a network of nodes and paths in the simulation model representing the travel pattern in the storage. Timekeeping of forklifts To collect data of what time it takes for the forklifts to drive the different paths in the network of the picking process, timekeeping of the forklifts has been done. Timekeeping of the additional activities in the picking process was also done, which includes both retrieving an order, picking an empty pallet, picking one item from the storage and delivery at the filter station. These collected times have been used in the simulation model to get a perception of the total time of the picking process. Capacity of the storage locations Data of the capacity of the current storage locations have been used to compile the number of storage locations in each rack for each pallet size. This information is needed to ensure that the parts in the storage are stored in a storage location of the desired size.

37 4.2. Software Software The software which has been used in this project are Microsoft Excel and ExtendSim. The areas of use for each software are presented in Sections and ExtendSim ExtendSim is a simulation software for modeling discrete event, continuous, agent-based, and discrete rate processes [18]. In this project, ExtendSim has been used to model a discrete event simulation over the picking process in order to compare which storage categorization that results in the shortest order fulfillment time. The simulation model is described further in Section 4.5. Discrete event simulation Discrete event simulation models are used for analyzing and predicting the behavior of complex systems and to get an understanding of the output of a new system before it is implemented in reality. Discrete event models pass entities (called items) between blocks as different events occur in a time sequence. The items are usually generated randomly or from a scheduled list and contains properties, such as attributes and priorities, with information to make them correspond more closely to the real life. Items are processed by activities, in which the processing time often depend on the availability of required resources [9] Microsoft Excel Microsoft Excel has been a widely used tool in this project, where it has been used for data analysis as well as for programming in Visual Basic for Applications, VBA. Coding in VBA has been done in order to group parts according to the different categorizations strategies, search for new storage locations and to construct the input files for the simulation. 4.3 Mathematical modelling In order to understand the problem, an optimization model has been constructed, with the objective to find a location strategy that minimizes the cost of the picking process. The problem needs to be represented by an integer optimization model since each part is assigned to an exact number of locations. The problem has been formulated as a variant of an SLAP as described in Section 3.3.2, since it is a matching problem of assigning a set of parts to a set of locations. However, the objective function and the constraints have been reconstructed for this specific case. Also, since the locations have limited storage capacity, the model is further developed with a resource constraint similar to what is described in Equation (3.6). In a general SLAP, the objective function is designed according to a picking process where the parts are picked one at the time. However, in this case the parts are picked in routes, where several parts are picked on the same route, which makes the problem

38 22 Chapter 4. Method more complex. Because of this, the constructed objective function in Equation (4.1) differs from the traditional SLAP in Equation (3.7), and will be solved with simulation Formulation of model The mathematical formulation of the model is described as follows: Definition of objective function The objective is to minimize the total cost C, which is a function of the location strategy X. The total cost C is the sum of the cost of picking all orders o k, where o k is a list of parts to collect, k = 1,..., N and N is the total number of orders in a chosen sample. c(x, o k ) is a cost function specifying the cost of picking the parts in list o k conditional on the storage location X. The cost function c is given by the result of a simulation for each X. The objective function is formulated as: min X C(X) = min X N c(x, o k ) (4.1) k=1 where X is a set of variables x i,j representing the location of parts, given a set of parts I and a set of locations J, where i I, j J and { 1, if part i is assigned to location j x ij = 0, otherwise (4.2) where each location j represents two location spots in the storage, but is referred to as one location spot in the model since the locations are in the same rack. Definition of constraints Since there are more available locations than parts, each location j is set to have at most one part assigned to it: x i,j 1, j J (4.3) i I Each part i is assigned to exactly one location: x i,j = 1, i I (4.4) j J The size of part i can not exceed the capacity of location j : a i x i,j b j i I, j J (4.5) where a i is the required storage capacity for part i and b j is the storage capacity of location j.

39 4.4. Categorization methods Categorization methods The location of the goods with five different categorization strategies have been tested in the simulation model, and the total order fulfillment time for each strategy have been compared to the order fulfillment time with the goods located as in the current state. For each categorization method, a new input file to the simulation model has been constructed, representing the picking routes with that specific categorization strategy. These input files have been constructed in Microsoft Excel after relocating the parts in the storage according to the different methods, as described in Section The methods which have been tested are horizontal ABC-classification, three different types of family-based classification strategies and a random location strategy. The three familybased classification strategies which have been investigated are classification according to program, classification according to the parts delivery addresses at MS and classification according to Jaccard s similarity index. It is not possible to maintain a dedicated storage assignment in this specific storage area, since what is stored in the area depends on what the customers have ordered and varies a lot. As a dedicated storage would not be possible to maintain, it has not been considered as an option in this case. For all methods, the relocation of parts have been done according to the current capacity of the storage locations and with respect to the fact that the pallets should occupy the minimum possible space. In the current state, the programs are picked one at the time by three forklift drivers simultaneously. By storing the parts according to a family-based classification there is a risk that the congestion will increase since the forklift drivers are picking the same program. Because of this, the choice has been made to also test to pick three programs at the same time, so that the three forklift drivers pick one program each. This was done in order to try to restrict the forklifts to work in different areas of the storage. In practice, different parts could require different number of storage locations depending on the order frequency and quantity in the pallets. Because of this, an agreement in the storage has been made, which implies that the storage should contain at least 1.7 location spots per part. According to this agreement, when relocating the parts in the storage it was considered that each part occupies two locations within the same rack in order to ensure that the capacity of the storage is as close to the reality as possible. Hence, in the formulation of the model in Section each location represents two location spots in the storage. This means that each part gets one new storage location, but the remaining storage capacity decreases with two locations of the concerned size for each relocated part Description of categorization strategies In this section, the chosen categorization strategies which have been tested in the simulation are described. For more details about the procedure of categorizing the goods, see pseudo code in Appendix A. ABC-classification In order to perform an ABC-classification of the storage, the order history was used as a basis for grouping parts according to their order frequency during this period. The parts were sorted in order from the most frequently ordered part to the least frequently

40 24 Chapter 4. Method ordered part and the cumulative percentages of all orders were calculated. With Table 3.1 as a basis, the parts which together represented up to 70% of all the orders got assigned to category A, parts representing the next 20% got assigned to category B and the parts representing the last 10% of all the orders got assigned to category C. Parts in category A were then located in the racks closest to the input/output gates, category B was located in the middle of the storage area and category C furthest away. In this way, the fastest moving items were stored in the most advantageous locations. See Appendix A.1 for pseudo code and more details of the procedure. Classification according to program With this categorization method, the parts were classified according to which program they belonged to. For this, the order history was used to examine from which program each part has been picked. The classes were then located in the storage area with respect to the number of routes each program contained according to the order history, with the program containing the most number of routes located closest to the input/output gates, and so on. See Appendix A.2 for pseudo code and more details of the procedure. Classification according to delivery address This categorization method can be seen as an extension of the above described classification according to program, and entails that the parts are divided into further classes within each program depending on delivery address at the chassis assembly. Parts sharing the same delivery address are picked during the same route into the same pallet, and are with this categorization method located close to each other in the storage. In order to perform this method, the order history was used to group parts with the same delivery address within the same program. If parts had more than one delivery addresses at the assembly, these addresses were merged into the same group. The same location strategy have been used as for classification according to program, i.e. the program with the most number of routes are located in the most favorable positions, but with the further division into smaller categories within each program. Within each program class, the address class with the most number of routes are located closest to the input/output gates. See Appendix A.3 for pseudo code and more details of the procedure. Classification according to Jaccard s similarity index Based on the theory described in section 3.2.1, Jaccard s similarity index was calculated for every pair of parts in the PS storage for each program respectively. This index shows the correlation between parts, i.e. the probability that the parts will be on the same route, and was calculated based on the order history. These calculations resulted in similarity matrices, one for each program, containing Jaccard s similarity index for all pair of parts belonging to each program respectively. These similarity matrices were then used as distance matrices when performing Hierarchical cluster analysis and K-means cluster analysis with the use of built in functions in R Studio and MATLAB. It was noted that this gave an unusable result and because of that, an alternative method of clustering according to Jaccard s similarity index was constructed. From the similarity matrices for each program, the parts with the highest value of Jaccard s similarity index were grouped together, and each part with a correlation to these two firstly grouped parts were also assigned to the group. After that, the two remaining parts with the highest correlation were assigned to a new group together with the other parts with a correlation to these two, and the process was repeated until all parts were assigned to a group. This was done for each program separately. Similar to

41 4.5. Simulation model 25 classification according to program, the program with the most routes was located closest to the depot. See Appendix A.4 for pseudo code and more details of the procedure. Random location strategy A random location strategy has been performed to be used as a comparison to the other categorization strategies. When a part randomly had been selected it was assigned a number between 1-16 representing what rack it should be located in. This was done until all parts were assigned a new location. In order to obtain an expected value of the total time of the picking process, the simulation model was run 30 times with 30 different random locations of the parts in the storage. See Appendix A.5 for pseudo code and more details of the procedure. 4.5 Simulation model The simulation model has been constructed based on the current layout of the PS storage and the picking process described in Section The simulation covers the picking process from the printing station to the filter station. In the simulation, orders are generated according to a scheduled time and retrieved when a forklift is available. According to the picking process, the forklift first picks up an empty pallet before traveling to the storage racks to collect all parts on the picking order, to then deliver the pallet to the filter station. An S-shape routing policy has been applied in the model, where the identified driving pattern has been the basis of this decision. Due to simplification, the routing is further limited to always start by traveling to the rack furthest away among the racks in the order list, to then systematically travel back to the filter station according to the S-shape routing policy. In practice, this is also a matter of safety since it is safer to drive the longest way with an empty pallet Description of model An overview of one part of the simulation model from ExtendSim can be seen in Figure 4.1. The four vertical pathways with a square at the middle correspond to the four storage racks closest to the input/output, and the model contains 12 more of these to the left of what is shown in Figure 4.1. The big circles at the end of each rack contain a decision of whether a forklift should enter that rack or not. The different parts of the simulation model are described in detail below and an overview of the full model can be seen in figure B.1 in Appendix B.

42 26 Chapter 4. Method Figure 4.1: Overview of a part of the simulation model from ExtendSim. Order generator The input file constructed in Microsoft Excel is inserted in the order generator, marked as 1 in Figure 4.1. Each order contains the following attributes: Create time Item quantity Item priority Picking time in each rack First pick Congestion time ID PR value The orders are generated according to the attribute Create time and placed in an order queue. One order corresponds to one picking route, hence it contains all necessary information for the forklift to visit the required racks for collection of parts. The attributes Item quantity and Item priority are required by the software, and are always set to the value one. First pick determines which rack the forklift will visit first, to further continue to visit all racks with picking time greater than zero. When the simulation starts, Congestion time is set to zero to then be updated every time the forklift spends time in a queue. In the end, it contains the total time the forklift spent queuing on the specific

43 4.5. Simulation model 27 route. The attribute ID is an index for the order and PR value contains information about which program the order belongs to. An example of an input file can be seen in figure B.2 in Appendix B. Resource pool In the resource pool, marked as number 2 in Figure 4.1, the number of resources, in this case forklifts, is determined. The simulation has been performed with a resource pool with three forklifts, in accordance with the number of forklift drivers working in the area in reality, where each order requires one forklift. The orders will be placed in the order queue, marked as number 3 in Figure 4.1, until one forklift is available. In the case with classification according to program, delivery address and Jaccard s coefficient, it has also been tested to pick three programs at the same time, where the forklift drivers pick different programs, as described in Section 4.4. In the simulation model, this is represented by the use of three resource pools, one for each of the three forklifts working in the storage. In this case, the forklift drivers collect one category each at the same time in the storage, and the orders are placed in three different order queues depending on which category it belongs to according to the PR value attribute. This entails that the forklifts are restricted to work in different parts of the storage area. Activities and queuing system Each storage rack has an activity block, marked as number 4 in Figure 4.1, which represents the picking from that storage rack. The time in the activity is determined by the picking time in that specific rack. Since the forklifts should not drive by another forklift, the activities are limited to one forklift at the time. If a forklift arrives to the rack when the activity is occupied, the forklift will be placed in a queue with FIFO policy, marked as number 5 in Figure 4.1. Since it is possible to enter an aisle from both ends of the rack, one queue has been placed at each end. In the case where it exist forklifts in both queues, FIFO according to both queues has been applied. In the simulation model, there are also activity blocks representing retrieving an order, picking an empty pallet and delivery to filter station, marked as number 6, 7 and 8 in Figure 4.1 respectively. Picking an empty pallet and delivery to the filter station have capacity of two forklifts, while retrieving an order has capacity of one. Measurement of total order fulfillment time From the data with the collected times of driving and the activities in the picking process, described in Section 4.1, an average time has been calculated for each path and activity, and implemented in the simulation model. To get an as accurate total order fulfillment time as possible, a work shift was also implemented in the model representing the actual working time in the storage. This entails that when it is a scheduled break for the workers, it is not possible to retrieve a new picking order and the model stands still for as long as the break is scheduled. Disruptions In reality, there are more forklifts operating in the area apart from the three forklifts performing the Program picking. These are forklifts working with Master picking, Development picking and replenishment. This might lead to more congestion in the storage aisles and because of this, disruptions for Master picking, Development picking and replenishment have been implemented in the model to make it closer to the reality. In order to implement disruptions for replenishment in the model, data of how often each rack has been replenished per day during one month has been analyzed. Disruptions for Master and Development picking have been implemented based on the order history of

44 28 Chapter 4. Method number of picks per day. This was used to make sure that the disruptions occur with a trustworthy frequency. In the model, the activity block for each rack was set to be shut down at a calculated frequency for each disruption, to represent when replenishment, Master picking or Development picking occur. Simulation output In the simulation, the time it takes for each picking route, from retrieving the order until the forklift delivers the pallet to the filter station, has been measured and stored in a table which can be retrieved from the block marked as number 9 in Figure 4.1. In order to compare the total time it takes to collect all orders and how the queuing varies for the different categorization methods, the total queuing time during each route has also been measured and stored in the table. The simulation has been run for each categorization strategy separately. In the case with the random location strategy, the simulation was run several times and an expected value of the total picking time was calculated. In figure B.3 in Appendix B, an example of the simulation output can be seen. Limitations of the simulation model Since the problem is a complex process with many contributing factors, there are some limitations in the model. First of all, the simulation model is a static model which means that all parameters are set in advance and will not change during the simulation. Hence, the output from the simulation depends entirely on the input, which in this case is the input file. This means that how the parts during time will move in the storage, due to replenishment, is not a factor the simulation model takes into account. In reality, the human mind constantly makes decisions, for example which path to choose depending on external conditions. This is not possible to implement in a discrete event simulation model, therefore in reality, the forklift drivers may not strictly follow an S-shape routing policy as implemented in the model. Another limitation in the model is that it does not consider the time it takes to travel vertically. When identifying the driving behavior, it was noticed that when having to travel vertically, the forklift travels forward and upwards simultaneously. The fact that it might take longer time to travel both forward and upward than just forward is something that is not considered. The simulation is based on data collected by manual timekeeping, which probably contains a margin of error. This can affect the resulting times in the simulation. However, since all categorization strategies are based on the same data, it will not have an effect on the final result Verification of model The verification of the quality and correctness of the simulation model was firstly done by testing and debugging smaller parts of the model, to make sure there were no errors or defects in the model which could cause an incorrect result. Secondly, the model was also verified by discussing the structure of the model and the constructed network of paths with the people responsible for the picking process in the PS storage, to make sure the model represented the reality as good as possible. What was mainly said during the discussion was that in reality there are often more than one

45 4.6. Construction of simulation tool 29 forklift picking in an aisle at the same time, while in the model the activities representing the picking in the racks are limited to one picker at the time. This is something which has been considered when interpreting the results. However, it is still possible for more than one picker to be in the aisles at the same time in the model if someone is located in the transport section of the aisles. According to an agreement in the storage, forklifts can not drive by each other in the aisles in the model Sensitivity analysis To make sure the result from the simulation model is accurate, a sensitivity analysis was performed. This was done to the extent that the model was run both with all three disruptions mentioned in Section 4.5.1, as well as without the disruption representing replenishment and without any disruptions at all. This was done to examine whether the result would change with the different number of disruptions. 4.6 Construction of simulation tool Since one part of the purpose of this master thesis has been to construct a general method of how to categorize a storage, a categorization tool has been created for the use at Scania where different categorization methods can be tested and analyzed before implemented in reality. This tool consists of the constructed simulation model of the PS storage in ExtendSim and different Microsoft Excel workbooks where the input files for the simulation model are created. The simulation model can easily be modified to also apply on other storage areas. To ensure that the tool is easy to use, macro buttons in Microsoft Excel have been implemented and all necessary steps in the process are executed automatically as far as possible. Additionally, a manual of how to use the categorization tool and how to interpret the result has been created in order to ensure that all necessary information is transferred to the concerned employees at Scania.

46 30 Chapter 4. Method

47 Chapter 5 Result In this chapter, the results from the simulations are presented and the result from the sensitivity analysis is explained. 5.1 Simulation result The results from the simulation experiments are presented in Tables 5.1 and 5.2 and Figures 5.1 and 5.2. The result is generated from the constructed simulation model, for one and three order queues separately, based on the different input files for each categorization strategy and with disruptions implemented for replenishment, Master picking and Development picking. To avoid that the result is interpreted as a measurement of workload, the actual order fulfillment times in seconds will not be presented. Instead, the result will be presented in percentages representing the differences each categorization strategy would make compared to the current state. Table 5.1 presents the savings in order fulfillment time in percentage which can be done by using each categorization strategy, in relation to the current state. The results in column Saving % of order fulfillment time (ref. current state) show what improvements a categorization can make compared to the current location of parts in the storage, which can also be seen in Figure

48 32 Chapter 5. Result Table 5.1: Savings in order fulfillment time for each categorization strategy compared to the current state. Categorization strategy Model Saving % of order fulfillment time (ref. current state) ABC 1 order queue 4.00 Program 1 order queue order queues 4.14 Delivery address 1 order queue order queues 5.03 Jaccard s coefficient 1 order queue order queues 4.70 Random 1 order queue Figure 5.1: Savings in order fulfillment time compared to the current state. As one can see in Table 5.1, the categorization strategy which gives the largest savings in order fulfillment time is by classifying the parts according to their delivery address and when using three order queues. Thereafter, classification according to Jaccard s similarity index gives the second largest savings, also with three order queues. This can also be seen in Figure 5.1, showing the savings that can be done compared to the current state. The results also show that larger savings can be done with the use of three order queues instead of one for all categorization strategies where this was investigated. Furthermore, classification according to program with one order queue and the random location strategy give negative savings compared to the current state, which will be further discussed in Section 6.2.

49 5.1. Simulation result Queuing time Table 5.2 and Figure 5.2 present, for each categorization strategy and model, how much of the total order fulfillment time that consists of time spent queuing. Figure 5.2 also presents the total order fulfillment time for each categorization in relation to the current state. Table 5.2: Percentage of total order fulfillment time which was spent queuing. Categorization strategy Model Queuing time in % of total order fulfillment time Current state 1 order queue 2.97 ABC 1 order queue 4.34 Program 1 order queue order queues 1.14 Delivery address 1 order queue order queues 0.95 Jaccard s coefficient 1 order queue order queues 0.91 Random 1 order queue 1.25 Figure 5.2: Total order fulfillment time in proportion to the current state. The percentage of the time spent queuing for each categorization strategy is presented in Table 5.2. This percentage should be interpreted as the amount of time when it has been congestion in the storage aisles, and hence two or more pickers have been in an aisle at the same time. As one can see in Table 5.2, classification according to program with one order queue generates the largest amount of time spent in congestion, followed by classification according to delivery address with one order queue. When using three order queues, the queuing time becomes substantially lower compared to the use of one order queue for all methods where this have been tested.

50 34 Chapter 5. Result This result is also presented in Figure 5.2, which shows the total order fulfillment time for each categorization in relation to the current state. The marked upper part of the bars in the plot represent the time spent queuing. Also in Figure 5.2, it can be seen that classification according to program with one order queue is the strategy with the largest proportion of queuing time. When the time spent queuing is excluded, one can see that ABC-classification generates the shortest order fulfillment time (see lower part of the bars in Figure 5.2). 5.2 Sensitivity analysis In order to analyze how consistent the results obtained from the simulation model are, a sensitivity analysis of the implemented disruptions was performed. Figure 5.3 presents a comparison of the savings in percentage which can be done in relation to the current state, with different numbers of disruptions implemented in the simulation model. 3 disruptions implies that disruptions for both replenishment, Master picking and Development picking are implemented in the model, while 2 disruptions implies that only disruptions for Master picking and Development picking are implemented and in the case of No disruptions there are no disruptions in the model. The order fulfillment time for the different methods are in relation to the current state with the same number of disruptions implemented. Figure 5.3: Sensitivity analysis of the use of different disruptions in the model. As one can see in Figure 5.3, classification according to delivery address gives the largest savings regardless of what disruptions that are implemented in the simulation model, which confirms the results presented in Section 5.1. When using two disruptions or no disruptions instead of three, the only difference which can be noticed is between

51 5.3. Number of racks per route 35 ABC-classification and classification according to program. With three disruptions, classification according to program with three order queues is slightly better than ABCclassification, while with two or no disruptions, ABC-classification gives larger savings. However, it should also be noted that the difference between ABC and program classification is considerably small. 5.3 Number of racks per route In Figure 5.4, the average number of racks that have been visited in one picking route for each categorization strategy is presented. Table 5.3 presents the average and the maximum number of racks per route. Table 5.3: Average and maximum number of visited racks per route. Categorization strategy Average racks per route Max racks per route Current state ABC Program Delivery address Jaccard s coefficient Random Figure 5.4: Average number of racks visited per route with the different categorization strategies. As one can see in Figure 5.4, the random categorization results in the highest number of racks per route, followed by the location of parts in the current state. Classification according to delivery address has the lowest number of racks per route, closely followed by classification according to Jaccard s similarity index.

52 36 Chapter 5. Result

53 Chapter 6 Discussion This chapter contains an analysis and discussion of the results presented in the previous chapter. The choice of method is discussed, as well as contributing factors which may have affected the results. 6.1 Choice of optimization method The objective with this project has been achieved with the use of a discrete event simulation model and with a heuristic optimization approach. This choice of method was done because of the fact that an SLAP is seen as an NP-hard problem, i.e. impractical or impossible to solve optimally. However, this entails that the best found categorization method is not assured to be the optimal solution and the gain of categorizing a storage could possibly be even higher. With the use of a discrete event simulation model, it follows a few limitations which are important to keep in mind. First, the constructed model is static and the result of the simulation depends entirely on the input, which increases the importance of creating a correct input file. Furthermore, a discrete event simulation model does not consider decisions the human mind can make during the simulation, which might not always be in line with the predetermined sequence of events in the model. Additionally, with the problem formulated as a variant of an Assignment Problem, it follows that each part will be assigned exactly one storage location. In practice, this might not always be the case since different parts could require different number of locations depending on the order frequency and quantity in the pallets. This is a limitation in the choice of optimization method, which can be handled with further constraints or with the use of another mathematical model. 6.2 Analysis of simulation result When interpreting the results presented in Chapter 5, it is important to keep in mind that these results are derived from a simulation model representing a specific storage 37

54 38 Chapter 6. Discussion and picking method. Hence, the results are not assured to be valid for every type of storage layout design, routing and picking policy, but can be assumed to apply on other storage areas with similar conditions. It is also important to remember that the results are based on a sample of order history from a limited period of time which may have affected the results, but an analysis has been performed to ensure that the sample of order history was stable during the chosen period. In Table 5.1 and Figure 5.1, it can be seen that the difference in savings that the tested categorization methods would generate is considerably small when three order queues were used for the family-based classifications. Compared to the current state, all categorization methods except for the random location strategy generate savings in order fulfillment time of around 4% - 5%. Because of this substantially small difference, the constructed categorization tool for the use at Scania will be able to be used to try out all the tested categorization methods. What can also be seen from Table 5.1 and Figure 5.1 is that all tested categorization methods gave a positive result compared to the random location strategy, since that strategy resulted in the largest negative savings of order fulfillment time. This shows the positive effect which can be attained by implementing a categorization strategy in a storage. From Table 5.1 it can be calculated that compared to the random location strategy, all categorization strategies give an improvement of order fulfillment time of 8% - 9%. These results can be compared to the case study performed by Bindi, Manzini, Parechi and Regattieri [3] mentioned in Section 1.6, in which categorization according to different similarity indexes, such as for example Jaccard s similarity index, were investigated. Their study showed a reduction of driving distance with 5% - 6% compared to a random location strategy, which can confirm that the results presented in this report could be of reasonable size. However, it might be difficult to compare different studies, since layout of the storage, picking policy and routing policy can differ and thereby affect the result. From the results, it can be seen that categorization according to delivery address with three order queues generates the largest savings. However, it should also be noted that categorization according to Jaccard s similarity index almost generates as good savings as categorization according to delivery address. This finding is not very surprising, since both methods locate the parts in accordance to which parts that are likely to appear on the same order and therefore likely to be picked on the same route. Categorization according to delivery address with three order queues would give 5.03% shorter order fulfillment time compared to the current state, which corresponds to 23 saved minutes per day or 1.9 saved hours per week, under the assumption that one working day is 460 minutes excluding breaks. Furthermore, in Table 5.3 and Figure 5.4 it can be seen that categorization according to delivery address and Jaccard s similarity index result in the lowest number of racks that need to be visited on one route. This is one reason of why these methods generate the shortest order fulfillment times. In Figure 5.4, it can also be seen that categorization according to program gives a slightly higher number of average racks per route, which shows that the further breakdown into delivery address or Jaccard s similarity index generates shorter picking routes. In Figure 5.1, it is shown that categorization according to program with one order queue and the random location strategy generate negative savings, which indicate that these

55 6.2. Analysis of simulation result 39 location strategies result in longer order fulfillment times than today s location of parts in the storage. As one can see in Table 5.2, program categorization with one order queue generates a large amount of time spent queuing, which is one reason of why this strategy results in a long order fulfillment time. One reason of why the random strategy results in a long order fulfillment time might be because the number of racks that are visited on one route is high compared to the other strategies, which can be seen in Table 5.3 and Figure 5.4. However, this is something one can expect since with a random location the parts are spread evenly in the storage area Analysis of queuing time As described in Section 5.1.1, the amount of time spent queuing shown in Table 5.2 and Figure 5.2 should be interpreted as the time when two or more forklifts have been in the same storage aisle at the same time. Hence, it should not be interpreted as actual waiting time but rather as an indication of the congestion. When making a recommendation of which categorization method that is preferable, this measure of queuing time is an interesting factor to keep in mind. It is desirable to adapt a categorization strategy with a low value of queuing time, since this entails less congestion in the storage aisles. It had been noticed that the forklift drivers some times experience that they have to wait in line to be able to pick their orders due to congestion in the storage aisles, and because of this the simulation has been run both with one and three order queues. In the case with three order queues, one for each forklift, the forklifts are restricted to work in different parts of the storage in order to reduce the experienced congestion. In Table 5.2 and Figure 5.2, it can be seen that for all categorization methods where it have been tested, three order queues generates less queuing time compared to one order queue. This shows that it is advantageous to let the forklift drivers pick one program each in different parts of the storage area, instead of all picking the same program simultaneously. With three order queues, it is also shown in Figure 5.1 that the total savings which can be done compared to the current state are larger with three order queues than with one order queue. One reason for this is the lower amount of queuing time these methods result in. These findings are in line with the study performed by Pan, Shih and Wu mentioned in Section 1.6, which as Figure 5.3 showed that in a multi-picker system, congestion may represent a considerably large part of the total order fulfillment time and should therefore also be included in the analysis. In Table 5.2, it can also be seen that when comparing ABC-classification with the familybased classifications with three order queues, ABC-classification generates a higher amount of time spent queuing. This implies that ABC-classification is more sensitive to congestion and if the number of forklifts would increase in the storage, this may affect the ABC-classification negatively. Since the amount of time spent queuing is considerable small for the methods using three order queues, these methods would be able to manage an increase in the number of forklifts since the operations in the storage are spread out.

56 40 Chapter 6. Discussion Sensitivity analysis A sensitivity analysis was performed in order to analyze how sensitive the results from the simulation model are with regards to the implemented disruptions. The model was run with both three disruptions, two disruptions and no disruptions, as described in Section 5.2, representing the other activities in the concerned storage area. The disruption representing replenishment in the model might however be a bit higher than in reality, since people working with replenishment have to show precedence for the forklifts picking in the storage. Furthermore, breaks are scheduled at different times during the day for people working with replenishment and picking to reduce the congestion, but this has not been taken into consideration in the model. This means that in reality, the result from the simulation might be even better considering the potential excessive disruption for replenishment. Because of this, the model was also run without the disruption for replenishment. What could be seen in the sensitivity analysis in Figure 5.3 is that the use of different number of disruptions does not affect the result remarkably. Categorization according to delivery address and Jaccard s similarity index still give the best result, regardless of what disruptions that are implemented, which confirms that the result in Section 5.1 is stable. However, as mentioned in Section 5.2, ABC-classification gives a slightly better result than categorization according to program with the use of fewer than three disruptions. This difference is barely noticeable. 6.3 Further factors affecting the result The results presented in this report are naturally affected by the prevailing conditions in the investigated storage area, as well as by the delimitations which have been made regarding the scope of the project. The layout design of the storage area, with input/output gates located on one side of the storage racks, see Figure 2.2, has an impact on what categorization strategy that gives the best result. If queuing time is excluded, one can see in Figure 5.2 that ABCclassification gives the largest improvement compared to the current state. The reason for that might be that the most frequently used parts are located closer to the depot and hence the driving distance becomes smaller. Classification according to program, on the other hand, results in longer driving distance since there are classes located further away from the depot and the forklifts have to travel the distance to the racks assigned to those classes on every route. If the input/output gates were located in the middle of the storage area the result might have been different and classification according to program with three order queues could become more advantageous. Also, the picking policy influences the obtained result. In this concerned storage area, several parts are picked on the same picking route, which has to be taken into consideration when locating the parts in the storage. If the parts were picked one at the time, one can assume that the most favorable strategy would be to locate the parts with the highest order frequency closest to the input/output gates. Lastly, some data exclusions have been made regarding the scope of this master thesis. The categorization in the storage has been limited to only cover the parts picked from one of three picking processes in the concerned storage area, namely the picking process

57 6.4. Implementation of a categorization in practice 41 called Program. Furthermore, parts with missing information of, for example, size or order date have been excluded in the analysis. This data exclusion which has been made could have affected the result regarding the availability of storage locations and the actual storage capacity may potentially be smaller than what is assumed in this project. This can be modified by also categorizing parts belonging to the other picking processes and by extending the simulation model to also cover these movements in the storage. 6.4 Implementation of a categorization in practice When interpreting and making conclusions of the results, there are a few further aspects and analyzes which need to be taken into consideration apart from the ones presented in this report, before implementing any categorization strategy in practice. First, the categorization model which is chosen to be implemented in the storage has to be able to be maintained over time in the storage, i.e. the function of replenishment needs to be considered. Since the simulation model is static, this is not something that is implemented in the model. What is stored in the storage depend on the customer s order, therefore the content in the storage varies over time. Because of this, one can argue that categorization according to delivery address and Jaccard s similarity index are harder to maintain than ABC or program classification. Since the classes within these methods are restricted to fewer storage locations, the risk is higher that these exact locations will be filled and parts have to be located outside of the storage locations assigned to a specific class. However, classification according to delivery address can be easier to maintain than classification according to Jaccard s similarity index considering the introduction of new parts in the storage. This since it is easy to see what delivery address the new part has and assign it to the corresponding class, but a new article does not have correlation with any other part in the storage and hence is hard to assign to any class according to Jaccard s similarity index. Second, when implementing a storage categorization, the cost of moving the parts to their new storage locations needs to be taken into consideration and an analysis of what time it will take to reach break-even between these costs and the earnings of the categorization has to be made. Apart from the results presented in this report concerning what savings different categorization strategies can make, this master thesis has also resulted in a categorization tool which can be used at Scania for testing the outcome of different categorization methods. This tool consists of the created simulation model of the PS storage in ExtendSim, as well as Microsoft Excel workbooks where the input files for the simulation are created. To ensure all necessary information is transferred to the concerned employees at Scania, a manual of how to use the tool and how to interpret the results has been created. The categorization tool can be used for ABC-categorization, categorization according to program and delivery address and for a random location strategy. The choice has been made to not implement categorization according to Jaccard s similarity index in the tool, due to the difficulties to maintain the strategy over time and due to the similarities with categorization according to delivery address.

58 42 Chapter 6. Discussion 6.5 Wider perspective When performing a project like this master thesis, many different people are involved in the process and have interest in the result. Therefore, it is of great importance that the result is presented in a way that does not affect anyone s work situation negatively. This has been taken into account by not presenting any results in seconds, only in percentages, since presenting the exact order fulfillment times could open up for discussions about workload which might be a sensitive topic. Furthermore, in today s society, the environment has become a very important aspect to take into account for many companies when introducing new projects. In this master thesis the environmental aspect has been considered in terms of the electricity which can be saved when the forklifts drive shorter distances and when the time spent queuing becomes smaller.

59 Chapter 7 Conclusions The purpose of this master thesis has been to analyze and examine if it is possible to optimize the picking process, in terms of order fulfillment time for the forklift drivers, in a certain storage with categorization of the goods. Important to keep in mind when making conclusions of the results presented in this report is that the result only holds for the conditions in this specific storage area and under the chosen delimitations made for this project. One of the main findings in this master thesis has been that regardless of what categorization strategy that is used, it is shown to be beneficial to categorize the storage in terms of order fulfillment time compared to a random strategy. Most of the tested categorization methods in this study generate considerably similar result, and hence which strategy to be used depends on what factors one considers as the most important to take into account. If only the driving time and distance is of interest to measure, ABC-classification should be the preferred categorization strategy since this method generates the shortest driving time. However, when the total order fulfillment time including both driving, picking and queuing time is considered, classification according to program, delivery address or Jaccard s similarity index should be chosen with three order queues. These methods spread the traffic across the area and reduce the congestion, which could also be preferable if the number of forklifts in the area will be increased. Furthermore, a great difference has been showed between the use of one and three order queues in the case of family based classification. This shows that it might be advantageous to restrict the forklifts working in the storage to different parts of the area and pick different programs in order to reduce the congestion. Based on the result in this study, categorization according to delivery address with three order queues is the preferable categorization strategy for this specific storage area and would result in a reduction of the order fulfillment time of 5.03%. This strategy will locate parts which are picked on the same route close to each other and hence minimize the total order fulfillment time for the forklifts. However, if it is desirable to maintain the picking process of picking one program at a time, ABC-classification is the preferable strategy. This since the family-based classifications then would result in high congestion. 43

60 44 Chapter 7. Conclusions The findings in this project of the positive savings which can be done by categorizing a storage will hopefully be helpful for the logistics engineers at OLSX at Scania when it comes to how a storage should be categorized in order to minimize the order fulfillment time for the forklift drivers. There are often great opportunities to make improvements of the storage assignment in warehouses, and the results in this report and the constructed categorization tool may be used as guidelines for this type of decisions.

61 Chapter 8 Future Research This project has shown that applying a categorization strategy in the investigated storage would generate positive savings in terms of order fulfillment time, but a lot of work can still be done to develop the findings of this study. First, in order to verify the result, further verification and evaluation of the simulation model should be performed apart from what is covered by the scope of this master thesis. This should include empirical testing by comparing simulation results of the picking process with the reality. Also, in order to implement the chosen categorization method in practice, the model should be extended to be in line with the changes in the storage which has been made during the time frame of this project, but have been excluded due to a chosen delimitation. Second, the other picking processes which are circulating in the concerned storage area should be taken into further consideration and how these processes are affected of a potential categorization should be analyzed. An interesting development opportunity of this master thesis would be to examine how a change in the layout design of the storage area would affect the result. An example could be to analyze what impact an aisle located in the middle of the storage across the racks would have on the result. This could be done by comparing the savings of a central aisle with the cost of loosing part of the storage locations. Another interesting extension of this project would be to investigate the opportunity of implementing a vertical ABC-classification, i.e. locating the most frequently ordered parts to lower levels of the racks. This could be done by also including the vertical travel time for the forklifts and implement this in the simulation model. 45

62 46 Chapter 8. Future Research

63 References [1] Scania CV AB. About Scania. Scania CV AB Retrieved [2] Scania CV AB. Production and Logistics. Scania CV AB Retrieved [3] F. Bindi, R. Manzini, A. Pareschi, and A. Regattieri. Similarity coefficient and clustering techniques for the correlated assignment problem in warehousing systems. International Conference on Production Research, 19. [4] H. Brynzér and M. I. Johansson. Storage location assignment: Using the product structure to reduce order picking times. International Journal of Production Economics, 46: , [5] F. T. S. Chan and H. K. Chan. Improving the productivity of order picking of a manual-pick and multi-level rack distribution warehouse through the implementation of class-based storage. Expert systems with applications, 38(3): , [6] U. S. S. Dharmapriya and A. K. Kulatunga. New strategy for warehouse optimization lean warehousing. Proceedings of the 2011 International Conference on Industrial Engineering and Operations Management, pages , [7] J. Du and J. Y.-T. Leung. Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research, 15(3):484, [8] Scania Group. Logistikutvecklare till logistikcenter (OL). Linked In. at-scania-group , Retrieved [9] Imagine That Inc. ExtendSim 9 User guide. Imagine That Inc, pages [10] J. Karásek. An overview of warehouse optimization. pages 1 5, [11] N. Lathia. What is the difference between k-means and hierarchical clustering? Quora. Retrieved

64 48 REFERENCES [12] T. Le-Duc and R. (M.) B. M. De Koster. Travel distance estimation and storage zone optimization in a 2-block class-based storage strategy warehouse. International Journal of Production Research, 43(17): , [13] J. C.-H. Pan, P.-H. Shih, and M.-H. Wu. Storage assignment problem with travel distance and blocking considerations for a picker-to-part order picking system. Computers Industrial Engineering, 62(2):529, [14] D. W. Pentico. Assignment problems: A golden anniversary survey. European Journal of Operational Research, 176(2): , [15] H. A. Rahmna, C. Wang, and I. Y. W. Lim. Waste processing framework for nonvalue-adding activities using lean construction. Journal of Frontiers in Construction Engineering, 1(1):8 13. [16] K. J. Roodbergn and I. F. A. Vis. A model for warehouse layout. Expert systems with applications, 38(10): , [17] Statsoft. How To Group Objects Into Similar Categories, Cluster Analysis. Statsoft. Retrieved [18] Wikipedia. ExtendSim. Wikipedia Retrieved [19] L. A. Wolsey. Integer programming. Wiley-Interscience publication, page 57. [20] J. Xiao and L. Zheng. A correlated storage location assignment problem in a singleblock-multi-aisles warehouse considering BOM information. International Journal of Production Research, 48(5): , [21] J. Xie, Y. Mei, A. T. Ernst, X. Li, and A. Song. A bi-level optimization model for grouping constrained storage location assignment problems. IEEE Transactions on Cybernetics, 48(1):385, 2018.

65 Appendix A Pseudo code A.1 ABC-classification Step 1. Given a number of parts i = 1,..., N, let f i define the order frequency for part i. Let X be an N 3 matrix. Step 2. Calculate the total order quantity F = N i=1 f i. Step 3. For i = 1,...N: Calculate the ratio r i = f i /F. Set X[i, 1] = i and X[i, 2] = r i Step 4. Sort X with respect to r i in a descending order. Step 5. For k = 1,..., N: Calculate cumulative sum c k, of the ratios r i If k =1: c k = X(k, 2) Otherwise: c k = c k 1 + X(k, 2) Assign classification Step 6. Collect matrix X. If c k < 0.7: Set X[k, 3] = A Else if 0.7 c k < 0.9: Set X[k, 3] = B Else: Set X[k, 3] = C I

66 II Chapter A. Pseudo code A.2 Classification according to program Step 1. Let P = {p 1,..., p m } be a set of programs, where m is the number of programs. Given a number of parts i = 1,..., N, let f P,i define the order frequency of part i within program P. Step 2. For i = 1,..., N: Set max f = 0 For k = p 1,..., p m : If f k,i max f max f = f k,i prg i = k Collect classification prg i A.3 Classification according to delivery address Step 1. Let P = {p 1,..., p m } be a set of programs, where m is the number of programs, and A = {A 1,..., A M } be a set of addresses, where M is the number of addresses. Given a number of parts N P within program P, let i = 1,..., N define the parts. Step 2. Collect a sample of order history containing part number part k, delivery address address k A and program prg k P, where k = 1,..., K represents the order. Step 3. Set Class number = 1 Step 4. Let c k, where k = 1,..., K, be a variable representing the class order k belongs to. Step 5. For k = 1,..., K Set Row address = 0 and Row part = 0 If k = 1 Else: Set c k = Class number. Update Class number. For j = 1,..., k 1: If address k = address j and prg k = prg j Set Row address = j If part k = part j and prg k = prg j Set Row part = j If Row address = 0 and Row part = 0 Set c k = Class number. Update Class number. If Row address > 0 Set c k = c Row address. If Row address > 0 and Row part > 0

67 A.4. Classification according to Jaccard s similarity index III If c Row address c Row part Replace all c k = c Row part with c Row address. If Row address = 0 and Row part > 0 Set c k = c Row part. Step 6. Collect unique part numbers and corresponding class. A.4 Classification according to Jaccard s similarity index Step 1. Let P = {p 1,..., p m } be a set of programs, where m is the number of programs. Given a number of parts N P within program P, let i = 1,..., N P and j = 1,..., N P define the parts. Step 2. Calculate a Jaccard s similarity matrix S P N P N P, containing Jaccard s similarity index s i,j for every pair of parts, for each program P. Step 3. For P = p 1,..., p m : Set Class number = 1. Find s max = max{s P i,j } and save corresponding i and j to i max and j max respectively. While s max > 0: Assign parts i and j corresponding to s max to class Class number. Add all parts with s imax,j > 0 or s i,jmax > 0 to class Class number in decreasing order. Update Class number. Find next s max = max{si,j P } among the remaining parts and save corresponding i and j to i max and j max respectively. Step 4. Step through all remaining parts i not yet assigned to any class: If s i,j = 0 s i j Else: Step 5. Collect classes. Assign to separate class. Find si max = max{s i,j } j. If part j corresponding to si max is assigned to a class: Assign i to the same class. If part j corresponding to si max is not assigned to a class: Create separate class for i and j.

68 IV Chapter A. Pseudo code A.5 Random location strategy Step 1. Given a number of parts i = 1,..., N and a number of racks r = 1,..., R, let s i be the required storage size for part i. Step 2. Let X be an N 2 matrix where the first column contains i = 1,..., N and the second column is initially empty. Step 3. Let used i be a variable indicating if part i has been assigned a location, defined as: { 1, if part i has been assigned to a location used i = 0, otherwise Step 4. For k = 1,..., N Generate u 1 U(1, N) Set part nr = X(u 1, 1) While used part nr = 0 Generate u 1 U(1, N) Set part nr = X(u 1, 1) If part nr > 0: Set used part nr = 1 While Check = F alse Generate u 2 U(1, R) Set rack nr = u 2 Search for available location in rack rack nr, from smallest to largest capacity of storage location, but with capacity larger than or equal to s i. If available location exist: Set X[k, 1] = part nr Set X[k, 2] = rack nr Check = T rue Set Check = F alse Step 5. Collect matrix X.

69 Appendix B Simulation model In Figure B.1, an overview of the whole simulation model in ExtendSim can be seen. Figure B.2 presents an example of an input file which will be inserted in the simulation model in ExtendSim. Figure B.3 shows an example of an output from the simulation model in ExtendSim. V

70 VI Chapter B. Simulation model Figure B.1: Overview of the whole simulation model from ExtendSim.

71 Figure B.2: Example of the input file which is inserted in the simulation model in ExtendSim. VII

72 VIII Chapter B. Simulation model Figure B.3: Example of output from the simulation model in ExtendSim.