This challenge tackles a key problem in the transportation world:
How to efficiently manage dense traffic on complex railway networks?
This is a real-world problem faced by many transportation and logistics companies around the world such as the Swiss Federal Railways and Deutsche Bahn. Your contribution may shape the way modern traffic management systems are implemented, not only in railway but also in other areas of transportation and logistics!
The Flatland challenge aims to address the problem of train scheduling and rescheduling by providing a simple grid world environment and allowing for diverse experimental approaches.
This is the third edition of this challenge. In the first one, participants mainly used solutions from the operations research field. In subsequent editions, we are encouraging participants to use solutions which leverage the recent progress in reinforcement learning.
Here are the links to the previous editions of the Flatland challenge:
Check out the solutions by the winners of the previous editions of the Flatland challenge:
🌱 What's new
Up until this point, the trains in Flatland were allowed to depart and arrive whenever they desired, the only goal was to make every train reach its destination as fast as possible. However, things are quite different in the real world. Timing and punctuality are crucial to railways. Trains have specific schedules. They are expected to depart and arrive at particular times.
This concept has been introduced to the environment in Flatland 3.0. Trains now have a time window within which they are expected to start and reach their destination.
For returning participants from Flatland 2, read the migration guide for more details on code related changes that will help you edit your submission to make it compatible with Flatland 3.
Your goal is to construct the best schedule where all trains arrive at their target destination with a minimal delay with respect to the requested arrival time. If trains do not arrive at their target at all, then additional penalties are factored in based on common principles of railway operations.
The schedule requests are formulated in a way that each train has more time than theoretically needed to reach the destination. The challenge is to use each train’s extra time budget in a way that all trains arrive with minimum delay, e.g. by letting other trains pass, by getting out of the way or by minimizing the time spent on the infrastructure.
And as if that was not already complex enough, we also have to face unpredictable delays if trains malfunction.
A central question while designing an agent is the observations used to take decisions. As a participant, you can either work with one of the base observations that are provided or better, design an improved observation yourself!
These are the three provided observations:
- Global Observation: The whole scene is observed.
- Local Grid Observation: A local grid around the agent is observed.
- Tree Observation: The agent can observe its navigable path to some predefined depth.
⚖ Evaluation metrics
- RL Track
- Overall Track
The prizes will be distributed based on the leaderboard of Round 2.
Warm up Round: August 17th, 2021 - August 31st, 2021
Round 1: September 17th, 2021 - October 31st, 2021
Round 2: November 1st, 2021 - December 15th, 2021
Warm up round - Familiarize yourself to the new features, suggest your feature ideas you have and we'll try implement them before the start of Round 1. Flatland 3 is in beta until end of this round.
Round 1 - This round will test on Flatland with timetables. Speed profiles will be kept equal for all trains in this round.
Round 2 - This should will add variable speed profiles to the trains, as well as denser schedules making the environments harder. Additional details may be added before end of Round 1.
You are allowed to make:
- 5 graded submissions per day
- 15 debug submissions per day during the course of Round 1.
Best Overall Agent - The best performing agent.
Best RL Agent - The best agent using an reinforcement learning solution. The RL component should have significant contribution in achieving the score.
🚉 Next stops
The Flatland documentation contains everything you need to get started with this challenge!
Explore the environment on colab without having anything setup locally. Explore the Flatland environment
Read the instructions on how to set up a gitlab repository to make submissions. Submission instructions
Want to dive straight in?
Challenge starter kit
Want to explore advanced solutions such as distributed training and imitation learning?
The Flatland paper is out on arXiv!
🍁 NeurIPS Talks
Flatland was one of the NeurIPS 2020 Competition, and was presented both in the Competition Track and in the Deep RL Workshop. We also organized a NeurIPS Townhall where participants and organizers discussed their experience.
The recording of all these talks are now publicly available:
- Competition Design & Results (11 min)
- Winner Talks Team An Old Driver (5 min)
- Winner Talks Team JBR_HSE (5 min)
- Winner Talks, Team ai-team-flatland (5 min)
- Real world applications of Flatland - Panel (8 min)
- Deep RL Workshop Talk (8 min)
- NeurIPS Townhall (2 hours)
Join the Discord channel to exchange with other participants!
If you have any problem or questions for the organizers, use either the Discussion Forum or open an issue:
We strongly encourage you to use the public channels mentioned above for communications between the participants and the organizers. But if you're looking for a direct communication channel, feel free to reach out to us at:
- Nimish Santhosh - firstname.lastname@example.org
- Dipam Chakraborty - email@example.com
- Erik Nygren - firstname.lastname@example.org
- Sharada Mohanty - email@example.com
Observing the Flatland 3 Environment