Determining buffer location and size in production lines using tabu ...

16 downloads 0 Views 1MB Size Report
In this paper, we address the problem of buffer location and storage size in a manufacturing line. A simulation-search heuristic procedure based on tabu search, ...
EUROPEAN JOURNAL OF OPERATIONAL RESEARCH

ELSEVIER

European

Journal

of Operational

Research

106 (1998) 301-316

Determining buffer location and size in production lines using tabu search Christian M. Lutz a31,K. Roscoe Davis b3*, Minghe Sun c-2 a management Science, Terry Co//ege of’Business,University of Georgia, Athens, GA 30602, (ISA b Management Department. Terry College of Business. University qf Georgia, Athens. GA 30602, USA ’ Dilision (ff Management and Marketing, College of’Business,University of Teras at Sun Antonio, San Antonio, TX 7(12@-0634, USA Received

1 April

1996: received in revised form

I August 1996

Abstract In this paper, we address the problem of buffer location and storage size in a manufacturing line. A simulation-search heuristic procedure based on tabu search, combined with simulation, was developed and tested. Simulation is used to model the manufacturing process and tabu search is used to guide the search to overcome the problem of being trapped at local optimal solutions. The procedure employs a Swap Search routine and a Global Search routine. With the Swap Search routine, the procedure identifies good performing buffer profiles and determines the maximum output level for any given storage level. With the Global Search routine, the procedure can locate promising neighborhood of buffer profiles quickly. The results obtained are then used to plot a line specific output curve. The procedure is capable of modeling a variety of manufacturing processes with a variety of scheduling policies and dispatching rules. 0 1998 Published by Elsevier Science B.V. All rights reserved. Keywords:

Buffer allocation;

Inventory;

Heuristic

methods;

1. Introduction 1.1. Overvie\ Since the mid- 1950s researchers methods

for determining

have developed

inventory

buffer

require-

*Corresponding author. Fax: +I 706 542 3743: e-mail: [email protected]. ’Current address: SOLECTRON GmbH, Solectronstr. 2, D7 1083 Herrenberg, Germany. Fax: +49-7032/998- 135; e-mail: [email protected]. ’ Fax: +I-210 458-5783: e-mail: [email protected]. 0377-2217/98/$19.00 0 1998 Published PIISO377.22 17(97)00276-2

Tabu search; Simulation

ments for manufacturing lines. However, most methods are highly specialized and line specific. The purpose of this study is to develop a procedure for determining the size and location of work-inprogress (WIP) inventory buffers needed to support a general manufacturing line. The size and location of buffers in a line are critically important in these applications. Buffers with high inventory levels provide protection against statistical fluctuahelp satisfy customer demand, and tions, decrease the reorder frequency for raw materials. However, there is a negative side to large inventory buffers. They increase production lead time, make

by Elsevier Science B.V. All rights reserved.

it more difficult to identify sources of defects, increase the time needed for improved or reengineered products to reach the market, increase overtime, result in high operating expenses, decrease due-date performance, and may result in uncompetitive high selling prices for end items. Low inventory buffers on the other hand, while being able to overcome most of the disadvantages of large inventory buffers, provide limited protection against statistical fluctuations, may result in lost customers or delayed shipping, and may increase the reorder frequency for raw materials. Obviously, tradeoffs exist between large and small inventory buffers. Yet, buffers in some form are needed to decouple operations and to protect a line’s output from fluctuations and variations. The questions are what buffer sizes should be employed and where the buffers should be located. For any manufacturing line, our objectives are to determine: (1) the minimum number of storage spaces needed, and (2) the allocation of these storage spaces among buffers, so as to maximize the overall output of the line. The simulation-search heuristic procedure presented in this paper is designed to achieve these objectives. The particular production setting used to illustrate the proposed procedure is an order-push serial line with multiple operations, each of which has a single work center. This form of line structure, referred to in the literature as a multistage serial production line, employs buffers to decouple given operations (i.e., stages) from their preceding and/ or following operations. A buffer however is not necessarily needed between each pair of successive operations, because buffers are only needed to optimize the overall performance of the line. The problem of buffer allocations for serial lines has been studied extensively in the literature as will be noted in Section 1.2. The focus of this study is to use tabu search, combined with simulation, to address the general problem of determining buffer requirements.

tory buffer requirements. These studies can be divided into those that employ analytical models and those that employ simulation. Some of the analytical studies include those by Hunt (19%) Buzacott (1967, 1971), Hillier and So (1991). Hendricks (1992) and Hillier et al. (1993) all of which use Markov process to analyze short production lines. Additional analytical studies are those by Chow (1987). and Jafari and Shanthikumar (1989) that employ dynamic programming, by Soyster et al. (1979) that utilizes linear programming, and by Ho et al. (1979) that uses a gradient optimization method. Conway et al. (1988), Park (1993), Hendricks and McClain (1993) and Powell and Pyke (1996) address the problem by simulation. While valuable insights and good solution methods have been developed from these studies, a number of factors limit the practical value of these proposed techniques. For example. analytical methods (e.g. Markov process, dynamic programming, and linear programming) address the combinatorial nature of the buffer allocation problem, but are not capable of modeling large or complex manufacturing lines. Simulation methods on the other hand. while capable of modeling large and complex manufacturing environments, generally limit their focus to a single or a limited number of specific scenarios. The approach taken in this study combines the key advantages of both analytical methods and simulation. The approach employs a two-module simulation-search procedure. The search module is used to address the combinatorial nature of the problem. and the simulation module is used to model multiple types of manufacturing lines with a variety of scheduling policies. The latter provides flexibility in modeling order-push or demand-pull systems, in modeling job shops, and in dealing with other manufacturing environments. with any type of dispatching rules (LIFO. FIFO, SPT or others).

1.2. Review of the byfler allocation

1.3. The combinutoriul

literuture

Several previous studies exist in the literature that focus on the problem of determining inven-

To illustrate buffer allocation

byflkr ullocution problem

the combinatorial nature of the problem, and to justify the need

for the proposed simulation-search procedure, we use a short hypothetical manufacturing line as shown in Fig. 1. The line has four operations (OP 0, OP 1, OP 2, and OP 3) and three buffers (Buffer 1, Buffer 2, and Buffer 3). Buffer storage for the line is defined synonymously with that of Conway et al. (1988), which is the number of storage spaces for products in various stages of completion throughout the line, excluding units being worked on. Obviously the line in Fig. 1 is not complex, but it is sufficient to show the complexity of the problem by identifying the possible buffer allocation combinations. Assuming that only integer values (units) of inventory can exist in any buffer and the total number of buffer storage spaces for the line is limited, in this case to three. then there are different ways to allocate the storage spaces among the buffers. Assuming further that any buffer can hold up to the maximum number of storage spaces in the line. the number of different ways of allocating u spaces to n buffers can be determined using the following (Lutz, 1995):

age spaces is 0, 1,2, and 3 units, respectively. From these data and from Eq. ( 1) we can see, as has been shown by others, that as the number of storage spaces increases for a fixed number of buffers, the number of buffer profiles increases arithmetically. Furthermore as both of the number of buffers and the number of total storage spaces increase, the complexity of the problem increases quickly. For every specific total storage level, all buffer profiles may need to be examined to determine which provides the highest level of output. Table I Buffer profile combinations

For example, if a total storage of 2 units is selected for this four operation three buffer line, then there are six possible buffer arrangements, which are Ol-l. l-O-1. l-l-0, O-O-2, O-2-0, and 2-O-O. Each of these buffer arrangements is called a bufJ; prQilr since each represents a unique combination of storage allocation and each will potentially result in a different output level of the line. Table 1 depicts the buffer allocation combinations for the cases where the total number of stor-

Buffer

Raw

1

Buffer

0

WIP storage

Buffer profile

+o

,

2

3

I

0

0

0

0

2 3 4

0 0

0

I

I

1

0

I

0

0

5 6 7

0 I I

I 0

1 I

8 9 I0

0 0 2

1 0 2 0

0 1 0 0

II 12 13 I4 15 16 17 18 19 20

I 0 0 I ? ; 2 0 0 3

1 I 2 0 0 2 I 0 3 0

I 2 I :! I 0 0 3 0 0

2

Buffer

3

[I1

0 71 0

OP 0

OP

Processed Material

TL 0

1

problem Total storage spaces in the line

Material T\

of the example space in buffer

OP 2

o+ OP 3

Fig. I. A four operation three butier production

line.

1

3

304

C. M. Lutz et al. I European Journul of’Operational

Fortunately, this can be accomplished via simulation. For example, if a simulation is run for each of the buffer profiles with a total storage of 2 units, then one or more of the profiles will result in a maximum level of output. The resulting maximum output level however may not be the global maximum of the line. If the simulation is rerun with a total storage of 3 units, then the highest output level may exceed that when the total storage was 2 units. In general, as the total number of storage spaces in the line increases, the maximum output level increases also, but usually at a decreasing rate. A plot of the maximum output levels against the total storage levels is referred to as a production line speczjic output curve by Buzacott (1967). Thus the output curve characterizes the performance of the line relative to the amount of WIP inventory that exists in the line. To fully evaluate the performance of a line, it is necessary to generate the line’s output curve. That is, the buffer profiles for different storage levels must be considered over a reasonable range of storage levels. This however can be a very complex process due to the potentially large number of buffer profiles to be evaluated. The total number of buffer profiles for a line with up to u total storage spaces and n buffers is the sum of Eq. (1) over the range from 0 to U, which yields the following:

The line in the example, with up to 3 total storage spaces, has 20 buffer profiles (i.e., u = 3 and n = 3), as listed in Table 1. Examining only the first 3 storage levels does not fully characterize the performance of the line. It may require the evaluation of up to 25 or more storage levels, which means that 3276 or more buffer profiles may need to be studied. If we expand the problem to a five buffer line, evaluating up to 25 or more storage levels would require examining over 142,000 different buffer profiles. Due to the combinatorial nature, the buffer allocation problem can become highly complex as the number of buffers and the number of storage spaces increase. It is not practical from a computa-

Research 106 (1998) 301-316

tional point of view to search the complete set of all buffer profiles. The approach taken in this study avoids having to evaluate all buffer profiles by employing a controlled search. The controlled search process within the search heuristic reduces the number of buffer profiles that must be examined. As mentioned previously, the technique employed builds upon the interaction between simulation and tabu search. Simulation is used to model the facility being studied, while tabu search is used to guide the overall buffer profile search process to identify the best performing ones.

1.4. The tabu search heuristic Tabu search is a search heuristic based on artificial intelligence and operations research principles which guides local search methods to overcome local optima. Originating from the work by Glover (1977) it was refined by Glover et al. (1985) for a specific application, and later was developed into a more general framework by Glover (1986). Since then, it has been further developed and successfully applied to many practical optimization problems (Glover, 1989a, b, 1990; Glover et al., 1991; Hertz and de Werra, 1990). Some of the basic concepts of the heuristic were also presented by Hansen (1986) in a steepest-ascent/mildest-descent formulation. For a general presentation and survey, see for example, Glover and Laguna (1997). Tabu search heuristics are often superimposed upon the simple ascent method, often referred to as the “hill climbing” method. In contrast to the simple ascent method however, the tabu search metaheuristic has the ability to “escape” from local optimal solutions. A fundamental element underlying tabu search is the use of flexible memory functions to forbid transitions, called moves, from the current solution to other candidate solutions that have attributes of past solutions. Once moves with specific attributes have been made, they are not permitted to be reversed for a specified duration and therefore are tabu. The impact of classifying moves as tabu is to avoid move reversals or cycling, which may cancel the effect of those moves recently performed. Moves with tabu status are

CM.

Lutz et al. 1 European Journal of Operational

placed on a list referred to as the tabu list. After being on the tabu list for a specified duration, the moves are removed from the list and become available for use again. Additional longer term strategies of intensification and diversification are also fundamental components of tabu search. We will not elaborate on their form here, except to emphasize that our approach includes specialized intensification and diversification processes that will subsequently be described.

jective is to determine, by examining a proportion of the set of all the buffer profiles, those that generate the maximum output level but require the minimum possible amount of storage. The simulation-search procedure employs two alternative search modes (routines) within the search module, a Swap Search and a Global Search. The Swap Search mode considers only those buffer profiles where the total number of storage spaces is fixed. For example, the buffer profile 3-5-3-3-l with a total of 15 storage spaces can be transformed to the profile 3-3-3-3-3, if 2 spaces are taken from Buffer 2 and made available in Buffer 5. The total number of possible buffer profiles for this particular scenario is 3876 according to Eq. (1) with u = 15 and n = 5. The Global Search mode seeks to identify the buffer profiles with the highest level of output and with the lowest possible level of storage. For example, the buffer profile 3-7-3-2-l with a total of 16 storage spaces and an average output rate of 10 units per hour is dominated by the profile 2-42-1-1 with a total of 10 storage spaces and the same average output rate. The total number of potential buffer profiles that might need to be examined by a Global Search is 20,349 according to Eq. (2) with u= 15andn=5. It should also be noted that the Global Search results could be obtained by performing a collection of Swap Searches, each with a different total storage level. Thus, it is possible to switch back and forth between the two search modes.

2. The simulation-search procedure 2.1. Problem environment and model structure

In Section 1.3, the four operation three buffer line in Fig. 1 was used to illustrate the combinatorial nature of the buffer allocation problem. In this section we employ an extended version of that example. Specifically, we will employ a six operation (OP 0, OP 1) . . . , OP 5) and five buffer (Buffer 1, ...I Buffer 5) production line, as shown in Fig. 2, to illustrate the simulation-search procedure. The reason for extending the line is to be consistent with the existing literature. The line configuration in Fig. 2 is a well documented scenario introduced by Conway et al. (1988), and confirmed by Lambrecht and Segaert (1990) and by Hendricks and McClain (1993). Different buffer sizes and different buffer locations generate different overall output levels of the line, e.g., placing one large storage buffer at the end of the line will achieve a different output level from distributing the storage spaces evenly throughout the buffers. As stated earlier, our ob-

Raw

b

2.2. The tabu search module In this section we describe the tabu search based simulation-search heuristic in some detail.

Buffer 1

Buffer 2

Buffer 3

Buffer 4

Buffer 5

0

0

0

0

0

Processed Material o+

0 OP 0

OP 1

OP 2

Fig. 2. A six operation

305

Research 106 (1998) 301-316

OP 3 five buffer production

OP 4 line.

OP 5

The following notations are used in developing and describing the tabu search heuristic for the buffer allocation problem: .Y

X’

x c(s)

M(s)

INV(.\-)

T I

one specific buffer profile with given buffer locations and quantities, x E R” the best buffer profile found in the search process the set of all possible buffer profiles, X c R” the output level of the line for the given buffer profile I a subset of neighbor buffer profiles that can be reached within one move from X, M(x) c X the total number of storage spaces in the production line given the buffer profile .Y the tabu list containing a set of moves classified as tabu length of the tabu list

Using some of these notations, cation problem can be stated as max min s.t.

the buffer allo-

44 INV(x) x E x.

A mow in the context of the buffer allocation problem is defined to be a transition from the current buffer profile s to an adjacent buffer profile x’ by taking a given number of storage spaces from one buffer and putting a given number of storage spaces to another. Before each move is actually made, a certain number of buffer profiles adjacent to s are evaluated through the simulation module. These evaluated adjacent buffer profiles are the elements of M(s). Then we select the “best” adjacent buffer profile from M(s) to make the move. Since simulation is used, it is expensive to evaluate such adjacent buffer profiles in terms of computation time. To keep the problem manageable, M(X) is only a small subset of ail buffer profiles that can be reached directly from .Y within one move. In tabu search terminology, M(X) is considered to be a candidate list. The difficulty however is in determining which adjacent buffer profile should be included in M(s). The basic strategy used in the

heuristic procedure is to assign a high priority to those moves affecting the buffers preceding and following a bottleneck operation, and to assign a lower priority to those moves affecting only nonbottleneck buffers. In addition, the non-bottleneck buffers are given an equal probability to change their sizes. Let t71~(x) : x - x’ denote the move from the current buffer profile .Y to the adjacent buffer profile x’ E M(x) at iteration k. If a move rnb (X) : .Y- .r’ is made at iteration k, it is added to the tabu list T and the reverse move rnr (X) ’ : x’ _t x is classified as tabu. After a new element is added to T, the oldest element in T is removed. Each entry in T is expressed in terms of the buffer whose number of storage spaces increased, the buffer whose number of storage spaces decreased, and the iteration number h- at which the move is made. A move in the tabu list cannot be reverse in the next I iterations since it may create cycling by leading the search back to a buffer profile which has been visited before. An exception that overrides the tabu status of a move is represented by the aspiration criterion. The aspirution cr’iterion used in this procedure is to allow a tabu move to be made if and only if the resulting buffer profile is better than the best obtained thus far. When two buffer profiles are compared, the one with a higher output level and an equal or lower total storage level is better than the other. If two buffer profiles generate the same output level, the one with a lower total storage level is better. The steps of a simple tabu search implementation is summarized. in the context of buffer allocation problem, as follows. The tabu search heuristic: Strp 1. Select an initial .YE X and let .Y = X. Let the iteration counter k = 0 and let T be empty. Step 2. Create the subset M(s) and evaluate each J’ E M(x) with the simulation module to determine c(~). Srep 3. Select an adjacent profile 2 E M(X) such that one of the following three conditions holds: 1. c(x’) = max{c(y) / ~3E M(x) and the move from .Y to _r is not tabul , or -. 7 c(Y) = max{c(,ty) 1J‘E M(x) and c.(J*) > C.(X )}. or

3. c(.u’) = max{ c(_r) ( y E M(x). c(_r) = c(s ) and INV(j.) < INV(s*)}. If such an X’can be found, then go to Step 4. otherwise go to Step 5. Step 4. Make the move H?/,(x) : .Y- .r’ and let /\ = k + 1. If C(X) > C(.U ), or C.(S) = C(.U ) and INV(.\-) < INV(.r ). then let .r = s (a better buffer profile is found). Stcjp 5. If k is greater than the allowed maximum number of iterations, or no improvement in C(.Y ) has been made in the last t? iterations, or there are no non-tabu moves upon reaching this step directly from Step 3. then Stop. Otherwise add the move ttq,(x) : x - x’ to T. remove the oldest element from T. and return to Step 2. The difference between the two search modes is in the way the subset M(X) is created in Step 3. In the Swap Search mode, the number of storage spaces taken from one buffer and the number of storage spaces put into another are the same. In the Global Search mode. on the other hand, these numbers may be different. To extend this simple version of tabu search to meet the objectives of this study. several enhancements were made. primarily in the form of intensification and diversification strategies. The first of these enhancements is a c(lmttttic thr list. i.e. the value of I changes in the search process. Previous works (Sun, 1998; Sun et al., 1998; Sun and McKeown, 1993; among others) have shown that tabu search implementations with dynamic or variable tabu lists. whose length vary between bounds, perform favorably compared to those with static or fixed lists. This is due to the fact that a search strategy with a dynamic list explores close neighborhood areas more thoroughly when the tabu list is short. and leads the search into more distant neighborhood areas when the tabu list is long. For the buffer allocation problem. a dynamic tabu list allows promising buffer profiles to be examined thoroughly when the tabu list is short. and non-promising buffer profiles to be bypassed quickly when the tabu list is long. The next such enhancement is a dytumic twig/thohocl .srt. By dynamic neighborhood set. we mean that the size of M(.Y) increases when a better buffer protile is found. and decreases if no better

buffer profiles can be found. In this way. more adjacent buffer profiles are evaluated at each iteration in promising areas and fewer adjacent buffer profiles are examined in non-promising areas. In the implementation, the default size of M(s) is 3 at each iteration. Whenever a better buffer profile is identified, the size of M(.r) is increased to 6. If no improved buffer profile can be identified in this expanded set. then the default size is resumed in the next iteration. The selection criteria used in determining which adjacent buffer profile should be included in M(.u) are based on if a bottleneck operation exists in the line. If there is such a bottleneck operation, a high priority is given to those profiles changing the buffers surrounding the bottleneck, and a low priority is given to those profiles changing only non-bottleneck buffers. The number of times that each buffer is involved in the history of the search process is also recorded and considered to assure that each non-bottleneck buffer has the same probability of being selected. This strategy is an instance of frequency memory in tabu search. If there is no bottleneck operation in the line. all the buffers are treated as non-bottleneck buffers. Experimental results indicated that the size of the dynamic neighborhood set had a greater impact on performance of the heuristic procedure than did the selection criteria. The last such enhancement is the use of a (!r,txttttic c,lltrtlRc,.f;rc,to~. A change factor is the number of storage spaces moved from one buffer to another in a move. The change factor is .sttttic if it does not vary from iteration to iteration. A dynamic change factor however varies from iteration to iteration. The dynamic change factor automatically decreases its value when a better buffer profile is found, thereby searching close neighbor profiles more thoroughly. and constantly increases its value if no better buffer profiles can be found. thus avoiding being trapped in a non-promising neighborhood. A dynamic change factor thus clearly represents an instance of an intensification strategy in tabu search. It provides more flexibility than a static change factor and supports the dynamic tabu list and the dynamic neighborhood set. The simulation-search heuristic procedure in this study was obtained by incorporating all of

308

C.M. Lutz et al. I European Journal of’Operational Research 106 (1998) 301-316

the above enhancements into the rudimentary (outlined) tabu search heuristic. The final implemented procedure is shown as a flowchart in Fig. 3. Note that MAX(c(A4)) is used in Fig. 3 as an abbreviation for max{c(x’) 1x’ E M(x)}.

3. Model/procedure

validation

In this section we execute and test the simulation-search heuristic procedure by validating the simulation module and evaluating the performance of the tabu search module.

3. I. Validation of the simulation module SLAM (Pritsker and Associates, Inc., 1988) was used to implement the simulation module. The production line shown in Fig. 2 was used to validate the module, employing a FIFO dispatching rule. The line was configured such that each operation has a uniformly distributed per unit processing time with a minimum of 4.80 and a maximum of 15.20 min. The average unit processing time at each operation thus was 10 min, with a standard deviation of 3.0 min. Because all operations in the line had the same average unit processing time and the same standard deviation, the line is referred to as a production capacity balanced manufacturing line. The specific buffer profile 3-3-3-3-3 used by Conway et al. (198Q and by Lambrecht and Segaert (1990) was employed in this validation process. The output level of the line was evaluated using the simulation module, with the simulated time set to 55,000 min. The first 5000 min of each run were viewed as the transient period and therefore were not used in the analysis. The remaining 50,000 min were viewed as representing the simulated steady state of the line. The number of units processed at the last operation during the remaining 50,000 min was used to represent the output of the line for the specific simulation run. To account for the stochastic nature of the line, the simulation was run four times, each with the identical buffer profile (3-3-3-3-3). The overall output level of the line was estimated by averaging the

output of the four independent simulation runs. The search module was not used in the simulation since only a single buffer profile (3-3-3-3-3) was simulated. The estimated average output was 4785.25, sufficiently close to 4783.00, the published results by Lambrecht and Segaert (1990). This fact was therefore considered to confirm the aptness of the simulation module.

3.2. Validation of the tabu search module The second step in the validation process was to test and verify the tabu search module in the heuristic procedure, which was coded in C. The results published by Conway et al. (1988) and by Lambrecht and Segaert (1990) were used in validating this search module. The parameters for the line were those used in Section 3.1, and since the total storage was fixed at 15 spaces, the Swap Search in the simulationsearch procedure was performed. For the overall analysis, 3876 different potential buffer profiles existed, according to Eq. (1) with u = 15 and n = 5. The length of the dynamic tabu list, I, was set to a minimum of 2 and a maximum of 3. The dynamic change factor was initialized to 1, with a maximum value equal to the largest buffer size in the current profile. For the validation, the search was extended to 1000 iterations, a relatively lengthy search for this specific problem environment under study. The basis for this intensive search was that the procedure should be able to identify good buffer profiles having output levels equal or close to the optimal output level. The search process however could terminate before completing all 1000 iterations if one of the stopping criteria in Step 5 was satisfied. A total of 1766 different profiles were generated and evaluated in the search process. The tabu search heuristic identified the buffer profile 3-3-33-3 to be the one with the highest level of output. Since this specific profile (3-3-3-3-3) was the optimal profile identified by Conway et al. (1988) for the same line with the same total storage level, the tabu search heuristic procedure was considered to be working properly.

C.M. Lutz et ul. I European Journal of‘Operational Rrseurch 106 (1998) 30-~316

-‘-~llyE?pN c(x’) > c(x’)‘

___g/ ;’

Y

.

c&> MAX(c(@

._’

._ andmovenot

N -3

tabu ,*’

_‘,

C(x’)= c(x$

!‘y v c(x’) := c(x’); move := tabu; shorten Tabu List; mhcechange factor; increase number of generated neighbor profiles

N 7

Suggest Documents