TaxiSimulatorOnGraph
This is the official implementation of "Optimizing Large-Scale Fleet Management on a Road Network using Multi-Agent Deep Reinforcement Learning with Graph Neural Network" (ITSC 2021)
Install / Use
/learn @juhyeonkim95/TaxiSimulatorOnGraphREADME
TaxiSimulatorOnGraph

This repository is the official implementation of "Optimizing Large-Scale Fleet Management on a Road Network using Multi-Agent Deep Reinforcement Learning with Graph Neural Network" by Juhyeon Kim and Kihyun Kim (ITSC 2021).
Requirements
We use Deep Graph Library (DGL) and OSMnx to handle a road network. For the backend of DGL, we use PyTorch.
To install all of the requirements:
conda config --prepend channels conda-forge
conda create -n roadnetwork --strict-channel-priority osmnx==0.14.1 python=3.7
conda activate roadnetwork
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
conda install -c anaconda ipykernel
python -m ipykernel install --user --name=roadnetwork
pip install dgl-cu102==0.4.3.post2
Training and Evaluation
10 by 10 grid city
Tutorial_10by10GridCity.ipynb runs a simulation on simple 10 by 10 grid-shaped city.
Real city
For real city data, following notebook tutorials are available.
(1) Preprocessing
Tutorial_GraphSimplification.ipynbperforms graph simplification which is required to run simulation with large real data.Tutorial_SpeedInfoGenerator.ipynbgenerates speed information data at each road from raw speed data.
(2) Run Simulation
Tutorial_RealCity.ipynbruns simulation (both train and evaluate) in Seoul with real call data.Tutorial_RealCity_Multiprocessing.ipynbruns simulation (both train and evaluate) using multiprocessing. You need multi-GPU environment to run this code.
Data
The data was provided from Kakao mobility, South Korea.
We upload example data in data_example folder to just check data format.
Full data will not be uploaded.
You should use your own data.
Public data (osmnx road data / speed data) is fully uploaded.
Please read README_data.md in data_example folder for the details.
Visualization
You can export Q value of the road at each time stamp to SVG file by enabling export_q_value_image option in evaluation function.
Following is the video that shows Q values of roads in Seoul at each time stamp in a single day.
Note that red means higher value and green means lower value.

Citation
If you find this useful for your research, please consider to cite:
@inproceedings{kim2021optimizing,
title={Optimizing large-scale fleet management on a road network using multi-agent deep reinforcement learning with graph neural network},
author={Kim, Juhyeon and Kim, Kihyun},
booktitle={2021 IEEE International Intelligent Transportation Systems Conference (ITSC)},
pages={990--995},
year={2021},
organization={IEEE}
}
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
isf-agent
a repo for an agent that helps researchers apply for isf funding
