I just got out of the “reprise” of the winning Edelman prize work by Netherlands Railways, and it was very, very good.
If you have been to the Netherlands, they have a very nice way of handling their trains: every route repeats every hour. So if you want to go from Utrecht to Amsterdam, there are trains at 13, 25, 43 and 55 minutes after the hour, every hour. Of course, the size of the train changes depending on the expected demand.
The Dutch have had the same schedule since 1970, but it was time for a change. Demand has doubled in that period, and there was little opportunity to increase the infrastructure. So could a better schedule reduce costs and improve service? Of course, or it wouldn’t be an Edelman Prize winner!
There were three pieces to the system: the timetabler, the crew assignment system, and the rolling stock assignment system. The timetabler was very interesting. You can formulate the problem as a mixed-integer program, but the cyclic nature of the hourly schedule requires the use of “mod” constraints. They tried MIP for a while (and even called in the big gun Lex Schrijver to look at it: I saw a talk by Lex a decade or more ago on work he did with Netherlands Railway on purchasing rail cars that is still one of the nicest applications talks I have ever seen), but eventually went over to constraint programming. From the talk, it appears they used constraint programming primarily to find a feasible solution, and then did some local improvements, but I will have to wait for the paper to be sure what is being done.
The other problems were solved with specialized integer programming methods.
The best part of the talk was their discussion of the implementation, which is where the models really came through. The plan was to have an important length of track doubled to coincide with the new schedule. That doubling didn’t happen, so they had to reschedule the crew essentially at the last minute.
The results have been really impressive. Crew costs are down 4% and rolling stock usage is down 6%, combining for an annual benefit of $75 million. As is not uncommon in OR projects, the system is both cheaper and works better. Punctuality is at an all-time high, and customer satisfaction is similarly improved. The increase in punctuality allowed them to increase fares by an additional 2%, for further profits of $30 million. Other than the fare increase, this looks like win-win: better service, more convenient times, cheaper operating costs.
At the end there was a nice video clip of the Minister of Transport saying how important OR is.
A worthy Edelman winner!
One thought on “Netherlands Railway Edelman summary”