SUM Project Shared Urban Mobility - Network design for Bike Sharing Systems with Bilevel Optimization
This repository contains a Bike-Sharing Optimization Model designed to optimize fleet rebalancing, station placement, and multimodal transportation integration. The model minimizes operational costs while ensuring efficient bike availability across a network.
- Fleet Rebalancing Optimization: Efficiently redistributes bikes using a fleet of capacitated trucks.
- Station Location & Capacity Optimization: Determines the best locations and sizes for bike stations.
- Service Region Design: Defines optimal bike-sharing zones integrated with public transport.
- Demand-Based Decision Making: Uses time-dependent origin-destination demand data.
- Multimodal Transport Integration: Supports k-order shortest path analysis for better connectivity.
Ensure you have Python installed (recommended: Python 3.8+).
- Clone the repository
- Create an environment
- Install the necessary packages
- Create experiments and run the models
- Analyze the results
Clone the repository using the following command:
git clone https://github.com/INRIA/sum-network-design-bike-sharing.git
Check the Python packaging user guide for more information on how to manage dependencies in Python.
On Debian protected environment, create a virtual enviornment first :
python3 -m venv env && source env/bin/activate && pip install pipenv && pipenv install --dev
Install library pipenv to handle the environment and the dependencies.
pip install pipenv
Install the necessary packages using the following command:
pipenv install --dev
Check the Pipenv documentation for more information on how to use Pipenv.
The project dependencies are listed in the Pipfile
and Pipfile.lock
files.
To run the optimization model, execute the jupyter notebook
simulation_demo.ipynb
, for a step-by-step simulation demogeneva_demo.ipynb
, for a demo using Geneva bike-sharing data (coming soon)
├── data/ # Sample datasets (stations, demand, transport data) and outputs
├── models/ # Optimization models and algorithms
├── configs/ # Configuration files
├── simulation_demo.ipynb # Jupyter notebook with a simulation demo
├── README.md # Documentation
The model requires:
- Geographical distribution of public transport stations
- Origin-destination demand data
- Public transport schedules and connectivity
- Fleet availability (bikes, trucks)
status | Goal |
---|---|
simulation only, to run with real data | Optimal station locations and capacities |
simulation only, to run with real data | Service region definition |
to develop | Optimized fleet rebalancing plan |
to develop | Addressing uncertainty in network design |
- Reduce operational and capital costs
- Improve bike availability across the network
- Enhance multimodal transport integration
- Maximize demand coverage while maintaining service quality