Stochastic user equilibrium with logit assignment (sue-logit
) outputs an assignment of travelers in a transportation network where no individual believes that he can unilaterally improve his utility by choosing an alternative path. A key limitation of sue-logit
is that it requires knowing the parameters of the traveler's utility function beforehand.
The isuelogit
package addresses the aforementioned limitation by using the output of sue-logit
to solve an inverse problem, namely, estimating the parameters of the travelers' utility function using traffic counts. It also provides point estimates and hypothesis tests for the parameter estimates. To understand the theory behind the algorithms and the use cases of this package, you can review the following documents:
- Preprint: https://arxiv.org/abs/2204.10964
- Journal article: https://doi.org/10.1016/j.trb.2023.102853
Please cite this work as:
@article{GuardaQian2024statistical,
title={Statistical inference of travelers’ route choice preferences with system-level data},
author={Guarda, Pablo and Qian, Sean},
journal={Transportation research part B: methodological},
volume={179},
pages={102853},
year={2024}
}
- Clone the repository
- Download and install Anaconda: https://docs.anaconda.com/anaconda/install/index.html
- Create conda environment:
conda create -n isuelogit
- Activate environment:
conda activate isuelogit
- Install dependencies:
conda env update -f isuelogit.yml
- Install the package:
pip install -e .
- Install the development dependencies:
pip install -r requirements/dev.txt
- Run the tests:
pytest
- Install jupyter lab:
pip install jupyter notebook
- Install ipython kernel for jupyter:
pip install ipykernel
- Add your virtual environment to Jupyter:
python -m ipykernel install --user --name=isuelogit
- Open any of the notebooks included in the folder
notebooks
- Choose kernel
isuelogit
before running the notebook
The folder 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 isuelogit
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.
The isuelogit
codebase includes several utilities to work with system-level data and transportation networks and it is further extended in pesuelogit to jointly estimate the Origin-Destination matrix using system-level data collected in multiple hourly periods and days.
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.