Skip to content

12 Estimation of Relative Performance

This chapter discusses a few of the many statistical methods that can be used to compare the relative performance of two or more system designs. This is one of the most important uses of simulation. Because the observations of the response variables contain random variation, statistical analysis is needed to discover whether any observed differences are due to differences in design or merely to the random fluctuation inherent in the models.

The comparison of two system designs is easier than the simultaneous comparison of multiple system designs. Section 1 discusses the case of two system designs, using two possible statistica techniques: independent sampling and correlated sampling. Correlated sampling is also known as the common random numbers (CRN) technique; simply put, the same random numbers are used to simulate both alternative system designs. If implemented correctly, CRN usually reduces the variance of the estimated difference of the performance measures and thus can provide, for a given sample size, more precise estimates of the mean difference than can independent sampling. Section 2 extends the statistical techniques of Section 1 to the comparison of multiple (more than two) system designs using simultaneous confidence intervals, screening and selection of the best. These approaches are somewhat limited with respect to the number of system designs that can be considered, so Section 3 describes how a large number of complex system designs can sometimes be represented by a simpler

metamodel. Finally, for comparison and evaluation of a very large number of system designs tha are related in a less structured way, Section 4 presents optimization via simulation.

1 Comparison of Two System Designs

Suppose that a simulation analyst desires to compare two possible configurations of a system. In a queueing system, perhaps two possible queue disciplines, or two possible sets of servers, are to be compared. In a supply-chain inventory system, perhaps two possible ordering policies will be compared. A job shop could have two possible scheduling rules; a production system could have in-process inventory buffers of various capacities. Many other examples of alternative system designs can be provided.

The method of replications will be used to analyze the output data. The mean performance measure for system i will be denoted by θi,i=1,2.\theta_{i} , i = 1 , 2 . If it is a steady-state simulation, it will be assumed that deletion of data, or other appropriate techniques, have been used to ensure that the point estimators are approximately unbiased estimators of the mean performance measures θi.\theta_{i} .. The goal of the simulation experiments is to obtain point and interval estimates of the difference in mean performance, namely θ1−θ2\theta_{1} - \theta_{2}. Two methods of computing a confidence interval for θ1−θ2\theta_{1} - \theta_{2} will be discussed, but first an example and a general framework will be given.

Example 1

Software Made Personal (SMP) has a customer support call center where 7 operators handle questions from owners of their software from 8 A.M. to 4 P.M. Eastern Time. When a customer calls they use an automated system to select between the two product lines, finance and contact management. Currently each product line has its own operators (4 for financial, 3 for contact management) and hold queue. SMP wonders if they can reduce the total number of operators needed by cross-training them so that they can answer calls for any product line. This is expected to increase the time to process a call by about 10%. The current system is illustrated in Figure 1(a). and the alternative system design is shown in Figure 1(b). Before considering reducing operators, SMP wants to know what their quality of service would be if they simply cross-train the 7 operators they currently have. Incoming calls have been modeled as a nonstationary Poisson arrival process and distributions have been fit to operator time to answer questions. Comparisons will be based on the average time from call initiation until the customer’s questions are answered.

(a) Figure 1 Current SMP call center (a) and an alternative design (b).

Table 1 Simulation Output Data and Summary Measures for Comparing Two Systems

SystemReplicationSampleMeanSampleVariance
12⋯\cdotsRiR_{i}
1Y11Y_{11}Y21Y_{21}⋯\cdotsYR11Y_{R_{1}1}Yˉ.1\bar{Y}_{.1}S12S_{1}^{2}
2Y12Y_{12}Y22Y_{22}⋯\cdotsYR22Y_{R_{2}2}Yˉ.2\bar{Y}_{.2}S22S_{2}^{2}

When comparing two systems, such as those in Example 1, the simulation analyst must decide on a run length TE(i)T_{E} ^ {( i )} for each model i=1,2.i = 1 , 2 ., a number of replications RiR_{i} to be made of each model, or both. From replication r of system i, the simulation analyst obtains an estimate YriY_{r i} of the mean performance measure θi\theta_{i}. In Example 1,YriY_{r i} would be the average call response time observed during replication r for system i, where r=1,2,…,Ri;r = 1 , 2 , \ldots , R_{i} ; and i=1,2i = 1 , 2. The data, together with the two summary measures, the sample means Yˉ⋅i,{\bar {Y}} _ {\cdot i} ,, and the sample variances Si2S_{i} ^ {2}, are exhibited in Table 1. Assuming that the estimators YriY_{r i} are, at least approximately, unbiased, it follows that

θ1=E(Yr1),r=1,…,R1;θ2=E(Yr2),r=1,…,R2 \theta_{1} = E (Y_{r 1}), \quad r = 1, \ldots , R_{1}; \quad \theta_{2} = E (Y_{r 2}), r = 1, \ldots , R_{2}

In Example 1, SMP is initially interested in a comparison of two system designs (same number of operators, but specialized vs. cross trained), so the simulation analyst decides to compute a confidence intervalfor θ1−θ2\theta_{1} - \theta_{2}, the difference between the two mean performance measures. This will lead to one of three possible conclusions:

  1. If the confidence interval (c.i.) for θ1−θ2\theta_{1} - \theta_{2} is totally to the left of zero, as shown in Figure 2(a), then there is strong evidence for the hypothesis that θ1−θ2<0\theta_{1} - \theta_{2} < 0, or equivalently θ1<θ2\theta_{1} < \theta_{2} In Example 1 ,θ1<θ2, \theta_{1} < \theta_{2} implies that the mean response time for system 1, the original system, is smaller than for system 2, the alternative system.

  2. If the c.i. for θ1−θ2\theta_{1} - \theta_{2} is totally to the right of zero, as shown in Figure 2(b), then there is strong evidence that θ1−θ2>0.\theta_{1} - \theta_{2} > 0 ., or equivalently,θ1>θ2\theta_{1} > \theta_{2} In Example 1,θ1>θ2\theta_{1} > \theta_{2} can be interpreted as system 2 being better than system 1, in the sense tha system 2 has a smaller mean response time.

  3. If the c.i. for θ1−θ2\theta_{1} - \theta_{2} contains zero, then, with the data at hand, there is no strong statistica evidence that one system design is better than the other.

Figure 2 Three confidence intervals that can occur in the comparing of two systems.

Some statistics textbooks say that the weak conclusion θ1=θ2\theta_{1} = \theta_{2} can be drawn, but such statements can be misleading. A “weak” conclusion is often no conclusion at all. Most likely, if enough additional data were collected (i.e.,Ri( \mathrm{i} . \mathrm{e} . , R_{i} increased), the c.i. would shift, and definitely shrink in length, unti conclusion 1 or 2 would be drawn. Since the confidence interval provides a measure of the precision of the estimator of θ1−θ2\theta_{1} - \theta_{2}, we want to shrink it until we can either conclude that there is a difference that matters, or the difference is so small that we do not need to separate them.

In this chapter, a two-sided 100(1 α)% c.i. for θ1−θ2\theta_{1} - \theta_{2} will always be of the form

Yˉ.1−Yˉ.2±tα/2,νs.e.(Yˉ.1−Yˉ.2)(1) \bar {Y} _ {. 1} - \bar {Y} _ {. 2} \pm t_{\alpha / 2, \nu} \mathrm{s.e.} (\bar {Y} _ {. 1} - \bar {Y} _ {. 2})\tag{1}

where Yˉ⋅i{\bar {Y}} _ {\cdot i} is the sample mean performance measure for system i over all replications

Yˉ⋅i=1Ri∑r=1RiYri(2) \bar {Y} _ {\cdot i} = \frac {1}{R_{i}} \sum_{r = 1} ^ {R_{i}} Y_{r i}\tag{2}

ν is the degrees offreedom associated with the variance estimator,tα/2,1t_{\alpha / 2 , 1} is the 100(1−α/2)100 ( 1 {-} \alpha / 2 ) percentage point of a t distribution with ν degrees of freedom, and s.e.(⋅)\mathbf{s . e .} ( \cdot ) represents the standard error of the specified point estimator. To obtain the standard error and the degrees of freedom, the analyst uses one of two statistical techniques. Both techniques assume that the basic data,YriY_{r i} of Table 1, are approximately normally distributed. This assumption is reasonable provided that each YriY_{r i} is itself a sample mean of observations from replication r,r , which is indeed the situation in Example 1.

By design of the simulation experiment,Yr1(r=1,…,R1)Y_{r 1} ( r = 1 , \dots , R_{1} ) are independently and identically distributed (i.i.d.) with mean θ1\theta_{1} and variance σ12,\sigma_{1} ^ {2} ,, say. Similarly,Yr2(r=1,…,R2)Y_{r 2} ( r = 1 , \ldots , R_{2} ) are i.i.d. with mean θ2\theta_{2} and variance σ22.\sigma_{2} ^ {2} ., say. The two techniques for computing the confidence interval in Equation (1), which are based on different sets of assumptions, are discussed in the following subsections.

There is an important distinction between statistically significant differences and practically significant differences in systems performance. Statistical significance answers the following question: Is the observed difference Yˉ⋅1−Yˉ⋅2{\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2} larger than the variability in Yˉ⋅1−Yˉ⋅2?{\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2} ? This question can be restated as: Have we collected enough data to be confident that the difference we observed is real, or just chance? Conclusions 1 and 2 above imply a statistically significant difference, while conclusion 3 implies that the observed difference is not statistically significant, even though the systems may indeed be different. Statistical significance is a function of the simulation experiment and the output data.

Practical significance answers the following question: Is the true difference θ1−θ2\theta_{1} - \theta_{2} large enough to matter for the decision we need to make? In Example 1, we may reach the conclusion that θ1>θ2\theta_{1} > \theta_{2} and decide that system 2 is better (smaller expected response time). However, if the actual difference θ1−θ2\theta_{1} - \theta_{2} is very small—say, small enough that a customer would not notice the improvement—then it might not be worth the cost to replace system 1 with system 2. Practical significance is a function of the actual difference between the systems and is independent of the simulation experiment.

Confidence intervals do not answer the question of practical significance directly. Instead, they bound, with probability 1−α1 - \alpha, the true difference θ1−θ2\theta_{1} - \theta_{2} within the range

Yˉ.1−Yˉ.2−tα/2,νs.e.(Yˉ.1−Yˉ.2)≤θ1−θ2≤Yˉ.1−Yˉ.2+tα/2,νs.e.(Yˉ.1−Yˉ.2) \bar {Y} _ {. 1} - \bar {Y} _ {. 2} - t_{\alpha / 2, \nu} \text{s.e.} (\bar {Y} _ {. 1} - \bar {Y} _ {. 2}) \leq \theta_{1} - \theta_{2} \leq \bar {Y} _ {. 1} - \bar {Y} _ {. 2} + t_{\alpha / 2, \nu} \text{s.e.} (\bar {Y} _ {. 1} - \bar {Y} _ {. 2})

Whether a difference within these bounds is practically significant depends on the particular problem.

1.1 Independent Sampling

Independent sampling means that different and independent random number streams will be used to simulate the two systems. This implies that all the observations of simulated system 1, namely {Yr1,r=1,…,R1}\{Y_{r 1} , r = 1 , \ldots , R_{1} \}, are statistically independent of all the observations of simulated system 2, namely {Yr2,r=1,…,R2}\{Y_{r 2} , r = 1 , \dots , R_{2} \}. By Equation (2) and the independence of the replications, the variance of the sample mean Yˉ⋅i{\bar {Y}} _ {\cdot i} is given by

V(Yˉ⋅i)=V(Yri)Ri=σi2Ri,i=1,2 \mathrm{V} (\bar {Y} _ {\cdot i}) = \frac {\mathrm{V} (Y_{r i})}{R_{i}} = \frac {\sigma_{i} ^ {2}}{R_{i}}, \qquad i = 1, 2

For independent sampling,Yˉ⋅1{\bar {Y}} _ {\cdot 1} and Yˉ⋅2{\bar {Y}} _ {\cdot 2} are statistically independent; hence,

V(Yˉ.1−Yˉ.2)=V(Yˉ.1)+V(Yˉ.2)=σ12R1+σ22R2(3) \begin{array}{r l} \mathrm{V} (\bar {Y}. _ {1} - \bar {Y}. _ {2}) & = \mathrm{V} (\bar {Y}. _ {1}) + \mathrm{V} (\bar {Y}. _ {2}) \\ & = \frac {\sigma_{1} ^ {2}}{R_{1}} + \frac {\sigma_{2} ^ {2}}{R_{2}} \end{array}\tag{3}

There are confidence-interval procedures that are appropriate when the two variances are equa but unknown in value; that is,σ12=σ22\sigma_{1} ^ {2} = \sigma_{2} ^ {2}. However, since we would rarely know this to be true in practice, and the advantages of exploiting equal variances are slight provided the number of replications is not too small, we refer the reader to any statistics textbook for this case (for instance Hines et al. [2002]).

An approximate 100(1−α)%100 ( 1 - \alpha ) \% c.i. for θ1−θ2\theta_{1} - \theta_{2} can be computed as follows. The point estimate is computed by

Yˉ.1−Yˉ.2(4) \bar {Y} _ {. 1} - \bar {Y} _ {. 2}\tag{4}

with Yˉ⋅i{\bar {Y}} _ {\cdot i} given by Equation (2), while the sample variance for system i is

Si2=1Ri−1∑r=1Ri(Yri−Yˉ.i)2 S_{i} ^ {2} = \frac {1}{R_{i} - 1} \sum_{r = 1} ^ {R_{i}} (Y_{r i} - \bar {Y} _ {. i}) ^ {2} =1Ri−1(∑r=1RiYri2−RiYˉ⋅i2)(5) = \frac {1}{R_{i} - 1} \left(\sum_{r = 1} ^ {R_{i}} Y_{r i} ^ {2} - R_{i} \bar {Y} _ {\cdot i} ^ {2}\right)\tag{5}

Thus, the standard error of the point estimate is given by

s.e.(Yˉ.1−Yˉ.2)=S12R1+S22R2(6) \text{s.e.} (\bar {Y} _ {. 1} - \bar {Y} _ {. 2}) = \sqrt {\frac {S_{1} ^ {2}}{R_{1}} + \frac {S_{2} ^ {2}}{R_{2}}}\tag{6}

with degrees of freedom ν approximated by the expression

ν=(S12/R1+S22/R2)2[(S12/R1)2/(R1−1)]+[(S22/R2)2/(R2−1)](7) \nu = \frac {(S_{1} ^ {2} / R_{1} + S_{2} ^ {2} / R_{2}) ^ {2}}{[ (S_{1} ^ {2} / R_{1}) ^ {2} / (R_{1} - 1) ] + [ (S_{2} ^ {2} / R_{2}) ^ {2} / (R_{2} - 1) ]}\tag{7}

rounded to an integer. The confidence interval is then given by Expression (1),( 1 ) ,, using the standard error of Equation (6). A minimum number of replications R1≥6R_{1} \geq 6 and R2≥6R_{2} \geq 6 is recommended for this procedure.

1.2 Common Random Numbers (CRN)

CRN (also known as correlated sampling) means that, for each replication, the same random numbers are used to simulate both systems. Therefore,R1R_{1} and R2R_{2} must be equal, say,R1=R2=RR_{1} = R_{2} = R. Thus, for each replication r,r , the two estimates Yr1Y_{r 1} and Yr2Y_{r 2} are no longer independent, but rather are correlated. However, independent random numbers are used on different replications, so the pairs (Yr1,Ys2)( Y_{r 1} , Y_{s 2} ) are mutually independent when r≠s.r \neq s .. For example, in Table 1, the observation Y11Y_{11} is correlated with Y12Y_{12}, but Y11Y_{11} is independent of all other observations. The purpose of using CRN is to induce a positive correlation between Yr1Y_{r 1} and Yr2Y_{r 2} for each r and thus to achieve a variance reduction in the point estimator of mean difference,Yˉ⋅1−Yˉ⋅2{\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2}. In general, this variance is given by

V(Yˉ.1−Yˉ.2)=V(Yˉ.1)+V(Yˉ.2)−2cov(Yˉ.1,Yˉ.2)=σ12R+σ22R−2ρ12σ1σ2R(8) \begin{array}{c} \mathrm{V} (\bar {Y}. _ {1} - \bar {Y}. _ {2}) = \mathrm{V} (\bar {Y}. _ {1}) + \mathrm{V} (\bar {Y}. _ {2}) - 2 \mathrm{cov} (\bar {Y}. _ {1}, \bar {Y}. _ {2}) \\ = \frac {\sigma_{1} ^ {2}}{R} + \frac {\sigma_{2} ^ {2}}{R} - \frac {2 \rho_{12} \sigma_{1} \sigma_{2}}{R} \end{array}\tag{8}

where ρ12\rho_{12} is the correlation between Yr1Y_{r 1} and Yr2Y_{r 2}. [By definition,ρ12=cov⁡(Yr1,Yr2)/σ1σ2\rho_{12} = \operatorname{c o v} ( Y_{r 1} , Y_{r 2} ) / \sigma_{1} \sigma_{2}, which does not depend on r.]

Now, compare the variance of Yˉ⋅1−Yˉ⋅2{\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2} arising from the use of CRN [Equation (8):( 8 ) _ {:}, call it VCRN]V_{C R N} ] to the variance arising from the use of independent sampling with equal sample sizes [Equation (3) with R1=R2=RR_{1} = R_{2} = R, call it VIND]V_{I N D} ]. Notice that

VCRN=VIND−2ρ12σ1σ2R(9) V_{C R N} = V_{I N D} - \frac {2 \rho_{12} \sigma_{1} \sigma_{2}}{R}\tag{9}

If CRN works as intended, the correlation ρ12\rho_{12} will be positive; hence, the second term on the righ side of Equation (9) will be positive, and, therefore,

VCRN<VIND V_{C R N} < V_{I N D}

That is, the variance of the point estimator will be smaller with CRN than with independent sampling. A smaller variance, for the same sample size R,R , implies that the estimator based on CRN is more precise, leading to a shorter confidence interval on the difference, which implies that smaller differences in performance can be detected.

To compute a 100(1−α)%100 ( 1 - \alpha ) \% c.i. with correlated data, first compute the differences

Dr=Yr1−Yr2(10) D_{r} = Y_{r 1} - Y_{r 2}\tag{10}

which, by the definition of CRN, are i.i.d.; then compute the sample mean difference as

Dˉ=1R∑r=1RDr(11) \bar {D} = \frac {1}{R} \sum_{r = 1} ^ {R} D_{r}\tag{11}

Thus,Dˉ=Yˉ⋅1−Yˉ⋅2\bar {D} = \bar {Y} _ {\cdot 1} - \bar {Y} _ {\cdot 2}. The sample variance of the differences {Dr}\{D_{r} \} is computed as

SD2=1R−1∑r=1R(Dr−Dˉ)2 S_{D} ^ {2} = \frac {1}{R - 1} \sum_{r = 1} ^ {R} (D_{r} - \bar {D}) ^ {2} =1R−1(∑r=1RDr2−RDˉ2)(12) = \frac {1}{R - 1} \left(\sum_{r = 1} ^ {R} D_{r} ^ {2} - R \bar {D} ^ {2}\right)\tag{12}

which has degrees of freedom ν=R−1\nu = R - 1. The 100(1−α)%c.i100 ( 1 - \alpha ) \% \mathrm{c . i}. for θ1−θ2\theta_{1} - \theta_{2} is given by Expression (1), with the standard error of Yˉ⋅1−Yˉ⋅2=Dˉ{\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2} = {\bar {D}}, estimated by

s.e.(Dˉ)=s.e.(Yˉ.1−Yˉ.2)=SDR(13) \mathrm{s.e.} (\bar {D}) = \mathrm{s.e.} (\bar {Y}. _ {1} - \bar {Y}. _ {2}) = \frac {S_{D}}{\sqrt {R}}\tag{13}

Because SD/RS_{D} / \sqrt {R} of Equation (13) is an estimate of VCRN\sqrt {V_{C R N}} and Expression (6) is an estimate of VIND\sqrt {V_{I N D}}, CRN typically will produce a c.i. that is shorter for a given sample size than the c.i. produced by independent sampling if ρ12>0.\rho_{12} > 0 .. In fact, the expected length of the c.i. will be shorter with the use of CRN if ρ12>0.1\rho_{12} > 0 . 1, provided R>10R > 10. The larger R is, the smaller ρ12\rho_{12} can be and still yield a shorter expected length [Nelson 1987].

For any problem, there are many ways of implementing common random numbers. It is never enough to simply use the same seed on the random-number generator(s). Each random number used in one model for some purpose should be used for the same purpose in the second model—that is, the use of the random numbers must be synchronized. For example, if the ith random number is used to generate the call service time of an operator for the 5th caller in model 1, then the ith random number should be used for the very same purpose in model 2. For queueing systems or service facilities, synchronization of the common random numbers guarantees that the two systems face identica work loads: both systems face arrivals at the same instants of time, and these arrivals demand equa amounts of service. (The actual service times of a given arrival in the two models may not be equal; they could be proportional if the server in one model were faster than the server in the other model.) For an inventory system, in comparing different ordering policies, synchronization guarantees tha the two systems face identical demand for a given product. For production or reliability systems, synchronization guarantees that downtimes for a given machine will occur at exactly the same times and will have identical durations, in the two models. On the other hand, if some aspect of one o the systems is totally different from the other system, synchronization could be inappropriate—or even impossible to achieve. In summary, those aspects of the two system designs that are sufficiently similar should be simulated with common random numbers in such a way that the two models behave similarly; but those aspects that are totally different should be simulated with independent random numbers.

Implementation of common random numbers is model-dependent, but certain guidelines can be given that will make CRN more likely to yield a positive correlation. The purpose of the guidelines is to ensure that synchronization occurs:

  1. Dedicate a random-number stream to a specific purpose, and use as many different streams as needed. (Different random-number generators, or widely spaced seeds on the same generator, can be used to get two different, nonoverlapping streams.) In addition, assign independently chosen seeds to each stream at the beginning of each replication. It is not sufficient to assign seeds at the beginning of the first replication and then let the random-number generator merely continue for the second and subsequent replications. If simulation is conducted in this manner, the first replication will be synchronized, but subsequent replications might no be.

  2. For systems (or subsystems) with external arrivals: As each entity enters the system, the next interarrival time is generated, and then immediately all random variables (such as service times, order sizes, etc.) needed by the arriving entity and identical in both models are generated in a fixed order and stored as attributes of the entity, to be used later as needed. Apply guideline 1: Dedicate one random-number stream to these external arrivals and all their attributes.

  3. For systems having an entity performing given activities in a cyclic or repeating fashion, assign a random-number stream to this entity. (Example: a machine that cycles between two states: up–down–up–down–. . . . Use a dedicated random-number stream to generate the uptimes and downtimes.)

  4. If synchronization is not possible, or if it is inappropriate for some part of the two models, use independent streams of random numbers for this subset of random variates.

Unfortunately, there is no guarantee that CRN will always induce a positive correlation between comparable runs of the two models. It is known that if, for each input random variate X, the estimators Yr1Y_{r 1} and Yr2Y_{r 2} are increasing functions of the random variate X (or both are decreasing functions o X), then ρ12\rho_{12} will be positive. The intuitive idea is that both models, that is, both Yr1Y_{r 1} and Yr2.Y_{r 2} . respond in the same direction to each input random variate, and this results in positive correlation. This increasing or decreasing nature of the response variables, called monotonicity, with respec to the input random variables, is known to hold for certain queueing systems, such as the GI/G/cG I / G / c queues, when the response variable is customer delay, so some evidence exists that common random numbers is a worthwhile technique for queueing simulations. (For simple queues, customer delay is an increasing function of service times and a decreasing function of interarrival times.) Wrigh and Ramsay [1979] reported a negative correlation for certain inventory simulations, however. In summary, the guidelines recently described should be followed, and some reasonable notion that the response variable of interest is a monotonic function of the random input variables should be evident.

Example 1: (cont.)

SMP’s call center designs in Figure 1 will be compared by simulating them with CRN. To illustrate several issues we will look at two comparisons: the current system with 7 operators vs. cross-trained system with 7 operators; and a cross-trained system with 7 operators vs. cross-trained system with 6 operators. We will also assess how much benefit was obtained by using CRN relative to independent sampling

There are four driving input processes in the SMP problem: The caller interarrival times, the caller type, the call times for financial software callers, and the call times for the contact managemen software callers. By “call time” we mean the time that an operator spends with a caller, excluding the time the caller spends on hold.

To implement CRN, we dedicate a distinct random number stream to each input process. This guarantees that precisely the same sequence of calls and caller types will be seen by each alternative on each replication. The call times could be generated in one of two ways, however: Either generate them as needed (that is, when a caller reaches an operator, generate the call time from the appropriate distribution), or generate the call time at the moment that the caller arrives, save it as an attribute of the caller, and use it when the caller reaches an operator. The latter approach (generate the call time at arrival and save it) provides better synchronization in this case; in fact, if we generate call times for the cross-trained alternative by multiplying call times from the current system by 1.1, then this approach guarantees that each caller in the cross-trained alternatives has call time that is precisely 10% greater than they would have experienced in the current design.

Table 2 shows the first 10 replications from a run of 300 replications of the three system designs (the complete data are available from www.bcnn.net). Figure 3 plots the average response times for the current system and the cross-trained system with 7 operators for these same 10 replications. The desired impact of CRN is apparent in the figure: The response averages from the two system designs tend to go up and down together, making their differences easier to observe. The sample correlation between them, based on the entire 300 replications, is 0.24, showing a modest impac of CRN. The sample correlation, again based on all 300 replications, between the proposed systems with 7 and 6 operators is a substantial 0.94, however. As shown in Figure 4, the responses of these two system designs track distinctly up and down together, revealing a strong positive correlation.

Figure 3 Average response times from the first 10 replications of the current and proposed (7 operators) SMP call center

A more quantitative way to see the impact of CRN is to look at the standard errors, because they directly impact the length of the confidence interval. For instance, the standard error for the comparison of the two proposed systems is 0.88 minutes. We can approximate what the standard error would have been with independent sampling by using the sample variances and Equation (6):

s.e.=4.8610+23.9910=1.70 \mathrm{s.e.} = \sqrt {\frac {4 . 86}{10} + \frac {23 . 99}{10}} = 1. 70

The reduction is almost 50%, making it far easier to detect differences.

Table 2 Comparison of System Designs for the SMP Call Center

Average Response TimeDifferences
ReplicationCurrentProposed 7Proposed 6C - P7P7 - P6
16.246.198.350.05-2.16
29.0610.6418.03-1.59-7.39
38.029.5316.17-1.51-6.64
45.936.157.40-0.22-1.25
58.317.8312.700.48-4.87
65.916.098.26-0.17-2.17
78.747.6212.321.12-4.70
87.787.0311.400.75-4.37
97.1512.7923.04-5.64-10.24
105.727.5714.30-1.85-6.73
Sample mean7.298.1413.20-0.86-5.05
Sample variance1.604.8623.993.877.72
Standard error0.620.88

Figure 4 Average response times from the first 10 replications of the proposed designs with 7 and 6 operators for the SMP call center

Understanding why the strength of the induced correlation due to CRN is different in these two cases helps in understanding when CRN will be most effective. The two proposed designs (6 and 7 operators) are structurally the same system, differing only in the number of operators. Therefore, when the random inputs are such that the system with 7 operators is congested, the system with 6 operators is certain to be at least as congested, and probably more so. The current system is structurally different from the alternatives, having a distinct queue for each type of caller. When congestion occurs in the financial software queue it may not occur in the contact management queue, so long response times for the financial callers could be averaged with shorter response times for the contact management callers. Thus, the relationship with the proposed system that has a single queue is not as strong.

Let the subscript C denote the current call center, P7 the proposal with 7 operators, and P6 the proposal with 6 operators. Then a 95% confidence interval for the difference θC−θP7\theta_{C} - \theta_{P 7} is

$$

    1. 86 \pm 2. 26 (0. 62) $$

or

$$

    1. 26 \leq \theta_{C} - \theta_{P 7} \leq 0. 54\tag{14} $$

Therefore, from these 10 replications we cannot say for certain which design has a lower response time, although we can say with high confidence that the difference is within 1.4 minutes.

On the other hand, and as we might expect, the 7 and 6 operator systems are distinctly different, with 95% confidence interval

$$

    1. 02 \leq \theta_{P 7} - \theta_{P 6} \leq - 3. 06 $$

showing that having a 7th operator is at least 3 minutes faster, on average, than only having 6.

1.3 Confidence Intervals with Specified Precision

Suppose that we want the error in our estimate of θ1−θ2\theta_{1} - \theta_{2} to be less than  (the quantity  migh be a practically significant difference). Therefore, our goal is to find a number of replications R such that

H=tα/2,νs.e.(Yˉ.1−Yˉ.2)≤ϵ(15) H = t_{\alpha / 2, \nu} \text{s.e.} (\bar {Y}. _ {1} - \bar {Y}. _ {2}) \leq \epsilon\tag{15}

We begin by making R0≥10R_{0} \geq 10 replications ofeach system, to obtain an initial estimate ofs.e.(Yˉ⋅1−Yˉ⋅2)( {\bar {Y}} _ {\cdot 1} - {\bar {Y}} _ {\cdot 2} ) We then approximate the total number of replications R ≥ R0R \ \geq \ R_{0} needed to achieve the half-length criterion in Equation (15). Finally, we make an additional R−R0R {-} R_{0} replications (or a fresh R replications) of each system, compute the confidence interval, and check that the half-length criterion has been attained.

Example 1: (cont.)

Recall that R0=10R_{0} = 10 replications and CRN yielded the 95% confidence interval for the difference in expected response time of the current and 7-operator cross-trained system in Equation (14); this interval can be rewritten as−0.86±1.40\mathrm{a s} - 0 . 86 \pm 1 . 40 minutes. Although the current call center design appears to have the smaller expected response time, the difference is not statistically significant, since the confidence interval contains 0. Suppose that a difference larger than 0.25 minutes is considered to be practically significant. We therefore want to make enough replications to obtain H≤ϵ=0.25H \leq \epsilon = 0 . 25 The confidence interval used in Example 1 was of the form Dˉ±tα/2,R0−1SD/R0\bar {D} \pm t _ {\alpha / 2 , R_{0} - 1} S_{D} / \sqrt {R_{0}}, with the specific values Dˉ=−0.86,R0=10,t0.025,9=2.26\bar {D} = - 0 . 86 , R_{0} = 10 , t_{0 . 025 , 9} = 2 . 26, and SD2=3.87S_{D} ^ {2} = 3 . 87. To obtain the desired precision, we need to find R such that

tα/2,R−1SDR≤ϵ \frac {t_{\alpha / 2 , R - 1} S_{D}}{\sqrt {R}} \leq \epsilon

We can approximate this by finding the smallest integer R satisfying R≥R0R \geq R_{0} and

R≥(zα/2SDϵ)2 R \geq \left(\frac {z_{\alpha / 2} S_{D}}{\epsilon}\right) ^ {2}

Substituting z0.025=1.96z_{0 . 025} = 1 . 96 and SD2=3.87S_{D} ^ {2} = 3 . 87, we obtain

R≥(1.96)2(3.87)(0.25)2=238 R \geq \frac {(1 . 96) ^ {2} (3 . 87)}{(0 . 25) ^ {2}} = 238

implying that 238 replications are needed, 228 more than in the initial experiment. There are 300 replications available at www.bcnn.net and the reader is encouraged to check the result.

2 Comparison of Several System Designs

Suppose that a simulation analyst desires to compare K alternative system designs. The comparison will be made on the basis of some specified performance measure θi\theta_{i} of system i, for i=1,2,…,Ki = 1 , 2 , \dots , K Many different statistical procedures have been developed that can be used to analyze simulation data and draw statistically sound inferences concerning the parameters θi\theta_{i}. These procedures can be classified as being either fixed-sample-size procedures or sequential-sampling (or multistage) procedures.

In the first type, a predetermined sample size (i.e., run length and number of replications) is used to draw inferences via hypothesis tests or confidence intervals. Examples of fixed-sample-size procedures include the interval estimation of a mean performance measure and the interval estimation of the difference between mean performance measures of two systems [as by Expression (1) in Section 1]. Advantages of fixed-sample-size procedures include a known or easily estimated cos in terms of computer time before running the experiments. When computer time is limited, or when a pilot study is being conducted, a fixed-sample-size procedure might be appropriate. In some cases, clearly inferior system designs may be ruled out at this early stage. A major disadvantage is that a strong conclusion could be impossible. For example, the confidence interval could be too wide for practical use, since the width is an indication of the precision of the point estimator. A hypothesis test may lead to a failure to reject the null hypothesis, a weak conclusion in general, meaning that there is no strong evidence one way or the other about the truth or falsity of the nul hypothesis.

A sequential sampling scheme is one in which more and more data are collected until an estimator with a prespecified precision is achieved or until one of several alternatives is selected, with the probability of correct selection being larger than a prespecified value. A two-stage (or multistage) procedure is one in which an initial sample is used to estimate how many additional observations are needed to draw conclusions with a specified precision. An example of a two-stage procedure for estimating the performance measure of two systems was given Section 1.3.

The proper procedure to use depends on the goal of the simulation analyst. Some possible goals are the following:

  1. estimation of each parameter,θi;\theta_{i} ;2. comparison of each performance measure θi\theta_{i} to a control θ1\theta_{1}(where θ1\theta_{1} could represent the mean performance of an existing system);

  2. all pairwise comparisons,θi−θj\theta_{i} - \theta_{j}, for i≠j;i \neq j ;4. selection of the best θi\theta_{i}(largest or smallest).

The first three goals will be achieved by the construction of confidence intervals The number of such confidence intervals is C=K,C=K−1C = K , C = K - 1, and C=K(K−1)/2C = K ( K {-} 1 ) / 2, respectively. Hochberg and Tamhane [1987] and Hsu [1996] are comprehensive references for such multiple-comparison procedures. The fourth goal requires the use ofa type ofstatistical procedure known as a multiple ranking and selection procedure. Procedures to achieve these and other goals are discussed by Kleijnen [1975, Chapters II and V], who also discusses their relative merit and disadvantages. Goldsman and Nelson [1998] and Law [2007] discuss those selection procedures most relevant to simulation. A comprehensive reference is Bechhofer, Santner, and Goldsman [1995]. The next subsection presents a fixed-samplesize procedure that can be used to meet goals 1, 2, and 3, and is applicable in a wide range of circumstances. Subsection 2.2 presents a procedure to achieve goal 4.

2.1 Bonferroni Approach to Multiple Comparisons

Suppose that C confidence intervals are computed and that the ith interval has confidence coefficient 1−αi1 - \alpha_{i}. Let Si\boldsymbol {S} _ {i} be the statement that the ith confidence interval contains the parameter (or difference of two parameters) being estimated. This statement might be true or false for a given set of data, but the procedure leading to the interval is designed so that statement Si\boldsymbol {S_{i}} will be true with probability 1−αi1 - \alpha_{i}. When it is desired to make statements about several parameters simultaneously, as in goals 1, 2 and 3, the analyst would like to have high confidence that all statements are true simultaneously. The Bonferroni inequality states that

P(all statementsSiare true,i=1,…,C)≥1−∑j=1Cαj=1−αE(16) P (\text{all statements} \mathcal {S} _ {i} \text{are true}, i = 1, \dots , C) \geq 1 - \sum_{j = 1} ^ {C} \alpha_{j} = 1 - \alpha_{E}\tag{16}

where αE=∑j=1Cαj\begin{array} {r} {\alpha_{E} = \sum_{j = 1} ^ {C} \alpha_{j}} \end{array} is called the overall error probability. Expression (16) can be restated as

P(one or more statementsSiis false,i=1,…,C)≤αE P (\text{one or more statements} \mathcal {S} _ {i} \text{is false}, i = 1, \dots , C) \leq \alpha_{E}

or equivalently,

P(one or more of theCconfidence intervals does notcontain the parameter being estimated)≤αE \begin{array}{l} P (\text{one or more of the} C \text{confidence intervals does not} \\ \text{contain the parameter being estimated}) \leq \alpha_{E} \end{array}

Thus,αE\alpha_{E} provides an upper bound on the probability of a false conclusion. To conduct an experiment that involves making C comparisons, first select the overall error probability, say,αE=0.05or0.10.\alpha_{E} = 0 . 05 \mathrm{o r} 0 . 10 . The individual α may be chosen to be equal (αi=αE/C)( \alpha_{i} = \alpha_{E} / C ), or unequal, as desired. The smaller the value of αj\alpha_{j}, the wider the jth confidence interval will be. For example, if two 95% c.i.s (α1=α2=( \alpha_{1} = \alpha_{2} =0.05) are constructed, the overall confidence level will be 90% or greater (αE=α1+α2=0.10)( \alpha_{E} = \alpha_{1} + \alpha_{2} = 0 . 10 ). If ten 95% c.i.s are constructed (αi=0.05,i=1,…,10)( \alpha_{i} = 0 . 05 , i = 1 , \ldots , 10 ), the resulting overall confidence level could be as low as 50%(αE=∑i=110αi=0.50)\textstyle ( \alpha_{E} = \sum_{i = 1} ^ {10} \alpha_{i} = 0 . 50 ), which is far too low for practical use. To guarantee an overall confidence level of 95%, when 10 comparisons are being made, one approach is to construct ten 99.5% confidence intervals for the parameters (or differences) of interest.

The Bonferroni approach to multiple confidence intervals is based on Expression (16). A major advantage is that it holds whether the models for the alternative designs are run with independen sampling or with common random numbers.

The major disadvantage of the Bonferroni approach in making a large number of comparisons is the increased width of each individual interval. For example, for a given set of data and a large sample size, a 99.5% c.i. will be z0.0025/z0.025=2.807/1.96=1.43z_{0 . 0025} / z_{0 . 025} = 2 . 807 / 1 . 96 = 1 . 43 times longer than a 95% c.i. For smal sample sizes, say, for a sample of size 5,5 , a 99.5% c.i. will be t0.0025,4/t0.025,4=5.598/2.776=1.99t_{0 . 0025 , 4} / t_{0 . 025 , 4} = 5 . 598 / 2 . 776 = 1 . 99 times longer than an individual 95% c.i. The width of a c.i. is a measure of the precision of the estimate. For these reasons, it is recommended that the Bonferroni approach be used only when a small number of comparisons are being made. Twenty or so comparisons appear to be the practica upper limit.

Corresponding to goals 1, 2, and 3, there are at least three possible ways of using the Bonferron Inequality (16) when comparing K alternative system designs:

  1. Individual c.i.s:c . i . s {\mathrm{:}} Construct a 100(1−αi)%100 ( 1 - \alpha_{i} ) \% c.i. for parameter θi\theta_{i} by using the expression H=tα/2,R−1SR,H = t_{\alpha / 2 , R - 1} \frac {S} {\sqrt {R}} , in which case the number of intervals is C=KC = K. If independent sampling were used, the K c.i.s would be mutually independent, and thus the overall confidence level would be (1−α1)×(1−α2)×⋅⋅⋅×(1−αC)( 1 - \alpha_{1} ) \times ( 1 - \alpha_{2} ) \times \cdot \cdot \cdot \times ( 1 - \alpha_{C} ), which is larger, but not by much, than the right side of Expression (16). This type of procedure is most often used to estimate multiple parameters of a single system, rather than to compare systems; because multiple parameter estimates from the same system are likely to be dependent, the Bonferroni inequality typically is needed.

  2. Comparison to an existing system: Compare all designs to one specific design, usually to an existing system. That is, construct a 100(1−αi)% c.i100 ( 1 - \alpha_{i} ) \% \ \mathrm{c . i}. for θi−θ1(i=2,3,…,K)\theta_{i} - \theta_{1} ( i = 2 , 3 , \ldots , K ), using Expression (1). (System 1 with performance measure θ1\theta_{1} is assumed to be the existing system.) In this case, the number of intervals is C=K−1C = K - 1. This type of procedure is most often used to compare several competitors to the present system in order to learn which are better.

  3. All pairwise comparisons: Compare all designs to each other. That is, for any two system designs i≠j,i \neq j , construct a 100(1−αii)%100 ( 1 - \alpha_{i i} ) \% c.i. for θi−θj\theta_{i} - \theta_{j}. With K designs, the number of confidence intervals computed is C=K˙(K−1)/2C = \dot {K} ( K - 1 ) / 2. The overall confidence coefficient would be bounded below by 1−αE=1−∑∑i≠jαij\begin{array} {r} {1 - \alpha_{E} = 1 - \sum \sum_{i \neq j} \alpha_{i j}} \end{array}[which follows by Expression (16)]. It is generally believed that CRN will make the true overall confidence level larger than the right side of Expression (16), and usually larger than will independent sampling. The right side of Expression (16) can be thought of as giving the worst case, that is, the lowest possible overal confidence level.

Example 2

Reconsider the call center design problem of Example 1. The alternative system designs are the following:

a. C: existing system (distinct operator queues);

b. P7: cross-trained system with 7 operators (single queue);

c. P6: cross-trained system with 6 operators (single queue).

Using the data in Table 2, confidence intervals for θC−θP7,θC−θP6\theta_{C} - \theta_{P 7} , \theta_{C} - \theta_{P 6}, and θP7−θP6\theta_{P 7} - \theta_{P 6} will be constructed, having an overall confidence level of 95%. Recall that CRN was used in all models, bu this does not affect the overall confidence level, because, as mentioned, the Bonferroni Inequality (16) holds regardless of the statistical independence or dependence of the data.

Since the overall error probability is αE=0.05\alpha_{E} = 0 . 05 and C=3C = 3 confidence intervals are to be constructed, let αi=0.05/3=0.0167\alpha_{i} = 0 . 05 / 3 = 0 . 0167. Then use Expression (1), with proper modifications, to construct C=3C = 3 confidence intervals with α=αi=0.0167\alpha = \alpha_{i} = 0 . 0167 and degrees of freedom ν=10−1=9\nu = 10 - 1 = 9 The value of tαi/2,R−1=t0.0083,9=2.97t _ {\alpha_{i} / 2 , R - 1} = t_{0 . 0083 , 9} = 2 . 97 is obtained from Table A.5 in the Appendix by interpolation; the point estimates and standard errors are obtained from Table 2

The three confidence intervals, with overall confidence coefficient at least 95%, are given by

θC−θP7:−0.86±2.97(0.62) \theta_{C} - \theta_{P 7}: - 0. 86 \pm 2. 97 (0. 62) θC−θP6:−5.91±2.97(1.42) \theta_{C} - \theta_{P 6}: - 5. 91 \pm 2. 97 (1. 42) θP7−θP6:−5.05±2.97(0.88) \theta_{P 7} - \theta_{P 6}: - 5. 05 \pm 2. 97 (0. 88)

or

θC−θP7:−0.86±1.84 \theta_{C} - \theta_{P 7}: - 0. 86 \pm 1. 84 θC−θP6:−5.91±4.22 \theta_{C} - \theta_{P 6}: - 5. 91 \pm 4. 22 θP7−θP6:−5.05±2.61 \theta_{P 7} - \theta_{P 6}: - 5. 05 \pm 2. 61

The simulation analyst has high confidence (at least 95%) that all three confidence statements are correct. Notice that the c.i. for θC−θP7\theta_{C} - \theta_{P 7} again contains zero; thus, there is no statistically significan difference between the current design and the alternative with 7 cross-trained operators, a conclusion that supports the previous results in Example 1. The other confidence intervals lie completely to the left of 0, indicating that C and P7 both dominate P6.

Some of the exercises at the end of this chapter provide an opportunity to compare CRN and independent sampling and to compute simultaneous confidence intervals under the Bonferroni approach.

2.2 Selection of the Best

Suppose that there are K system designs, and the unknown expected value of the ith system’s performance is θ . We are interested in which system design is best, where “best” means having the maximum or minimum θ_i, depending on the problem. For instance, in Example 3 we will compare K=8K = 8 designs for the semiconductor fabrication facility described in the Estimation of Absolute Performance chapter, in which θi\theta_{i} is the steady-state mean cycle time of one product family for the ith design, and smaller θi\theta_{i} is better. We want a procedure that is capable of handling large K, say, on the order of 100

Let B denote the (unknown) index of the best system design. The smaller the true differences $| \theta_{B} - \theta_{i} | , i \neq B $ are, and the more certain we want to be that we find the best system, the more replications are required to achieve our goal. Therefore, instead of demanding that we find the best design B no matter what, we compromise and ask to find B with high probability whenever the difference between system B and the others is significantly large. More precisely, we want the probability that we select the best system to be at least 1 α whenever $| \theta_{B} - \theta_{i} | \geq \epsilon $ for all i≠B,i \neq B , where  depends on the problem. If there are systems that are within  of the best, then we will be satisfied to select either the best or any one of the near-best designs. Both the probability of correc selection 1−α1 - \alpha and the practically significant difference  will be under our control.

The following procedure accomplishes this goal by undertaking two stages of simulation: In the first stage,R0R_{0} replications are obtained from each of the system designs. Those systems that are

statistically significantly inferior to the others are screened out, meaning that they are eliminated from further consideration, with confidence 1−α/21 - \alpha / 2. If more than one system survives screening, then the survivors receive enough additional replications to select the best, or a system design within  of the best, with confidence 1−α/21 - \alpha / 2. Then, using reasoning related to the Bonferroni inequality, the selected system is the best or a near-best system with confidence at least 1−α1 - \alpha for the combination of screening and selection.

The first-stage screening can be very important because, as Example 3 will illustrate, the number of replications required in the second stage to select the best can be quite large, and there is no reason to waste time and effort on system designs that are obviously not competitive. This is especially important when K is large.

The procedure below is implemented in SimulationTools.xls, which is available at www.bcnn.net. The SimulationTools.xls implementation guides the user as to what data need to be obtained for each stage.

Select-the-Best Procedure

  1. Specify the desired probability ofcorrect selection 1/k<1−α<11 / k < 1 - \alpha < 1, the practically significan difference ϵ>0\epsilon > 0, an initial number of replications R0≥10R_{0} \geq 10, and the number of competing systems K. Set
t=t1−(1−α/2)1k−1,R0−1 t = t _ {1 - (1 - \alpha / 2) ^ {\frac {1}{k - 1}}, R_{0} - 1}

and obtain Rinott’s constant h=h(R0,K,1−α/2)h = h ( R_{0} , K , 1 - \alpha / 2 ). [Hint: Both critical values are calculated automatically by SimulationTools.xls; small tables of t and h are given in the Appendix.]

  1. Make R0R_{0} replications of each system. Calculate the first-stage sample means and sample variances
Yˉ⋅i=1R0∑r=1R0Yri \bar {Y} _ {\cdot i} = \frac {1}{R_{0}} \sum_{r = 1} ^ {R_{0}} Y_{r i} Si2=1n0−1∑r=1n0(Yri−Yˉ.i)2 S_{i} ^ {2} = \frac {1}{n_{0} - 1} \sum_{r = 1} ^ {n_{0}} \left(Y_{r i} - \bar {Y} _ {. i}\right) ^ {2}

for i=1,2,…,K.i = 1 , 2 , \dots , K .3. Calculate the screening thresholds

Wij=t(Si2+Sj2R0)1/2 W_{i j} = t \left(\frac {S_{i} ^ {2} + S_{j} ^ {2}}{R_{0}}\right) ^ {1 / 2}

for all i≠ji \neq j(a) If bigger is better, then form the survivor subset ss containing every system design i such that

Yˉ⋅i≥Yˉ⋅j−max⁡{0,Wij−ϵ}for allj≠i \bar {Y} _ {\cdot i} \geq \bar {Y} _ {\cdot j} - \max \{0, W_{i j} - \epsilon \} \quad \text{for all} j \neq i

That is, retain every system i whose sample mean is no more than max 0,Wij−ϵ}W_{i j} - \epsilon \} smaller than any other system’s sample mean.

(b) If smaller is better, then form the survivor subset containing every system design i such that

Yˉ.i≤Yˉ.j+max⁡{0,Wij−ϵ}for allj≠i \bar {Y} _ {. i} \leq \bar {Y} _ {. j} + \max \{0, W_{i j} - \epsilon \} \quad \text{for all} j \neq i

That is, retain every system i whose sample mean is no more than max 0,Wij−ϵ}W_{i j} - \epsilon \} larger than any other system’s sample mean.

  1. If the set contains only one system, then stop and return that system as the best. Otherwise, for all designs i in , compute the second-stage sample sizes
Ri=max⁡{R0,⌈(hSi/ϵ)2⌉} R_{i} = \max \left\{R_{0}, \lceil (h S_{i} / \epsilon) ^ {2} \rceil \right\}

where means to round up.

  1. Take Ri−R0R_{i} - R_{0} additional replications from all systems i in , or, if it is more convenient, obtain a total of RiR_{i} replications from system i by starting over.

  2. Compute the overall sample means

Yˉˉ⋅i=1Ri∑r=1RiYri \bar {\bar {Y}} _ {\cdot i} = \frac {1}{R_{i}} \sum_{r = 1} ^ {R_{i}} Y_{r i}

for all i in . If bigger is better, then select the system with the largest Yˉˉ⋅i\bar {\bar {Y}} _ {\cdot i} as best. Otherwise select the system with the smallest Yˉˉ⋅i\bar {\bar {Y}} _ {\cdot i} as best.

The critical values t and h cannot usually be obtained directly from tables so interpolation is often required. As an alternative, algorithms for computing quantiles from the t distribution can be found in most numerical analysis and spreadsheet software; unfortunately, this is not the case for Rinott’s constant h. Therefore, use of SimulationTools.xls is highly recommended for this procedure.

Nelson et al. [2001] prove that the Select-the-Best Procedure finds the system with the larges or smallest θ , or one within  of the best θ, with confidence level at least 1 α, provided the data are normally distributed and the systems are simulated independently. The procedure will also work if CRN is applied.

Example 3

Recall the FastChip, Inc. semiconductor manufacturing example from the Estimation of Absolute Performance chapter, in which FastChip, Inc. wants to use simulation to design a new “fab” by evaluating the steady-state mean cycle time (time from wafer release to completion) that they can expect under a particular loading of two distinct products, called C-chip and D-chip. The system design we evaluated in the Estimation of Absolute Performance chapter is actually a base case, and there are seven additional designs that arise by making different choices about how to implemen certain steps in the manufacturing process; these steps are called Clean, Load Quartz, Oxidize, Unload Quartz, Coat, and Develop. The question is, which design leads to the smallest steady-state mean cycle time? We will focus on the cycle time for C-chip, and we will use the warmup period and run length obtained there.

Figure 5 Input form for Select-the-Best Procedure in SimulationTools.xls

Including the base case there are K = 8K \ = \ 8 system designs, and the performance measures θ1,θ2,…,θ8\theta_{1} , \theta_{2} , \ldots , \theta_{8} are the steady-state mean cycle times for C-chip under each design. FastChip decides that even very small improvements in cycle time are important, so they set ϵ=0.15\epsilon = 0 . 15 hours (or 9 minutes). This is a very tight requirement when cycle times average around 45 hours, and we wil see the consequences of this choice below. FastChip would like 95% confidence they have selected the best design, or one within 9 minutes of the best. Figure 5 shows the input screen to set up this problem in SimulationTools.xls, which uses the term “indifference level” for the practically significant difference .

Table 3 contains the first-stage results obtained from R0 = 10R_{0} ~ = ~ 10 replications of each system design. The alternative that adjusts the Oxidize step seems to provide the smallest average cycle time, but all of the alternatives appear close. The complete data from this example are available at www.bcnn.net.

The t value we need for screening is

t=t1−(1−α/2)1k−1,R0−1=t1−(0.975)17,9=t0.0036,9=3.455 t = t _ {1 - (1 - \alpha / 2) ^ {\frac {1}{k - 1}}, R_{0} - 1} = t _ {1 - (0. 975) ^ {\frac {1}{7}}, 9} = t_{0. 0036, 9} = 3. 455

Table 3 First-Stage Data from FastChip Simulation

Scenario iiBase 1Clean 2Load 3Oxidize 4Unload 5Coat 6Step 7Develop 8
Yˉ.i\bar{Y}_{.i}46.8645.7047.2345.1346.8047.8147.4146.94
Si2S_{i}^{2}0.210.370.290.090.280.980.120.28

Table 4 Screening Threshold from FastChip Simulation

ScenarioiBase1Clean2Load3Oxidize4Unload5Coat6Step7Develop8
Yˉ.i\bar{Y}_{.i}46.8645.7047.2345.1346.8047.8147.4146.94
Wi4W_{i4}0.600.740.680.671.130.500.67
≤Y.4+max⁡{Wi4−0.15}\leq Y_{.4} + \max\{W_{i4} - 0.15\}45.5845.7245.6645.6546.1145.4845.65

The subset will always contain the sample best system, which is system i=4i = 4(Oxidize) here. To avoid being screened out, the other systems’ sample means must be small enough to satisfy Yˉ⋅i≤Yˉ⋅j+max⁡{Wij−ϵ}\bar {Y} _ {\cdot i} \leq \bar {Y} _ {\cdot j} + \operatorname* {m a x} \{W_{i j} - \epsilon \} for all j≠i,j \neq i ,, and in particular Yˉ.i≤Yˉ.4+max⁡{0,Wi4−ϵ}\bar {Y} . i \le \bar {Y} . 4 + \operatorname* {m a x} \{0 , W_{i 4} - \epsilon \}. Table 4 contains the thresholds Yˉ⋅4+{\bar {Y}} _ {\cdot 4} + max {0,Wi4−ϵ}\{0 , W_{i 4} - \epsilon \}; only alternative 2 with sample mean 45.70 hours is smal enough to survive, so S={2,4}{\mathcal {S}} = \{2 , 4 \} To determine the second-stage sample sizes for alternatives 2 and 4, we need h=h(R0,K,1−h = h ( R_{0} , K , 1 -α/2)=h(10,8,0.975)=4.635\alpha / 2 ) = h ( 10 , 8 , 0 . 975 ) = 4 . 635, which could be obtained from SimulationTools.xls. Then R2=⌈(hS2/ϵ)2⌉=349R_{2} = \lceil ( h S_{2} / \epsilon ) ^ {2} \rceil = 349 and R4=⌈(hS4/ϵ)2⌉=90R_{4} = \lceil ( h S_{4} / \epsilon ) ^ {2} \rceil = 90. Thus, alternative 2 requires 349−10=339349 - 10 = 339 additional replications, while alternative 4 requires 90−10=8090 - 10 = 80 additional replications. Notice that the number of replications for alternative 2 is quite large. In general, the second-stage sample size is large if the sample variance is large, making it is difficult to detect differences, or if  is small, even small differences matter, as in this example.

After obtaining the additional replications,Yˉˉ⋅2=45.88\bar {\bar {Y}} _ {\cdot 2} = 45 . 88 and Yˉˉ⋅4=45.00\bar {\bar {Y}} _ {\cdot 4} = 45 . 00; therefore, alternative 4, Oxidize, is selected. The procedure guarantees, with 95% confidence, that θ4\theta_{4} is the smallest steadystate mean cycle time of the 8 alternatives,or,^ {\mathrm{o r ,}} if it is not, then it is within ϵ=0.15\epsilon = 0 . 15 hours of being the best.

The Select-the-Best Procedure, as presented here, does both screening and selection. This makes it particularly useful for finding the best system design from among a large number of alternatives since many of them may be screened out in the first stage. The procedure can be used for screening alone, without selection, if the objective is to eliminate designs that are not competitive. This migh be worthwhile when we want to choose from a collection of competitive alternatives based on criteria beyond mean performance alone. For screening only, the procedure stops at Step 3 and can use the critical value

t=t1−(1−α)1k−1,R0−1 t = t _ {1 - (1 - \alpha) ^ {\frac {1}{k - 1}}, R_{0} - 1}

which provides somewhat tighter screening.

Similarly, if the number of system designs K is small, and the goal is to select the best, then screening can be skipped and all systems receive second-stage replications. For selection only, skip Step 3 and use the somewhat smaller critical value h=h(R0,K,1−α)h = h ( R_{0} , K , 1 - \alpha ).

3 Metamodeling

Suppose that there is a simulation output response variable Y that is related to k independent variables, say,x1,x2,…,xkx_{1} , x_{2} , \ldots , x_{k}. The dependent variable Y is a random variable, while the independent variables x1,x2,…,xkx_{1} , x_{2} , \ldots , x_{k} are called design variables and are usually subject to control. The true relationship between the variables Y and x is represented by the often complex simulation model. Our goal is to approximate this relationship by a simpler mathematical function called a metamodel. In some cases, the analyst will know the exact form of the functional relationship between Y and x1,x2,…,xk,say.x_{1} , x_{2} , \ldots , x_{k} , \mathrm{s a y} .Y=f(x1,x2,…,xk)Y = f ( x_{1} , x_{2} , \dots , x_{k} ). However, in most cases, the functional relationship is unknown, and the analys must select an appropriate f containing unknown parameters, and then estimate those parameters from a set of data Y, x . Regression analysis is one method for estimating the parameters.

Example 4

An insurance company promises to process all claims it receives each day by the end of the next day. It has developed a simulation model of its proposed claims-processing system to evaluate how hard it will be to meet this promise. The actual number and types of claims that will need to be processed each day will vary, and the number may grow over time. Therefore, the company would like to have a model that predicts the total processing time as a function of the number of claims received.

The primary value of a metamodel is to make it easy to answer “what-if” questions, such as what the processing time will be if there are x claims. Evaluating a function f, or perhaps its derivatives, at a number of values of x is typically much easier than running a simulation experiment for each value.

3.1 Simple Linear Regression

Suppose that it is desired to estimate the relationship between a single independent variable x and a dependent variable Y, and suppose that the true relationship between Y and x is suspected to be linear. Mathematically, the expected value of Y for a given value of x is assumed to be

E(Y∣x)=β0+β1x(17) E (Y | x) = \beta_{0} + \beta_{1} x\tag{17}

where β0\beta_{0} is the intercept on the Y axis, an unknown constant, and β1\beta_{1} is the slope, or change in Y for a unit change in x, also an unknown constant. It is further assumed that each observation of Y can be described by the model

Y=β0+β1x+ε(18) Y = \beta_{0} + \beta_{1} x + \varepsilon\tag{18}

where ε is a random error with mean zero and constant variance σ2\sigma^{2}. The regression model given by Equation (18) involves a single variable x and is commonly called a simple linear regression model.

Suppose that there are n pairs of observations (Y1,x1),(Y2,x2),…,(Yn,xn)( Y_{1} , x_{1} ) , ( Y_{2} , x_{2} ) , \ldots , ( Y_{n} , x_{n} ). These observations can be used to estimate β0\beta_{0} and β1\beta_{1} in Equation (18). The method of least squares is commonly used to form the estimates. In the method of least squares,β0\beta_{0} and β1\beta_{1} are estimated in such a way that the sum of the squares of the deviations between the observations and the regression line is minimized. The individual observations in Equation (18) can be written as

Yi=β0+β1xi+εi,i=1,2,…,n(19) Y_{i} = \beta_{0} + \beta_{1} x_{i} + \varepsilon_{i}, \qquad i = 1, 2, \dots , n\tag{19}

where ε1,ε2,…\varepsilon_{1} , \varepsilon_{2} , \ldots are assumed to be uncorrelated random variables.

Each εi\varepsilon_{i} in Equation (19) is given by

εi=Yi−β0−β1xi(20) \varepsilon_{i} = Y_{i} - \beta_{0} - \beta_{1} x_{i}\tag{20}

and represents the difference between the observed response YiY_{i} and the expected response β0+β1xi\beta_{0} + \beta_{1} x_{i} predicted by the model in Equation (17). Figure 6 shows how εi\varepsilon_{i} is related to xi,Yi,x_{i} , Y_{i} ,, and $ E ( Y_{i} | x_{i} ) $ The sum of squares of the deviations given in Equation (20) is given by

L=∑i=1nεi2=∑i=1n(Yi−β0−β1xi)2(21) L = \sum_{i = 1} ^ {n} \varepsilon_{i} ^ {2} = \sum_{i = 1} ^ {n} (Y_{i} - \beta_{0} - \beta_{1} x_{i}) ^ {2}\tag{21}

and LL is called the least-squaresfunction. It is convenient to rewrite YiY_{i} as follows:

Yi=β0′+β1(xi−xˉ)+εi(22) Y_{i} = \beta_{0} ^ {\prime} + \beta_{1} (x_{i} - \bar {x}) + \varepsilon_{i}\tag{22}

where β0′=β0+β1xˉ\beta_{0} ^ {\prime} = \beta_{0} + \beta_{1} \bar {x} and xˉ=∑i=1nxi/n\bar {x} = \textstyle \sum_{i = 1} ^ {n} x_{i} / n. Equation (22) is often called the transformed linear regression model. Using Equation (22), Equation (21) becomes

L=∑i=1n[Yi−β0′−β1(xi−xˉ)]2 L = \sum_{i = 1} ^ {n} [ Y_{i} - \beta_{0} ^ {\prime} - \beta_{1} (x_{i} - \bar {x}) ] ^ {2}

Figure 6 Relationship of εi\varepsilon_{i} to xi,Yi,x_{i} , Y_{i} , and $ E ( Y_{i} | x_{i} ) $ To minimize L,L , find ∂L/∂β0′\partial L / \partial \beta_{0} ^ {\prime} and ∂L/∂β1\partial L / \partial \beta_{1}, set each to zero, and solve for β^0′\widehat {\beta} _ {0} ^ {\prime} and β^1{\widehat {\beta}} _ {1}. Taking the partial derivatives and setting each to zero yields

nβ0′^=∑i=1nYi n \widehat {\beta_{0} ^ {\prime}} = \sum_{i = 1} ^ {n} Y_{i} β^1∑i=1n(xi−xˉ)2=∑i=1nYi(xi−xˉ)(23) \widehat {\beta} _ {1} \sum_{i = 1} ^ {n} (x_{i} - \bar {x}) ^ {2} = \sum_{i = 1} ^ {n} Y_{i} (x_{i} - \bar {x})\tag{23}

Equations (23) are often called the normal equations, which have the solutions

β^0′=Yˉ=∑i=1nYin(24) \widehat {\beta} _ {0} ^ {\prime} = \bar {Y} = \sum_{i = 1} ^ {n} \frac {Y_{i}}{n}\tag{24}

and

β^1=∑i=1nYi(xi−xˉ)∑i=1n(xi−xˉ)2(25) \widehat {\beta} _ {1} = \frac {\sum_{i = 1} ^ {n} Y_{i} (x_{i} - \bar {x})}{\sum_{i = 1} ^ {n} (x_{i} - \bar {x}) ^ {2}}\tag{25}

The numerator in Equation (25) is rewritten for computational purposes as

Sxy=∑i=1nYi(xi−xˉ)=∑i=1nxiYi−(∑i=1nxi)(∑i=1nYi)n(26) S_{x y} = \sum_{i = 1} ^ {n} Y_{i} (x_{i} - \bar {x}) = \sum_{i = 1} ^ {n} x_{i} Y_{i} - \frac {\left(\sum_{i = 1} ^ {n} x_{i}\right) \left(\sum_{i = 1} ^ {n} Y_{i}\right)}{n}\tag{26}

where SxyS_{x y} denotes the corrected sum of cross products of x and Y. The denominator of Equation (25) is rewritten for computational purposes as

Sxx=∑i=1n(xi−xˉ)2=∑i=1nxi2−(∑i=1nxi)2n(27) S_{x x} = \sum_{i = 1} ^ {n} (x_{i} - \bar {x}) ^ {2} = \sum_{i = 1} ^ {n} x_{i} ^ {2} - \frac {\left(\sum_{i = 1} ^ {n} x_{i}\right) ^ {2}}{n}\tag{27}

where SxxS_{x x} denotes the corrected sum of squares of x. The value of β^0{\widehat {\beta}} _ {0} can be retrieved easily as

β0^=β0′^−β1^xˉ(28) \widehat {\beta_{0}} = \widehat {\beta_{0} ^ {\prime}} - \widehat {\beta_{1}} \bar {x}\tag{28} β^0 \widehat {\boldsymbol {\beta}} _ {0} β^1 \widehat {\beta} _ {1}

 The simulation model of the claims-processing system in Example 4 was executed with initia conditions x=100x = 100, 150, 200, 250, and 300 claims received the previous day. Three replications were obtained at each setting. The response Y is the number of hours required to process x claims. The results are shown in Table 5. The graphical relationship between the number of claims received and total processing time is shown in Figure 7. Examination of this scatter diagram indicates that there is a strong relationship between number of claims and processing time. The tentative assumption o the linear model given by Equation (18) appears to be reasonable.

Table 5 Simulation Results for Processing Time Given x Claims

Number of Claims xHours of Processing Time Y
1008.1
1007.8
1007.0
1509.6
1508.5
1509.0
20010.9
20013.3
20011.6
25012.7
25014.5
25014.7
30016.5
30017.5
30016.3

Figure 7 Relationship between number of claims and hours of processing time.

With the processing times as the YiY_{i} values (the dependent variables) and the number of claims as the xix_{i} values (the independent variables),β^0\widehat {\beta} _ {0} and β^1{\widehat {\beta}} _ {1} can be found by the following computations:

n=15 n = 15 ∑i=115xi=3000 \sum_{i = 1} ^ {15} x_{i} = 3000 ∑i=115Yi=178 \sum_{i = 1} ^ {15} Y_{i} = 178 ∑i=115xi2=675,000 \sum_{i = 1} ^ {15} x_{i} ^ {2} = 675, 000 ∑i=115xiYi=39080 \sum_{i = 1} ^ {15} x_{i} Y_{i} = 39080

and xˉ=3000/15=200\bar {x} = 3000 / 15 = 200 From Equation (26) SxyS_{x y} is calculated as

Sxy=39,080−(3000)(178)15=3480 S_{x y} = 39, 080 - \frac {(3000) (178)}{15} = 3480

From Equation (27),SxxS_{x x} is calculated as

Sxx=675,000−(3000)215=75,000 S_{x x} = 675, 000 - \frac {(3000) ^ {2}}{15} = 75, 000

Then,β^1{\widehat {\beta}} _ {1} is calculated from Equation (25) as

β^1=SxySxx=348075,000=0.0464 \widehat {\beta} _ {1} = \frac {S_{x y}}{S_{x x}} = \frac {3480}{75 , 000} = 0. 0464

As shown in Equation (24),β0′^\widehat {\beta_{0} ^ {\prime}} is just Yˉ,{\bar {Y}} , or

β0′^=17815≈11.8667 \widehat {\beta_{0} ^ {\prime}} = \frac {178}{15} \approx 11. 8667

To express the model in the original terms, compute β^0{\widehat {\beta}} _ {0} from Equation (28) as

β0^=11.8667−0.0464(200)=2.5867 \widehat {\beta_{0}} = 11. 8667 - 0. 0464 (200) = 2. 5867

Then an estimate of the mean of Y given x,$ E ( Y | x ) $, is given by

y^=β0^+β1^x=2.5867+0.0464x(29) \widehat {y} = \widehat {\beta_{0}} + \widehat {\beta_{1}} x = 2. 5867 + 0. 0464 x\tag{29}

For a given number of claims x this model can be used to predict the number of hours required to process them. The coefficient β^1{\widehat {\beta}} _ {1} has the interpretation that each additional claim received adds an expected 0.0464 hours, or 2.8 minutes, to the expected total processing time.

Regression analysis is widely used and frequently misused. Several of the common abuses are briefly mentioned here. Relationships derived in the manner of Equation (29) are valid for values of the independent variable within the range of the original data. The linear relationship that has been tentatively assumed may not be valid outside the original range. In fact, we know from queueing theory that mean processing time may increase rapidly as the number of claims approaches the capacity of the system. Therefore, Equation (29) can be considered valid only for 100≤x≤300100 \leq x \leq 300 Regression models are not advised for extrapolation purposes.

Care should be taken in selecting variables that have a plausible causal relationship with one another. It is quite possible to develop statistical relationships that are unrelated in a practical sense. For example, an attempt might be made to relate monthly output of a steel mill to the weight of reports appearing on a manager’s desk during the month. A straight line may appear to provide a good mode for the data, but the relationship between the two variables is tenuous. A strong observed relationship does not imply that a causal relationship exists between the variables. Causality can be inferred only when analysis uncovers some plausible reasons for its existence. In Example 4 it is reasonable tha starting with more claims implies that more time is needed to process them. Therefore, a relationship of the form of Equation (29) is at least plausible.

Testing for Significance of Regression

In Section 3.1, it was assumed that a linear relationship existed between Y and x. In Example 4, a scatter diagram, shown in Figure 7, relating number of claims and processing time was prepared, to evaluate whether a linear model was a reasonable tentative assumption prior to the calculation of β^0\widehat {\beta} _ {0} and β^1{\widehat {\beta}} _ {1}. However, the adequacy of the simple linear relationship should be tested prior to using the model for predicting the response YiY_{i} given an independent variable,xi.x_{i} .. There are several tests which may be conducted to aid in determining model adequacy. Testing whether the order of the mode tentatively assumed is correct is commonly called lack-of-fit testing.

Testing for the significance of regression provides another means for assessing the adequacy of the model. In particular, tests to establish that the estimated regression coefficients β^0\widehat {\beta} _ {0} and β^1{\widehat {\beta}} _ {1} are statistically different from 0 are essential, particularly for multiple linear regression, described below, when a large number of design variables x are included in the metamodel but it is not certain that all of them have a substantial explanatory effect.

Tests for significance and lack of fit are included in all regression software. See Box and Draper [1987], Hines et al. [2002], and Montgomery [2000] for details about these tests.

Multiple Linear Regression

If the simple linear regression model of Section 3.1 is inadequate, several other possibilities exist. There could be several independent variables, so that the relationship is of the form

Y=β0+β1x1+β2x2+⋯+βmxm+ε(30) Y = \beta_{0} + \beta_{1} x_{1} + \beta_{2} x_{2} + \dots + \beta_{m} x_{m} + \varepsilon\tag{30}

Notice that this model is still linear, but has more than one independent variable. Regression models having the form shown in Equation (30) are called multiple linear regression models. Another possibility is that the model is of a quadratic form such as

Y=β0+β1x+β2x2+ε(31) Y = \beta_{0} + \beta_{1} x + \beta_{2} x^{2} + \varepsilon\tag{31}

Equation (31) is also a linear model which may be transformed to the form of Equation (30) by letting x1=xx_{1} = x and x2=x2x_{2} = x^{2} Yet another possibility is a model of the form such as

Y=β0+β1x1+β2x2+β3x1x2+ε Y = \beta_{0} + \beta_{1} x_{1} + \beta_{2} x_{2} + \beta_{3} x_{1} x_{2} + \varepsilon

which is also a linear model. The analysis of these three models with the forms just shown, and related models, can be found in Box and Draper [1987], Hines et al. [2002], Montgomery [2000], and other applied statistics texts; and also in Kleijnen [1987, 1998], which is concerned primarily with the application of these models in simulation.

3.2 Metamodeling and Computer Simulation

The material in Section 3.1 applies to regression metamodeling in general, not just computer simulation. However, there are special issues and opportunities that arise when goal is to provide a metamodel for a computer simulation; we describe these below.

Random-Number Assignment for Regression

The assignment of random-number seeds or streams is part of the design of a simulation experiment. (This section is based on Nelson [1992].) Assigning a different seed or stream to different design points (settings for x1,x2,…,xmx_{1} , x_{2} , \ldots , x_{m} in a multiple linear regression) guarantees that the responses Y from different design points will be statistically independent. Similarly, assigning the same seed or stream to different design points induces dependence among the corresponding responses, by virtue of their all having the same source of randomness.

Many textbook experiment designs assume independent responses across design points. To conform to this assumption, we must assign different seeds or streams to each design point. However, it is often useful to assign the same random number seeds or streams to all of the design points, in other words, to use common random numbers.

The intuition behind common random numbers for metamodels is that a fairer comparison among design points is achieved if the design points are subjected to the same experimental conditions, specifically the same source of randomness. The mathematical justification is as follows: Suppose we fit the simple linear regression Yi=β0+β1xi+εiY_{i} = \beta_{0} + \beta_{1} x_{i} + \varepsilon_{i} and obtain least squares estimates β^0\widehat {\beta} _ {0} and β^1{\widehat {\beta}} _ {1}Then an estimator of the expected difference in performance between design points i and j is

β^0+β^1xi−(β^0+β^1xj)=β^1(xi−xj) \widehat {\beta} _ {0} + \widehat {\beta} _ {1} x_{i} - (\widehat {\beta} _ {0} + \widehat {\beta} _ {1} x_{j}) = \widehat {\beta} _ {1} (x_{i} - x_{j})

when xix_{i} and xjx_{j} are fixed design points,β^1{\widehat {\beta}} _ {1} determines the estimated difference between design points i and j,j ,or for that matter between any other two values of x. Therefore, common random numbers can be expected to reduce the variance of β^1{\widehat {\beta}} _ {1} and, more generally, reduce the variance of all of the slope terms in a multiple linear regression. Common random numbers typically do not reduce the variance of the intercept term β^0\widehat {\beta} _ {0}The least-squares estimators β^0{\widehat {\beta}} _ {0} and β^1{\widehat {\beta}} _ {1} are appropriate regardless of whether we use common  random numbers, but the associated statistical analysis is affected by that choice. For statistica analysis of a metamodel under common random numbers, see Kleijnen [1988] and Nelson [1992].

Queueing Simulation

Many computer simulation models are of systems that involve queues or networks of queues, and metamodels of these simulations may include design variables related to capacity (numbers of servers and service rates) and customer load (arrival rates). Such models violate standard regression assumptions as described in Section 3.1. A small example illustrates the difficulties and possible solutions.

Recall the M/M/1M / M / 1 queue: A single-server, first-come-first-served queue with a Poisson arrival process having rate λ customers/time and exponentially distributed service time having rate μ\mu customers/time. Let x=λ/μx = \lambda / \mu, which is called the utilization ρ.\rho .. Then, the steady-state expected number of customers in the queue for 0<x<10 < x < 1 is

L=x1−x=x+x2+x3+…(32) L = \frac {x}{1 - x} = x + x^{2} + x^{3} + \dots\tag{32}

Now, suppose that we did not know the relationship (32) and were trying to build a metamodel for L as a function of 0<x<10 < x < 1 by running simulations of an M/M/1M / M / 1 queue. Clearly the usual low-order polynomial models, including only the terms x and x2x^{2} described above, will not fit very well, particularly for x close to 1, where the higher-order terms matter.

There are at least two solutions to this problem. One is to break up the design space (0<x<1( 0 < x < 1 in this example) into smaller pieces for which low-order polynomials are adequate. The second approach is to fit a nonlinear model motivated by queueing theory. Yang, Ankenman, and Nelson [2007] showed that

Y=∑i=0mβixi(1−x)p+ε(33) Y = \frac {\sum_{i = 0} ^ {m} \beta_{i} x^{i}}{(1 - x) ^ {p}} + \varepsilon\tag{33}

with m ≤ 3.m \ \leq \ 3 ., works well for many queueing outputs Y, including average number in the queue and average time in the queue. Notice that the unknown parameters are m,βi.\beta_{i} ., and p,p , and therefore nonlinear least squares methods are required to fit them (Bates and Watts [1988]). When Y is the average number in queue, an estimator of L, then m=1,β0=0,β1=1m = 1 , \beta_{0} = 0 , \beta_{1} = 1, and p=1p = 1 Unfortunately, the problems go even deeper. If we estimate L by making a simulation run of length T time units and record the average number of customers in queue (call it Y), then it can be shown (Whitt [1989]) that

var⁡(Y)≈2x(1+x)(1−x)4T(34) \operatorname{var} (Y) \approx \frac {2 x (1 + x)}{(1 - x) ^ {4} T}\tag{34}

Thus, instead of the variance being constant across the design space, as assumed in regression, it increases, and increases explosively, as x approaches 1. As a consequence, a run of, say,T=100T = 100 time units may yield a pretty good estimate of L at x=0.1x = 0 . 1 but a very poor estimate at x=0.9x = 0 . 9 The standard statistical inference produced by regression software will be invalid when response variance depends strongly on x, meaning we may not recognize lack of fit or poor fit.

A remedy for unequal response variance in regression is to apply a variance-stabilizing transformation to the data to make the variance more nearly constant across the design space. In simulation we can attack the problem directly by using different run lengths TT or different numbers of replications, depending on x.

We suggest using the M/M/1M / M / 1 result as a rough guide for more general networks of queues. If we let x denote the network utilization, that is, the most heavily utilized queue, then Approximation (34) implies that the run lengths T1T_{1} and T2T_{2} at two design points x1x_{1} and x2x_{2} should satisfy

T2T1=x2x1(1+x21+x1)(1−x11−x2)4 \frac {T_{2}}{T_{1}} = \frac {x_{2}}{x_{1}} \left(\frac {1 + x_{2}}{1 + x_{1}}\right) \left(\frac {1 - x_{1}}{1 - x_{2}}\right) ^ {4}

For instance, if we were to simulate T1=1T_{1} = 1 time unit at utilization x1=0.1x_{1} = 0 . 1, then we would need about T2=10T_{2} = 10 time units at x2=0.3x_{2} = 0 . 3, or T2=72T_{2} = 72 time units at x2=0.5x_{2} = 0 . 5, or T2=876T_{2} = 876 time units at x2=0.7.x_{2} = 0 . 7 ., or T2=101T_{2} = 101, 944 time units at x2=0.9x_{2} = 0 . 9 to stabilize variances.

The central message is this: In queueing simulation, if the metamodel includes decision variables that affect customer load—by changing the arrival rates, service rates, or numbers of servers—then a low-order polynomial may not be a good choice for the metamodel, and equal response variance across the design space cannot be assumed without exercising run-length control

4 Optimization via Simulation

Consider the following examples. (Some of these descriptions are based on Boesel, Nelson, and Ishi [2003].

Example 6: Materials Handling System (MHS)

Engineers need to design an MHS consisting of a large automated storage and retrieval device, automated guided vehicles (AGVs),AGV stations, lifters, and conveyors.Among the design variables they can control are the number ofAGVs, the load perAGV, and the routing algorithm used to dispatch the AGVs. Alternative designs will be evaluated according to AGV utilization, transportation delay for material that needs to be moved, and overall investment and operation costs.

Example 7: Liquefied Natural Gas (LNG) Transportation

An LNG transportation system will consist of LNG tankers and of loading, unloading, and storage facilities. In order to minimize cost, designers can control tanker size, number of tankers in use, number of jetties at the loading and unloading facilities, and capacity of the storage tanks.

Example 8: Automobile Engine Assembly

In an assembly line, a large buffer (queue) between workstations could increase station utilization— because there will tend to be something waiting to be processed—but drive up space requirements and work-in-process inventory. An allocation of buffer capacity that minimizes the sum of these competing costs is desired.

Example 9: Traffic Signal Sequencing

Civil engineers want to sequence the traffic signals along a busy section of road to reduce driver delay and the congestion occurring along narrow cross streets. For each traffic signal, the length of the red, green, and green-turn-arrow cycles can be set individually.

Example 10: Online Services

A company offering online information services over the Internet is changing its computer architecture from central mainframe computers to distributed workstation computing. The numbers and types of CPUs, the network structure, and the allocation of processing tasks all need to be chosen. Response time to customer queries is the key performance measure.

What do these design problems have in common? Clearly, a simulation model could be useful in each, and all have an implied goal of finding the best design relative to some performance measures (cost, delay, etc.). In each example, there are potentially a very large number of alternative designs, ranging from tens to thousands, and certainly more than the 2 to 100 we considered in Section 2.2. Some of the examples contain a diverse collection of decision variables: discrete (number of AGVs, number of CPUs), continuous (tanker size, red-cycle length), and qualitative (routing strategy, algorithm for allocating processing tasks). This makes developing a metamodel, as described in Section 3, difficult.

All of these problems fall under the general topic of “optimization via simulation,” where the goal is to minimize or maximize some measures of system performance, and system performance can be evaluated only by running a computer simulation. Optimization via simulation is a relatively new but already vast topic, and commercial software has become widely available. In this section, we describe the key issues that should be considered in undertaking optimization via simulation, provide some pointers to the available literature, and give one example algorithm.

4.1 What Does ‘‘Optimization via Simulation’’ Mean?

Optimization is a key tool used by operations researchers and management scientists, and there are well-developed algorithms for many classes of problems, the most famous being linear programming. Much of the work on optimization deals with problems in which all aspects of the system are treated as being known with certainty; most critically, the performance of any design (cost, profit, makespan, etc.) can be evaluated exactly.

In stochastic, discrete-event simulation, the result of any simulation run is a random variable. For notation, let x1,x2,…,xmx_{1} , x_{2} , \ldots , x_{m} be the m controllable design variables and let Y(x1,x2,…,xm)Y ( x_{1} , x_{2} , \dots , x_{m} ) be the observed simulation output performance on one run. To be concrete,x1,x2,x3x_{1} , x_{2} , x_{3} might denote

the number of AGVs, the load per AGV, and the routing algorithm used to dispatch the AGVs, respectively, in Example 6, while Y(x1,x2,x3)Y ( x_{1} , x_{2} , x_{3} ) could be total MHS acquisition and operation cost.

What does it mean to “optimiz ∵Y(x1,x2,…,xm)\because Y ( x_{1} , x_{2} , \ldots , x_{m} ) with respect to x1,x2,…,xm?x_{1} , x_{2} , \dots , x_{m} ? Since Y is a random variable we cannot optimize the actual value of Y. The most common definition of optimization is

maximize or minimizeE(Y(x1,x2,…,xm))(35) \text{maximize or minimize} E \left(Y (x_{1}, x_{2}, \dots , x_{m})\right)\tag{35}

In other words, the mathematical expectation, or long-run average, of performance is maximized or minimized. This is the default definition of optimization used in all commercial packages of which we are aware. In our example,E(Y(x1,x2,x3))E \left( Y ( x_{1} , x_{2} , x_{3} ) \right) is the expected, or long-run average cost of operating the MHS with x1AGVs,x2x_{1} \mathrm{A G V s} , x_{2} load per AGV⁡,\operatorname{A G V} , and routing algorithm x .

It is important to note that Formulation (35) is not the only possible definition, however. For instance, we might want to select the MHS design that has the best chance of costing less than $ D to purchase and operate, changing the objective to

maximizePr⁡(Y(x1,x2,x3)≤D) \text{maximize} \operatorname * {P r} (Y (x_{1}, x_{2}, x_{3}) \leq D)

We can fit this objective into formulation (35) by defining a new performance measure

Y′(x1,x2,x3)={1,ifY(x1,x2,x3)≤D0,otherwise Y^{\prime} (x_{1}, x_{2}, x_{3}) = \left\{\begin{array}{l l} 1, & \text{if} Y (x_{1}, x_{2}, x_{3}) \leq D \\ 0, & \text{otherwise} \end{array} \right.

and maximizing E(Y′(x1,x2,x3))E \left( Y^{\prime} ( x_{1} , x_{2} , x_{3} ) \right) instead.

A more complex optimization problem occurs when we want to select the system design that is most likely to be the best. Such an objective is relevant when one-shot, rather than long-run average, performance matters. Examples include a Space Shuttle launch, or the delivery of a unique, large order of products. Bechhofer, Santner, and Goldsman [1995] address this problem under the topic “multinomial selection”.

We have been assuming that a system design x1,x2,…,xmx_{1} , x_{2} , \ldots , x_{m} can be evaluated in terms of a single performance measure Y, such as cost. Obviously, this may not always be the case. In the MHS example, we might also be interested in some measure of system productivity, such as throughput or cycle time. At present, multiple objective optimization via simulation is not well developed. Therefore, one of three strategies is typically employed:

  1. Combine all of the performance measures into a single measure, the most common being cost. For instance, the revenue generated by each completed product in the MHS could represent productivity and be included as a negative cost.

  2. Optimize with respect to one key performance measure, but then evaluate the top solutions with respect to secondary performance measures. For instance, the MHS could be optimized with respect to expected cost, and then the cycle time could be compared for the top 5 designs. This approach requires that information on more than just the best solution be maintained.

  3. Optimize with respect to one key performance measure, but consider only those alternatives that meet certain constraints on the other performance measures. For instance, the MHS could be optimized with respect to expected cost for those alternatives whose expected cycle time is less than a given threshold.

Finally, there are typically constraints on the system design variables x1,x2,…,xm.x_{1} , x_{2} , \ldots , x_{m} .. In the online services in Example 10 there will be a budget constraint that limits the number of workstations tha can be purchased. Complex, and especially nonlinear, constraints make the feasible space more difficult to search. In some cases the constraints, like the objective function, cannot be evaluated with certainty and must be estimated from the simulation. For instance, while the online services company may want to minimize overall customer response time, they may have to do so subject to a constraint that the average response time for a particular, say, government, customer be below a certain level.

4.2 Why is Optimization via Simulation Difficult?

Even when there is no uncertainty, optimization can be very difficult if the number of design variables is large, if the problem contains a diverse collection of design variable types, or if little is known about the structure of the performance function. Optimization via simulation adds an additiona complication: The performance of a particular design cannot be evaluated exactly, but instead mus be estimated. Because we have estimates, it is not possible to conclude with assurance that one design is better than another, and this uncertainty frustrates optimization algorithms that try to move in improving directions. In principle, one can eliminate this complication by making so many replications, or such long runs, at each design point that the performance estimate has essentially no variance. In practice, this could mean that very few alternative designs will be explored because o the time required to simulate each one.

The existence of sampling variability forces optimization via simulation to make compromises. The following are the standard ones:

  1. Guarantee a prespecified probability of correct selection. The Select-the-Best Procedure in Section 2.2 is an example of this approach, which allows the analyst to specify the desired chance of being right. Such algorithms typically require either that every possible design be simulated or that a strong functional relationship among the designs (such as a metamodel) apply. Other algorithms can be found in Goldsman and Nelson [1998] and Kim and Nelson [2006].

  2. Guarantee asymptotic convergence. There are many algorithms that guarantee convergence to the global optimal solution as the simulation effort (number of replications, length o replications) becomes infinite. These guarantees are useful because they indicate that the algorithm tends to get to where the analyst wants it to go. However, convergence can be slow, and there is often no guarantee as to how good the reported solution is when the algorithm is terminated in finite time (as it must be, in practice). See Andrad´ottir [1998] for specific algorithms that apply to discrete- or continuous-variable problems.

  3. Optimal for deterministic counterpart. The idea here is to use an algorithm that would find the optimal solution if the performance of each design could be evaluated with certainty. An example might be applying a standard nonlinear programming algorithm to the simulation optimization problem. It is typically up to the analyst to make sure that enough simulation effort is expended (replications or run length) to ensure that such an algorithm is not misled by sampling variability. Direct application of an algorithm that assumes deterministic evaluation to a stochastic simulation is not recommended.

  4. Robust heuristics. Many heuristics have been developed for deterministic optimization problems that do not guarantee finding the optimal solution, but nevertheless have been shown to be very effective on difficult, practical problems. Some of these heuristics use randomness as part of their search strategy, so one might argue that they are less sensitive to sampling variability than other types of algorithms. Nevertheless, it is still important to make sure that enough simulation effort is expended (replications or run length) to ensure that such an algorithm is not misled by sampling variability.

Robust heuristics are the most common algorithms found in commercial optimization via simulation software. We provide some guidance on their use in the next section. See Fu [2002] for a comprehensive discussion of optimization theory versus practice and Olafsson [2006] for more´ about robust heuristics.

4.3 Using Robust Heuristics

By a “robust heuristic” we mean a procedure that does not depend on strong problem structure— such as continuity or convexity of E(Y(x1,…,xm))E \left( Y ( x_{1} , \ldots , x_{m} ) \right)—to be effective, can be applied to problems with mixed types of decision variables, and, ideally, is tolerant of some sampling variability. Genetic algorithms (GA) and tabu search (TS) are two prominent examples, but there are many others and many variations of them. Such heuristics form the core of most commercial implementations. To give a sense of these heuristics, we describe GA and TS next. We caution the reader that only a high-leve description of the simplest version of each procedure is provided. The commercial implementations are much more sophisticated.

Suppose that there are kk possible solutions to the optimization via simulation problem. Let X={x1,x2,…,xk}\mathbf{X} = \{\mathbf{x} _ {1} , \mathbf{x} _ {2} , \ldots , \mathbf{x} _ {k} \} denote the solutions, where the ith solution xi=(xi1,xi2,…,xim)\mathbf{x} _ {i} = ( x_{i 1} , x_{i 2} , \dots , x_{i m} ) provides specific settings for the m decision variables. The simulation output at solution xi\mathbf{x} _ {i} is denoted Y(xi)Y ( \mathbf{x} _ {i} ) this could be the output of a single replication, or the average of several replications. Our goal is to find the solution x∗\mathbf{x} ^ {*} that minimizes E(Y(x))E \left( Y ( \mathbf{x} ) \right)).

On each iteration, known as a generation, a GA operates on a “population” of pp solutions. Denote the population of solutions on thejth iteration as P(j)={x1(j),x2(j),…,xp(j)}\mathbf{P} ( j ) = \{\mathbf{x} _ {1} ( j ) , \mathbf{x} _ {2} ( j ) , \ldots , \mathbf{x} _ {p} ( j ) \}. There may be multiple copies of the same solution in P(j)\mathbf{P} ( j ), and P(j)\mathbf{P} ( j ) may contain solutions that were discovered on previous iterations. From iteration to iteration, this population evolves in such a way that good solutions tend to survive and give birth to new, and hopefully better, solutions, while inferior solutions tend to be removed from the population. The basic GA is given here.

Basic Genetic Algorithms (GA)

Step 1. Set the iteration counter j=0j = 0, and select, perhaps randomly, an initial population of pp solutions P(0)={x1(0),…,xp(0)}\mathbf{P} ( 0 ) = \{\mathbf{x} _ {1} ( 0 ) , \ldots , \mathbf{x} _ {p} ( 0 ) \}.

Step 2. Run simulation experiments to obtain performance estimates Y(x)Y ( \mathbf{x} ) for all p solutions x(j)\mathbf{x} ( j ) in P(j)\mathbf{P} ( j ).

Step 3. Select a population of p solutions from those in P(j)\mathbf{P} ( j ) in such a way that those with smaller Y(x)Y ( \mathbf{x} ) values are more likely, but not certain, to be selected. Denote this population of solutions as P(j+1)\mathbf{P} ( j + 1 )).

Step 4. Recombine the solutions in P(j+1)\mathbf{P} ( j + 1 ) via crossover (which joins parts of two solutions xi(j+1)\mathbf x_{i} ( j + 1 ) and xℓ(j+1)\mathbf{x} _ {\ell} ( j + 1 ) to form a new solution) and mutation (which randomly changes a part of a solution xi(j+1),\mathbf{x} _ {i} ( j + 1 ) ,).

Step 5. Set j=j+1j = j + 1 and go to Step 2.

The GA can be terminated after a specified number of iterations, when little or no improvement is noted in the population, or when the population containsp copies ofthe same solution.At termination, the solution x∗\mathbf{x} ^ {*} that has the smallest Y(x)Y ( \mathbf{x} ) value in the last population is chosen as best, or alternatively, the solution with the smallest Y(x)Y ( \mathbf{x} ) over all iterations could be chosen.

GAs are applicable to almost any optimization problem, because the operations of selection, crossover, and mutation can be defined in a very generic way that does not depend on specifics o the problem. However, when these operations are not tuned to the specific problem,aGA⁡′s\mathrm{a} \operatorname{G A} ^ {\prime} \mathrm{s} progress can be very slow. Commercial versions are often self-tuning, meaning that they update selection, crossover, and mutation parameters during the course of the search. There is some evidence that GAs are tolerant of sampling variability in Y(x)Y ( \mathbf{x} ) because they maintain a population of solutions rather than focusing on improving a current-best solution. In other words, it is not critical that the GA rank the solutions in a population of solutions perfectly, because the next iteration depends on the entire population, not on a single solution.

Tabu search (TS), on the other hand, identifies a current best solution on each iteration and then tries to improve it. Improvements occur by changing the solution via “moves.” For example, the solution (x1,x2,x3)( x_{1} , x_{2} , x_{3} )) could be changed to the solution (x1+1,x2,x3)( x_{1} + 1 , x_{2} , x_{3} ) by the move of adding 1 to the first decision variable (perhaps x1x_{1} represents the number of AGVs in Example 6,^ {6 ,} so the move would add one more AGV). The “neighbors” of solution x are all of those solutions that can be reached by legal moves. TS finds the best neighbor solution and moves to it. However, to avoid making moves that return the search to a previously visited solution, moves may become “tabu” (not usable) for some number of iterations. Conceptually, think about how you would find your way through a maze: If you took a path that lead to a dead end, then you would avoid taking that path again—it would be tabu.

The basic TS algorithm is given next. The description is based on Glover [1989].

Basic Tabu Search (TS)

Step 1. Set the iteration counter j=0j = 0 and the list of tabu moves to empty. Select an initial solution x∗\mathbf{x} ^ {*} in X, perhaps randomly.

Step 2. Find the solution x′\mathbf{x} ^ {\prime} that minimizes Y(x)Y ( \mathbf{x} ) over all of the neighbors of X∗\mathbf{X} ^ {*} that are not reached by tabu moves, running whatever simulations are needed to do the optimization

Step 3. I Y(x′)<Y(x∗)Y ( \mathbf{x} ^ {\prime} ) < Y ( \mathbf{x} ^ {*} ), then x∗=x′;x^{*} = x^{\prime} ;; move the current best solution to x′x^{\prime} Step 4. Update the list of tabu moves and go to Step 2.

The TS can be terminated when a specified number of iterations have been completed, when some number of iterations has passed without changing X∗\mathbf{X} ^ {*}, or when there are no more feasible moves. At termination, the solution x∗\mathbf{x} ^ {*} is chosen as best.

TS is fundamentally a discrete-decision-variable optimizer, but continuous decision variables can be discretized, as described in Section 4.4. TS aggressively pursues improving solutions, and therefore tends to make rapid progress. However, it is more sensitive to random variability in Y(x), because x∗ is taken to be the true best solution so far and attempts are made to improve it. There are probabilistic versions ofTS that should be less sensitive, however.An important feature ofcommercial implementations of TS, which is not present in the Basic TS, is a mechanism for overriding the tabu list when doing so is advantageous.

Next, we offer three suggestions for using commercial products that employ a GA, TS, or other robust heuristic: controlling sampling variability, restarting, and clean up.

Control Sampling Variability

In many cases, it will up to the user to determine how much sampling (replications or run length) will be undertaken at each potential solution. This is a difficult problem in general. Ideally, sampling should increase as the heuristic closes in on the better solutions, simply because it is much more difficult to distinguish solutions that are close in expected performance from those that differ widely. Early in the search, it may be easy for the heuristic to identify good solutions and search directions, because clearly inferior solutions are being compared to much better ones; however, late in the search this might not be the case.

If the analyst must specify a fixed number of replications per solution that will be used through the search, then a preliminary experiment should be conducted. Simulate several designs, some at the extremes of the solution space and some nearer the center. Compare the apparent best and apparent worst of these designs, using the approaches in Section 1. Using the technique described in Section 1.3, find the minimum for the number of replications required to declare these designs to be statistically significantly different. This is the minimum number of replications that should be used.

Restarting

Because robust heuristics provide no guarantees that they converge to the optimal solution for optimization via simulation, it makes sense to run the optimization two or more times to see which run yields the best solution. Each optimization run should use different random number seeds or streams and, ideally, should start from different initial solutions. Try starting the optimization at solutions on the extremes of the solution space, in the center of the space, and at randomly generated solutions. If people familiar with the system suspect that certain designs will be good, be sure to include them as possible starting solutions for the heuristic.

Clean Up

After the optimization run or runs have completed, it is critical to perform a second set of experiments on the top designs identified by the heuristic, to avoid two types of errors: Failing to recognize the best system design that was simulated during the search, and poorly estimating the performance of the design that is selected at the end. These errors occur because no optimization algorithm can hope to make any progress while at the same time maintaining statistical error control every step of the way. Therefore, we recommend cleaning up after the search, by which we mean performing a rigorous statistical analysis employing the comparison techniques in Section 2, and specifically the

Select-the-Best Procedure in Section 2.2, to evaluate which are the best or near-best of the designs discovered during the search. The top 5 to 10% of the system designs simulated during the search should be subjected to this controlled experiment. The “clean up” concept was introduced in Boesel, Nelson and Kim [2003].

In this section, we present an algorithm for optimization via simulation known as random search. The specific implementation is based on Algorithm 2 in Andrad´ottir [1998], which provides guaranteed asymptotic convergence under certain conditions. Thus, it will find the true optimal solution if permitted to run long enough. However, in practice, convergence can be slow, and the memory requirements of this particular version of random search can be quite large. Even though random search is not a robust heuristic, we will also use it to demonstrate some strategies we would employ in conjunction with such heuristics and to demonstrate why optimization via simulation is tricky even with what appears to be an uncomplicated algorithm.

The random-search algorithm that we present requires that there be a finite number of possible system designs, although that number may be quite large. This might seem to rule out problems with continuous decision variables, such as conveyor speed. In practice, however, apparently continuous decision variables can often be discretized in a reasonable way. For instance, if conveyor speed can be anything from 60 to 120 feet per minute, little may be lost by treating the possible conveyor speeds as 60,61,62,⋯ ,12060 , 61 , 62 , \cdots , 120 feet per minute (61 possible values). Note, however, that there are algorithms designed specifically for continuous-variable problems (Andrad´ottir [1998]).

Again, let the k possible solutions to the optimization via simulation problem be denoted {x1,x2,…,xk}\{\mathbf{x} _ {1} , \mathbf{x} _ {2} , \ldots , \mathbf{x} _ {k} \}, where the ith solution xi=(xi1,xi2,…,xim)\mathbf{x} _ {i} = ( x_{i 1} , x_{i 2} , \ldots , x_{i m} ) provides specific settings for the m decision variables. The simulation output at solution xi\mathbf{x} _ {i} is denoted Y(xi)Y ( \mathbf{x} _ {i} ); this could be the output of a single replication or the average of several replications. Our goal is to find the solution x∗\mathbf{x} ^ {*} that minimizes E(Y(x)),E \left( Y ( \mathbf{x} ) \right) ,).

On each iteration of the random-search algorithm, we compare a current good solution to a randomly chosen competitor. If the competitor is better, then it becomes the current good solution. When we terminate the search, the solution we choose is the one that has been visited most often— which means that we expect to revisit solutions many times.

Random-Search Algorithm

Step 1. Initialize counter variables C(i)=0fori=1,2,…,kC ( i ) = 0 \mathrm{f o r} i = 1 , 2 , \ldots , k. Select an initial solution i0.i^{0} ., and set C(i0)=1.[Hint:C(i)C ( i^{0} ) = 1 . [ H i n t {:} C ( i ) counts the number of times we visit solution i.]

Step 2. Choose another solution i from the set of all solutions except i0i^{0} in such a way that each solution has an equal chance of being selected.

Step 3. Run simulation experiments at the two solutions i0i^{0} and i′i^{\prime} to obtain outputs Y(i0)Y ( i^{0} ) and Y(i′)Y ( i^{\prime} ) If Y(i′)<Y(i0)Y ( i^{\prime} ) < Y ( i^{0} ), then set i0=i′i^{0} = i^{\prime}. (See note following Step 4.)

Step 4. Set C(i0)=C(i0)+1C ( i^{0} ) = C ( i^{0} ) + 1. If not done, then go to Step 2. If done, then select as the estimated optimal solution xi∗x _ {i^{*}} such that C(i∗)C ( i^{*} ) is the largest count.

Note that, if the problem is a maximization problem, then replace Step 3 with

Step 3 . Run simulation experiments at the two solutions i0i^{0} and i′i^{\prime} to obtain outputs Y(i0)Y ( i^{0} ) and Y(i′)Y ( i^{\prime} ) If Y(i′)>Y(i0)Y ( i^{\prime} ) > Y ( i^{0} ), then set i0=i′i^{0} = i^{\prime} One of the difficult problems with many optimization-via-simulation algorithms is knowing when to stop. (Exceptions include algorithms that guarantee a probability of correct selection.) Typical rules might be to stop after a certain number of iterations, stop when the best solution has not changed much in several iterations, or stop when all time available to solve the problem has been exhausted. Whatever rule is used, we recommend applying a statistical selection procedure, such as the Select-the-Best Procedure in Section 2.2, to the top 5 to 10% of the apparently best solutions. This is done to evaluate which among them is the true best with guaranteed confidence, and to precisely estimate their performance. If the raw data from the search have been saved, then these data can be used as the first-stage sample for a two-stage selection procedure.

Suppose that a manufacturing system consists of 4 stations in series. The zeroth station always has raw material available. When the zeroth station completes work on a part, it passes the part along to the first station, then the first passes the part to the second, and so on. Buffer space between stations 0 and 1, 1 and 2, and 2 and 3 is limited to 50 parts in total. If, say, station 2 finishes a part but there is no buffer space available in front of station 3, then station 2 is blocked, meaning that it cannot do any further work. The question is how to allocate these 50 spaces to minimize the expected cycle time per part over one shift.

Let xix_{i} be the number of buffer spaces in front of station i. Then the decision variables are x1,x2,x3x_{1} , x_{2} , x_{3} with the constraint that x1+x2+x3=50x_{1} + x_{2} + x_{3} = 50(it makes no sense to allocate fewer buffer spaces than we have available). This implies a total of 1326 possible designs (can you figure out how this number is computed?).

To simplify the presentation ofthe random-search algorithm, let the counter for solution (x1,x2,x3)( x_{1} , x_{2} , x_{3} ) be denoted as C(x1,x2,x3)C ( x_{1} , x_{2} , x_{3} )

Random-Search Algorithm

Step 1. Initialize 1326 counter variables C(x1,x2,x3) = 0.C ( x_{1} , x_{2} , x_{3} ) ~ = ~ 0 ., one for each of the possible solutions (x1,x2,x3)( x_{1} , x_{2} , x_{3} ). Select an initial solution, say,(x1=20,x2=15,x3=15)( x_{1} = 20 , x_{2} = 15 , x_{3} = 15 ) and set C(20, 15, 15) 1.

Step 2. Choose another solution from the set of all solutions except (20, 15, 15) in such a way tha each solution has an equal chance of being selected. Suppose (11, 35, 4) is chosen.

Step 3. Run simulation experiments at the two solutions to obtain estimates of the expected cycle time Y(20, 15, 15) and Y(11, 35, 4). Suppose that Y(20,15,15) < Y(11,35,4)Y ( 20 , 15 , 15 ) ~ < ~ Y ( 11 , 35 , 4 ). Then (20, 15, 15) remains as the current good solution.

Step 4. Set C(20,15,15)=C(20,15,15)+1C ( 20 , 15 , 15 ) = C ( 20 , 15 , 15 ) + 1

Step 2. Choose another solution from the set of all solutions except (20, 15, 15) in such a way that each solution has an equal chance of being selected. Suppose (28, 12, 10) is chosen.

Step 3. Run simulation experiments at the two solutions to obtain estimates of the expected cycle time Y(20, 15, 15) and Y(28, 12, 10). Suppose that Y(28,12,10) :< :Y(20,15,15)Y ( 28 , 12 , 10 ) \ : < \ : Y ( 20 , 15 , 15 ). Then (28, 12, 10) becomes the current good solution.

Step 4. Set C(28,12,10)=C(28,12,10)+1,C ( 28 , 12 , 10 ) = C ( 28 , 12 , 10 ) + 1 , Step 2. Choose another solution from the set of all solutions except (28, 12, 10) in such a way tha each solution has an equal chance of being selected. Suppose (0, 14, 36) is chosen.

Step 3. Continue…

When the search is terminated, we select the solution (x1,x2,x3)( x_{1} , x_{2} , x_{3} ) that gives the largest C(x1,x2,x3)C ( x_{1} , x_{2} , x_{3} ) count. As we discussed earlier, the top 5 to 10 solutions should then be subjected to a separate statistical analysis to determine which among them is the true best, with high confidence. In this case, the solutions with the largest counts would receive the second analysis.

Despite the apparent simplicity of the Random-Search Algorithm, we have glossed over a subtle issue that often arises in algorithms with provable performance. In Step 2, the algorithm must randomly choose a solution such that all are equally likely to be selected (except the current one). How can this be accomplished in Example 11? The constraint that x1+x2+x3=50x_{1} + x_{2} + x_{3} = 50 means that x1,x2x_{1} , x_{2} and x cannot be sampled independently. One might be tempted to sample x as a discrete uniform random variable on 0 to 50, then sample x2x_{2} as a discrete uniform on 0to50−x10 \mathrm{t o} 50 - x_{1}, and finally set x3=50−x1−x2x_{3} = 50 - x_{1} - x_{2}. But this method does not make all solutions equally likely, as the following illustration shows: Suppose that x1x_{1} is randomly sampled to be 50. Then the trial solution must be (50,0,0)( 50 , 0 , 0 ); there is only one choice. But if x1=49x_{1} = 49, then both (49, 1, 0) and (49,0,1)( 49 , 0 , 1 ) are possible. Thus,x1=49x_{1} = 49 should be more likely than x1=50x_{1} = 50 if all solutions with x1+x2+x3=50x_{1} + x_{2} + x_{3} = 50 are to be equally likely.

5 Summary

This chapter provided a basic introduction to the comparative evaluation of alternative system designs based on data collected from simulation runs. It was assumed that a fixed set of alternative system designs had been selected for consideration. Comparisons based on confidence intervals and the use of common random numbers were emphasized. A brief introduction to metamodels—whose purpose is to describe the relationship between design variables and the output response—and to optimization via simulation—whose purpose is to select the best from among a large and diverse collection o system designs—was also provided. There are many additional topics of potential interest, beyond the scope of this text, in the realm of statistical analysis techniques relevant to simulation. Some o these topics are:

a. experimental design models, whose purpose is to discover which factors have a significan impact on the performance of system alternatives;

b. output-analysis methods other than the methods of replication and batch means;

c. variance-reduction techniques, which are methods to improve the statistical efficiency of simulation experiments (common random numbers being an important example).

The reader is referred to Banks [1998] and Law [2007] for discussions of these topics and of others relevant to simulation.

The most important idea is that simulation output data require a statistical analysis in order to be interpreted correctly. In particular, a statistical analysis can provide a measure of the precision of the results produced by a simulation and can provide techniques for achieving a specified precision.

REFERENCES

ANDRADOTTIR, S. [1998], “Simulation Optimization,” Chapter 9 in´ Handbook ofSimulation, J. Banks, ed., Wiley, New York.

ANDRADOTTIR, S. [1999], “Accelerating the Convergence ofRandom Search Methods for Discrete Stochastic´ Optimization,” ACM TOMACS, Vol. 9, pp. 349–380.

BANKS, J., ed. [1998], Handbook ofSimulation, Wiley, New York.

BATES, D. M., AND D. G. WATTS [1988], Nonlinear Regression Analysis and its Applications, Wiley, New York.

BECHHOFER, R. E., T. J. SANTNER, AND D. GOLDSMAN [1995], Design and Analysis for Statistical Selection, Screening and Multiple Comparisons, Wiley, New York.

BOESEL, J., B. L. NELSON, AND N. ISHII [2003], “A Framework for Simulation-Optimization Software,” IIE Transactions, Vol. 35, pp. 221–229.

BOESEL, J., B. L. NELSON,AND S. KIM [2003], “Using Ranking and Selection to ‘Clean Up’After Simulation Optimization,” Operations Research, Vol. 51, pp. 814–825.

BOX, G. E. P., AND N. R. DRAPER [1987], Empirical Model-Building and Response Surfaces, Wiley, New York.

FU, M. C. [2002], “Optimization for Simulation: Theory vs. Practice,” INFORMS Journal on Computing, Vol. 14, pp. 192–215.

GLOVER, F. [1989], “Tabu Search—Part I,” ORSA Journal on Computing, Vol. 1, pp. 190–206.

GOLDSMAN, D., AND B. L. NELSON [1998], “Comparing Systems via Simulation,” Chapter 8 in Handbook ofSimulation, J. Banks, ed., Wiley, New York.

HINES, W. W., D. C. MONTGOMERY, D. M. GOLDSMAN, AND C. M. BORROR [2002], Probability and Statistics in Engineering, 4th ed., Wiley, New York.

HOCHBERG, Y., AND A. C. TAMHANE [1987], Multiple Comparison Procedures, Wiley, New York.

HSU, J. C. [1996], Multiple Comparisons: Theory and Methods, Chapman & Hall, New York.

KIM, S., AND B. L. NELSON [2006], “Selecting the Best System,” Chapter 17 in Handbooks in Operations Research and Management Science: Simulation, S. G. Henderson and B. L. Nelson, eds., North-Holland, New York.

KLEIJNEN, J. P. C. [1975], Statistical Techniques in Simulation, Parts I and II, Dekker, New York

KLEIJNEN, J. P. C. [1987], Statistical Toolsfor Simulation Practitioners, Dekker, New York.

KLEIJNEN, J. P. C. [1988], “Analyzing Simulation Experiments with Common Random Numbers,” Management Science, Vol. 34, pp. 65–74.

KLEIJNEN, J. P. C. [1998], “Experimental Design for Sensitivity Analysis, Optimization, and Validation of Simulation Models,” Chapter 6 in Handbook ofSimulation, J. Banks, ed., Wiley, New York.

LAW, A. M. [2007], Simulation Modeling and Analysis, 4th ed., McGraw-Hill, New York.

MONTGOMERY, D. C. [2000], Design and Analysis ofExperiments, 5th ed., Wiley, New York.

NELSON, B. L., J. SWANN, D. GOLDSMAN, AND W.-M. T. SONG [2001], “Simple Procedures for Selecting the Best System when the Number of Alternatives is Large,” Operations Research, Vol. 49, pp. 950–963.

NELSON, B. L. [1987], “Some Properties of Simulation Interval Estimators Under Dependence Induction,” Operations Research Letters, Vol. 6, pp. 169–176.

NELSON, B. L. [1992], “Designing Efficient Simulation Experiments,” Proceedings ofthe 1992 Winter Simu lation Conference, J. J. Swain, D. Goldsman, R. C. Crain, and J. R. Wilson, eds., Arlington, VA, Dec. 13–16, pp. 126–132.

OLAFSSON, S. [2006], “Metaheuristics,” Chapter 21 in´ Handbooks in Operations Research and Management Science: Simulation, S. G. Henderson and B. L. Nelson, eds., North-Holland, New York.

WHITT, W. [1989], “Planning Queueing Simulations,” Management Science, Vol. 35, pp. 1341–1366.

WRIGHT, R. D., AND T. E. RAMSAY, JR. [1979], “On the Effectiveness of Common Random Numbers,” Management Science, Vol. 25, pp. 649–656.

YANG, F., B. ANKENMAN, AND B. L. NELSON [2007], “Efficient Generation of Cycle Time-Throughput Curves through Simulation and Metamodeling,” Naval Research Logistics, Vol. 54, pp. 78–93.

EXERCISES

  1. A company has dump trucks that repeatedly go through three activities: loading, weighing, and traveling. Assume that there are eight trucks and that, at time 0, all eight are at the loaders. Weighing time per truck on the single scale is uniformly distributed between 1 and 9 minutes, and travel time per truck is exponentially distributed with mean 85 minutes. An unlimited queue is allowed before the loader(s) and before the scale. All trucks can be traveling at the same time. Management desires to compare one fast loader against the two slower loaders currently being used. Each of the slow loaders can fill a truck in from 1 to 27 minutes, uniformly distributed. The new fast loader can fill a truck in from 1 to 19 minutes, uniformly distributed. The basis for comparison is mean system response time over a 40-hour time horizon, where a response time is defined as the duration of time from a truck arrival at the loader queue to that truck’s departure from the scale. Perform a statistically valid comparison of the two options simulated using common random numbers.

  2. In Exercise 6 from the Estimation of Absolute Performance chapter, consider the following alternative (M, L) policies:

L
Low30High40
MLow50(50,30)(50, 40)
High100(100,30)(100, 40)

Investigate the relative costs of these policies, using suitable modifications of the simulation model developed in Exercise 6 from the Estimation of Absolute Performance chapter. Compare the four system designs on the basis of long-run mean monthly cost. First, make four replications of each (M, L) policy, using common random numbers to the greatest extent possible. Each replication should have a 12-month initialization phase followed by a 100-month data-collection phase. Compute confidence intervals having an overall confidence level of90% for mean monthly cost for each policy. Then estimate the additional replications needed to achieve confidence intervals that do not overlap. Draw conclusions as to which is the best policy.

  1. Reconsider Exercise 7 from the Estimation of Absolute Performance chapter. Compare the four inventory policies studied in Exercise 2, taking the cost of rush orders into account when computing monthly cost.

  2. Reconsider Exercise 8 from the Estimation of Absolute Performance chapter. Compare the four monthly inventory policies studied in Exercise 2, taking into account the selling price of the perishable items.

  3. In Exercise 9 from the Estimation of Absolute Performance chapter, investigate the effect of the order quantity on long-run mean daily cost. Each order arrives on a pallet on a delivery truck, so the permissible order quantities Q are multiples of 10; that is, Q may equal 10, or 20, or 30, . . . . In Exercise 9, the policy Q 20 was investigated.

(a) First, investigate the two policies Q 10 and Q 50. Use the run lengths, and so on, suggested in Exercise 9 from the Estimation of Absolute Performance chapter. On the basis of these runs, decide whether the optimal Q, say, Q∗, is between 10 and 50 or is greater than 50. (The cost curve as a function of Q should have what kind of shape?)

(b) Using the results in part (a), suggest two additional values for Q and simulate the two policies. Draw conclusions. Include an analysis of the strength of your conclusions.

  1. In Exercise 10 from the Estimation of Absolute Performance chapter, find the number of cards Q that the card-shop owner should purchase to maximize the profit within an error (for tota profit) of approximately $5.00 at most. First, make runs for the policy of ordering Q 250 and Q 350 cards. With these results, plus the results of Exercise 10 for ordering Q=300Q = 300 cards, decide on a range of Q worth considering further: 200 Q 250, or 250≤Q≤300.250 \leq Q \leq 300 ., etc. Then investigate this restricted range for two additional policies: Q 200 and Q=225,Q = 225 ,, or Q 265 and Q 285, etc.

  2. In Exercise 11 from the Estimation of Absolute Performance chapter, investigate the effec of target level M and review period N on mean monthly cost. Consider two target levels M, determined by 10 from the target level used in Exercise 11, and consider review periods N of 1 month and 3 months. Which (N, M) pair is best, according to these simulations?

  3. Reconsider Exercises 13 and 14 from the Estimation of Absolute Performance chapter, which involved the scheduling rules (or queue disciplines) first-in–first-out (FIFO) and priority-by-type (PR) in a job shop. In addition to these two rules, consider a shortest imminent operation (SIO) scheduling rule: For a given station, all jobs of the type with the smallest mean processing time are given highest priority. For example, when using an SIO rule at station 1, jobs are processed in the following order: type II first, then type I, and type III last. Two jobs of the same type are processed on a FIFO basis. Develop a simulation experiment to compare the FIFO, PR, and SIO rules on the basis of mean total response time over all jobs.

  4. In Exercise 13 from the Estimation of Absolute Performance chapter (the job shop with FIFO rule), find the minimum number of workers needed at each station to avoid bottlenecks. A bottleneck occurs when average queue lengths at a station increase steadily over time. [Hint: Do not confuse increasing average queue length due to an inadequate number of servers with increasing average queue length due to initialization bias. In the former case, average queue length continues to increase indefinitely and server utilization is 1.0. In the latter case, average queue length eventually levels off and server utilization is less than 1.] Report on utilization of workers and total time it takes for a job to get through the job shop, by type, and over all types.

[Hint: If server utilization at a work station is 1.0, and if average queue length tends to increase linearly as simulation run length increases, it is a good possibility that the work station is unstable and therefore is a bottleneck. In this case, at least one additional worker is needed at the work station. Use queueing theory, namely λ/ciμ<1\lambda / c_{i} \mu < 1, to suggest the minimum number of workers needed at station 1. Recall that λ is the arrival rate,1/μ1 / \mu is the overall mean service time for one job with one worker, and cic_{i} is the number of workers at station i. Attempt to use the same basic condition,λ/ciμ<1\lambda / c_{i} \mu < 1, to suggest an initial number of servers at station i for i=2,3,4.]i = 2 , 3 , 4 . ]10. (a) Repeat Exercise 9 for the PR scheduling rule (see Exercise 14 from the Estimation of Absolute Performance chapter).

(b) Repeat Exercise 9 for the SIO scheduling rule (see Exercise 8).

(c) Compare the minimum required number of workers for each scheduling rule: FIFO vs. PR vs. SIO.

  1. With the minimum number of workers found in above Exercises 9 and 10 for the job shop of Exercise 13 from the Estimation of Absolute Performance chapter, consider adding one worker to the entire shop. This worker can be trained to handle the processing at only one station. At which station should this worker be placed? How does this additional worker affect mean tota response time over all jobs? Over type I jobs? Investigate the job shop with and without the additional worker for each scheduling rule: FIFO, PR, SIO.

  2. In Exercise 17 from the Estimation of Absolute Performance chapter, suppose that a buffer of capacity one item is constructed in front of each worker. Design an experiment to investigate whether this change in system design has a significant impact upon individual worker utilizations ρ1,ρ2,ρ3\rho_{1} , \rho_{2} , \rho_{3}, and ρ4.\rho_{4} . At the very least, compute confidence intervals for ρ10−ρ11\rho_{1} ^ {0} - \rho_{1} ^ {1}^1 and ρ40−ρ41\rho_{4} ^ {0} - \rho_{4} ^ {1}, where ρis\rho_{i} ^ {s} is utilization for worker i when the buffer has capacity s.

  3. A clerk in the admissions office at Small State University processes requests for admissions materials. The time to process requests depends on the program of interest (e.g., industria engineering, management science, computer science, etc.) and on the level of the program (Bachelor’s, Master’s, Ph.D.). Suppose that the processing time is modeled well as normally distributed, with mean 7 minutes and standard deviation 2 minutes. At the beginning of the day it takes the clerk some time to get set to begin working on requests; suppose that this time is modeled well as exponentially distributed, with mean 20 minutes. The admissions office typically receives between 40 and 60 requests per day.

Let x be the number of applications received in a day, and let Y be the time required to process them (including the set-up time). Fit a metamodel for $\operatorname{E} ( Y | x ) $ by making n replications at the design points x=40,50x = 40 , 50, 60. Notice that, in this case, we know that the correct model is

E⁡(Y∣x)=β0+β1x=20+7x \operatorname{E} (Y | x) = \beta_{0} + \beta_{1} x = 20 + 7 x

(Why?) Begin with n=2n = 2 replications at each design point and estimate β0\beta_{0} and β1\beta_{1}. Gradually increase the number of replications and observe how many are required for the estimates to be close to the true values.

  1. Repeat the previous exercise using CRN. How do the results change?

  2. Consider the simple linear regression model Y=β0+β1x+εY = \beta_{0} + \beta_{1} x + \varepsilon. Find a statistics textbook that covers regression modeling. There you will find a test for the hypothesis β1=0\beta_{1} = 0(rejecting this hypothesis is evidence that x and Y are linearly related). The usual assumptions behind this test do not hold if we use CRN. Where do they break down?

  3. Riches and Associates retains its cash reserves primarily in the form of certificates of deposit (CDs), which earn interest at an annual rate of 8%. Periodically, however, withdrawals must be made from these CDs in order to pay suppliers, etc. These cash outflows are made through a checking account that earns no interest. The need for cash cannot be predicted with certainty. Transfers from CDs to checking can be made instantaneously, but there is a “substantial penalty” for early withdrawal from CDs. Therefore, it might make sense for R&A to make use of the overdraft protection on their checking account, which charges interest at a rate of $0.00033 per dollar per day (i.e., 12% per year) for overdrafts.

R&A likes simple policies in which it transfers a fixed amount, a fixed number of times, per year. Currently, it makes 6 transfers per year, of $18,250 each time. Your job is to find a policy that reduces its long-run cost per day.

Judging from historical patterns, demands for cash arrive a rate of about 1 per day, with the arrivals being modeled well as a Poisson process. The amount of cash needed to satisfy each demand is reasonably represented by a lognormally distributed random variable with mean $300 and standard deviation $150.

The penalty for early withdrawal is different for different CDs. It averages $150 for each withdrawal, regardless of size, but the actual penalty can be modeled as a uniformly distributed random variable with range $100 to $200.

Use cash level in checking to determine the length of the initialization phase. Make enough replications that your confidence interval for the difference in long-run cost per day does not contain zero. Be sure to use CRN in your experiment design.

  1. If you have access to commercial optimization-via-simulation software, test how well it works as the variability of the simulation outputs increases. Use a simple model, such as Y=x2+ε,Y = x^{2} + \varepsilon , where ε is a random variable with a N(0,σ2)\mathrm{N} ( 0 , \sigma^{2} ) distribution, and for which the optimal solution is known (x=0( x = 0 for minimization, in this case). See how quickly, or whether, the software can

find the true optimal solution as σ2\sigma^{2} increases. Next, try more complex models with more than one design variable.

  1. For Example 11, show why there are 1326 solutions. Then derive a way to sample x_1, x_2, and x_3 such that x1+x2+x3=50x_{1} + x_{2} + x_{3} = 50 and all outcomes are equally likely.

  2. A critical electronic component with mean time to failure of x years can be purchased for 2x thousand dollars (thus, the more reliable the component, the more expensive it is). The value of x is restricted to being between 1 to 10 years, and the actual time to failure is modeled as exponentially distributed. The mission for which the component is to be used lasts one year; if the component fails in less than one year, then there is a cost of $20,000 for early failure. What value of x should be chosen to minimize the expected total cost (purchase plus early failure)?

To solve this problem, develop a simulation that generates a total cost for a component with mean time to failure of x years. This requires sampling an exponentially distributed random variable with mean x, and then computing the total cost as 2000x plus 20,000 if the failure time is less than 1. Fit a quadratic metamodel in x and use it to find the value of x that minimizes the fitted model. [Hints: Select several values of x between 1 and 10 as design points. At each value of x, let the response variable Y(x) be the average of at least 30 observations of total cost.]

  1. Use optimization-via-simulation software to solve Exercise 19. If you do not have access to such software, use the random-search algorithm, and let the possible values of x be 1.00, 1.25, 1.50, . . . , 10.00 .

  2. Suppose that demand for a certain product has a Poisson distribution with mean 10 units. Use optimization-via-simulation software (or the random-search algorithm, if you do not have access to such software) to find the order size x that maximizes the probability that demand equals x units, assuming that 0≤x≤1000 \leq x \leq 100, and x is an integer. (This problem is based in Andrad´ottir [1999].) [Hint: On each replication of the simulation for a trial value of x, a random demand is generated from the Poisson distribution with mean 10. If this random demand equals x, then the response is Y(x) 1; otherwise it is Y(x) 0.]

  3. In Exercise 16, consider the following 5 policies: 6 transfers of $18,250; 5 transfers of $21,900; 4 transfers of $27,375; 3 transfers of $36,500; and 2 transfers of $54,750. Make 10 replications of each policy and construct simultaneous confidence intervals for the differences in expected cost of all pairs of policies.

  4. In Exercise 16, consider the following 5 policies: 6 transfers of $18,250; 5 transfers of $21,900; 4 transfers of $27,375; 3 transfers of $36,500; and 2 transfers of $54,750. Make 10 replications of each policy and then apply the Select-the-Best Procedure to select the policy with the leas expected cost per day. Use  $2 per day.

List of Materials Available on www.bcnn.net

SimulationTools.xls