Planning vs Re-Scheduling
I would like to start a discussion about the differences between planning and re-scheduling and how they can be used to tackle the challenge at hand.
Planning
In railway (and in other transportation or logistics systems), this is done before the actual operation day and serves as a good starting point for operations. Finding an optimal plan that minimizes travel times, delays and costs can be done using many state-of-the-art OR algorithms (scales of real world problems are often the problem…).
For daily operations however, many unforeseen events occur and operations often deviate from the optimal plan. Thus another very important aspect of a good schedule/plan is robustness. In contrast to generate optimal schedules, the generation of stable/robust schedules is much more complex. Stability of a schedule can only be determined when the capabilities of re-scheduling are known, meaning how fast and reliable can we re-adapt our schedule.
Re-scheduling
Due to the many unforeseen events occurring in daily train operations, re-scheduling becomes essential to keep traffic moving efficiently. With re-scheduling we react to stochastic events that cause disturbances in the traffic network and make the initial schedule/plan infeasible.
Because re-scheduling cannot be pre-processed before the day of operations like the planning phase, there are harder constraints on computational time.
Re-scheduling algorithms need to handle uncertainties and come up with new plans for the transportation network, or at least the disturbed parts of it, in order to minimize delays occurring in the system. Because traffic is still running while the re-scheduled plan is being computed each found solution is only valid for a very brief time frame before it is outdated due to a changed state of the network.
Flatland Challenge and Re-scheduling
The FLATLAND challenge is set up to test different hypotheses around planning and scheduling. Many of you have probably realized that Round 0 and Round 1 can be solved by pre-computing optimal schedules and then just replay them in the environment. These are very good solutions and are one important step in the process of re-scheduling.
For Round 2 however, there will be a higher complexity due to the introduction of differential speeds as well as the occurrence of stochastic events during operations. Specially the introduction of stochasticity means that you’re algorithms need to observe the state of the environment constantly or at least when deviations from the expected environment state occur. In the cases where these changes occur, you will need to engage with the environment to resolve the issues. This is very similar to real world railway traffic management. Thus, your contributions to this problem might impact the way traffic management systems work in the future.