fleetpy
Simulation framework to model and control the tasks of vehicle fleets (routing, user-assignment, charging, ...)
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.7%) to scientific vocabulary
Repository
Simulation framework to model and control the tasks of vehicle fleets (routing, user-assignment, charging, ...)
Basic Info
- Host: GitHub
- Owner: TUM-VT
- License: mit
- Language: Python
- Default Branch: main
- Size: 22.4 MB
Statistics
- Stars: 79
- Watchers: 6
- Forks: 35
- Open Issues: 11
- Releases: 2
Metadata Files
README.md
🚖 FleetPy – Open-Source Fleet Simulation Framework
FleetPy is an open-source fleet simulation framework for modeling and controlling vehicle fleets in ride-sharing, autonomous mobility, and on-demand transport applications.
Whether you're a researcher, transportation engineer, or mobility innovator, FleetPy helps you analyze and optimize fleet operations, routing strategies, and demand-responsive services.
😶🌫️ Fleetpy for dummies 📖 Read the Wiki | 🛠 Installation Guide | 🚀 Quickstart
🎯 Key Features
✅ Agent-Based Simulation – Models individual vehicles, passengers, and operators.
✅ Flexible User-Operator Interaction – Supports multiple request-acceptance models.
✅ Multi-Fleet Management – Simulates ride-pooling, dispatching, and EV charging.
✅ Customizable Routing Algorithms – Choose between memory-efficient and fast methods.
✅ Modular & Extensible Design – Easily integrate new demand models, routing strategies, or data sources.
✅ Optimized for Large-Scale Scenarios – Handles thousands of vehicles and requests efficiently.
🚀 Quickstart
Get up and running in just a few commands!
```bash
Clone the repository
git clone https://github.com/TUM-VT/FleetPy.git cd FleetPy
Set up the virtual environment
conda env create -f environment.yml conda activate fleetpy
Run an example simulation
python run_examples.py ```
✔ The results will be saved in FleetPy/studies/example_study/results/
✔ To visualize the results, run:
bash
python replay_pyplot.py scenario_result_directory
🛠 Installation
1️⃣ Install with Conda (Recommended)
Ensure you have Anaconda installed.
```bash
Fetch the latest updates
git clone https://github.com/TUM-VT/FleetPy.git cd FleetPy
Set up a Conda environment
conda env create -f environment.yml conda activate fleetpy ```
2️⃣ Install C++ Router (Recommended)
For improved routing efficiency, compile the C++ router:
bash
cd FleetPy/src/routing/cpp_router
python setup.py build_ext --inplace
Ensure a C++ compiler and Cython are installed.
3️⃣ Install Optimizer (Optional)
For advanced optimization tasks, install the necessary optimizers:
🏆 Gurobi
To install Gurobi:
bash
python -m pip install gurobipy==12.0.1
You can acquire a free academic license from Gurobi. 🎓
⚡ OR-Tools
To install Google's OR-Tools:
bash
pip install ortools
This is useful for combinatorial optimization and routing problems.
📂 Data Preparation and Study Setup
For now, you can inspect the data structures and files in the examples provided in GitHub:
- 📁
FleetPy/data - 📁
FleetPy/studies
More detailed descriptions of the data structure, preprocessing steps, and result data will be provided in upcoming versions. Additionally, a GUI to set up scenarios (with a choice of submodules and data) is planned for the future. 🎨
In general, you can save your data and study definitions in the mentioned directories. These are included in .gitignore.
📊 Running a Simulation
To test an example scenario:
bash
python run_examples.py
✔ The output will be stored in:
📂 FleetPy/studies/example_study/results/
📊 Output Files
| File Name | Description |
|----------------------|-------------|
| 1_user_stats.csv | User request statistics |
| 2_0_op-stats.csv | Fleet vehicle task logs |
| standard_eval.csv | Aggregated evaluation results |
To analyze trends:
bash
python FleetPy/src/evaluation/temporal.py scenario_result_directory
🎥 Watch a Replay
To visualize a previously simulated scenario, run:
bash
python replay_pyplot.py scenario_result_directory <sim_seconds_per_real_second>
🛑 (Optional: Specify start time as an additional argument.)
Benchmark Data Sets
Input data and corresponding example scenario files are available for large-scale case studies of Manhattan, NY, Chicago, IL, and Munich, Germany. This data can be used as benchmark data sets to test and compare new algorithms or to set up large-scale simulations quickly. The FleetPy input data can be downloaded here and has to be copied into the FleetPy/data folder:
- Manhattan: https://doi.org/10.5281/zenodo.15187906
- Chicago: https://doi.org/10.5281/zenodo.15189440
- Munich: https://doi.org/10.5281/zenodo.15195726
🤝 Contributing
We welcome contributions from the community! 🚀
📌 How to contribute:
- Fork the repo & create a feature branch (
git checkout -b new-feature). - Commit your changes (
git commit -m "Added a cool feature"). - Push to your branch (
git push origin new-feature). - Make sure that the module tests are running (
\studies\module_tests\run_module_tests.py). - Open a Pull Request!
📢 Get Involved
💬 Join the discussion: GitHub Discussions
💻 Contribute: Open an issue or PR!
⭐ Support FleetPy: Give us a star ⭐ on GitHub!
🚀 Stay updated: Follow us on Homepage & LinkedIn
📌 Tested on
✔ Windows 10 Pro x64
✔ Chrome 79.0.3945
✔ Python 3.10
🧪 Research Projects Using FleetPy
FleetPy has been applied in various academic and applied research projects across topics like shared mobility, autonomous vehicle operations, and electrified fleets:
Ongoing Projects
- CONDUCTOR – Development of an integrated ride-parcel-pooling service using automated vehicles (CCAM), evaluated via FleetPy-Aimsun coupling (multi-modal integration, AVs, cooperative routing, traffic control, simulation coupling)
- metaCCAZE – Scientific support and simulation-based evaluation of Munich’s Living Lab innovations including multimodal logistics hubs, dynamic curbside management, and connected/autonomous last-mile vehicles. FleetPy contributes to monitoring and optimizing operations (multimodal hubs, curbside management, AV logistics, LL evaluation, policy support)
- MINGA – Evaluation of AV stop concepts and passenger interactions at TUM’s test field. FleetPy is used alongside MATSim and microscopic traffic simulations to model AV and non-AV traffic, evaluate climate and system-wide impacts, and support accessibility-focused user studies (AV integration, stop concepts, MATSim coupling, KPI evaluation, accessibility research)
- STADT:up – Simulation of autonomous shuttle bus in different inter-mobility scenarios with dynamic stops (Operation, traffic evaluation)
- SUM (Seamless Shared Urban Mobility) – Simulation-based evaluation of operational strategies for automated on-demand fleets in Munich using FleetPy, including integration with public transport, pricing strategies, and transferability to future mobility hubs (on-demand AV fleets, public transport integration, pricing, living lab scalability)
Completed Projects
MOIA – Implementation of algorithms to represent MOIA’s fleet control (operation, ride-pooling)
MCube: STEAM – Simulation of semi-flexible bus lines in Munich using FleetPy, integrated with the TUM-OSM decision support system (agent-based simulation, semi-flexible transit, DSS coupling, urban mobility, evaluation pipeline)
🧠 Do you use FleetPy in your research? Let us know!
Citation
If you find this framework useful for your work or use it in your project, please consider citing: Engelhardt, R., Dandl, F., Syed, A., Zhang, Y., Fehn, F., Wolf, F., Bogenberger, K. (2022). FleetPy: A Modular Open-Source Simulation Tool for Mobility On-Demand Services. Arxiv pre-print
@misc{engelhardt2022fleetpymodularopensourcesimulation,
title={FleetPy: A Modular Open-Source Simulation Tool for Mobility On-Demand Services},
author={Roman Engelhardt and Florian Dandl and Arslan-Ali Syed and Yunfei Zhang and Fabian Fehn and Fynn Wolf and Klaus Bogenberger},
year={2022},
eprint={2207.14246},
archivePrefix={arXiv},
primaryClass={cs.MA},
url={https://arxiv.org/abs/2207.14246},
}
Owner
- Name: TUM Chair of Traffic Engineering and Control
- Login: TUM-VT
- Kind: user
- Location: Munich, Germany
- Company: TUM Chair of Traffic Engineering and Control
- Website: https://www.mos.ed.tum.de/en/vt/home
- Repositories: 2
- Profile: https://github.com/TUM-VT
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use Fleetpy, please cite it as below. Furthermore, we invite you to cite the arXiv pre-print: https://arxiv.org/abs/2207.14246"
authors:
- family-names: Engelhardt
given-names: Roman
- family-names: Dandl
given-names: Florian
- family-names: Syed
given-names: Arslan-Ali
- family-names: Zhang
given-names: Yunfei
- family-names: Fehn
given-names: Fabian
- family-names: Wolf
given-names: Fynn
- family-names: Bogenberger
given-names: Klaus
title: "FleetPy"
license: "MIT"
url: "https://github.com/TUM-VT/FleetPy"
GitHub Events
Total
- Fork event: 6
- Create event: 14
- Release event: 2
- Issues event: 7
- Watch event: 15
- Delete event: 10
- Member event: 1
- Issue comment event: 10
- Push event: 90
- Pull request review event: 5
- Pull request review comment event: 3
- Pull request event: 11
- Gollum event: 15
Last Year
- Fork event: 6
- Create event: 14
- Release event: 2
- Issues event: 7
- Watch event: 15
- Delete event: 10
- Member event: 1
- Issue comment event: 10
- Push event: 90
- Pull request review event: 5
- Pull request review comment event: 3
- Pull request event: 11
- Gollum event: 15
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 8
- Average time to close issues: 12 months
- Average time to close pull requests: 4 months
- Total issue authors: 4
- Total pull request authors: 5
- Average comments per issue: 0.43
- Average comments per pull request: 0.5
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: 21 days
- Issue authors: 3
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- r0meng (4)
- SantiagoAOM (3)
- LaurensKrudde (2)
- zhuhuang-11 (1)
- FlorianDandl (1)
- JoelBrodersen (1)
- ChenhaoDing (1)
Pull Request Authors
- SantiagoAOM (5)
- r0meng (4)
- HodaHisham (3)
- maxtmng (3)
- Arjan-de-R (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- pyqt5-sip ==4.19.18
- pyqt6 ==6.5.0
- pyqt6-qt6 ==6.5.0
- pyqt6-sip ==13.5.1
- pyqtwebengine ==5.12.1