- 97 Views
- Uploaded on
- Presentation posted in: General

Warehouse Storage Configuration and Storage Policies

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

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

I/O

- Main Issue: Decide how to allocate the various storage locations of a uniform storage medium to a number of SKU’s.

- 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.

- 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...

- Locations with the smallest distanced_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)|)

- 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

- 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.

5

9

8

7

5

6

7

8

9

5

6

7

6

5

4

4

4

5

8

8

6

7

4

5

4

3

3

3

6

7

6

7

5

6

5

4

2

2

2

3

6

3

4

5

3

5

4

3

2

1

0

1

2

4

5

I/O

I/O

A: 20/10=2

B: 15/5 = 3

C: 10/2 = 5

D: 20/5 = 4

A

A

A

A

A

B

B

A

D

D

D

A

A

B

B

A

A

C

C

D

D

B

- 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, S_j x_ij = N_i

j, S_i x_ij = 1

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

Location

SKU

N_1

1

1

1

c_ij = (TH_i/N_i)*d_j

N_i

i

1

j

N_S

S

L

1

- The previous problem representation corresponds to a balanced transportation problem: Implicitly it has been assumed that: L = S_iN_i
- For the problem to be feasible, in general, it must hold that:
L S_iN_i

- If L - S_iN_i > 0, the previous balanced formulation is obtained by introducing a fictitious SKU 0, with
N_0 = L - S_iN_i and TH_0 = 0

- 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.

5

9

8

7

5

6

7

8

9

5

6

7

6

5

4

4

4

5

8

8

6

7

4

5

4

3

3

3

6

7

6

7

5

6

5

4

2

2

2

3

6

3

4

5

3

5

4

3

2

1

0

1

2

4

5

Option B

6

7

9

10

12

13

14

11

5

5

8

4

8

11

4

5

6

7

9

10

12

13

3

3

4

5

6

8

9

10

11

7

12

4

6

8

10

2

11

2

3

5

7

9

0

1

2

3

4

5

6

7

8

9

10

I/O

I/O

Option A

I/O

Option A

12

10

10

10

18

16

14

12

14

16

18

16

14

12

10

8

8

8

10

16

12

14

8

14

12

6

10

10

8

6

6

12

14

12

6

4

8

10

10

8

4

4

6

12

10

6

8

6

4

2

0

2

4

8

10

O

Option C

11

9

6

7

11

13

15

15

9

13

7

15

7

11

11

9

7

7

9

13

15

13

15

13

11

9

7

9

11

13

7

7

15

9

7

9

13

15

15

13

11

7

7

11

15

13

11

9

7

6

7

9

11

13

15

I

- 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

- 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?

- 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.

- 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 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: _{j=0,…,k} p_j s}

- 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)

- Formulation I: Fixed service level, s
min _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.

_i N_i L

N_i 0 i

- 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_i

For independent Q_i:

p_k(m) = Prob(Q_k=m) = _{m_i: _i m_i = m}[_ip_i(m_i)]

where p_i( ) : probability mass function for Q_i.

- ad-hoc adjustment of the total storage requirement of the class SKU’s
- 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

- 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:
- 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)]}]

- min TC (N_1,N_2,…,N_n) =

- 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.

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

- Solution:

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

=> N = 2

- 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 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)

- 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.

- For each SKU,
- 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.

- 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)

Lane Height

Lane Depth

(3-deep)

Lanes

- 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.

Aisle

- 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)

- 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 ]