No CrossRef data available.
Published online by Cambridge University Press: 06 March 2006
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.
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.
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:
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:
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.
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 n − r, then
which shows that we can just work with the increasing function h(u1…,un) = g(u1,…,ur,1 − ur+1,…,1 − un).