Heurístico de simulación-optimización para la configuración de un sistema de estantería selectiva simple

Ingeniare. Revista chilena de ingeniería, vol. 20 Nº 1, 2012, pp. 17-24

**ARTÍCULOS**

**A simulation-optimization heuristic for configuring a selective pallet rack system**

*Heurístico de simulación-optimización para la configuración de un sistema de estantería selectiva simple*

**Mario C. Vélez Gallego**^{1} Diego A. Valencia Ramírez^{1} Carlos A. Castro Zuluaga^{1}

^{1}Departamento de Ingeniería de Producción. Universidad EAFIT. Carrera 49 7 Sur 50. Medellín, Colombia. E-mail: marvelez@eafit.edu.co; dvalenc8@eafit.edu.co; ccastro@eafit.edu.co

**RESUMEN**

En este artículo se presenta un heurístico de simulación-optimización para la configuración de un sistema de almacenamiento en estantería selectiva simple. Al sistema de almacenamiento objeto del estudio llegan pallets dinámicamente en el tiempo para ser almacenados por un periodo de tiempo. Se asume que la duración del almacenamiento, el instante de llegada y la altura de los pallets son variables aleatorias continuas con funciones de densidad conocidas. En este sistema, si al momento de llegada de un pallet no hay disponible una posición en la estantería en la que éste se pueda almacenar, el pallet se almacena en el suelo. El heurístico propuesto busca minimizar en el número de módulos de estantería necesarios de tal manera que en el largo plazo la proporción de pallets ubicados en la estantería alcance un valor mínimo preestablecido. Los experimentos computacionales llevados a cabo sugieren que el heurístico propuesto es efectivo para resolver el problema en estudio.

**Palabras clave:** Simulación-optimización, heurística, almacenamiento, configuración de estanterías, logística.

*ABSTRACT*

*A discrete event simulation-optimization heuristic is presented for configuring a selective pallet rack system. To the rack system under study pallets arrive dynamically over time to be stored for a given period of time. The storage duration, arrival time and pallet height are assumed to be continuous random variables with known density functions. In such a system, if there is no available slot in the rack to store an arriving pallet, it is placed on the floor. The proposed heuristic aims at minimizing the number of racking banks needed so that the long term proportion of pallets that are placed in a rack slot reaches a minimum pre-specified value. The computational experiments conducted suggest that the proposed heuristic effectively solves the problem under study.*

**Keywords:** Simulation-optimization, heuristic, warehousing, pallet rack configuration, logistics.

**INTRODUCTION**

Selective pallet racking is the most widely used pallet racking system in modern warehouses, manufacturing facilities and retail centers. When such a system has been chosen to store pallets, two crucial decisions must be made that will determine how efficient will be the utilization of the space available. These decisions are (1) how many banks of racks should be installed and (2) what should be the physical configuration of each bank (i.e. number of load beams, distances between consecutive load beams and distance between upright columns). Moreover, in a selective pallet rack system in which pallets of different sizes are to be stored, racks with equally sized slots may not necessarily be the best choice.

The problem that motivated this research was found in a manufacturing facility with a selective pallet racking system used to store work-in-process. In such system pallets of different heights arrive dynamically over time to be stored for a given period of time until an upstream process requires them. The pallet's arrival time, its height and the amount of time that the pallet remains in the system (i.e. storage time) are not known in advance. The pallet arrival time and height are known at the moment of arrival, while the storage time is known only at the time of departure. When a pallet arrives to the system it is assigned to a slot in the racking system if there is one slot available in which the arriving pallet fits. If there is no such a slot, the pallet is placed on the floor and stays there until its departure. This research was motivated by the high proportion of pallets stored on the floor due to the lack of space in the racking system, and the associated delays in the manufacturing process because of the congestion in the storage area. In order to solve this problem two interdependent decisions needed to be made: (1) find the minimum number of new racking banks required and (2) determine the configuration of the entire set of banks so that the long term proportion of pallets assigned to a slot in the rack reaches a minimum pre-specified value. The distribution functions of pallet inter arrival times, storage times and heights are assumed to be known.

Formally, let ? be the set of selective pallet rack systems, and let ??? be an arbitrary pallet rack system such that ?={b_{1}, b_{2},... b_{n}}:, where *b*_{j}? ? is one of the *n* banks that comprise ?*.* A depiction of the *j-th* racking bank (b_{j}) is presented in Figure 1. For each bank *b*_{j}? ?, let *l*_{j} be the number of load beams installed in b_{j}**.** The objective of this research is to find a selective pallet rack system ?*****?? so that two conditions are satisfied: (1) the value of *n* is minimized, and (2) the long term proportion of pallets assigned to a slot in the system ?(?*) reaches a minimum pre-specified value ?_{e} (i.e. ?(?*) ? ?_{e}). Each bank *b*_{j}? ?*** is assumed to have the following characteristics:

• The distance between the upright columns in *b*_{j} is assumed to be fixed and sufficient to accommodate *m*_{j} pallets (i.e. m_{j}=2 in the bank of Figure 1). It is assumed that *m*_{j}=m for all *b*_{j}* ?* ?**.*

**• **The maximum height at which a pallet can be stored (i.e. *H)* is fixed and known, and it is given by the capacity of the materials handling equipment used (i.e. a forklift truck).

**• **It is assumed that the load beams installed are identical. The thickness of the load beams is denoted as *?***.**

• The load beams are evenly spaced within a bank; this is, the distance between two consecutive load beams in *b*_{j} (i.e. C_{j}) is constant and computed as *C*_{j} = (H *- I*_{j} x *?*)l*l*_{j} for all *b*_{j}? ?**.*

• It is assumed that the floor is used to store pallets (See Figure 1).

**• **The number of slots *S*_{j} in *b*_{j} is given by *S*_{j} = mx(l_{j}+1). This is because the pallets stored at the bottom slots rest on the floor, not on a load beam.

**• **On top of the highest installed load beam any pallet can be stored, regardless of its height.

**• **The structural design of the bank is such that the weight of the pallets is not an issue.

Figure 1. A selective pallet rack bank.

The arriving pallets are assumed to be standard pallets. The height of the palletized product stored in the system (i.e. h) is assumed to be a continuous random variable with some known density function. The number of load beams mounted in a given bank as well as the distance between consecutive load beams will be hereafter referred to as the bank configuration. The remainder of this paper is organized as follows: first, a review of the academic literature is presented, followed by a description of the solution approach proposed to solve the problem under study. The paper continues with a summary of the computational experiments conducted and it is closed with conclusions and future extensions.

**LITERATURE REVIEW**

The academic literature on pallet rack design and configuration under unequally sized pallets is scarce, with most of the work done in rack configuration for automatic storage and retrieval systems (AS/ RS). In reference [1] the authors introduced the idea of an AS/RS with racks of unequally sized cells or slots, and developed a model for estimating the performance of such an AS/RS under random storage assignment. In reference [2] the authors proposed a model to design an AS/RS with modular cell racks which allows for cells of different sizes. In this work a mixed integer non-linear program was proposed to find the cell size that minimizes the total unused space assuming random storage assignment. In both works it was assumed that there is a fixed number of different pallet heights, and for each pallet height the information about the expected storage volume is known in advance. In [3] a simulation -based regression model was developed to assess the relationship between the average cycle time in a regular AS/RS and the configuration of the rack system (i.e. the number of tiers, aisles and bays that determine the size of the warehouse). The resulting mathematical expression is later used to obtain the rack configuration that minimizes the average cycle time. In this work the resulting configuration is one with equally sized cells. In reference [4] the authors considered a three-dimensional AS/RS and derived the optimal ratio between the three dimensions so that the travel time for a random storage strategy is minimized. The only work that we are aware of that addressed the problem of pallet rack configuration under unequally sized products that is not necessarily confined to an AS/ RS is that in [5]. In this work an algorithm is proposed to find the optimal rack configuration for a given number of different cell sizes. The proposed algorithm is impractical when four or more different cell sizes are needed due to its computational cost. To the best of our knowledge there is no work in the literature that addresses the problem of selective pallet rack configuration under dynamic pallet arrival and random pallet heights.

**SOLUTION APPROACH**

The proposed simulation-optimization solution approach is depicted in Figure 2. In such approach, a local search heuristic creates a new solution (i.e. pallet rack system) ?_{k+1} by performing a small change to the current solution ?_{k}. The newly created solution is then sent as an input to a discrete event simulation model that evaluates E[?(?_{k+1})], the expected value of ?(?_{k+1})*.* If ?_{k+1} is better than ?_{k}*,* then ?_{k+1} becomes the current solution, and the process continues until some stopping criterion is met. The heuristic starts from the observation that in a given pallet rack system ?, since there is a maximum height at which a pallet can be stored *(H),* if a load beam is inserted into some bank *b*_{j}? ?*,* the distance between consecutive load beams (C_{j}) decreases. Consequently, after some number of consecutive load beam insertions, the value of ?(?) decreases because the percentile of pallets that fit in the slots of the rack decreases. On the other hand, if a load beams is removed from *b*_{j}, the distance between consecutive load beams increases and, after several consecutive load beam removals, the distance between load beams becomes larger than needed and causes a waste of space. From this discussion follows that there is an optimal number of load beams in a pallet rack bank.

Figure 2. Simulation-optimization heuristic.

To find a feasible solution that simultaneously minimizes the number of banks in the system and guarantees a value of E[?(?)] such that E[?(?)] ? ?_{e}, the proposed heuristic starts from an initial solution ?_{0} with a low number of (identical) banks with a high number of load beams each. A discrete event simulation model is run to estimate E[?(?_{0})]. At iteration *k* the proposed heuristic transforms into ?_{k+1} by removing one load beam from the bank with the highest number of load beams. In such bank the distance between load beams is re-calculated so that this distance remains equal within each bank. Once the solution ?_{k+1} has been obtained, the simulation model is run and the value of E[?(?_{k+1})] is estimated. Because the algorithm starts with a solution with a high number of load beams in each bank, the estimated E[?(?_{k})] initially increases to a maximum point at which it starts to decrease. This is because if a bank has too many beams, the removal of one beam allows larger pallets to be stored in a slot in the rack. At some point load beam removals are not beneficial anymore, and the estimated value of E[?(?_{k})] starts to decrease. When this maximum point is reached, if the estimated E[?(?_{k})] has not yet reached the value of ?_{e}, the heuristic transforms ?_{k} into ?_{k+1} by incorporating a new bank with a high number of beams into ?_{k}*,* and the procedure continues. If the heuristic reaches the maximum point discussed before and the estimated E[?(?_{k})] is greater than or equal to ?_{e}, the heuristic terminates with a feasible solution to the problem under study.

**Initial solution**

To find an initial solution to the problem, a simplified system, based on the original is constructed. To construct such simplified system three assumptions are made: (1) the pallets arrive to the simplified system following a *Poisson Process,* (2) the pallet storage times are *i.i.d.* exponential random variables and (3) all the pallets have a common (constant) height *h* equal to the lowest possible pallet height in the original system. Under these assumptions the simplified system reduces to an *Erlang's Loss System* (ELS), a classical queuing system introduced in [6] that refers to a system with *K* servers in parallel and no queue allowed, represented as an *M/M/K/K* system in Kendal's notation. Based on this simplified system, an initial solution to the problem is constructed using the theoretical results available in the literature for the ELS.

Each slot in the simplified system represents one of the *K* servers in the ELS. Since a pallet that does not fit in any available slot is placed on the floor, no queue is formed, as required by the ELS. Let *P*_{k} be the probability that an arriving entity (i.e. pallet) finds all *K* servers busy upon arrival, and let *Q*_{k} = 1 - P_{K}. The theoretical results available for the ELS allow us to compute *Q*_{k} given the value of *K* and the arrival and service rates. An initial solution to the original problem (?_{0}) is then constructed with a number of identical banks with evenly spaced load beams. The process of constructing such initial solution is as follows:

**• **Step 1: Let be the number of load beams in each banks of ?_{0}, where is the largest integer that is less than or equal to x.

• Step 2: Let *S*_{0} = mx(L_{0}+1) be the number of slots per bank.

**• **Step 3: Let *K* = *S*_{0} (start with one bank).

**• **Step 4: Compute Q_{k}.

**• **Step 5: If *Q*_{k} < ?_{e} then let *K*=*K* + *S*_{0} and return to Step 4. Otherwise, go to Step 6.

• Step 6: Run the simulation model with K/S_{0} identical banks, each bank with *L*_{0} evenly spaced load beams. Estimate E[?(?_{0})].

At the end of this procedure a solution with a number of banks that is an integer multiple of *S**0* is at hand. Clearly, the chances of the resulting ?_{0} being infeasible with respect to E[?(?_{0})] are high since this initial solution can only accommodate pallets of height .

**Discrete event simulation model**

The goal of the simulation model embedded in the proposed simulation-optimization heuristic is to find, for the *k-th* racking system (i.e. ?_{k}), a point estimator for E[?(?_{k})]. The model starts at time zero with an empty racking system. As time proceeds the model generates arriving pallets according to some density functions of inter arrival times, storage times and heights. Upon arrival, the model identifies the set of feasible slots in the racking system (i.e. empty slots in which the pallet fits because of its height) and assigns the pallet to the feasible slot of minimum difference between the slot and pallet height. This selection criterion allows the model to ensure that each pallet is assigned to a slot so that the waste of space is minimized. If the set of feasible slots is empty, the pallet is assigned to the floor, which is assumed to have an infinite storage capacity. At the end of the simulation run the model reports an estimation of E[?(?_{k})], calculated as the long term proportion of pallets assigned to a slot in the rack.

The proposed output analysis in the above simulation model is as follows. The warm-up period is estimated by means of the graphical time series procedure proposed in [7]. For the estimation of E[?(?_{k})] a batch means method is used in which the sample size and the number of batches are determined by following the quasi-independent and normal (i.e. QIN) procedure proposed in [8]. Upon termination, the simulation-optimization heuristic delivers ?_{f}, a feasible solution to the problem under study. Because of the design of the solution approach, a solution may have banks with different configurations, but within each bank the load beams are evenly spaced; this is, the distance between consecutive load beams is equal. Consequently, we chose to represent the final solution as a one-dimensional array of the form ?_{f}*=[l*_{1} l_{2},...] where *l*_{k} is the number of evenly spaced load beams installed in bank *k.*

**COMPUTATIONAL EXPERIMENTS**

The simulation model was configured with a warm-up period equivalent to 1000 simulated pallets and the batch means method used to estimate E[?(?_{k})] allowed the model to run for 180 batches of 256 simulated pallets each. The simulation-optimization heuristic was coded in Visual Basic for Applications (VBA®) and executed on a desktop computer equipped with a 2.21 GHz Intel® Core 2 Duo processor and 2 GB of RAM.

To assess the quality of the proposed solution approach, several computational experiments were conducted on a set of instances that resemble the behavior of the real system that motivated this research. The behavior of such system is as follows: the pallets arrive following a *Poisson Process* with a rate of ?=7 pallets per hour. The storage time is an *i.i.d.* exponential random variable with an expected value of *W* hours. The pallet heights follow an *i.i.d.* triangular distribution with parameters , *x* and *y* meters. (i.e. minimum, mode and maximum value, respectively). We define *r* = *y - * as the range of the triangular random variable. The maximum height allowed in the system *(H)* is 8 meters and the thickness (*?*) of the load beams is 0.1 meters. Due to the structural design of the racks, the distance between upright columns in the racking system is such that two standard pallets can be accommodated horizontally (m=2). The racking system must be designed so that ?_{e} = 0.90. A total of 24 test instances were generated as follows:

• Two levels of *W* were considered: W=6 and *W*=12, representing two levels of congestion in the system.

• Two levels of the parameter were considered: = 1 and = 2.

• Two levels of the parameter *r* were considered: *r*=1 and *r*=2, representing two levels of height variance.

• Three levels of parameter *x* were considered so as to evaluate different shapes of the triangular distribution representing the pallet heights. The levels were computed as *x = +(ixr)/4,* for i=1,2,3. Figure 3 shows the shape of the triangular distribution as the value of *x* changes and Table 1 summarizes the characteristics of the 24 test instances.

Figure 3. Triangular distributions tested

Table 1. Instances tested.

Table 2 presents the initial solutions obtained for each test instance (i.e ?_{0}). Column (1) shows the instance index. The values of *L*_{0} and *S*_{0} are shown in columns (2) and (3) respectively. The minimum value of *K* in a *M/M/K/K* queuing system (i.e. ELS) such that (1) *K* is an integer multiple of *S*_{0}, and (2) *Q*_{k} > ?_{e} given arrival and service rates of 7 and W^{-1}, respectively is presented in column (4). The total number of banks in *U*_{0} is presented in column (5) and the estimated value of E[?(?_{0})] is presented in column (6).

Table 2. Initial solutions.

Table 3 presents a summary of the results obtained after completing the computational experiment. The instance index is shown in column (1) while the number of banks in the final solution is presented in column (2). Column (3) presents the solution reported by the simulation-optimization heuristic (i.e. ?_{f}). In column (5) is shown the estimated value of E[?(?_{f})] and in column (6) the run time (in seconds) required by the algorithm to terminate.

Table 3. Summary of results.

The inspection of Table 2 reveals that the initial solutions report point estimators of E[?(?_{0})] that are often close to the objective value of ?_{e} = 0.90. Consequently, the number of banks that are needed in order to reach this objective is low, as presented in Table 3. The number of banks added to the initial solution in order to reach the objective value of ?_{e} ranged from 0 to 5 banks in the instances tested. It is important to note that for instances 3 and 23, the estimated values of E[?(?_{f})] are lower than ?_{e}. This is because Table 3 presents point estimators of E[?(?_{f})]. The confidence interval for ?(?_{f}) in all the instances contains ?_{e} with a probability of at least 0.95 (i.e a=0.05).

Figure 4 presents the average number of racking banks in the final solution discriminated by the values of , *r* and W. The most important effect is due to the value of *W.* As *W* increases, the system becomes more congested, and thus more banks are needed in order to reach the objective. Similarly, the number of banks increases with the value of since less pallets can be accommodated in one bank. The value of *r* appears to have no effect on the number of banks.

Figure 4. Summary of results.

Finally, in order to illustrate how the simulation-optimization heuristic works, Figure 5 presents its evolution over time when solving test instance 1. It starts with an infeasible solution of three racking banks *(L*_{0}=3) and an estimated value of E[?(?)] of 0.7308 (see Table 2). As the local search heuristic removes load beams from the racking banks having the highest number of load beams, the estimated value of E[?(?)] increases until reaching the objective of ?_{e}. Again, Figure 5 plots the point estimators of E[?(?)]. Even when the plot in Figure 5 decreases, at those points there was no statistical evidence that the real value of E[?(?)] had actually decreased.

Figure 5. Evolution of the heuristic over time.

**CONCLUSIONS**

The problem of configuring a selective pallet racking system under dynamic pallet arrivals and random pallet heights is not trivial and has not yet received much attention by researchers in the field. In this paper, a simulation-optimization heuristic was proposed to find a feasible solution to the problem of minimizing the number of racking banks required so that the expected proportion of pallets assigned to a slot in the system reaches a minimum specified value. The proposed heuristic not only finds the number of racking banks required but also finds a configuration for each bank. The proposed heuristic not needs to be coded in a high-level simulation language. A low-cost general purpose programming language is sufficient for its implementation. The computational experiment conducted suggests that the problem under study can be effectively solved by the proposed solution approach at a reasonable amount of computational cost.

The proposed approach is restricted to rack configurations in which the load beams are evenly distributed within each racking bank (i.e. the distance between load beams that belong to the same racking bank are equal). Thus, most probably the final solution reported by the proposed heuristic allows for further improvement. Other research efforts need to be conducted in order to evaluate expanding the search space of the embedded local search to account for racking banks with unevenly distributed load beams.

**REFERENCES**

[1] Y.H. Lee, J.M.A. Tanchoco and S.J. Chun. "Performance estimation models for AS/ RS with unequal sized cells". International Journal of Production Research. Vol. 37, pp. 4197-4216. 1999.

[2] Y.H. Lee, M.H. Lee and S. Hur. "Optimal design of rack structure with modular cell in AS/RS". International Journal of Production Economics. Vol. 98, pp. 172-178. 2005.

[3] B.Y. Ekren and S.S. Heragu. "Simulation-based regression analysis for the rack configuration of an autonomous vehicle storage and retrieval system". International Journal of Production Research. Vol. 48, pp. 6257-6274. 2010.

[4] R.B.M. de Koster, T. Le-Duc and Y. Yugang. "Optimal storage rack design for a 3-dimensional compact AS/RS". International Journal of Production Research. Vol. 46, pp. 1495-1514. 2008.

[5] M. Sraml, T. Lerher, B. Samec and I. Potrc. "Optimal design of storage rack structure with unequally sized storage compartments". 10th International Conference on Traffic Science (ICTS 2006), Portoroz, Slovenia, pp. 1-10. 2006.

[6] A.K. Erlang. "Solutions of some problems in the theory of probabilities of significance in automatic telephone exchanges". Electroteknikeren. Vol. 13, pp. 5-13. 1917.

[7] P.D. Welch. "The statistical analysis of simulation results". New York: Academic Press. 1983.

[8] W.D. Kelton and E.J. Chen. "A procedure for generating batch-means confidence intervals for simulation: Checking independence and normality". Simulation. Vol. 83, pp. 683-694. 2007.

*R**eceived: July 25, 2011 Accepted: March 15, 2012*