You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://pepy.tech/project/path4gmns)[](https://img.shields.io/badge/release-v0.8.2-brightgreen)
4
4
5
5
Path4GMNS is an open-source, cross-platform, lightweight, and fast Python path engine for networks encoded in [GMNS](https://github.com/zephyr-data-specs/GMNS). Besides finding static shortest paths for simple analyses, its main functionality is to provide an efficient and flexible framework for column-based (path-based) modeling and applications in transportation (e.g., activity-based demand modeling). Path4GMNS supports, in short,
6
6
@@ -20,23 +20,23 @@ Path4GMNS also serves as an API to the C++-based [DTALite](https://github.com/jd
Path4GMNS has been published on [PyPI](https://pypi.org/project/path4gmns/0.9.1/), and can be installed using
23
+
Path4GMNS has been published on [PyPI](https://pypi.org/project/path4gmns/0.9.2/), and can be installed using
24
24
```
25
25
$ pip install path4gmns
26
26
```
27
-
If you need a specific version of Path4GMNS, say, 0.9.1,
27
+
If you need a specific version of Path4GMNS, say, 0.9.2,
28
28
```
29
-
$ pip install path4gmns==0.9.1
29
+
$ pip install path4gmns==0.9.2
30
30
```
31
31
32
-
v0.9.1 improves the performance with the fully optimized C++ routing engine and enhances the mesoscopic traffic simulation module, where the routing decisions now are coming from UE rather than shortest paths. Please **update to or install the latest version** and **discard all old versions**.
32
+
v0.9.2 improves the performance with faster and better UE convergency along with bug fix on loading columns. Please **update to or install the latest version** and **discard all old versions**.
33
33
34
34
### Dependency
35
-
The Python modules are written in **Python 3.x**, which is the minimum requirement to explore the most of Path4GMNS. Some of its functions require further run-time support, which we will go through along with the corresponding [use cases](https://path4gmns.readthedocs.io/en/latest/).
35
+
The Python modules are written in **Python 3.x**, which is the minimum requirement to explore the most of Path4GMNS. Some of its functions require further run-time support, which we will go through along with the corresponding **[Use Cases](https://path4gmns.readthedocs.io/en/latest/)**.
36
36
37
37
## Quick Start
38
38
39
-
We highly recommend that you go through [this tutorial](https://github.com/jdlph/Path4GMNS/tree/dev/tests/tutorial.ipynb) written in Jupyter notebook with step-by-step demonstration using the latest version, no matter you are one of the existing users or new to Path4GMNS.
39
+
We highly recommend that you go through this **[Tutorial](https://github.com/jdlph/Path4GMNS/tree/dev/tests/tutorial.ipynb)** written in Jupyter notebook with step-by-step demonstration using the latest version, no matter you are one of the existing users or new to Path4GMNS. Its documentation is available on **[readthedocs](https://path4gmns.readthedocs.io/en/latest/)**.
40
40
41
41
## Implementation Notes
42
42
@@ -51,7 +51,7 @@ An easy and smooth installation process by **low dependency** is one of our majo
51
51
52
52
In order to resolve this issue, we have deprecated node sum and introduced a side-by-side column comparison in Path4GMNS only. As columns between an OD pair are largely different in number of nodes, this comparison can be very efficiently. Slight improvements are actually observed in both running time and convergence gap over the original implementation.
53
53
54
-
DTALite uses arrays rather than STL containers to store columns. These arrays are fixed in size (1,000), which prevents a fast filtering using the number of nodes as described above. For two (long) columns only different in the last few nodes, this side-by-side comparison has to be continued until the very end and ruins the performance. Thus, we decide **NOT TO ADOPT** this updated implementation to DTALite but do expect it in the future release after [refactoring](https://github.com/jdlph/DTALite#refactoring).
54
+
DTALite uses arrays rather than STL containers to store columns. These arrays are fixed in size (1,000), which prevents a fast filtering using the number of nodes as described above. For two (long) columns only different in the last few nodes, this side-by-side comparison has to be continued until the very end and ruins the performance. Thus, we decide **NOT TO ADOPT** this updated implementation to DTALite and leave it to **[TransOMS](https://github.com/jdlph/TransOMS)**.
55
55
56
56
### Major Updates
57
57
1. Read and output node and link geometries (v0.6.0)
@@ -87,6 +87,9 @@ DTALite uses arrays rather than STL containers to store columns. These arrays ar
87
87
31. Introduce the simulation module along with a simple traffic simulator using the point queue model and shortest paths (v0.9.0)
88
88
32. Fully optimize the C++ routing engine (v0.9.1)
89
89
33. Use the UE result as routing decisions for simulation (v0.9.1)
90
+
34. Optimize the column generation module with faster and better UE convergency (v0.9.2)
91
+
35. Resolve the potential issue on traversing the last through node in path engine (v0.9.2)
92
+
36. Fix the bug on loading columns where link path and node paths are not in the proper order (v0.9.2)
90
93
91
94
Detailed update information can be found in [Releases](https://github.com/jdlph/Path4GMNS/releases).
0 commit comments