3neutronstar / rl-constraints-traffic

Decentralized Deep Reinforcement Learning based Real-World Applicable Traffic Signal Optimization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RL-constraints-traffic

Decentralized Deep Reinforcement Learning based Real-World Applicable Traffic Signal Optimization

Decentralized DQN

Prerequisite

  • python 3.7.9 above
  • pytorch 1.7.1 above
  • tensorboard 2.0.0 above

How to use

check the condition state (throughput)

    python run.py simulate --network [5x5grid, 5x5grid_v2, dunsan, dunsan_v2]

"Traffic data of Dunsan and Dunsan_v2 are classified by government of South Korea."

Run in RL algorithm DQN (default device: cpu)

    python run.py train --network [5x5grid, 5x5grid_v2, dunsan, dunsan_v2]

"Traffic data of Dunsan and Dunsan_v2 are classified by government of South Korea."

  • check the result Tensorboard
    tensorboard --logdir ./training_data

Hyperparameter in json, model is in ./training_data/[time you run]/model directory.

  • replay the model
    python run.py test --replay_name /replay_data in training_data dir/ --replay_epoch NUM

Performance

Synthetic Data in 5x5grid(Straight Flow), 5x5grid_v2(Random Trips)

Evaluation Metric Method Straight Flow Random Trips
Throughput(vehs) Fixed 15184 6872
Throughput(vehs) Ours 15380 7154
Waiting Time(s) Fixed 916.7 670.2
Waiting Time(s) Ours 851.2 587.1

Real World Data in Dunsan-dong, Daejeon, Korea

Evaluation Metric Method Peak Free and Peak combined
Throughput(vehs) Fixed 13616 10415
Throughput(vehs) Ours 13649 10539
Waiting Time(s) Fixed 240.1 237.6
Waiting Time(s) Ours 231.1 218.1

About

Decentralized Deep Reinforcement Learning based Real-World Applicable Traffic Signal Optimization

License:MIT License


Languages

Language:Python 100.0%