One of my personal favourite "techniques" in O.R. is dynamic programming, both as a way of modelling problems, and because it can be a formal description of sequential decision making. We were on holiday in Malta, when a situation arose which called for some interesting sequential thinking.
The island of Gozo is just north of Malta, and is the second inhabited island of the archipelago. A ferry runs every 45 minutes between the islands. We wanted to go to Gozo for the day. From our hotel, we could take bus 222, leaving at 7:45 and 8:15, scheduled to take 51 minutes to the ferry. Or we could catch bus 12 for three stops and five minutes, at 8:02, to connect with the X1, a fast service. We opted for the latter. The X1 service was supposed to arrive a few minutes before the departure of the ferry. Bus 12 was late, and reached the connection point at 8:12. My timetable said that X1 left there at 8:15, but the timetable on the stop said it was due to leave at 8:12. So, at this stage in our progress, we didn't know if the X1 had been or not. Our only option was to wait and see.
|One of Malta's buses|
Then we discovered that the bus stop had a display showing the estimated time of arrival of two buses. We hadn't seen such a display before in Malta, so didn't know if this was updated on GPS data from the buses. And the display showed the 222 and the X1. The latter was due at 8:24, so we thought that it might make up time to connect with the ferry. Then the X1 dropped off the display, because another bus service was on the display. This was extra evidence that the data was being continuously updated. But we faced a dilemma - what should we do when the 222 arrived? Get on it, or wait? We had evidence that the fast X1 was on its way, and were inclined to believe that the information was correct - maybe not to be sure, but enough to give us a strong belief in the information. We knew that the 222 would miss the ferry, but didn't know if the connection between the X1 and the ferry was strong enough for the ferry to wait if the bus was a little late.
So, we chose to wait.
|The Gozo ferry, returning from the island|
And as the X1 drove into the ferry terminal, the 9:00am ferry went out.
It was interesting to face the problem of the credibility of information, assorted bits of uncertainty, and a choice from which there was no turning back - once on a bus, we couldn't change.
Parallels with commercial O.R. are numerous, as decision-making proceeds over time, with varying amounts of information being available, and the credibility of that data needing to be assessed.
And somebody in the island's bus services had decided that this bus stop should have data for the next two bus arrivals, not one, not three. Again, another decision, which affected passengers.