Skip to content

raelpha/ratp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo RATP

Paris metro simulation

IA04 - Multi Agent Systems

Project Assignment - Université de Technologie de Compiègne (Spring 2021)

Animated network

We developped a simulation of the whole parisian subway. The system simulates the basic dynamics of a subway train (accelerations, minimum distances, ...), traveller pathfinding (A*, MCT, ...), station/lines closures, etc.

We restrained ourselves to the simulation of subway services, but the system is versatile and RER (suburban), trams, and even buses could be added to the simulation. The data is available, we only missed a few cores, RAM, and a lot of caffeine.

💾 Project Files Description

There are 4 main directories for this projet:

  • data directory - Includes all data tranformed to fit our needs, taken from IDFM Open Data.
  • img directory - Includes all logos used in this documentation.
  • lib directory - Includes all libraries used for the project. None of these belong to us.
  • src directory - Includes all java files.

You can also find our slides used for our (academic) presentation here: presentation slides.

-----------------------------------------------------

📺 Video example

You can find below a Youtube video that shows how the simulation is working:

Youtube video example

-----------------------------------------------------

📂 Dependencies

We used Mason for this project.

From their website: "MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D."

-----------------------------------------------------

📋 Input files

We used IDFM OpenData ressources to implement the model.

The data folder contains:

  • lines - A shapefile, with each LineString as a line section, storing:
    • color: color of the line section
    • origin: starting point of the line section
    • destination: ending point of the line section
    • line: the line id
  • schedule - A csv, storing the different itineraries (multiple paths on the same line)
    • order: order
    • station_name: name of the station
    • line: line id
    • direction: heading of the train
    • station_origin: origin station
    • station_destination: destination station
    • service: the service name (usually origin -> destination)
  • stations - A list of all the stations
    • name: the name of the station

The aforementionned files can be made out of IDFM ressources using QGIS, or handmade with ETL tools such as Pentaho or Alteryx.

The system will automatically compute the connecting stations based on their names. Three singletons are build at startup onto these files and will store all the dynamic objects shared by the agents and their algorithms.

As little information as possible is hardcoded so you may adapt this simulation to your favorite transit system as long as the data is on these input files with little code adjustment.

-----------------------------------------------------

🔓 License

This projet uses the MIT License (that you can find in LICENSE.md file).

-----------------------------------------------------

📜 Contributors

Raphael Jaures: GitHub BadgeLinkedIn Badge

Yvain Raynaud: GitHub Badge LinkedIn Badge

Clément Giummara LinkedIn Badge

Jimmy Luong: GitHub Badge LinkedIn Badge

Hugo Martin LinkedIn Badge

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published