storage assignment in a unit load warehouse

Upload: thong-yong-jun

Post on 05-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    1/20

    Storage Assignment in a Unit Load WarehouseNew Findings and New Approach

    1 Introduction

    All warehouses handle two types of inventory: one is the inventory of pallets; two is the inventory of storage

    locations. The act of storing and retrieval can be viewed as exchanging one type of inventory for another. For

    every inventory of pallet created, an inventory of storage location is removed, and so the other way. It is through

    these exchanges (storage and retrieval) that most warehouses derive their revenue. However at the same time,

    every exchange incurs a transaction cost: the cost forklift travelling. Pallets must be carried from the receiving

    dock to the storage location and subsequently from the storage location to the shipping dock. While every handle

    brings in the same revenue, the cost of handling depends on how far the pallet is located from the receiving and

    shipping dock. Therefore, the aim of the warehouse is to minimize total distance travelled in handling x number

    of pallets while maximizing x the number of pallets that can be processed in a given period of time with its

    limited capacity.

    In another word, an ideal warehouse will be one where all the fast moving items are stored close to the receiving

    and shipping doors and slow moving items far away so that most of the activities are concentrated in pallet

    locations that incur the least cost. This problem has traditionally been approached by either greedy heuristics or

    using linear programming. However, what we present here is a novel method in storage assignment that while

    having the advantage of being simple to implement like greedy heuristics, is able to beat the performance of linear

    programming in the long run. This paper will explain the intuition behind every step in arriving at our proposed

    method. With that said, let us begin

    2 Adding a time dimension

    At any point of time, how do you differentiate a fast moving SKU from a slow moving SKU? The space occupy

    by a fast moving pallet is one pallet location (let us call this a slot from now on). The space occupy by a slow

    moving pallet is also one slot. But clearly, if we observed the same slot over a period of time, the slow moving

    pallet will hang around for much longer hence occupying more space-time. This is the reason why we choose to

    use a two dimensional matrix to represent our slots and pallets. On one side are the slots arranged by their

    distance from the receiving and shipping doors. On the other side is time. Say for example:

    Set of slots

    Time

    Slot 1 2 3 4 5 6 7

    1

    2

    3

    4

    1 1 3 5 7

    2 1 2 4 5 7

    3 2 3 6 7

    4 3 4 5 6

    Set of pallets

    1

    1 2

    2 3

    3

    3 4 5 6

    4 5

    5

    6 7

    7

    7

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    2/20

    By framing the problem in this way, we turn the assignment problem into a bin fitting problem. Of course one of

    the aims is to fit in as many pallets as possible using the least number of slots since that will mean we avoid the

    most expensive slots altogether. This is not difficult as bin fitting is a well studied problem in computer science

    and there already exist many algorithms to fit a given set of pallets in the least number of slots. However, we are

    more concerned about the second part of the problem. To bin fit in such a way that all the fast moving go to the

    nearer slots while the slow moving pallets get pushed to the further slots. To do this, let us try a few differentheuristics.

    3 Bin fitting heuristics in a pure deterministic model

    Assume a deterministic model where all information regarding arrivals and departures of pallets within the entire

    planning horizon is visible to the planner. Assume it is also possible for the planner to map all the arrival dates of

    a particular SKU to the departure dates. This is so we know the arrival and departure of every single pallet hence

    also their stay length. Say SKU 21 has arrivals on day 1 & 3 and departure on day 5 & 7. One way to do this

    mapping is: pallet 1 arrives on day 1 and departs on day 5; pallet 2 arrives on day 3 and departs on day 7. Of

    course it is also possible to map the dates as: pallet 1 arrives on day 1 and departs on day 7; pallet 2 arrives on day

    3 and departs on day 5. These details are important but let us not be too concerned for the time being (we will just

    assume FIFO inventory policy is used). The problem of mapping arrival dates to departure dates will be

    elaborated in the section on inventory policy.

    In a pure deterministic model, how can we bin fit the pallets such that fast moving pallets get allocated to the

    nearer slots? One greedy heuristic is as follow:

    1. Rank all the pallets from shortest stay to longest stay

    2. Move down the list and allocate each pallet to the nearest possible slot. Say for example: Pallet 1 will be

    allocated to slot 1. Pallet 2 will be allocated to slot 1 provided it does not overlap pallet 1s space-time. If

    there is an overlap, pallet 2 will move to slot 2. Pallet 3 repeats: starting from slot 1, is there an overlap?

    If no, allocate pallet 3 to slot 1. If yes, try slot 2. Is there an overlap in slot 2? If no, allocate pallet 3 to

    slot 2. If yes, move to slot 3.

    3. Repeat until all pallets are assigned to a slot.

    Let us call this greedy heuristic A. How does heuristic A perform? Well try this out on a small problem:

    Set of pallets (arranged by stay)

    1

    3

    5

    77

    1 2

    2 3

    4 5

    6 7

    3 4 5 6

    Heuristic A

    Time

    Slot 1 2 3 4 5 6 7

    1 1 3 5 7

    2 1 2 4 5 7

    3 2 3 6 74 3 4 5 6

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    3/20

    Because pallets are assigned in order of stay length, heuristic A has no problem grouping all the short stay pallets

    together putting them in the nearest slot. Variance of slots turnover is as high as can be: slot 1 handles 4 pallets,

    slot 2 handles 3, slot 3 two pallets, and slot 4 one. However, heuristic A fails in one important aspect. By visual

    inspection, we can tell heuristic A does not use the least number of slots. 4 slots are used when in fact only 3 slots

    are needed. Let repeat this on a bigger problem set.

    Using the data provided by our Professor, we experimented on a pallet set 28915 big, made up of 63 different

    SKUs. We will attempt to fit all 28915 pallets into a warehouse with 3936 slots. (For more on how we choose the

    63 SKUs, refer to appendix A) How does heuristics A perform on this data set? The result: we exceeded the

    capacity of the warehouse, using in total 4705 slots. In the first few slots, turnovers are extremely high: more than

    60 pallets processed. But as it turns out, optimum bin fitting shows only 3913 slots are needed. So Heuristic A is

    over greedy in the sense it uses much more slots than what is needed. Here is a printout of the result:

    Heuristic A

    Top Middle Bottom

    Notice even though all the short stay pallets are at the top (i.e. assigned to the nearer slots), the space utilization

    there is also very low. If all these empty space are filled up, we can save at least 700 slots.

    What if we change the heuristic slightly: instead of moving down the list from shortest to longest stay, we do the

    opposite. Let us call this greedy heuristics B. The result:

    We achieved the minimum number of slots. But variance of slots turnover is reduced: slot 1 which is supposed to

    hold all the slow moving pallets actually processed 3 pallets (1 of length 4, 1 of length 2, and 1 of length 1).

    When used on the large data set, Heuristic B is able to fit all 29815 pallets into 3913 slots thus achieving an

    optimum bin fit. However, none of the slots processes more than 17 pallets. So variance of slot s turnover greatly

    loses out to heuristic A. How does this happen? Visualize this: you are moving from long stay pallets to short stay

    pallets. After all the long stay pallets found their places, the mid length ones will fill in the gaps in between these

    long stay pallets. If there are still gaps left, they will be filled up by short stay pallets. So the tendency of heuristic

    Heuristic B

    Time

    Slot 1 2 3 4 5 6 7

    1 1 2 3 4 5 6 7

    2 1 2 3 4 5 6 7

    3 3 5 7

    4

    Slots

    Time

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    4/20

    B is to mix the long stay pallets together with the short stay pallets in order to fill up as much of the empty space

    as possible. Utilization of the first few slots will be near 100% as pallets of different stay lengths are mixed

    together. But its overall effect is to balance out slots turnover.

    Heuristic B

    Top Middle Bottom

    Notice space utilization decreases as we move down the slots. Summarizing our results in two plots:

    Heuristic A has high variance in slots turnover but bad space utilization. Heuristic B fully utilizes space but

    variance in slots turnoveris low. Thus we face a dilemma. Is it possible to get the best of both worlds?

    Come heuristic C:

    1. Rank pallets from longest stay to shortest stay

    2. Assign the pallets to slots by moving down the list. This mirrors what we do in heuristic B so at the end

    well have an initial assignment that is based on heuristic B.

    3. Because this assignment has low variance in slots turnover, it will not be the final assignment. However,

    since we know this arrangement uses the minimum number of slot, we can use this to set an upper bound

    for the number of slots needed (in the example earlier, the highest slot number is 3913)

    4. Here comes the trick. Move down the list in reverse (starting from the pallet with shortest stay). Starting

    from the highest slot number, the upper bound (say 3913), iterate through the slots in reverse and find one

    in which the pallet can fit in. (eg. Starting with pallet 29815, see if the pallet can fit in slot 3913. If yes,

    0.0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1.0

    0

    10

    20

    30

    40

    50

    60

    70

    80

    Performance of Heuristic A

    Turnover Utilization

    0.0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1.0

    0

    10

    20

    30

    40

    50

    60

    70

    80

    Performance of Heuristic B

    Turnover Utilization

    Slots

    Time

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    5/20

    change the position of the pallet hence making an improvement. If no, try slot 3912. Continue until we

    reach the current position of the pallet. Then move on to pallet 29814.)

    In effect, what we are doing is implementing heuristic B first then followed by heuristic A. Wouldnt the result be

    the same as if we only run heuristic A? The crucial difference here is that an upper b ound has been set so well

    never use more space than the minimum required. Space utilization is the same as heuristic B but we expect to see

    huge improvement in variance of slots turnover. Let us see the result:

    Heuristic C

    Top Middle Bottom

    By visual inspection, indeed the result of heuristic C doesnt look very different from that of heuristic A (nearest

    slot is at the top for heuristic A while nearest slot is at the bottom for heuristic C). However, what is not shown in

    these diagrams is the fact that only 3913 slots are used. Turnover in the few nearest slots are all above 60.

    Therefore heuristic C is indeed the best of both worlds.

    The distribution of turnovers mirrors that of heuristic A while slot utilization is in the range of 80% unlike

    heuristic A which is in the range of 65%. To further verify our claim, let us pit the three heuristics against each

    other in terms of efficiency.

    0.0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1.0

    0

    10

    20

    30

    40

    50

    60

    70

    80

    Performance of Heuristic C

    Turnover Utilization

    Slots

    Time

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    6/20

    4 Measuring the efficiency of different heuristics in optimizing slot assignment

    The most direct way to measure efficiency is to calculate the cost saving. However, there are disadvantages to

    using cost as a measure of efficiency. For one, cost calculation can be biased. It depends on the layout of the

    warehouse. Layout impacts the relative travel time of pallet positions hence different warehouses will have

    different distributions of travel time even after normalizing. Cost calculation is also one dimensional so at best itprovides a cardinal ranking of different heuristics but does not show why one heuristic is better than another.

    Hence we propose here a novel method in measuring efficiency of heuristics.

    Imagine a warehouse split into two zones, one being significantly nearer to the receiving/shipping doors than the

    other. Assume the two zones are equally sized. Start with the case that pallets are randomly assigned between

    these two zones. Naturally we expect the nearer zone to hold 50% of the pallets while the further zone hold the

    other 50%. Now assuming we have a heuristic that assign 70% of the pallets to the nearer zone. What is the cost

    saving provided by this heuristic? That will equal 20% of the total pallets multiply by the difference in travel time

    between the two zones. Now generalize this case to splitting the warehouse in the ratio x:1-x. If a heuristic assign

    pallets to the two zones in the ratio y:1-y, the cost saving given x is simply y-x times the difference in travel time.

    Let us call y-x the excess.

    Now how do we obtain a plot of y-x against x? Say we have a list of slots and their turnover:

    Slot Turnover Cumulative x y y-x

    1 (nearest) 4 4 0.25 0.40 0.15

    2 3 7 0.50 0.70 0.20

    3 2 9 0.75 0.90 0.15

    4 (furthest) 1 10 1.00 1.00 0.00

    Applying this procedure to the 3 heuristics earlier, we obtained the following plot:

    -5%

    0%

    5%

    10%

    15%

    20%

    25%

    30%

    35%

    0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%

    Excess

    Size

    Measuring efficiency of heuristics (Pure deterministic model)

    Heu A

    Heu B

    Heu CHeu D

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    7/20

    The first thing we notice is that the plot mostly resembles a skewed quadratic curve that intercept x axis at 0 and 1.

    This is expected since if size of the x zone is zero, it could not possibly hold any pallet hence the excess will be

    zero. On the other hand, if size of the x zone is the entire warehouse, it must hold all the pallets hence excess must

    also be zero. For other values of x, we expect excess to be positive otherwise the heuristic is not generating any

    cost saving.

    Notice the arches of heuristic A and C are the highest. This means heuristic A and C are more efficiency than

    heuristic B or D in generating cost saving. Say we look at the 25% area that is nearest to the receiving/shipping

    doors, heuristic A and C will assign 25+32=57% of the pallets to this area therefore generating cost saving that

    equals 32% of total pallets multiple by difference in average travel time between the 25% area nearest to the door

    and the other 75%. For heuristic B, the cost saving is only 15% of total pallets.

    The closest of the two arches indicates that heuristic C matches heuristic A in term of efficiency in generating cost

    saving. The arch of heuristic A does not intercept x-axis at 100% because it overused space. At 100% space,

    heuristic As assignment only holds 95% of the pallets. So the remaining 5% of pallets have to be housed in a

    separate warehouse. Obviously, heuristic C is the ideal heuristic.

    Whats interesting also is the fact that the arches peak at different value themselves. Even though the true cost

    saving is a fixed number that cannot be changed, but assuming we do our cost calculation on zones instead of

    individual slots, it is possible to get different result by altering the distribution of zone. We will expect the

    calculated cost saving to be the greatest if we choose a zone size of 25% since that is where the arch peaks.

    5 Why inventory policy is important?

    Earlier we have pointed out that given a set of arrival dates and a set of departure dates, there can be many ways

    to map the arrivals to departures so we get a list of corresponding arrivals and departures. How will different ways

    of mapping affect the result of optimization? We have avoided this question in the previous section by assumingFIFO. But what about other inventory policies? Let us illustrate with a simple example:

    Say we have a list of arrival dates and a list of departure dates. Our aim is to pair up the arrivals and departures in

    a way that none of the departure comes become arrival. How can we do that?

    One way to do that will be shifting the entire block of arrival dates to the right one step at a time until we come to

    a point where all arrivals comes before departures:

    Arrivals 1 2 3 5 5 6 8 8

    Departures 1 1 3 4 4 4 6 7

    Arrivals 1 2 3 5 5 6 8 8 FIFO mapping

    Arrivals 0 0 0 1 2 3 5 5 6 8 8

    Departures 1 1 3 4 4 4 6 7 9 9 9

    Pallet no. 1 2 3 4 5 6 7 8 9 10 11

    Stay 2 2 4 4 3 2 2 3 4 2 2

    Avg 2.73 SD 0.86

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    8/20

    Unpaired departures are assigned with beginning inventories while unpaired arrivals are assigned with ending

    inventories. For convenience, we use day 0 to represent initial inventory and day 9 to represent ending inventories.

    This method simulates FIFO inventory policy. Its not the only method we can use so let us try a different method:

    Like before, the arrival dates are displaced to the right one step at a time. However, this time we allow the block

    to break along the way so the string of arrival dates does not need to move together. In this method of mapping,

    the rule of FIFO is not strictly obeyed: some of the inventories that come later depart earlier than the beginning

    inventories. Notice the total number of pallets is the same; and so is the number of beginning and ending

    inventories we need o plug the gaps. We still uses 11 pallets, 3 beginning inventories and 3 ending inventories.

    Notice also that the average stay is the same (2.73). Only the variance changes from 0.86 to 1.29. This method is

    called EOQwSS for a reason we will explain in subsequent sections. But before that, let us move on to the third

    method: LIFO.

    Notice in LIFO mapping, order of arrival dates is not preserved (the arrows can cross each other). Whats

    surprising is the even after all the jumbling, average stay of pallets is still the same. But variance is even higher

    now at 1.54.

    Why doesnt average stay change? Consider we have a set of arrival dates represented by 1 2 3, , ,..., na a a a and

    departure dates represented by 1 2 3, , ,..., nd d d d . Depending on how the arrivals are mapped to the departures,

    the set of stay length could be 1 1 2 2, ,..., n nd a d a d a . Or this: 1 2 2 5 3, ,..., n nd a d a d a . Or eventhis: 1 2 1 1, ,...,n n nd a d a d a . Regardless of the ordering, average stay can be computed by the formula:

    ,

    / / /

    i j j i

    j i j i

    a a d d d d a a

    d a n d n a n

    .

    From this, we see that average stay is independent of the ordering of arrivals and departures. What does change is

    the variance.

    Arrivals 1 2 3 5 5 6 8 8 EOQwSS mapping

    Arrivals 1 0 2 3 0 0 5 5 6 8 8

    Departures 1 1 3 4 4 4 6 7 9 9 9

    Pallet no. 1 2 3 4 5 6 7 8 9 10 11

    Stay 1 2 2 2 5 5 2 3 4 2 2

    Avg 2.73 SD 1.29

    Arrivals 1 2 3 5 5 6 8 8 LIFO mapping

    Arrivals 1 0 3 2 0 0 6 5 5 8 8

    Departures 1 1 3 4 4 4 6 7 9 9 9

    Pallet no. 1 2 3 4 5 6 7 8 9 10 11

    Stay 1 2 1 3 5 5 1 3 5 2 2Avg 2.73 SD 1.54

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    9/20

    Why does the choice of inventory policy matter? Recall earlier that assignment is most efficient if variance of

    slots turnover is the highest. Regardless of inventory policy, total number of pallets is the same. And their stay

    length is the same. But using different inventory policies will change the variance of the pallets stay. When

    variance of stay length is high, we expect variance in slots turnover to be high also. Let us verify this claim by

    testing on a large data set.

    FIFO EOQwSS LIFO

    It appears the number of pallets packed into the busiest slots in much higher for LIFO compared to EOQwSS

    which in turn is higher than FIFO. The busiest slot for FIFO handles 68 pallets. EOQwSSs busiest slot handles

    130 while LIFOs busiest slot handles a staggering 251 pallets. Thats almost one pallet per day meaning pallets

    in that slot never stay more than 2 days. When FIFO is used, standard deviation of pallets stay is 32.1 days. For

    EOQwSS and LIFO, it is 47.7 and 53.4 days respectively. Average stay is 33.6 days and same for all three but the

    difference in variance of pallets stay translates to difference in slots turnover. In all three methods, the same

    29815 pallets are bin fitted into the same 3913 slots using heuristic C yet variance of slots turnover differs greatly

    among them:

    -5%

    0%

    5%

    10%

    15%

    20%

    25%

    30%

    35%

    40%

    45%

    50%

    55%

    60%

    0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%

    Excess

    Size

    Comparison of heuristic C's performance

    with different inventory policies

    FIFO

    EOQwSS

    LIFO

    Slots

    Time

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    10/20

    Using LIFO, it is possible to handle 20+54=74% of the pallets in 20% of the slots. Thats using one fifth of your

    slots to handle three quarter of your pallets. Cost saving using LIFO is around54 44

    23%44

    more than if

    EOQwSS is used and54 31

    74%31

    more than if FIFO is used. So switching inventory policy alone is going to

    generate tremendous cost saving. Conclusion: when theres no restriction on inventory policy, we should choose

    LIFO since it gives the highest variance in pallets stay translating to the highest variance in slots turnover. Is

    that the end of the story? Not really. In practice, few warehouses adopt LIFO inventory policy. This finding has

    also implications later when we consider stochastic models. When we cannot look into the future, we need to

    make forecast. However, to make accurate forecast, we need the assumption of FIFO. So this presents a dilemma:

    LIFO can achieve the highest variance in slots turnover hence allow ing us to handle the most number of pallets

    in the least number of slots. But accurate forecast of pallet stay length is not possible for LIFO. More on how we

    handle this dilemma will come later. But let us first attempt our first stochastic model: the Container Yard

    Problem which will illuminate how the general stochastic problem could be approached.

    5 Applying heuristic C when vision is constrainedthe Container Yard Problem

    In a pure deterministic model, we assume complete vision meaning all future arrivals and departures are known in

    advance. In reality, warehouses will not know everything in advance. But the warehouse will probably know

    which pallets are coming in within the week since they have placed orders for these pallets. When the pallets

    eventually come in, they probably will not know how long these pallets are going to stay. But they can have some

    idea but looking at the historical flow rate. This is what we call a stochastic model. Well like to see how heuristic

    C can be applied to stochastic models. First, let us workon the easier version, what we called the Container Yard

    Problem.

    Container yards are like warehouses. They take in containers and hold them for a period of time. Every week, the

    manager will probably know what shipments of containers are coming in, and for these containers how long they

    will stay. But he will not know in advance what shipments are coming in the following week and after. The key

    thing here is: there is no uncertainty in the stay length of the pallets once they enter our field of vision but at any

    point of time, our vision is constrained to the 6 days planning horizon. I know 6 pallets of SKU 21 are coming in

    on Wednesday. And I know these 6 pallets will stay exactly 15 days in my warehouse. But ask me what pallets

    are coming in the following Wednesday, I will not know until the week has passed.

    Let us visualize what happens when heuristic C is applied in this model. Firstly, bin fitting in this case is done

    from left to right. We cut our space-time matrix into vertical strips. The width of each strip corresponds to the

    number of days in our planning horizon. At any of point, only pallets within the immediate planning horizon are

    visible to us. We will apply bin fitting to this subset of pallets before proceeding to the next strip and repeating the

    bin fitting procedure on the next subset of pallets.

    In this manner, there is an element of shortsightedness. Assume we are at the last day of the week. By coincidence,

    all the pallets that arrive on this day are long stay pallets. It could be possible a set of short stay pallets will arrive

    the following day. But because the next day pallets are not visible to us, a greedy heuristic will just assign these

    long stay pallets to the nearer slots thus occupying the space that could have been freed up for the short stay

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    11/20

    pallets arriving in future. When the week has passed, the new set of short stay pallets arriving will find themselves

    being assigned to further slots since the nearer slots are already occupied by the long stay pallets. So how does

    this shortsightedness impact the performance of our heuristic?

    As expected, shortsightedness limits the performance of our heuristic. Notice in the case of limited vision, the

    lines are not smooth since the assignment may not be locally optimum (i.e. as we move down the slots from

    nearest to furthest, turnover can increase at some point even though the general trend is decreasing turnover).

    Using 25% space as benchmark, complete vision will allow us to handle 25+44=69% of pallets in 25% of the

    space. Constraining our vision to one month reduces this number to 67%. In the case of one week, this number is

    further reduced to 66%. At the extreme, when vision is constrained to a single day, we are down to 61%. So in

    conclusion: shortsightedness reduces performance, but not significantly until we approaches the extreme. But of

    course, we are basing our claim on a dataset that is well balanced (distribution of pallets stay remains consistent

    from day to day). If our dataset is highly imbalance (eg. 3PL warehouses who do not have stable client base),

    distribution of pallets stay can varies a lot throughout the year. Then shortsightedness can have a huge impact.

    We have yet explained what heuristic D is (even though it has already appeared a couple of times). Heuristic D is

    one of the greedy heuristic mentioned our textbook. Its rule is as follows:

    Each day, incoming pallets are ranked by their expected stay length. The pallet with the shortest stay will go to

    the nearest available slot. The pallet with second shortest stay will go to the second nearest available slot. And so

    on. As we go down the list from shortest to longest, pallets are assign one at a time to the nearest available slot.

    0%

    5%

    10%

    15%

    20%

    25%

    30%

    35%

    40%

    45%

    50%

    0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%

    Excess

    Size

    Performance of heuristic C when vision is constrained

    Heu C (Complete vision) Heu C (One month) Heu C (One week) Heu D

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    12/20

    It can be seen that heuristic D is nothing more than the limiting case of heuristic A (or heuristic C) when vision is

    shortened to one single day. Returning to an earlier chart entitled Measuring efficiency of heuristics (Pure

    deterministic model), it is clear that heuristic D will always lose out to heuristic C because of its shortsighted

    nature. By the same virtue, heuristic D is the most affected by imbalanced pallet set. With this consideration of

    shortsightedness of greedy heuristics, let us move on to a more general stochastic model.

    6 Finally A stochastic model Overcoming shortsightedness of greedy heuristics

    Heuristic C is by nature, a bin fitting heuristic. It works very well in a pure deterministic model but will be

    subjected to the problem of shortsightedness when applied to stochastic models. Is it ever possible to have a

    heuristic not subjected to shortsightedness?

    Consider the information you have when deciding where to assign an incoming pallet. You do not know the exact

    date when the pallet is going to depart. But you can estimate based on past data the flow rate of the SKU thus

    giving you a rough idea of how long it will stay. For each slot, other than knowing the travel distance, it is

    possible to get other information with regards to the slot. With experience, a manager can tell how much turnover

    to get from a slot in order to fully utilize it. Say for example a warehouse that handles a large number of fast

    moving pallets, each staying no more than one week. The manager should expect the nearest slot to turn no less

    than 52 times. If that slots turnover is lower than 52, it just means some other slots further in have higher

    turnovers (assuming space in warehouse is fully utilized) thus implying his current assignment is not efficient. It

    is therefore entirely possible to assign to each storage location a target turnover and use this information in getting

    better assignment. This gives us one clue to how to approach the bigger stochastic problem.

    Another clue can be gotten from visualizing the behavior of heuristic C when solving the bin fitting problem with

    limited vision. Take the extreme case when vision is constrained to one day: heuristic C will first rank all the

    incoming pallets by stay length. The longest stay pallet will be pushed all the way in and then followed by the

    second longest and so on (simulating heuristic B). When all the pallets have been pushed in as far back as we can,

    we then reverse the procedure and pull the pallets forward as far as we can (simulating heuristic A):

    Existing arrangement

    Time

    Slot 1 2 3 4 5 6

    1 1 2 3 4

    2 1 2 X

    3 2 3

    4 1 2 X

    5 1 2 3

    6 1 2 X

    7 1 2 X

    Incoming pallets

    3 4 5 6

    3 4

    3

    Step 1: Heuristic B

    Time

    Slot 1 2 3 4 5 6

    1 1 2 3 4

    2 1 2 3 4 5 6

    3 2 3

    4 1 2 3 4

    5 1 2 3

    6 1 2 3

    7 1 2

    Step 2: Heuristic ATime

    Slot 1 2 3 4 5 6

    1 1 2 3 4

    2 1 2

    3 2 3

    4 1 2 3 4 5 6

    5 1 2 3

    6 1 2 3 4

    7 1 2 3

    Availableslots

    furthest

    nearest

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    13/20

    From one look, we can tell the shortcoming of this procedure. In the first step, the long stay pallet is put in the

    right position (as far back as possible) but position of the short stay pallet could be improved if we move it from

    slot 6 to slot 7. In the second step, the short stay pallet is in the correct position but the long stay pallet should not

    have moved out of its previous position. So we have a dilemma: if all the pallets are pushed as far back in as

    possible, we underutilized the nearer slots. On the other hand, if we pull all the pallets as far out forward as

    possible, we could potentially wrongly assign the long stay pallets to nearer slots (shortsightedness).

    This problem could be fixed if we had set target stay length for each slot and made sure pallets going into each

    slot do not exceed the target stay length. In this way, we prevent long stay pallets from being moved too far out

    forward while ensuring short stay pallets still goes to the nearest slots. Ideally, the result should look something

    like this:

    The targets should be in descending order with the longest stay furthest in and the shortest stay nearest to the

    doors. One point to stress is that the targets are not targets of average stay length but targets of maximum stay

    length of pallets within the slot. It is alright for pallet with stay length of 2 to go into any of the slot 1-6. But we

    will not assign a pallet with stay length of 4 to slot 3-7 since it exceeds their maximum admissible stay length. By

    introducing target stay length for each slot, our heuristic will no longer be shortsighted. Let us call this modified

    version heuristic C with targeting.

    So question: how do we set the targets? The targets can be set by guessing; they can be set based on experience.

    But a better way we propose is to collect the previous years data and perform an opti mum bin fit on that entire

    year of data using heuristic C. Since the data comes from the previous year, the problem we are solving is purely

    deterministic. Heuristic C will work well and the result will be an optimum assignment. The result from this

    optimization can then be used to set stay length targets for each slot. And the targets will guide our assignment

    decision in the current year. The assumption here is that distribution ofpallets stay remains the same over the

    two years. So the more balanced our pallet set is, the more accurate our targets could be set.

    To test this method on our large data set, we used the first 10 weeks of arrivals and departures as past data and

    tested our new heuristic (let us call it the Ungreedy heuristic) on the remaining 42 weeks since only one year of

    data is available. In the first step, the usual heuristic C is used to bin fit all the pallets in the first 10 weeks into

    3913 slots. With the assignment for the first 10 week, we set targets for the 3913 slots. From week 11 onwards,

    every day when a new set of pallets comes in, we will rank them according to forecasted stay length. Starting

    from the pallet with the shortest stay length, we will assign the pallet to the nearest free slot whose target is not

    lower than the forecasted stay of the pallet. Say for example our first pallets forecasted stay is 15 days. If the first

    Ideal result

    Time

    Slot 1 2 3 4 5 6 Target

    1 1 2 3 4 4

    2 1 2 3 4 5 6 4

    3 2 3 2

    4 1 2 2

    5 1 2 3 2

    6 1 2 3 4 2

    7 1 2 3 1

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    14/20

    20 slots have target set less than 10 days, we will keep these slot free and instead put the pallet in slot 21. Then we

    move on to the next pallet. Applying this rule to all the pallets coming in after week 10, we get the result:

    The red line is what we get when working with a pure deterministic model. It represents the best case scenario.

    The blue line is the result of using our ungreedy heuristic in a stochastic model. As can be seen, its performance

    closely matches that of the best case scenario. This is because targeting stay length eliminates the problem of

    shortsightedness. Even when vision is limited to one day, our ungreedy heuristic will still be able to produce an

    assignment not very different from the one we get with complete vision.

    Since we are relying on targeting stay length to correct shortsightedness of our heuristic, what happens if the

    targets are badly set? If we set very loose targets for all slots (the case of unbinding constrains), all the incoming

    pallets will just go to the nearest slots. So what we are doing is just heuristic D (represented by the green line). On

    the other hand, if we set our targets to be very tight, all the incoming pallets will get pushed to the furthest slot

    every time. So what we get is heuristic B. The two represent our worse case scenarios.

    How near we get to our best case scenario depends on how well we set our targets. We tried setting our targets

    using data from the entire year instead of just the first 10 weeks. With this new set of targets, we show that

    performance of our heuristic can be even better (purple line). Yet no matter how well the targets are set, we can be

    sure that there will still be a gap between the stochastic model and the pure deterministic model. This is because

    in the stochastic model, we rely very much on the quality of our forecast. The targets themselves are not binding

    on the actual stay length of the pallets in the slots; they are only binding on the forecasted stay. Thus it is entirely

    0%

    5%

    10%

    15%

    20%

    25%

    30%

    35%

    40%

    0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

    Excess

    Size

    Using our Ungreedy Heuristic in a stochastic model

    Heu C (deterministic) Ungreedy (stochastic)

    Ungreedy (stochastic) (good targets) Heu D (stochastic) (without targets)

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    15/20

    plausible for pallets to overstay in their assigned slot if forecast deviates from reality. So accuracy of our forecast

    can be very important.

    7 EOQwSSPushing the performance further

    In stochastic models, if we want to avoid the problem shortsightedness, we need to rely on having accurate

    forecast of pallets stay so we know where to assign these pallets based on the each slots target. But accurate

    forecast is based on the assumption of FIFO. Recall earlier in our discussion on inventory policies, we proposed

    LIFO as the ideal inventory policy since variance of slots turnover is highest with LIFO. Imagine we always

    fulfill order of a particular SKU with pallets from the nearest slots. If the nearest slots are the first to be emptied,

    it also means they are the first to restock. So the result is that most of the activities are concentrated in those first

    few slots. This is exactly what we want. To a certain extent, this strategy also mimics LIFO. Heuristics that are

    cost greedy such as linear programming tend to follow this pattern. But these heuristics are not immune to

    shortsightedness. So we face a tradeoff: either we impose FIFO to avoid the problem of shortsightedness or we

    use a greedy heuristic that mimics LIFO and accept shortsightedness as an inherent limitation. If the cost of

    shortsightedness outweighs the benefit of LIFO, we should choose option 1. If cost saving from LIFO is enough

    to cover the cost of shortsightedness, we should choose option 2. Once again we ask ourselves the question: can

    we get the best of both worlds?

    The answer to this question is an inventory policy we have considered earlier but have yet to investigate deeper.

    We call this inventory policy EOQwSS. We first discovered EOQwSS when working out different ways to map

    arrival dates to departure dates. So its more of a solution to a computing problem rather than a reflection of any

    real world inventory policy in practice. However on closer inspection, we realized EOQwSS can have meaningful

    interpretation. Recall EOQwSS mapping is a modification of FIFO mapping which allows breaks in the block of

    arrival dates:

    We can interpret EOQwSS as this: FIFO ordering is preserved for new arrivals but violated for beginning

    inventories. Beginning inventories are used whenever the inventory of new arrivals runs out. Now we get a clearerpicture. Imagine for each SKU we keep two sets of inventories: one is our beginning inventory, we call this safety

    stock; the other set consist of our new arrivals, we call this EOQ inventory. Every time an order comes in, we will

    draw first from the EOQ inventory in a FIFO order. The safety stock will only be used when EOQ inventory runs

    out. We call this inventory policy EOQwSS because stay length of pallets can be represented on an EOQ diagram:

    Arrivals 1 2 3 5 5 6 8 8 EOQwSS mapping

    Arrivals 1 0 2 3 0 0 5 5 6 8 8

    Departures 1 1 3 4 4 4 6 7 9 9 9

    Pallet no. 1 2 3 4 5 6 7 8 9 10 11

    Stay 1 2 2 2 5 5 2 3 4 2 2

    Avg 2.73 SD 1.29

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    16/20

    The advantage of this method with regards to our assignment problem is that EOQwSS inherently has higher

    variance in pallets stay compared to FIFO because we have two sets of inventories and we draw from each at

    different rate. The EOQ stock is drawn and replenished frequently so stay lengths are short while the safety stock

    is drawn infrequently throughout the year so stay lengths can be very long. If we assign safety stocks far inside

    and EOQ stock in the convenient location, the nearest slots will see very high turnover while the slots further in

    will not be visited a lot. Yet EOQwSS still maintains an element of FIFO thus forecasting stay lengths will not be

    a problem. For incoming pallets that goes into the EOQ stock, forecasting stay length can be done simply by

    looking at the current inventory in the EOQ stock expressed in inventory days. To obtain forecasted stay for ourbeginning inventory (the safety stock), we simply spread out depletion of this inventory over the year. So

    EOQwSS is a FIFO based inventory policy yet having high variance in pallets stay.

    Since EOQwSS allows us to forecast pallet stay with a high degree of accuracy, it can be applied to our target

    based heuristic. So let us try replacing our earlier FIFO model with one that adopts the EOQwSS inventory policy

    and see what improvement we will get:

    0%

    10%

    20%

    30%

    40%

    50%

    60%

    0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

    Excess

    Size

    Changing from FIFO to EOQwSS

    Heu C (deterministic) (LIFO) Ungreedy (stochastic) (FIFO) Ungreedy (stochastic) (EOQwSS)

    EOQ inventories

    Safety stocks

    Time

    Stock level

    Pallet stay represented by the stripes

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    17/20

    The deterministic LIFO case represents our best case scenario. It is the optimum assignment we can get for this

    data set. As can be seen, even after changing our inventory policy to EOQwSS, we are still some gap away from

    this optimum. But we have already made a huge improvement compared to the FIFO case. Recall variance of

    pallets stay is 32.1, 47.7 and 53.4 for FIFO, EOQwSS and LIFO respectively. Note also that the existence of the

    gap does not necessarily mean a better heuristic could be found. The ideal case here (red line) is achieved when

    perfect information is available so it does not mark the boundary of the best theoretically achievable result.Taking into account the incompleteness of information, the true boundary may actually be nearer to our green line.

    It is here that we have reached our limit. EOQwSS is the best compromise we have found so far in our FIFO

    versus LIFO dilemma. So let us wrap this up with a cost analysis.

    8 FinallyCost analysis

    Earlier, we did not to bring cost analysis into the picture because we want an objective measure that is not biased

    by factors like layout of the warehouse. But at the end of the day, it is still figures with dollar signs that convince

    people the most. So we run cost analysis on assignments generated by different heuristics based on a hypothetical

    warehouse with 3936 slots. The result can be seen here:

    As described earlier, the choice of inventory policy impact cost to a large extend. Cost is 21% higher for FIFO

    and 12% higher for EOQwSS compared to LIFO. However, the impact of shortsightedness proves to be equally

    important. Heuristic D (which can be considered an extremely shortsighted version of heuristic A) costs 6 and 9%

    more than heuristic C in the case of FIFO and EOQwSS respectively. Moving on to a stochastic model:

    0

    200

    400

    600

    800

    1,000

    1,200

    1,400

    1,600

    11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51

    Thousands

    Week

    Cost performance of bin fitting heuristics in a pure deterministic model

    Heu C Deterministic FIFO

    Heu C Deterministic EOQwSS

    Heu C Deterministic LIFO

    Heu D Deterministic FIFO

    Heu D Deterministic EOQwSS

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    18/20

    In terms of cost, our ungreedy heuristic (green line) is very close to its deterministic cousin (red line). It is still

    some distance away from the best case scenario represented by the deterministic LIFO case (blue line).

    Nevertheless, it still performs much better than the short sighted heuristic D (purple line).

    Therefore, cost analysis helped confirm our earlier findings. That how well a heuristic performs in this storage

    assignment problem is greatly dependent on the tradeoff between shortsightedness and LIFO. The more we mimic

    LIFO behavior, the more cost saving we can get, but the more difficult it becomes to manage shortsightedness.

    9 ConclusionIts not the end

    So have we arrived at an ideal heuristic? Not really. But we have come a long way. We started by framing the

    assignment problem as a bin fitting problem. We then proposed a bin fitting heuristic that achieves both our goals

    of maximizing space utilization and assigning only fast moving pallets to the nearest slots while keeping slow

    moving pallets far inside. The assignment by heuristic C may not be the best but it is close enough to the ideal.How close exactly? (i.e. What is its performance guarantee?) We can only know by doing a mathematical analysis.

    But this is out of the scope of this paper. Next we investigated the impact of using different inventory policy. We

    showed that LIFO is the ideal inventory as it creates the highest variance in pallets stay hence translating to

    variance in slots turnover. Moving from a pure deterministic model to a somewhat stochastic mode l (the

    Container Yard Problem), we investigate how short vision limits the performance of our nave bin fitting heuristic.

    We demonstrated the problem of shortsightedness by constraining vision first to a month and then to a week. We

    also showed heuristic D as a limiting case of heuristic C with an extremely short vision of one day. To address the

    0

    200

    400

    600

    800

    1,000

    1,200

    1,400

    1,600

    11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51

    Tho

    usands

    Week

    Cost performance of our ungreedy heuristic

    in a stochastic model

    Heu C Deterministic EOQwSS

    Heu C Deterministic LIFO

    Ungreedy Stochastic EOQwSS

    Heu D Stochastic EOQwSS

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    19/20

    problem of shortsightedness, we propose a new heuristic which assigns pallets to slots based on target stay length.

    Our ungreedy heuristic proves to come close in performance when compared to the ideal assignment we get

    from the deterministic model. However, a major limitation is the need to rely on FIFO when forecasting pallet

    stay length. We partially overcome this limitation by using a different inventory policy EOQwSS which on one

    hand gives high variance in pallets stay like LIFO, on the other hand is still structurally similar to FIFO. To some

    extend this bridges the FIFO versus LIFO dilemma but still we are not there yet.

    So this wraps up all the work we have done so far. We have not arrived at the ideal heuristic nevertheless we have

    made many new findings along the way that guide us in thinking about this assignment problem. Firstly is the

    consideration of inventory policy. Secondly is the concept of shortsightedness. We explored bin fitting as an

    approach to find the optimum assignment in a pure deterministic model. We explored the idea of targeting stay

    length. Not forgetting, we also proposed a new way to objectively measure performance of our heuristic (the

    goodness of their assignments) without involving cost hence avoiding the bias caused by layout. As such, this

    paper is entitled New Findings and New Approach. We do not claim to have found the best solution but rather a

    new way (or many new ways) to think about this problem.

    Still, the idea of using targets is very powerful. It opens up many new possibilities. For one, targeting stay lengthneed not apply only at the slot level. It can apply to zones and classes. The manager of the warehouse can segment

    his floor space into zones and assign each zone a target stay length for the pallets in there. It is simple to

    implement because planning is done daily unlike linear programming where planning is done weekly. On-the-spot

    planning avoids the need for subsequent adjustments when actual arrival and departures deviates from plan.

    Nevertheless, with vision restricted to a single day, it still overcomes the problem of shortsightedness since targets

    are set with a long term view. It also has the advantage of scalability. Assignment is done at the level of individual

    pallet and individual slot. The bin fitting algorithm on which our targets are set based on is a polynomial time

    algorithm unlike LP which relies on Simplex, an exponential time algorithm. So theoretically, there is no limit to

    the number of SKU we can handle. On top of that, our heuristic is also cost independent. The assignment is done

    prior to cost calculation so travel cost of pallet locations is not required as an input whereas linear programming

    takes average cost of every class as a parameter. Finally, our heuristic is FIFO-based therefore is a better

    simulation of how goods flow in real world warehouses. LP on the other hand is greedy by nature so its solution

    tends to mimic LIFO more. Furthermore, it is practically impossible to code a FIFO constrain in LP models.

    All said we have left many stones unturned. We have shown the method of targeting stay length work well for this

    dataset but this is not true all the time. If targets are not set well (say complete information is not available) or

    when actual departure deviates greatly from forecast, our ungreedy heuristic may well lose out to greedy

    heuristics or LP. The question to explore next will be how to set robust targets or whether is it even possible to set

    robust targets? How sensitive will this method be to deviation in actual departure dates from forecast? How well

    does this method work when pallet set is highly imbalance when distribution of pallets stay length varies from

    day to day? These questions will be worth exploring if we were to continue exploring targeting stay length as a

    heuristic in the assignment problem. Whoever reading this paper might be interested to continue my work in these

    areas.

  • 7/31/2019 Storage Assignment in a Unit Load Warehouse

    20/20

    Authored:

    Thong Yong Jun

    3rd

    year Bachelor of Business Management (Major in Operations Management)

    Singapore Management University

    8 April 2012

    Contact me @[email protected]

    mailto:[email protected]:[email protected]:[email protected]:[email protected]