Flatland is an environment for developing and comparing multi-agent reinforcement learning algorithms in gridworlds.
This repository contains notebooks to get you started on the right track with the Flatland environment, in order to take part in the AIcrowd Flatland Challenge.
If you want to dive into challenge baselines right away, check out the various approaches below.
Part 1: The Rail Environment
- Create a
RailEnv
environment and render it - Check out the default observations
- "Train" a random agent
Part 2: Observations
- Finding suitable observations
- Creating your own observations
- Visualizing observations
Part 3: Level Generation
- Creating random rail networks
- Creating schedules
- Adjusting size and difficulty
Part 4: Malfunctions
- Introducing stochastic malfunctions
- Handling malfunctions
Part 5: Speed Profiles
- Handling agent speed
- Handling partial moves
The Flatland Challenge can be approached in different ways - for example using methods from operations research, reinforcement learning, or anything else!
The following notebooks show how to approach the problem using each of these methods.
Reinforcement Learning: DDQN
Solve simple rail problems using Double DQN.
Operations Research
Solve simple rail problems using OR methods.