Upload
kelsi-redwood
View
219
Download
1
Tags:
Embed Size (px)
Citation preview
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 SKU’s.
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: SKU’s are grouped into classes. Each class is assigned a dedicated storage area, but SKU’s 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” SKU’s
• SKU’s 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 SKU’s 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
I/O
I/O
0 11
2
2
2 2
2
3
3
3
3
4
3
3
34
4
4
4
5
4
4
4
45
5
5
5
5 5
5
5
5
5
66
6
6 6
6
6
67
7
7 7
7
7
8
8 8
8
9 9A: 20/10=2
B: 15/5 = 3
C: 10/2 = 5
D: 20/5 = 4
CC
D
D
D
D
B
D
BB
B
B
A
A
A
A
A
A
A
A A
A
Problem Formulation
• Decision variables: x_ij = 1 if location j is allocated to SKU i; 0 otherwise.
• Formulation:
min _i _j [(TH_i/N_i) * d_j] * x_ij
s.t.
i, _j x_ij = N_i
j, _i x_ij = 1
i, j, x_ij {0,1} => x_ij 0
Problem Representation
SKU Location
N_1
N_i
N_S
1
1
1
c_ij = (TH_i/N_i)*d_j
1
i
S
1
j
L
Remarks
• The previous problem representation corresponds to a balanced transportation problem: Implicitly it has been
assumed that: L = _ii
• For the problem to be feasible, in general, it must hold that:
L _ii
• If L - _ii > 0, the previous balanced formulation is obtained by introducing a fictitious SKU 0, with
N_0 = L - _ii 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 1Option A
I/O
0 112
22 2
2
3
33
34
33
344
44
54
4
445
55
55 5
5
55
56
6
66 6
66
67
77 7
77
8
8 88
9 9
Option B
I/O
0 1
2 22
3 3 4
33
4
4 55
5
44 555 6
66
6
6
7
7
7
77
88
88
8
9
99
99
10
1010
10
10
1111
11
11
12
12
12
13
13
14
Locating the I/O point: Example 2
I/O
0 224
44 4
4
6
6
66
86
668
88
8
10
88
8
81010
1010
10 10
1010
10
10
1212
12
12 12
1212
1214
1414 14
1414
1616 16
1618 18
Option C
15 13
15 1311
15 13 11
119
9
7 67
91315 111315 11
9
7
7
9
7
7
79
77
79
11
6
79
1113
7
911
13
15
911
13
15
11
13
15
13
15
15
I
O
Option A
7
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 SKU’s?
• Class-based storage: – How should SKU’s 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 SKU’s
• “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_i’s 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) = _{j=0,…,k} p_j (cumulative distribution function for Q)
• Problem FormulationFind the smallest number of locations N, that will satisfy a requested servicelevel s for storage availability, i.e.,
min Ns.t. F(N) s
N 0
• Solution:
N = min{k: _{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 SKU’s
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, smin _i N_i
s.t. _i F_i(N_i) s
N_i 0 i
• Formulation II: Fixed number of locations, Lmax _i F_i(N_i)
s.t.
_i N_i L N_i 0 i
Class-Based Storage Sizing and Location Assignment
• Divide SKU’s 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 SKU’s
N_k = p * _{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 = _{iC_k} Q_iFor independent Q_i:
p_k(m) = Prob(Q_k=m) = _{m_i: _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 = _{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.
A simple cost-based model for (dedicated) storage sizing (cont.)
• Model Parameters:– 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) =
i [C_0 N_i + 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,>; C_0 = 10, C_1 = 3, C_2 = 5
• Solution:Stor. Demand Frequency Partial Sum4 1 13 3 42 2 6
C’ = C_0/(C_2-C-1) = 10/(5-3) = 5
=> N = 2
Storage Configuration and Policiesfor “Unit Load” warehouses:
Topics covered
• Storage Policies: Assigning storage locations of a uniform storage medium to the various SKU’s 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 Policiesfor “Unit Load” warehouses:
Topics covered (cont.)• Storage sizing for various SKU’s: Determine the number
of storage locations to be assigned to each SKU / group of SKU’s.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 SKU’s. 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 SKU’s.
Lanes
Lane Depth(3-deep)
Lane Height
Aisle
Notation• w = pallet width
• d = pallet depth
• g = gap between adjacent lanes
• a = aisle width
• x = lane depth
• n = number of SKU’s
• 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 SKU’s,
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 SKU’s, 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 ]