Skip to content

Simulator and optimizer of the Dynamic Traffic Assignment with Partial Compliance

Notifications You must be signed in to change notification settings

jblespiau/DTA-PC

Repository files navigation

DTA-Simulator

General simulator for the Dynamic Traffic Assignment with multiple commodities, multiple origins and destinations with partial compliance. All the code is in java and all dependencies are included.

Don't forget to enable assertions (-ea parameter on the JVM).

Documentation

Doxygen can be run to generate the documentation using code comments.

Possible improvements and optimizations

  1. Register only the densities and flows for a given cell for all commodities that goes through that cell. To do so
  • Precompute when adding the path the possible commodities through the cells
  • Register only the values for these commodities in the block describing the cell in the x vector
  1. Parallelize the forward computation and possibly the solving of the adjoint equations

Linking to IpOpt

The gradient descent method has been coded in Java in order to have full control on what is happening during the optimization.

One may try t use IpOpt instead. Then, having IpOpt installed is mandatory. To build it see http://www.coin-or.org/download/source/Ipopt/ and take the most recent version (the version 3.10.3 was used in this project). Then follow the instructions in /Ipopt-3.xx.x/Ipopt/doc/documentation.pdf

Moreover, you need lib/libjipopt.so which is the java wrapper for Ipopt. Some binaries are available for some platforms at: https://projects.coin-or.org/Ipopt/wiki/JavaInterface

If there is not the binaries for your platform, you will have to compile it from the sources. To do so, look at: /Ipopt-3.xx.x/Ipopt/contrib/JavaInterface/README

About

Simulator and optimizer of the Dynamic Traffic Assignment with Partial Compliance

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages