Skip to content

Releases: jdlph/Path4GMNS

v0.10.0

16 Dec 02:33

Choose a tag to compare

v0.10.0 introduces the link-based UE that adopts the Frank-Wolfe algorithm with line search. It also includes several other major updates below.

  1. Introduce generic downloading functions to replace download_sample_data_sets().
  2. Introduce DTALiteClassic() and DTALiteMultimodal() to replace perform_network_assignment_DTALite() and run_DTALite(), respectively.
  3. Add multiprocessing exception handling to DTALiteClassic().
  4. Fix segmentation fault on DTALiteMultimodal() with Python 3.8 on Linux.
  5. Optimize IO by precluding path geometry as default when outputting route_assignment.csv.

v0.9.10

17 Mar 00:30

Choose a tag to compare

v0.9.10 comes with bug fix, new functionality, and performance improvement.

  1. Fix bug on path cost unit for find_shortest_path() reported in Issue #58.
  2. Find the shortest path per travel distance or travel time.
  3. Introduce get_shortest_path_tree() to return the shortest path tree from a given source node.
  4. Optimize the UE module by precluding zones with no valid demand, moving the check on each centroid into SPNetwork setup, and computing the relative gap in the postprocessing.
  5. Offer users more flexibility to control UE convergency with the relative gap tolerance (i.e., the target relative gap), which is inspired by #57.

v0.9.9.post1

27 Nov 02:35

Choose a tag to compare

v0.9.9.post1 serves as a hotfix over v0.9.9. It reestablishes zone id cross-validation (between node.csv and demand.csv) and resolves network inconsistency by invoking find_shortest_path() and find_ue() in the same code snippet #51.

v0.9.9

18 Oct 01:07

Choose a tag to compare

v0.9.9 comes with bug fixes, new functionality, and performance improvement.

  1. Fix bugs in loading synthetic zones and synthesizing demand.
  2. Separate demand loading from read_network().
  3. Introduce a new public API read_demand() to unify demand and zone synthesis, and demand (and synthetic zone) loading.
  4. Deprecate confusing perform_column_generation() and replace it with find_ue().
  5. Introduce ODME.
  6. Add support to load link toll from link.csv.
  7. Optimize how to check if a key exists.

v0.9.8

17 Dec 21:00

Choose a tag to compare

v0.9.8 fixes issues regarding accessibility output and supports recurring calls of run_DTALite(). Besides, it introduces unit testing and moves updates and implementation notes from README to docs.

v0.9.7

14 Sep 00:31

Choose a tag to compare

v0.9.7 is a hotfix over v0.9.5 and v0.9.5 on the following issues.

  1. Calling DTALite fails.
  2. Synthesizing zones and OD demand is not functioning #41.

v0.9.6

08 Sep 00:27

Choose a tag to compare

v0.9.6 brings several enhancements over its predecessor.

  1. Eliminate the ultra-low-volume columns from the UE assignment, which leads to improved assignment results and much cleaner agent.csv.
  2. Calculate the final UE convergency after the postprocessing, which provides the accurate assessment of each assignment.
  3. Embed and support the latest DTALite, which includes all-new Logbook, enhanced scenario handling, improved I/O functionality, and so on compared to the existing classic version.

v0.9.5

16 Aug 00:44

Choose a tag to compare

v0.9.5 supports arbitrary node id and zone id, which can only be taken as integer values in all the previous releases. Besides, it includes several other updates.

  1. Add OS check in perform_network_assignment_DTALite() to make sure DTALite runs properly on Windows.
  2. Remove legacy naming inherited from DTALite_s.py, which has been deprecated.
  3. Remove format_type from demand_files in settings.yml and its implementation from read_settings() in utils.py.

v0.9.4

02 Aug 01:03

Choose a tag to compare

v0.9.4 brings crucial bug fixes in the simulation module and several enhancements.

  1. Fix the calculation of agent arrival time and agent waiting time.
  2. Use free-flow travel time as the traverse time of each link for the point queue model.
  3. Fix the incorrect setup of link outflow capacity within initialize_simulation().
  4. Remove useless memory_blocks and its implementations (which are intended for parallel computing), which removes the requirement that zone id's have to be consecutive #36.
  5. Remove problematic beg_iteration and end_iteration in setting up a special event.
  6. Enhance time_period parsing in setting up DemandPeriod instance.
  7. Fix potential issue related to _ (underscore) in YAML (that 0700_0730 is interpreted as integer 07000730 by replacing _ (underscore) with - (hyphen) in settings.yml) and add backward compatibility for time_period with _ (underscore) as delimiter.
  8. Add check on OD pair to ensure that agents of the same OD pair with the same departure time will be output for the first one in output_agent_trajectory().
  9. Bring back the post-processing after UE in case users do not do column updating (i.e., column_update_num = 0).

v0.9.3

08 Apr 19:41

Choose a tag to compare

v0.9.3 comes with bug fixes and performance improvement.

  1. Fix the bug in handling link capacity reduction in UE when a special event is specified in settings.yml.
  2. Remove dependency on demand.csv for loading columns to continue UE or initiate DTA (#31).
  3. Optimize colgen.py per TransOMS, which slightly improves the running time. See fb3f6e4 and bbad4b1 for details.
  4. Deprecate confusing find_path_for_agents() (#28).