top of page

What is Bike-Share Allocation Project

Imagine having 4 stations with the following current bike and capacity information. Each station is located on a coordinate (x,y) and has relational distances from one another.

​

(Why?) What happens if there is a net flow of 7 bikes to "station 1" in the next hour? There are only 5 more spots (70 capacity - 65 current bikes), and this would cause an overflow. In other words 2 bikes would not be able to park and end their rides

Screen Shot 2022-11-23 at 4.04.08 PM.png
Screen Shot 2022-11-30 at 10.35.21 PM.png

(Why?)  To avoid such situations where under/overstocking would occur, the algorithm suggests allocation directions to balance the system. The equilibrium state can choose to be either based on the predicted net flow using a predictive algorithm or an equal internal weight distribution of the system.

​

"n" being the number of stations, there are (n) x (n - 1) number of possible allocation routes [ 4 x 3 = 12 routes]. Each can have bikes transferred from 0 up to their current capacities.

​

What would be the cheapest, quickest, and thus the most efficient way to allocate bikes to reach a system equilibrium?

The above example is a small scale version of the real-life problem this project is trying to solve.

The algorithm computes the most optimal strategy for 1693 stations that are present in Citi-Bike's NY bike-share system under 10 seconds.

​

Why Bike-Share

Bike-sharing is a very practical and sustainable form of transportation that I frequently use for commuting and errands. It is a clean and healthy form of transportation that has so much potential to be improved. I believe by having methodologies into how we can control the demand for bike-sharing systems, we can make improvements to the infrastructure and build the future of sustainable urban transportation.

Mathematical Modelling

There is no graph algorithm known that handles a multi-way allocation problem, therefore I modeled a Linear Programming model that creates an allocation report minimizing the distance travelled by each bike.

Project GitHub/Jupyter Notebook:

bottom of page