Skip to content

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" (WIP)

Notifications You must be signed in to change notification settings

keep9oing/TaxiSimulatorOnGraph

 
 

Repository files navigation

TaxiSimulatorOnGraph

teasure

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". (preprint, work in progress) Because we use the company's data, we will disclose the data after consulting with the company.

Requirements

We use Deep Graph Library (DGL) and OSMnx to handle road network. For backend of DGL, we use PyTorch.

To install all of the requirements:

pip install -r requirements.txt

Training and Evaluation

Since real data is not uploaded, only simple grid city case is runnable. See the jupyter notebook code example for both training and evaluation.

  • Tutorial_10by10GridCity.ipynb runs simulation in simple 10 by 10 grid city.
  • Tutorial_GraphSimplification.ipynb performs graph simplification which is required to run simulation with large real data (Tutorial_RealCity.ipynb).
  • Tutorial_RealCity.ipynb runs simulation in Seoul with real call data. As mentioned before, because data has not been uploaded, you cannot run this code right now.

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.

visualization

About

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" (WIP)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Jupyter Notebook 98.2%
  • Python 1.8%