7.1.4 Simulating Event Times from a Time-Dependent Poisson Process

Suppose that, as in Section 4.11, we have demands for an urban service which are generated in a Poisson manner but with an average rate, , which is a function of time. This is a most common case for urban service systems. We would, therefore, like to be able to simulate this type of demand accurately and efficiently for any given time interval [0, T]. In the following it will be assumed that the average demand rate is known for all t (0 ‹/= t ‹/= T). A typical pattern for is shown in Figure 7.12.

The most obvious approach is to use (7.5), substituting for We begin at time t = 0 and generate the first demand using for in (7.5). Assume that the first demand occurs at time t1. We then use (7.5) with to generate the time for the second demand, t2. We proceed in the same way, using, ... successively in (7.5) until eventually a demand's time of occurrence falls outside the interval T, at which point we can stop.

On second thought, however, this procedure turns out to be faulty. To see why, consider the case when a demand is simulated to occur at time t*, as shown in Figure 7.12. To generate the next demand we would then use= with (7.5). But because is small, the simulated interval until the next demand will tend to be a long one (its expected value is and thus we may "skip" (without generating any new demands) a good part of the period of time that follows t*, when there is an increase (a "hump") in demand. In the extreme case when is close to 0, we may in fact "jump" all the way to the end of the interval T.

The following four-step procedure overcomes these problems:
STEP 1: Estimate the mean arrival rate throughout the interval T,

STEP 2: Using a constant rate with (7.5), generate a sample value of N(T), say k, the number of Poisson events in T, in a manner identical to that of Example 5 (and Figure 7.9). Note that k is distributed as

STEP 3: Use the rejection method and the function with c= (Figure 7.12), a = 0, and b = T to generate exactly k unordered time instants in [0, T]. These are the instants when demands occur (cf. "unordered arrival times" for a Poisson process, Section 2.12). Note that can be greater or less than.
STEP 4: Rearrange (sort) the time instants into an ordered set{t1,t2,...,tk} where t1 is equal to Min t2 is equal to the second smallest of and so on. The instants {t1,t2,...,tk} are the simulated time instants for the occurrence of demands according to the time-dependent Poisson process with average rate
Exercise 7.3 Argue why the four-step procedure outlined above works correctly. What does each one of the four steps of the procedure accomplish?

The procedure presented above is somewhat inefficient because it makes two passes over T: once to generate k and a second time to generate the time instants, A single-pass procedure is developed in Problem 7.3. We also note that an efficient sorting algorithm that can be useful for Step 4 is described in Section 7.2.1.