PESUELOGIT
allows for the joint estimation of the Origin-Destination matrix using system-level data collected in multiple hourly periods and days. The diagram below shows a simplified representation of the computational graph that is solved for a toy transportation network with five nodes:
To understand the theory behind the algorithms and the use cases of this codebase, you can review the following resources:
- Preprint: https://dx.doi.org/10.2139/ssrn.4490930
- Journal article: http://dx.doi.org/10.1016/j.trc.2023.104409
Please cite this work as:
@article{guarda2024computational,
title={Estimating network flow and travel behavior using day-to-day system-level data: A computational graph approach},
author={Guarda, Pablo and Battifarano, Matthew and Qian, Sean},
journal={Transportation Research Part C: Emerging Technologies},
volume={158},
pages={104409},
year={2024}
}
If using a Windows computer or a Macbook with Intel chip, you can use poetry for python packaging and dependency management. The steps are:
- Clone this repository.
- Install the poetry cli.
- Create a virtual environment:
poetry shell
- Create .lock file with project dependencies:
poetry lock
. - Install project dependencies:
poetry install
. - Run the tests:
pytest
If using Linux or a Macbook with Apple Silicon chip, we recommend using Conda for python packaging and dependency management. The steps are:
- Clone this repository.
- Download and install Anaconda: https://docs.anaconda.com/anaconda/install/index.html
- Create virtual environment:
conda create -n pesuelogit
- Activate environment:
conda activate pesuelogit
- Install dependencies:
conda env update -f pesuelogit.yml
. If you are using linux, usepesuelogit-linux.yml
instead. - Run the tests:
pytest
This repository is currently compatible with Python 3.9.x
The folder examples/notebooks
contains Jupyter notebooks with code demonstrations that can be reproduced from your local environment. If you are using VS Code, please make sure to select the pesuelogit
environment as your kernel to run each notebook.
For any questions or interest in collaborating on this project, please open an issue in this repository. This package was developed under the guidance of Prof. Sean Qian. This codebase is being extended in the MaTE repository.
This project was partially funded through National Science Foundation Grant CMMI-1751448: Probabilistic Network Flow Theory
We are thrilled to see you here! If you find this codebase useful for your project or it has been a helpful resource, please consider giving it a star. 🌟 Your support means a lot and it also helps others discover this work.