Clumping, and throughput in public transportation
    By Barry Leiba | December 9th 2009 05:21 PM | 3 comments | Print | E-mail | Track Comments
    About Barry

    Iā€™m a computer software researcher, and I'm currently working independently on Internet Messaging...

    View Barry's Profile

    Several weeks ago, New Scientist ran a story about some mathematical modeling work that a couple of researchers in Mexico did. They modeled public transportation systems, and investigated the clumping effect that causes buses and trains that are supposed to be evenly spaced to wind up traveling in irregularly spaced clusters:

    Public transport vehicles — underground trains, for example — set off from the start of their routes equally spaced. The problem starts when one is briefly delayed, making more time for passengers to accumulate at stations further down the track. Since passenger boarding is the main factor delaying trains, these extra people slow the train even more.

    Meanwhile, the gap between the delayed train and the one behind is shortened. That means fewer passengers for the train behind to pick up, making it pass through stations faster until it catches the train ahead. Eventually, all the trains on a route can end up crawling after the slowest, lead train.

    Not surprisingly, this clumping, or “platooning”, is bad for throughput: a second vehicle, or even a third, arrives so soon after the first that there are few passengers waiting for it. By the time the next cluster arrives, there’s a batch of people waiting for it, who had expected a train or a bus five or ten minutes earlier, or more. And adding more vehicles just makes the clusters larger.

    There are ways to patch things up, by having the lead train skip some stations, for example, but the patches are poor responses to the situation. And just as it’s not surprising that the clumping is bad, it’s also not surprising that there’s an optimal way to stop the problem in its tracks (sorry). It’s a combination of

    1. requiring vehicles to stay at each stop for a minimum time, even if there’s no one waiting to board (this prevents their catching up to the one ahead), and
    2. having vehicles leave the stop after a maximum time, even if there are still people waiting to board (this stops the lead vehicle from being delayed, which is the primary cause of the clumping in the first place).

    Of course, this solution is a usability nightmare. Passengers sitting on a train that’s stopped at a station, waiting, when there’s no one to wait for, will be upset that they’re not moving ahead. Passengers left behind by a bus that closes its doors in their faces will be even more upset, for obvious reasons. Complaints will abound.

    But these are cultural issues. In Japan, I noted that the trains kept to a very strict schedule. They were on time, precisely. They waited for no one, and no one expected them to wait: signs, in Japanese and English, warned people to be ready, and announcements said that we’d be “making a brief stop”, emphasizing brief. If expectations are properly set and the passengers learn to be accustomed to the procedure, the system works. And, too, if the next train will be there soon enough, missing this one is tolerable — it’s much more of a problem when the next one isn’t due for an hour, but when that’s the case the schedules can be adjusted to allow for longer stops and catch-up periods (when the train waits an extra minute or two if it’s gotten ahead of schedule).

    The key is avoiding the outrage when the train or the bus doesn’t wait for someone who’s running to catch it, or even someone who’s just about to step through the door, having waited in the normal flow of passengers. It’s hard to get people to understand that while you may have your trip delayed by ten minutes, the result is that we’re keeping things moving for better throughput for everyone. Or, turning it around: waiting for you would mean, ultimately, making hundreds of other people late.

    It requires an adjustment from the “me first” approach that’s too common in our society.


    Gerhard Adam
    The question I would have is what delays passengers during the boarding process?  For example, if people are just getting on then the time can be reasonably accommodated, however if passenger are delayed from boarding because people are messing around with finding seats and getting situated, then that's a different problem.

    This type of situation occurs to varying degrees at airports in some of the shuttle services where a train comes along every few minutes and varying number of people get on and off.  The way this seems to be addressed is small cars (or multiple doors) so that boarding and leaving can be parallelized (as well as potentially have the entrance and exits on opposite sides of the track.

    It would seem that the problem is a fairly straightforward queuing model where each station represents a collection of individuals that could loosely be considered the "passenger arrival rate".  If the train is delayed, then as more passengers accumulated at each station, it effectively increases the "arrival rate" at each stop creating further delays. 

    Therefore, in my view, the bottleneck is that the trains are already running at capacity in terms of the number of passengers they can accommodate at each stop.   If they can't increase their ability to load passengers faster, then they would reach an "infinite" queue and be perpetually delayed.

    Mundus vult decipi
    Some of the delay is just more people getting into (and out of) each car than was planned for.  Some of the delay comes from people trying to get in while others are still getting out, and the whole process slows down (that's fixed by, as you said, separate entry and exit doors).  Some of the delay happens when the capacity of the cars is challenged — people delay getting in as they try a different car, and people forcing themselves into overfilled cars takes longer than getting into a half-empty car.  The model takes into account passenger arrival rate, queue length, delaying factors, etc, and lets the researchers tweak things and compare the throughput.

    The clumping problem actually causes irregularly full trains, in the worst case, where the lead train is overfull while some of the trailing trains are under capacity for a while.  That's the situation that can partially be fixed by having the lead (too-full) trains skip some stops, and let the under-capacity trains pick up those passengers.
    Gerhard Adam
    I understand, and I guess my point was that if the trains were designed for a certain carrying capacity then it stands to reason that when you exceed that capacity the design collapses.

    It would seem that the number of daily passengers (particularly around certain times) isn't highly variable on a daily basis, so by having a sufficient number of trains during short enough intervals, when a train fills to it's "designed" capacity, it should simply skip subsequent stations except to discharge passengers.  If they used opposing sides for entrance or exit, then they wouldn't have to worry about passengers attempting to board when discharging passengers.  However, it seems that it would also be a worthwhile consideration to simply have bigger trains with more flexible entrance/exit capabilities.  If a car is full, then passengers shouldn't need to discover this by trial and error. 
    Mundus vult decipi