



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Abstract. Warehouse Management Systems, WMS, contributes to new opportunities concerning strategies in the placement of items in a warehouse. The department.
Typology: Study notes
1 / 27
This page cannot be seen from the preview
Don't miss anything!




















Margrét Björgvinsdóttir Vt 2015 Examensarbete, 30 hp Industriell ekonomi, inriktning logistik och optimering 300 hp
Page 4 ( 27 )
In the spring 2015 a WMS, Warehouse Management System, was installed in Components central warehouse. This enabled new order picking systems. Before the installation, the warehouse items were mostly sectioned by production line and/or groups such as motors, wires, cabinets etc. The previous system is used to make it easier for personnel to locate items without login on to the ERP-LN or know every item location by heart, they only have to know the system. This system is not flexible and items get positions that may not be optimal from a transportation aspect.
ABB is a global leader in automation and power technologies. The company has a history of technological innovations such as the ultra-efficient high-voltage direct current power transmission that is produced in Ludvika, Sweden. ABB employs 145,000 people around the world and operates in approximately 100 countries. (About ABB in brief, 2015)
Components is a division within ABB Power Products and is located in Ludvika, Sweden. Components has produced components to power transformers since the beginning of the 19th century. The department is ABB’s largest production of on-load tap chargers, OLTC, and IEC Current Transformers. (ABB i Sverige- Components, 2015)
Figur 1. The OLTC-lines and warehouse of Components
The production lines are located as shown in Figure 1. (UB, UC, UZ and DON). The red arrow in marks the in- and output port, I/O-port, which the items are transported thru to get to the production lines.
1.1.1 Material flow in Components Warehouse
The storage units that are delivered by subcontractors first arrive at the incoming section of the Component warehouse, marked X in Figure 1..The department has a large warehouse, the central warehouse called T30, and smaller warehouse sections in other parts of the department. After being scanned in the units are moved by trucks to their location in the warehouse. The scanners are connected to the computer system, called ERP LN, for stock levels. T30 has 1841 shelves in six aisles, A-F. The aisles have between 28 and 38 columns and the columns have between 6 and 12 levels from floor to top. UB-line
1.2.2.1 Limitations of data
Due to the lack of data regarding sizes of batches and locations for the batches simplifications are made. The batches can be delivered in sizes from one to six collars high. A collar is a standardised industry size according to ABB personnel (Strandberg, E. 2015, pers.comm., 5 may). The batches have one or multiple locations after the installation of the WMS, i.e. they are located on multiple locations. To handle this, the program stores the largest location size of multiple locations as the batch size. This could be misleading because if multiple items are stored in the same shelf it means that the batch is smaller than the location size it is placed in. The WMS-system is limited to store one location per item and that is therefore a constraint in the model. The alternative, to take a mean value of the multiple sizes, could lead to lack in storage capacity for the fixed location and is therefore rejected. Assigning a batch to a location that it does not fit in is more problematic than assigning it to a larger one.
The data from ERP-LN is accurate and up to date. The data is collected from the past year. An alternative could be to use prognoses or assumptions about the future but that is considered to be outside the scope of this thesis project. The model is made as adaptable and flexible as possible so that it can be used to update the locations when necessary.
Not all items have data on order picking frequency. This limits the items in the model. There are about 500 of the items that are excluded in the original dataset. To get a better appreciation of the complete warehouse, including the items that lack data, simulations are done with an extended data for order pick frequency.^2
1.2.2.2 Limitations in the model
A simplification that is made in the objective function is regarding the transportation cost. The cost is simplified and approximated. The cost for picking an item is the approximate time for moving from the cell to the I/O-port and an additional cost of 4 seconds if the location is above a specific limit. The limit is because above a certain height the truck driver has to unfold safety armature. Because the shelves have different dimensions the limit is not the same for all columns of the warehouse but an approximated mean.
The model can only dedicate each item one location. The most frequently used items use more than one location in reality, this is further discussed in 5.1.3 Dedicated storage policies.
1.2.2.3 Drawers and kitting
Some locations are drawers and are therefore extensible. These drawers contain smaller items and often contain more than one item sort, i.e. article number. The kitting contains items that are small enough to be collect by hand and are often order specific. The kitting is located in the extensible drawers because of the item sizes and that the extensible drawers are in picking height, they are reachable without any tools. The
(^2) More in 3.4.2 Simulation comparison
extensible drawers are mostly stored in family-grouping, both the items within the drawers and the neighbours. That is, items that are similar or belong to the same kitting are stored in the same area. This correlation between items makes the optimisation including them more complex. This problem is considered a sub-problem and is therefore separated from the optimisation. Due to the time constraint of this thesis project this problem is excluded.
ERP LN is the computerised system used which contains data about items, orders, locations etc. Not all data is computerised and is therefore collected manually if needed. Validation of computerised data is discussed with employees from the division strategic-purchasing and programmers knowledgeable within the system.
1.3.1 Shelves
The sizes of the storage shelves were collected by hand due to lack of computerised data. The shelves were divided into six sizes depending on notches in the rack. The batches that the items are delivered in, mostly used to store the items in the storage, are between one and six collars hence the division of six sizes.^3 Selected areas have drawers for smaller items that are handpicked or kitted. The drawers can contain multiple items and smaller batches. These specific drawers are of size 1 or 2.
1.3.2 Incoming batches to T
A batch is a quantity of items taken together, in this case one or a number of items of the same sort in a wooden box .The batches are from subcontractors and do not have sizes recorded in the system. The sizes of the batches are a necessary input in the model. To get an approximation of the batch sizes, the batches current location is matched to the collected location sizes. To make the matches between the two datasets an extra function was written in the C-program. This function can be called if necessary or if all batch sizes are available the function is ignored. The data for the program is collected after the implementation of the WMS, from ERP LN, to get the most accurate description.
(^3) Explained in 1.2.2.1 Limitations of data
2.1.2 Storage policies
Koster et al. (2007) suggests that there are five frequently used types of storage assignment policies. Rouwenhorst, et al.,(1999) describes them in short as follows:
(Rouwenhorst, B. et al., 1999, s. 517) Family grouping can also be combined with the other storage policies (De Koster, R., et al., 2007, s. 14).
The operation in a warehouse concerning order picking has a cost in terms of time consumed. The items in a warehouse have transportation costs both vertically and horisontally. The horisontal cost represents the transportation from the location of the item along the aisle to the I/O-port and to the production line. If there is not more than one I/O-port the transportation between the port and the production line is insignificant. The following chapter follows a general description of the Multiple-Level Warehouse Layout Problem (MLWPL). The model presented in this chapter is a general version to describe the problem. In chapter 3. a modified version of the MLWLP is developed for solving the problem at ABB in Ludvika.
2.2.1 Multiple-Level Warehouse Layout Problem -MLWLP
The goal of the multiple-level warehouse layout problem, MLWLP, is to minimise the total transportation cost both horizontally and vertically. Each item is assigned to one and only one cell or location. One item type can only be stored in one cell, but one cell can store more than one type of items. The problem is viewed as NP-hard.^5
(^5) see 2.2.
2.2.2 Model Assumptions
Assumptions in this model are described as follows;
(Zhang, G.Q. & Lai, K.K., 2004)
2.2.3 Mathematical model
𝑗 Ԑ {1, 2,... , 𝐽} indices for item types
𝑙 Ԑ {1, 2,... , 𝐿} indices for warehouse levels
𝑘 Ԑ {1, 2,... , 𝐾} indices for available cells in level l
𝑄𝑗 monthly demand of item type j
𝑆𝑗 inventory requirement of item type j
𝐶𝑗ℎ^ horisontal unit transportation cost of item type j
𝐶𝑗𝑙𝑣^ vertical unit transportation cost of type j to level l
A storage capacity of a cell
𝐷𝑙𝑘 horisontal distance from cell k on level l to the I/O port or elevator
Objective function;
𝑚𝑖𝑛 ∑^ 𝐽𝑗=1 ∑^ 𝐿𝑙=1∑^ 𝐾𝑘=1𝑄𝑗(𝐷𝑙𝑘𝐶𝑗ℎ^ + 𝐶𝑗𝑙𝑣)𝑥𝑗𝑙𝑘 (1)
𝑠. 𝑡.
∑ 𝐿𝑙=1 ∑ 𝐾𝑘=1𝑥𝑗𝑙𝑘 = 1, 𝑓𝑜𝑟 𝑗 = 1,2,... , 𝐽 (2)
∑ 𝐽𝑗=1 𝑆𝑗𝑥𝑗𝑙𝑘 ≤ 𝐴, 𝑓𝑜𝑟 𝑙 = 1,2, … , 𝐿, 𝑘 = 1,2, … , 𝐾𝑙 (3)
𝑥𝑗𝑙𝑘 ∈ { 0 , 1 }, 𝑓𝑜𝑟 𝑎𝑙𝑙 𝑗, 𝑙, 𝑘. ( 4 )
𝑊ℎ𝑖𝑙𝑒 𝑛𝑜𝑡 𝑓𝑟𝑜𝑧𝑒𝑛 𝑑𝑜: a. 𝑃𝑒𝑟𝑓𝑜𝑟𝑚 𝑓𝑜𝑙𝑙𝑜𝑤𝑖𝑛𝑔 𝐿 𝑡𝑖𝑚𝑒𝑠 i. 𝑅𝑎𝑛𝑑𝑜𝑚 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 𝑆’ 𝑜𝑓 𝑆 ii. 𝛥 = 𝑓(𝑆’) − 𝑓(𝑆) iii. 𝑖𝑓 𝛥 ≤ 0, 𝑠𝑒𝑡 𝑆 = 𝑆’ iv. 𝑖𝑓 𝛥 ≥ 0, 𝑠𝑒𝑡 𝑆 = 𝑆’ 𝑤𝑖𝑡ℎ 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑒−
𝛥 𝑇 b. 𝑆𝑒𝑡 𝑇 ← 𝑟𝑇, 𝑟𝑒𝑑𝑢𝑐𝑖𝑛𝑔 𝑡ℎ𝑒 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒
𝑅𝑒𝑡𝑢𝑟𝑛 𝑡ℎ𝑒 𝑏𝑒𝑠𝑡 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛.
The definitions temperature, cooling ratio, loop length and “frozen” have to be specified numerically. (Wolsey, 1998, s. 208)
2.2.4.2 Simulated Annealing - parameters
The initial temperature determines the initial probability of accepting solutions or steps. Wolsey suggests choosing that the probability of accepting a transition is:
This probability is called the initial acceptance probability. A too high initial temperature is known to cause bad performance or high use of CPU-time but initially the solutions should have a probability to accept transitions close to 1. (Park, M.-W. & Kimt, Y.-D., 1998)
Different cooling functions are proposed throughout the literature. The cooling can be set with a proportional cooling function which is common. The cooling function is the reduction of T by the reduction factor, or reduction ratio, r. One option of finding a suitable r , proposed by Potts and Van Wassenhove is:
𝑟 = (
𝑇𝑀 𝑇𝐼^ )
1 𝑀−1 (^) (6)
where M is the total number of epochs and 𝑇𝑀 is the temperature at the final epoch. If a slower cooling than the proportional cooling function is preferred, Lundy and Mees suggest temperature be given by:
𝑇𝑘 =
𝑇𝑘− 1+𝛽𝑇𝑘−1^ , 𝛽 > 𝑂.^ (7)
where 𝛽 =
𝑇𝐼 − 𝑇𝑀 (𝑀− 1)𝑇𝐼𝑇𝑀^ (8)
The loop or the epoch length can be selected in proportion to the size of the problem instance, such as in the case of MLWLP, where L can be set equal to the number of cells or items in the warehouse. Other options are setting the L to the total number of trials of the neighborhood solutions that are generated. The stopping condition can be a predetermined maximum count or a value depending on the CPU-time (Park, M.-W. & Kimt, Y.-D., 1998, s. 209).
The stopping condition and the definition of frozen varies in the literature. The total number of epochs can be predetermined and simulations terminated when it is reached. The total number of trials, limitations of CPU time, or the temperature itself can also be predetermined and used as a stopping condition. (Park, M.-W. & Kimt, Y.-D., 1998, s. 209) Another method concerning the temperature is Johnson’s stopping rule which considers the percentage of accepted moves in an epoch (Johnson et al. 161).
According to Park, M.-W and Kimt, Y.-D. it is difficult to select all the variables so that the S.A. gives the best performance. This is because all the parameters have to be selected and determined at the same time. Some values for the parameters need to be decided simultaneously because of the correlation between them, which complicates the choices (Park, M.-W. & Kimt, Y.-D., 1998, s. 209).
Because the problem is NP-hard^6 the heuristic method of Simulated Annealing is used. The MLWLP is modified to represent the given parameters and the problem definition. The drawers are considered a sub- problem, see chapter 1.2.3., and are separated initially from the dataset.
There is only one I/O-port in T30, see Figure 1., and it has the same vertical location as the elevator which is an assumption in the MLWLP. In the modification of the MLWLP the cells are not allowed to store more than one item. This is a request from ABB because storing more than one item in the shelves costs additional time, retrieving items lying under other items. Because of the different sizes of items and locations the levels in the model do not contain the same dimensions as in the original MLWLP.
𝑖 Ԑ {1,2,...,𝐼} Indices for item types
𝑗 Ԑ {1, 2,..., 𝐽} Indices for cell size category
𝑘 Ԑ {1, 2,..., 𝐾} Indices for cell in size category
𝑄𝑖 Order pick frequency of item type i
𝑆𝑖 Size of batch for item i
𝐶𝑗𝑘 Total transportation cost from cell 𝑗𝑘 to I/O-port
𝐴𝑗𝑘 Size of cell 𝑗𝑘
𝑥𝑖𝑗𝑘 Item i at cell jk
(^6) See chapter 2.2.
3.2.2 The Simulated Annealing optimisation program
The program is written in the programming language C and is written for this project. The program is property of ABB due to agreement and is therefore not included in this report. The following chapter describes the program and how it uses the Simulated Annealing to optimise the locations of the items. The program is an executable file that is run through the windows command prompt.
Input; A .txt-file with items, order pick/year per item and current location of the item and a file including all locations with size
Output; the optimised locations for all items and the improvement of cost in percentage
The data for the input file is from ERP-LN and has to be formatted with only a “space” separating the data
for each item and a “enter” between each item.
3.2.3 Program initialisation
For both items and locations the sizes and cost (order picking frequency for items and transportation cost for location) are stored. The total initial cost is calculated from the items current location in the warehouse or at least a location it has had in the past year. When constructing the initial solution, fictional locations are added with a transportation cost of 1000. By adding locations, the program allows items to be placed in locations that do not exist but the cost is up to a hundred times greater than the transportation cost for the closest cells, making the move non-profitable and only acceptable in the early stages of the simulation if there are more locations than items.
The locations are sorted in increasing order, with the smallest cost for transportation first. The items are sorted in decreasing order with the highest order pick frequencies first. The items are then paired to the first empty location within the same size category. Because the items with the highest order pick frequencies are paired to the locations with the lowest cost, the initial solution has each size category optimised within itself.
The program uses the Simulated Annealing techniques to compares different solutions. If the new solution has a lower cost than the previous solution or if the temperature allows it to, a move is made. The moves are made between size categories and the item placement in the category is determined by equation (13). The moves are made between size categories because no move within the size category is better, the positions within the category is always optimal, due to Equation (13).
As in the initialisation cells are added if a move is made to a size category with no empty cells. The new cell gets the cost 1000 and this move is more likely to get accepted in the earlier stages of the simulation. Using the fact that no empty cells are allowed, unless located in the end of each size category, and that the
categories are sorted at all time, the categories are guaranteed to be optimal within each category throughout the simulation.
3.3.1 Parameters
The reduction factor reduces the temperature every epoch. A suitable initial acceptance probability is found by simulation, different initial temperatures are tried out. The items have great differences in order
pick frequencies and can therefore make large differences in cost when making a “move”. This gives a high
delta, in Equation (4), and makes a slower cooling function more suitable. The slower cooling temperature function is therefore used with temperature from equation (7) and (8). The epoch length is set close to the number of items that are in the optimisation, 500, after removing drawers. The total number of loops is equal to the initial temperature divided by the final temperature. The reduction factor is from equation (5).
3.4.1 Data
Figure 1. Plotted order pick per year for the items included in the model
The 366 items^7 that are included in the model have order pick frequencies between 1 and 1389 per year, see Figure 2. The order pick varies and have a mean value of 146. The spread indicates that a few items
(^7) A total of 876 with 510 of them belonging to the drawers
The variation of parameters is done to look for a better final solutions. The parameters that are varied are number of loops, total epochs, initial and final temperature. The variation are presented in Table 2. and the results are plotted in Figure 2.
Figure 2. The initial and optimal value from eight runs
The runs shown in Figure 2. shows both the available dataset, the items with order pick, and the extended dataset which includes items with the simulated order pick frequencies^10. The initial solution in the figure are the values after sorting the items in each size category^11. The final and initial solution for the reduced dataset are within the same range, between 48,99 and 51,99 for all simulations. The extended dataset shows a significantly larger improvement in the final solution compared to the initial solution. A comparison of the reduced and the extended dataset is presented in chapter 5.1.1.
The best results from the eight simulations for the extended dataset are number 7 and 8. They have an initial temperature between 0,6 -0,7 and 1800 number of loops. Compared to the other runs they are in the middle of the used temperature span and the least number of loops.
(^10) Further explanation in 3.4.2 Adding an extended dataset (^11) The initial solution is explained in 3.2.3 Program initialisation
Figure 3. Changes in percentage of total cost through one run
4.1 The extended dataset
Figure 3. is an illustration of changes in percentage of total cost through one run using the extended dataset. The y-axis shows the change in total cost and the x-axis shows the number of improvement steps. The blue line shows the lowest found cost each improvement step and the red line shows the theoretical lower bound given no size constraint. The lower bound, 62 %. The improvement steps are an improvement in cost or the temperature allows a move to be made. The plot line showing the changes are not continuously decreasing, moves are made which are not profitable because of the temperature constraint.
4.2 Comparing results to lower bounds
By sorting the items in locations without a size constraint a lower-bound for cost is found. By removing the size constraint it is made possible for an item of size five to be placed in a location of size two for example, this just to get a lower bound to compare to. All items will be placed in an optimal location without the size constraint, it is only the order pick frequency that determines the items position. The sorted list without size constraint is 42,33% of the original cost when using the items included in the model. This indicates that an optimised solution close to 50% is a solution close to the optimal solution. The large amount of CPU-time that is necessary for adding epochs makes it harder to simulate with more loops.
4.3 Adding data for items without order pick frequency
Because some item data is missing, the results only including them are somewhat misleading. Excluding items, because of the missing order pick frequencies, creates empty space in the storage. This can cause potential misleading cost savings. When adding missing items the results will get more reliable.