Vous êtes sur la page 1sur 32

Warehouse Storage Configuration and Storage Policies

Bibliography Bartholdi & Hackman: Chapter 6 Francis, McGinnis, White: Chapter 5 Askin and Standridge: Sections 10.3 and 10.4

Storage Policies
Main Issue: Decide how to allocate the various storage locations of a uniform storage medium to a number of SKUs.

I/O

Types of Storage Policies


Dedicated storage: Every SKU i gets a number of storage locations, N_i, exclusively allocated to it. The number of storage locations allocated to it, N_i, reflects its maximum storage needs and it must be determined through inventory activity profiling. Randomized storage: Each unit from any SKU can by stored in any available location Class-based storage: SKUs are grouped into classes. Each class is assigned a dedicated storage area, but SKUs within a class are stored according to randomized storage logic.

Location Assignment under dedicated storage policy


Major Criterion driving the decision-making process: Enhance the throughput of your storage and retrieval operations by reducing the travel time <=> reducing the travel distance How? By allocating the most active units to the most convenient locations...

Convenient Locations
Locations with the smallest distance d_j to the I/O point! In case that the material transfer is performed through a forklift truck (or a similar type of material handling equipment), a proper distance metric is the, so-called, rectilinear or Manhattan metric (or L1 norm): d_j = |x(j)-x(I/O)| + |y(j)-y(I/O)| For an AS/RS type of storage mode, where the S/R unit can move simultaneously in both axes, with uniform speed, the most appropriate distance metric is the, so-called Tchebychev metric (or L norm): d_j = max (|x(j)-x(I/O)|,|y(j)-y(I/O)|)

Active SKUs
SKUs that cause a lot of traffic! In steady state, the appropriate activity measure for a given SKU i:
Average visits per storage location per unit time = (number of units handled per unit of time) / (number of allocated storage locations) = TH_i / N_i

A fast solution algorithm


Rank all the available storage locations in increasing distance from the I/O point, d_j. Rank all SKUs in decreasing turns, TH_i/N_i. Move down the two lists, assigning to the next most highly ranked SKU i, the next N_i locations.

Example
A: 20/10=2 B: 15/5 = 3 C: 10/2 = 5 D: 20/5 = 4

9
8 7 6 5

8
7 6 5 4

7
6 5 4 3

6 5 4

5 4 3 2 1

5
4 3 2 0

5 4

6
5 4

7
6 5 4 3

8
7 6

9
8 7 6 5

3 2

3 2 3 1

5 4

I/O

A B D

A
A A B B B

B D C

A
D

A A D A

C D

I/O

Problem Formulation
Decision variables: x_ij = 1 if location j is allocated to SKU i; 0 otherwise. Formulation: min S_i S_j [(TH_i/N_i) * d_j] * x_ij s.t. i, j,

S_j x_ij = N_i S_i x_ij = 1

i, j, x_ij {0,1} => x_ij 0

Problem Representation
SKU N_1
1

Location
1

N_i

c_ij = (TH_i/N_i)*d_j
j

N_S

Remarks
The previous problem representation corresponds to a balanced transportation problem: Implicitly it has been assumed that: L = S_i N_i For the problem to be feasible, in general, it must hold that: L S_i N_i If L - S_i N_i > 0, the previous balanced formulation is obtained by introducing a fictitious SKU 0, with N_0 = L - S_i N_i and TH_0 = 0

Locating the I/O point


In many cases, this location is already predetermined by the building characteristics, its location/orientation with respect to the neighboring area/roads/railway tracks, etc. Also, in the case of an AS/RS, this location is specified by the AS/RS technical/operational characteristics. In case that the I/O point can be placed at will, the ultimate choice should seek to enhance its proximity to the storage locations.

Locating the I/O point: Example 1


Option A 9 8 7 6 5 Option B
5 4 3 2 0 5 4 3 2 1 6 5 4 3 2 7 6 5 4 3 8 7 6 5 4

8 7 6 5 4

7 6 5 6 5 4 5 4 3 4 3 2 3 2 1

5 4 3 2 0

5 6 4 5 3 4 2 3 1 2

7 6 5 4 3

8 7 6 5 4

9 8 7 6 5

I/O
9 8 7 6 5 10 9 8 7 6 11 12 13 10 11 12 9 10 11 8 10 9 7 8 9 14 13 12 11 10

I/O

Locating the I/O point: Example 2


Option A

18 16 14 12 10

16 14 12 10 8

14 12 10 8 6

12 10 8 6 4

10 10 10 12 14 16 18 8 8 8 10 12 14 16 6 6 6 8 10 12 14 8 10 12 4 4 4 6 2 0 2 4 6 8 10

Option C
15 15 15 13 11 9 13 11 9 13 11 9 15 13 11 9 15 13 11 9 7 7

I/O O
6 7 7 7 6 7 7 7 7 7 9 9 9 9 9 11 13 11 13 11 13 11 13 11 15 15

7
7 7

15 15 13 15

Example 2 (cont.)
Option A: U-shaped or cross-docking configuration
amplifies the convenience/inconvenience of close/distant locations appropriate for product movement with strong ABC skew provides flexibility for interchanging between shipping and receiving docking capacity allows for dual command operation of forklifts, reducing, thus, the deadhead traveling minimizes truck apron and roadway

Option C: Flow-through configuration


attenuates the convenience difference among storage locations conservative design: more reasonably convenient storage locations but fewer very convenient more appropriate for extremely high volume preferable when the building is long and narrow limits the opportunity for efficiencies for dual command operations

Storage Sizing
Randomized Storage:
How many storage locations, N, should be employed for the storage of the entire SKU set?

Dedicated storage:
How many storage locations, N_i, should be dedicated to each SKU i? Given a fixed number of available locations, L, how should these locations be distributed among the various SKUs?

Class-based storage:
How should SKUs be organized into classes? How many storage locations, N_k, should be dedicated to each SKU class k?

Possible Approaches to Storage Sizing


Quite often, this issue is resolved/predetermined from the overall operational context: e.g., replenishment policies, contractual agreements, etc., which impose some structure on the manner in which requests for storage locations are posed by the various SKUs

Service-level type of analysis:


Determine the number of storage locations, N_i to be assigned to each SKU i so that the probability that there will be no shortage of storage space in any operational period (e.g., day) is equal to or greater than a pre-specified value s.

Cost-based Analysis
Select N_is in a way that minimizes the total operational cost over a given horizon, taking into consideration the cost of owning and operating the storage space and equipment, and also any additional costs resulting from space shortage and/or the need to contract additional storage space.

Sizing randomized storage based on service level requirements


Q = max number of storage locations requested at any single operational period (a random variable) p_k = Prob(Q=k), k=0,1,2, (probability mass function for Q) F(k) = Prob(Qk) = S_{j=0,,k} p_j (cumulative distribution function for Q) Problem Formulation Find the smallest number of locations N, that will satisfy a requested service level s for storage availability, i.e.,
min N

s.t. F(N) s N 0

Solution:
N = min{k: S_{j=0,,k} p_j s}

Sizing dedicated storage based on service level requirements


Q_i = max number of storage locations requested at any single operational period for the storage of SKU i (random variable) F_i(k) = Prob{Q_i k} (cumulative distribution function of Q_i) If a distinct service level s_i is defined for each SKU i, then the determination of N_i is addressed independently for each SKU, according to the logic presented for the randomized storage policy. Next we address the problem of satisfying a single service level requirement, s, defined for the operation of the entire system, i.e., Prob{no storage shortages in a single day} s under the additional assumption that the storage requirements posed by various SKUs are independent from each other. Then, for an assignment of N_i locations to each SKU i,

Prob{no storage shortages in a single day} = _i F_i(N_i)


and Prob{1 or more storage shortages} = 1 - _i F_i(N_i)

Sizing dedicated storage based on service level requirements (cont.)


Formulation I: Fixed service level, s min S_i N_i
s.t. _i F_i(N_i) s N_i 0 i

Formulation II: Fixed number of locations, L


max _i F_i(N_i) s.t.

S_i N_i L
N_i 0 i

Class-Based Storage Sizing and Location Assignment


Divide SKUs into classes, using ABC (Pareto) analysis, based on their number of turns TH_i/N_i. Determine the required number of storage locations for each class C_k
ad-hoc adjustment of the total storage requirement of the class SKUs N_k = p * S_{iC_k } N_i, where 0 < p < 1 Class-based service-level type of analysis: Q_k = storage space requirements per period for class k = S_{iC_k} Q_i For independent Q_i:
p_k(m) = Prob(Q_k=m) = S_{m_i: S_i m_i = m} [_i p_i(m_i)]

where p_i( ) : probability mass function for Q_i.

Assign to each class the requested storage locations, prioritizing them according to their number of turns,

TH_k/N_k where TH_k = S_{iC_k } TH_i

A simple cost-based model for (dedicated) storage sizing


Model-defining logic: Assuming that you know your storage needs d_ti, for each SKU i, over a planning horizon T, determine the optimal storage locations N_i for each SKU i, by establishing a trade-off between the
fixed and variable costs for developing this set of locations, and operating them over the planning horizon T, and the costs resulting from any experienced storage shortage.

Model Parameters:

A simple cost-based model for (dedicated) storage sizing (cont.)

T = length of planning horizon in time periods d_ti = storage space required for SKU i during period t C_0 = discounted present worth cost per unit storage capacity owned during the planning horizon T C_1 = discounted present worth cost per unit stored in owned space per period C_2 = discounted present worth cost per unit of space shortage (e.g., per unit stored in leased space) per period

Model Decision Variables:


N_i = owned storage capacity for SKU i

Model Objective:
min TC (N_1,N_2,,N_n) =

S_i [C_0 N_i + S_t {C_1 [min(d_ti, N_i)] + C_2 [max(d_ti - N_i, 0)]}]

A fast solution algorithm for the case of time-invariant costs


For each SKU i:
Sequence the storage demands appearing in the d_ti, t=1,T, sequence in decreasing order. Determine the frequency of the various values in the ordered sequence obtained in Step 1. Sum the demand frequencies over the sequence. When the obtained partial sum is first equal to or greater than C = C_0/ (C_2-C_1) stop; the optimum capacity for SKU i, N_i, equals the corresponding demand level.

Example
Problem Data: N=1; T=6; d = < 2, 3, 2, 3, 3, 4,>; Solution: C_0 = 10, C_1 = 3, C_2 = 5

Stor. Demand

Frequency Partial Sum 4 1 1 3 3 4 2 2 6

C = C_0/(C_2-C-1) = 10/(5-3) = 5

=> N = 2

Storage Configuration and Policies for Unit Load warehouses: Topics covered
Storage Policies: Assigning storage locations of a uniform storage medium to the various SKUs stored in that medium
Dedicated Randomized Class-based Criterion: Maximize productivity by reducing the traveling effort / cost

The placement of the I/O point(s)


Criterion: Maximize productivity by reducing the traveling effort / cost

Storage Configuration and Policies for Unit Load warehouses: Topics covered (cont.)
Storage sizing for various SKUs: Determine the number of storage locations to be assigned to each SKU / group of SKUs.
Criterion: provide a certain (or a maximal) service level minimize the total (space+equipment+labor+shortage) cost over a planning horizon

Next major theme: Storage Configuration for better space exploitation


floor versus rack-based storage for pallet-handling warehouses determining the lane depth (mainly for randomized storage) (based on Bartholdi & Hackman, Section 6.3)

Determining the Employment (and Configuration) of Rack-based storage


Basic Logic:
For each SKU,
compute how many pallet locations would be created by moving it into rack of a given configuration; compute the value of the created pallet locations; move the sku into rack if the value it creates is sufficient to justify the rack.

Remark: In general, space utilization will be only one of the factors affecting the final decision on whether to move an SKU into rack or not. Other important factors can be
the protection that the rack might provide for the pallets of the considered SKU; the ability to support certain operational schemes, e.g., FIFO retrieval; etc.

Examples on evaluating the efficiencies from moving to rack-based storage


Case I: Utilizing 3-high pallet rack for an SKU of N=4 (pallets), which is not stackable at all.
Current footprint: 4 pallet positions Introducing a 3-high rack in the same area creates 3x4=12 position, 8 of which are available to store other SKUs. What are the gains of exploiting these new locations vs the cost of purchasing and installing the rack?

Case II: Utilizing a 3-high pallet rack for an SKU with N=30 (pallets), which are currently floor-stacked 3-high, to come within 4 ft from the ceiling.
Current footprint: 10 pallet positions Introducing a 3-high rack does not create any new positions, and it will actually require more space in order to accommodate the rack structure (cross-beams and the space above the pallets, required for pallet handling)

Determining an efficient lane depth (in case of randomized storage)


A conceptual characterization of the problem:
More shallow lanes imply more of them, and therefore, more space is lost in aisles (the size of which is typically determined by the maneuvering requirements of the warehouse vehicles) On the other hand, assuming that a lane can be occupied only by loads of the same SKU, a deeper lane will have many of its locations utilized over a smaller fraction of time (honeycombing). So, we need to compute an optimal lane depth, that balances out the two opposite effects identified above, and minimizes the average floor space required for storing all SKUs.

Lane Height
Lane Depth (3-deep) Lanes

Aisle

Notation
w = pallet width d = pallet depth g = gap between adjacent lanes a = aisle width x = lane depth n = number of SKUs N_i = max storage demand by SKU i z_i = column height for SKU I

lane footprint = (g+w)(d*x+a/2)

Key results
Assuming that the same lane depth is employed across all n SKUs, under floor storage, the average space consumed per pallet is minimized by a lane depth computed approximately through the following formula:
x_opt =

[(a/2dn)*_i (N_i /z_i)]

The optimal lane depth for any single SKU i, which is stackable z_i pallets high, is x_opt = [(a/2d)*(N_i /z_i)] Assuming that the same lane depth is employed across all n SKUs, under rack storage, the average space consumed per pallet is minimized by a lane depth computed approximately through the following formula:
x_opt =

[(a/2dn)*_i N_i ]

Vous aimerez peut-être aussi