| Literature DB >> 32130273 |
Omer Faruk Aydin1,2, Ilgin Gokasar1, Onur Kalan3.
Abstract
Increasing traffic congestion and the advancements in technology have fostered the growth of alternative transportation modes such as dynamic ride-sharing. Smartphone technologies have enabled dynamic ride-sharing to thrive, as this type of transportation aims to establish ride matches between people with similar routes and schedules on short notice. Many automated matching methods are designed to improve system performance; such methods include minimizing process time, minimizing total system cost or maximizing total distance savings. However, the results may not provide the maximum benefits for the participants. This paper intends to develop an algorithm for optimizing matches when considering participants' gender, age, employment status and social tendencies. The proposed matching algorithm also splits unmatched parts of drivers' routes and creates new travel requests to find additional matches using these unmatched parts. Accordingly, this paper performs an extensive simulation study to assess the performance of the proposed algorithm. The simulation results indicate that route splits may increase the number of matches significantly when there is a shortage of drivers. Furthermore, the paper demonstrates the effects and potential benefits of utilizing a social compatibility score in the objective function.Entities:
Year: 2020 PMID: 32130273 PMCID: PMC7055897 DOI: 10.1371/journal.pone.0229674
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
An illustrative example of the computation of the JSS.
| Driver | Rider | |||||
|---|---|---|---|---|---|---|
| Characteristics | Factor | Characteristics | Factor | Scores | ||
| Gender | male | 1 | female | 5 | -1 | -5 |
| Age | 18-25 | 3 | 25-40 | 4 | -1 | -12 |
| Employment | TAU | 4 | TAU | 4 | 1 | 16 |
| Socialness | Yes | 5 | Yes | 3 | 1 | 15 |
| Total score | 14 | |||||
Fig 1Ride-sharing schema for a driver and four riders.
Fig 2Bipartite graph for a driver and four riders.
Outcomes of the possible matches in a ride-sharing schema.
| Scenario # | Match | No. of matches | No. of extra stops | JSS | Distance savings | Optimal Solution | Heuristic Solution | ||
|---|---|---|---|---|---|---|---|---|---|
| Obj.: Max JSS | Obj.: Max distance savings | Obj.: Max JSS | Obj.: Max distance savings | ||||||
| 1 | d1 → r1 | 1 | 0 | 80 | 30 | x | x | x | |
| 2 | d1 → r2 | 1 | 1 | 20 | 10 | ||||
| 3 | d1 → r3 | 1 | 1 | 40 | 20 | ||||
| 4 | d1 → r4 | 1 | 1 | 70 | 10 | ||||
| 5 | d1 → r2, r3 | 2 | 1 | 60 | 30 | x | |||
| 6 | d1 → r2, r4 | 2 | 2 | 90 | 20 | x | |||
Fig 3Needleman-Wunsch algorithm after the generation of the S matrix.
Fig 4Needleman-Wunsch algorithm after the generation of the M matrix.
Fig 5Flowchart of the matching process.
Fig 6The schema and meeting points for ride-sharing.
Characteristics of the base case.
| Number of riders | 1000 |
| Number of drivers | 100 |
| Capacity of each driver | 3 seats |
| Rider count of each rider | 1 person |
| JSS Limit | -100 |
| Number of allowable extra stops | 10 |
| Average travel distance | 23.1 km |
| Average number of meeting points visited by drivers | 6 |
Sensitivity of computation time to the route split and sample size.
| Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | |
|---|---|---|---|---|---|---|
| Splitting routes | Yes | No | Yes | No | Yes | No |
| Number of riders | 1000 | 1000 | 1000 | 1000 | 100 | 100 |
| Number of drivers | 100 | 100 | 1000 | 1000 | 1000 | 1000 |
| Average computation time (secs) | 1.99 | 0.80 | 21.98 | 17.09 | 1.98 | 1.91 |
| Standard deviation of computation time (secs) | 0.10 | 0.04 | 0.31 | 0.18 | 0.02 | 0.03 |
Comparison of heuristic solutions and optimal solutions.
| Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 | Case 9 | Case 10 | Average | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Heuristic | Sum of JSSs | 2150 | 2490 | 2058 | 1811 | 1698 | 2035 | 1467 | 2222 | 1913 | 1919 | 1976.30 |
| Number of matched riders | 21 | 24 | 22 | 20 | 20 | 22 | 19 | 23 | 19 | 23 | 21.30 | |
| Number of matched drivers | 21 | 21 | 20 | 18 | 17 | 20 | 15 | 22 | 19 | 19 | 19.20 | |
| Optimal | Sum of JSSs | 2206 | 2962 | 2390 | 2251 | 2337 | 2696 | 2040 | 2565 | 2149 | 2661 | 2425.70 |
| Number of matched riders | 21 | 27 | 24 | 20 | 23 | 24 | 19 | 25 | 21 | 24 | 22.80 | |
| Number of matched drivers | 21 | 27 | 23 | 20 | 20 | 24 | 19 | 23 | 21 | 23 | 22.10 | |
| Difference | Sum of JSSs | 2.54% | 15.93% | 13.89% | 19.55% | 27.34% | 24.52% | 28.09% | 13.37% | 10.98% | 27.88% | 18.41% |
| Number of matched riders | 0.00% | 11.11% | 8.33% | 0.00% | 13.04% | 8.33% | 0.00% | 8.00% | 9.52% | 4.17% | 6.25% | |
| Number of matched drivers | 0.00% | 22.22% | 13.04% | 10.00% | 15.00% | 16.67% | 21.05% | 4.35% | 9.52% | 17.39% | 12.92% |
Simulation results for base case with different number of allowable extra stops.
| Number of allowable extra stops | |||||||
|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | |
| Average number of riders matched before split of the route | 258.75 | 247.2 | 244.3 | 245.2 | 237.3 | 241 | 235.2 |
| Average number of riders matched after split of the route | 0 | 39 | 74.7 | 94.9 | 102.7 | 104.9 | 110.1 |
| Average number of all matched riders | 258.75 | 286.2 | 319 | 340.1 | 340 | 345.9 | 345.3 |
| Average number of all matched drivers | 93.41 | 94.5 | 90.4 | 89.4 | 87.5 | 87.9 | 87.3 |
| Ratio of matched riders to matched drivers | 2.77 | 3.03 | 3.53 | 3.80 | 3.89 | 3.94 | 3.96 |
Simulation results for different riders to drivers ratio.
| Ratio of number of riders to drivers | |||||||
|---|---|---|---|---|---|---|---|
| 10:1 | 5:1 | 2:1 | 1:1 | 1:2 | 1:5 | 1:10 | |
| Number of riders | 1000 | 1000 | 1000 | 1000 | 500 | 200 | 100 |
| Number of drivers | 100 | 200 | 500 | 1000 | 1000 | 1000 | 1000 |
| Average number of riders matched before split of the route | 238.48 | 410 | 709.5 | 871.85 | 468.4 | 193.4 | 96.6 |
| Average number of riders matched after split of the route | 110.6 | 105.4 | 78.8 | 56.35 | 12.3 | 1.2 | 0.1 |
| Average number of all matched riders | 349.08 | 515.4 | 788.3 | 928.2 | 480.7 | 194.6 | 96.7 |
| Ratio of matched riders to all riders (%) | 34.91 | 51.54 | 78.83 | 92.82 | 96.14 | 97.3 | 96.7 |
| Average number of all matched drivers | 88.02 | 160.1 | 309.2 | 437.7 | 282.9 | 150.1 | 81.3 |
| Ratio of matched drivers to all drivers (%) | 88.02 | 80.05 | 61.84 | 43.77 | 28.29 | 15.01 | 8.13 |
| Ratio of matched riders to matched drivers | 3.97 | 3.22 | 2.55 | 2.12 | 1.7 | 1.3 | 1.19 |
Fig 7Ratio of matched riders to matched drivers versus all riders to all drivers.
Comparison of different objectives.
| Objective function | ||
|---|---|---|
| max JSS | max distance savings | |
| Number of riders | 1000 | 1000 |
| Number of drivers | 1000 | 1000 |
| Number of matched riders | 929.55 | 942.8 |
| Total number of matched drivers | 443.45 | 372.35 |
| Average JSS | 27.35 | 1.08 |
| Standard deviation of JSS | 0.59 | 0.65 |
| Distance savings (%) | 29.51 | 33.48 |
| Standard deviation of distance savings (%) | 0.67 | 0.69 |
Effects of JSS limit on the results.
| JSS Limit | |||||||
|---|---|---|---|---|---|---|---|
| -100 | -20 | 0 | 20 | 40 | 60 | 80 | |
| Number of riders | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| Number of drivers | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
| Average number of matched riders | 325.72 | 312.2 | 289.8 | 184.7 | 45.4 | 2.7 | 0.2 |
| Average number of matched drivers | 90.02 | 89.6 | 85.9 | 67.9 | 26.6 | 2.5 | 0.1 |
| Average JSS | 11.58 | 13.55 | 19.81 | 30.73 | 46.81 | 63.85 | 85 |