Skip to content

Urban-Ecosystems-Lab/Auction_Based_Demand_Responsive_Transit

Repository files navigation

Auction-Based Demand Responsive Transit

This project proposes a novel demand-responsive transit (DRT) system tailored for suburban areas characterized by sparse transit demand. Traditional fixed-route transit systems are often inefficient in these environments due to decentralized development and challenges in optimizing station placement. Our approach addresses two critical features for the resilience of DRT services: cost recovery and information symmetry regarding passengers' willingness to pay. By implementing a truthful auction-based pricing scheme, the system ensures passengers report their true willingness to pay, thereby reducing information asymmetry and improving economic viability. This mechanism not only eliminates incentives for strategic bidding but also upholds several key properties essential for human centricity and service sustainability, including budget balance, voluntary participation, consumer sovereignty, and computational efficiency. Numerical experiments demonstrate the significant potential of the system compared to existing demand-responsive transportation options. Our findings highlights the substantial capacity of the proposed system to enhance the human-centricity of Transit services in sparse suburban areas by prioritizing user preferences and needs, while simultaneously bolstering economic viability through improved cost recovery and information symmetry.

The simulation framework consists of three main phases:

  1. Request Generation: Passenger requests are generated based on the input network, origin–destination demand patterns, and income. Each request includes a bid value and pickup/drop-off time windows generated using parameterized probability distributions.
  2. Solution Space Generation: For each set of requests, the system generates feasible routing solutions using the Vehicle Routing Problem with Pickup and Delivery and Time Windows (VRPPDTW). The routing problem is solved using the DOcplex optimization solver, which determines feasible vehicle routes that satisfy all pickup and drop-off time constraints while minimizing operational cost.
  3. Auction Mechanism: After generating feasible routing solutions, the system selects the final set of routes using a truthful auction mechanism. Passenger bids are compared with the cost of serving them within each feasible routing plan. A group of requests is accepted only if the total payments from passengers cover the operating cost of the route. Passengers who are selected receive service and pay a price that does not exceed their submitted bid.

Case Study: Tucson

The current simulation framework includes a sample implementation based on a simplified network of the City of Tucson. The example demonstrates how the system generates requests, constructs feasible routing solutions, and selects final services using the auction mechanism.

Below are sample outputs produced by the simulation.

Sample Vehicle

The figure shows a sample route taken by a vehicle while servicing passenger requests.

Sample distribution

The figure shows the distribution of served passengers relative to their bid values.


Repository Structure

Auction_Based_Demand_Responsive_Transit/
│
├── Auction.py
├── Create_Summary.py
├── Generate_Input_Files.py
├── Models.py
├── Parsing_Auction.py
├── Plot_Graph_Auction.py
├── Run_Scenarios.py
├── Utils.py
├── VRPPDTW_Auction.py
│
├── Images/
│   ├── Figure_1.png
│   ├── Figure_2.png
│   └── ...
│
├── Samples/
│   └── Tucson_4Cap_5Ittr/
│       │
│       ├── Scenarios/
│       │   ├── high_cost_high_willingness/
│       │   ├── high_cost_mid_willingness/
│       │   ├── high_cost_low_willingness/
│       │   ├── ...
│       │
│       │   └── (each scenario contains)
│       │       ├── Iteration_1/
│       │       │   ├── Edges.csv
│       │       │   ├── Nodes.csv
│       │       │   ├── Requests.csv
│       │       │   └── Solution/
│       │       │       ├── bid_vs_cost.png
│       │       │       ├── bus_mappings.json
│       │       │       ├── bus_summaries.csv
│       │       │       ├── requests_output.csv
│       │       │       ├── service_distribution.png
│       │       │       └── serviced_requests.json
│       │       │
│       │       ├── Iteration_2/
│       │       ├── Iteration_3/
│       │       └── ...
│       │
│       ├── Vehicles.csv
│       ├── Incomes.csv
│       └── Numerical Example City of Tucson.xlsx
│
├── requirements.txt
└── README.md

Main Scripts

  • Run_Scenarios.py – Main entry point for running simulations across different scenarios and iterations.
  • Generate_Input_Files.py – Generates request input files based on network, OD matrix, and income distributions.
  • VRPPDTW_Auction.py – Solves the vehicle routing problem with pickup and delivery time windows (VRPPDTW).
  • Auction.py – Implements the truthful auction mechanism used to select feasible routes and determine payments.
  • Models.py – Defines the models used throughout the project.
  • Utils.py – Contains helper functions used throughout the project.
  • Parsing_Auction.py – Processes input .csv and .xlsx files.
  • Create_Summary.py – Generates summary statistics and images from simulation runs.
  • Plot_Graph_Auction.py – Produces visualizations of simulation results.

Installation

To use this project, you need to have Python installed on your system. You can download Python from the official Python website.

Once you have Python installed, you can install the required dependencies using pip. Run the following command in your terminal or command prompt:

pip install -r requirements.txt

Usage

Run the main function within the Run_Scenarios.py file to simulate a city across multiple iterations and different cost and willingness-to-pay configurations.

To run simulations for a new city other than the City of Tucson, create a new folder inside Samples/ and provide the required input files, including the network configuration, OD matrix, vehicle information, and income data. Refer to the Tucson example in the Samples folder for the expected file structure and formatting.


Contact

For questions or feedback regarding the simulation software, please email shamshiripour@arizona.edu or danialchekani@arizona.edu

For questions or feedback regarding the auction mechanism and theoretical framework, please email pooria@arizona.edu.


Acknowledgements

This project partly uses an implementation of the paper titled "VRP with Pickup and Delivery" by Desaulniers, G., Desrosiers, J., Erdmann, A., Solomon, M.M., & Soumis, F. (2002). The paper addresses the Vehicle Routing Problem with Pickup and Delivery (VRPPD) and provides insights into solving it efficiently.

If you find this project useful in your research or work, consider citing the paper

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages