Int. J. Production Economics 140 (2012) 844–853
Contents lists available at SciVerse ScienceDirect
Int. J. Production Economics journal homepage: www.elsevier.com/locate/ijpe
Sequencing dynamic storage systems with multiple lifts and shuttles He´ctor J. Carlo a,n, Iris F.A. Vis b a b
Industrial Engineering Department, University of Puerto Rico, Mayag¨ uez, Call Box 9000, Mayag¨ uez, PR 00681, Puerto Rico University of Groningen, Faculty of Economics and Business, Department of Operations, P.O. Box 800, 9700 AV Groningen, The Netherlands
a r t i c l e i n f o
a b s t r a c t
Article history: Received 10 October 2011 Accepted 28 June 2012 Available online 16 July 2012
New types of Automated Storage and Retrieval Systems (AS/RS) able to achieve high throughput are continuously being developed and require new control polices to take full advantage of the developed system. In this paper, a dynamic storage system has been studied as developed by Vanderlande Industries, consisting of a conveyor, two non-passing lifts that share a mast, multiple transfer shuttles, and a storage rack. This study is concerned with the scheduling problem of these two lifts, i.e. which lift is going to handle which (storage or retrieval) request, and in which order. An integrated look-ahead strategy heuristic to simultaneously assign a set of pre-defined requests to the lifts and the order in which they will be handled taking into account delays caused by interference between the lifts. A practical methodology to characterize the system to identify and resolve situations where the lifts would interfere with each other is presented. Experimental results compare several priority rules to handle interference between lifts, and provide empirical evidence that the dynamic system with multiple lifts controlled by the proposed look-ahead strategy achieved average improvements of 44.34% and 35.82% in terms of total handling times (82.49% and 60.08% in terms of throughput) compared to a single lift system and to a simple rule of thumb, respectively. & 2012 Elsevier B.V. All rights reserved.
Keywords: Material handling systems Scheduling Heuristic
1. Introduction In warehouses and production environments, automated storage and retrieval systems (AS/RS) have been widely used since their introduction in the 1950s to store and retrieve unit-loads without interference of an operator. Implementing AS/RS instead of manual systems results in savings in labor costs and floor space, increased reliability, and reduced error rates. Apparent disadvantages are high investment costs, less flexibility, and higher investments in control systems (Zollinger, 2001). The most basic version of an AS/RS has one storage/retrieval (S/R) machine in each aisle which cannot leave its designated aisle (aislecaptive) and can transport only one load at a time (single shuttle). The racks in the basic version are stationary and single-deep, which means that every load is directly accessible by the storage and retrieval (S/R) machine. This AS/RS type is referred to as a single unit-load aisle-captive AS/RS. A large number of system options exist for AS/RS. For an overview of AS/RS refer to Roodbergen and Vis (2009) and Tompkins et al. (2010). New designs of AS/RS are being introduced to the market to meet current demands in throughput and constraints with regard to delivery times in warehouses. For example, autonomous
n
Corresponding author. Tel.: þ1 787 832 4040 x3105; fax: þ1 787 265 3820. E-mail addresses:
[email protected] (H.J. Carlo),
[email protected] (I.F.A. Vis).
0925-5273/$ - see front matter & 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.ijpe.2012.06.035
vehicle storage and retrieval systems (AVs/RSs) are characterized by horizontally operating vehicles sharing a fixed number of lifts for vertical movement (Malmborg, 2002). AVs/RSs allow for varying the number of vehicles and lifts in the system and as a result are capable of coping with constantly changing volumes. Each lift has its own mast to perform vertical movement of vehicles carrying storage or retrieval requests. Ekren and Heragu (2011) perform a simulation study to analyze the relation between the number of lifts and the number of vehicles to achieve high performance expressed in cycle times and utilization of the vehicles and lifts. Ekren et al. (2010) test the effect of several design factors on the performance of an AVs/RS. The authors vary the dwell point location, the I/O location, and scheduling rules for both single and dual command scheduling. The authors use simple scheduling rules as First-Come-FirstServed (FCFS) and shortest destination time in their comparison. Next to simulation several analytical approaches have been proposed for analyzing AVs/RSs. Kuo et al. (2007) present cycle time models for AVs/RSs. Fukunari and Malmborg (2009) propose an analytical approach based on queuing for performance analysis of the design of the AVs/RS. Split-platform AS/RS have separate and independent operating platforms for horizontal and vertical movement. A typical splitplatform AS/RS has several horizontal operating platforms and a single vertical operating platform (Hu et al., 2005). The horizontal platforms transfer loads from and to storage locations. The
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
vertical platform is the linkage between all platforms and the I/O point. Contrary to AVs/RS systems, in a split-platform just the load is transferred from one platform to the other and allows for the other platform to continue the operation. Hu et al. (2005) perform a travel time analysis for split-platform AS/RS. Hu et al. (2010) propose a shuffling algorithm for split-platform AS/RS to re-locate items to minimize response times. In this paper, we extend these lines of research for a newly introduced type of AS/RS in which two lifts capable of vertical movement of loads share a single mast to transport loads from horizontally operating shuttles to the I/O point and vice versa. Since the lifts share a mast it is not possible for the lifts to pass each other. In this configuration, throughput might be increased without additional investments in additional masts to have independently operating lifts as in AV/RS. Next to that, the same set of vehicles can serve both cranes instead of having additional investment in vehicles for each lift. Independent masts positioned next to each other or at opposite sides might also require additional investment in space and other material handling systems, such as conveyors, that are connected to the AS/RS. This dynamic storage system was developed by Vanderlande Industries and consists of a conveyor, two lifts, multiple transfer shuttles, and a storage rack (see Fig. 1). The two lifts feed the rack by transferring loads into two buffer positions located at the front of each level of the rack. One of the positions is used to place storage requests, while the other is used to retrieve retrieval requests. At each level there is a transfer shuttle that moves loads between the rack locations and the buffer positions. The conveyor has one transfer point (I/O-point), where storage requests are delivered and retrieval requests are picked up. Theoretically, the storages could be delivered in a different location from where the retrievals are picked up. However, in our system these points are positioned at the same level, which coincides with the buffer positions of one of the levels in the storage rack. The two lifts share a mast while transporting requests from the aisle buffer positions to the conveyor I/O point and vice versa. Hence, the two lifts cannot pass each other, and as a result, the upper lift can only reach the I/O point if the lower lift is positioned at one of the aisles below the I/O point. Clearly, the upper lift can never reach the lowest aisle and the lower lift never can reach the uppermost aisle. One of the important decision problems for the system under study in this paper is the scheduling problem of these two lifts. In
845
other words, which lift is going to handle which request and in which order. In the literature, various algorithms and heuristics are available to schedule storage and retrieval requests within a fixed period of time for traditional aisle-captive single shuttle AS/RS. However, there is not much research for AS/RS with two or more lifts sharing the same path. A close resemblance can be noticed with the problem of sequencing two cooperating automated stacking cranes (ASCs) in the storage area in a container terminal. Vis and Carlo (2010) study a configuration of two ASCs that can pass each other during operation and propose a sequencing approach to handle both inbound and outbound storage and retrieval requests. The objective of this paper is to present an integrated lookahead heuristic based on enumeration to simultaneously assign a set of pre-defined requests to the lifts and to schedule the lifts such that total times required to serve all requests are minimized. Look-ahead based heuristic form a class of solution approaches that allows to look ahead in the coming jobs or in time during the decision making process. This class of solution approaches can be found in a wide variety of application areas varying from assigning tasks to vehicles in a distribution system (e.g., Tzur and Drezner, 2011) to single machine scheduling (e.g., Zheng et al., 2008). The system under study has the following characteristics that should be incorporated in a new look-ahead based approach: (1) multiple lifts as being resources to perform operations; (2) interference between resources while handling jobs; (3) priority issues of lifts; (4) multiple jobs waiting to be served; and (5) two different types of jobs each with their own characteristics. To accomplish this, our look-ahead strategy has to keep track of the exact position of each lift in time to make the right decisions. Section 2 presents the problem in more detail. Section 3 introduces a conceptual model of the problem under study. Solution approaches will be introduced in Section 4. In Section 5 an illustrative example is presented to demonstrate the proposed method. Section 6 presents the results of a performance analysis of this multiple shuttle, multiple lift AS/RS. Conclusions and further research issues are included in Section 7.
2. Problem description The main components of the dynamic AS/RS considered are:
one input/output point (I/O-point) at level 0 on the interface Transfer
between the conveyor and the lifts;
a rack consisting of (p) levels to store products, whereas the
5 L2
3
Lift
L1
1
I/O Conveyor
-1 Buffer
Fig. 1. Schematic representation of the system under study.
levels below the I/O-point (level 0) are labeled with negative numbers and those above the I/O-point are labeled with positive numbers (let P is the set containing all levels p); a conveyor to transfer loads between other departments in the facility and the storage system; two lifts (L1 and L2) sharing a mast (i.e. unable to pass each other) to transport the load to the appropriate level; multiple transfer shuttles Nx (xAP) per level to actually store and retrieve the loads; buffer areas at the end of each level x (xAP). two types of request, storage requests, Sx (xAP), and retrieval requests, Rx, (xAP). the amount of storage and retrieval requests are s and r, respectively.
The lifts handle two types of requests, storages and retrievals. Storage requests requires a load to be stored in the storage system, while retrieval requests requires a load to be picked up from the storage system. It is assumed that the destination level for storage requests and the origin level for retrieval requests are
846
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
known, which is realistic for systems controlled by Warehouse Management Systems (WMSs). The sequence of storage requests depends on the order in which they arrive at the I/O point whereas the sequence of retrieval requests is known in advance (i.e. assumed given in our problem). Storages and retrievals may be combined in a double cycle, similar to dual command scheduling for AS/RS. A double cycle is when a storage request is combined with a retrieval request (preferably in the same level). Notice that performing a storage followed by a retrieval (i.e. double cycle) minimizes the total distance travelled compared to combining two storages, two retrievals, or a retrieval followed by a storage. Since the dynamic storage system is supporting the production system, it is important that the sequence in which storages and retrievals are requested is observed (e.g. storage #1 precedes storage #2, etc., and retrieval #1 precedes retrieval #2, etc.). However, storage and retrieval requests may be combined in any way as long as the inherent sequence is observed. Once a request is assigned to a lift, the assignment cannot be changed. The throughput performance of the dynamic storage system is mainly driven by the throughput of the two lifts, as they are the interface between the conveyors and the horizontal transfer shuttles. Since the lifts are the bottleneck of the dynamic storage system, the conveyors and horizontal transfer system are designed with enough capacity so the lifts do not wait for these systems. Hence, to increase the throughput of the dynamic storage system one must optimize the operations of the two lifts; namely which lift will serve each request and in what order. In our system the two lifts share a mast, and as a consequence, are unable to pass each other. Unlike AVs/RSs with independent lifts, there exists delays caused by the interference between the lifts (i.e. lifts would collide). To avoid interference, one of the lifts must either wait or move out of the way to allow the other lift to pass. In order to quantify the delays experienced while serving a particular set of requests, one needs to consider the position of both lifts as a function of time. Further, upon interference of the lifts it is important to determine which lift will have priority to finish the intended request. It is assumed that lifts independently perform the necessary movements to serve the requests unless if the two lifts will interfere when performing the desired move. In the next section, conceptual model of the problem will be introduced, describing the required movements of the lifts in more detail and introducing all relevant notation.
represent the position of lift 1 and 2, respectively, as a function of time. f(t) Continuous piece-wise linear function that represents the level of lift 1 in time t g(t) Continuous piece-wise linear function that represents the level of lift 2 in time t
Fig. 2 illustrates f(t) (left) and g(t) (right). In Fig. 2, lifts 1 and 2 are serving retrieval requests from level 3 and 4, respectively. In general, serving a (storage or retrieval) request involves four steps, represented as piece-wise linear functions in f(t) and g(t). Table 1 describes the required action for each step according to the type of request (i.e. storage (Sx) or retrieval (Rx)). In Fig. 2, step 1 would require the lift to move from its original position (i.e. level 0 for lift 1 and level 5 for lift 2) to level x (where the load is stored). Since the velocity of the lift is assumed constant, step 1 will be a line with a positive, negative, or zero slope (depending on the location of the lift at time 0). Clearly, if the lift is already at level x, no lift movement will be required. (Notice that even when there is no lift movement, we claim that step 1 occurs.) We consider this case as if step 1 for the lift had a duration of zero time units. In step 2 of Fig. 2, the lifts remain in their respective level x to pick up the load. Then, in step 3 the lifts return to the I/O-point. Lastly, the loads are deposited into the I/O-point, representing step 4. Clearly, the type of movement and the state (i.e., full or empty) of the lift related to a step differs per type of request. The indexes i and j A{1,2,3,4} respectively represent the specific step of a request being performed as defined in Table 1. Furthermore, functions fi(t) and gj(t) to describe the movement of the lifts in each step. fi(t) Level of lift 1 in time t during the ith (i¼1,..,4) step for a particular request in f(t), gj(t) Level of lift 2 in time t during the jth (j ¼1,..,4) step for a particular request in g(t).
Table 1 Steps to perform a storage Sx or retrieval request Rx. Rx
Steps Sx 1
3. Conceptual model
move from current position to I/O-point pick up load from I/O-point
move from current position to level x pick up item from buffer location at level x move with load to level x move with load to I/O-point deposit load at buffer location at deposit load at I/O-point level x
2
When sequencing the lifts one needs to take into account the lifts’ position in time to be sure that no collisions occur and that waiting times will be minimized in assigning requests to lifts. Two piece-wise linear functions are introduced, f(t) and g(t), that
Lift position vs. Time
4
f2(t) f1(t)
f3(t)
1 0 a01
Lift position vs. Time f(t)
f4(t) b1
2
4 Time
6 Levels
Levels
3 2
3 4
6
g1(t)
4
g(t)
g2(t) g3(t)
2 0 α01
g4(t) 1
1
2
3 Time
Fig. 2. Example of retrieval requests handled by lifts 1 (left) and 2 (right).
4
5
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
The functions fi(t) and gj(t) are (straight) lines given that acceleration and deceleration are assumed infinite. Acceleration and deceleration of the lifts can be easily included in the model. For example, Gudehus (1973) presents a very simple approximation for the acceleration and deceleration time. Clearly, including acceleration/deceleration will change the shape of the proposed functions, in which case they will not be piece-wise linear. However, the methodology presented in this paper can still be applied as one only needs to determine where the functions intersect for each step. In Fig. 2, a1 and b1 represent the start and end time of the interval in which the f1(t) occurs, respectively. Similarly, a1 and b1 represent the start and end point of the interval in which g1(t) occurs. In general ai and bi (aj and bj) represent the start and end points of the interval in which the ith fi(t) (jth gj(t)) function occurs. In Fig. 2 it was assumed that there is only one lift handling requests around the mast. Fig. 3 depicts these functions where the two lifts handle their request simultaneously and share the mast. From Fig. 3 it can be observed that the constraint that the two lifts cannot pass each other, which can be expressed as fi(t)ogi(t), is violated. So in sequencing requests, it has to be carefully checked that the situation depicted in Fig. 3 (i.e. an interference) is avoided. For example, lift 1 could travel to level 1 to allow lift 2 to reach the I/O point. The f(t) and g(t) functions introduced in this paper are able to characterize the system state due to the fact that the transfer points (I/O-points) in our problem are at the same level. However, for problems where the transfer points are not on the same level one can create additional functions to characterize the system state. It is important to highlight that f(t) and g(t) are piece-wise linear functions, which are very simple to code and to track within a code by considering each step sequentially.
847
4. Enumeration-based heuristics Our objective is to simultaneously assign requests to lifts and schedule the requests for each of the lift. As shown in Fig. 4, the fact that the lifts share a mast makes that evaluating the fitness of a solution is not trivial. Further, many solutions exist to sequence a set of requests and get a solution that is feasible. In our problem, it is assumed that the sequence of storage and retrieval requests is pre-determined. In other words, the storages and retrievals, respectively, must be served in the order they arrived to the system. Let s be the number of storage requests Sx and r is the number of retrieval requests Rx to be served. There are there are (r þs)!/(r!s!) possible ways of sequencing the storages and retrieval requests while honoring the sequence among storages. (Note: The (r þs)!/(r!s!) possible ways of sequencing the requests can be computed if the problem is seen as a Partial Permutation with two different types of objects, storages and retrievals (Montgomery and Runger, 2006, p. 25.)) Our solution approach is based on exhaustive enumeration. In Section 4.1 two options will be considered in defining a set of requests that has to be scheduled by proposing a look-ahead approach. For each set, several candidate solutions exist that represent which lift performs what request and in what order. For each of these candidate solutions, the associated total time needs to be calculated to handle all requests by both lifts considering the delays caused by the interference between the lifts. The candidate solution with the lowest makespan is selected. In Section 4.1 it will be shown how to define a set of requests to be considered. In Section 4.2 it will be demonstrated how to derive total travel times for each candidate solution by effectively dealing with the constraints with regard to lifts sharing a mast as presented in Section 2. 4.1. Look-ahead strategy
Lift position vs. Time
6
Levels
5 4 3
gj(t) fi(t)
2 1 0
0
1
2
3 Time
4
5
6
Fig. 3. Example of lift 1 and lift 2 handling a retrieval request simultaneously.
It is assumed that a block of requests will be scheduled first (i.e. block scheduling). The blocks are composed of all requests that entered the system in a fixed time window. The proposed look-ahead strategy seeks to minimize the makespan of serving all requests in a block. As described above, there are (r þs)!/(r!s!) possible ways to schedule the requests. In addition, there are 2r þ s possible ways of assigning the storage and retrieval requests over both lifts. Therefore, exhaustive enumeration would require (r þs)!/(r!s!)n2r þ s evaluations. Considering that due to the dynamic environment of the system, decisions must be made very fast, it is infeasible to consider exhaustive enumeration. Our
Fig. 4. Schematic of the 2C2 (left) and 3C2 (right) look-ahead policies.
848
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
approach will be to define smaller blocks and only optimize for each sub-block. Overall, our approach will explore all (rþs)!/(r!s!) possible sequences to serve the requests, but not consider all possible ways to assign the requests to the lifts. The following two options are considered: (1) only look at the next two requests and assign them to the lifts (two-choose-two or 2C2), or (2) only look at the next three requests but only make the assignment for the first two requests (three-choose-two or 3C2). For each option an exhaustive enumeration procedure can be performed to solve the problem. Fig. 4 shows how the decisions would be made after considering all the possible solutions to serve six requests. In Fig. 4a (2C2) the lift assignment for each request will be optimized by considering only the next two requests. On the other hand, in Fig. 4b (3C2) one optimizes considering only the next three requests, yet only the first two requests are assigned (i.e. the assignment for the third request is discarded). If one considers only two (three) requests, then four (eight) combinations need to be evaluated before making the assignment for the next two requests. Once an assignment is made, the assignment of the next requests is evaluated until all requests are assigned. Therefore, for two-choose-two only 4n(r þs/2) possible request-to-lift assignments are considered, while three-choose-two will only consider 8n(r þs/2) possible assignments, given r þs is even. In Section 4.2 a method will be described to evaluate the performance of a candidate solution based on the piece-wise functions presented in Section 3. In this paper it is assumed that the sequence for storages and retrievals is given. A variant of this problem is where retrievals (which arrive to the system electronically) may be retrieved in any sequence. For this case there would be (r þs)!/s! possible ways to schedule the requests. If both storages and retrievals can be retrieved in any sequence, one would have (r þs)! possible ways to schedule the requests. The proposed solution methodology can be easily implemented in these cases, except that the total number of candidate solutions to explore will be much larger. Clearly, if the inherent sequence of the requests is not given, the proposed solution methodology will explore a larger solution space, which could result in an improvement on the throughput of the dynamic system. 4.2. Evaluation performance of a solution As introduced in Section 3, four steps are considered for each request to be performed by a lift. Related to these steps the functions f(t) and g(t) respectively represent the positions of lift 1 and lift 2 in time t. Only if the lifts do not move in the same area (i.e. the functions do not intersect), the four steps can be completed without interruptions. If one of the lifts has to be moved to allow the other one to pass, an additional step has to be performed. The proposed functions are the key to evaluating a candidate solution (i.e. the sequence in which requests will be served for each lift). The complexity in evaluating a candidate solution is in identifying and resolving interferences between lifts. In general, to evaluate a candidate solution the piece-wise linear functions are examined individually. Clearly, the functions will intersect if and only if the corresponding piece-wise linear functions for both lifts intersect. Hence, it is first checked if the two piece-wise linear functions representing the positions of each lift in time are parallel. If the piece-wise linear functions are parallel, then the lifts are moving in the same direction with the same speed so they cannot interfere. If instead, the two piece-wise functions are not parallel (see for example f1(t) and g1(t) in Fig. 3), we determine the point where the two would intersect. If the intersection occurs after one of the lifts has finished that particular step, then the lifts will not interfere as the lift that finished
will proceed to another step. On the other hand, if the segments intersect before either lifts finishes the step, then there is a conflict that needs to be resolved. In other words, one of the lifts must to allow the other lift to complete the current step. Our initial assumption is to always give priority to lift 1 (see step 2bii(2b) below). In Section 6 also other priority rules will be tested. If lift 2 has been waiting for lift 1 to visit the I/O-point, lift 1 needs to move to a level 1 or further down to allow lift 2 to access the I/O-point. Secondly, the lift already moves to its destination and waits at the neighboring level instead of waiting until the entire track is empty (see step 2b-ii(1)). (0) (1) (2)
i : ¼1; j: ¼1 Determine fi(t) and gj(t) Verify if they are parallel functions. If they are parallel, go to step 2a, otherwise go to step 2b. (a) Compare bi and bj. If bi 4 bj, then j ¼j þ1, if bi o bj then i¼iþ1. If bi ¼ bj i¼iþ1 and j¼ jþ1. (b) Verify if fi(t) ¼gj(t) in {max(ai, aj), min(bi, bj)} (i) if fi(t)agj(t), go to step 2a and consider them as being parallel. (ii) else, verify fi(ai) ¼fi(bi) (1) If yes, then gj(bj) ¼fi(bi)þ 1 and i¼iþ 1 (2) If no, verify gj(ai) ¼gj(bj) (a) If yes, fi(bi) ¼gj(bj) 1 and j ¼j þ1 (b) If no, gj(bj)¼fi(bi)þ 1 and i¼iþ 1 Repeat step 1 In step 2b it is studied if the lifts intersect at some point. There are only three possible ways in which the lifts can intersect. Namely,
Lift 2 is going down and passes a level that lift 1 is using to retrieve/release an item.
Lift 1 is moving up and passes a level that lift 2 is using to retrieve/release an item.
Lift 2 is moving down and lift 1 is moving up. Note that requests at the highest level always have to be assigned to lift 2 and at the lowest level to lift 1 as the lifts are unable to pass each other (see Sections 2 and 3).
5. Illustrative example In this section the method presented in Section 4.2 is applied to evaluate the performance of a candidate solution. By using the situation represented in Fig. 3 we show how the look-ahead strategy can be applied in Fig. 5. Start with i: ¼1 and j: ¼1. Functions f1(t) and g1(t) are not parallel as depicted in Fig. 5 so we proceed to step 2b. Further, since f1(t)ag1(t) within the interval [0, b1] no interference between the lifts will occur. Since b1 ob1, the index j (i.e. the step of lift 2) is incremented (j¼2 and i¼1). Lines f1(t) and g2(t) are now considered (upper row, right side). Since the two lines are not parallel we examine the functions and observe that f1(t)ag2(t) in the interval [a2, b1] and b1 ¼ b2. Following step 2a, continue with i¼ 2 and j ¼3. Now consider the lines f2(t) and g3(t). Those two lines are not parallel. In Fig. 5 (second row, left side) note that f2(t) ¼g3(t) in the interval [a2, b2] so continue with step 2b-ii. Lift 1 is handling a load at level 3 and not moving. So, f2(a2)¼f2(b2). Lift 2 is forced to wait at level 4 for lift 1 and is allowed to continue after lift 1 finishes handling the item. Continue with i¼3 and j¼ 3 and now consider the lines f3(t) and g3(t). g3(t) is now represented by the dotted line in Fig. 5 (second row, right side) to show the time required to wait for lift 1. Those
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
849
Fig. 5. Showing the heuristic step-by-step start at the upper row reading from left to right.
Table 2 Full factorial experimental design for first experiment.
Fig. 6. Candidate solution for example in Fig. 5.
two lines are parallel and b3 o b3 so we continue with i¼4 and j¼3. Now consider the lines f4(t) and g3(t). Both lines are not parallel and they will intersect between time 4 and 5 at the I/O point. Lift 1 is handling an item at the I/O point and as a result lift 2 cannot arrive at the I/O point in the time interval [a4, b4]. As a result, step 2b-ii(1) of the heuristic indicates that lift 2 needs to move to level 1. Lift 2 can start moving to level 1, the moment lift 1 starts moving to level 0. To allow lift 2, to reach the I/O-point, lift 1 needs to move to level 1 after finishing its job. Fig. 6 presents the resulting solution (makespan¼6 time units) for this candidate solution using the evaluation strategy presented in Section 4.2.
6. Numerical and practical validation In this section, results of multiple experiments will be presented to test the impact of several design variables and
Factors
Level 1
Level 2
Level 3
Block size Priority rule Proportion storages Look-ahead strategies
6 L1 25%s 2C2
8 L2 50%s 3C2
10 Longest 75%s –
operational parameters on the time required for the lifts to serve a set of requests, as well as to compare the performance of the derived look-ahead heuristics with a rule of thumb. In all our experiments a rack with p ¼22 levels to store products has been used, whereas the lowest level is 1 and the highest level is 20. Requests are randomly assigned to one of the 22 levels. Random storage is widely used in warehouses, both in manual order picking operations (e.g., Petersen and Aase, 2004) and in automated storage systems (e.g., Sarker and Sobhan Babu, 1995) Both storage and retrieval requests have to be performed. The velocity for the identical lifts is set to 1 level per time-unit. Pick-up and deposit time was assumed to be 3 time-units each. For our initial experiments, a full factorial experimental design was created. The experimental factors and corresponding levels are presented in Table 2. The experiment includes four factors. The first factor is the block size (i.e. sþr), which was considered at levels 6, 8, and 10. For the system under study, 10 requests is a typical workload for several minutes. Larger block sizes have not been considered as our method can be used dynamically by generating new schedules (i.e. resolving the problem) upon arrival of requests.
850
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
The second factor is the priority rule. Three priority rules has been considered in our experiments, namely: (1) lift 1 always has priority, (2) lift 2 always has priority and (3) the lift with the highest remaining workload has priority. The third factor is the proportion of storage requests, where three levels were considered, 25% storages (25% s), 50% storages (50% s), and 75% storages (75% s). These levels represent the probability that a generated request is a storage. Lastly, two look-ahead strategies (i.e. method) were used to solve the problem, 2-choose-2 (2C2) and 3-choose-2 (3C2). For each experiment 100 replications were performed and the average and standard deviation of the total time required for the lifts to handle the requests (i.e. makespan) has been calculated. The methods were programmed in Visual Basic for Applications (VBA) in a personal computer with a Dual Core processor running at 1.2 GHz with 1.5 GB or RAM. Table 3 presents the results for the average makespan and corresponding standard deviation (in parenthesis) for the different priority rules, proportion of storages, block sizes using the two look-ahead strategies. The calculation times of each replication in Table 3 was less than 1 s independent of the block size. Given our results in Table 3 it can be confirmed that 100 replications is sufficient to obtain a half width smaller than 5% of the average with a probability of 95% for each problem instance for 79 of the 81 instances. The exceptions are when block size equals 6, Priority L1, and 75% storages for both methods. However, a paired t-test confirms that for all block sizes and methods Priority L1 is outperformed by the other two priority rules (at the 99% significance) for all three proportions, block sizes, and look-ahead strategies examined. This result is intuitive as giving priority to lift 1 forces lift 2 to wait until lift 1 is either serving a request at level 1 or until it has finished. Hence, it is concluded that 100 replications is enough for our experiments. A general linear model ANOVA was performed to further understand the effects of the main factors and their interactions
on the makespan. Only the interactions between significant factors are included. The results for the ANOVA including all aspects are presented in Table 4. The R2 of the ANOVA, i.e. the relative predictive power of the model, was 60.23%, which is very satisfactory. From the ANOVA it can be concluded that the proportion of storages (%S), block size, and priority were the only main factors that resulted significant. This result validates our choice of factors in the experiment. Further, the method (i.e. look-ahead policy) was not significant. The interaction between block size and priority was also significant, and the proportion of storages and priority interaction was borderline significant. The block size has an impact on the make span of each block. For that reason another ANOVA analysis was performed excluding the block size. Next to that, the average throughput per request was used as main performance measure to investigate the effect of all other factors. The average throughput was obtained by dividing the makespan by the respective block size. The results are reported in Table 5. To better understand the results of the ANOVA analyses, an interaction plot for the makespan is presented in Fig. 7. In this interaction plot, the two-way interaction of the factors on the response is observed. From Fig. 7 it can be observed that: (1) both methods (2C2 and 3C2) perform almost identical irrespective of the other factors; (2) the makespan increases with block size; (3) priority L1 is outperformed by priority L2 and priority longest (depicted as L3); (4) priority L2 and priority longest perform very similar; (5) a proportion of storages of 50% results in lower makespan than unbalanced storage and retrievals. The last result is expected as an unbalanced proportion of storages limits the potential combinations of storages and retrievals (i.e. double cycles). From Fig. 7 it can also be observation that priority was a significant factor mainly because priority L1 was outperformed by the other two priority rules. A paired t-test between priority L2
Table 3 Average makespan for varying priority rules, proportion of storages, look-ahead strategies, and block sizes. Priority rules
Block size
Priority L1
6 8 10 6 8 10 6 8 10
Priority L2
Priority longest
2C2
3C2
Proportion storages
Proportion storages
25%s
50%s
104.97 23.91 137.06 34.43 179.68 37.53 83.4 17.68 101.46 20.85 127.44 22.86 81.64 16.14 100.05 19.74 124.98 19.08
95.10 132.76 164.93 74.46 97.85 117.89 73.45 97.34 117.32
22.51 26.57 31.08 14.71 16.46 16.82 13.74 15.21 15.69
75%s
25%s
106.76 29.86 148.58 36.02 170.63 34.79 81.52 17.73 107.06 20.86 122.03 19.22 80.74 17.05 105.88 19.69 121.4 17.90
103.80 134.77 178.47 82.92 99.99 124.22 81.34 99.00 123.55
50%s 23.53 33.25 37.76 17.87 20.84 20.93 16.70 18.96 19.88
93.34 130.86 163.92 73.26 96.60 115.74 72.46 95.91 116.16
75%s 22.50 26.19 31.15 14.26 16.36 15.97 13.31 15.18 16.01
105.36 147.68 176.17 80.99 105.63 123.99 80.62 105.22 122.85
Table 4 Analysis of variance for makespan, using adjusted ss for tests. Source
DF
Seq SS
Adj SS
Adj MS
F
P
%S Block size Priority Method Block sizenpriority %Snpriority %Snblock size %Snblock sizenpriority Error total
2 2 2 1 4 4 4 8 5372 5399
86742 2431124 1646818 861 159043 5031 21724 3388 2874903 7229632
86742 2431124 1646818 861 159043 5031 21724 3388 2874903
43371 1215562 823409 861 39761 1258 5431 423 535
81.04 2271.38 1538.61 1.61 74.30 2.35 10.15 0.79
0.000 0.000 0.000 0.205 0.000 0.052 0.000 0.610
30.17 36.38 33.80 17.95 20.14 19.83 18.14 19.30 19.04
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
851
Table 5 Analysis of variance for throughput, using adjusted ss for tests. Source
DF
Seq SS
Adj SS
Adj MS
F
P
Percent% Priority Method Percent%npriority Prioritynmethod Percent%nmethod Percent%nprioritynmethod Error total
2 2 1 4 2 2 4 5382 5399
1506.9 24536.5 16.6 86.4 0.7 11.6 1.1 48301.9 74461.7
1506.9 24536.5 16.6 86.4 0.7 11.6 1.1 48301.9
753.5 12268.3 16.6 21.6 0.3 5.8 0.3 9
83.96 1366.98 1.85 2.41 0.04 0.65 0.03
0.000 0.000 0.174 0.047 0.964 0.523 0.998
Fig. 7. Interaction Plot from ANOVA.
and priority longest, confirms that priority longest outperformed priority L2 with a 99% significance only for the 25% storages, with block size of 6, and under both look-ahead strategies. For the remaining cases there was no statistical difference between the methods at the 99% significance level. In terms of average makespan, priority longest had a lower average makespan, except for the combination of block size of 10, method 3C2, and the percent storages of 50% and 75%. Statistically, it cannot been shown that priority longest outperforms priority L2. However, for a second round of experiments one priority rule needs to be selected. Given their performances, the priority longest has been selected for our remaining experiments. The ANOVA indicated that there is no statistical difference between the two methods (2C2 and 3C2). However, as before, it is of interest to selecting one look-ahead strategy for our remaining experiments. In terms of the runtimes, both heuristics run instantaneously, although for larger instances of the problem 2C2 is expected to have lower runtimes. In terms of solution quality, it can be observed from Table 3 that except for block size of 10 with 75% storages, 3C2 has a lower makespan value than 2C2. Actually, a pairwise t-test with 99% confidence reveals that the difference between the makespans was only statistically significant for 50% storages with block sizes of 8 and 10. Given these results, 3C2 was selected for the remaining experiments. The second experiment seeks to quantify the benefit of using multiple lifts instead of a single lift. Our goal is not to conclude that multiple lifts perform better than single lifts, but to demonstrate the potential losses that occur due to delays while compared to the maximum theoretical reduction of 50% that can be
Table 6 Average makespan (95% confidence interval) comparing a single and multiple lifts using a block size of 10. Proportion of storages–priority rule
Single lift
Two lifts 3C2
Ave. % diff.
25%s–priority longest 50%s–priority longest 75%s–priority longest
[211.1,244.2] [208.1,221.0] [217.4,234.1]
[119.6,127.4] [113.0,119.3] [119.1,126.6]
43.11 45.58 44.32
obtained. To determine the makespan for a single lift all possible ways of combining storages and retrievals were considered. Since no request-to-lift assignment needs to be made, the solution for the single lift is optimal. For consistency, the same problem instances as used before have been applied, although our experiments have been limited to the case with blocks of size 10. Priority longest and 3C2 were used for the comparison presented in Table 6. The fourth column in Table 6 includes the average percent difference between the methods. This number was computed by determining the percent difference for each paired observation (100n3C2/single lift 1) and computing the average of these percent improvements. From the results in Table 6, it can be concluded that on average makespan was reduced by approximately 44.34% by using two lifts to handle all vertical movements while operating under our 3C2 look-ahead control policy with priority longest using a block size of 10. It can be noticed that when using two lifts the standard deviations decreased as well. The maximum possible reduction is approximately 50%. (We state ‘‘approximately’’ as we assumed lift
852
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
Table 7 Average makespan (95% confidence interval) comparing 3C2 and a rule of thumb using a block size of 10. Proportion of storages–priority rule
Rule of thumb
3C2
Ave.% diff.
25%s–priority longest 50%s–priority longest 75%s–priority longest
[183.4,200.1] [185.5,199.2] [184.2,198.0]
[119.6,127.4] [113.0,119.3] [119.1,126.6]
34.70 38.59 34.17
2 starts at the maximum level while lift 1 (and in the case of a single lift) starts at the minimum level. Hence, simply dividing the single lift solution (which is optimal for one lift) by two will not yield a lower bound). In terms of throughput, the overall average percent improvement obtained by using two lifts was 82.49%. In the last set of experiments (presented in Table 7) the 3C2 look-ahead strategy has been compared with a rule of thumb, which is a somewhat simpler version of the rules used by Vanderlande Industries in their system. To the best of our knowledge, no better rules are currently available. In the rule of thumb, storage and retrieval requests are merged into one virtual queue upon arrival according to the First-Come-First-Served policy. Hence, compared to 3C2, the rule of thumb considers only one sequence. To generate the sequence for the rule of thumb so that the results can be compared, we randomly selected among the storage and retrieval requests, maintaining the inherent sequence between them. The rule of thumb used is as follows: 1. The first two requests are assigned to different lifts. Both possible assignments for assigning the two requests are considered and the one that minimizes the makespan (considering only the first two requests) is selected; 2. As soon as a lift finishes its request, the next request in the list is assigned to this lift; 3. In case that both lifts finish at the same time, the assignment is optimized for both lifts. The overall percent reduction of total handling times obtained by using the look-ahead strategy was 35.82%. The main reason for this result can be found in the fact that looking ahead allows for more feasible combinations of requests and the selection of the best combination instead of just looking one job ahead. In terms of throughput, the overall average percent improvement obtained by the 3C2 look-ahead heuristic over the rule of thumb was 60.08%.
7. Conclusions and further research In this paper, a dynamic storage system, developed by Vanderlande Industries, has been studied. The system under study consists of a conveyor, two non-passing lifts, multiple transfer shuttles, and a storage rack. New control policies have to be developed to take full advantage of this system in terms of productivity. In this paper, the scheduling problem of the automated material handling system has been studied. This paper introduced two (piece-wise linear) functions to evaluate candidate solutions (i.e. the sequence of requests that must be served by each lift). These functions allowed us to characterize the system and help identify and resolve situations where the lifts would interfere with each other. An integrated look-ahead heuristic has been developed to both assign requests to lifts and the order in which they will be handled taking into account delays caused by interference between the lifts. By means of an example it has been shown how this heuristic can be applied. A numerical and practical validation is presented focused on studying the
effect of having different priority rules for the lifts (namely priority lift 1, priority lift 2, priority highest remaining workload). Always assigning priority to lift 1 did not result in an efficient system. However, assigning priority to the highest remaining workload provided promising results, although the simpler rule of always assigning priority to lift 2 showed similar outcomes. The results demonstrate that looking only two jobs ahead provides similar results as looking three jobs ahead. In conclusion, a dynamic system with multiple lifts controlled by the proposed look-ahead strategy appears to be a good design. Respective average improvements of 44.34% and 35.82% in makespan were obtained with the proposed look-ahead strategy using blocks of 10 requests, compared to a single lift system and a simple rule of thumb based on our industrial collaborators. These improvements translate to 82.49% and 60.08%, respectively on the overall average percent improvement in terms of throughput. Future work can include acceleration/deceleration in the proposed functions to ensure the solutions are readily implementable. Also, it would be interesting to study the effect of the I/Opoint location on the total makespan. Future work could also focus on modifying the proposed function to consider different locations for the input and output points. Another interesting avenue is to compare the solution that minimizes makespan with the solution that minimizes total distance travelled, which is important as the maintenance cost of the lifts depends on the distance travelled. Lastly, future research could use the methodology used in this paper to study other dual-crane material handling systems such as AS/RS, non-passing automated stacking cranes in container terminals, among others.
Acknowledgments The authors would like to thank our industrial collaborator Vanderlande Industries and more specifically Bruno van Wijngaarden for sharing an interesting case with us and providing access to this innovative concept. The authors would also like to thank Paloma Dı´az, Monique Heida, Marı´a E. Laboy, Cristina Pomales-Garcı´a, and Orlando Me´zquita for their efforts with respect to coding, executing the experiments, and statistical analysis.
References Ekren, B.Y., Heragu, S.S., 2011. Simulation based performance analysis of an autonomous vehicle storage and retrieval system. Simulation Modelling Practice and Theory 19, 1640–1650. Ekren, B.Y., Heragu, S.S., Krishnamurthy, A., Malmborg, C.J., 2010. Simulation based experimental design to identify factors affecting performance of AVS/RS. Computers and Industrial Engineering 58, 175–185. Fukunari, M., Malmborg, C.J., 2009. A network queuing approach for evaluation of performance measures in autonomous vehicle storage and retrieval systems. European Journal of Operational Research 193, 152–167. Gudehus, T., 1973. Grundlagen der Kommissioniertechnik, Dynamik der Warenverteil- und Lagersysteme. (Principles of Order Picking, Dynamics of Distribution and Warehousing Systems). Essen, West Germany: W. Girardet. Hu, Y.H., Huang, S.Y., Chen, C., Hsu, W.J., Toh, A.C., Loh, C.K., Song, T., 2005. Travel time analysis of a new automated storage and retrieval system. Computers and Operations Research 32, 1515–1544. Hu, Y.H., Zhu, Z.D., Hsu, W.J., 2010. Load shuffling algorithms for split-platform AS/RS. Robotics and Computer-Integrated Manufacturing 26, 677–685. Kuo, P.H., Krishnamurthy, A., Malmborg, C.J., 2007. Design models for unit load storage and retrieval systems using autonomous vehicle technology and resource conserving storage and dwell point policies. Applied Mathematical Modelling 31, 2332–2346. Malmborg, C.J., 2002. Conceptualizing tools for autonomous vehicle storage and retrieval systems. International Journal of Production Research 40 (8), 1807–1822. Montgomery, D.C., Runger, G.C., 2006. Applied Statistics and Probability for Engineers, 4th ed.. John Wiley and Sons, New York.
H.J. Carlo, I.F.A. Vis / Int. J. Production Economics 140 (2012) 844–853
Petersen, C.G., Aase, G., 2004. A comparison of picking, storage, and routing policies in manual order picking. International Journal of Production Economics 92, 11–19. Roodbergen, K.J., Vis, I.F.A., 2009. A survey of literature on automated storage and retrieval systems. European Journal of Operational Research 194, 343–362. Sarker, B.R., Sobhan Babu, P., 1995. Travel time models in automated storageretrieval systems, a critical review. International Journal of Production Economics 40, 173–184. Tompkins, J.A., White, J.A., Bozer, Y.A., Tanchoco, J.M.A., 2010. Facilities Planning, 4th ed.. John Wiley and Sons, New York. Tzur, M., Drezner, E., 2011. A lookahead partitioning heuristic for a new assignment and scheduling problem in a distribution system. European Journal of Operational Research 215 (2), 325–336.
853
Vis, I.F.A., Carlo, H.J., 2010. Sequencing two cooperating automated stacking cranes in a container terminal. Transportation Science 44 (2), 169–182. Zheng, F., Xu, Y., Zhang, E., 2008. How much can lookahead help in online machine scheduling. Information Processing Letters 106 (2), 70–74. Zollinger, H., 2001. AS/RS application, benefits and justification in comparison to other storage methods: a white paper. Automated Storage Retrieval Systems Production Section of the Material Handling Industry of America. /https://www.cirrelt.ca/mhmultimediabank/ApplicationGuide/MHIA%20%20ASRS%20application.pdfS (accessed 01.01.12).