Future Malfunction Information

The documentation in intro_observationbuilder.rst suggests it’s possible to know in the future when an agent will experience a malfunction (in agent.malfunction_data). Is that intentional? If so, that would seem to remove much of the challenge of having stochastic malfunctions at all, particularly in a rescheduling problem.

Hi @jonsafari

Thank you for your comment. In the current version of Flatland we do still provide this information to participants. It does indeed simplify the re-scheduling a bit as you already know in advance when you will need to re-schedule.

The task of real-time re-scheduling still remains however. At every new malfunction a random new time will be sampled and the novel situation needs to be analyzed and an optimal solution needs to be found.

The stochastic events in the current implementation are introduced to simulate realistic railway operations where a plan is made in advance and minor (or sometimes major) disturbances force you to re-schedule your traffic to keep traffic moving. Their effect is mostly to disturbe initial plans that can be generated out of the initial state of the environment. The time won by having a short view into the future (knowing in advance when the next malfunction happens) does simplifly the task at hand a little bit but still requires controlers to come up with new plans in a quick manner.

The current development of Flatland aims at making the challenge both accessible to Deep Learning / Machine Learning enthusiasts and Operations Researchers. Thus we formulate the tasks as a combination of planning and re-scheduling (short-time, real time planning).

I hope this clarifies our intentions. We are open for further inputs and suggestions on how we can improve Flatland.

Best regards,
Erik

1 Like