Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.49 KB

File metadata and controls

57 lines (43 loc) · 2.49 KB

MLforFlowOptimisation

This code is mostly for internal version control of tasks related to my PhD allowing quick experimentation in a modular manner, and as a way of sharing functions and tests with colleagues. The code is experimental and buggy, and only a mad person would try running the whole thing. Interesting pieces in Vissim Folder:

  • DQN Agents (Target Networks, Duelling, DoubleDQN, Prioritised Experience Replay, etc.)
  • Actor Critic Agents
  • Environment and SignalControlUnit interfaces with simulator.

How to run

Open Jupyter Notebook. Currently in the middle of some major code rearrangement, so everything needs to be run from Env_Ray.ipynb in the Vissim folder. The controller architecture works in the following way: Controller Architecture

There are currently 5 maps:

  • Cross Single Straight (2 phases) - Focus on asymmetric demand. Can be run using programs or phases. No turning. Single Cross Straight map

  • Cross Single Triple (4 phases) - Focus on single intersection complex control. Only the first 4 phases in the diagram below.

  • Cross Single Triple (8 phases) - Same with more complexity on the actions side. Focus on complex control. Cross Single Triple map Phases in 8 actions setup

  • Five Intersection (8 phases) - Combination of 5 complex intersections in cross, s.t. the incoming cars to the middle intersection have at least gone through one of the outer ones. Focus on platoons and test for communications between controllers. Five Intersection map

  • Balance (14 intersections) - Currently training. Focus on real world networks and beating commercial implementations. Balance Network map

Several agents can be deployed:

  • DQN
  • Double DQN
  • Duelling DQN
  • Duelling Double DQN
  • Actor Critic

Commercial approaches can be used:

  • MOVA
  • Surtrac

Results

Currently under construction

Single Cross Straight

Single Cross Straight Early Results Single Cross Straight Early Results Single_straight_cross.PNG)

Cross Single Triple

Cross Single Triple Early Results Cross Single Triple Early Results

Five Intersection

Five Intersection Early Results Five Intersection Early Results