In this project, we echo the AI for Good initiative and propose a deep reinforcement learning approach to perform road planning for slums, a critical issue in urban sustainability. Our proposed model can generate road plans that significantly improve the connectivity of slums at minimal costs. Experiments on slums from different countries demonstrates a relative improvement of over 14.3% in accessibility compared with existing baselines.
This project was initially described in the full paper Road Planning for Slums via Deep Reinforcement Learning at KDD 2023 in Long Beach, CA. Contributors to this project are from the Future Intelligence laB (FIB) at Tsinghua University.
- Tested OS: Linux
- Python >= 3.8
- PyTorch == 1.10.1
- Tensorboard
- Install PyTorch 1.10.1 with the correct CUDA version.
- Set the following environment variable to avoid problems with multiprocess trajectory sampling:
export OMP_NUM_THREADS=1
You can train your own models using the provided config in road_planning/cfg
:
python -m road_planning.train --slum_name capetown1 --cfg demo --global_seed 0
You can replace demo
to train other cfgs.
The results are saved in train_data/slum_name/cfg/seed
Our models, both DRL-GNN and DRL-MLP, usually converges with less than 100 iterations, which takes about 2 hours on a single server with an Nvidia GeForce 2080Ti GPU. We show the episodic reward (normalized to 0-1) after each iteration of training in the following figures.
Harare, ZWE | Cape Town, ZAF |
---|---|
- For accessibility, it is desired to achieve universal connectivity as early as possible, thus we calculate the number of road segments (NR) consumed to achieve universal connectivity.
- For travel distance, we compute the average distance (AD) between any pair of places in the slum over the road network.
- We define the construction cost of each road segment as its length, and calculate the sum of costs (SC) of all planned roads.
It is worth noting that all the metrics are the lower the better.
If you use this code in your project, please consider citing the following paper:
@inproceedings{zheng2023road,
author = {Zheng, Yu and Su, Hongyuan and Ding, Jingtao and Jin, Depeng and Li, Yong},
title = {Road Planning for Slums via Deep Reinforcement Learning},
year = {2023},
booktitle = {Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
pages = {5695–5706},
}
The software in this repo is freely available under MIT license. Please see the license for further details.
The implemention is based on Transform2Act.