16
An algorithm for optimal buer placement in reliable serial lines JOHN H. HARRIS and STEPHEN G. POWELL The Amos Tuck School of Business Administration Dartmouth College, Hanover, NH 03755, USA E-mail: [email protected] The optimal allocation of buer capacity in unbalanced production lines with reliable but variable workstations is a complex and little-researched topic. Analytic formulas for the throughput of these lines do not exist, so simulation is the only practical alternative for estimating throughput. Exhaustive search over all possible buer allocations quickly becomes impractical beyond short lines and few buers. Thus an algorithm is needed to eciently find optimal or near-optimal allocations. We develop a simple search algorithm for determining the optimal allocation of a fixed amount of buer capacity in an n-station serial line. The algorithm, which is an adaptation of the Spendley–Hext and Nelder–Mead simplex search algorithms, uses simulation to estimate throughput for every allocation considered. An important feature of the algorithm is that the simulation run length is adjusted during the running of the algorithm to save simulation run time when high precision in throughput estimates is not needed, and to ensure adequate precision when it is needed. We describe the algorithm and show that it can reliably find the known optimal allocation in balanced lines. Then we test the ability of the algorithm to find optimal allocations in unbalanced lines, first for cases in which the optimal allocation is known, and subsequently for cases in which the optimal allocation is not known. We focus particularly on lines with multiple imbalances in means and variances. In general, our algorithm proves highly ecient in finding a near-optimal allocation with short simulation run times. It also usually finds the true optimal allocation, but it is in the nature of this problem that many buer allocations dier in throughput by small amounts that are dicult to resolve even with long simulation runs. 1. Introduction The problem of allocating buer capacity in production lines has been a long-standing one in industrial engin- eering. Buers can significantly improve the operation of a line by reducing the eects of stochastic interference due to breakdowns or variations in processing times. How- ever, buers can be expensive, both directly through capital costs and indirectly through increased work-in- process and cycle times. The buer allocation problem is dicult for two reasons: (1) it is essentially a combina- torial optimization problem; (2) no analytic methods exist for determining the throughput of realistic models. Serial lines can conveniently be divided into break- down lines and reliable lines. In breakdown lines, the typical workstation is a machine that operates with a constant processing time but is subject to occasional breakdowns of significant duration. Reliable lines, on the other hand, usually involve human operators who are not subject to breakdowns but whose processing times show significant variability. The problems of determining ade- quate buer capacities in these two classes of lines are rather dierent. In breakdown lines, large quantities of work-in-process are required to keep the line running during machine down times. Conway et al. [1] recom- mend, for example, that buer capacities in such lines be sucient to hold half of line output during the mean downtime. By contrast, small amounts of buer capacity are sucient in reliable lines to recover most of the po- tential output lost to stochastic interference. Thus reliable lines typically operate with small buer capacities and, because adjacent workstations are closely coupled, the placement of the limited buer capacity is critical. Another useful distinction among production lines is between balanced and unbalanced lines. Balanced lines are defined as those in which the probability distribution of processing times (and breakdowns, if present) are identical at all workstations. In unbalanced lines the means, variances, or other moments of processing times may dier from station to station. Remarkably, most of the literature in this area has focused on balanced lines, even though bottlenecks are generally recognized as a nearly universal feature of real production processes. The problem of buering balanced lines is well understood. Unless processing time variabilities are high, throughput is maximized by placing equal amounts of buer capacity between each pair of workstations. As the variance of processing times increases, the optimal allocation places 0740-817X Ó 1999 ‘‘IIE’’ IIE Transactions (1999) 31, 287–302

An algorithm for optimal buffer placement in reliable serial lines

Embed Size (px)

Citation preview

Page 1: An algorithm for optimal buffer placement in reliable serial lines

An algorithm for optimal bu�er placement in reliable seriallines

JOHN H. HARRIS and STEPHEN G. POWELL

The Amos Tuck School of Business Administration Dartmouth College, Hanover, NH 03755, USAE-mail: [email protected]

The optimal allocation of bu�er capacity in unbalanced production lines with reliable but variable workstations is a complex andlittle-researched topic. Analytic formulas for the throughput of these lines do not exist, so simulation is the only practicalalternative for estimating throughput. Exhaustive search over all possible bu�er allocations quickly becomes impractical beyondshort lines and few bu�ers. Thus an algorithm is needed to e�ciently ®nd optimal or near-optimal allocations. We develop a simplesearch algorithm for determining the optimal allocation of a ®xed amount of bu�er capacity in an n-station serial line. Thealgorithm, which is an adaptation of the Spendley±Hext and Nelder±Mead simplex search algorithms, uses simulation to estimatethroughput for every allocation considered. An important feature of the algorithm is that the simulation run length is adjustedduring the running of the algorithm to save simulation run time when high precision in throughput estimates is not needed, and toensure adequate precision when it is needed. We describe the algorithm and show that it can reliably ®nd the known optimalallocation in balanced lines. Then we test the ability of the algorithm to ®nd optimal allocations in unbalanced lines, ®rst for casesin which the optimal allocation is known, and subsequently for cases in which the optimal allocation is not known. We focusparticularly on lines with multiple imbalances in means and variances. In general, our algorithm proves highly e�cient in ®nding anear-optimal allocation with short simulation run times. It also usually ®nds the true optimal allocation, but it is in the nature ofthis problem that many bu�er allocations di�er in throughput by small amounts that are di�cult to resolve even with longsimulation runs.

1. Introduction

The problem of allocating bu�er capacity in productionlines has been a long-standing one in industrial engin-eering. Bu�ers can signi®cantly improve the operation ofa line by reducing the e�ects of stochastic interference dueto breakdowns or variations in processing times. How-ever, bu�ers can be expensive, both directly throughcapital costs and indirectly through increased work-in-process and cycle times. The bu�er allocation problem isdi�cult for two reasons: (1) it is essentially a combina-torial optimization problem; (2) no analytic methods existfor determining the throughput of realistic models.Serial lines can conveniently be divided into break-

down lines and reliable lines. In breakdown lines, thetypical workstation is a machine that operates with aconstant processing time but is subject to occasionalbreakdowns of signi®cant duration. Reliable lines, on theother hand, usually involve human operators who are notsubject to breakdowns but whose processing times showsigni®cant variability. The problems of determining ade-quate bu�er capacities in these two classes of lines arerather di�erent. In breakdown lines, large quantities ofwork-in-process are required to keep the line running

during machine down times. Conway et al. [1] recom-mend, for example, that bu�er capacities in such lines besu�cient to hold half of line output during the meandowntime. By contrast, small amounts of bu�er capacityare su�cient in reliable lines to recover most of the po-tential output lost to stochastic interference. Thus reliablelines typically operate with small bu�er capacities and,because adjacent workstations are closely coupled, theplacement of the limited bu�er capacity is critical.Another useful distinction among production lines is

between balanced and unbalanced lines. Balanced linesare de®ned as those in which the probability distributionof processing times (and breakdowns, if present) areidentical at all workstations. In unbalanced lines themeans, variances, or other moments of processing timesmay di�er from station to station. Remarkably, most ofthe literature in this area has focused on balanced lines,even though bottlenecks are generally recognized as anearly universal feature of real production processes. Theproblem of bu�ering balanced lines is well understood.Unless processing time variabilities are high, throughputis maximized by placing equal amounts of bu�er capacitybetween each pair of workstations. As the variance ofprocessing times increases, the optimal allocation places

0740-817X Ó 1999 ``IIE''

IIE Transactions (1999) 31, 287±302

Page 2: An algorithm for optimal buffer placement in reliable serial lines

more bu�er capacity toward the center of the line (thebowl phenomenon). Optimal bu�er placement in unbal-anced lines is much less well understood.The purpose of this paper is to present an algorithm for

®nding the optimal allocation of a ®xed amount of bu�ercapacity in a serial line with reliable workstations. In thisclass of lines the processing time distributions typicallyhave low coe�cients of variation (between roughly 0.2and 0.7). This feature rules out the use of the exponentialdistribution (since it has a coe�cient of variation of 1.0).It would be possible to use Markov-chain methods ofanalysis for determining throughput, but this requires®rst approximating the actual processing time distribu-tions with Erlang or phase-type distributions, and thencarrying out a numerical analysis that is no easier thansimulation. Our algorithm should be of particular interestto practitioners, since simulation is the tool of choice formost analysts who work with real production processes.One of the essential features of our algorithm is that thesimulation run length changes endogenously, dependingon how much precision is required to distinguish betterand worse bu�er allocations.In the next section we review the literature in two areas

related to the bu�er allocation problem: one is the de-termination of design rules or heuristics, the other is thedevelopment of algorithmic approaches. In Section 3 wedescribe our algorithm in detail, discuss the selection ofits free parameters, and show how it operates in an ex-ample. In Section 4 we report on its performance on awide variety of both balanced and unbalanced serial lines.We conclude in Section 5 with a summary and sugges-tions for further research.

2. Literature review

The literature on bu�ering production lines is vast andwill not be reviewed in its entirety here. Recent reviewsthat focus on bu�er allocation can be found in Powell [2]and Powell and Pyke [2]. There are essentially two ap-proaches to research on the bu�ering problem: one ap-proach looks for design rules or heuristics that can assistthe practical line designer in selecting good bu�er designswithout undertaking complex analysis; the other seeks todevelop numerical algorithms for selecting optimal bu�erallocations. We review these approaches in turn.

2.1. Design rules for bu�er allocation

Conway et al. [1] made a major contribution to the studyof production lines when they argued that careful simu-lation studies could reveal some of the basic properties ofproduction lines and that useful design rules could bederived from these properties. Their work led them toformulate a set of basic properties of lines with low tomoderate coe�cients of variation (cv):

· Diminishing returns: throughput increases at a de-creasing rate when successive units of bu�er capacity areplaced at a single bu�er location or when one unit ofbu�er capacity is placed simultaneously at all sites.

· Non-concavity: throughput increases in a non-con-cave fashion when successive units of bu�er capacity areplaced optimally in a line.

· Su�ciency of small numbers: small amounts of bu�ercapacity at each site are su�cient to recover most of thethroughput lost to stochastic interference.

· Bowl phenomenon: bu�er capacity should be allocatedevenly to all sites if possible, with any remaining capacityallocated symmetrically from the center out.

· Reversibility principle: any line has the samethroughput as its mirror image.

· Decomposition principle: a single unit of bu�er ca-pacity should be placed where an unlimited sized bu�erwould be most e�ective.

Hillier and So [4,5] have also studied the bu�er allocationquestion in detail for balanced lines, concentrating onlines with moderate to high cv's. They found that for cv'sbelow 1.0, a balanced allocation is optimal (when feasi-ble), while for higher cv's the bowl phenomenon becomesmore pronounced.Bu�er allocation in balanced lines, then is a well-un-

derstood problem. The following simple heuristic cap-tures most of what is currently known about this class oflines. In an n-station line with a total bu�er capacity of B,the optimal allocation is to take the largest integer in B/(n ) 1) and allocate this amount of bu�er capacity be-tween each workstation, spreading any remainder fromthe center of the line out.Relatively few studies have been carried out on buf-

fering unbalanced lines. Dallery and Gershwin [6], in acomprehensive review of research on production lines,discuss several approximations and limiting cases forunbalanced lines. Freeman [7] has provided several designrules that have proven out over time:

· avoid extreme bu�er allocations, even in highly un-balanced lines;

· allocate more bu�er capacity to the station with thehighest mean downtime;

· allocate more bu�er capacity between stations withhigh and medium mean downtimes than between stationswith high and low mean downtimes;

· the relative allocation of bu�er capacity to theavailable bu�er locations is largely una�ected by the totalamount of bu�er capacity available.

Powell [2] studied the three-station line with imbalancesin processing time means and variances. He observed thatthe ®rst available unit of bu�er capacity should be placednext to the bottleneck and to the center of the line, butthat subsequent units of bu�er capacity usually should beplaced alternately at the two available sites. Imbalances in

288 Harris and Powell

Page 3: An algorithm for optimal buffer placement in reliable serial lines

means were found to have a stronger e�ect on bu�erplacement than imbalances in variances, so that when aline is unbalanced in both means and variances the buf-fers should generally be directed toward the imbalance inmeans (unless the imbalances in variances are extreme).Powell and Pyke [3] carried this work farther by ex-

amining bu�er allocations in four-, six-, and eight-stationlines with a bottleneck station (that is, a single stationhaving a higher mean processing time than all otherstations). Several principles emerged from this work:

· the optimal bu�er pattern shifts bu�er gradually to-ward the bottleneck through intermediate locations as thebottleneck mean increases;

· substantial imbalances are required for each succes-sive shift in the optimal bu�er pattern;

· in the case of an extreme bottleneck, all bu�er ca-pacity surrounds the bottleneck (with a single extra unitof bu�er capacity to the center if total bu�er capacityis odd).

The general pattern that emerges from this study is that,as a bottleneck worsens (that is, as its mean processingtime increases), the optimal bu�er allocation graduallyshifts from the balanced allocation that is optimal for thebalanced line to one in which all bu�er capacity sur-rounds the bottleneck. One of the surprises of this studywas the extreme degree of imbalance required to shift allbu�er capacity to the bottleneck.Powell and Pyke also examined the question of bu�er

allocation in longer lines, lines with high cv's, lines withvariance imbalances, and lines with more than one un-balanced station. This portion of their study was limited,so the design rules that emerge should be consideredconjectures at present. The method used was exhaustivesearch over all possible bu�er allocations. This is feasiblein short lines with a small amount of bu�er capacity, butin moderately long lines with moderate bu�er capacity itbecomes infeasible, since the number of alternativesgrows with the factorial of the number of bu�er sites. Inthese cases it is necessary to use known design heuristicsto guide the search. Even so, the number of cases can beenormous. A better approach would be to use a searchalgorithm that could intelligently move from an initialbu�er allocation toward the optimal allocation, usingsimulation at each step to estimate the throughput ofcandidate solutions, without simulating throughput forevery possible combination of bu�ers and without wast-ing simulation time on unpromising candidates. This isthe motivation for the research presented in this paper.

2.2. Algorithms for bu�er allocation

The purpose of all existing algorithmic approaches to thebu�er allocation problem is to avoid exhaustive search,that is, evaluating the throughput of every possible allo-cation of a ®xed bu�er capacity to the available bu�er

locations. Algorithms di�er in two fundamental ways:®rst, any algorithm must use some method for deter-mining (or estimating) the throughput of each candidatesolution; second, any algorithm must include some meansof moving from an existing candidate solution towardsthe optimal solution.Ho et al. [8] have examined breakdown lines using

Markov methods to determine throughput. By analyzingthe history of a single simulation, they ®rst estimated thegradient in throughput from increasing the bu�er ca-pacity at each site by one unit. With this gradient estimatethey then developed an algorithm that adds bu�er ca-pacity at the i-th location in proportion to the di�erencebetween the estimated gradient at that site and the aver-age gradient over all sites. This method has not come intogeneral use because the gradient estimation procedurecannot easily be generalized beyond Markov models.Altiok and Stidham [9], in a study of breakdown

models with Coxian distributions, used the Hooke andJeeves search procedure to ®nd optimal bu�er alloca-tions. This procedure involves an exploratory search inthe neighborhood of the current solution to identify apreferred search direction, and then a pattern search fromthe current solution in this direction. Few details weregiven about how the preferred direction was chosen andhow the pattern search was implemented.Park [10] has provided a good review of the literature

on algorithmic approaches to bu�er allocation. He pro-posed an algorithm that uses a dimension reductionmethod coupled with beam search. His focus, as withmost of the related literature, is on breakdown models.The dimension reduction phase uses estimates of themean and variance of the queue length at each station todetermine an initial allocation of bu�er capacity. Specif-ically, the i-th station is assigned enough bu�er capacityto cover the mean queue length plus some multiple of thequeue length standard deviation. This common multipleis then increased, and the overall bu�er capacity in-creased, until a target throughput is achieved. Then beamsearch is used to reduce the bu�er capacity to the minimallevel that achieves the target throughput. This approachis particularly well suited to breakdown models, in whichlarge bu�er capacities are available (Park's central ex-ample employs a total bu�er capacity of 119 in an eight-station line). It is less well suited to lines with reliablemachines in which reasonable bu�er capacities are onlya small multiple of the number of machines.Seong et al. [11] developed a search algorithm for al-

locating a ®xed bu�er capacity that relies on estimatingthe gradient at each site through ®nite di�erencing. Thegradient is then projected onto the subspace of alloca-tions that satisfy the capacity constraint, this projection isapproximated by an integer vector, and a line search iscarried out in this direction. This rather complex proce-dure requires at least two throughput evaluations for eachbu�er site to estimate the gradient. If simulation is used

An algorithm for optimal bu�er placement in reliable serial lines 289

Page 4: An algorithm for optimal buffer placement in reliable serial lines

to evaluate throughput, this requirement can lead toprohibitive run times. It also results in a line search withvery few candidate solutions when the total bu�er ca-pacity is small. Thus it does not appear attractive for theproblem posed in this paper.None of the algorithms discussed in the literature are

well-suited to the problem we study in this paper. Fur-thermore, simulation-based search procedures have ap-parently not been applied in this context, although theyare well known in other contexts.

3. A simulation search algorithm

3.1. Background

Consider an n-station serial production line with (n ) 1)bu�er locations and a total of B units of bu�er capacity.Any allocation of bu�ers can be described by a vectorP � (b1, b2, . . . , bn ) 1). We seek the particular allocationthat maximizes throughput, which we de®ne as thenumber of completed units of work per time period insteady state. We can be assured that additional bu�ercapacity never decreases throughput since, under anysample path, having an additional unit of bu�er capacityeither has no e�ect (when the bu�er is not full) or im-proves processing e�ciency by allowing the upstreamworkstation to place a part in the bu�er when it otherwisewould not be able to do so. Thus we con®ne our search toallocations for which

Pmÿ1i�1 bi � B. The set of all points

in (n ) 1) space for which this constraint holds is an(n ) 2)-dimensional hyperplane. Since bu�er allocationsmust be integers we are only concerned with the integerlattice on this hyperplane. This is the space in which ouralgorithm searches.One important observation on which our approach is

based is that information on the throughput gradient atany point in the feasible region of bu�er allocations isexpensive to determine (a central di�erence approxima-tion to the gradient requires two simulations for each ofthe (n ) 1) bu�er locations). Another important obser-vation is that the estimated gradient may not suggest auseful search direction either because it leads out of thefeasible region or because its projection onto the feasibleregion is not itself an integer vector, so in approximatingthe projected gradient with an integer vector we lose in-formation. For these reasons we have chosen a simplesearch procedure that maintains at each stage a collectionof trial solutions that are sorted in order of throughput.The search direction is determined by moving from theworst (i.e., lowest throughput) of the current candidatesin the direction of the best (i.e., highest throughput).It is important also to understand why we do not use

statistical tests of signi®cance to determine which of twocandidate allocations has the higher throughput. We an-ticipate starting the search at a point where changes inbu�er allocations have a substantial e�ect on throughput.

It should be possible at this point to use short run lengths,and therefore rough estimates of throughput, to determinewhich allocations are better. As the search proceeds, thecandidate solutions will improve and will become moredi�cult to distinguish. We will gradually increase thesimulation run length so the precision of our estimates ofthroughput improves as the search proceeds. Thus we actas if each estimate of throughput were exact, knowing thatthe possible errors induced by this assumption will becomeirrelevant as the search proceeds and the simulation runlength increases. This approach economizes on the overallrun time of the algorithm, and it avoids having to dealwith the awkward situation where two di�erent alloca-tions have statistically indistinguishable throughputs.This algorithm has its origins in the sequential search

procedures of Spendley and Hext [12] and Nelder andMead [13]. The Spendley±Hext algorithm starts with a setof candidate solutions that form a regular simplex. It thenidenti®es a search direction by moving from the center ofthe simplex out through the face opposite the worstcandidate solution. A new candidate (called a ``re¯ec-tion'') is identi®ed in this search direction, the old worstsolution is discarded, and the procedure starts again. Animportant aspect of this algorithm is that the shape of thesimplex does not change from stage to stage, so it maymove slowly even when the gradient is steep. In theNelder±Mead procedure the centroid of all solutions inthe simplex except the worst is calculated, and the searchdirection is taken from the worst through the centroidand out beyond the simplex. Nelder and Mead add twore®nements, expansion and contraction, both of whichcan improve the e�ciency of the search since it canaccelerate when the gradient is steep and decelerate whenit ¯attens out.

3.2. General description

In adapting these algorithms to our situation we face twoproblems. One is to ensure that the search can movequickly when the current candidate allocations are farfrom optimal; the other is to ensure that the new candi-date allocation that is determined from the search direc-tion is feasible, i.e., an integer vector whose elements addto B. The Spendley±Hext algorithm does not accelerate,and neither the Spendley±Hext nor the Nelder±Meadapproaches always ®nd an integer vector.Our approach is as follows. We ®rst select an initial

candidate allocation P1 � (b1, b2, . . . , bn ) 1). Typicallythis initial allocation will be balanced, i.e. bi � bj, for alli, j, or as close to balanced as is practical given the totalbu�er capacity available. (Powell [2] and Powell and Pyke[3] both show that balanced allocations tend to be opti-mal except for highly unbalanced lines.) Then we generate(n ) 1) additional allocations from the closest neighborsto P1. We do this by subtracting one unit of bu�er ca-pacity from the largest entry in (b1, b2, . . . , bn ) 1) and

290 Harris and Powell

Page 5: An algorithm for optimal buffer placement in reliable serial lines

adding it successively to each of the remaining (n ) 2)sites. These (n ) 1) allocations form our initial simplex.We then run simulations to estimate throughput for eachof these candidates and sort them from best to worst (i.e.,highest to lowest throughput).Now to ®nd a search direction we adapt the Spendley±

Hext re¯ection concept to ensure that the new allocationis an integer vector. One way to accomplish this is to takea weighted average of the best and worst allocations inwhich the weights add to one. After some experimenta-tion, we selected a re¯ection procedure that calculatestwice the best allocation and subtracts the worst. Forexample, in a six-station line, if the best allocation of ®veunits of bu�er capacity is (0 1 0 0 4) and the worst is(0 0 0 0 5), the re¯ection is:

2�0 1 0 0 4� ÿ �0 0 0 0 5� � �0 2 0 0 3�The resulting allocation is always an integer vector, andcan be expected to lie in the direction of improvingthroughput. Once we have the new allocation we run asimulation to estimate its throughput and, if it is betterthan the current worst, we replace the worst with it andbegin the procedure again on the new simplex. Specialrules (described below) apply when the re¯ection resultsin negative bu�er capacity or has a lower throughputthan the current worst allocation.An example will make this more concrete. Consider a

balanced six-station line with a total capacity of ®vebu�ers. Assume for purposes of illustration that we takeas our initial candidate allocation the vector (0 0 0 0 5),which allocates the entire capacity to the last site. The®rst step is to generate a set of candidate solutions fromthe neighbors to this allocation. We do this by reallo-cating one unit of bu�er capacity from the last site, whichleads to these allocations:

�0 0 0 1 4�;�0 0 1 0 4�;�0 1 0 0 4�;�1 0 0 0 4�:

These ®ve allocations form the initial simplex. We runsimulations to estimate throughput for each of these al-locations. We then sort these allocations in order ofthroughput. As it turns out, the worst is (0 0 0 0 5) andthe best is (0 1 0 0 4). We then pick a new candidatesolution along a search direction from the worst to thebest. As shown above, the new candidate allocation thatresults from taking twice the best allocation and sub-tracting the worst is (0 2 0 0 3). Since this allocation isfeasible we run a simulation to estimate its throughput,and since it is better than the current worst we replace theworst with it, and start the procedure over. This exampleis described in more detail in Section 3.4.Several aspects of our algorithm are worth noting.

First, the simplex usually ``grows'' as it proceeds, in thesense that new allocations are farther and farther away

from the existing allocations. This is an attractive feature,since it allows the procedure to accelerate in the samefashion as the Nelder±Mead approach. Second, the ``as-pect ratio'' of the simplex, which is roughly the ratio ofits longest dimension to its shortest dimension, tendsto grow over time. This implies that the search can goquickly uphill when a good direction is identi®ed, but itcan also go outside the feasible region or go to a pointworse than the current worst. When these conditionsoccur, we restart the search by generating an initial sim-plex around the best of the current allocations. Figure 1provides a ¯ow diagram for this algorithm.

3.3. Implementation details

We have described to this point the origins and generalfeatures of our algorithm. In this section we explain

Fig. 1. Flow diagram for search algorithm

An algorithm for optimal bu�er placement in reliable serial lines 291

Page 6: An algorithm for optimal buffer placement in reliable serial lines

several important details of its implementation that sig-ni®cantly in¯uence its speed and accuracy.

3.3.1. Run length

Since the types of production lines we are interested incan only be modeled using simulation, we take it as giventhat the throughput of any candidate bu�er allocationwill be determined using simulation. This has both posi-tive and negative aspects. The negative aspects of simu-lation are well known: (1) throughput can only beestimated, and (2) the standard deviation of (estimated)throughput declines only with the square root of the runlength. On the positive side, simulation gives us the op-tion to use rough estimates of throughput when they aresu�cient. If we start with an arbitrary initial bu�er al-location, it seems plausible that the throughput gradientwill be steep in its neighborhood. In other words, neigh-boring allocations will have signi®cantly higher (andlower) throughputs. If this is the case, we need not expenda great deal of simulation time estimating thesethroughputs; a rough estimate will do to get the algo-rithm running in a good direction. By the same logic, asthe search proceeds and we get closer to the throughput-maximizing allocation, we would expect the throughputestimates for the candidate allocations to show smallerdi�erences. Longer run lengths will then be needed toreliably distinguish better from worse allocations. Wenow describe the procedure we use to adjust the simula-tion run length as the search proceeds.We ®rst set a minimum (and initial) run length (Rmin)

so that the initial simplex is reasonably well estimated andso that the search never uses inappropriately short runs.Second, we set a maximum run length (Rmax) so that thesearch will not continue long after an optimal or near-optimal allocation is found. Rmax is chosen to balance theneed for accuracy against the desire for short run times.Some judgement and experience is needed in setting theseparameters, although we will show subsequently that thealgorithm works very well with run lengths that are ex-tremely short when compared to traditional practice.

At each stage in the algorithm we estimate how closewe are to the optimal solution by calculating the height ofthe simplex (H), where Tbest and Tworst are the throughputestimates of the best and worst of the current candidatesolutions:

H � �Tbest ÿ Tworst�=Tbest: �1�Generally speaking, the closer we are to the optimum thesmaller we would expect H to be.Then we choose a run length constant (k) and set a

(tentative) run length R using

R � k=H2: �2�For example, if k � 200, Tbest � 0.6, and Tworst � 0.5,R � 1200. On the other hand, if Tbest � 0.60, andTworst � 0.59, R � 12 000. So the run length increasesas the estimated throughputs of the candidate solutionsdraw closer together.R is related to the inverse of the square of the simplex

height because the variance in estimated throughputdecreases roughly linearly with run length. A value of100±200 for k was found empirically to perform well.Table 1 shows the sensitivity of run lengths to theparameter k for a typical line.Since H itself is only an estimate of the height of the

simplex, several other modi®cations to this procedure arenecessary. Unusually large errors in throughput estimatescan make H either increase or decrease substantially, andthus lead to inappropriately large changes in R. Thereforeat each stage of the algorithm we take a weighted averageof the previous run length and the current value of R, andselect as the current run length the larger of R and thisaverage. This e�ectively prevents the run length fromratcheting up too quickly or failing to decline when lessprecision is su�cient.

3.3.2. Stopping criteria

Two conditions are required to stop this algorithm: (1)the current re¯ection must have a lower throughput thanthe worst allocation; and (2) the best allocation must be

Table 1. Sensitivity to run length parameter

Run length parameter Run time (minutes) Number of runs Number of restarts Final allocation

10 3.10 158 21 1 1 1 1 150 2.25 90 12 1 1 1 1 1100 1.72 66 9 1 1 1 1 1200 2.32 71 10 1 1 1 1 1500 2.52 61 9 1 1 1 1 11000 2.52 45 6 1 1 1 1 110 000 3.37 38 5 1 1 1 1 1

Six-station lineAll distributions are lognormal (1.0, 0.5)Initial bu�er allocation (0 0 0 0 5)Minimum run length 100 parts; maximum 25 000 parts

292 Harris and Powell

Page 7: An algorithm for optimal buffer placement in reliable serial lines

the initial vertex in the simplex. These conditions alonecould result in the search inappropriately stopping at ashort run length, so we add an additional condition thatrequires that the run length be doubled on each iterationuntil Rmax is reached.

3.3.3. Infeasible re¯ections

Because the underlying procedure accelerates, it some-times happens that the re¯ection is infeasible (in otherwords, the re¯ection has negative bu�er capacities). Thisis particularly likely for small amounts of bu�er capacity,where many re¯ections will have negative bu�er sizes.Instead of restarting the search every time a re¯ectionusing the worst allocation is infeasible, we try again withthe second-worst, and if necessary the third-worst and soon until we ®nd a feasible re¯ection. This procedure tendsto turn the search direction towards the feasible region. Inpractice, it has proven e�ective in keeping the number ofrestarts low and thus in limiting the number of simulationruns.

3.3.4. Simulation warm-up

Just as we economize on simulation run time by avoidingthe use of tests of statistical signi®cance, we keep runtimes down by using no warm-up period. In practice, ofcourses, if one starts a simulation run with no work-in-process in the production line, throughput estimatesbased on short run lengths will be biased low. However,our goal here is not to make accurate estimates ofthroughput per se, but to ®nd the optimal allocation ofbu�er capacity in the most e�cient manner. If, as seemsreasonable, the bias that results from having no warm-upperiod is similar from one con®guration of bu�er ca-pacity to another, it is su�cient to compare biased esti-mates to determine the better allocation. Table 2 showsthe results of one test of the e�ect of warm-up on theperformance of the algorithm. This is a severely unbal-anced eight-station line, for which the optimal allocationof seven units of bu�er capacity is known to be(0 1 1 2 2 1 0). In all three cases we used a minimum runlength of 100 parts and a maximum of 2500 parts. Theoptimal allocation is found when the warm-up is set tozero parts; the estimated throughput of the optimal al-location is 0.6600. Adding to the warm-up period servesonly to lengthen the overall run time, and it changes the

estimate of throughput in only the third decimal. In thiscase, as in all those we tested, use of a warm-up perioddoes not improve the algorithm.

3.3.5. Re-use of simulation results

Since the algorithm we have developed searches myo-pically across the integer lattice of feasible bu�er alloca-tions it is possible, and in some cases highly probable,that the procedure will return to a candidate solution itpreviously examined. It would be ideal in this case tostore the results of the previous simulation run and re-usethem, rather than duplicate the previous run at what is inmost cases a higher run length. However, it is not prac-tical given the existing simulation code we use to store theresults of a simulation and re-start it where it left o�. Thiswould require storing not only the estimated throughput,but the state of the simulation when it terminated (bu�ercontents, and so on). This is one improvement in thealgorithm we will leave to future development.One consequence of this design choice is that the count

of candidate solutions evaluated by the algorithm in agiven run is biased upward. But our goal here is not toexamine the minimum number of alternative con®gura-tions, but to ®nd the optimal allocation economically.Our algorithm accomplishes this by examining many al-ternatives with short run lengths before it moves to thevicinity of the optimal solution, at which point the runlength is increased so the algorithm can successfully dis-tinguish the optimal from near-optimal allocations.

3.4. Example

In Section 3.2 we presented an example of a six-stationline with a total capacity of ®ve bu�ers. The line is bal-anced, so we know the optimal allocation is also bal-anced, i.e., (1 1 1 1 1). However, to demonstrate theworkings of the algorithm we choose as the initial allo-cation (0 0 0 0 5). Table 3 shows the progress of the al-gorithm from start to ®nish, including at each stage thecurrent simplex with estimated throughput values, thecurrent run length, and the re¯ections.We start this sample run with a minimum run length of

100 parts and a maximum of 1000. The initial allocation,(0 0 0 0 5), has a throughput of 0.6395. The initial sim-plex is generated by moving one unit of bu�er capacity

Table 2. Sensitivity to warm-up period

Warm-up (parts) Minimum run length Maximum run length Run time (minutes) Final allocation

0 100 2500 0.28 0 1 1 2 2 1 0100 100 2500 0.82 0 1 1 2 2 1 01000 100 2500 1.03 0 1 1 2 2 1 0

Six-station lineMean time at Station 5 is 1.5All other distributions are lognormal (1.0, 0.5)Initial bu�er allocation (1 1 1 1 1)

An algorithm for optimal bu�er placement in reliable serial lines 293

Page 8: An algorithm for optimal buffer placement in reliable serial lines

Table 3. Sample run of simulation search

Stage Allocation Run length Throughput

0 Initial allocation 0 0 0 0 5 100 0.6395

Initial simplex 0 1 0 0 4 0.68260 0 1 0 4 0.67391 0 0 0 4 0.66030 0 0 1 4 0.65690 0 0 0 5 0.6395

1 Re¯ection 0 2 0 0 3F 501New simplex 0 2 0 0 3 0.7094

0 1 0 0 4 0.68260 0 1 0 4 0.67391 0 0 0 4 0.66030 0 0 1 4 0.6569

2 Re¯ection 0 4 0 )1 2NF)1 4 0 0 2NF0 4 )1 0 2NF0 3 0 0 2F 487

New simplex 0 2 0 0 3 0.70940 3 0 0 2 0.70070 0 1 0 4 0.67391 0 0 0 4 0.66030 0 0 1 4 0.6569

3 Re¯ection 0 4 0 )1 2NF)1 4 0 0 2NF0 4 )1 0 2NF0 1 0 0 4F 475 0.6835

Re¯ection is no improvement: restart

4 New simplex 0 2 1 0 2 0.73780 2 0 1 2 0.73151 2 0 0 2 0.70340 3 0 0 2 0.69790 2 0 0 3 0.6977

5 Re¯ection 0 2 2 0 1F 677New simplex 0 2 2 0 1 0.7480

0 2 1 0 2 0.73780 2 0 1 2 0.73151 2 0 0 2 0.70340 3 0 0 2 0.6979

6 Re¯ection 0 1 4 0 0F 654New simplex 0 2 2 0 1 0.7480

0 2 1 0 2 0.73780 2 0 1 2 0.73150 1 4 0 0 0.70951 2 0 0 2 0.7034

7 Re¯ection )1 2 4 0 0NF0 3 0 0 2F 644

New simplex 0 2 2 0 1 0.74800 2 1 0 2 0.73780 2 0 1 2 0.73150 3 0 0 2 0.72811 2 0 0 2 0.7034

8 Re¯ection )1 2 4 0 0NF0 1 4 0 0F 636 0.7214

Re¯ection is no improvement: restart

294 Harris and Powell

Page 9: An algorithm for optimal buffer placement in reliable serial lines

from the last position to each alternative position in turn.The best of these ®ve allocations proves to be (0 1 0 0 4),with a throughput of 0.6826.

The ®rst re¯ection is 2 ´ (0 1 0 0 4) ) 1 ´ (0 0 0 0 5)� (0 2 0 0 3). This is a feasible allocation, so we run asimulation to determine its throughput after determining

Table 3. (contd.)

Stage Allocation Run length Throughput

9 New simplex 1 1 2 0 1 0.76750 1 2 1 1 0.76020 1 2 0 2 0.74790 2 2 0 1 0.74620 1 3 0 1 0.7434

10 Re¯ection 2 1 1 0 1F 1000New simplex 1 1 2 0 1 0.7675

0 1 2 1 1 0.76022 1 1 0 1 0.75790 1 2 0 2 0.74790 2 2 0 1 0.7462

11 Re¯ection 2 0 2 0 1F 1000New simplex 1 1 2 0 1 0.7675

0 1 2 1 1 0.76022 0 2 0 1 0.75812 1 1 0 1 0.75790 1 2 0 2 0.7479

12 Re¯ection 2 1 2 0 0F 1000 0.7237Re¯ection is no improvement: restart

13 New simplex 1 1 1 1 1 0.78911 1 2 0 1 0.77081 1 1 0 2 0.77042 1 1 0 1 0.76061 2 1 0 1 0.7514

14 Re¯ection 1 0 1 2 1F 1000New simplex 1 1 1 1 1 0.7891

1 1 2 0 1 0.77081 1 1 0 2 0.77042 1 1 0 1 0.76061 0 1 2 1 0.7583

15 Re¯ection 1 2 1 0 1F 1000 0.7469Re¯ection is no improvement: restrat

16 New simplex 1 1 1 1 1 0.78930 1 2 1 1 0.76850 2 1 1 1 0.76050 1 1 2 1 0.75320 1 1 1 2 0.7491

17 Re¯ection 2 1 1 1 0F 1000 0.7417Re¯ection is no improvement: restartSearch completed

Results: 38 runs5 restarts

0.12 minutes elapsed timeFinal Allocation: 1 1 1 1 1

Six-station lineAll distributions are lognormal (1.0,0.5)Note: F and NF denote feasible and nonfeasible re¯ections, respectively

An algorithm for optimal bu�er placement in reliable serial lines 295

Page 10: An algorithm for optimal buffer placement in reliable serial lines

the appropriate run length, which has increased to 501parts because the throughput of the best and worst allo-cations di�er by only 7%. This new allocation, with athroughput of 0.7094, proves better than any so far so itreplaces the worst alternative in the current simplex andwe move on.At the next stage we attempt to calculate a re¯ection by

taking 2 ´ (0 2 0 0 3) ) 1 ´ (0 0 0 1 4)� (0 4 0 ) 1 2).This allocation is infeasible, so we attempt to identify are¯ection using the second-worst allocation, (1 0 0 0 4).This too leads to an infeasible allocation, as does thethird-worst. Only on the fourth try do we ®nd a feasiblere¯ection: 2 ´ (0 2 0 0 3) ) 1 ´ (0 1 0 0 4)� (0 3 0 0 2),with throughput 0.7007. Since this candidate is betterthan the allocation used to generate it (i.e., (0 1 0 0 4)) itenters the simplex and we move on.At the third stage the ®rst feasible re¯ection is

(0 1 0 0 4 0), with throughput of 0.6835. This is not animprovement over the fourth-worst allocation that wasused in the re¯ection, so the algorithm restarts around thebest current allocation, (0 2 0 0 3). This involves creatinga new initial simplex by moving one bu�er from the ®fthposition to each of the other four in turn. The best al-ternative in this simplex is (0 2 1 0 2), with a throughputof 0.7378.Several more stages are shown in Table 3 as the pro-

cedure gradually levels out the initially unbalanced allo-cation. The optimal solution, (1 1 1 1 1), is ®rst tested atthe fourth restart. At the maximum run length of 1000parts this allocation (with a throughput of 0.7891) is su-perior to all others in the current simplex. It takes thealgorithm three more re¯ections to determine that noneighbor of the current best allocation is better. Theprocedure stops after 38 runs, ®ve restarts, and a total runtime of 0.12 minutes on a 90 MHz Pentium personalcomputer. The estimated throughput (without warm-up)of the optimal solution (1 1 1 1 1) is 23% higher than thethroughput of the initial allocation (0 0 0 0 5), and 0.4%lower than the true throughput of the balanced line, asdetermined by a simulation of 100 000 parts.This example illustrates many of the features of the

algorithm presented here. Extremely short run lengths areoften su�cient to ®nd the optimal allocation. Statistical

tests of signi®cance and warm-up time are not necessaryto identify the optimal solution. Re-use of simulationresults, while an attractive idea, is not necessary toachieve our goals. Of course this is just a single example.In the next section we present more extensive results onrunning this algorithm.

4. Algorithm performance

In this section we report on the performance of our al-gorithm on a variety of di�erent types of lines. We beginwith balanced lines, for which we know that the optimalallocation is balanced unless the cv is well above 1.0.Although we know the optimal allocation in balancedlines, these cases provide a useful point of reference fordetermining the sensitivity of the algorithm to underlyingfactors such as line length. In the second sub-section weturn our attention to unbalanced lines. Here our goals areto test the algorithm in cases where the optimal allocationis not known, and also to extend the investigations ofPowell and Pyke [3] into the optimal bu�ering of seriallines with multiple imbalances in processing time meansand variances.

4.1. Balanced lines

We take as our base case a six-station line with log-normal processing time distributions. Each station has amean processing time of 1.0 time units and a standarddeviation of 0.5 units. The optimal allocation of ®vebu�ers in this line is (1 1 1 1 1). For these cases we willuse an initial and minimum run length of 100 parts anda maximum of 1000 parts. This maximum run length ismuch less than we would use in practice, but using itwill help distinguish between situations in which shortrun lengths are su�cient and those in which they arenot.

4.1.1. Initial allocation

We ®rst investigate how sensitive the algorithm is to theinitial allocation of the ®ve available bu�ers. Table 4gives the run time (in minutes on a 90 MHz Pentium

Table 4. Sensitivity to initial bu�er allocation

Initial allocation Run time (minutes) Number of runs Number of restarts Final allocation

5 0 0 0 0 0.25 38 5 1 1 1 1 10 5 0 0 0 0.32 37 5 1 1 1 1 10 0 5 0 0 0.33 38 5 1 1 1 1 10 0 0 5 0 0.37 40 5 1 1 1 1 10 0 0 0 5 0.35 37 5 1 1 1 1 1

Six-station lineAll distributions are lognormal (1.0, 0.5)Minimum run length 100 parts; maximum 1000 parts

296 Harris and Powell

Page 11: An algorithm for optimal buffer placement in reliable serial lines

personal computer), number of candidate allocationstested, number of restarts, and the ®nal allocation foreach of the ®ve possible allocations of all capacity to asingle location. In each case the ®nal allocation is opti-mal, and the initial allocation appears to have no par-ticular impact on run length. Note that none of theseextreme initial allocations is similar to the ®nal, optimalallocation.

4.1.2. Total bu�er capacity

In this case we test how the algorithm allocates increasingbu�er capacities. Table 5 shows the results for ten casesin which the bu�er capacity ranges from one to 50 units.In order to test the ability of the algorithm to ®nd theoptimal solution from a poorly-chosen starting alloca-tion, we initially allocate the entire bu�er capacity to the®rst bu�er site. The results suggest that run time increasessomewhat with total bu�er capacity, but it also appearsthat run lengths stabilize when the bu�er capacity is amultiple of the number of bu�er locations. In most casesthe algorithm ®nds either the optimal allocation, or anear-optimal allocation that di�ers only in the location ofa single unit of capacity. For example, the optimal allo-cation of ten units of capacity is (2 2 2 2 2), while thealgorithm stopped at the allocation (2 2 3 1 2). Thethroughput of this allocation di�ers from that of theoptimal allocation by 0.9% With longer run lengths, ofcourse, the algorithm is more likely to ®nd the optimalallocation. For example, when the maximum run length is25 000 parts, the ®nal allocations are optimal up to atotal bu�er capacity of 15.It is instructive to observe what happens when the

total bu�er capacity is very large. Take the case inwhich we place 50 units of bu�er capacity at the ®rststation. The optimal allocation should be (10 10 1010 10); our algorithm stops with the far di�erent allo-

cation (37 2 6 3 2). Although this allocation is verydi�erent from the optimal one, it gives a throughput of0.8928 which is only 7% below the optimum (0.9583). Inlines of the type we are studying small numbers ofbu�ers are adequate to recover most of the loss due tostochastic interference. In this example, once two orthree units of bu�er capacity are placed between all theworkstations the line has regained most of its e�ciency.The remaining bu�er capacity is rarely used, and thealgorithm stops before it allocates it evenly across theline. Of course, at longer run lengths the algorithm ®ndsa ®nal allocation much closer to the optimum. For ex-ample, when we increase the maximum run length to25 000 parts, the ®nal allocation is (21 7 9 7 6), which isonly 1.1% below the optimal throughput.

4.1.3. Line length

In this experiment we investigate the e�ect of line lengthon the performance of the algorithm. We test lineshaving between three and 20 stations, with total bu�ercapacity one unit less than the number of workstations,initially allocated evenly across the line. Table 6 showsthat the algorithm ®nds the optimal allocation in allcases, and the run length increases only gradually withline length.

4.1.4. Coe�cient of variation

In these cases we vary the coe�cient of variation of eachof the stations in the line from a low of 0.2 to a high of4.0. Again we use a six-station line with ®ve bu�ers al-located evenly and a maximum run length of 1000 parts.We would expect that the optimal allocation would beginto show the bowl e�ect (more bu�ers toward the centerof the line) as the cv rises above 1.0. This is evident inTable 7, which shows that the algorithm reliably ®nds theoptimal (balanced) allocation up to a cv of 2.0. Run

Table 5. Sensitivity to total bu�er capacity

Initial allocation Run time (minutes) Number of runs Number of restarts Final allocation Percentage belowoptimal (%)

1 0 0 0 0 0.28 80 16 0 0 1 0 0 ±2 0 0 0 0 0.13 18 3 0 1 0 1 0 ±3 0 0 0 0 0.23 13 4 1 0 1 1 0* 0.904 0 0 0 0 0.43 54 7 1 1 1 1 0 ±5 0 0 0 0 0.28 38 5 1 1 1 1 1 ±10 0 0 0 0 0.55 64 8 2 2 3 1 2* 0.8320 0 0 0 0 0.85 91 12 4 4 4 5 3* 0.0030 0 0 0 0 1.82 178 21 6 5 6 7 6* 0.0040 0 0 0 0 0.67 74 9 26 3 5 4 2* 5.2450 0 0 0 0 0.80 87 11 37 2 6 3 2* 7.26

*Non-optimal allocationSix-station lineAll distributions are lognormal (1.0, 0.5)All bu�ers initially between Stations 1 and 2Minimum run length 100 parts; maximum 1000 parts

An algorithm for optimal bu�er placement in reliable serial lines 297

Page 12: An algorithm for optimal buffer placement in reliable serial lines

lengths gradually increase for cvs above 1.0. The bowlphenomenon is ®rst observed at a cv of 2.0: one unit ofbu�er capacity moves to the center of the line. For highercvs the short run lengths used in this experiment appearto be inadequate to locate the optimal allocation. How-ever, at a run length of 25 000 parts the optimal alloca-tions for a cv of 4.0 (1 1 2 1 0) is found successfully.

4.2. Unbalanced lines

The unsolved problem which motivated the developmentof our algorithm is the determination of optimal alloca-tions of bu�er capacity in unbalanced lines. The experi-ments we discuss below are based on those in Powell andPyke [3], which is the only recent paper to report optimalbu�er allocations for a number of speci®c unbalancedlines. For our base case line we choose an eight-stationline with the usual lognormal distributions for processingtimes. In each case we start with a balanced allocation ofbu�er capacity and we use a maximum run length of25 000 parts. We will initially test the algorithm in caseswhere there is a single bottleneck station, i.e., one with amean processing time above that of the other stations.Then we will test cases in which the line has multiple

imbalances in mean processing times. Finally, we will testcases in which one station has a processing time with ahigh mean and another with a high standard deviation.

4.2.1. Single high-mean station

We begin with a set of experiments in which the mean of asingle station is increased gradually from the commonmean of 1.0 shared by the other stations. Powell and Pyke[3] determined that a single bottleneck station drawsbu�ers toward it, generally starting with those farthestaway. They also found that substantial increases in themean of the bottleneck (on the order of 20±30%) wererequired before the balanced allocation was no longeroptimal. They report on the values of the mean at thebottleneck for which the bu�er allocation changes, con-sidering bottlenecks at stations 1, 2, and 3 in an eight-station line. Their results are based on simulations of100 000 parts of all possible alternative bu�er allocations.We performed a complementary set of tests using our

algorithm for bu�er capacities of 1, 2, and 7 units andassuming means at the bottleneck of between 1.1 and 1.5time units. The results are shown in Table 8. We also showwhether the allocation found by the algorithm is optimal,using the switch points found in Powell and Pyke [3]. In

Table 6. Sensitivity to line length

Line length Run time (minutes) Number of runs Number of restarts Final allocation

3 stations 0.02 6 1 1 14 stations 0.03 8 1 1 1 15 stations 0.03 10 1 1 1 1 16 stations 0.18 26 3 1 1 1 1 17 stations 0.17 23 3 1 1 1 1 1 18 stations 0.32 34 3 1 1 1 1 1 1 19 stations 0.48 40 4 1 1 1 1 1 1 1 110 stations 0.37 30 3 1 1 1 1 1 1 1 1 120 stations 0.85 68 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

All distributions are lognormal (1.0, 0.5)Initial bu�er allocation balancedInitial bu�er capacity one less than line length

Table 7. Sensitivity to coe�cient of variation

Coe�cient of variation Run time (minutes) Number of runs Number ofrestarts

Final allocation Percentage belowoptimal (%)

0.2 0.10 18 3 1 1 1 1 1 ±0.4 0.20 29 3 1 1 1 1 1 ±0.6 0.18 25 3 1 1 1 1 1) ±0.8 0.20 24 3 1 1 1 1 1) ±1.0 0.13 18 3 1 1 1 1 1 ±2.0 0.25 32 5 1 1 2 1 0 ±4.0 0.67 77 11 2 1 1 1 0* 1.87

*Non-optimal allocationSix-station lineAll distributions are lognormal (1.0, 0.5) unless statedInitial bu�er allocation balanced

298 Harris and Powell

Page 13: An algorithm for optimal buffer placement in reliable serial lines

general, our algorithm is able to successfully identify theoptimal bu�er allocation, even using the relatively modestrun length of 25 000 parts. In three cases the algorithmterminates before ®nding the optimal allocation, but themaximum error is only 0.85% of throughput. Typical runtimes for these cases are 2 to 5 minutes.These results suggest several generalizations. First, the

algorithm we have developed can ®nd optimal or near-optimal allocations with shorter run lengths (and thereforein shorter amounts of time) than have been used in the past.Second, in the vicinity of the optimal allocation, alternativeallocations di�er by amounts that are di�cult to resolveusing simulation. This implies that any search procedurewill expand signi®cant resources in moving from a near-optimal allocation to the true optimum. However, our al-gorithm saves many orders of magnitude of time over ex-haustive search of all combinations at long run lengths.We further test these generalizations by examining lines

with four, six, eight, and ten stations and bu�er capacitiesfrom one to three times the number of bu�er locations(for example, capacities of 3, 6 and 9 units in the four-station line). In these lines we place a single bottleneck,with a mean of 1.25, at the station just downstream of thecenter of the line (for example, at Station 3 in the four-

station line). In Table 9 we report the allocations foundby our algorithm using a maximum run length of 25 000parts. We also independently tested these allocations tosee if they are signi®cantly below optimal. In each of thesecases the algorithm found the optimal allocation. This isadditional evidence of the power of our algorithm to ef-®ciently ®nd optimal or near-optimal allocations. It alsoshould be recognized that bu�er capacities of two or threetimes the number of available locations bring throughputso close to its maximum value that many bu�er alloca-tions give essentially identical throughput.

4.2.2. Two high-mean stations

We now turn our attention to lines having two stationswith mean processing times above 1.0. To illustrate thepower of the algorithm, we investigate an eight-stationline with seven bu�ers in which the means of stations 2and 6 take values between 1.1 and 1.5. Run times forthese experiments range from 2 to 5 minutes. Table 10shows the results.These results con®rm some of the conjectures made by

Powell and Pyke [3] about the e�ects of two high-meanstations in a line. First, we see that the balanced allocationis optimal as long as both bottlenecks arewithin 30%of the

Table 8. Single high-mean station

Bottleneck at Station 1Bu�er capacity

Bottleneck mean 1 2 71.1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 11.2 0 0 1 0 0 0 0 0 0 1 0 1 0 0* 1 1 1 1 1 1 11.3 0 0 1 0 0 0 0 1 0 0 1 0 0 0 2 1 1 1 1 1 01.4 1 0 0 0 0 0 0 1 0 0 1 0 0 0 2 1 1 1 0 1 11.5 1 0 0 0 0 0 0 1 0 0 1 0 0 0 2 1 1 1 1 0 1

Bottleneck at Station 2Bu�er capacity

Bottleneck mean 1 2 71.1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 11.2 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 11.3 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 2 1 1 1 1 01.4 0 1 0 0 0 0 0 1 1 0 0 0 0 0* 1 2 1 1 1 1 01.5 0 1 0 0 0 0 0 1 1 0 0 0 0 0 2 2 1 1 0 1 0

Bottleneck at Station 3Bu�er capacity

Bottleneck mean 1 2 71.1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 11.2 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 11.3 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 2 1 1 1 01.4 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 2 1 1 0 1*1.5 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 2 2 1 0 1 0

�Non-optimal allocationEight-station lineAll distributors are lognormal (1.0, 0.5) unless statedInitial allocations balancedMinimum run length 100 parts; maximum 25 000 parts

An algorithm for optimal bu�er placement in reliable serial lines 299

Page 14: An algorithm for optimal buffer placement in reliable serial lines

base case mean. Next, we can observe that the bottleneckwith the higher mean draws more bu�ers toward it even inthe presence of a second bottleneck. For example, the op-timal allocation is (0 1 1 1 2 2 0) when themean at Station6 is 1.5 and the mean at Station 1 is 1.1. When the meanvalues are reversed, i.e., Station 1 � 1.5 and Station6 � 1.1, the bu�er allocation is roughly symmetrical:(2 2 1 0 1 1 0). This suggests that the position of the bot-tleneck in the line may have little e�ect on the optimalallocation. However, when both bottleneck means are 1.5the optimal allocation (1 1 1 1 2 1 0) is not symmetrical,which shows that in some circumstances a high-mean sta-tion closer to the center gets more bu�ers.

4.2.3. Mean and variance imbalance

Our ®nal experiment with the algorithm involves lines inwhich one station has a high mean and another a highvariance. Imbalances of this type have been studied onlyby Powell [2], and then only in the three-station line. Wecontinue to examine an eight-station line, with Station 2having a mean above 1.0 and Station 6 a standard devi-ation above 0.5. Run times for these experiments rangefrom 2 to 5 minutes. The results are given in Table 11.These results suggest that both high-mean and high-

variance stations tend to gather bu�ers around them, asone would expect. However, the e�ects are not equallystrong. For example, we see that a high standard devia-

Table 10. Two high-mean stations

Mean of Station 2 Mean of station 61.1 1.2 1.3 1.4 1.5

1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 2 2 0 0 1 1 1 2 2 01.2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 0 1 1 1 2 2 01.3 1 2 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 1 1 1 1 1 2 01.4 1 2 1 1 1 1 0 1 2 1 1 1 1 0 1 2 1 1 1 1 0 1 1 1 1 1 2 0 1 1 1 1 1 2 01.5 2 2 1 0 1 1 0 2 2 1 0 1 1 0 1 2 1 1 1 1 0 1 2 1 1 1 1 0 1 1 1 1 2 1 0

Eight-station lineAll distributions are lognormal (1.0, 0.5) unless statedInitial allocations balancedMinimum run length 100 parts; maximum 25 000

Table 11. Mean and variance imbalance

Mean of Station 2 Standard deviation of station 60.5 0.75 1.00 1.25 1.50 1.75 2.00

1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 2 2 0 0 0 1 1 2 3 0 0 0 1 1 3 2 01.2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 2 2 0 0 0 1 1 2 3 0 0 0 1 1 3 2 01.3 1 2 1 1 0 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 2 0 0 0 1 1 2 3 0 0 0 1 1 2 3 01.4 2 2 1 1 1 0 0 2 2 1 1 0 1 0 1 2 1 1 1 1 0 1 2 1 1 1 1 0 1 1 1 1 1 2 0 0 1 0 1 3 2 0 0 0 1 1 2 3 01.5 2 2 1 1 1 0 0 2 2 1 1 1 0 0 2 2 1 0 1 1 0 1 2 1 1 1 1 0 1 1 1 1 2 1 0 0 1 0 1 3 2 0 0 1 0 1 3 2 0

Eight-station lineAll distributions are lognormal (1.0, 0.5) unless statedInitial allocations balancedMinimum runlength 100 parts; maximum 25 000 parts

Table 9. Single high-mean station

Line length (n): Four Six Eight TenBottleneck at station: Three Four Five SixBu�er capacity:

n ) 1 1-1-1 1-1-1-1-1 1-1-1-1-1-1-1 1-1-1-1-1-1-1-1-12(n ) 1) 1-3-2 1-2-3-2-2 1-2-2-3-2-2-2 1-2-2-2-3-3-2-2-13(n ) 1) 2-3-4 1-3-4-5-2 1-2-3-5-4-3-3 1-3-2-3-5-6-3-3-1

Four- six- eight- and ten-station linesAll distributions are lognormal (1.0, 0.5) unless statedMean of bottleneck station 1.25Initial allocations balancedMinimum run length 100 parts; maximum 25 000 parts

300 Harris and Powell

Page 15: An algorithm for optimal buffer placement in reliable serial lines

tion at station 6 has no e�ect on the (balanced) optimalallocation until it reaches 1.5, three times the base valueof 0.5. By contrast, when we increase the mean of Station2 by 30% we ®nd the optimal allocation shifts one bu�ertoward Station 2. Thus, as observed previously in othercircumstances, imbalances in means have a far greaterimpact on optimal allocations of bu�er capacity than doimbalances in standard deviations.

4.3. Conclusions

In this section we have tested the ability of our algorithmto ®nd optimal or near-optimal bu�er allocations insituations where the optimum is known, and to ®nduseful patterns in situations where the optimum is notknown. In balanced lines the algorithm accuratelyidenti®es the optimal allocation in all cases tested. Inunbalanced lines with a single high-mean station thealgorithm ®nds the optimal allocation in most cases, andwhen it fails it identi®es an allocation that is only slightlyworse than optimal.Finally, our experiments on unbalanced lines show the

power of our algorithm to identify patterns in bu�er al-locations without performing exhaustive searches andwithout using long simulation run lengths. We shouldcaution, however, that when the unique optimal bu�erallocation is required, care must be taken to run the al-gorithm with su�ciently long run lengths to ®nd theoptimum, or one must search in the vicinity of the allo-cation found by the algorithm to determine if a slightlybetter alternative is present.

5. Summary and future research

We have developed an e�cient algorithm for ®nding theoptimal allocation of a ®xed stock of bu�er capacity in ann-station serial line. This algorithm uses a simplex searchprocedure, with a search direction determined by the bestand worst of the current candidate solutions. Experi-ments demonstrate that the algorithm reliably ®nds theoptimal allocation in balanced lines, for which the opti-mum is known, and in many unbalanced lines for whichprevious research has identi®ed the optimum. When thealgorithm fails to ®nd the true optimal solution it is rarelyo� by more than 0.5% of throughput, which is anamount of little practical signi®cance. The algorithm alsoproves useful in identifying patterns in the optimal allo-cation of classes of lines for which very little prior re-search exists, for example, lines with multiple imbalancesin means and lines with imbalances in both means andvariances. The algorithm should prove quite powerful inthe analysis of real production lines, which typically showlittle balance among the processing time distributions ofthe various workstations.

One of the strengths of the algorithm we have devel-oped is that it uses an adaptive run length for the simu-lations that are used to estimate throughput for candidatesolutions. The idea is to start the search with short runlengths so as not to waste time ®nding precise estimates ofthroughput for allocations that are far from optimal. Therun length is then gradually increased as the search pro-ceeds toward the optimal solution and the di�erencesdiminish among the throughout estimates for the currentcandidate solutions. We have found that this adaptiveprocedure can successfully identify optimal solutionswith short run lengths, much lower than the 100 000 partsthat are typical of previous research. This e�ciency al-lows us quickly to test a large number of candidate so-lutions and reliably to ®nd an optimal or near-optimalsolution.This research can be extended in a number of direc-

tions. First, there are several ways in which the algorithmwe have proposed might be improved. The run length forthe simulations could be determined by estimating notonly the mean but also the standard error of throughput.Then an estimated con®dence interval could be used toset the run length. Another improvement might be to adda local search procedure when the current algorithmterminates that would examine all allocations that can bederived from the ®nal best allocation by swapping onepair of bu�ers. We have observed in our tests that inmany cases the ®nal allocation di�ers from the true op-timum only by an exchange of one unit of bu�er capacity.Another improvement would involve re-using simulationresults for candidate solutions.Beyond extensions and improvements to the current

algorithm there are questions as to whether this ap-proach could be successfully extended to other classes oflines, such as those with breakdowns. Also, it would beinteresting to research how this algorithm performsrelative to alternative algorithms, including approachessuch as simulated annealing or genetic algorithms whichhave not been applied to this class of problems. Finally,there is the underlying task of developing useful rules ofthumb for bu�ering unbalanced lines. Since lines comein so many varieties and can be unbalanced in so manyways, there is scope for a great deal of useful work inthis area.

References

[1] Conway, R.W., Maxwell, W.L., McClain, J.O. and Thomas, L.J.(1988) The role of work-in-process inventories in serial productionlines. Operations Research, 8, 1183±1196.

[2] Powell, S. (1994) Bu�er allocation in unbalanced three-stationserial lines. International Journal of Production Research, 32,2201±2217.

[3] Powell, S. and Pyke, D. (1996) Allocation of bu�ers to serialproduction lines with bottlenecks. IIE Transactions, 28, 18±29.

An algorithm for optimal bu�er placement in reliable serial lines 301

Page 16: An algorithm for optimal buffer placement in reliable serial lines

[4] Hillier, F. and So, K.C. (1991) The e�ect of the coe�cient ofvariation of operation times on the allocation of storage space inproduction line systems. IIE Transactions, 23, 198±206.

[5] Hillier, F. and So, K.C. (1991) The e�ect of machine breakdownsand interstage storage on production line systems. Internal Journalof Production Research, 29, 2043±2055.

[6] Dallery, Y. and Gershwin, S.B. (1992) Manufacturing ¯ow linesystems: a review of models and analytical results. QueueingSystems, 12, 3±94.

[7] Freeman, M.C. (1964) The e�ects of breakdowns and interstagestorage on production line capacity. Journal of Industrial Engi-neering, 15, 194±200.

[8] Ho, Y.C., Eyler, M.A. and Chien, T.T. (1979) A gradient tech-nique for general bu�er storage design in a production line. In-ternational Journal of Production Research, 17, 557±580.

[9] Altiok, T. and Stidham, S.S. (1983) The allocation of interstagebu�er capacities in production lines. IIE Transactions, 15, 292±299.

[10] Park, T. (1993) A two-phase heuristic algorithm for determiningbu�er sizes in production lines. International Journal of ProductionResearch, 31, 613±631.

[11] Seong, D., Change, S.Y. and Hong, Y. (1995) Heuristic algorithmfor bu�er allocation in a production line with unreliable machines.International Journal of Production Research, 33, 1989±2005.

[12] Spendley, W. and Hext, G.R. (1962) Sequential application ofsimplex designs in optimization and evolutionary operations.Technometrics, 4, 441±461.

[13] Nelder, J.A. and Mead, R. (1965) A simplex method for functionminimization. Computer Journal, 7, 308±321.

Biographies

John H. Harris is Research Computing Associate at the Amos TuckSchool of Business Administration, Dartmouth College. He has prac-ticed engineering design and management in a wide range of ®elds,including electrical engineering, lasers and electro-optics, and me-chanical design. His current research interests include software designand management, research engineering management, stochastic opti-mization, literate programming and technical documentation, decisionsupport systems, and research database management systems.

Stephen G. Powell is an Associate Professor at the Amos Tuck Schoolof Business Administration, Dartmouth College. He has a B.A. fromOberlin College and both Masters and Ph.D. degrees from StanfordUniversity in Engineering-Economic Systems. His recent research isprimarily on the e�ects of bu�ers in serial and assembly productionlines. He is also researching the application of Management Sciencemethods to Business Process Redesign. He has published in OperationsResearch, Management Science, IIE Transactions, International Journalof Production Research, Journal of Operations Management, EuropeanJournal of Operational Research, and other journals.

302 Harris and Powell