@@ -202,6 +202,85 @@ for a in range(env.get_num_agents()):
...
@@ -202,6 +202,85 @@ for a in range(env.get_num_agents()):
Notice that `info['entering'][a]` does not mean that the action will have an effect:
Notice that `info['entering'][a]` does not mean that the action will have an effect:
if the next cell is blocked or the agent is malfunctioning, the action cannot be performed.
if the next cell is blocked or the agent is malfunctioning, the action cannot be performed.
## Rail Generators and Schedule Generators
The separation between rail generator and schedule generator reflects the organisational separation in the railway domain
- Infrastructure Manager (IM): is responsible for the layout and maintenance of tracks
- Railway Undertaking (RU): operates trains on the infrastructure
Usually, there is a third organisation, which ensures discrimination-free access to the infrastructure for concurrent requests for the infrastructure in a **schedule planning phase**.
However, in the **Flat**land challenge, we focus on the re-scheduling problem during live operations.
To see all the changes in action you can just run the `flatland_example_2_0.py` file in the examples folder. The file can be found [here](https://gitlab.aicrowd.com/flatland/flatland/blob/master/examples/flatland_2_0_example.py).
To see all the changes in action you can just run the `flatland_example_2_0.py` file in the examples folder. The file can be found [here](https://gitlab.aicrowd.com/flatland/flatland/blob/master/examples/flatland_2_0_example.py).