This UE Solver takes an origin-destination demand input (origin, destination, number of cars taking this path) and a road network and assigns a path for each trip such that no traveler can decrease travel time by shifting to a new path.
The solver is finding the static user equilibrium network flows. The travel time per road segment (link) is assumed to be a function of the link's flow/capacity and is set according to the Bureau of Public Roads (BPR) link congestion function:
where = Average Travel time on link a; = Free flow travel time on link a; = volume of traffic on link a per unit of time (somewhat more accurately: flow attempting to use link a); and = capacity of link a per unit of time.
In addition to finding the network static user equilibrium network flows, this UE Solver package has several methods to simulate alternative road networks. Reasons for altering the road network include increasing/decreasing road capacity, simulating road closures, floods, or any sort of disruption in the original road network.
Processing the results will convert the assigned travel to a geojson file. In addition, processing results can calculate VMT, VHT, and delay.
- See UE_processes.ipynb for a walk-through of the features in this sovler.
- See the documenatation for more details on the methods in this package.
- And sample Bay Area input files
The image below represent the baseline morning commute congestion in the San Francisco Bay Area, as determined by the UE solver.