A dialaride problem using private vehicles and alternative nodes
 37 Downloads
Abstract
This paper addresses the dialaride problem (DARP) using private vehicles and alternative nodes (DARPPVAN). The DARP consists of creating vehicle routes in order to ensure a set of users’ transportation requests. Each request corresponds to a client needing to be transported from his/her origin to his/her destination. Routing costs have to be minimized while respecting a set of constraints like time windows and maximum route length. In the classical DARP, vehicles have to start from a depot and come back to it at the end of their route. In the DARPPVAN, the ondemand transportation service can be done either by a public fleet or by clients that use their private vehicles. The use of these vehicles adds more flexibility and unclog the public transportation fleet by allowing clients to organize their own transportation. However, it also raises some privacy concerns. The DARPPVAN addresses these concerns and focuses on location privacy, i.e., the ability to prevent the third parties from learning clients’ locations, by keeping both original and final locations private. This is addressed by setting several pickup/delivery nodes for the transportation requests, thus masking the private address. A compact mixed integer linear model is presented, and an evolutionary local search (ELS) is proposed to compute solutions of good quality for the problem. These methods are benchmarked on a modified set of benchmark instances. A new set of realistic instances is also provided to test the ELS in a more realistic way.
Keywords
DARP Privacy Linear model Metaheuristic ELS1 Introduction
In our work, we solve a particular dialaride problem where passengers are transported by either a public fleet of vehicles or by means of private vehicles owned by other passengers. Clients that aim at hiding information on their home address can communicate a set of alternative locations where pickup/delivery can be made. The decision problem requires to determine which vehicle is assigned to each client, while satisfying operational constraints such as time windows, maximal route length, maximum riding time and vehicle capacities. The problem models a large variety of realworld situations, from the standard dial a ride, where only the public fleet is given, to the pure carpooling situation, where only private vehicles can be used. The aim of this work is to formally introduce and model the problem and to present an effective evolutionary heuristic for its solution.
The use of private vehicles has been proposed to complete the use of public vehicles that are already in place. We can accept the provider of the public service to know the exact address of the clients (supposing, for example, that these are employees of a company), but we cannot accept this to hold for the owners of private vehicles, as clients might like to preserve their privacy. Therefore, it makes sense not to give her/his address to these private vehicle owners in particular, but rather find places of appointment. Preventing a private driver from accessing the private address of a potential client is one of the purposes of our study.
1.1 Dialaride problem
The problem considered here is related to the vehicle routing problem (VRP) class. The purpose of these problems is to meet the demand of a set of clients by using a fleet of vehicles located at a central depot. Each vehicle performs a route that visits a sequence of clients before returning to the depot, and the aim is to serve all clients with the leastcost set of routes. The Capacitated VRP (CVRP) is the most famous problem in the VRP class and imposes a maximum capacity on the demand loaded on each vehicle. Exact methods can consistently solve CVRP instances with up to 200 clients only [6, 29], and hence, heuristics are required to handle larger instances. Among the metaheuristics, the evolutionary algorithms have obtained good results [31, 36].
The dialaride problem (DARP) is an extension of the CVRP where the clients’ requests do not correspond to deliveries (or pickups) anymore. Instead, each client requires a transportation from an origin node (pickup) to a destination node (delivery) addressing additional constraints including time windows, vehicle maximum riding time and fleet size. A transportation request must be ensured by a single vehicle. In addition, the DARP can be defined in a static or in a dynamic context. In the former, all requests are known in advance; in the latter, requests appear dynamically, while vehicles are already performing their trip. We consider here the static version.
Heuristic approaches for the DARP have been proposed in the 1980s and 1990s. In the last decade, several more efficient approaches, based on metaheuristics, have been developed. A tabu search has been proposed in Cordeau and Laporte [11]. Later, a variable neighborhood search has been presented in Parragh et al. [28]. Masson et al. [26] used an adaptive large neighborhood search to address the DARP with transfers. Chassaing et al. [10] adapted the evolutionary local search (ELS), and recently, Masmoudi et al. [25] have proposed a hybrid genetic algorithm. For further details, we refer the reader to the recent survey on pickup and delivery problems for the transportation of goods [7] and of people [16].
Formally, the DARP is defined on a complete directed graph \( G = \left( {N,A} \right), \) with a heterogeneous fleet \( F \) of \( K \). vehicles and a set \( R = \left\{ {1, \ldots ,n} \right\} \) of transportation requests. \( N = \left\{ {0,1, \ldots ,2n,2n + 1} \right\} \) is the set of nodes. The depot is split into two copies, nodes \( 0 \) and \( 2n + 1 \), for, respectively, the beginning and the end of the trips. Given a transportation request \( i \), its pickup node is node \( i \) and its delivery node is \( n + i \). Thus, \( N^{P} = \left\{ {1, \ldots ,n} \right\} \) and \( N^{D} = \left\{ {n + 1, \ldots ,2n} \right\} \) are, respectively, the pickup and the delivery subsets. For each node \( i \), \( \left[ {e_{i} ;l_{i} } \right] \) is its time windows (\( e_{i} \) is the earliest starting time and \( l_{i} \) is the latest starting time), the service duration is \( d_{i} \), and the demand in persons is \( q_{i} \), such that \( q_{i} > 0 \) and \( q_{n + i} =  q_{i} \). Given an arc \( \left( {i,j} \right) \in A \), \( t_{ij} \) is the transportation time and \( c_{ij} \) is the transportation cost. Vehicle \( k \) of the fleet has capacity \( Q_{k} \). For sake of simplicity, the node associated to a pickup node, resp. a delivery node, will be referred to as pickup, resp. delivery. When no confusion arises, in the following we also use \( i^{ + } \) to denote a pickup node \( i \) and \( i^{  } \) to denote a delivery node \( n + i \).
\( A_{i} \) is the arrival time of the vehicle,
\( B_{i} \) is the beginning of the service,
\( D_{i} \) is the departure time, such that \( D_{i} = B_{i} + d_{i} , \)
\( W_{i} \) is the waiting time, such that \( W_{i} = B_{i}  A_{i} , \)
\( R_{i} \) is the riding time, which corresponds to the time between the end of service at pickup node \( i \) and the beginning of service at delivery node \( n + i \) of a client. Thus, \( R_{i} = B_{n + i}  D_{i} . \)
 1.
the pickup and the delivery of a client \( i \) must be in the same route, the pickup node being visited before the delivery node,
 2.
at any time of the route, the number of persons in a vehicle \( k \) cannot exceed its capacity \( Q_{k} \),
 3.
for each node, the service time \( B_{i} \) fits within the time window on node \( i \), i.e., \( e_{i} \le B_{i} \le l_{i} , \)
 4.
the riding time \( R_{i} \) of client \( i \) must not exceed a maximum limit \( RT_{i} , \)
 5.
the trip duration for a vehicle \( k \) must not exceed the maximum trip duration \( T, \)
 6.
at most \( K \) vehicles are used.
Total Riding Time: \( {\text{TRT}} = \mathop \sum \limits_{i = 1}^{n} B_{i + n}  D_{i} , \)
Total Waiting Time: \( {\text{TWT}} = \mathop \sum \limits_{i = 1}^{2n} W_{i} , \)
Total Duration: \( {\text{TD}} = \mathop \sum \limits_{k = 1}^{K} A_{{\left {n\left( k \right)} \right}}  D_{{n_{0} \left( k \right)}} , \)
1.2 DARP extensions
A large number of papers dedicated to the DARP focus on providers operation costs minimization (including but not limited to transportation time and route durations for example), and only few papers consider vehicle emissions, with the exception of Atahran et al. [5]. A wide majority of publications propose singleobjective approaches. Some articles are dedicated to the multiobjective DARP, often setting a single objective as a weighted sum of objectives. Lexicographic objective function is used in Garaix et al. [22] and is well suited in problems where the first criterion is definitively more important than the second one. The Pareto optimization approaches for the DARP provide a full set of nondominated solutions and allow one to analyze tradeoffs between objectives [27]. Whatever the criteria, the DARP has been first introduced in a static context and has then been extended to the stochastic version, to allow considering decisions to be achieved in contexts of nonperfect data. Thus, problems that are more realistic can be handled this way. Moreover, in the dynamic version of the DARP, requests are received throughout the day and are not known in advance: the purpose is to accept as many requests as possible as explained by Attanasio et al. [4]. The multidepot variant has been introduced by Detti et al. [14] by solving a transportation problem coming from a realworld healthcare: in this problem, several depots are available and a heterogeneous fleet of vehicle is proposed. The vehicle fleet homogeneity is a classical DARP assumption. It can then be extended to heterogeneous fleets, motivated by clients with specific requirements and services expectations. Such considerations can be modeled by a vehicle–client compatibility matrix, and they have been addressed in several recent publications including Parragh et al. [28] or Detti et al. [14]. Client transfers between vehicles require synchronization between the vehicles. This provides some flexibility, and it can lead to a better system performance [34]. Since all ridesharing systems are based on client–server solution, privacy for both clients and drivers is a key point and should receive a considerable amount of attention.
1.3 Setting privacy in DARP
Traffic congestion and rising oil prices raise the interest for alternative transportation modes in order to save travel costs and reduce travel time and environmental concerns. Currently, most private vehicles are underutilized and contain only one traveler during daily trips, leaving most of the seats available. The growing availability of geographical localization systems, mainly based on GPS information, allows the creation of new kinds of personalized transportation services where a private vehicle can be used as a private shared vehicle.
For instance, LocationBased Services (LBS) [3, 33] and ridesharing services [2, 9, 20] are on a steep rise. Instead of being hired by a company, drivers in a ridesharing system can be seen as private independent entities. These new types of transportation aim at bringing together travelers with similar travel path and time schedule. Yet, the users’ privacy is an important issue in current ridesharing systems [12, 20]. Since these services heavily depend on Web applications, they can be targeted by malwares in order to access private data. Among them, the location data extracted through a privacy breach could allow to guess the user’s home [21] and its potential for burglaries and assaults. Aïvodji et al. [1] presented an overview of the main techniques for enforcing location privacy. In addition, they propose an algorithm to solve the 2 Synchronization Points Shortest Path Problem (2SP–SP) while respecting users privacy in polynomial time. The purpose of this problem is to compute the optimal pickup and dropoff point as well as the 5 paths linked to these points, in order to set the best trip for the driver and for the rider. However, solving the problem with an unknown number of users in the trip (that can be greater than 2) and without setting the riders and the driver is more difficult as it involves an additional combinatorial complexity. We consider the location data problem too, and we propose a DARP model in which an operation (pickup or delivery) is not represented by a single position—home, for instance—but by a set of potential nodes (for possible pickup and delivery operations).
1.4 Contributions of the paper
The DARP with private vehicles and alternative nodes (DARPPVAN) is first presented. Then, an integer compact linear programming formulation is proposed, and an evolutionary local search (ELS) metaheuristic is developed by using dynamic probabilities for neighborhood exploration, as in Chassaing et al. [10]. The trip evaluation is based on the algorithm proposed by Firat and Woeginger [19], but it is extended to automatically select the best alternative node in case this trip is performed by a private vehicle.
The remaining of the paper is organized as follows: Sect. 2 is dedicated to the definition of the DARPPVAN and its linear formulation. Section 3 presents the components in the ELS metaheuristic for computing solutions of good quality respecting privacy of users for the DARPPVAN. Section 4 reports the numerical results on modified instances from the literature as well as on new realistic instances, showing the interest of private vehicles. Concluding remarks are given in Sect. 5.
2 DARPPVAN
2.1 Definition
In the DARPPVAN, in addition to the public fleet of vehicles, decentralized car sharing can be organized by the use of a set of private vehicles that are located at a subset of nodes \( R^{\prime} \subseteq R \), each node representing a client that can use his/her car to reach his/her delivery destination possibly transporting other clients. The nodetonode ridesharing system is an alternative to the public transportation system composed of a fleet of vehicles located at the depot node. In the DARPPVAN, two types of vehicles are used: (i) the public fleet located at a depot node and (ii) the private vehicles. Public vehicles provide a doortodoor system thanks to a centralized platform in charge of collecting and storing data and which is modeled as a DARP. This can model situations where a company organizes the clients’ transportations by means of a dedicated fleet of vehicles. Yet, the clients can organize the transportation themselves, as it is the case if they are employees of the company.
In case a client \( i \in R^{\prime} \) uses his/her private vehicle, the trip starts at \( i \) and ends at \( i + n \) and its capacity is \( Q_{r} \). A subset of nodes \( N_{i}^{S} \) is defined, where a pickup or a delivery operation for \( i \) is possible considering the client’s habits and motivated by his/her willing to make an acceptable detour.
The privacy for client \( i \) is ensured by a set of alternative pickup nodes \( N_{{i^{ + } }}^{s} \subset N^{s} \) in addition to its initial pickup node \( i^{ + } \) and by a set of alternative delivery nodes \( N_{{i^{  } }}^{s} \subset N^{s} \) in addition to its initial delivery node \( i^{  } \). In this way, it is harder to guess the user’s exact location. Moreover, it is also harder to anticipate where the client will be picked up and dropped. If the client \( i \) is transported by a private vehicle, a node \( \lambda^{ + } \in N_{{i^{ + } }}^{s} \) and a node \( \lambda^{  } \in N_{{i^{  } }}^{s} \) have to be selected for the solution; otherwise, the initial pickup (\( i^{ + } \)) and the initial delivery (\( i^{  } \)) nodes are used. Since two subsets \( N_{i}^{s} \) and \( N_{j}^{s} \) can share some nodes, this model allows the possibility of socalled meeting nodes. Thus, two clients \( i \) and \( j \) can be handled at the same location. These meeting nodes will be automatically used whenever this improves the solution cost. The DARPPVAN reduces to the DARP when \( R' \) is empty, and it is thus NPhard.
2.2 Mixed integer linear programming compact formulation
both public and private vehicles,
a set of alternative nodes available for each client when using a private vehicle,
meeting nodes for clients.
2.2.1 Notation
 \( N \)

Set of initial nodes, \( N = N^{P} \cup N^{D} \cup \left\{ 0 \right\} \cup \left\{ {2n + 1} \right\} \),
 \( N^{P} \)

Set of initial pickup nodes, \( N^{P} \subset N \),
 \( N^{D} \)

Set of initial delivery nodes, \( N^{D} \subset N \),
 \( N_{i}^{S} \)

Set of alternative nodes linked to an initial node \( i \), \( i \in N \),
 \( N_{i}^{T} \)

Total set of nodes for \( i \), containing initial node \( i \) and alternative nodes \( N_{i}^{S} \), i.e.,\( N_{i}^{T} = N_{i}^{S} \cup \left\{ i \right\},\quad i \in N, \)
 \( N^{T} \)

Total set of all initial and alternative nodes, i.e.,\( N^{T} = \left( {\mathop {\bigcup }\nolimits_{i \in N} N_{i}^{S} } \right) \cup N \),
 \( K \)

Number of public vehicles at the depot,
 \( K' \)

Number of private vehicles,
 \( K^{T} \)

Total number of vehicles, \( K + K^{\prime} = K^{T} \),
 \( n \)

Number of clients,
 \( d_{i} \)

Service duration at node \( i \), \( i \in N^{T} \),
 \( \left[ {e_{i} ;l_{i} } \right] \)

Time window at node \( i \), \( i \in N^{T} \),
 \( q_{i} \)

Client demand at node \( i \), \( i \in N \),
 \( RT_{i} \)

Client \( i \) maximum riding time, \( i \in \left\{ {1, \ldots ,n} \right\} \),
 \( c_{i,j}^{k} \)

Time between node \( i \) and node \( j \) for vehicle \( k \), \( i,j \in N \),\( k \in K^{T} \),
 \( g_{k} \)

Initial node position of the vehicle \( k \), \( k \in K^{T} \),
 \( Q_{k} \)

Maximum capacity of vehicle \( k, \)\( k \in K^{T} , \)
 \( T \)

Maximum trip length,
 \( M \)

A large positive number.
2.2.2 Variables
 \( A_{i} \)
Arrival time of a vehicle at node \( i \), \( i \in N\backslash \left\{ {0,2n + 1} \right\} \), \( A_{i} \ge 0 \),
 \( B_{i} \)
Beginning time of service at node \( i \), \( i \in N\backslash \left\{ {0,2n + 1} \right\} \), \( B_{i} \ge 0 \),
 \( D_{i} \)
Departure time of a vehicle at node \( i \), \( i \in N\backslash \left\{ {0,2n + 1} \right\} \), \( D_{i} \ge 0 \),
 \( A_{dpt}^{k} \)
Arrival time of a vehicle \( k \) at the final node, \( k \in K^{T} \), \( A_{dpt}^{k} \ge 0 \) (the final node is the depot node for a public vehicle and the node \( g_{k} + n \) for a private vehicle)
 \( D_{dpt}^{k} \)
Departure time of a vehicle \( k \) from the starting node, \( k \in K^{T} ,\; D_{dpt}^{k} \ge 0 \) (the starting node is the depot node for public vehicle and the node \( g_{k} \) for a private vehicle)
 \( v_{i}^{k} \)
Vehicle \( k \) load when arriving at node \( i \), \( i \in N \), \( k \in K^{T} \), \( v_{i}^{k} \ge 0 \),
 x_{i,j}^{k}
\( \left\{ {\begin{array}{*{20}l} 1 \hfill &\quad {{\text{if}}\;{\text{one}}\;{\text{arc}}\;{\text{is}}\;{\text{used}}\;{\text{between}}\;N_{i}^{T} \;{\text{and}}\;N_{j}^{T} \;{\text{by}} } \hfill \\ &\quad {{\text{vehicle}}\;k,\;i,\;j \in N,\; k \in K^{T} ,} \hfill \\ 0 \hfill &\quad {{\text{otherwise}},} \hfill \\ \end{array} } \right. \)
 y_{l,m}
\( \left\{ {\begin{array}{*{20}l} 1 \hfill &\quad { {\text{if}}\; {\text{arc}} \left( {l,m} \right) {\text{is}}\;{\text{used}}, \quad l,m \in N^{T} ,} \hfill \\ 0 \hfill &\quad {{\text{otherwise}} .} \hfill \\ \end{array} } \right. \)
2.2.3 Constraints and objective function
The set of constraints can be partitioned into several subsets: each subset of equations represents one type of constraint.
Time constraints the first set of constraints ensures that arrival, beginning and departure variables satisfy the time windows of the corresponding node. Precedence constraints are also considered.
Load constraints the second set of constraints ensures that the vehicle load does not exceed the capacity at any node of the trip.
Flow balance constraints The third set of constraints defines flow conservation for each vehicle.
Graph reduction constraints The following sets of constraints consist of cuts to reduce the computational time.
Nonnegative and integer constraints All the variables are positive, and binary variables should be set to 0–1 values.
Finally, the MILP consists in optimizing the objective function (35) subject to the constraints (1)–(34) and the variables definition. DARPPVAN is NPhard as an extension of DARP. Most constraints come from classical DARP models and are slightly modified to address our problem. However, constraints (5), (15), (16), (17), (18), (28), (29), (33) and (34) are dedicated to the DARPPVAN and solve the problem of private vehicles and privacy.
3 Evolutionary local search metaheuristic
The evolutionary local search (ELS) metaheuristic has been first proposed by Wolf and Merz [37]. It extends the iterated local search (ILS) proposed by Lourenço et al. [24], and it has been then successfully applied to the VRP by Prins [32]. At each iteration of the ELS, several copies of the current solution are done. Each copy is modified by a mutation operator and then improved by a local search. The best resulting solution over the improved copies is kept as new current solution for the next iteration. The rationale behind the ELS algorithmic scheme is to deeply investigate the neighborhood of the current local optimum before leaving it. It is often combined with a wider exploration mechanism, like in GRASP, for instance. It can be even embedded into a simpler multistart, to manage the diversity during the global solution space exploration. The framework we propose is an extension of the approach in Chassaing et al. [10] that has been enriched and fully tuned to solve the DARPPVAN. Indeed, we take into account the use of private vehicles while respecting privacy for users, and this extension is integrated by modifying both the evaluation and the mutation function. In addition, two new operators dedicated to private trips are developed.
creating a neighborhood set of the current solution by copies and mutation (line 16),
improving neighbors using a local search (line 17),
keeping the best resulting solution for the next iteration (line 19),
 updating the neighborhood activation probabilities used in the local search (line 21).
an indirect representation for the solutions as a sequence of the requests and a decoding function allowing the creation of a feasible solution from this sequence;
 a constructive heuristic adapted from Chassaing et al. [10], to generate highquality initial solutions, based on the following steps:
for each pair of clients, we check if an order is mandatory because of time windows. If so, this is modeled by precedence constraints in a precedence graph,
the graph containing precedence constraints is then partitioned into levels,
a graph partition is used to generate a given insertion order for the clients. This order is used to build initial solutions by using an insertion heuristic;
an adaptive local search relying on dynamic probabilities. A probability is associated with each neighborhood structure. At each iteration, a neighborhood is selected according to these probabilities. The probabilities are updated with respect to the capability to improve the current solution (or not);
an efficient procedure to evaluate trip cost considering the shortest path between node and an iterative minimization of three criteria (the total duration, the total riding time and the total waiting time).
3.1 Trip evaluation
Step 1 allow the use of private vehicle by adding zero cost arcs from the depot to the pickup node corresponding to the private vehicle, and from its delivery node to the depot;
Step 2 when a vehicle visits a client node, automatically choose the node (initial or alternative) where the client will be picked up or dropped off.
In step 2, we take into account the privacy for the user. Each client \( i \) is associated with an initial pickup/delivery node \( i^{ + } /i^{  } \) and sets of alternative nodes \( N_{{i^{ + } }}^{S} /N_{{i^{  } }}^{S} \). Thus, one pickup node and one delivery node must be selected depending on the type of vehicle used to transport \( i \) (public or private). For a public vehicle, the initial pickup and delivery nodes \( i^{ + } /i^{  } \) are used. Otherwise, a pickup node \( \alpha^{ + } \in N_{{i^{ + } }}^{S} \) and a delivery node \( \alpha^{  } \in N_{{i^{  } }}^{S} \) must be chosen. This selection is automatically and optimally done by first building a layered graph in which each layer corresponds to a client node. For each layer, the set of nodes the vehicle is allowed to visit is set. Then, the arcs between each of the successive layers are created. Once the layered graph has been created, a shortest path can be computed, for instance using Dijkstra algorithm [15], in order to minimize the distance for the private vehicle.
It is worth noting the alternative nodes selection is not done explicitly in the ELS. It is performed automatically through the shortest path computation in the private trip evaluation. Here, we are assuming the alternative nodes are not too distant from the initial node, in such a way it is highly unlikely that a private trip where alternative nodes are not selected by shortest path algorithm would be valid, while the private trip with the shortest path used would not. Thus, we can evaluate private trips after choosing alternative nodes with a shortest path algorithm. However, if the problem contains alternative nodes at a significant distance from the initial node, this would break our assumption and both the shortest path and the evaluation should be performed at the same time and not sequentially. In such a case, evaluating the shortest path with time windows is NPhard [13]. This general case will be considered in a future work.
3.2 Mutation
operation 1: a transportation request is removed from its trip and assigned to a new one,
operation 2: a cut and paste move between two trips is achieved.
These two mutations do not have the same probability of being used. The first mutation generates a close neighbor of the original solution with a probability of 0.7. The second mutation generates a more different neighbor but is expensive in terms of computation: the probability of using it is 0.3. These probabilities define a balance between the computation time and the diversification.
The second operation works as follows: we randomly choose in the current solution two trips \( \lambda_{1} \) and \( \lambda_{2} \) of respective length \( n_{{(\lambda_{1} )}} \) and \( n_{{\left( {\lambda_{2} } \right)}} \). Two positions \( p_{1} \) and \( p_{2} \) are randomly chosen in \( \lambda_{1} \) and \( \lambda_{2} \), such that \( 1 \le p_{k} \le n_{{\left( {\lambda_{k} } \right)}} \), \( k = 1,2 \). All transportation requests for which position \( p_{i} \) is between its pickup and its delivery are tagged true in each trip. If a private vehicle is used, the vehicle’s client is set aside. All nodes of \( \lambda_{1} \) before \( p_{1} \), associated with untagged transportation requests, are iteratively inserted into the new trip \( t_{1} \). Then, all nodes of \( \lambda_{2} \) after \( p_{2} \), associated with untagged transportation requests, are iteratively inserted into the new trip \( t_{1} \). The roles of \( \lambda_{1} \) and \( \lambda_{2} \) are swapped to build the other new trip \( t_{2} \). Tagged transportation requests are inserted one by one in one trip at the best position considering the trip cost. If a private vehicle is used, its owner is inserted such as its vehicle is used in the trip: \( t_{1} \) and \( t_{2} \) are tested and the best one is kept.
3.3 Local search
A 4Opt move as proposed by Lin and Kernighan [23], where 4 arcs are removed from a trip and all possible ways to reconnect the remaining segments are investigated, keeping the best solution;
A cut and paste move described in the mutation Sect. (3.2) as “operation 2”;
A removal of the worst client in a tour, i.e., a client whose request removal results in the largest cost reduction. Then, it is inserted at its best position in a random trip. Computing the largest detour on a trip is performed by comparing the cost of the trip when each client is removed individually: the trip with the smaller cost will give the client who causes the largest detour;
A relocation implementing the method proposed by Braekers et al. [8], where a random trip is removed and each client of this trip is inserted at its best position in another random trip;
A 2Opt* move as proposed by Potvin and Rousseau [30], where an arc is removed from two different trips before recombining the resulting parts;
A request exchange as proposed by Braekers et al. [8], swapping two transportation requests from different trips.
removePrivateTrip(): remove a trip performed by a private vehicle and insert all its transportation requests into the other trips.
createPrivateTrip(): create a new private trip from a request handled by a public trip.
In createPrivateTrip(), we first find a public trip (\( \lambda \)) and the pickup (\( p_{i}^{ + } \)) and the delivery (\( p_{i}^{  } \)) positions of a client \( i \) that can perform a private trip. Then, \( i \) is removed from \( \lambda \) and a new private trip \( \lambda ' \) made of only client \( i \) is created. All the transportation requests in \( \lambda \) whose pickup and delivery are located between \( p_{i}^{ + } \) and \( p_{i}^{  } \) are tagged true. Next, all these transportation requests are tentatively and sequentially inserted into \( \lambda ' \).
4 Numerical experiments
The first set contains 20 instances modified from the instances in Ropke et al. [35]. They have been designed with the main scope of evaluating the MILP model. The modification from the original instances consists in adding a set of private vehicles, more precisely the clients able to use their vehicle. In addition, alternative nodes linked to initial nodes have been created. Some clients have been removed too in order to keep the instances small enough for the MILP resolution. Preliminary tests showed that 8 requests are a practical limit in our case. By including alternative nodes, we obtain instances with up to 47 nodes.
The second set is composed of 20 instances extending the set proposed by Cordeau and Laporte [11]. These instances are dedicated to evaluate the ELS. As for the first set, these instances have been modified to add private vehicles and positions of alternative nodes linked to initial nodes. Clients have not been removed, as the ELS is able to handle instances with up to 120 transportations requests.
The last set is made of 35 realistic instances that we created based on the asymmetric routing graphs generated by Duhamel et al. [18]. These instances contain up to 60 requests. This set is also dedicated to the ELS performance evaluation.
The experiments have been done on an Intel core i74790 @ 3.60 GHz with a single thread activated. CPLEX solver 12.6 has been used to compute optimal solutions for our MILP model, and the time limit has been set to 1 h. Considering [17], the speed of our computer is about 4130 MFlops. All the methods have been coded in C++. All instances as well as the best solutions can be downloaded at: http://www.isima.fr/~lacomme/DARP_PV/.
4.1 MILP evaluation
Name  n  \( N^{T} \)  K  K’  Obj  LB  T*(s)  TT (s)  #K  #K’ 

PCD_2v_10n_0p  5  31  2  0  32.90  32.90  0.84  0.95  2  0 
PCD_1v_10n_1p  5  31  1  1  28.92  28.92  1.67  1.89  1  1 
PCD_2v_10n_1p  5  31  2  1  28.92  28.92  2.34  2.51  1  1 
PCD_0v_10n_2p  5  31  0  2  29.62  29.62  14.45  14.91  0  2 
PCD_5v_10n_5p  5  31  5  5  20.10  20.10  5.04  7.11  0  3 
PCD_2v_12n_0p  6  37  2  0  32.36  32.36  16.65  20.94  2  0 
PCD_1v_12n_1p  6  37  1  1  27.64  27.64  110.25  114.89  1  1 
PCD_2v_12n_1p  6  37  2  1  27.64  27.64  273.78  367.58  1  1 
PCD_0v_12n_2p  6  37  0  2  25.05  25.05  21.98  38.58  0  2 
PCD_5v_12n_6p  6  37  5  6  19.20  19.20  288.34  316.64  0  5 
PCD_2v_14n_0p  7  42  2  0  35.98  35.98  195.06  203.47  2  0 
PCD_1v_14n_1p  7  42  1  1  32.10  32.10  1682.64  2438.23  1  1 
PCD_2v_14n_1p  7  42  2  1  32.10  32.10  984.80  1975.21  1  1 
PCD_0v_14n_2p  7  42  0  2  –  26.50  –  3600.00  –  – 
PCD_5v_14n_7p  7  42  5  7  24.37  21.90  3521.21  3600.00  0  6 
PCD_2v_16n_0p  8  47  2  0  48.19  48.19  380.57  1485.53  2  0 
PCD_1v_16n_1p  8  47  1  1  –  34.46  –  3600.00  –  – 
PCD_2v_16n_1p  8  47  2  1  48.78  34.58  3320.82  3600.00  2  1 
PCD_0v_16n_2p  8  47  0  2  –  33.50  –  3600.00  –  – 
PCD_5v_16n_8p  8  47  5  8  31.60  27.65  3316.85  3600.00  0  6 
A simple observation relates the number of private and public vehicles used according to the number of private vehicles available. As can be seen from instance PCD_2v_12n_0p to instance PCD_5v_14n_7p (second block of instances), the more the private vehicles are available, the less the public vehicles are used. This leads from a solution cost \( 32.36 \) with two public vehicles to \( 19.20 \) with five private vehicles. We also observe the difficulty of our model to solve instances with more than 7 requests: the time limit of 3600 s is reached and the optimal solutions are not found for six instances. For three out of these six instances (PCD_0v_14n_2p, PCD_1v_16n_1p and PCD_0v_16n_2p), no feasible solution has even been found. This is the reason we proposed a metaheuristic to handle instances with realistic size, as shown in the next section.
One can also note that the addition of a single potential private vehicle, that is changing from \( K' = 0 \) to \( K' = 1 \), can improve substantially the value of the solution. Yet, the required computing time increases sharply as well. We recall that the configuration with no private nodes corresponds to the classical DARP, while the configuration with no public nodes corresponds to the pure car sharing problem. The last instance in each block corresponds to the unrestricted context where, apart from the public vehicles, all clients can also use their own vehicle.
4.2 Mutation operator comparison on ELS
Comparison of mutation operator on the [11] instances
Name  BKS  (1; 0)  (0; 1)  (0.7; 0.3)  

Obj  Gap%  Obj  Gap%  Obj  Gap%  
R1a  190.02  190.79  0.41  190.79  0.41  190.02  0.00 
R2a  301.34  308.42  2.35  308.36  2.33  301.34  0.00 
R3a  532.00  539.71  1.45  558.52  4.98  534.28  0.43 
R4a  570.25  604.51  6.01  624.09  9.44  572.95  0.47 
R5a  626.93  658.71  5.07  689.47  9.98  640.27  2.13 
4.3 ELS evaluation on Cordeau and Laporte [11] instances
Results for ELS on the Cordeau and Laporte [11] instances
Type  Name  \( n \)  \( N^{T} \)  K  BKS  Obj  GAP%  T*(s)  TT(s)  #K 

DARP  R1a  24  48  3  190.02  190.02  0.00  0.00  15.00  3 
R2a  48  96  5  301.34  301.34  0.00  24.00  60.00  5  
R3a  72  144  7  532.00  534.28  0.43  53.80  150.00  7  
R4a  96  192  9  570.25  572.95  0.47  324.00  456.00  8  
R5a  120  240  11  626.93  640.27  2.13  360.00  498.00  11 
Solutions equal to BKS were found for instances R1a and R2a; otherwise, solutions with a gap less than 0.5% are provided for instances R3a and R4a. These results illustrate that the ELS also provides good results on the classical DARP, which is a specific version of the DARPPVAN.
Type  Name  \( n \)  \( N^{T} \)  K  K’  UB  Obj  GAP%  T*(s)  TT(s)  #K  #K’ 

DARPPVAN  R1a1ppn  24  168  3  1  190.02  190.02  0.00  0.00  15.00  3  0 
R1a2ppn  24  168  3  2  190.02  190.02  0.00  0.00  15.00  3  0  
R1a3ppn  24  168  3  3  190.02  186.90  − 1.64  7.20  15.00  2  1  
R2a1ppn  48  318  5  1  301.34  299.84  − 0.50  38.40  60.00  5  1  
R2a2ppn  48  318  5  2  301.34  294.39  − 2.31  44.40  60.00  5  2  
R2a3ppn  48  318  5  3  301.34  294.92  − 2.13  32.40  60.00  5  2  
R3a1ppn  72  479  7  1  532.00  529.90  − 0.39  85.20  150.00  7  1  
R3a2ppn  72  479  7  2  532.00  530.39  − 0.30  72.00  150.00  7  2  
R3a3ppn  72  479  7  3  532.00  522.57  − 1.77  76.20  150.00  7  3  
R4a1ppn  96  650  9  1  570.25  574.94  0.82  298.80  438.00  8  0  
R4a2ppn  96  650  9  2  570.25  572.99  0.48  283.80  438.00  8  0  
R4a3ppn  96  650  9  3  570.25  573.10  0.50  256.80  438.00  8  1  
R5a1ppn  120  819  11  1  626.93  629.18  0.36  367.20  498.00  11  1  
R5a2ppn  120  819  11  2  626.93  633.76  1.09  231.00  498.00  11  2  
R5a3ppn  120  819  11  3  626.93  638.50  1.85  190.20  498.00  11  3 
4.4 ELS evaluation on new instances
Previous tests on our ELS metaheuristic were done on classical DARP instances, tuned for the DARPPVAN. The algorithm has also been benchmarked on a new set of instances dedicated to the DARPPVAN, with medium time window extent on each node and common meeting nodes among requests. To our knowledge, test instances with these characteristics were not available in the literature for the version of the DARP that is studied in this paper.
The randomly generated instances use the asymmetric routing graphs generated by Duhamel et al. [18] that are composed of a set of nodes with their positions and of a set of oriented arcs. Based on these graphs, we created 35 new instances that contain from 10 to 60 requests. Each request is composed of one initial pickup and one initial delivery node, and, for each of them, from one to four associated alternative nodes. These alternative nodes are close to their initial one in the graph. For each instance, pickup and delivery locations are generated using a procedure that creates clusters of vertices. This positioning has been set to model daily commuting: pickup nodes (resp. delivery nodes) are chosen in the same area. For each node, the service time \( d_{i} \) is equal to 2 and the load is equal to either 1 or 1 depending on whether the node is a pickup or a delivery. The depot is located in the middle of the graph. For each arc \( \left( {i,j} \right) \in A \), its routing cost \( c_{i,j} \) is equal to the shortest path from \( i \) to \( j \).
\( e_{{i^{ + } }} = l_{{i^{  } }}  \alpha * {\text{SP}}_{i} \),
\( l_{{i^{ + } }} = l_{{i^{  } }}  {\text{SP}}_{i} \),
\( e_{{i^{  } }} = e_{{i^{ + } }} + {\text{SP}}_{i} \),
Results for ELS on the new set of instances
Name  \( n \)  \( N^{T} \)  K  K’  Obj  Gap%  T*(s)  TT(s)  #K  #K’ 

PCD_20_0VP  10  61  4  0  811.35  –  0.00  60.00  3  0 
PCD_20_2VP  10  61  4  2  730.65  − 9.94  30.00  60.00  3  1 
PCD_20_4VP  10  61  4  4  730.65  − 9.94  30.00  60.00  3  1 
PCD_20_6VP  10  61  4  6  658.24  − 18.87  30.00  60.00  2  4 
PCD_20_10VP  10  61  4  10  435.52  − 46.32  34.80  60.00  0  7 
PCD_40_0VP  20  125  8  0  1135.31  –  6.60  120.00  4  0 
PCD_40_2VP  20  125  8  2  1028.41  − 9.42  60.60  120.00  4  2 
PCD_40_6VP  20  125  8  6  747.73  − 34.14  118.80  120.00  1  6 
PCD_40_8VP  20  125  8  8  667.43  − 41.21  78.00  120.00  1  6 
PCD_40_10VP  20  125  8  10  647.31  − 42.98  60.60  120.00  1  8 
PCD_40_20VP  20  125  8  20  565.69  − 50.17  88.80  120.00  0  12 
PCD_60_0VP  30  191  20  0  1530.00  –  46.20  180.00  6  0 
PCD_60_2VP  30  191  20  2  1493.06  − 2.41  115.80  180.00  4  2 
PCD_60_8VP  30  191  20  8  1240.68  − 18.91  165.00  180.00  4  5 
PCD_60_10VP  30  191  20  10  1044.67  − 31.72  178.80  180.00  2  8 
PCD_60_16VP  30  191  20  16  916.88  − 40.07  146.40  180.00  1  9 
PCD_60_30VP  30  191  20  30  961.22  − 37.18  97.20  180.00  0  17 
PCD_80_0VP  40  243  20  0  2060.88  –  2.40  240.00  7  0 
PCD_80_2VP  40  243  20  2  2060.88  0.00  2.40  240.00  7  0 
PCD_80_10VP  40  243  20  10  1991.44  − 3.37  129.60  240.00  5  2 
PCD_80_14VP  40  243  20  14  1840.34  − 10.70  189.00  240.00  4  5 
PCD_80_20VP  40  243  20  20  1509.49  − 26.76  240.00  240.00  2  11 
PCD_80_40VP  40  243  20  40  1447.02  − 29.79  162.00  240.00  1  18 
PCD_100_0VP  50  307  50  0  2415.43  –  81.60  300.00  7  0 
PCD_100_4VP  50  307  50  4  2386.15  − 1.21  163.20  300.00  7  3 
PCD_100_14VP  50  307  50  14  2029.22  − 15.99  268.80  300.00  4  8 
PCD_100_18VP  50  307  50  18  2078.92  − 13.93  294.60  300.00  4  9 
PCD_100_26VP  50  307  50  26  2079.45  − 13.91  292.20  300.00  4  10 
PCD_100_50VP  50  307  50  50  1888.48  − 21.82  242.40  300.00  1  21 
PCD_120_0VP  60  371  50  0  2928.59  –  257.40  360.00  10  0 
PCD_120_4VP  60  371  50  4  2804.60  − 4.23  268.20  360.00  8  1 
PCD_120_16VP  60  371  50  16  2465.74  − 15.80  335.40  360.00  5  5 
PCD_120_20VP  60  371  50  20  2407.83  − 17.78  320.40  360.00  6  4 
PCD_120_30VP  60  371  50  30  2581.43  − 11.85  269.40  360.00  7  3 
PCD_120_60VP  60  371  50  60  2106.29  − 28.08  360.00  360.00  2  20 
The use of private vehicles while respecting privacy of users significantly improves solutions of a classical DARP, as stressed on the Gap% column in Table 5. For instance PCD_40, the cost saving goes up to 50.17% when all clients can use their vehicle (even if only 12 are really used). This behavior holds for all instances. Note that the saving also depends on private vehicle capacity, which has been set to 5 here. For a more restricted capacity, the improvement would have been more limited. For all instances, ELS uses all the allowed CPU time. Yet, the time to find the best solution increases when private vehicles can be used, compared to the configuration with no private vehicle (i.e., \( K^{\prime} = 0 \)).
the riding time is defined between each pickup and delivery nodes,
the departure node of private trip is located at a pickup node,
the maximal riding time is lower than the maximal total duration.
Our next experiments evaluate the average deviation from the shortest path for each request. It is computed as the ratio between the current trip distance and the distance of the shortest trip from his/her pickup to his/her delivery. Note that some other requests could be handled in the same time by the same vehicle, which would further increase the deviation. Thus, the path from the pickup node to the delivery node may not be the shortest one. We studied this average deviation according to the number of private vehicles used. As shown in Fig. 15, in which 100% means the shortest possible path is used, the average length of a transport request corresponds to 161.44% of the shortest path when no private vehicles are used. With private vehicles, this deviation reduces progressively to 129.29%. This also means an average 18.75% time saving for a request.
4.5 ELS evaluation on instances with vehicle dependent cost
The ELS is also evaluated on a set of instances with vehicle dependent cost. To do so, the instances introduced in Sect. 4.4 are extended the following way:
The cost of an arc is the same for all public vehicles. For private vehicles, instead, it is multiplied by a coefficient \( \beta \). For each instance, this coefficient is randomly chosen between \( Min\beta \) and \( Max\beta \) values. This coefficient can be smaller than 1, which means that private vehicles are faster and cheaper than public vehicles, or larger, meaning the opposite.
Results for ELS on vehicle depending cost instances
Name  Min \( \beta \)  Max \( \beta \)  Obj*  Obj  Gap%  #K  #K’ 

PCD_20_2VP  0.80  1.00  811.35  696.92  − 14.10  2  2 
1.00  1.20  811.35  736.46  − 9.23  3  1  
1.20  1.40  811.35  749.38  − 7.64  3  1  
1.40  1.60  811.35  762.31  − 6.04  3  1  
1.60  1.80  811.35  775.23  − 4.45  3  1  
1.80  2.00  811.35  788.16  − 2.86  3  1  
2.00  2.20  811.35  801.08  − 1.27  3  1  
2.20  2.40  811.35  811.35  0.00  3  0  
PCD_20_4VP  0.80  1.00  811.35  690.43  − 14.90  2  4 
1.00  1.20  811.35  736.46  − 9.23  3  1  
1.20  1.40  811.35  749.38  − 7.64  3  1  
1.40  1.60  811.35  762.31  − 6.04  3  1  
1.60  1.80  811.35  775.23  − 4.45  3  1  
1.80  2.00  811.35  788.16  − 2.86  3  1  
2.00  2.20  811.35  801.08  − 1.27  3  1  
2.20  2.40  811.35  811.35  0.00  3  0  
PCD_20_6VP  0.80  1.00  811.35  630.86  − 22.25  2  4 
1.00  1.20  811.35  672.27  − 17.14  2  4  
1.20  1.40  811.35  702.17  − 13.46  2  2  
1.40  1.60  811.35  720.53  − 11.19  2  2  
1.60  1.80  811.35  738.89  − 8.93  2  2  
1.80  2.00  811.35  757.25  − 6.67  2  2  
2.00  2.20  811.35  775.61  − 4.41  2  2  
2.20  2.40  811.35  793.97  − 2.14  2  2 
5 Concluding remarks
In this paper, we have introduced the dialaride problem with private vehicles and alternative nodes (DARPPVAN). This model allows the combination of two fleets: a public fleet of vehicles located at a depot and a set of private vehicles, each one owned by a client. The former fleet leads to a centralized system (transportation company, either public or private) while the latter is decentralized. The pickup and the delivery locations for each transportation request are associated with an initial node as well as with several alternative nodes. These alternative nodes are used to improve the client’s privacy.
The initial node is used by a public fleet, while the alternative nodes are used by private vehicles only. Alternative nodes prevent from learning clients’ locations, i.e., keeping both original and final locations private. As an additional feature, these alternative nodes allow the definition of meeting nodes by sharing some alternative nodes between several transportation requests. A mixed integer linear programming formulation has been proposed and benchmarked as well as an evolutionary local search (ELS) metaheuristic. A new set of instances, dedicated to the DARPPVAN, has been created too. Results show that the use of private vehicles can lead to some improvement on several ways. First, the sum of travelled distances is significantly reduced since the private vehicles do not need to leave and return to the depot. The quality of service is improved, and the travel distance for each client is closer to the shortest distance. In addition, the number of arcs used is reduced, which means a lower impact on the global traffic. Coupled with a lower total distance, this could also lead to lower global NOx/CO_{2} emissions.
This work is currently being extended into the analysis of the economical interplay between both types of services. Namely, given a company, we are looking at the way to set financial incentives for the employees to offer ridesharing opportunities to their colleagues. Moreover, the coupling between ridesharing and multimodal transportation should be further investigated, as well as the generalization of the optimal alternative node selection and trip evaluation. Finally, generalization of the privacy concept to the public trips should also be explored.
Notes
References
 1.Aïvodji, U.M., Gambs, S., Huguet, M.J., Killijian, M.O.: Meeting nodes in ridesharing: a privacypreserving approach. Transp. Res. Part C Emerg. Technol. 72, 239–253 (2016)CrossRefGoogle Scholar
 2.Agatz, N., Erera, A., Savelsbergh, M., Wang, X.: Optimization for dynamic ridesharing: a review. Eur. J. Oper. Res. 223(2), 295–303 (2012)CrossRefGoogle Scholar
 3.Artigues, C., Deswarte, Y., Guiochet, J., Huguet, M.J., Killijian, MO., Powell, D., Roy, M., Bidan, C., Prigent, N., Anceaume, E., Gambs, S., Guette, G., Hurfin, M., Schettini, F. Amores: an architecture for mobiquitous resilient systems. In: Proceedings of the 1st European Workshop on Approaches to Mobiquitous Resilience. ACM (2012)Google Scholar
 4.Attanasio, A., Cordeau, J.F., Ghiani, G., Laporte, G.: Parallel tabu search heuristics for the dynamic multivehicle dialaride problem. Parallel Comput. 30(3), 377–387 (2004)CrossRefGoogle Scholar
 5.Atahran, A., Lenté, C., T’kindt, V.: A multicriteria dialaride problem with an ecological measure and heterogeneous vehicles. J MultiCriteria Decis Anal 21(5–6), 279–298 (2014)CrossRefGoogle Scholar
 6.Baldacci, R., Mingozzi, A., Roberti, R.: Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints. Eur. J. Oper. Res. 218(1), 1–6 (2012)MathSciNetCrossRefGoogle Scholar
 7.Battarra, M., Cordeau, J.F., Iori, M.: Pickup and delivery problems for goods transportation. In: Toth, P., Vigo, D. (eds.) Vehicle Routing: Problems, Methods, and Applications, 2nd edn, SIAM, Monographs on Discrete Mathematics and Applications, ISBN 9781611973587, pp. 161–192 (2014)Google Scholar
 8.Braekers, K., Caris, A., Janssens, G.K.: Exact and metaheuristic approach for a general heterogeneous dialaride problem with multiple depots. Transp. Res. Part B Methodol. 67, 166–186 (2014)CrossRefGoogle Scholar
 9.Bruck, P.B., Incerti, V., Iori, M., Vignoli, M.: Minimizing CO_{2} emissions in a practical daily carpooling problem. Comput. Oper. Res. 81, 40–50 (2017)MathSciNetCrossRefGoogle Scholar
 10.Chassaing, M., Duhamel, C., Lacomme, P.: An ELSbased approach with dynamic probabilities management in local search for the dialaride problem. Eng. Appl. Artif. Intell. 48, 119–133 (2016)CrossRefGoogle Scholar
 11.Cordeau, J.F., Laporte, G.: A tabu search heuristic for the static multivehicle dialaride problem. Transp. Res. Part B Methodol. 37(6), 579–594 (2003)CrossRefGoogle Scholar
 12.Cottrill, C.D., Thakuriah, P.V.: Location privacy preferences: a surveybased analysis of consumer awareness, tradeoff and decisionmaking. Transp. Res. Part C Emerg. Technol. 56, 132–148 (2015)CrossRefGoogle Scholar
 13.Desrochers, M., Soumis, F.: A generalized permanent labelling algorithm for the shortest path problem with time windows. INFOR Inf. Syst. Oper. Res. 26(3), 191–212 (1988)zbMATHGoogle Scholar
 14.Detti, P., Papalini, F., de Lara, G.Z.M.: A multidepot dialaride problem with heterogeneous vehicles and compatibility constraints in healthcare. Omega 70, 1–14 (2017)CrossRefGoogle Scholar
 15.Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1(1), 269–271 (1959)MathSciNetCrossRefGoogle Scholar
 16.Doerner, .K.F., Salazar Gonzalez, J.J.: Pickupanddelivery problems for people transportation. In: Toth, P., Vigo, D. (eds.) Vehicle Routing: Problems, Methods, and Applications, 2nd edn, SIAM, Monographs on Discrete Mathematics and Applications, ISBN 9781611973587, pp. 193–212 (2014)Google Scholar
 17.Dongarra, J.: Performance of Various Computers Using Standard Linear Equations Software, (Linpack Benchmark Report), University of Tennessee Computer Science Technical Report, CS8985 (2014)Google Scholar
 18.Duhamel, C., Lacomme, P., Prodhon, C., Prins, C.: A GRASP × ELS approach for reallife location routing problems. In: Proceedings of the 2009 International Conference on Computers & Industrial Engineering, IEEE (2009)Google Scholar
 19.Firat, M., Woeginger, G.J.: Analysis of the dialaride problem of Hunsaker and Savelsbergh. Oper. Res. Lett. 39(1), 32–35 (2011)MathSciNetCrossRefGoogle Scholar
 20.Furuhata, M., Dessouky, M., Ordóñez, F., Brunet, M.E., Wang, X., Koenig, S.: Ridesharing: the stateoftheart and future directions. Transp. Res. Part B Methodol. 57, 28–46 (2013)CrossRefGoogle Scholar
 21.Gambs, S., Killijian, M.O., Núñez del Prado Cortez, M. Show me how you move and I will tell you who you are. In: Proceedings of the 3rd ACM SIGSPATIAL International Workshop on Security and Privacy in GIS and LBS. ACM (2010)Google Scholar
 22.Garaix, T., Artigues, C., Feillet, D., Josselin, D.: Optimization of occupancy rate in dialaride problems via linear fractional column generation. Comput. Oper. Res. 38(10), 1435–1442 (2011)MathSciNetCrossRefGoogle Scholar
 23.Lin, S., Kernighan, B.W.: An effective heuristic algorithm for the travelingsalesman problem. Oper. Res. 21(2), 498–516 (1973)MathSciNetCrossRefGoogle Scholar
 24.Lourenço, H.R., Martin, O.C., Stützle, T.: Iterated local search. In: Handbook of Metaheuristics. Springer, Boston, pp. 320–353 (2003)Google Scholar
 25.Masmoudi, M.A., Braekers, K., Masmoudi, M., Dammak, A.: A hybrid genetic algorithm for the heterogeneous dialaride problem. Comput. Oper. Res. 81, 1–13 (2017)MathSciNetCrossRefGoogle Scholar
 26.Masson, R., Lehuédé, F., Péton, O.: The dialaride problem with transfers. Comput. Oper. Res. 41, 12–23 (2014)MathSciNetCrossRefGoogle Scholar
 27.Paquette, J., Cordeau, J.F., Laporte, G., Pascoal, M.M.B.: Combining multicriteria analysis and tabu search for dialaride problems. Transp. Res. Part B Methodol. 52, 1–16 (2013)CrossRefGoogle Scholar
 28.Parragh, S.N., Doerner, K.F., Hartl, R.F.: Variable neighborhood search for the dialaride problem. Comput. Oper. Res. 37(6), 1129–1138 (2010)CrossRefGoogle Scholar
 29.Pecin, D., Pessoa, A., Poggi, M., Uchoa, E.: Improved branchcutandprice for capacitated vehicle routing. Math. Program. Comput. 9(1), 61–100 (2017)MathSciNetCrossRefGoogle Scholar
 30.Potvin, J.Y., Rousseau, J.M.: A parallel route building algorithm for the vehicle routing and scheduling problem with time windows. Eur. J. Oper. Res. 66(3), 331–340 (1993)CrossRefGoogle Scholar
 31.Prins, C.: A simple and effective evolutionary algorithm for the vehicle routing problem. Comput. Oper. Res. 31(12), 1985–2002 (2004)MathSciNetCrossRefGoogle Scholar
 32.Prins, C.: A GRASP × evolutionary local search hybrid for the vehicle routing problem In: Bioinspired Algorithms for the Vehicle Routing Problem. Springer, Berlin, pp. 35–53 (2009)Google Scholar
 33.Quercia, D., Lathia, N., Calabrese, F., Di Lorenzo, G., Crowcroft, J.: Recommending social events from mobile phone location data. In: Data Mining (ICDM), Proceedings of the 2010 IEEE International Conference on Data Mining (ICDM ‘10) (2010)Google Scholar
 34.Reinhardt, L.B., Clausen, T., Pisinger, D.: Synchronized dialaride transportation of disabled passengers at airports. Eur. J. Oper. Res. 225(1), 106–117 (2013)CrossRefGoogle Scholar
 35.Ropke, S., Cordeau, J.F., Laporte, G.: Models and branchandcut algorithms for pickup and delivery problems with time windows. Networks 49(4), 258–272 (2007)MathSciNetCrossRefGoogle Scholar
 36.Vidal, T., Crainic, T.G., Gendreau, M., Rei, W., Lahrichi, N.: A hybrid genetic algorithm for multidepot and periodic vehicle routing problems. Oper. Res. 60(3), 611–624 (2012)MathSciNetCrossRefGoogle Scholar
 37.Wolf, S., Merz, O.: Evolutionary local search for the superpeer selection problem and the phub median problem. In: International Workshop on Hybrid Metaheuristics. Springer, Berlin (2007)Google Scholar