Abstract
While shared demandresponsive transportation (SDRT) systems mostly operate on a doortodoor policy, the usage of meeting points for customer pickup and dropoff can offer several benefits, such as fewer stops and less total travelled kilometers. Moreover, realworld meeting points offer a possibility to select only feasible and welldefined locations where safe boarding and alighting are possible. This paper investigates the impact of using such meeting points for the SDRT problem with meeting points (SDRTMP). A threestep procedure is applied to solve the SDRTMP. Firstly, the customers are clustered into temporary and spatially similar groups and then the alternative meeting points, for boarding and alighting, are determined for each cluster. Finally, a neighbourhood search algorithm is used to obtain the vehicle routes that pass through all the used meeting points while respecting passengers’ time constraints. The goal is to examine the differences of a realworld meeting pointbased system in contrast to a doortodoor service by a simulation with realistic meeting point locations derived from the map data. Although the average passenger travel time is higher due to increased walking and waiting times, the experiment highlights a reduction of operator resources required to serve all customers.
This is a preview of subscription content, log in to check access.
Notes
 1.
 2.
 3.
 4.
 5.
 6.
 7.
 8.
 9.
http://www.openstreetmap.org ©OpenStreetMap Contributors
References
Aissat K, Oulamara A (2014) Dynamic ridesharing with intermediate locations. In: Computational intelligence in vehicles and transportation systems (CIVTS), 2014 IEEE Symposium on, IEEE, pp 36–42
Aissat K, Oulamara A (2015) Meeting locations in realtime ridesharing problem: a buckets approach. In: Operations research and enterprise systems, Springer, pp 71–92
Aïvodji UM, Gambs S, Huguet MJ, Killijian MO (2016) Meeting points in ridesharing: a privacypreserving approach. Transp Res Part C Emerg Technol 72:239–253
Balardino AF, Santos AG (2016) Heuristic and exact approach for the close enough ridematching problem. In: Hybrid intelligent systems, Springer International Publishing, pp 281–293. https://doi.org/10.1007/9783319272214_24
Baldacci R, Bartolini F, Mingozzi A (2011) An exact algorithm for the pickup and delivery problem with time windows. Oper Res 59(2):414–426
Bent R, van Hentenryck P (2004) A twostage hybrid local search for the vehicle routing problem with time windows. Transp Sci 38(4):515–530
Chen W, Mes M, Schutten J, Quint J (2016) A ridesharing problem with meeting points and return restrictions. BETA Working Paper Series 516. http://doc.utwente.nl/101813/1/wp_516.pdf
Cordeau JF, Laporte G (2007) The dialaride problem: models and algorithms. Ann Oper Res 153(1):29–46. https://doi.org/10.1007/s1047900701708
Correa O, Ramamohanarao K, Tanin E, Kulik L (2017) From ridesourcing to ridesharing through hotspots. In: Proceedings of the 2017 MobiQuitous, ACM. https://doi.org/10.1145/3144457.3144483
Czioska P, Trifunović A, Dennisen S, Sester M (2017) Location and timedependent meeting point recommendations for shared interurban rides. J Location Based Serv 11(3–4):181–203. https://doi.org/10.1080/17489725.2017.1421779
Eser E, Monteil J, Simonetto A (2018) On the tracking of dynamical optimal meeting points. In: Proceedings of the 15th IFAC symposium on control in transportation systems
GilesCorti B, VernezMoudon A, Reis R, Turrell G, Dannenberg AL, Badland H, Foster S, Lowe M, Sallis JF, Stevenson M et al (2016) City planning and population health: a global challenge. The Lancet 388(10062):2912–2924. https://doi.org/10.1016/S01406736(16)300666
Goel P, Kulik L, Ramamohanarao K (2016) Privacyaware dynamic ride sharing. ACM Trans Spatial Algorithms Syst 2(1):4:1–4:41. https://doi.org/10.1145/2845080
Goel P, Kulik L, Ramamohanarao K (2017) Optimal pick up point selection for effective ride sharing. IEEE Trans Big Data 3(2):154–168. https://doi.org/10.1109/TBDATA.2016.2599936
Griswold A (2017) Why it matters that Uber and Lyft are becoming more like public transit. https://web.archive.org/web/20180309071444/https://qz.com/1022789/whyitmattersthatuberandlyftarebecomingmorelikepublictransit/. Accessed 11 Apr 2018
Häll CH, Lundgren JT, Värbrand P (2008) Evaluation of an integrated public transport system: a simulation approach. Arch Transp 20(1–2):29–46
Hastie T, Tibshirani R, Friedman J (2009) The elements of statistical learning, 2nd edn. Springer, New York
Hess DB (2012) Walking to the bus: perceived versus actual walking distance to bus stops for older adults. Transportation 39(2):247–266
Kutadinata R, Thompson R, Winter S (2019) Passengerfreight demand responsive transport services: A dynamic optimisation approach. In: Proceedings of the 26th intelligent transport systems World Congress, to be presented
Li B, Krushinsky D, Reijers H, van Woensel T (2014) The sharearide problem: people and parcels sharing taxis. Eur J Oper Res 238(1):31–40
Mageean J, Nelson JD (2003) The evaluation of demand responsive transport services in Europe. J Transp Geogr 11(4):255–270. https://doi.org/10.1016/S09666923(03)000267
Martínez LM, Viegas JM, Eiró T (2014) Formulating a new express minibus service design problem as a clustering problem. Transp Sci 49(1):85–98
Millward H, Spinney J, Scott D (2013) Activetransport walking behavior: destinations, durations, distances. J Transp Geogr 28:101–110
Municipality of Braunschweig (2016) Open geodata. License: dlde/by20. http://www.braunschweig.de/opengeodata
Najmi A, Rey D, Rashidi TH (2017) Novel dynamic formulations for realtime ridesharing systems. Transp Res Part E: Logist Transp Rev 108:122–140. https://doi.org/10.1016/j.tre.2017.10.009
Navidi Z, Ronald N, Winter S (2016) Comparing demand responsive and conventional public transport in a low demand context. In: 2016 IEEE international conference on pervasive computing and communication workshops (PerCom Workshops), pp 1–6. https://doi.org/10.1109/PERCOMW.2016.7457089
Nelson JD, Wright S, Masson B, Ambrosino G, Naniopoulos A (2010) Recent developments in flexible transport services. Res Transp Econ 29(1):243–248
Parragh SN, Doerner KF, Hartl RF (2008) A survey on pickup and delivery problems. J für Betriebswirtschaft 58(1):21–51
Rigby M, Winter S (2016) Usability of an opportunistic interface concept for ad hoc ridesharing. Int J Cartogr 2(2):115–147. https://doi.org/10.1080/23729333.2016.1145040
Rigby M, Krüger A, Winter S (2013) An opportunistic client user interface to support centralized ride share planning. In: Proceedings of the 21st ACM SIGSPATIAL international conference on advances in geographic information systems, ACM, pp 34–43
Rigby M, Winter S, Krüger A (2016) A continuous representation of ad hoc ridesharing potential. IEEE Trans Intell Transp Syst 17(10):2832–2842. https://doi.org/10.1109/TITS.2016.2527052
Ropke S, Cordeau JF (2009) Branch and cut and price for the pickup and delivery problem with time windows. Transp Sci 43(3):267–286
Ropke S, Pisinger D (2006) An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp Sci 40(4):455–472
Stiglic M, Agatz N, Savelsbergh M, Gradisar M (2015) The benefits of meeting points in ridesharing systems. Transp Res Part B Methodol 82:36–53. https://doi.org/10.1016/j.trb.2015.07.025
Wang Y, Kutadinata R, Winter S (2019) The evolutionary interaction between taxisharing behaviours and social networks. Transp Res Part A Policy Pract 119:170–180
Acknowledgements
This research has been supported by the German Research Foundation (DFG) through the Research Training Group Social Cars (GRK 1931), the Australian Research Council’s Linkage Projects funding scheme (project number LP120200130), the Universities Australia and the German Academic Exchange Service (DAAD) under the AustraliaGermany Joint Research Cooperation Scheme.
Author information
Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: Preliminary note on notation and algorithms
Square brackets indicate access to a certain element in the vector or a set. For instance, S[0] indicates an access to the first element of the set S. Additionally, note that the authors employ zerobased indexing which is common in C like programming languages. In many algorithms, we used mathematical notation for what are common algorithmic procedures. This allows algorithms to be more compact while still keeping the same level of information.
Appendix B: Clustering algorithm
Appendix B.1: Complexity analysis
Using \(\backslash\) for integer division and given:

k – Maximum cluster size,

n – Number of requests i.e. \(n = X\),

\(N :=n\backslash k\),
the upper bound for the number of computations can be obtained using the following equation:
where:
Notice that:
Since (10) tells us that every \(k^{\text {th}}\) element of the sum is zero, i.e. the operation is of complexity \({\mathcal {O}}(1)\), we have:
Putting all this together in (9) and noticing that \(N < \frac{n}{k}\), we get the complexity upper bound:
Therefore, Algorithm 1 has time complexity of \({\mathcal {O}}(\frac{n^2}{2})\).
Appendix C: Meeting point candidates selection
Algorithm 2 describes the procedure for the meeting point determination for a given demand cluster. The mentioned 2Combinations function yields all possible paired combinations of a given set, e.g. 2Combinations(a,b,c,d) = [a–bcd, b–acd, c–abd, d–abc, ab–cd, ac–bd, ad–bc]. The algorithm returns the optimal combination in terms of number of subgroups and summed squared walking distances.
Appendix D: Vehicle routing optimization
Appendix D.1: Route optimization
Let the index set \({\mathcal {V}}=\left\{ 0,{\mathcal {S}},{\mathcal {M}},{\mathcal {D}}\right\}\) be assigned to these nodes, where \({\mathcal {S}}\) is the set of \(\nu\) starting nodes of vehicles, \({\mathcal {M}}\) is the set of n pickup vertices, \({\mathcal {D}}\) is the set of corresponding n dropoff vertices. Node 0 is the depot, and a demand is represented by a pair of pickup and dropoff points \((i,n+i)\). These nodes are connected with directed edges, where each edge indicates a possible route to be traversed by the vehicles. Let \({\mathcal {E}}\) be defined as the set of all directed edges in the network. A directed edge \(\epsilon _{i,j}\in {\mathcal {E}}\) connects a pair of nodes, from Node i to Node j, where i, j have the following relation: \(j \in \{\{0\} \cup {\mathcal {M}}\mid \forall i\in {\mathcal {S}}\}\), \(j \in \{{\mathcal {M}}\cup {\mathcal {D}}\mid \forall i\in {\mathcal {M}}\}\), \(j \in \{{\mathcal {V}}\setminus ({\mathcal {S}}\cup \{i  n\}) \mid \forall i\in {\mathcal {D}}\}\).
Each node has several parameters that define the trip demand. Similarly, each directed edge has its own associated distance and travel time parameters. To take into account the multiple alternative meeting and divergence points, some of these parameters are defined as functions of the chosen meeting/divergence points. For each \(i\in {\mathcal {M}}\cup {\mathcal {D}}\), let \(N_i\in {\mathbb {N}}\) be the number of alternative meeting/divergence points for node i. Note that these alternative meeting points are not modelled as nodes and are not part of the graph; rather they can be seen as parameters for each node in the sets \({\mathcal {M}}\) and \({\mathcal {D}}\). Also, note that some of these alternative points may, in real life, correspond to the same location, in which case the travel time and distance between them is zero. Next, define a vector of integer variables \(m = \left[ m_1 \,\,\, m_2 \,\,\, \dots \,\,\, m_{\nu +2n+1}\right]\), where \(m_i\in \{1,2,\ldots ,N_i\}\) is the chosen meeting/divergence point alternative for node i. Thus, m is part of the optimization decision variables specifying the meeting point selection.
Having established this, all the graph parameters can be defined. Let \([t^{E}_{i}(m_i),t^{L}_{i}(m_i)]\) be the associated timewindow of node i when \(m_i\) is chosen. Note that the time windows are treated as soft constraints. Furthermore, let \(d_{i,j}(m_i,m_j)\) and \(t_{i,j}(m_{i},m_{j})\) be the travel distance and time from node i to node j when using \(m_i\) and \(m_j\). Observe that, as mentioned in Sect. 3.5, the meeting point selection influences the route optimization as the time windows, distances, and travel times are defined as functions of the meeting point decision variable, \(m_i\). In addition, each node has an associated service time \(s_i\) and a load \(q_i\). For \(i\in \{0\} \cup {\mathcal {S}}\) (the depot and the starting points), \(s_{i}=q_{i}=0\), \(N_{i}=1\), and \([t^{E}_i(1),t^{L}_i(1)]=[0,\infty ]\). For the other nodes, \(s_i = t^\text {serv}_{*}\). Moreover, in order to keep track of the vehicle loads, let \(q_i^{k}\) be the passenger load onboard vehicle k when it leaves node i.
Finally, the optimization formulation is ready to be presented and the decision variables can be defined. Let \(u_i^k\) denote the time vehicle k starts servicing node i. The starting point of each vehicle k is similarly denoted with the index k and \(s_k=0\). Hence, the variable \(u_k^k\) (which technically is the start of the service time of vehicle k at node k) indicates the first departure time of vehicle k from its starting point. Similarly, \(u_0^k\) represents the final arrival time at the depot. The binary variable \(x^k_{i,j}\) is defined to decide whether vehicle k traverses from node i to node j. Thus, the decision variables are the service time \(u_i^k\), the binary variable \(x^k_{i,j}\), and the meeting points \(m_i\). The optimization problem is formulated as follows:
subject to:
where \(\mathrm {sgn}(\cdot )\) is a function that returns the sign of the input scalar. For a further parameter description we also refer to Table 1.
The formulation ensures that each customer is picked up only once and is dropped off at the destination by imposing (18) and (19). Furthermore, a vehicle has to start at its corresponding starting point and ends its route at the depot as enforced by (20) and (21). Constraint (22) provides a lower bound on the arrival time of a vehicle at a node and (24) ensures that the dropoff occurs after the corresponding pickup. Note that the lower bound (22) allows \(u_i^k\) to be zero if vehicle k never visits node i. Finally, (23)–(25) are constraints for the passenger load of each vehicle.
The first summation in the objective function is the “service level cost”. The first term penalises the “wait time”, which is defined as the difference between the arrival time and the start of a time window, and the second term penalises the “late time”, defined as the difference between the arrival time and the end of a time window. The parameters \(\alpha\) and \(\beta\) are introduced to enable various polynomial forms of penalty terms. For instance, a quadratic term (\(\alpha =2\)) can be used to penalize longer wait/late times more than short wait/late times. With this formulation, the time windows are treated as penalty terms instead of hard constraints, which is different to typical formulations in the literature (Bent and van Hentenryck 2004; Cordeau and Laporte 2007; Ropke and Cordeau 2009; Baldacci et al. 2011).
The first term in the second summation is the capital cost of each vehicle used. Recall that the formulation enforces that all vehicles start at their own starting points and end at the depot due to (20) and (21). However, if a vehicle k is actually unused, its starting point (Node k) coincides with the depot location (Node 0) and it will not incur a capital cost according to (22), in a sense that it allows \(u^k_0 \ge 0\). Thus, the optimization would naturally choose \(u^k_0 = 0\). Finally, a route length minimization is taken into account by the last term of the objective function.
As mentioned in Section 3.5, the optimization problem (14)–(25) is solved heuristically with Algorithms 4 and 5.
Appendix D.2: Route concatenations
Let R be the set of all routes produced by the route optimization process. A route \(r\in R\) is defined by the tuple \(\{t^s,b^s,t^e,b^e\}\), where \(t^s\) is the start of the service time of the first stop of r (that is not the vehicle starting point), \(b^s\) is the location of the first stop of r, \(t^e\) is the end of the service time of the last stop of r (that is not the depot), and \(b^e\) is the location of the last stop of r. Moreover, \(t^{\text {driv}}(b^e_i \rightarrow b^s_j)\) is the vehicle travel time from the last stop of \(r_i\) to the first stop of \(r_j\). Furthermore, define the decision variable \(x_{i,j}\), which is equal to one if \(r_j\) is appended to the end of \(r_i\), and zero otherwise. The optimization aims at maximizing the number of concatenation as follows:
subject to:
The constraint is applied to ensure that the resulting route allows enough time for the vehicle to reach the first stop of the subsequent route from the last stop of the preceding one.
Appendix E: Results
See Table 2 here.
Rights and permissions
About this article
Cite this article
Czioska, P., Kutadinata, R., Trifunović, A. et al. Realworld meeting points for shared demandresponsive transportation systems. Public Transp 11, 341–377 (2019). https://doi.org/10.1007/s1246901900207y
Accepted:
Published:
Issue Date:
Keywords
 Demandresponsive transportation
 Shared mobility
 Meeting points