Submitted:
14 February 2024
Posted:
14 February 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Definitions
- Rider: A participant in the ride sharing system wishing to be transported from their origin to their destination within an announced time frame.
- Match: A pair of riders who share a vehicle on their trip.
- Snapshot Optimality: Attaining an optimal solution to a pairwise matching problem with a fixed demand.
3. Previous Work
3.1. Contributions
- A fully implemented and tested new algorithm, SnapPair that guarantees a snapshot optimal solution at each time point in a dynamic one-to-one matching problem. SnapPair is more than two orders of magnitude faster than the current state-of-the-art.
- A novel formulation of the dynamic one-to-one matching problem, where riders and vehicles are independent. This new formulation is more complex due to an increased number of possible matches. We call this formulation FreeMatch. We consider this formulation timely and significant, particularly in light of research indicating that a higher number of individuals have reported issues with crowded vehicles since the pandemic, compared to the pre-pandemic period [18]. With FreeMatch, our objective is to establish a framework that optimally utilises smaller vehicles with a maximum capacity of two, enhancing the appeal of ridesharing, in the forever changed post pandemic world.
- An extended algorithm including a rematching procedure that pairs both new riders and riders whose previous match has been dropped off, with the objective of optimising the use of vehicles available in the system.
- Experiments successfully applying the algorithms to a problem of a size that is relevant to a fleet operator.
4. Methodology
4.1. Overview
4.2. Parameters and Variables
- and
- .
- The cost of this match is
- if is feasible and infinity otherwise.
- and
- .
- Its cost is if is feasible and infinity otherwise.
4.3. Reachability Graphs
| Algorithm 1: Creating a Reachability Graph |
![]() |
4.4. Construction of Match Graph
| Algorithm 2: Creating the Match Graph |
![]() |
4.5. Optimality
- having a cost of
- having a cost of and only if
- having a cost of .
4.6. Dynamic Optimisation and Rematching
- . In this case is updated to t.
- If the current leg ends at arriving there at time , then is updated to and is updated to . Rider k is added to the set of drivers, D. Rider j is dropped from R.
- If the current leg ends at arriving there at time , then is updated to and is updated to . Rider j is added to the set of drivers, D. Rider k is dropped from R.
- Riders may request a ride with advance notice of minutes. denotes how long before their earliest departure time a rider r becomes known to the system.
4.7. Eager and lazy optimisation
- the departure time from would be:
4.8. Dynamically changing edge costs
5. Experiments
5.1. Case Study
- Eager departing without rematching: Following this approach, once the optimal set of matches for a specific time window is identified, they are immediately put into action. The initial riders in these matches begin their journey right away, the successfully matched riders are not subject to rematching, even if they become available after their match is dropped off. Unmatched riders, however, stay in the queue, awaiting future rounds of matching for as long as their deadlines allow.
- Lazy departure without rematching: Matched participants delay committing to the first optimal match offer if it remains valid in the next iteration, allowing them to potentially be paired with someone else for greater system-wide savings. If waiting would invalidate the match, participants commit and depart. Riders are not rematched even if they become available after dropping the other rider in the match.
- Eager departure with rematching: Under this policy, participants commit to the first optimal match presented but can be rematched after the first rider in the match is dropped off, potentially multiple times. Unmatched riders wait until their slack runs out before departing on their own, without being matched.
- Lazy departure with rematching: Matched participants delay committing to a match as long as it remains valid in the next iteration. They can be rematched after the first match. Unmatched riders wait until their slack is fully utilised while waiting to be matched, and then depart on their own.
5.2. One-to-One Ride-matching with Fixed Roles
5.3. One-to-One Ride-matching with Flexible Roles
5.4. Ride Matching with Vehicles Provided (FreeMatch)
5.5. Comparison with Static Formulation
5.6. Impact of Shortest Path Calculations on the Matching Algorithm’s Performance
6. Conclusion
-
Eager or Lazyeither eagerly starting a trip as soon as a match is found, or lazily delaying the start in case the slack time enables the trip to be delayed until the next update of demands (after one minute), in case a better option comes up.
-
Rematchingwhen one of a pair of travellers has been dropped off, the remaining traveller can be paired again with a new traveller.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Goodwin, P. The economic costs of road traffic congestion 2004.
- Martins, L.d.C.; de la Torre, R.; Corlu, C.G.; Juan, A.A.; Masmoudi, M.A. Optimizing ride-sharing operations in smart sustainable cities: Challenges and the need for agile algorithms. Computers & Industrial Engineering 2021, 153, 107080. [Google Scholar]
- Tafreshian, A.; Masoud, N.; Yin, Y. Frontiers in service science: Ride matching for peer-to-peer ride sharing: A review and future directions. Service Science 2020, 12, 44–60. [Google Scholar] [CrossRef]
- Hopcroft, J.E.; Karp, R.M. An n^5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on computing 1973, 2, 225–231. [Google Scholar] [CrossRef]
- Fredman, M.L.; Tarjan, R.E. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM (JACM) 1987, 34, 596–615. [Google Scholar] [CrossRef]
- Edmonds, J. Maximum matching and a polyhedron with 0, 1-vertices. Journal of research of the National Bureau of Standards B 1965, 69, 55–56. [Google Scholar] [CrossRef]
- Gabow, H.N.; Tarjan, R.E. Faster scaling algorithms for general graph matching problems. Journal of the ACM (JACM) 1991, 38, 815–853. [Google Scholar] [CrossRef]
- Masoud, N.; Jayakrishnan, R. A real-time algorithm to solve the peer-to-peer ride-matching problem in a flexible ridesharing system. Transportation Research Part B: Methodological 2017, 106, 218–236. [Google Scholar] [CrossRef]
- Chen, W.; Mes, M.; Schutten, M.; Quint, J. A ride-sharing problem with meeting points and return restrictions. Transportation science 2019, 53, 401–426. [Google Scholar] [CrossRef]
- Agatz, N.; Erera, A.; Savelsbergh, M.; Wang, X. Optimization for dynamic ride-sharing: A review. European Journal of Operational Research 2012, 223, 295–303. [Google Scholar] [CrossRef]
- Tafreshian, A.; Masoud, N. Trip-based graph partitioning in dynamic ridesharing. Transportation Research Part C: Emerging Technologies 2020, 114, 532–553. [Google Scholar] [CrossRef]
- Shen, B.; Huang, Y.; Zhao, Y. Dynamic ridesharing. Sigspatial Special 2016, 7, 3–10. [Google Scholar] [CrossRef]
- Xu, Y.; Qi, J.; Borovica-Gajic, R.; Kulik, L. Geoprune: Efficiently matching trips in ride-sharing through geometric properties. 32nd International Conference on Scientific and Statistical Database Management, 2020, pp. 1–12.
- Pelzer, D.; Xiao, J.; Zehe, D.; Lees, M.H.; Knoll, A.C.; Aydt, H. A partition-based match making algorithm for dynamic ridesharing. IEEE Transactions on Intelligent Transportation Systems 2015, 16, 2587–2598. [Google Scholar] [CrossRef]
- Alonso-Mora, J.; Samaranayake, S.; Wallar, A.; Frazzoli, E.; Rus, D. On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment. Proceedings of the National Academy of Sciences 2017, 114, 462–467. [Google Scholar] [CrossRef]
- Lu, W.; Quadrifoglio, L.; Lee, D.; Zeng, X. The ridesharing problem without predetermined drivers and riders: formulation and heuristic. Transportation Letters 2023, 15, 969–979. [Google Scholar] [CrossRef]
- Furuhata, M.; Dessouky, M.; Ordóñez, F.; Brunet, M.E.; Wang, X.; Koenig, S. Ridesharing: The state-of-the-art and future directions. Transportation Research Part B: Methodological 2013, 57, 28–46. [Google Scholar] [CrossRef]
- Jabbari, P.; MacKenzie, D. Ride sharing attitudes before and during the COVID-19 pandemic in the United States. Transport Findings. November 2020, 26. [Google Scholar] [CrossRef]
- Dijkstra, E.W. A note on two problems in connexion with graphs. Numerische mathematik 1959, 1, 269–271. [Google Scholar] [CrossRef]
- Ma, S.; Zheng, Y.; Wolfson, O. T-share: A large-scale dynamic taxi ridesharing service. 2013 IEEE 29th International Conference on Data Engineering (ICDE). IEEE, 2013, pp. 410–421.
- Thangaraj, R.S.; Mukherjee, K.; Raravi, G.; Metrewar, A.; Annamaneni, N.; Chattopadhyay, K. Xhare-a-ride: A search optimized dynamic ride sharing system with approximation guarantee. 2017 IEEE 33rd International Conference on Data Engineering (ICDE). IEEE, 2017, pp. 1117–1128.
- Santi, P.; Resta, G.; Szell, M.; Sobolevsky, S.; Strogatz, S.H.; Ratti, C. Quantifying the benefits of vehicle pooling with shareability networks. Proceedings of the National Academy of Sciences 2014, 111, 13290–13294. [Google Scholar] [CrossRef] [PubMed]
- Ta, N.; Li, G.; Zhao, T.; Feng, J.; Ma, H.; Gong, Z. An efficient ride-sharing framework for maximizing shared route. IEEE Transactions on Knowledge and Data Engineering 2017, 30, 219–233. [Google Scholar] [CrossRef]
- Donovan, B.; Work, D. New york city taxi trip data (2010-2013). Univ. Illinois Urbana-Champaign, Champaign, IL, USA, Tech. Rep 2014. [Google Scholar]
- Qin, Z.T.; Zhu, H.; Ye, J. Reinforcement learning for ridesharing: An extended survey. Transportation Research Part C: Emerging Technologies 2022, 144, 103852. [Google Scholar] [CrossRef]
- Mahéo, A.; Zhao, S.; Hassan, A.; Harabor, D.D.; Stuckey, P.J.; Wallace, M. Customised Shortest Paths Using a Distributed Reverse Oracle. Proceedings of the International Symposium on Combinatorial Search, 2021, Vol. 12, pp. 79–87.
- Agatz, N.; Erera, A.L.; Savelsbergh, M.W.; Wang, X. Dynamic ride-sharing: A simulation study in metro Atlanta. Procedia-Social and Behavioral Sciences 2011, 17, 532–550. [Google Scholar] [CrossRef]
- Michail, D.; Kinable, J.; Naveh, B.; Sichi, J.V. JGraphT–A Java Library for Graph Data Structures and Algorithms. ACM Trans. Math. Softw. 2020, 46. [Google Scholar] [CrossRef]
- Nethercote, N.; Stuckey, P.J.; Becket, R.; Brand, S.; Duck, G.J.; Tack, G. MiniZinc: Towards a standard CP modelling language. International Conference on Principles and Practice of Constraint Programming. Springer, 2007, pp. 529–543.
- Gurobi Optimization, LLC. Gurobi Optimizer Reference Manual, 2022.

| Slack | Time | Matches | VHT | |||
| Eager | Lazy | Eager | Lazy | Eager | Lazy | |
| 10% | 325 | 334 | 356 | 356 | 1781 | 1781 |
| 20% | 372 | 388 | 1494 | 1494 | 1707 | 1707 |
| 30% | 447 | 467 | 3151 | 3146 | 1607 | 1607 |
| 40% | 554 | 642 | 4803 | 4774 | 1521 | 1521 |
| 50% | 690 | 860 | 6132 | 6112 | 1464 | 1461 |
| Slack | Time | Matches | VHT | |||
| Eager | Lazy | Eager | Lazy | Eager | Lazy | |
| 10% | 371 | 397 | 1316 | 1316 | 1724 | 1724 |
| 20% | 497 | 509 | 4112 | 4113 | 1547 | 1547 |
| 30% | 708 | 751 | 6819 | 6803 | 1405 | 1404 |
| 40% | 1016 | 1362 | 8501 | 8463 | 1337 | 1328 |
| 50% | 1413 | 2985 | 9553 | 9451 | 1307 | 1287 |
| Slack | Time | Matches | VHT | |||
| Eager | Lazy | Eager | Lazy | Eager | Lazy | |
| 10% | 362 | 395 | 1321 | 1321 | 1722 | 1722 |
| 20% | 470 | 478 | 4147 | 4146 | 1534 | 1535 |
| 30% | 696 | 738 | 6953 | 6925 | 1389 | 1384 |
| 40% | 1049 | 1373 | 8800 | 8661 | 1317 | 1304 |
| 50% | 1518 | 2742 | 10016 | 9715 | 1287 | 1253 |
| Slack | Time | Matches | VHT | |||
| Eager | Lazy | Eager | Lazy | Eager | Lazy | |
| 10% | 391 | 397 | 1929 | 1929 | 1692 | 1692 |
| 20% | 587 | 612 | 5339 | 5245 | 1489 | 1494 |
| 30% | 995 | 1134 | 7966 | 7743 | 1357 | 1361 |
| 40% | 1621 | 2455 | 9420 | 9119 | 1300 | 1297 |
| 50% | 2424 | 6067 | 10271 | 9764 | 1279 | 1269 |
| Slack | Time | Matches | VHT | |||
| Eager | Lazy | Eager | Lazy | Eager | Lazy | |
| 10% | 390 | 394 | 1966 | 1966 | 1689 | 1689 |
| 20% | 607 | 614 | 5594 | 5479 | 1474 | 1478 |
| 30% | 1064 | 1181 | 8536 | 8221 | 1335 | 1339 |
| 40% | 1819 | 2735 | 10338 | 9706 | 1274 | 1267 |
| 50% | 2723 | 7147 | 11519 | 10529 | 1251 | 1226 |
| Slack | Time | Matches | VHT |
| 30% | 13044 | 6654 | 1499 |
| 40% | 18118 | 9156 | 1357 |
| 50% | 19575 | 10731 | 1293 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

