An open-source, cross-platform, lightweight, and fast Python path engine for networks encoded in GMNS
Project description
Path4GMNS
Path4GMNS is an open-source, cross-platform, lightweight, and fast Python path engine for networks encoded in 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,
- finding (static) shortest path between two nodes,
- performing path-based User-Equilibrium (UE) traffic assignment,
- conducting dynamic traffic assignment (DTA) after UE.
- evaluating multimodal accessibility and equity,
- making the Origin-Destination (OD) demand matrix estimation (ODME),
- synthesizing zones and Origin-Destination (OD) demand.
Path4GMNS also serves as an API to the C++-based DTALite to conduct various multimodal traffic assignments including,
- Link-based UE,
- Path-based UE,
- UE + DTA,
- ODME.
Quick Start
- Tutorial written in Jupyter notebook with step-by-step demonstration.
- Documentation on Installation, Use Cases, Public API, and more.
- TransOMS on the C++ equivalent.
We highly recommend that you go through the above Tutorial, no matter you are one of the existing users or new to Path4GMNS.
Installation
Path4GMNS has been published on PyPI, and can be installed using
$ pip install path4gmns
[!IMPORTANT] v0.9.9 comes with bug fixes, new functionality, and performance improvement. Please discard all old versions.
[!NOTE] ODME is now available with v0.9.9.
[!CAUTION] Any version prior to v0.9.4 will generate INCORRECT simulation results.
[!CAUTION] Calling DTALite and synthesizing zones and OD demand are not functioning for v0.9.5 and v0.9.6.
[!CAUTION] Zone and demand synthesis is PROBLEMATIC for any version before v0.9.9.
Dependency
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.
How to Cite
Li, P. and Zhou, X. (2024, October 17). Path4GMNS. Retrieved from https://github.com/jdlph/Path4GMNS
Please Contribute
Any contributions are welcomed including advise new applications of Path4GMNS, enhance documentation and docstrings in the source code, refactor and/or optimize the source code, report and/or resolve potential issues/bugs, suggest and/or add new functionalities, etc.
Path4GMNS has a very simple workflow setup, i.e., master for release (on both GitHub and PyPI) and dev for development. If you would like to work directly on the source code (and probably the documentation), please make sure that the destination branch of your pull request is dev, i.e., all potential changes/updates shall go to the dev branch before merging into master for release.
You are encouraged to join our Discord Channel for the latest update and more discussions.
References
Lu, C. C., Mahmassani, H. S., Zhou, X. (2009). Equivalent gap function-based reformulation and solution algorithm for the dynamic user equilibrium problem. Transportation Research Part B: Methodological, 43, 345-364.
Jayakrishnan, R., Tsai, W. K., Prashker, J. N., Rajadyaksha, S. (1994). A Faster Path-Based Algorithm for Traffic Assignment (Working Paper UCTC No. 191). The University of California Transportation Center.
Bertsekas, D., Gafni, E. (1983). Projected Newton methods and optimization of multicommodity flows. IEEE Transactions on Automatic Control, 28(12), 1090–1096.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file path4gmns-0.9.9.tar.gz
.
File metadata
- Download URL: path4gmns-0.9.9.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3ebf875d27e91a0db172e089b1e44d3ce861e53769525155877a1ec00b74607 |
|
MD5 | 4c5a373feca7c652a4aae5c9c2982442 |
|
BLAKE2b-256 | 80442f39b59eb407a49b91dc51a0e5c542259e13158f9b76f01e1ea27aa65d0e |
File details
Details for the file path4gmns-0.9.9-py3-none-any.whl
.
File metadata
- Download URL: path4gmns-0.9.9-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 415c9de6aceaa246019da6e9600f09b6f64e6360cf522944b57ca511283f7f5d |
|
MD5 | 6f94d29d20f1970d743dcc1caa7e2868 |
|
BLAKE2b-256 | 0cb7a6c93be8bb7a91a944dcdb22df6c0873921b1e2e8ed70a05958a40da214e |