Package: path4gmns
Path4GMNSPath4GMNS is an open-source, cross-platform, lightweight, and fast Python path engine for networks encoded inGMNS. 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,synthesizing zones and Origin-Destination (OD) demand for a given network.Path4GMNS also serves as an API to the C++-basedDTALiteto conduct various multimodal traffic assignments including,Link-based UE,Path-based UE,UE + DTA,OD Matrix Estimation (ODME).Quick StartTutorialwritten in Jupyter notebook with step-by-step demonstration.Documentationon Installation, Use Cases, Public API, and more.TransOMSon the C++ equivalent.We highly recommend that you go through the aboveTutorial, no matter you are one of the existing users or new to Path4GMNS.InstallationPath4GMNS has been published onPyPI, and can be installed using$ pip install path4gmnsv0.9.8 fixes issues regarding accessibility output and run_DTALite(). Pleaseupdate to or install the latest versionanddiscard all old versions.[!WARNING]
Any versions prior to v0.9.4 will generate INCORRECT simulation results.[!WARNING]
Calling DTALite and synthesizing zones and OD demand are not functioning forv0.9.5 and v0.9.6.DependencyThe Python modules are written inPython 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 correspondingUse Cases.How to CiteLi, P. and Zhou, X. (2023, December 17).Path4GMNS. Retrieved fromhttps://github.com/jdlph/Path4GMNSPlease ContributeAny contributions are welcomed including advise new applications of Path4GMNS, enhance documentation anddocstringsin 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)anddev for development. If you would like to work directly on the source code (and probably the documentation), please make sure thatthe 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 ourDiscord Channelfor the latest update and more discussions.ReferencesLu, 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.