Hostname: page-component-745bb68f8f-mzp66 Total loading time: 0 Render date: 2025-02-11T06:28:07.858Z Has data issue: false hasContentIssue false

MAKING SIMULATIONS MORE EFFICIENT WHEN ANALYZING POISSON ARRIVAL SYSTEMS AND MEANS OF MONOTONE FUNCTIONS

Published online by Cambridge University Press:  06 March 2006

Sheldon M. Ross
Affiliation:
Epstein Department of Industrial and Systems Engineering, University of Southern California, Los Angeles, CA 90089-0193, smross@usc.edu
Rights & Permissions [Opens in a new window]

Abstract

For a system in which arrivals occur according to a Poisson process, we give a new approach for using simulation to estimate the expected value of a random variable that is independent of the arrival process after some specified time t. We also give a new approach for using simulation to estimate the expected value of an increasing function of independent uniform random variables. Stratified sampling is a key technique in both cases.

Type
Research Article
Copyright
© 2006 Cambridge University Press

1. INTRODUCTION AND SUMMARY

In Section 2 we consider a model in which arrivals occur according to a Poisson process, and we then present an efficient way of using stratified sampling to estimate the expected value of a random variable whose mean depends on the arrival process only through arrivals up to some specified time t. In Section 3 we show how to use stratified sampling to efficiently estimate the expected value of a nondecreasing function of random numbers.

2. SYSTEMS HAVING POISSON ARRIVALS

Consider a system in which arrivals occur according to a Poisson process and suppose that we are interested in using simulation to compute E [D], where the value of D depends on the arrival process only through those arrivals before time t. For instance, D might be the sum of the delays of all arrivals by time t in a parallel multiserver queuing system. We suggest the following approach to using simulation to estimate E [D]. First, with N(t) equal to the number of arrivals by time t, note that

Each run of our suggested simulation procedure generates an independent estimate of E [D]. At each stage of a run, we will have a set S whose elements are arranged in increasing value and which represents the set of arrival times. For simplicity, we will present our approach under the assumption that E [D|N(t) = 0] can be easily computed and also that D can be determined by knowing the arrival times along with the service time of each arrival. A run is as follows:

  1. Let N = 1. Generate a random number U1 and let S = {tU1}.
  2. Suppose N(t) = 1, with the arrival occurring at time tU1. Generate the service time of this arrival and compute the resulting value of D. Call this value D1.
  3. Let N = N + 1.
  4. Generate a random number UN and add tUN in its appropriate place to the set S so that the elements is S are in increasing order.
  5. Suppose N(t) = N, with S specifying the N arrival times; generate the service time of the arrival at time tUN, and using the previously generated service times of the other arrivals, compute the resulting value of D. Call this value DN.
  6. If N < m, return to Step 3. If N = m, use the inverse transform method to generate the value of N(t) conditional on it exceeding m. If the generated value is m + k, generate k additional random numbers, multiply each by t, and add these k numbers to the set S. Generate the service times of these k arrivals and, using the previously generated service times, compute D. Call this value D>m.

With D0 = E [D|N(t) = 0], the estimate from this run is

Using the fact that the set of unordered arrival times, given that N(t) = j, is distributed as a set of j independent uniform (0,t) random variables, it follows that the preceding is an unbiased estimator of E [D]. Generating multiple runs and taking the average value of the resulting estimates yields the final simulation estimator.

We now show that EST has a smaller variance than does the raw simulation estimator D.

Theorem 1:

Proof: The quantity D can be simulated as follows:

1. Generate the value of N′, a random variable whose distribution is the same as that of N(t) condition to exceed m. That is,

2. Generate the values of A1,…,AN, independent uniform (0,t) random variables.

3. Generate the values of S1,…,SN, independent service time random variables.

4. Generate the value of N(t), a Poisson random variable with mean λt.

5. If N(t) ≤ m, use the arrival times A1,…,AN(t) along with their service times S1,…,SN(t) to compute the value of D.

6. If N(t) > m, use the arrival times A1,…,AN along with their service times S1,…,SN to compute the value of D.

It is now easy to check, by conditioning on N(t), that

The result now follows from the conditional variance formula. █

Remarks:

  1. The use of Eq. (1) is the use of stratified sampling (see [3]), which has been previously suggested when analyzing Poisson arrival systems (see, for instance, [1, p. 228]). However, previous suggestions were to first estimate E [D|N(t) = 1] by a sequence of independent runs; then to estimate E [D|N(t) = 2] by a new sequence of independent runs (that are also independent of the runs used to compute E [D|N(t) = 1]), and so on. This differs from our idea of estimating all of the quantities E [D|N(t) = j],j = 1,…,m, and E [D|N(t) > m] in a single run, sequentially making use of the set of generated data values used to estimate E [D|N(t) = j] to speed the estimation of E [D|N(t) = j + 1], and so on.
  2. It should be noted that the variance of our estimator
    is, because of the positive correlations introduced by reusing the same data, larger than it would be if the Dj were independent estimators. However, we believe that the increased speed of the simulation will usually more than make up for this increased variance.
  3. When computing Dj+1, we can make use of quantities used in computing Dj. For instance, suppose Di,j was the delay of arrival i when N(t) = j. Then if the new arrival time tUj+1 is the kth smallest of the new set S, then Di,j+1 = Di,j for i < k.
  4. Other variance reduction ideas can be used in conjunction with our approach. For instance, we can improve the estimator by using a linear combination of the service times as a control variable.

It remains to determine an appropriate value of m. A reasonable approach might be to choose m to make

sufficiently small. Because Var(N(t)) = λt, a reasonable choice would be of the form

for some positive integer k. One can often bound E [D|N(t) > m] and use this bound to determine the appropriate value of m. For instance, suppose D is the sum of the delays of all arrivals by time t in a single server system with mean service time 1. Then because this quantity will be maximized when all arrivals come simultaneously, we see that

Because the conditional distribution of N(t) given that it exceeds m will, when m is at least five standard deviations greater than E [N(t)], put most of its weight near m + 1, we see from the preceding equation that one can reasonably assume that

Using that for a standard normal random variable Z (see [2]),

we see, upon using the normal approximation to the Poisson, that for

, we can reasonably assume that

For instance, with λt = 103 and k = 6, the preceding upper bound is about 0.0008.

3. COMPUTING THE EXPECTED VALUE OF AN INCREASING FUNCTION

Suppose that we want to use simulation to compute E [g(U1,…,Un)], where U1,…,Un are independent uniform(0,1) random variables and g is nondecreasing in each of its coordinates. Because of the monotonicity of g,

will often be a good predictor of g in the sense that

will be relatively small. Because of this, we suggest generating U1,…,Un by first generating the value of

and then generating U1,…,Un conditional on the generated value of the product. In generating the value of

on different simulation runs, we suggest using stratified sampling.

To implement the preceding idea, we need to first show how to generate

and how to generate U1,…,Un conditional on

. Note the following:

(a) −ln(U1···Un) is a gamma(n,1) random variable.

(b) −ln(U1···Uj),j = 1,…,n, can be regarded as the first j event times of a Poisson process with rate 1.

(c) Given that the nth event of a Poisson process occurs at time t, the first n − 1 event times are distributed as the ordered values of a set of n − 1 uniform(0,t) random variables.

Now the generation can proceed as follows:

1. Generate the value of T, a gamma random variable with parameters (n,1). (T will equal −ln(U1···Un).)

2. Generate n − 1 random numbers, V1,…,Vn−1, and order them to obtain V(1) < ··· < V(n−1). (So, TV(j) = −ln(U1···Uj).)

3. Let V(0) = 0 and V(n) = 1, and set

Let Gn denote the distribution function of a gamma random variable with parameters (n,1). Suppose that we are planning to do m simulation runs. Then on the kth simulation run, a random number U should be generated and T should be taken to equal Gn−1((U + k − 1)/m) (i.e., we use stratified sampling when generating the successive values of T). We should then follow Steps 2 and 3 of the preceding and then for the values of Ui obtained in Step 3, compute g(U1,…,Un). The average of the values of g(U1,…,Un) obtained in the m runs is then taken as the estimator of E [g(U1,…,Un)].

Remarks:

1. It follows from the fact that a gamma random variable with parameters (n,1) has the same distribution as does ½χ2n2, where χ2n2 is a chi-squared random variable with 2n degrees of freedom, that

where Fχ2n2 is the distribution function of a chi-squared random variable with 2n degrees of freedom. Approximations for the inverse of the chi-square distribution function are readily available in the literature.

2. We suggest using Gn−1((k − 0.5)/m) as the value of T on the kth simulation run; that is, rather than generating the value of a uniform random variable on ((k − 1)/m,k/m) to determine T, just use the value (k − 0.5)/m.

3. Another way to do the stratification is to choose r values 0 = a0 < a1 < ··· < ar < ar+1 = ∞. Determine pi = P{ai−1 < T < ai}, i = 1,…,r + 1, and then perform mpi of the m planned simulation runs with T simulated conditional on its being in the interval (ai−1,ai). This conditional value can be simulated by using the rejection procedure based on an exponential random variable that is conditioned to lie in the same interval. Indeed, even better is to do a small preliminary simulation to estimate the quantities Var(g(U1,…,Un)|ai−1 < T < ai). If si2,i = 1,…,r + 1, are the estimates, then do a total of m(pi si2/[sum ]j pj sj2) of the runs conditional on ai−1 < T < ai, either by using the inverse transform or the rejection method. (If the inverse transform is used, then you should stratify within the subintervals.) The final estimate is

, where Xj is the average of the simulation runs done conditional on ai−1 < T < ai.

4. If g(u1,…,un) is only increasing in k of its variables, say in u1,…,uk, then we can generate U1,…,Un on successive runs by using stratified sampling on

, generating U1,…,Uk conditional on the value of this product and generating Ui,i > k, as independent uniforms.

5. If g(u1,…,un) is increasing in some of its variables and decreasing in the others, then we can still utilize the preceding idea. For if g is, say, increasing in its first r variables and decreasing in its final nr, then

which shows that we can just work with the increasing function h(u1…,un) = g(u1,…,ur,1 − ur+1,…,1 − un).

References

REFERENCES

Glasserman, P. (2004). Monte Carlo methods in financial engineering. New York: Springer.
Ross, S.M. (2002). Probability models for computer science. New York: Academic Press.
Ross, S.M. (2002). Simulation. New York: Academic Press.