Real-world meeting points for shared demand-responsive transportation systems


While shared demand-responsive transportation (SDRT) systems mostly operate on a door-to-door policy, the usage of meeting points for customer pick-up and drop-off can offer several benefits, such as fewer stops and less total travelled kilometers. Moreover, real-world meeting points offer a possibility to select only feasible and well-defined 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 (SDRT-MP). A three-step procedure is applied to solve the SDRT-MP. 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 real-world meeting point-based system in contrast to a door-to-door 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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

(Source: OpenStreetMap)

Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14


  1. 1.

  2. 2.

  3. 3.

  4. 4.

  5. 5.

  6. 6.

  7. 7.

  8. 8.

  9. 9. ©OpenStreetMap Contributors


  1. 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

  2. Aissat K, Oulamara A (2015) Meeting locations in real-time ridesharing problem: a buckets approach. In: Operations research and enterprise systems, Springer, pp 71–92

  3. Aïvodji UM, Gambs S, Huguet MJ, Killijian MO (2016) Meeting points in ridesharing: a privacy-preserving approach. Transp Res Part C Emerg Technol 72:239–253

    Article  Google Scholar 

  4. 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.

  5. 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

    Article  Google Scholar 

  6. Bent R, van Hentenryck P (2004) A two-stage hybrid local search for the vehicle routing problem with time windows. Transp Sci 38(4):515–530

    Article  Google Scholar 

  7. Chen W, Mes M, Schutten J, Quint J (2016) A ride-sharing problem with meeting points and return restrictions. BETA Working Paper Series 516.

  8. Cordeau JF, Laporte G (2007) The dial-a-ride problem: models and algorithms. Ann Oper Res 153(1):29–46.

    Article  Google Scholar 

  9. Correa O, Ramamohanarao K, Tanin E, Kulik L (2017) From ride-sourcing to ride-sharing through hot-spots. In: Proceedings of the 2017 MobiQuitous, ACM.

  10. Czioska P, Trifunović A, Dennisen S, Sester M (2017) Location- and time-dependent meeting point recommendations for shared interurban rides. J Location Based Serv 11(3–4):181–203.

    Article  Google Scholar 

  11. 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

  12. Giles-Corti B, Vernez-Moudon 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.

    Article  Google Scholar 

  13. Goel P, Kulik L, Ramamohanarao K (2016) Privacy-aware dynamic ride sharing. ACM Trans Spatial Algorithms Syst 2(1):4:1–4:41.

    Article  Google Scholar 

  14. Goel P, Kulik L, Ramamohanarao K (2017) Optimal pick up point selection for effective ride sharing. IEEE Trans Big Data 3(2):154–168.

    Article  Google Scholar 

  15. Griswold A (2017) Why it matters that Uber and Lyft are becoming more like public transit. Accessed 11 Apr 2018

  16. 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

    Google Scholar 

  17. Hastie T, Tibshirani R, Friedman J (2009) The elements of statistical learning, 2nd edn. Springer, New York

    Google Scholar 

  18. Hess DB (2012) Walking to the bus: perceived versus actual walking distance to bus stops for older adults. Transportation 39(2):247–266

    Article  Google Scholar 

  19. Kutadinata R, Thompson R, Winter S (2019) Passenger-freight demand responsive transport services: A dynamic optimisation approach. In: Proceedings of the 26th intelligent transport systems World Congress, to be presented

  20. Li B, Krushinsky D, Reijers H, van Woensel T (2014) The share-a-ride problem: people and parcels sharing taxis. Eur J Oper Res 238(1):31–40

    Article  Google Scholar 

  21. Mageean J, Nelson JD (2003) The evaluation of demand responsive transport services in Europe. J Transp Geogr 11(4):255–270.

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. Millward H, Spinney J, Scott D (2013) Active-transport walking behavior: destinations, durations, distances. J Transp Geogr 28:101–110

    Article  Google Scholar 

  24. Municipality of Braunschweig (2016) Open geodata. License: dl-de/by-2-0.

  25. Najmi A, Rey D, Rashidi TH (2017) Novel dynamic formulations for real-time ride-sharing systems. Transp Res Part E: Logist Transp Rev 108:122–140.

    Article  Google Scholar 

  26. 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.

  27. Nelson JD, Wright S, Masson B, Ambrosino G, Naniopoulos A (2010) Recent developments in flexible transport services. Res Transp Econ 29(1):243–248

    Article  Google Scholar 

  28. Parragh SN, Doerner KF, Hartl RF (2008) A survey on pickup and delivery problems. J für Betriebswirtschaft 58(1):21–51

    Article  Google Scholar 

  29. Rigby M, Winter S (2016) Usability of an opportunistic interface concept for ad hoc ride-sharing. Int J Cartogr 2(2):115–147.

    Article  Google Scholar 

  30. 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

  31. 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.

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

    Article  Google Scholar 

  34. Stiglic M, Agatz N, Savelsbergh M, Gradisar M (2015) The benefits of meeting points in ride-sharing systems. Transp Res Part B Methodol 82:36–53.

    Article  Google Scholar 

  35. Wang Y, Kutadinata R, Winter S (2019) The evolutionary interaction between taxi-sharing behaviours and social networks. Transp Res Part A Policy Pract 119:170–180

    Article  Google Scholar 

Download references


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 Australia-Germany Joint Research Co-operation Scheme.

Author information



Corresponding author

Correspondence to Paul Czioska.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


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 zero-based 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:

$$\begin{aligned} \sum _{i=0}^{N} \alpha (i)(k - i\bmod k)(n - i\cdot k) \le k\sum _{i=0}^{N} \alpha (i)(n - i\cdot k) \end{aligned}$$


$$\begin{aligned} \alpha (i) = {\left\{ \begin{array}{ll} 0, &{}\text { if } i\backslash k =0 \\ 1, &{}\text { otherwise.} \end{array}\right. } \end{aligned}$$

Notice that:

$$\begin{aligned} \sum _{i=0}^{N} (n - i\cdot k) \le \frac{N}{2}\cdot (2n - N\cdot k) \end{aligned}$$

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:

$$\begin{aligned} \frac{N}{2}\cdot (2n - N\cdot k) \le \frac{N - \frac{N}{k}}{2}\cdot (2n - N\cdot k) \end{aligned}$$

Putting all this together in (9) and noticing that \(N < \frac{n}{k}\), we get the complexity upper bound:

$$\begin{aligned} k \frac{N - \frac{N}{k}}{2}\cdot (2n - N\cdot k) \le \frac{n^2 \cdot (k - 1)}{2k} \le \frac{n^2}{2} \end{aligned}$$

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 2-Combinations function yields all possible paired combinations of a given set, e.g. 2-Combinations(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 pick-up vertices, \({\mathcal {D}}\) is the set of corresponding n drop-off vertices. Node 0 is the depot, and a demand is represented by a pair of pick-up and drop-off 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 ij 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 time-window 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 on-board 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:

$$\begin{aligned}&\min _{x,u,m} \sum _{i\in {\mathcal {M}}\cup {\mathcal {D}}} \left[ c^\text {wait}_{*} \max \{u_i^k - t^{E}_i(m_i), 0\}^{\alpha } + c^\text {late}_{*} \max \{u_i^k - t^{L}_i(m_i), 0\}^{\beta } \right] \nonumber \\&\quad + \sum _{k\in {\mathcal {S}}} \left[ c^\text {vehi}_{*} \,\mathrm {sgn}\left( u^k_0\right) + \sum _{i,j\in {\mathcal {V}}} c^\text {dist}_{*} x^k_{i,j} d_{i,j}(m_i,m_j) \right] \end{aligned}$$

subject to:

$$\begin{aligned}&x_{i,j}^k \in \{0,1\}&\forall i,j\in {\mathcal {V}}\text {, } k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&u_i^k \in {\mathbb {R}}_{\ge 0}&\forall i\in {\mathcal {V}}\text {, } k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&m_i \in {\mathbb {N}}^{+}_{\le N_i}&\forall i\in {\mathcal {V}}\text {,} \end{aligned}$$
$$\begin{aligned}&\sum _{k\in {\mathcal {S}}} \sum _{j\in {\mathcal {V}}} x_{i,j}^k = 1&\forall i\in {\mathcal {M}}\text {,} \end{aligned}$$
$$\begin{aligned}&\sum _{j\in {\mathcal {V}}} x_{i,j}^k=\sum _{j\in {\mathcal {V}}} x_{n+i,j}^k&\forall i\in {\mathcal {M}}, \forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&\sum _{i\in {\mathcal {V}}} x_{k,i}^k = \sum _{i\in {\mathcal {V}}} x_{i,0}^k = 1&\forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&\sum _{j\in {\mathcal {V}}} x_{i,j}^k=\sum _{j\in {\mathcal {V}}} x_{j,i}^k&\forall i\in {\mathcal {M}}\cup {\mathcal {D}}, \forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&u_j^k\ge x_{i,j}^k \cdot \max \left\{ u_i^k + s_i + t_{i,j}(m_i,m_j), t^{E}_{j}(m_j) \right\}&\forall i,j\in {\mathcal {V}}, \forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&q_j^{k} = x_{i,j}^k \cdot (q_i^{k} + q_j)&\forall i,j\in {\mathcal {V}}, \forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&u_{i+n}^k\ge u_i^k&\forall i\in {\mathcal {M}}, \forall k\in {\mathcal {S}}\text {,} \end{aligned}$$
$$\begin{aligned}&0\le q_i^{k} \le q_{*}&\forall i\in {\mathcal {V}}, \forall k\in {\mathcal {S}}\text {.} \end{aligned}$$

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 drop-off occurs after the corresponding pick-up. 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:

$$\begin{aligned} \max _{x} \quad \sum _{i,j} x_{i,j} \end{aligned}$$

subject to:

$$\begin{aligned} t^e_i + t^{\text {driv}}(b^e_i \rightarrow b^s_j) \le t^s_j \text {,}\quad \quad \forall i,j\text {.} \end{aligned}$$

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.

Table 2 Results for the MP meeting point and DS doorstep case

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Czioska, P., Kutadinata, R., Trifunović, A. et al. Real-world meeting points for shared demand-responsive transportation systems. Public Transp 11, 341–377 (2019).

Download citation


  • Demand-responsive transportation
  • Shared mobility
  • Meeting points