A branch and bound algorithm for class based storage location assignment

A branch and bound algorithm for class based storage location assignment

Available online at www.sciencedirect.com European Journal of Operational Research 189 (2008) 492–507 www.elsevier.com/locate/ejor O.R. Applications...

217KB Sizes 0 Downloads 14 Views

Available online at www.sciencedirect.com

European Journal of Operational Research 189 (2008) 492–507 www.elsevier.com/locate/ejor

O.R. Applications

A branch and bound algorithm for class based storage location assignment Venkata Reddy Muppani (Muppant), Gajendra Kumar Adil

*

Shailesh J. Mehta School of Management, Indian Institute of Technology Bombay, Powai, Maharashtra 400076, India Received 30 November 2005; accepted 3 May 2007 Available online 8 June 2007

Abstract Class-based storage implementation decisions have significant impact on the required storage space and the material handling cost in a warehouse. In this paper, a nonlinear integer programming model is proposed to capture the above. Effects of storage area reduction on order picking and storage space cost are incorporated. A branch and bound algorithm is developed to solve the model. Computational experience with randomly generated data sets and an industrial case shows that branch and bound algorithm is computationally more efficient than a baseline dynamic programming algorithm. It is further observed that the class based policy results in lower total cost of order picking and storage space than the dedicated policy.  2007 Elsevier B.V. All rights reserved. Keywords: Branch and bound; Class based storage; Order picking; Storage space; Warehouse storage planning

1. Introduction Warehouse storage decisions influence almost all key performance indicators of a warehouse such as order picking time and cost, productivity, shipping and inventory accuracy and storage density (Frazelle, 2002). Warehouse storage planning involves determining storage policy, space requirement and specific location within the warehouse for each product. Common storage policies are random storage, dedicated storage and class based storage (Hausman et al., 1976). Randomized and dedicated storage are in fact extreme cases of the class-based storage policy. Randomized storage has all products in a single class and dedicated storage has each of the n products assigned to a separate class. The implementation of class based storage location assignment involves determining number of classes, product assignments to classes and storage locations for each class. One criterion used to assign product classes to storage locations which capture item popularity and its storage space requirement is cube-per-order index (COI) (Heskett, 1963). COI is defined as the ratio of the item’s

*

Corresponding author. Tel.: +91 22 2576 7738; fax: +91 22 2572 2872. E-mail address: [email protected] (G.K. Adil).

0377-2217/$ - see front matter  2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2007.05.050

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

493

storage space requirement (cube) to its popularity (number of storage/retrieval request for the items). Goetschalckx and Ratliff (1990) proved that n-class assignment in which products with lowest COI are stored in the most desirable locations (i.e. closer to input/output point) gives optimal allocation in terms of order picking/storing time. When products are combined into fewer classes, a high-activity product occupies a less desirable slot as a premium slot might not be available when it arrives (Graves et al., 1977). The opposite might happen when a low-activity product arrives. Hence, if same numbers of storage locations are assigned, the n-class policy will yield a lesser average picking distance as compared to combining products into fewer classes (Francis et al.,

a) Data on Demand and Inventory Product

P1 P2 P3

Planned Inventory Level in Period (in unit loads) 1 2 3 4 5 10 15 10 25 20 20 20 15 10 10 10

Average Demand/ Period

20 20 5

b) Dedicated Storage Policy: A Three Class Solution Product Class Assigned

Planned Inventory Space Product Average Level in Period Allocation Allocated (in unit loads) Demand/ COI (in 1 Unit x 1 (in unit Period 1 2 3 4 loads) Unit grid)

1

P1

5

10

15

10

15

20

0.75

2

P2

25

20

20

20

25

20

1.25

3

P3

15

10

10

10

15

5

3

3 3 3 2 2 2 2 2 1 1 1

3 3 3 2 2 2 2 2 1 1 1

3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 I/O 1- P1, 2- P2 & 3- P3 Total Area= 55

Total One Way Travel Distance

20 x 1.5 + 20 x 5.5 + 5 x 9.5 = 187.5

c) Class Based Policy: A Two Class Solution (Total storage space same as in figure 1b)

Planned Inventory Product Total One Way Space Level in Period Average COI Allocation Travel Allocated Products (in unit loads) Demand/ Class (in 1 Unit x 1 Distance (in unit Assigned Period 1 2 3 4 Unit grid) loads)

5 1

2

10

15

10

25 20

20

20

15

10

10

P1 and P2

P3

15 + 25 = 40

10

15

40

5

1

3

2 2 2 1 1 1 1 1 1 1 1

2 2 2 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I/O 1- P1 & P2, 2- P3 Total Area= 55

40 x 4 + 5 x 9.5 = 207.5

Fig. 1. Illustrative example. (a) Data on demand and inventory. (b) Dedicated storage policy: a three class solution. (c) Class based policy: a two class solution (total storage space same as in (b)). (d) Class based policy: a two class solution (considering storage space saving). (e) Class based policy: one class solution (considering storage space saving). (f) Comparison of various solutions for space cost, f = $5 per sft and handling cost, h = $1 per foot.

494

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

d) Class Based Policy: A Two Class Solution (Considering storage space saving) Products Class Assigned

1

2

Planned Inventory Product Space Total One Way Average Level in Period Allocated Allocation Travel Distance Demand COI (in unit loads) (in unit (in 1 Unit x 1 / Period 1 2 3 4 Unit grid) loads)

P1 and P2 30

P3

15

30

10

35

10

30

10

35

15

40

5

.875

3

2 2 2 1 1 1 1 1 1 1

2 2 2 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I/O 1—P1 & P2, 2—P3 Total Area= 50

40 x 3.5 + 5 x 8.5 = 182.5

e) Class Based Policy: One Class Solution (Considering storage space saving) Products Class Assigned

1

P1, P2 and P3

Planned Inventory Product Total One Way Space Level in Period Average Travel Allocation Allocated (in unit loads) Demand/ COI Distance (in 1 Unit x 1 (in unit Period 1 2 3 4 Unit grid) loads)

45

40

45

40

45

45

-

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I/O 1—P1 & P2 & P3 Total Area= 45

45 x 4.5 = 202.5

f) Comparison of various solutions for space cost, f=$5 per sft & handling cost, h=$1 per foot Policy

Dedicated Storage Policy: A Three Class Solution Class Based Policy: A Two Class Solution (Area same as in dedicated) Class Based Policy: A Two Class Solution (Considering storage space saving) Class Based Policy: One Class Solution (Considering storage space saving)

Figure Space Cost Reference 55 x 5 =275 Fig 1b

Two Way Handling Cost 187.5 x 1 x 2 = 375

Fig 1c

55 x 5 =275

207.5 x 1 x 2 = 415

Fig 1d

50 x 5 =250

182.5x 1 x 2 = 365

Fig 1e

45 x 5 =225

202.5 x 1 x 2 = 405

Total Cost

650 690

615 630

Fig. 1. (continued)

1992, p. 279). An illustration of this is given in Fig. 1 in which total one way distance for three class (dedicated) policy is 187.5 (Fig. 1b) while the two class solution is 207.5 (Fig. 1c). However, there is a mitigating effect on the distance because the total required space reduces bringing products closer to the input/output points resulting in picking distance to 182.5 for the two class solution (Fig. 1d). There are situations when space cost is significant vis-a`-vis picking cost and thus class based policies may also offer reduction in cost through space savings. In addition to this there is an opportunity cost for storage

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

495

space when a firm could use storage space productively in some other way (Krajewski and Ritzman, 2002, p. 595). If we form classes considering only handling cost, the dedicated yields the lowest cost for the given storage area (Fig. 1b). If we form classes considering only space cost, the completely random policy (one class) will yield the lowest cost solution (Fig. 1e). But if we consider both the costs simultaneously, the best solution may be neither of these, for example, a two class solution (Fig. 1d) is better as illustrated in Fig. 1f. While forming classes, it is imperative to consider the increase in handling cost and reduction in space cost as the number of classes decreases as has been demonstrated above. The approaches reported in the literature for class formation primarily consider the order picking costs such as COI ranking of products (Petersen et al., 2004). The objectives of this paper are to model storage class formation considering area reduction, handling cost and storage space cost and to come up with an efficient optimal solution procedure. The paper is organized as follows. In Section 2, relevant literature is reviewed. We define the problem and develop a nonlinear integer programming model in Section 3. In Section 4, we propose a Branch and Bound Algorithm (BBA) to solve the model of Section 3. In Section 5, BBA is illustrated with an example problem and computational efficiency of BBA is assessed by comparing it with Dynamic Programming Algorithm (DPA) (Muppani and Adil, 2006). It is to be noted that DPA is the only available optimal algorithm in the extant literature which considers area reduction along with storage space and handling costs. BBA and DPA are applied to random problem instances of different sizes and the computational experience is reported in Section 6. Further, applicability of BBA is tested for an industrial case in Section 7. The paper is concluded and implications provided in Section 8. 2. Relevant literature Warehouse design, planning and control models and storage capacity models are extensively discussed in Rouwenhorst et al. (2000), van den Berg (1999), Cormier and Gunn (1992), Gu et al. (2007). Papers in the area of storage allocation planning are of interest here. Roodbergen and Vis (2006) describe an approach to determine a layout for the order picking area in a warehouse so that the average travel distance for the order pickers is minimized. They come up with analytical formulae to estimate picking distance which they used in their model to determine warehouse layout. Under dedicated storage policy, items allocation based on COI values gives optimal allocation in terms of order picking/storing time for single command transaction (Goetschalckx and Ratliff, 1990). Revised proof of optimality for the COI rule and a tie-breaking criterion based on Euclidean distances are provided in Malmborg and Bhaskaran (1990). In a class based storage, a classical way for dividing products into classes is Pareto’s method based on popularity of products e.g., COI. Petersen et al. (2004) divided products into different number of classes using Pareto’s method and studied the improvement in order picking time over a pure random policy. The boundary lines established for the classes are usually determined arbitrarily (Francis et al., 1992, p. 281). Explicit analytical expressions for class boundaries in the special case of 2 or 3 classes are derived by Hausman et al. (1976), Kouvelis and Papanicolaou (1995) and Eynan and Rosenblatt (1994). Rosenblatt and Eynan (1989) and Eynan and Rosenblatt (1994) describe a procedure to divide the products optimally into n-classes. However, these approaches were confined to a specific layout and a constant space requirement irrespective of the number of classes formed. van den Berg (1996) considers reduction in storage area in his dynamic programming algorithm that optimally partitions products and locations into a given number of classes to minimize single command cycle (storage plus retrieval) time under generalized conditions of demand, distance measure and layout. The emphasis in all the above approaches has been in reducing the time/travel distance for storing/order picking. Storage space utilization can be important for some warehouses. The required storage space and the material handling cost in a warehouse are significantly impacted by the implementation of class-based storage (Gu et al., 2007). There are papers dealing with joint inventory planning and warehouse sizing (see for instance, Hariga and Jackson, 1996). Policies such as cross docking can also help in reducing the storage space requirements. For a given inventory policy, shared storage policy gives a better storage space utilization. Muppani and Adil (2006) consider the relative costs of storage space and handling while forming classes in addition to the reduction in storage area required. They proposed two solution approaches: DPA and Merge Sort

496

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

Heuristic (MSH). MSH is found to be much more efficient time-wise compared to DPA in handling large problems. This motivates the development of computationally efficient, optimal solution procedures. 3. Problem formulation We assume storages and retrievals are performed in single command cycles and all products are stored and transported on identical storage media (e.g., pallets or totes). Class-based storage policy is used. An open location for an incoming load is selected randomly within its class, i.e., each location is uniformly utilized and the assigned products are distributed homogeneously in the space allocated for the class. This assumption implies that the geometric centre of the class is the same as the load center. We assume that inventory decision has been made independently to the storage decision and all times required in the storage/retrieval process, except travel times, are considered independent of storage allocation. We also assume that, there is no congestion between vehicles/cranes and loads are not relocated. All the parameters of the models are deterministically known and the travel time between any two positions is readily computed. Once the storage locations are assigned they cannot be reshuffled during the planning horizon and we assume there is a single input/output point. Given the layout of storage area, period-wise planned inventory levels for given products and product demand, the problem is to establish classes of products and allocate them to storage locations so that total cost of order picking/handling and storage space is minimized in a single command warehouse exploiting the saving in required storage space because of clubbing products into classes. In this section, we establish notation and then formulate a model for the problem defined. 3.1. Notation We use the following notation in this paper. Indices c and c 0 (c, c 0 = 1, 2, 3, . . . , C) for classes l and l 0 (l, l 0 = 1, 2, 3, . . . , L) for storage locations p and p 0 (p, p 0 = 1, 2, 3, . . . , P) for products t (t = 1, 2, 3, . . . , T) for time periods Parameters al footprint area of location l COIp cube-per-order index for product p dl distance of location l from the input and output point Dp total number of picks (in unit loads) for product p in the planning period f space cost in $ per square foot fp footprint density, that is, footprint area required to store one unit load of product p considering the stacking height h order picking/handling cost in $ per foot I tp storage level in unit loads planned for product p during period t Decision variables ( 1; if product p is assigned to class c; xpc ¼ 0; otherwise; ( 1; if location l is assigned to class c; y lc ¼ 0; otherwise:

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

497

3.2. Class formation and allocation model (CFAM) In CFAM, the objective is to minimize the sum of storage space cost and handling cost. The storage space P cost for class c is f  l ðal  y lc Þ. One way handling cost for class P c is product of Punit handling cost h, centroid distance of the allocated space from the input/output point(s) ða  d  y Þ= l l lc l l ðal  y lc Þ and total number of P  P P P picks p Dp  xpc , i.e., h  ða  d  y Þ= ða  y Þ  D  x . l l l p pc lc lc l l p We would like to ensure that a product assigned to class c (with c located nearer to the I/O point than the c 0 ) has a lower COI than products assigned to class c 0 i.e., COIp  xpc 6 COIp0  xp0 c0 8p 6¼ P p0 ; c < c0 . It is imperative that a storage location l, can be assigned,P at the most, to one class which leads to c y lc 6 1. A product can be assigned to one and only one class i.e. c xpc ¼ 1 8p. P There should be Padequate storage space to hold the products in a class c in each planning period t, thus p ðI tp  fp  xpc Þ 6 l ðal  y lc Þ. Thus, CFAM can be stated as follows: 9 28P 3 X < l ðal  d l  y lc Þ= X XX 4 P  ð1Þ ðal  y lc Þ þ 2  h  Dp  xpc 5 CFAM : Minimise z ¼ f  : ðal  y lc Þ ; c c p l l

Subject to: COIp  xpc 6 COIp0  xp0 c0

8p 6¼ p0

l  y lc 6 l0  y l0 c0 8l 6¼ l0 X y lc 6 1 8l;

and

and

c < c0 ;

c < c0 ;

ð2Þ ð3Þ ð4Þ

c

X

xpc ¼ 1 8p;

ð5Þ

c

X X ðI tp  fp  xpc Þ 6 ðal  y lc Þ 8c; t; p

ð6Þ

l

xpc 2 f0; 1g

8p; c;

ð7Þ

y lc 2 f0; 1g

8l; c:

ð8Þ

Constraints (2) and (3) together ensure that if a product that has lower COI is assigned to class c and products with higher COI assigned to class c 0 then c is located nearer to the I/O point than the c 0 . Constraint (4) enforces that a storage location can be assigned to, at the most, one class. Constraints (5) ensure that each product is assigned to one and only one class. Constraint (6) ensures that there is adequate storage space to hold the products in a class in each planning period. Constraints (7) and (8) impose binary restrictions on decision variables. 4. Solution algorithm CFAM has nonlinear objective function and involves integer variables posing difficulties in solving large size, real life problem instances using standard methods. Hence, we propose a computationally efficient branch and bound algorithm (BBA) to solve CFAM optimally. BBA satisfy constraints (2) and (3) through the following three steps. 1. Products are indexed from p = 1, 2, . . . , P in the increasing order of COIp computed by Eq. (9) COIp ¼

fp  Maxt fI tp g : ðDp =T Þ

ð9Þ

498

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

2. Locations are indexed from l ¼ 1; 2; . . . ; L in the increasing order of distance from I/O point. If there is a clash, it is resolved by ranking based on Euclidean distance of the locations as proposed by Malmborg and Bhaskaran (1990). 3. Solutions are formed by partitioning the products into class 1, class 2, . . . , etc. and assigning the required storage locations to these classes sequentially. The process of formation of classes is explained next using a tree structure described next.

4.1. Formation of search tree Each node in the tree corresponds to a product class. We define nði; jÞ, where i is the last product assigned and j is the last location assigned to node n. The root node (a dummy starting node at level or stage 0) of the tree contains no part and allocation to it, i.e., i = 0; j = 0. Subsequent levels or stages (e.g., 1, 2, . . .) in the tree correspond to the serial number of the class, c. At any node branching is carried out considering all unassigned parts and enumerating all the possible options. Thus, from node nði; jÞ that were created in stage c  1, one can generate P  i new nodes for the next stage c. Let rðk; mÞ be a node in stage c. Then class c contains part numbers i + 1 to k and locations j + 1 to m. Note that the number of storage locations required ðm  jÞ is computed using constraint (6). For a class, the allocation based on ranked locations minimizes handling cost though it may not always result in a regular shape and/or contiguous locations. Let contribution of class c to the objective function be denoted as hc ði þ 1; k; j þ 1; mÞ which can be computed using Eq. (1), given the part and locations assignment. Let gc ðk; mÞ be contribution of classes 1; 2; . . . ; c to the objective function. It is to be noted that g0 ð0; 0Þ is zero. The objective functions of node nði; jÞ at stage c  1 and rðk; mÞ at stage c are related by gc ðk; mÞ ¼ gc1 ði; jÞ þ hc ði þ 1; k; j þ 1; mÞ:

ð10Þ

It is may be observed that at every level one class is added comprising of one or more products. If the last product is assigned to some node (i.e., k = P), then tracing all previous nodes in the tree from this node until root node 0ð0; 0Þ forms a complete solution. 4.2. Computation of bounds In this section, we develop procedures to compute good upper and lower bounds. The upper bound, ZU and the lower bound, ZL on the objective function are calculated using schemes described below. 4.2.1. Computation of lower bound Lower bound for a node nði; jÞ at stage c  1 is computed as follows. For each unassigned part pði þ 1 6 p 6 P Þ, a lower bound on distance from I/O, dminp is computed by assuming that parts, p ¼ i þ 1 . . . ; p form a single class and assigned to locations starting with j + 1. Using Eq. (6), total storage space required, Sp is computed as " S p ¼ Max t

p X

# ðI tp  fp Þ :

ð11Þ

p¼iþ1

Let this space requirement be accommodated in locations j + 1 to q. Then dminp is computed as Pq dminp ¼

d l  al : Sp

l¼jþ1

ð12Þ

The lower bound on storage space required is SP which can be computed using Eq. (11). Lower bound for node n(i, j) is as in Eq. (13)

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

Z L ði; jÞ ¼ gc1 ði; jÞ þ f  S P þ 2  h 

P X

Dp  dminp :

499

ð13Þ

p¼iþ1

4.2.2. Computation of upper bound At each node, two feasible solutions are constructed by allocating the unassigned parts into dedicated classes and a random class. The better (i.e., lower) objective value of these two solutions, Ud or Ur gives an upper bound for node nði; jÞ at stage c  1. Ud of node n(i, j): The unassigned parts i þ 1; . . . ; P are assigned to dedicated classes c; c þ 1; c þ 2 and so on. Let us call this solution (part and allocation assignments) as SOLd. The objective function is computed as U d ði; jÞ ¼ gc1 ði; jÞ þ ðhc fi þ 1; i þ 1; j þ 1; j þ jc Þg þ ðhcþ1 fi þ 2; i þ 2; j þ jc ; j þ jcþ1 Þg þ    þ ðhcþP i fP ; P ; j þ jcþP i1 ; j þ jcþP i Þg:

ð14Þ

Ur of node n(i, j): All the unassigned parts are put into one class, c. Let us call this solution (part and allocation assignments) as SOLr. The objective function is computed as U r ði; jÞ ¼ gc1 ði; jÞ þ hc ði þ 1; P ; j þ 1; j þ jc Þ; Z U ði; jÞ ¼ Min½U d ði; jÞ; U r ði; jÞ:

ð15Þ ð16Þ

The upper bound solution (SOLU) will be corresponding to the solution of U d ði; jÞ or U r ði; jÞ. 4.3. Branch and bound algorithm (BBA) Step 0: Read input data: warehouse layout information, number of products (P), number of periods (T), and total demand (Dp), foot print density (fp) and storage levels ðI tp Þ for each product p. Step 1: The storage locations are ranked based on their rectilinear distance from I/O point and if there is a tie it is resolved using Euclidean distance. Step 2: Determine space requirement for each product. Compute cube-per-order index for each product p (COIp) using expression (9) and arrange the products and index them in increasing order of COIp. Step 3: (Branch and bound loop) Step 3.0: (Initialization): Set the best objective or upper bound (ZB) = +1. Create dummy node 0(0, 0) and initialize the following: Beginning stage (or class, c  1) = 0; g0 ð0; 0Þ ¼ 0. Step 3.1: (Bounding): For each active node n obtain a lower bound (ZL) and upper bound (ZU) on the value of the objective function using Eqs. (13) and (16) respectively. If Z U < Z B then update upper bound and solution as Z B ¼ Z U and SOLB = SOLU. Step 3.2: (Fathoming): There are three ways in which the nodes are pruned. (Fathoming Rule 1): When there is no product left for future assignment beyond node nði; jÞ, i.e., i ¼ P . (Fathoming Rule 2): Scan all nodes, nði; jÞ generated at stage c  1. For nodes with the same state, viz., i and j values retain the node n* with minimum gc1 ði; jÞ and fathom the rest. (Fathoming Rule 3): Fathom all nodes (r’s) whose Lower Bound (ZL) is greater than the Upper Bound (ZB). Step 3.3: (Stopping rule): If there are no unfathomed nodes, go to Step 4 else go to 3.4 Step 3.4: (Branching): Based on breadth-first search strategy, select an active node nði; jÞ that were created in stage c  1. Maximum number of products that can be assigned at

500

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

stage c is P  i and these leads to P  i new nodes. Create P  i new nodes (is generically denoted by rðk; mÞ), which are possible class options for class, c. The first option assigns just product 1 in the list and the second option assigns products 1 & 2 in the list and so on. Objective function contribution till current stage c for node r(k, m) is computed using Eq. (10). Increment class c to c + 1 and go to Step 3.1. Step 4: Stop and Report the best solution. 5. Illustration of branch and bound algorithm A small problem with demand and inventory data provided in Table 1 is considered for the purpose of illustrating the BBA. Step 0: Read input data as given in Table 1. The area of 12 · 15 square ft is divided into unit cells of 1 ft · 1 ft in which I/O point located in the centre of side with dimension 12. Step 1: Rankings of the storage locations according to their distance from I/O point are shown in Table 1c. Step 2: COI of the products are computed and the products are ranked in COI order and renamed for convenience (see Table 2). Step 3: Branch and Bound loop: Iteration-0 Step 3.0: ZB ¼ þ / :

Create node 0ði ¼ 0; j ¼ 0Þ at level; c ¼ 0;

Step 3.1: Computation of lower bound: From Eq. (11), lower bound on storage space required, S 4 ¼ 100. Lower bound obtained is Z L ð0; 0Þ ¼ 161:19 (see Table 3a for detailed calculations). Computation of upper bound: Dedicated and random solutions are generated in determining an upper bound as shown in Table 3b. ZB is updated to 164.28 and SOLB is Class, c

Parts assigned

Locations (Indices) assigned

1

P-I, P-II, P-III, P-IV

100 (1–100)

Step 3.2: Fathoming Rule 1: Not applicable. Fathoming Rule 2: No node combination has common state. Fathoming Rule 3: Not applicable. Step 3.3: Unfathomed node = {0(0, 0)}. Step 3.4: For active node is 0ði ¼ 0; j ¼ 0Þ, the new nodes generated are: Node r

Last product allocated k

Last location assigned m

Product allocated to nodes

Cost of allocation h1 ði þ 1; k; j þ 1; mÞ, g1 ðk; mÞ

1 2 3 4

1 2 3 4

20 60 80 100

P-I P-I, P-II P-I, P-II, P-III P-I, P-II, P-III, P-IV

31.75, 31.75 95.95,95.95 129.86, 129.86 164.28, 164.28

Update c = 1.

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

501

Iteration-1 Step 3.1: Active node n

Last product allocated assigned i

1 1 2 2 3 3 4 4 ZB is updated to 163.79 and SOLB is.

Last location j

Upper bound ZU

Lower bound ZL

20 60 80 100

163.79 180.09 194.77 –

162.67 164.94 194.77 –

Class, c

Parts assigned

Locations

1 2

P-I P-II, P-III, P-IV

20 80

Step 3.2: Fathoming Rule 1: Prune node 4. Fathoming Rule 2: No node combination has a common state. Fathoming Rule 3: Prune nodes 2 and 3 as Z L > Z B . Step 3.3: Unfathomed nodes = {1(1, 20)}. Step 3.4: For active node, n ¼ 1 ði ¼ 1; j ¼ 20Þ, the new nodes generated are Node, r

Last product allocated k

Last location assigned m

Product allocated to nodes

Cost of allocation h2 ði þ 1; k; j þ 1; mÞ, g2 ðk; mÞ

5 6 7

2 3 4

60 80 100

P-II P-II, P-III P-II, P-III, P-IV

63.71, 95.46 97.64, 129.39 132.04, 163.79

Update c = 2. Iteration-2 Step 3.1: Active node, n

Last product allocated i

Last location assigned j

Upper bound ZU

Lower bound ZL

5 6 7

2 3 4

60 80 100

179.60 164.85 –

164.46 164.85 –

Step 3.2: Fathoming Rule 1: Prune node 7. Fathoming Rule 2: No node combination has a common state. Fathoming Rule 3: Prune nodes 5 and 6 as Z L > Z B . Step 3.3: Unfathomed nodes = { }. As there are no active nodes, go to step 4. Step 4: The cost of best solution is 163.79 and the corresponding two classes formed are P-I and P-II, P-III, P-IV [{P2} and {P4, P3 & P1}]. The branch bound tree for the above example problem is shown in Fig. 2. DPA (Muppani and Adil, 2006) which is used as a baseline in this paper is illustrated, for the above example problem, in Appendix A. It is to be noted that both DPA and BBA find optimal solution. However, DPA explored all 15 nodes (states) whereas BBA explored only 7 nodes for the example considered. This

502

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

Table 1 Data for Illustrative Example Product, p 1

2

a: Cost parameters f = $1.5 per square foot; h = $0.0025 per foot, product demand and footprint density Total demand, Dp 90 100 1 1 Foot print density, fp b: Planned storage levels of products ðI tp Þ Period 1 10 2 0 3 20 4 0 5 20 6 0 7 40 c: Layout of warehouse divided into storage locations of 1 unit · 1 unit 01 02 03 04 05 06 07 08 12 179 177 173 167 159 149 137 124 11 175 171 165 157 147 135 122 109 10 169 163 155 145 133 120 107 94 9 161 153 143 131 118 105 92 79 8 151 141 129 116 103 90 77 64 7 139 126 113 100 87 74 61 49 6 125 110 96 83 70 57 46 36 5 112 95 80 66 53 42 33 25 4 99 82 65 50 38 29 22 16 3 86 69 52 37 26 18 13 9 2 73 56 41 28 17 10 6 4 1 60 45 32 21 12 5 2 1 I/O

10 10 10 10 20 20 20 09 138 123 108 93 78 62 47 34 23 14 7 3

10 150 136 121 106 91 75 58 43 30 19 11 8

11 160 148 134 119 104 88 71 54 39 27 20 15

3

4

95 1

110 1

40 0 25 0 20 0 10

0 0 20 30 40 20 0

12 168 158 146 132 117 101 84 67 51 40 31 24

13 174 166 156 144 130 114 97 81 68 55 44 35

14 178 172 164 154 142 127 111 98 85 72 59 48

15 180 176 170 162 152 140 128 115 102 89 76 63

Note: (1) I/O is Input/Output Point. (2) The numbers in the cells are the ranks of the storage location in increasing order of the distance from I/O point. The rank is also the index of the storage location.

Table 2 Product ordering based on COI Product

COIp

Rank

New index for products

P1 P2 P3 P4

3.11 1.40 2.95 2.54

IV I III II

P-IV P-I P-III P-II

demonstrates the computational efficiency of BBA. We examine computational performance of BBA against DPA for larger problems in the following two sections.

6. Computational experience In order to assess the quality of solution generated by BBA a warehouse whose layout is described below is considered. The area of 24 · 30 square ft is divided into unit cells of 1 ft · 1 ft in which I/O point located in the centre of side with dimension 24. Ten problem instances were created for each of 10, 20, 30, 40, 50 and 60 products. T was fixed at 48 periods. Inventory data and total demand were randomly generated uniformly

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

503

Table 3 Computation of lower and upper bounds in iteration-0 of BBA Unassigned part p

Lower bound on distance from I/O, dminp

Dp

Panel a: Computation of lower bound 1(P-I) 3.50 2(P-II) 5.67 3(P-III) 6.46 4(P-IV) 7.23 Total – Z L ð0; 0Þ ¼ 0 þ 1:5  100 þ 2  0:0025  2237:97 ¼ 161:19 [using Eq. (13)] Panel b: Computation of upper bound Class, c Parts assigned Dedicated solution 1 P-I 2 P-II 3 P-III 4 P-IV U d ð0; 0Þ ¼ 0 þ 31:8 þ 63:8 þ 64:8 þ 65:8 ¼ 225:51 [using Eq. (14)] Class, c

Dp * dminp

100 110 95 90

350.00 623.33 613.94 650.70



2237.97

Demand

Locations (Indices) assigned

100 110 95 90

20 (1–20) 40 (21–60) 40 (61–100) 40 (101–140)

Parts assigned

Locations (Indices) assigned

Random solution 1 P-I, P-II, P-III, P-IV U r ð0; 0Þ ¼ 0 þ 164:28 ¼ 164:28 [using Eq. (15)] ZU (0, 0) = min (225.51, 164.28) = 164.28 [using Eq. (16)]

100 (1–100)

Node 0(0, 0) LB =161.19 UB = 164.28

Node 1(1, 20)

Node 2(2, 60)

Node 3(3, 80)

Node 4(4, 100)

LB = 162.67

LB = 164.94

LB = 194.77

X

X

z = 164.28 Candidate Solution X

Fathomed (Rule 3)

Fathomed (Rule 3)

Fathomed (Rule 1)

UB = 163.79

Node 5(2, 60)

Node 6(3, 80)

Node 7(4, 100)

LB = 164.46

LB = 164.85

X

X

z = 163.79 Candidate Solution X

Fathomed (Rule 3)

Fathomed (Rule 3)

Fathomed (Rule 1)

Node 7 gives optimal solution, z=163.79

Fig. 2. Branch and bound tree.

in the range 4–9 and 192–432, respectively. We assume the handling cost per foot is $0.0025 and space cost per square foot is $1.5. The time taken, objective value and number of nodes generated are captured. Average number of nodes generated and average CPU time required by BBA and DPA are shown in Table 4. There is a magnitude difference between the times taken by the two algorithms. The BBA algorithm generates

504

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

Table 4 CPU times and memory requirements of various algorithms Problem size (number of products, P)

10 20 30 40 50 60

Average value of results from ten random problem instances DPA

BBA

Avg. CPU time in seconds (Avg. num of nodes created)

Avg. CPU time in seconds (Avg. num of nodes created)

0.03 0.07 0.42 3.65 17.58 52.96

0.03 0.07 0.29 1.09 5.06 15.50

(300) (4865) (21,180) (56,788) (120,721) (218,248)

(100) (1545) (6629) (19,241) (42,142) (76,668)

Table 5 Comparison of cost of handling and storage space for dedicated and class based policies Problem size (number of products, P)

Average objective function value of ten random problem instances Dedicated

Class based (DPA/BBA)

(Best, average, worst)

(Best, average, worst) Avg. value % lower than dedicated

10 20 30 40 50 60

(220.55, – (620.98, – (1140.68, – (1740.89, – (2470.08, – (3280.18, –

220.93, 230.31) 630.49, 640.01) 1150.69, 1160.53) 1760.79, 1770.91) 2480.11, 2490.677) 3290.17, 3300.52)

(210.22, 210.64, 220.14) 4.66 (570.81, 580.92, 600.14) 7.86 (1030.96, 1050.91, 1080.28) 8.67 (1590.15, 1610.49, 1630.18) 8.56 (2210.796, 2230.71, 2250.875) 10.06 (2900.89, 2940.39, 2970.74) 10.63

lesser number of nodes than DPA increasing its applicability to large problems. Maximum reductions in the number of nodes generated and CPU times that resulted in using BBA than DPA were 68.70% and 71.22% respectively. The minimum, maximum and average values of the objective value for dedicated and class based policies (obtained using BBA and DPA) are shown in Table 5. It can be observed that class based policy yielded 4.66– 10.63% lower average costs than dedicated policy for problems of different sizes.

7. Application to industrial problem A distribution warehouse, which stores food and beverage products, having 45 items is considered. The historical demand data for each item over an 11-month period was collected. Inventory and total demand was in the range of 10–8640 units per month and 19–16843 units respectively. We assume the handling cost per foot is $0.0025 and space cost per square foot is $1.5. Number of storage stack levels is 13 for all products. The layout of the warehouse with dimensions 104 ft · 32 ft is considered and shown in Fig. 3. The cost of allocation for dedicated storage was found to be $20533.9. The cost of allocation using BBA and DPA is $18544.79. BBA generated only 59,445 nodes taking 7.64 seconds CPU time while DPA generated

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

505

Aisle width = 2 ft

Aisles

Aisle width = 4 ft

Input/ Output (4 ft X 4 ft)

Aisle width = 4 ft

Fig. 3. Layout of the warehouse (industrial case).

Table 6 Product classes formed by BBA/DPA Class number

Product(s) Assigned by algorithms BBA/DPA

1

P6, P7, P34, P35, P26, P33, P16, P45, P28, P20, P24, P31, P 29, P23, P11, P10, P4, P15, P19, P17, P22, P32, P27, P37, P36, P5, P14, P9, P38, P41 P12, P42, P44, P8, P39, P1, P40, P21, P3, P30, P18, P43 P25, P13, P2

2 3

235,537 nodes taking 83.89 seconds. For BBA/DPA, the final three product classes obtained from the current algorithm are shown in Table 6. 8. Conclusion and implications In this paper a nonlinear integer programming model and a branch and bound algorithm to solve the model are developed for formation of storage classes. The model considers storage space, handling costs and reduction in area when using class-based storage compared to dedicated storage. The branch and bound algorithm has been compared with a baseline dynamic programming algorithm for randomly generated data sets and an industrial case. The approach presented in this paper has three implications for warehouse managers. First, we have demonstrated that there are significant savings in using class based storage policy although dedicated and random policies are commonly used in warehouse storage planning. Secondly, this paper considers storage space cost along with order picking cost. If the warehouses are in high real estate cost locations, the storage space cost may be significant. In addition to this there is an opportunity cost for storage space when a firm could use storage space productively in some other way. This paper demonstrates that considering storage space cost along with order picking cost results in cost efficiencies. Lastly, computational experience with randomly generated data sets and an industrial case shows that branch and bound algorithm developed is computationally much more efficient than a baseline dynamic programming algorithm and can be applied to handle large real life problems efficiently. Acknowledgement The authors acknowledge the referees’ feedback in enhancing the paper.

506

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

Appendix A. Illustration of Dynamic Programming Algorithm (Muppani and Adil, 2006) Illustration of Dynamic Programming Algorithm (Muppani and Adil, 2006) 225.51

160.01 95.46 *

gc ( k,m)

64.55

5(2,60)

r(k,m) 63.71

35.46

13(4,120) 0 163.79

1(1,20) 132.04

0

7(4,100)

31.75

95.95

64.55

0

0

160.5

226.00

8(3,100) 65 50

2(2,60)

84 14

0

163.79

0 194.78

64.92

Stage 0

Stage 1 (c = 1)

163.79

163.79

0

d5(5,180)

d4(5,180) 0

0

10(4,120)

164.28

4(4,100

0

d3(5,180)

129.86

3(3,80) 164.28

14(4,140)

180.09

9(4,110)

95.95 129.86

164.85

97.64

31.75

0(0,0)

12(4,110)

129.39

6(3,80)

Legend

15(4,140)

179.60

84.14 hc(i+1,k; j+1,m)

11(3,100)

65.5

0

164.28

0 The optimal solution is highlighted

d2(5,180 Stage 2

Stage 3

Stage 4

Stage 5

References Cormier, G., Gunn, E.A., 1992. A review of warehouse models. European Journal of Operational Research 58, 3–13. Eynan, A., Rosenblatt, M.J., 1994. Establishing zones in single-command class-based rectangular AS/RS. IIE Transactions 26 (1), 38–46. Francis, R.L., McGinnis, L.F., White, J.A., 1992. Facility Layout and Location: An Analytical Approach, second ed. Prentice Hall International, Englewood Cliffs, NJ, USA. Frazelle, E., 2002. World-class Warehousing and Material Handling. McGraw-Hill, New York, USA. Goetschalckx, M., Ratliff, H.D., 1990. Shared storage policies based on the duration stay of unit loads. Management Science 34 (9), 1120– 1132. Graves, S.C., Hausman, W.H., Schwarz, L.B., 1977. Storage-retrieval interleaving in automatic warehousing systems. Management Science 23 (9), 935–945. Gu, J., Goetschalckx, M., McGinnis, L.F., 2007. Research on warehouse operation: A comprehensive review. European Journal of Operational Research 177 (1), 1–21. Hariga, M.A., Jackson, P.L., 1996. The warehouse scheduling problem: Formulation and algorithms. IIE Transactions 28 (2), 115–127. Hausman, W.H., Schwarz, L.B., Graves, S.C., 1976. Optimal storage assignment in automatic warehousing systems. Management Science 22 (6), 629–638. Heskett, J.L., 1963. Cube-Per-Order Index – A key to warehouse stock location. Transportation and Distribution Management 3, 27–31. Kouvelis, P., Papanicolaou, V., 1995. Expected travel time and optimal boundary formulas for a two-class based automatic storage/ retrieval system. International Journal of Production Research 33 (10), 2889–2905. Krajewski, L.J., Ritzman, L.P., 2002. Operations Management: Strategy and Analysis. Pearson Education (Singapore), Delhi. Malmborg, C.J., Bhaskaran, K., 1990. A revised proof of optimality for cube-per-order index rule for stored item location. Applied Mathematical Modelling 14, 87–95. Muppani, V.R., Adil, G.K., 2006. Storage classes formation in the presence of space cost for warehouse planning. International Journal of Services Operations and Informatics 1 (3), 286–303.

V.R. Muppani (Muppant), G.K. Adil / European Journal of Operational Research 189 (2008) 492–507

507

Petersen, C.G., Aase, G.R., Heiser, D.R., 2004. Improving order-picking performance through the implementation of class-based storage. International Journal of Physical Distribution and Logistics Management 34 (7), 534–544. Roodbergen, K.J., Vis, I.F.A., 2006. A model for warehouse layout. IIE Transactions 38 (10), 799–811. Rosenblatt, M.J., Eynan, A., 1989. Deriving the optimal boundaries for class-based automatic storage/retrieval systems. Management Science 35, 1519–1524. Rouwenhorst, B., Reuter, B., Stockrahm, V., van Houtum, G.J., Mantel, R.J., Zijm, W.H.M., 2000. Warehouse design and control: Framework and literatures review. European Journal of Operational Research 122 (3), 515–533. van den Berg, J.P., 1996. Class-based storage allocation in a single command warehouse with space requirement constraints. International Journal of Industrial Engineering 3 (1), 21–28. van den Berg, J.P., 1999. A literature survey on planning and control of warehousing systems. IIE Transactions 31, 751–762.