Python code that implements a Gauss-Seidel algorithm to promote renewable-based charging in a 100% -electrified fleet of vehicles for ride-hailing or ride-sharing services, as described in [1].
Python 3.8 or earlier: https://www.python.org/downloads/
cvxpy: https://www.cvxpy.org/install/
PuLP: https://pypi.org/project/PuLP/
Data for the ride requests can be downloaded from the Manhattan Taxi and Limousine Commission website https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page, selecting 2022 >> March >> Yellow Taxi Trip Records (PARQUET).
The .parquet file must be saved in the same folder as the main files, listed below, under the name yellow_tripdata_2022-03.parquet.
To reproduce the cases described in [1], run the main files below as follow:
Business-as-usual case: run the file businessAsUsualCase.py, for the random SOC results, averaged over 10 experiments.
Case 1: run the file case1.py, for the sunny day results, average over 10 experiments.
Case 2: run the file case2.py, for the sunny day and 75% willingness to ride-share results, averaged over 10 experiments.
Fossil-fuel vehicles case: run the file fossilFuelCase.py.
The same folder that contains the main files above, should also have:
- tripData.py: code to prepare the ride request data from the yellow_tripdata_2022-03.parquet file
- ChargeRequest.py: charge request class
- RideRequest.py: ride request class
- Vehicle.py: vehicle class
- functions.py: various functions
- taxiZones.cvs: taxi zone lookup table
- PV_norm.cvs: PV generation data for sunny, cloudy morning, and cloudy afternoon scenarios
To repeat the experiments presented in [1], for different weather conditions or initial SOC:
In Business-as-usual.py:
· Lines 82-83: uncomment “random SOC” or “fully charge” to select the initial SOC conditions
· Line 27: set to 1 in order to run just one experiment
In case1.py:
· Lines 32-34: uncomment “PV_sunny”, “PV_cloud_am” or “PV_cloud_pm” to select the weather scenario
· Line 29: set to 10 in order to run the experiment 10 times
In case2.py:
· Lines 35-37: uncomment “PV_sunny”, “PV_cloud_am” or “PV_cloud_pm” to select the weather scenario
· Line 29: set to 10 in order to run the experiment 10 times
· Line 32: set to 0.75 for the case where the willingness to ride-share is 75%, or 1 for 100%, 0.5 for 50%, and 0.25 for 25%
[1] E. Perotti, A. M. Ospina, G. Bianchin, A. Simonetto, and E. Dall’Anese, “Towards the Decarbonization of the Mobility Sector: Promoting Renewable-Based Charging in Green Ride-Sharing”.