This is the third post in a series that attempts to tackle the issue that “my bus is never on time!”. I recommend you read the first and second posts before this one, as there may be some references to the ideas discussed there.
We’ve covered a lot of ground in the last two posts, so I think it’s probably good if we review what we’ve discovered so far about why the bus is never on time:
- An on time bus requires us to predict exactly when every bus is going to visit every stop, every day. This is called the scheduling problem. Because the world we live in is (thankfully) not entirely predictable, we are asking for the impossible: predict the unpredictable. Accepting the insanity of attempting the logically impossible, the problem now becomes one of getting as close as we can.
- Armed with a little bit of understanding of uncertainty, we can employ two strategies to try and cope with the randomness: by changing the conditions of the operating environment of the bus (by adding special lanes and signals, or protecting it from weather), and by shifting uncertainty onto areas that matter less to operations.
- After we mitigate as much as we can (cost effectively), we can shift uncertainty in the travel between stops, and absorb some of the lateness into the holding control strategy. This effectively changes a randomly early bus to one that waits a random amount of time. We can even build slack time into our schedule to cause more buses to be ahead of schedule, and therefore subject them to our strategy. This comes at the cost of more buses “waiting around”, and therefore longer route and travel times for passengers.
- The picking up and dropping off of passengers is the biggest culprit in our unpredictable bus.
If we can find a way to deal with #4, we will have made great leaps towards improving the overall situation of our scheduling problem. Looking at #4 in detail is the subject of today’s post.
I should pause here and mention that I am not (even remotely) the first person to have come to this conclusion. There is a huge body of academic literature on the scheduling problem, and many of them address the issue of passenger boarding and alighting times as a key issue in the whole story. One such paper by G.F. Newell1 takes a comprehensive stab at modelling this problem, albeit with some necessary simplifications (which I hope to remove). His paper is incredibly dense and employs a fair amount of mathematical wizardry, and is therefore often cited for its conclusions but rarely fully understood. At this point, my motivations for writing these posts should start to become clear: I am trying to explain the concepts to you, dear reader, in the hope I can explain them to myself at the same time.
The Unstable Bus Stop
We are trying to compare the time spent by a bus that stops to pick up those pesky passengers, compared with the same bus just cruising on by. It is helpful to break this time into two parts:
- The time taken to slow the bus down to a stop, open the doors, close the doors, and accelerate back up to speed.
- The time taken for passengers to get off the bus, and for others to get on the bus.
This breakdown gives us two things to focus on. Part #1 is considered a fixed time, and doesn’t depend on how many people are waiting at the stop, as long as there’s at least one person waiting. Part #2 is dependent on the number of passengers waiting. If we add Part #1 and Part #2 together, we get the total amount of extra time a bus spends picking up passengers. Either Part #1 and Part #2 happen together, or neither of them happen.
Here’s where where the uncertainty comes in: we can’t predict exactly how many people will be waiting for the bus at each bus stop. In fact, we can’t even predict if there will be zero people (bus cruises by), or more than zero people (bus has to stop). We could force the bus to stop at every stop and eliminate this difference, but then we are just behaving like a subway or an LRT, and those require a whole lot more demand than a normal bus route gets. We will have to settle for allowing buses to pass empty stops.
Here comes one of our fundamental assumptions about the problem: The more time there is between consecutive buses at a stop, the more likely it is that one or more passengers will be waiting there.
This may seem intuitive, but it’s such an important assumption that it’s worth making sure it’s correct. Let’s consider the alternatives:
- If every passenger always took the same bus every day, and was never late for their bus, then we could predict how many passengers would be waiting at each stop, and the randomness from passengers would be removed entirely. Although this might be a good approximation for commuters, it certainly isn’t true in general. People make trips spontaneously all the time, and we have to account for that.
- More time between buses certainly can’t make it less likely that people will show up, since that would require people leaving the stop.
Remember that we are not talking about the scheduled time separation in buses (the headway), since we decided that was someone else’s problem. When I say more time between consecutive buses, what I really mean is the first bus is early, and the second bus is late. If we want to apply our holding control, this statement simplifies to the second bus is late.
But what does our assumption really mean? Essentially, we are implying that there is some “background arrival noise”; some people will decide to take the bus and arrive without knowing (or caring) about the schedule. We don’t know when or where they will come, and that is the source of our passenger uncertainty.
Now let’s move back to our stopping delay. If the second bus is delayed and we apply our assumption, it’s more likely that Parts #1 and #2 will happen, which means it’s more likely the bus will have to stop, and become more delayed. This again increases its delay, and the second bus moves further and further away from the first.
But what if we flip our assumption around, and state that the less time there is between consecutive buses, the less likely it is that one or more passengers will be waiting there? In that case, Parts #1 and #2 are less likely to happen, and the bus will become less delayed, or more early. Without holding control, we can see what will happen: buses that become a little closer together will become increasingly closer together, and buses that start a little farther apart will become increasingly farther apart. Take this to the extreme, and buses will form pairs. This is the (observed) phenomenon of bus bunching.
The concept of a positive feedback loop that pushes something away from a desired point (the scheduled times we want the bus to follow) is called an unstable state. This is akin to standing on the peak of a mountain: one step to the left or right, and gravity pulls you down (and more importantly sideways) at an increasing rate. Parts #1 and #2 play the part of gravity, and the unpredictability of when passengers arrive play the part of the chaotic wind bumping you around, causing you to lose your footing. And so we have a bit more insight into our source of passenger uncertainty. We can see that passenger randomness is linked to bus delays, and bus delays are linked to passenger randomness.
So what can we do about it? We have to go back to the only tool we have so far: holding control. We can use the holding control to again absorb the randomness that passengers create for an early bus, and we can add some slack time to catch some late buses, to a certain extent. We have leveled out the peak of the mountain a bit, but a strong enough wind (a missed traffic signal, congestion from an accident) still threatens to blow us over.
So next time you ride the bus, you can imagine the driver struggling along a snowy peak like Gandalf trying to cross the Redhorn Pass, buffeted by wind and sleet. The only difference is if the driver loses his footing it’s not certain death, it’s just a bunch of passengers wondering why their bus was late.
Thrilling, isn’t it?
Next time, we’ll broaden the picture a little bit, really look at what holding control can do for us, and start to learn what it means to get “as close as possible” to our impossible problem.
- G. F. Newell, “Unstable Brownian Motion of a Bus Trip,” in Statistical Mechanics and Statistical Methods in Theory and Application, New York: Plenum Press, 1977, pp. 645–667.