Path4gmns

Latest version: v0.9.9

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 5

0.7.2

v0.7.2 features new functionalities, bug fixes and new interface.

New Functionalities
1. Find shortest path between two (different) nodes under a specific mode;
2. Find paths for all agents under a specific mode.

Bug Fixes
1. Fix bug in the C++ path engine that all modes (which is defined by "all" and specifying that some links are open to all nodes) were not functioning right. See commit 5c65ff2 for details.
2. Fix bug that ats (agent types) were not correctly set up according to argument multimodal in evaluate_accessibility(), which leaded to all zeros for non-target mode in aggregated_accessibility.csv;

New Interface
Introduce **perform_column_generation()** to replace **perform_network_assignment()**. Some users were reported to use perform_network_assignment() to perform other types of traffic assignments besides the path-based UE (as somehow implied by the function name and its argument list). Deprecate **perform_network_assignment()** from now on but keep it as legacy support.

0.7.1

v0.7.1 comes with potential issue fixes as below.

1. Adopt PEP8 on comparisons to None in utils.py. The previous implementation would discard attributes with value 0;
2. Add connectivity check for each OD pair. Raise exception if there are no valid OD volumes/demands;
3. For DTALite, if the link type of a link in link.csv is not defined settings.csv, set its value as 2 (i.e., Major arterial). Otherwise, execution of DTALite would be terminated due to undefined link types. Recompile DTALite with this change for Windows, Linux, and macOS. The details can be found under commit 8f3ced5 in https://github.com/jdlph/DTALite/;
4. Add special output to find_shortest_path() if no path exists between two different nodes;
5. Print out directory information for the following output functions, i.e., output_columns(), output_link_performance(), output_agent_paths(), _output_accessibility(), and _output_accessibility_aggregated().

0.7.0

v0.7.0 fixes known bugs and potential issues in v0.7.0a1, replaces the accessibility evaluation implementation, and introduces new functionalities.

Known Bugs and Potential Issues Fix
1. Fix bug on duplicate link when printing out path sequence in function output_path_sequence();
2. Fix column incompatibility between Path4GMNS and DTALite, which results into failure of loading columns from DTALite;
3. Fix potential memory issue when evaluating accessibility for large-scale networks (see the following for details);
4. Fix several typos on accessibility and assignment.

New Lightweight and Faster Implementation for Accessibility Evaluation
The new implementation uses virtual centroids and connectors to facilitate the shortest path calculation between zones rather than set up virtual demands between any two different zones and maintain a column pool. It resolves the potential memory issue and leads to a much faster evaluation process. Its running speed is **9X faster** than v0.7.0a1.

New Functionalities
1. Get accessible nodes and links given a time budget and a transportation mode;
2. Print out path distance in find_shortest_path() and get_agent_node_path();
3. Output unique agent paths to a csv file through output_agent_paths();
4. Let users decide whether to include geometry information in the output file for output_agent_paths() and output_columns().

Others

0.7.0a1

v0.7.0a1 comes with new functionalities, improved performance, and more robust input loading.

**New Functionalities:**
1. Support of link allowed uses in class Link and the routing engine;
2. Multimodal accessibility evaluation;
3. Loading columns from previous runs and continue the column generation procedure;
4. A helper function to download the sample data set with six different networks.

**Improved Performance:**
- Around 15% reduction in CPU time for the column generation procedure (test against v0.6.0 using 20 assignment iterations and 20 column generation iterations for the Chicago Sketch Network).

**More Robust Input Loading:**
- Enhance exception handlings to deal with records are empty or not desired types when loading inputs.

0.6.0

v0.6.0 includes bug fix, architecture change and performance improvement.

1. Fix bug that VDF parameters from link.csv are not used for calculation;
2. Read and output node/link geometries;
3. Set up individual agents from aggregated OD demand only when it is needed
4. Add settings.yml to load multiple demand files and multiple agent types;
5. Full support for multi-demand-period and multi-agent-type in column generation;
6. Switch to parallel architecture for assignment (multiprocessing in calculation is not implemented yet);
7. Reduce running time of the column generation module for around 17% (test against v0.5.2 using 20 assignment iterations and 20 column generation iterations for the Chicago Sketch Network);
8. Build shared libraries of DTALite using the new common C++ code base;
9. Better encapsulations to separate user interfaces from implementation details.

0.5.2

1. Fix bug in output_path_sequence() for link path;
2. Adopt simple caching strategy to boost the performance of find_path_for_agents() for about 5 times using the Chicago Sketch Network;
3. Update README to provide installation guideline and tutorial.

Page 5 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.