Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Multi-start heuristic approaches for one-to-one pickup and delivery problems with shortest-path transport along real-life paths

  • Xin Qi ,

    Roles Funding acquisition, Methodology, Software, Writing – original draft, Writing – review & editing

    qixin@ecjtu.edu.cn

    Affiliations School of Traffic and Transportation Engineering, Central South University, Changsha, Hunan, China, School of Transportation and Logistics, East China Jiao Tong University, Nanchang, Jiangxi, China

  • Zhuo Fu,

    Roles Conceptualization, Funding acquisition, Project administration, Writing – original draft, Writing – review & editing

    Affiliation School of Traffic and Transportation Engineering, Central South University, Changsha, Hunan, China

  • Jian Xiong,

    Roles Data curation, Formal analysis, Software, Writing – original draft

    Affiliations School of Traffic and Transportation Engineering, Central South University, Changsha, Hunan, China, School of Transportation and Logistics, East China Jiao Tong University, Nanchang, Jiangxi, China

  • Weixiong Zha

    Roles Conceptualization, Formal analysis, Writing – review & editing

    Affiliation School of Transportation and Logistics, East China Jiao Tong University, Nanchang, Jiangxi, China

Abstract

The One-to-one Pickup and Delivery Problem with Shortest-path Transport along Real-life Paths (OPDPSTRP) is presented in this paper. It is a variation of the One-to-one Pickup and Delivery Problem (OPDP), which is common in daily life, such as the Passenger Train Operation Plans (PTOP) and partial Taxi-sharing Problem. Unlike the classical OPDP, in the OPDPSTRP, (1) each demand must be transported along the shortest path according to passengers/shippers requirements, and (2) each vehicle should travel along a real-life path. First, six route structure rules are proposed for the OPDPSTRP, and a kind of Mixed-Integer Programming (MIP) models is formulated for it. Second, A Variable Neighborhood Descent (VND), a Variable Neighborhood Research (VNS), a Multi-Start VND (MS_VND) and a Multi-Start VNS (MS_VNS) with five neighborhood operators has been developed to solve the problem. Finally, The Gurobi solver, the VND, the VNS, the MS_VND and the MS_VNS have been compared with each other by 84 random instances partitioned in small size connected graphs, medium size connected graphs and large size connected graphs. From the test results we found that solutions generated by these approaches are often comparable with those found by the Gurobi solver, and the solutions found by these approaches are better than the solutions found by the Gurobi solver when solving instances with larger numbers of demands. In almost all instances, the MS_VND significantly outperforms the VND and the VNS in terms of solution quality, and outperforms the MS_VNS both in terms of solution quality and CPU time. In the instances with large numbers of demands, the MS_VND is still able to generate good feasible solutions in a reasonable CPU time, which is of vital practical significance for real-life instances.

1 Introduction

Nowadays, a China high-speed rail network has been formed, it is an urgent problem to design the Passenger Train Operation Plans (PTOP) based on networks, which is different from the general PTOP based on lines. Generally, there are two features in the PTOP that (1) passengers should be transported through the shortest path and (2) trains cannot visit any station more than once. So the PTOP based on networks can be refined as: There are several pickup-delivery demands (pd-pairs) and vehicles in a real-life connected graph. Each pd-pair chosen must be transported through the shortest path from the pickup point to the delivery point according to passenger/shipper requirements. Each vehicle starts at a given location and ends at the final delivery point of the pd-pairs transported by the vehicle, and cannot visit (stop at or pass through) any point more than once, namely each vehicle should travel along a real-life path. Constraints, such as vehicle load capacities, vehicle travel distances, and vehicle stops, need to be considered. This problem can be addressed by introducing a set of maximum-income routes to be driven by a fleet of vehicles to serve a group of known pd-pairs. Referred to as One-to-one Pickup and Delivery Problems with Shortest-path Transport along Real-life Paths (OPDPSTRP), this can be classed under One-to-one Pickup and Delivery Problem (OPDP). Since each pd-pair must be transported along the shortest path and vehicle stops need to be considered, the OPDPSTRP will be studied based on connected graphs, which shouldn’t be abstracted into complete graphs. The OPDPSTRP can also be applied in some transportation problems with these two features of the PTOP based on real-life connected graph, such as partial Taxi-sharing Problem. To the best of our knowledge, the OPDPSTRP has rarely been studied in the literature. So the model of the OPDPSTRP will be studied and efficient algorithms will be proposed for it in this paper.

Section 2 presents related studies, while Section 3 studies the relationships between pd-pairs and presents the model for the OPDPSTRP. Section 4 presents a Variable Neighborhood Descent (VND), a Variable Neighborhood Research (VNS), a Multi-Start VND (MS_VND) and a Multi-Start VNS (MS_VNS) based on 5 new neighborhoods for the OPDPSTRP. Section 5 proposes a set of random instances and analyses the efficiency of the Gurobi solver, the VND, the VNS, the MS_VND and the MS_VNS for the OPDPSTRP. Finally, conclusions and future work are presented in Section 6.

2 Literature review

The OPDPSTRP belongs to the General Pickup and Delivery Problem (GPDP), which is an NP-hard problem.

2.1 GPDP

Many scholars have carried out research on the GPDP over the past few years, in response to numerous kinds of GPDP being applied in real-life, such as GPDP with Time Windows, Dynamic, Stochastic, Unpaired/Paired, Single/Multi vehicle, Single/Multi depot and Single/Multi commodity.

Parragh et al. [1], [2] reviewed current GPDP research and divided the studies into two categories, as illustrated in Fig 1. The first category comprises the transportation of goods from a depot to line-haul customers and from back-haul customers to the depot, denoted as the Vehicle Routing Problem with Back-hauls (VRPB). The research on VRPB was reviewed by Koç and Laporte [3]. The second category considers all problems that occur where goods are transported between pickup and delivery locations, denoted as the General Vehicle Routing Problem with Pickups and Deliveries (GVRPPD). In this paper, the problem being studied belongs to the latter category.

The GVRPPD can be further divided into two sub-classes: unpaired and paired. The first sub-class refers to situations where pickup and delivery locations are unpaired and each unit picked up can be used to fulfill the demands of any delivery customer, such as Many-to-many PDP (MMPDP, Rieck et al. [4]). The second GVRPPD sub-class is known as the One-to-one Pickup and Delivery Problem (OPDP), such as the Vehicle Routing Problem with Pickups-Deliveries (VRPPD) and the Dial-A-Ride Problem (DARP). Both types of OPDP consider transportation requests, each associated with an origin and a destination, resulting in paired pickup and delivery points (e.g. Agatz et al. [5], Chen et al. [6] and Ho et al. [7]). The VRPPD addresses goods transportation, while the DARP deals with passenger transportation (Berbeglia et al. [8]). Santos et al. [9] listed differences between the Taxi-sharing Problem and the Ride-sharing Problem, which are two kinds of DARP. They pointed out that the private car owner has a specific trip route in the Ride-sharing Problem, while the taxi driver does not have a specific route in the Taxi-sharing Problem, which is similar to the OPDPSTRP studied in this paper.

Berbeglia et al. [8], [10] divided GPDP into three categories: One-to-Many-to-One PDP (OMOPDP, Gribkovskaia et al. [11]), Many-to-many PDP (MMPDP, Psaraftis [12], [13], Sexton [14], [15] and Camargo et al. [16]) and One-to-one PDP (OPDP). They also listed three kinds of OPDP: the swapping problem, single-commodity PDTSP, and single-commodity Q-delivery, with corresponding solution methods presented in their papers. Recently, research into the OPDP (e.g. Pérez et al. [17], Sahin et al. [18] and Soysal et al. [19]) outnumbered studies into the MMPDP (e.g., Rieck et al. [4]) and OMOPDP (e.g., Zhu et al. [20]).

2.2 OPDP, OPDPST and OPDPSTRP

Most classical OPDPs are studied in complete graphs, and pickup points must be visited prior to delivery points (e.g. Fleischmann et al. [21], Cornuéjols et al. [22], Aragão et al. [23], Letchford et al. [24], Li et al. [25], Mahmoudi et al. [26]). The classical OPDP can be easily formulated as a Mixed-Integer Program (MIP), such as those reported in Pérez et al. [17], Sahin et al. [18] and Soysal et al. [19]. In a forthcoming article, we studied a new kind of OPDP, named One-to-one Pickup and Delivery Problems with Shortest-path Transport (OPDPST), in which each pd-pair must be transported along the shortest path, and a new kind of modeling method was proposed for the OPDPST according its new route constructions. The OPDPSTRP is a kind of the OPDPST, in which vehicles should travel along real-life paths in connected graphs, such as Train-operation Plan in China and partial Taxi-sharing Problem and so on. Unlike the classical OPDP in a complete graph, the OPDPST and the OPDPSTRP studied in this paper is described by connected graphs, since numbers of vehicle stops need to be considered.

Vehicles should travel along paths both in the classical OPDP and the OPDPST and the OPDPSTRP, some research conducted on the route structure of the classical OPDP can provide some reference for the OPDPSTRP, although travelling along paths in a complete graph doesn’t means travelling along paths in the corresponding real-life connected graph. Furuhata et al. [27] listed four kinds of ride-sharing patterns for the Ride-sharing Problem. Letchford et al. [24] pointed out that the cheapest path is not always the quickest path, and a comparison of multiple paths between each two points was necessary. Muelas et al. [28] proposed a method for relocating a pd-pair by considering four cases, and the shortest one was chosen as the optimal routing scheme in each local search move. Lin et al. [29] and Wang et al. [30] studied the Ride-sharing Problem (a kind of OPDP) in real-life networks. However, it is not a necessary requirement to transport pd-pairs through the shortest route in these papers.

Additionally, as in the OPDPSTRP, each vehicle starts at its location (regarded as a depot) and ends at the final delivery point of the contents transported by the vehicle, so it can be considered as a multi-depot (vehicles) problem. Most OPDP research is based on single depot, such as that reviewed by Psaraftis [12], [13] (1983), Desrosiers et al. [31], Lin et al. [29], Li et al. [32], Letchford et al. [24], Urra et al. [33], Muelas et al. [28], Qiu et al. [34] and Li et al. [25]. There is also some OPDP research based on multiple depots (vehicles), which is mainly concerned with the Taxi-sharing Problem and Ride-sharing Problem. For example, there is a starting point and an ending point for each vehicle in Hosni et al. [35], Ma et al. [36], Sawaya et al. [37] and Santos et al. [9], whilst only the starting point is considered for each vehicle in Detti et al. [38].

Generally, there is far more research on classical OPDP, and little research focuses directly on the OPDPSTRP proposed in this paper.

2.3 Neighborhood and algorithm for OPDP

Cordeau et al. [39] presented eight kinds of local search moves for OPDP: Couple-exchange, Block-exchange, Relocate-couple, Relocate-block, Multi-relocate, 2-opt-L, Double-bridge and Shake. Ribeiro et al. [40] and Ropke et al. [41] modified three large neighborhood removal heuristics and two large neighborhood insertion heuristics from Shaw P. [42], [43] and Potvin et al. [44] for OPDP. Additionally, studies of Grimault et al. [45] and Ho et al. [7] show that solution feasibility of the OPDP is an important issue to the neighborhoods efficiency for the algorithm.

Rodríguez-Martín et al. [46] solved the OPDPTSP by the Greedy Randomized Adaptive Search Procedures (GRASP) and the VND. Sahin et al. [18] proposed an efficient heuristic that combines the strengths of Tabu Search and Simulated Annealing for the OPDPSD. A Iterated Local Search (ILS) is proposed by Li et al. [47]. Ho et al. [7] classified the solution methods for the DARP (an important category of the OPDP). Factorovich et al. [48] propose a combination of cutting planes to find feasible solutions for the pickup and delivery problem with incompatibility constraints. Additionally, some Local Search (LS) meta-heuristics studied for the PDP can also be used for reference. Adaptive Large Neighborhood Search (ALNS) proposed for the PDP by Ropke et al. [41] and Li et al. [25]. Berbeglia et al. [8], [9] reviewed the algorithms for the static and the dynamic PDP. There are also some exact methods proposed for the OPDP, Pérez et al. [17] solve two mixed integer linear programming models of the OPDPTSP by the Cplex solver. Soysal et al. [19] proposed a mixed integer programming model for the green OPDP, and solved it by the Cplex solver.

Generally, research for the OPDP is mainly based on the heuristic techniques, such as the VNS, the VND, the ILS, the ALNS, the hybrid algorithms and so on, because exact methods are often not the most effective way to solve large OPDP.

3 Problem definition and mathematical model

3.1 Problem definition

In order to define the proposed the OPDPSTRP in mathematical terms, we specify an connected graph G = (N,E,P,K), in which N = {1,…,n} for vertexes, E = {1,…,e} for edges, P = {1,…,p} for pd-pairs, and K = {1,…,m} for vehicles. Each pd-pair i with demand qi yields revenue πi. Each vehicle kK has a maximum capacity Qk and a fixed cost vck. The transportation cost per unit length of vehicle k is tck. Each vehicle k has a stop cost at node n.

The system also obeys the following assumptions.

  1. Each pd-pair attribute is different (Perez et al. [17], Psaraftis et al. [49], Miao et al. [50]) and cannot be split (unlike Mitra et al. [51] and Nowak [52], Xia et al. [53]), and must also be transported through the shortest path according to passengers requirements, with pickup point being visited prior to delivery point.
  2. Each vehicle must travel along a real-life path beginning with the first pickup point and end at the last delivery point, namely each point cannot be accessed multiple times by a vehicle, a common practice in the Passenger Train Operation Plans and so on. The model with this constraint always can obtain close solutions to the model without this constraint but with less computing time than it, which is elaborated in another initial manuscript, the major results can be found in S3 Appendix.
  3. For each vehicle, the travel distance limit (from the first pickup point to the last delivery point) is D, and the limit of the number of stops is M.
  4. The total cost of each vehicle consists of constant cost, travel cost, and stop cost. In order to maximize income, not all pd-pairs need to be transported.
  5. There is only one shortest path between any two nodes in the graph.

By defining the afore-mentioned problem, we hope to identify a suitable scheme to help optimize the benefit.

3.2 Constants and variables

The constants and variables used in this paper are listed in Table 1.

3.3 Mathematical model

The model of the OPDPSTRP is formulated in this section, and the route structure of the OPDPSTRP will be studied for it in Section 3.4.

(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)

The objective function (1) maximizes the total profit, in which is the total income, is the total fixed cost of using vehicles, is the total travel cost due to carry lengths, is the total traveling cost due to connection lengths and additional lengths, and is the total cost of stop nodes. Constraints (2), (3), (4), (5) and (6) determine the order between pd-pairs/vehicle i and j. Constraints (7) ensure that each pd-pair i is transported no more than once. Constraint (8) ensures that each vehicle is not over-loading. Constraint (9) determines whether the vehicle stops at node n or not. Constraint (10) ensures that the number of stops for each route (not including the depot/vehicle) does not exceed M. Constraint (11) determines whether edge e is traveled along or not. Constraints (12) ensure that each route with pd-pairs is assigned to one vehicle. Constraint (13) ensures that the length of each route (not including the depot/vehicle) is not longer than D. Constraints (14), (15), (16) and (17) introduce the decision variables.

3.4 Route structure of the OPDPSTRP

The route structure of the OPDPSTRP will be studied for the model.

3.4.1 Feasibility of route structure and connection relationship between two pd-pairs or vehicle/pd-pair.

Definition 1: In a real-life connected graph, if all pd-pairs are transported through the shortest path in a route i starting with the first pickup point, and the route is a path, then it is defined that route i is Route-Structure-Feasible (RSF for short).

Definition 2: If a RSF route stems from inserting pd-pair i into route j, then it is defined that pd-pair i can be inserted into route j according route structure. pd_R_rs_judgei,j is defined as the route structure feasibility judgement parameter of inserting (RSFJPI for short, 0: feasible; 1: unfeasible.) pd-pair i into route j. [pd_R_rs_judgei,j] is defined as the route structure feasibility judgement matrix of inserting (RSFJMI for short).

Definition 3: If a RSF route is a combination of pd-pair i and pd-pair j, then it is defined that pd-pair i can be combined with pd-pair j according route structure. pd_combine_rs_judgei,j is defined as route structure feasibility judgement parameter of combining (RSFJPC for short, 0: feasible; 1: unfeasible) pd-pair i with j. [pd_combine_rs_judgei,j] is defined as the route structure feasibility judgement matrix of combining (RSFJMC for short). It is assumed that each pd-pair can combine with any vehicle, that is pd_combine_rs_judgep+1,j = 1(∀j = 1,…,p).

Definition 4: In a RSF route, if pd-pair j can be picked up not prior to vehicle/pd-pair i, then it is defined that pd-pair j can connect to vehicle/pd-pair i. The parameter connect_to_judgei,j (∀i = 1,…,p+1;j = 1,…p) is defined as the judgment parameter for pd-pair j connecting to vehicle/pd-pair i. It is assumed that each pd-pair can connect to any vehicle, that is connect_to_judgep+1,j = 1(∀j = 1,…,p). One vehicle cannot connect to another vehicle.

Definition 5: If pd-pair i can connect to vehicle/pd-pair i (namely connect_to_judgei,j = 1), and pd-pair j can be delivered not prior to vehicle/pd-pair i, then it is defined that pd-pair j can connect after vehicle/pd-pair i. The parameter connect_after_judgei,j(∀i = 1,…,p+1;j = 1,…p) is defined as the judgment parameter for pd-pair j connecting after vehicle/pd-pair i. It is assumed that each pd-pair can connect after any vehicle, that is, connect_after_judgep+1,j =1(∀i = 1,…,p).

Definition 6: The nodes traveled by vehicle k in the route combined by pd-pair i and pd-pair j can be classified into stop nodes (stopped at by vehicle k) and pass nodes (passed but not stopped at by vehicle k). pi and di are pickup point and delivery point of pd-pair i correspondingly. sn_odi,n is defined as the judgment parameter of whether pd-pair i picks-up/delivers at node n.

Definition 7: The sections in the route combined with pd-pair i and pd-pair j include weighting sections (sections traveled by a vehicle with pd-pairs), and connecting sections (sections traveled by a vehicle without pd-pairs). The constants lee and lci,j are defined as their lengths.

Table 2 shows the lengths of sections in the paths (beginning with the first pickup point) constructed by pd-pair i and pd-pair j in Fig 2.

thumbnail
Fig 2. Sections lengths in the route constructed by two pd-pairs.

https://doi.org/10.1371/journal.pone.0227702.g002

3.4.2 Rules of route construction with more than two pd-pairs/vehicles.

Since is defined as the decision variable of whether pd-pair j connects to pd-pair i or not, and connect_after_judgei,j = 1 means pd-pair j can connect after pd-pair i, so means pd-pair j connects after pd-pair i successfully (Definition 4 and Definition 5). According to the above research, in a route combined with more than two pd-pairs/vehicle traveled by vehicle k, the lengths of the weighting sections and connecting sections can be formulated as and respectively, and vehicle k stopping at node n or not can be determined by . However, some rules must be complied with to ensure the feasibility of the route.

  1. Rule 1: Pd-pair j can connect to vehicle/pd-pair i when connect_to_judgei,j = 1.
  2. Rule 2: Each pd-pair transported by a vehicle must connect to the vehicle, or another pd-pair that connects after the third pd-pair or vehicle only once.
  3. Rule 3: Each vehicle/pd-pair must not be connected after by more than one pd-pair.
  4. Rule 4: Each pd-pair must not connect to itself.
  5. Rule 5: There cannot be circles in any route.
  6. Rule 6: Each pd-pair not being transported should not connect to any pd-pair or vehicle.

Rule 1, Rule 4, Rule 5 and Rule 6 are apparent.

Take Fig 3 for instance. Pd-pairs i1, i2 and i3 are transported by vehicle k. The vehicle route must be as follows: pd-pair i1 connects after vehicle k (namely ), pd-pair i2 connects to pd-pair i1 (namely ), and pd-pair i3 connects after pd-pair i1 (namely ), according Rule 2 and Rule 3. If , the length (e5+e6+e7) between points di2 and di1 may be double-counted, because pd-pair i2 does not connect after any pd-pair or vehicle. If , the length (e1+e2+e3+e4+e5+e6+e7) between point k and di1 may be double-counted, as vehicle k has been connected after by pd-pair i1 already.

All the rules have been considered in Section 3.3 (constraints 2, 3, 4, 5, 6).

3.4.3 A feasible solution for a small instance.

Fig 4 is a real-life connected graph, edges lengths are shown in it. In a feasible schedule, six pd-pairs (demand: 1) are transported by two vehicles (capacity: 5, distance limit: 10, stops limit: 6) along two routes. According the above definitions: Route 1 and route 2 are RSF; Pd-pair i5 can be inserted into route 1 while pd-pair i4 cannot; Pd-pair i3 can be combined with i1 while pd-pair i4 cannot; Pd-pair i2 and i3 can connect to pd-pair ii, pd-pair i4 can connect to pd-pair i5, and pd-pair i5 can connect to pd-pair i4; pd-pair i3 can connect after pd-pair i1 and i2, pd-pair i4 can connect after pd-pair i5, each pd-pairs can connect after all vehicles; Points 1 and 6 are vehicles locations, points 2, 3, 4, 15, 14, 12, 6, 8 and 10 are stop nodes; lck1,i1 = lee1, lci1,i3 = lee22.

Let πi = 15, vck = 1, tck = 1, and . The values of the decision variables for the schedule are listed in Table 3 (list non-zero variable only).

So , , , , . Total profit is 75−(2+32+6+9) = 26.

4 Solution approach

4.1 Neighborhood

Cordeau et al. [39] presented eight kinds of local search moves for OPDP: Couple-exchange, Block-exchange, Relocate-couple, Relocate-block, Multi-relocate, 2-opt-L, Double-bridge and Shake. Ribeiro et al. [40] and Ropke et al. [41] modified three large neighborhood removal heuristics and two large neighborhood insertion heuristics from Shaw P. [42], [43] and Potvin et al. [44] for OPDP. All those methods above may be of little efficiency for the OPDPSTRP in this paper, as the route structure of the OPDPSTRP is quite different from the classical OPDP, there are not so many pd-pairs can reinsert into a new route in the OPDPSTRP than in the classical OPDP. So five new neighborhood transform methods are presented for the OPDPSTRP.

Additionally, studies of Grimault et al. [45] and Ho et al. [7] show that solution feasibility of an OPDP is an important issue to the efficiency of the algorithm. So route structure feasibility judgement parameter of combining (RSFJPC, Definition 3 in Section 3.4) were applied in neighborhood transform methods (Insert, Spread, Point-delete) to ensure that each selected pd-pair can be inserted into the selected route. The evolution of RSFJPC will be studied in Section 4.3.

4.1.1 Insert.

In Insert, pd-pair i (may be carried by other routes, may not be carried, with pickup point pi and delivery point di) is selected randomly and inserted into a new route j chosen according pd_R_rs_judgei,j = 1.

As in Fig 5, pd-pair i is inserted into route j2 from route j1, the scheme showed in Fig 5(A) is replaced by Fig 5(B). Stop point r3 is removed from route j1 because there is no pd-pair requiring transportation from/to r3, while structure of route j2 remains the same. By reducing the number of stops, the route has been improved.

4.1.2 Spread.

In Spread, a pd-pair is selected and inserted into a new route as an Insert operation. Should the vehicle be overloaded, the success rate can be improved by choosing a new pd-pair i from route and transferring this into a new route j selected by pd_R_rs_judgei,j = 1, and this cycle will continue until the vehicle is no longer overloaded, or if the cyclic number k exceed the preset iterative numbers controlling value K. The task of preset value K is to control the computing time of this operation.

As illustrated in Fig 6(A), pd-pair i1 transported through route j1 is inserted into route j2, and the new scheme is shown in Fig 6(B). Stop point r4 is deleted from route j1 because there is no pd-pair requiring transportation from/to r4, and the structure of route j2 remains the same. Since the vehicle is overloaded at section r3-r4 in route j2, pd-pair i2 is selected from route j2 and inserted into j3, and then the new scheme is obtained as Fig 6(C), in which the vehicle is no longer overloaded at section r3-r4, while the structure of route j3 remains unchanged, and the scheme is finally improved.

4.1.3 Point-delete.

Point-delete starts by choosing a route at random, before isolating the point with the minimal number picking stops and delivery stops on the route, and these pd-pairs iP are subsequently inserted into different routes j selected by pd_R_rs_judgei,j = 1, thus making it possible to delete the point from the first route.

As in Fig 7(A), Point-delete is operated on stop point r4 in route j1, pd-pair i1 and i2 are inserted into route j2 and j3 respectively, and then the new scheme is obtained as Fig 7(B). Stop point r4 is deleted from route j1 because there is no pd-pair requiring transportation from/to it, while the structure of routes j2 and route j3 remains the same. The scheme is improved due to the reduction of stop point r4.

4.1.4 Route-delete.

In the Route-delete, net incomes nei of each route i are computed; route k is selected according to the probability Pk = nek/∑nei before being deleted from the scheme. All pd-pairs transported by route k are transferred to the state of non-carried. If there is no route with non positive net incomes, then the Point-delete should be executed.

4.1.5 Reassign-vehicle.

Reassign-vehicle is an Assignment Problem (AP) in which: rvi,j = 1 means route i being transported by vehicle j, and rv_benefiti,j is defined as its income. In this strategy, vehicles are reassigned to routes to achieve the best scheme by the Gurobi solver in Matlab.

4.1.6 Opt(k) and perturbation.

Since Reassign-vehicle may delivers the most significant change to the solution but cannot always improve the solution and requires more computer memory and time, it’s better to be chosen according to a low probability to perturb the local best solution, so a kind of Perturbation is proposed to shock the local best solution instead of Reassign-vehicle. In Perturbation, Insert, Spread, Point-delete, Rout-delete and Reassign-vehicle are chosen according to the operators choosing probabilities p1, p2, p3, p4 and p5 respectively.

Above all, Insert, Spread, Point-delete, Rout-delete, and Perturbation are defined as operators opt(k)(k = 1,2,3,4 and 5) in this paper.

4.2 Route construction methods of neighborhood

Operators for routes construction and adjusting can be classed into three separate categories: pd-pair insertion, pd-pair deletion, and route deletion.

4.2.1 Route construction method for pd-pair insert.

Muelas et al. [28] arrayed two pd-pairs by comparing the distance between pickup/delivery points of them based on four cases. Different from their methods, in this paper, a new approach is proposed to find the right locations in a new route and insert a pd-pair into it.

Firstly, it is evident that the section between any two neighbor stop points ri and ri+1 in route R is the shortest path since all pd-pairs must be transported along the shortest path. Once pd-pair k needs to be inserted into route R(r1r2r3rn), we have to find the right inserting location of pickup point pk and delivery point dk in route R first. Let is the distance between ri and rj and let is the length of section rirjrk in route R. A point ri meeting the condition and a point rj meeting the condition need to be found in route R. Finally, pk and dk need to be inserted into the rear of the two points respectively, and we may get three types of results as follows: both ri and rj can be found, only one of ri and rj can be found, neither ri nor rj can be found.

Both ri and rj can be found:

  1. rprdr

If both ri and rj can be found, and i<j, the structure form of the new route R' must be rprdr. In order to ensure feasibility of the route structure, pd-pair k should be transported along the shortest path in route R’, that is, . Otherwise, pd-pair k cannot be inserted into R. As in Fig 8, , so the route structure is unfeasible.

  1. rpdr

If both ri and rj can be found, and i = j, the route structure form of R' must be rpdr. In order to ensure feasibility of the route structure, ripkdk must be the shortest path, that is, . Otherwise, pd-pair k cannot be inserted into route R. As in Fig 9, , so the route structure is unfeasible.

thumbnail
Fig 9. Unfeasible case-Both ri and rj are found and i = k.

https://doi.org/10.1371/journal.pone.0227702.g009

  1. ➢ Other cases

If both ri and rj are found, and i>j, pd-pair k are opposite to route R and cannot be inserted into it, as in Fig 10.

thumbnail
Fig 10. Unfeasible case-Both ri and rj are found and i>j.

https://doi.org/10.1371/journal.pone.0227702.g010

Because there is only one shortest path between any two nodes in this paper, if there is more than one ri or rj satisfying the criteria, it must be sure that pk or dk is in route R already, then point pk or dk need not be inserted into it repeatedly. As in Fig 11, and , r2 is dk, so R(…r1r2r3…) remains the same after inserting dk into it.

Only one of ri and rj can be found:

  1. rprd

If only ri can be found, the route structure form of R' must be rprd. Pd-pair k must be transported along the shortest path in route R', that is, . Otherwise, pd-pair k cannot be inserted into R. As in Fig 12, , so the route structure is unfeasible.

  1. prdr

If only rj can be found, the route structure form of R' must be prdr. Pd-pair k must be transported along the shortest path in route R', that is, . Otherwise pd-pair k cannot be inserted into route R. As in Fig 13, , so the route structure is unfeasible.

Neither ri nor rj can be found:

  1. prrd

If none of ri and rj can be found, and , the route structure form of route R' must be prrd, pd-pair k is transported along the shortest path in route R', and the route structure must be feasible, that is, pd-pair k can be inserted into route R. As in Fig 14, , so the route structure is unfeasible.

  1. pdrr

If neither ri nor rj are found, and , pd-pair k must be connected to the front of route R, the route structure form of R' must be pdrr to minimize the length of R'. Set path(R) is the vehicle path which consists of all pass points in route R. Pd-pair k must be transported along the shortest path and each point must not be visited more than once in route R' to ensure feasibility of the route structure, that is, and . Otherwise pd-pair k cannot be inserted into route R. As in Fig 15(A), the route structure is unfeasible because . As in Fig 15(B), the route structure is unfeasible because .

  1. rrpd

If neither ri nor rj are found, and , pd-pair k must be connected to the back of route R, and the route structure form of route R' must be rrpd to minimize the length of route R’. Pd-pair k must be transported along the shortest path and each point must not be visited more than once in route R' to ensure feasibility of the route structure, that is, and . As in Fig 16(A), the route structure is unfeasible because . As in Fig 16(B), the route structure is unfeasible because .

4.2.2 Route construction method for pd-pair delete.

Point pk or dk needs to be deleted if there is no other pd-pair that needs picking up from it or delivering to it after deleting pd-pair k from route R. Otherwise, it should remain in route R.

4.2.3 Route construction method for route delete.

For Route-delete strategy, all pd-pairs are removed and route is deleted.

4.3 Evolution of route structure feasibility judgement matrix

4.3.1 Evolution theories for route structure feasibility judgement matrix.

At each local search move step, RSFJMC [pd_combine_rs_judgei,j] will remain the same, while RSFJMI [pd_R_rs_judgei,j] will change with the changes of route j. In order to update [pd_R_rs_judgei,j] quickly, some theories will be studied as follows.

Theorem 1: A necessary and sufficient condition of which pd-pair k can be inserted into route m according route structure is that pd-pair k can be combined with all pd-pair transported by route m according route structure.

Lemma 1: If pd-pair i is inserted into route m, and a new route m' is obtained, pd-pair j which cannot be combined with pd-pair i according route structure cannot be inserted into route m' according route structure.

Lemma 2: Assuming pd-pair k cannot be inserted into route m according route structure. If all pd-pairs which cannot be combined with pd-pair k according route structure are deleted from route m, then pd-pair k can be inserted into the new route m' evolving from route m according route structure.

Lemma 3: A new route Rm can be constructed with pd-pairs according route structure, which can be combined with each other according route structure.

The proofs of Theorem 1, Lemma 1, Lemma 2, and Lemma 3 are provided in S2 Appendix.

4.3.2 Evolution methods for route structure feasibility judgement matrix.

As RSFJMC will remain the same at each local search move step, while RSFJMI will change as routes evolve. If RSFJMI is updated at each step, too much computing time will be spent on carried out the algorithm. In this section, evolution methods of RSFJMI will be studied to ensure that the calculation time is acceptable.

According to the route construction methods in Section 4.2, the evolution of route structures can be grouped into two categories: pd-pair deletion and pd-pair insertion. The RSFJMC and RSFJMJ can be calculated after an initial feasible solution is generated. At each local search move step, the RSFJMI will be updated by methods as follows.

4.3.2.1 Evolution of RSFJMI for pd-pair insertion. When pd-pair i is inserted into route k, and a new route k' is acquired. In order to reduce calculating time, let L1 = {l|[pd_combine_rs_judge](l,i)==0}, [pd_R_rs_judge](:,k') for route k’ can be updated by formula (18) according to Lemma 1.

(18)

4.3.2.2 Evolution of RSFJMI for pd-pair deletion. When pd-pair i is deleted form route k, and a new k' is acquired. In order to reduce calculating time, Let L1 = {l|[pd_combine_rs_judge](l,i)==0}, and let L2 = {pldl}, a set of pd-pairs transported by route k'. [pd_R_rs_judge](:,k') for route k' can be updated by formula (19) according to Theorem 1 and Lemma 2.

(19)

Additionally, Lemma 3 can be used when new routes are generated, such as for the generation of new routes.

4.4 Generation of initial solution

It is important to obtain a higher-level initial solution for such a large-scale and complex problem. In this paper, a generation method of initial solution is proposed, based on the idea of maximum saving. pi and di are defined as pickup point and delivery point of pd-pair i correspondingly. l(k,l) is defined as the length between point k and point l.

Generation steps of initial solution are presented in Algorithm 1 (Fig 17).

thumbnail
Fig 17. Algorithm 1. Pseudo-code of generation steps of initial solution.

https://doi.org/10.1371/journal.pone.0227702.g017

4.5 Algorithm

Many Local Search (LS) meta-heuristics are studied for the VRP, such as the ALNS proposed by Ropke et al. [41], Pisinger et al. [54], Aksen et al. [55] and Li et al. [25]. Multi-start ILS (MS_ILS), consisting in restarting an ILS from several initial solutions to diversify the search, is proposed by Prins et al. [56], Li et al. [47], Rivera et al. [57], Sana et al. [58] and Gustavo et al. [59]. The VND, a kind of local search in which wider and wider neighborhoods are successively explored, is studied by Salehipour et al. [60]. Variable Neighborhood Search (VNS), which is similar to the VND but with perturbation, is studied by Hansen et al. [61], which can reduces the impact of the initial solution on the algorithm performance (Brimberg et al. [62]).

Since the major neighbourhood operator is pd-pair insertion and a choosing pd-pair need be inserted a fixed position in a route at each local search move step in the OPDPSTRP, solutions are not easy to be changed and always cannot be improved by only one operator obviously. That is to say that new methods which is different from traditional LS need be proposed for the OPDPSTRP. A basic VND and a basic VNS are proposed for the OPDPSTRP based on the above five neighborhoods. A new MS_VND and a new MS_VNS are developed to improve the efficiency of the proposing neighborhoods and algorithms in this paper.

4.5.1 VND and VNS.

A VND and a VNS are processed to solve the OPDPSTRP, Pseudo-code of them are presented as in Algorithm 2 (Fig 18) and Algorithm 3 (Fig 19).

thumbnail
Fig 18. Algorithm 2. Pseudo-code of the VND meta-heuristic.

https://doi.org/10.1371/journal.pone.0227702.g018

thumbnail
Fig 19. Algorithm 3. Pseudo-code of the VNS meta-heuristic.

https://doi.org/10.1371/journal.pone.0227702.g019

4.5.2 MS_VND and MS_VNS.

In order to achieve a near optimal solution of this problem, we propose a new MS_VND metaheuristic and a new Multi-Start Variable Neighborhood Search (MS_VNS) metaheuristic.

The steps of MS_VND in this paper are presented as in Algorithm 4 (Fig 20).

thumbnail
Fig 20. Algorithm 4. Pseudo-code of the MS_VND meta-heuristic.

https://doi.org/10.1371/journal.pone.0227702.g020

The steps of MS_VNS in this paper are presented as in Algorithm 5 (Fig 21).

thumbnail
Fig 21. Algorithm 5. Pseudo-code of the MS_VNS meta-heuristic.

https://doi.org/10.1371/journal.pone.0227702.g021

As in Algorithm 4 and Algorithm 5, the MS_VND and the MS_VNS have been improved in the following ways: (1) A Multi-start candidate solution set with size of n is acquired from the initial solution and updated to diversify the search, and parts of worse candidate solutions are replaced by the best solution according replacing proportion m if the solution is improving. (2) Five new operators (opt1, opt2, opt3, opt4, opt5) are utilized to improve the solution, which is different from traditional VNS. (3) In MS_VND, each candidate solution is transformed only once at a step (Multi-start-candidate-solution and One-operator), which is different from traditional LS (One-candidate-solution and Local search). (4) A new local solution inferior to the primary one can also be accepted on the basis of two hypotheses: the iterations of that the solution keep the same are more than half of the presetting value, and the evaluation of the new solution is not drastically worse than the primary one.

Changes and complexity ranking (from low to high) of operators can be primarily concluded as: Insert<Spread<Point-delete<Route-delete<Perturbation according to the features of them. And this ranking will be tested further in Section 5.

5 Instances and computational results

To evaluate the performance of the VNS, the VND, the MS_VND and the MS_VNS, we designed 84 of the OPDPSTRP instances partitioned in small size connected graphs (3×4), medium size connected graphs (6×8) and large size connected graphs (10×10) at random. The Gurobi MIP solver (version 7.5.2) was used to compare with these approaches proposed in this paper. The following sections will describe the generation of instances, list the parameter values used in these approaches, and provide test results and optimality gaps.

5.1 Generation of instances

Each instance name has a format mm1−m2−m3−m4−L/H, in which mm1 is the size of a connected graph, each edge in this graph is deleted according to 1/m2, 1/m3 is the pd-pairs generation probability between each two nodes, 1/m4 is the vehicle generation percentage for each node and L/H is low or high cost. Consider instance 3×4-10-3-3-L as an example: the size of the incomplete digraph is 3×4(12 nodes and 144 node-pairs), the deletion probability of each edge is 1/10, pd-pair generation probability between each two nodes is 1/3, the vehicle generation percentage for each node is 1/3 and L means low cost. It has been checked that there is only one shortest path between any two nodes in each graph. Data of these 84 instances can be found in S3 Appendix.

5.2. Parameter setting

All experiments were conducted on a desktop equipped with an Intel(R) Core(TM) i7-4510U 2.00 gigahertz processor and 8 Gigabyte RAM. The operating system of this PC is a 64-bit Window 8. The Gurobi solver 7.5.2 was used to solve the MIP model, and all algorithms in this paper was coded in Matlab R2015a.

The MIP model is solved by the Gurobi solver with termination conditions wherein computing time is over 108000 seconds or the Gurobi_Gap (the gap between the best feasible objective value and the upper bound of the MIP model, which will be introduced in Section 5.3) is less than 5%. The long preset time aims to ensure that the Gurobi solver can obtain at least one feasible solution served as a comparison indicator with the proposed approaches, although in some cases it failed to achieve this goal. We have provided the upper bounds found by Gurobi solver as well, for a more in depth reference to the performance of the proposed approaches.

The parameter setting of the algorithms have been tested based on 9 instances mention in S4 Appendix (including small size connected graphs, medium size connected graphs and large size connected graphs), the results are studied in S4 Appendix. The algorithms parameter setting is tuned by determining a trade off between solution quality and CPU time after numerous experiments.

According to S4 Appendix, the operators sequence is determined as Insert, Spread, Point-delete, Rout-delete and Perturbation (k = 1, 2, 3, 4 and 5) in these approaches, and the values of the parameters are gathered in Table 4.

thumbnail
Table 4. Parameter setting for the VND, the VNS, the MS_VND and the MS_VNS.

https://doi.org/10.1371/journal.pone.0227702.t004

5.3 Test results

The abbreviations of the experimental indicators and corresponding definitions are listed in Table 5.

thumbnail
Table 5. Abbreviation of experiment indicators and definitions.

https://doi.org/10.1371/journal.pone.0227702.t005

Results solved by the Gurobi solver, the VND, the VNS, the MS_VND and the MS_VNS are shown in Table 6 (small size graphs), Table 7 (medium size graphs) and Table 8 (large size graphs). Each instance has been solved 10 times by each algorithm.

thumbnail
Table 6. Computational results for instances of small size graphs.

https://doi.org/10.1371/journal.pone.0227702.t006

thumbnail
Table 7. Computational results for instances of medium size graphs.

https://doi.org/10.1371/journal.pone.0227702.t007

thumbnail
Table 8. Computational results for instances of large size graphs.

https://doi.org/10.1371/journal.pone.0227702.t008

Comparison of the average calculation efficiency of the VND, the VNS, the MS_VND and the MS_VNS are shown in Figs 2224.

thumbnail
Fig 22. Performance of the approaches for instances of small size graphs.

https://doi.org/10.1371/journal.pone.0227702.g022

thumbnail
Fig 23. Performance of the approaches for instances of medium size graphs.

https://doi.org/10.1371/journal.pone.0227702.g023

thumbnail
Fig 24. Performance of the approaches for instances of large size graphs.

https://doi.org/10.1371/journal.pone.0227702.g024

The above results shows that:

  1. CPU time of the Gurobi solver, the VND, the VNS, the MS_VND and the MS_VNS are independent of road network scale. Numbers of pd-pairs and vehicles are the major influential factors to the CPU time of the Gurobi solver, numbers of pd-pairs are the major influential factors to the CPU time of the VND, the VNS, the MS_VND and the MS_VNS.
  2. In general, instances with no more than 100 pd-pairs can get an optimum solution by the Gurobi solver in preset termination CPU time (108000 seconds). Instances with more than 5000 (pd-pairs×vehicles) always cannot receive the optimal solution with no more than 20% Gap_Gurobi within an acceptable CPU time (108000 seconds) by Gurobi solver. Large instances with over 40000 (pd-pairs×vehicles) always cannot get feasible solutions within 108,000 seconds by the Gurobi solver.
  3. In almost all instances, the VND, the VNS, the MS_VND and the MS_VNS with the operators proposed in this paper always can acquire the optimal solution with no more than 10% Gap to the Gurobi solver within an acceptable CPU time. The MS_VND can acquire the optimal solution with no more than 5% Gap to the Gurobi solver within an acceptable CPU time. The MS_VNS always takes a little more CPU time than the MS_VND to solve the instances with more pd-pairs.
  4. The VND, the VNS, the MS_VND and the MS_VNS can even get better solutions than the Gurobi solver for the instances with large numbers of pd-pairs and vehicles.
  5. In almost all instances, the MS_VND significantly outperforms the VND, the VNS and the MS_VNS in terms of average solution quality (Figs 2224). The MS_VND acquires almost all the best average solutions and most of the best solution for each instance (boldface numerical value in Table 6, Table 7 and Table 8).

6 Conclusions

A new Pickup and Delivery Problem with new route structure, the OPDPSTRP, which is proposed in real-life connected graphs, is introduced and formulated in a new way. Five operators are proposed for the OPDPSTRP. A basic VND, a basic VND, a new MS_VND, and a new MS_VNS are developed for this problems and compared with the Gurobi solver. The test results show that the VND, the VNS, the MS_VND and the MS_VNS always can acquire the optimal solution with no more than 10% Gap to the Gurobi solver within an acceptable CPU time. In almost all instances, the MS_VND significantly outperforms the VND the VNS and the MS_VNS in terms of solution quality. The MS_VNS always takes a little more CPU time than the MS_VND to solve the instances with more pd-pairs. In the large instances, the MS_VND is still able to generate good feasible solutions in a reasonable CPU time, which is of vital practical significance for real-life instances.

Our future work will concentrate on three aspects: (1) In order to improve the algorithm efficiency of the OPDPSTRP, path feasible strategy for neighborhoods will be studied. (2) There is only one shortest path between any two nodes in the connected graph in this paper, but there may be more than one shortest path between two nodes in some other real-life road networks, which we are going to study in the future. (3) The OPDPSTRP with time windows will be studied in the future.

Supporting information

S1 Appendix. Values of certain relative notations for the routes combined with two pd-pairs/vehicles.

https://doi.org/10.1371/journal.pone.0227702.s001

(DOC)

S2 Appendix. Proof of Theorem 1, Lemma 1, Lemma 2, Lemma 3.

https://doi.org/10.1371/journal.pone.0227702.s002

(DOC)

S4 Appendix. Appendix Parameter setting for the VND, the VNS, the MS_VND and the MS_VNS.

https://doi.org/10.1371/journal.pone.0227702.s004

(DOC)

References

  1. 1. Parragh SN, Doerner KF, Hartl RF,. A survey on pickup and delivery problems. Journal Für Betriebswirtschaft. 2008;58: 21–51.
  2. 2. Parragh SN, Doerner KF, Hartl RF. A survey on pickup and delivery problems part II: transportation between pickup and delivery locations. Journal Für Betriebswirtschaft. 2008;58: 81–117.
  3. 3. Koç Ç, Laporte G. Vehicle routing with backhauls: Review and research perspectives. Computers and Operations Research. 2018; 91: 79–91.
  4. 4. Rieck J, Ehrenberg C, Zimmermann J. Many-to-many location-routing with inter-hub transport and multi-commodity pickup-and-delivery. European Journal of Operational Research. 2014;236: 863–878.
  5. 5. Agatz N, Erera A, Savelsbergh M. Optimization for dynamic ride-sharing: A review. European Journal of Operational Research. 2012;223: 295–303.
  6. 6. Chen HK, Chou HW, Hsueh CF, Yu YJ. The paired many-to-many pickup and delivery problem: an application. Top. 2015; 23: 220–243.
  7. 7. Ho SC, Szeto WY, Kuo YH, Leung JMY, Petering M, Tou TWH. A survey of dial-a-ride problems: Literature review and recent developments. Transportation Research Part B: Methodological. 2018;111: 395–421.
  8. 8. Berbeglia G, Cordeau JF, Gribkovskaia I, Laporte G. Static pickup and delivery problems_ a classification scheme and survey. Top. 2007; 15: 1–31.
  9. 9. Santos DO, Xavier EC.Taxi and Ride Sharing: A Dynamic Dial-a-Ride Problem with Money as an Incentive. Expert Systems with Applications. 2015;42: 6728–6737.
  10. 10. Berbeglia G, Cordeau JF, Gribkovskaia I, Laporte G. Dynamic pickup and delivery problems. European Journal of Operational Research. 2010;202:8–15.
  11. 11. Gribkovskaia I, Laporte G. One-to-Many-to-One Single Vehicle Pickup and Delivery Problems. Operations Research /computer Science Interfaces. 2008;43: 359–377.
  12. 12. Psaraftis HN. An exact algorithm for the single-vehicle many-to-many dial-a-ride problem with time windows. Transportation Science. 1983;17: 351–357.
  13. 13. Psaraftis HN. Analysis of an O(N2) heuristic for the single vehicle many-to-many Euclidean dial-a-ride problem. Transportation Research Part B: Methodological. 1983;17: 133–145.
  14. 14. Sexton T.R., Bodin L.D.,. Optimizing single vehicle many-to-many operations with desired delivery times: II. Routing. Transportation Science. 1985;19: 411–435.
  15. 15. Sexton TR, Bodin LD. Optimizing single vehicle many-to-many operations with desired delivery times: I. Scheduling. Transportation Science. 1985;19: 378–410.
  16. 16. Camargo RS, Miranda G, Løkketangen A. A new formulation and an exact approach for the many-to-many hub location-routing problem. Applied Mathematical Modelling. 2013;37: 7465–7480.
  17. 17. Pérez HH, González JJS. The multi-commodity one-to-one pickup-and-delivery traveling salesman problem. European Journal of Operational Research. 2009;196: 987–995.
  18. 18. Sahin M, Çavuslar G, Öncan T, Sahin G, Aksu DT. An efficient heuristic for the Multi-vehicle One-to-one Pickup and Delivery Problem with Split Loads. Transportation Research Part C: Emerging Technologies. 2013;27: 169–188.
  19. 19. Soysal M, Çimen M, Demir E. On the mathematical modeling of green one-to-one pickup and delivery problem with road segmentation. Journal of Cleaner Production. 2018;174: 1664–1678.
  20. 20. Zhu Z, Xiao J, He S, Ji Z, Sun Y.A multi-objective memetic algorithm based on locality-sensitive hashing for one-to-many-to-one dynamic pickup-and-delivery problem. Information Sciences. 2016; 329: 73–89.
  21. 21. Fleischmann B. A cutting plane procedure for the traveling salesman problem on a road network. European Journal of Operational Research. 1985;21: 307–317.
  22. 22. Cornuéjols G, Fonlupt J, Naddef D. The traveling salesman on a graph and some related integer polyhedra. Mathematical Programming. 1985;33: 1–27.
  23. 23. Aragão MP, Longo H, Uchoa E. Solving capacitated arc routing problem using a transformation to the CVRP. Computers & Operations Research.2006;33: 1823–1837.
  24. 24. Letchford A N, Nasiri S.D, Oukil A Pricing routines for vehicle routing with time windows on road networks. Computers & Operations Research. 2014;51: 331–337.
  25. 25. Li Y, Chen H, Prins C. Adaptive large neighborhood search for the pickup and delivery problem with time windows, profits, and reserved requests. European Journal of Operational Research. 2016;252: 27–38.
  26. 26. Mahmoudi M, Zhou X. Finding optimal solutions for vehicle routing problem with pickup and delivery services with time windows: A dynamic programming approach based on state-space-time network representations. Transportation Research Part B: Methodological. 2016;89: 19–42.
  27. 27. Furuhata M, Dessouky M, Fernando O. Ride-sharing: The state-of-the-art and future directions. Transportation Research Part B: Methodological. 2013;57: 28–46.
  28. 28. Muelas S, LaTorre A, Peña JM. A distributed VNS algorithm for optimizing dial-a-ride problems in large-scale scenarios. Transportation Research Part C. 2015;54: 110–130.
  29. 29. Lin Y, Li W, Qiu F, Xu H. Research on Optimization of Vehicle Routing Problem for Ride-sharing Taxi. Procedia—Social and Behavioral Sciences. 2012;43: 494–502.
  30. 30. Wang Y, Zheng B, Lim EP. Understanding the effects of taxi ride-sharing-A case study of Singapore. Computers, Environment and Urban Systems. 2018;69: 124–132.
  31. 31. Desrosiers J, Soumis YDF. A dynamic programming solution of the large-scale single-vehicle dial-a-ride problem with time windows. American Journal of Mathematical & Management Sciences. 1986;6: 301–325.
  32. 32. Li B, Krushinsky D, Reijers HA, Woensel T V. The Share-a-Ride Problem: People and parcels sharing taxis. European Journal of Operational Research. 2014;238: 31–40.
  33. 33. Urra E, Cubillos C, Paniagua DC. A Hyperheuristic for the Dial-a-Ride Problem with Time Windows. Mathematical Problems in Engineering. 2015;(2015):1–12.
  34. 34. Qiu X., Feuerriegel S., Neumann D.,. Making the most of fleets: A profit-maximizing multi-vehicle pickup and delivery selection problem. European Journal of Operational Research. 2017; 259(1): 155–168.
  35. 35. Hosni H., Sawaya J.N., Artail H.,. The shared-taxi problem: Formulation and solution methods. Transportation Research Part B: Methodological. 2014;70: 303–318.
  36. 36. Ma S, Zheng Y. Real-Time City-Scale Taxi Ride-sharing. Transactions on Knowledge and Data Engineering. 2015;27: 1782–1795.
  37. 37. Sawaya JN, Cogill R, Ghaddar B, Sajja S, Shorten R, Taheri N, Tommasi P, Verago R, Wirth F. Stochastic optimization approach for the car placement problem in ride sharing systems. Transportation Research Part B: Methodological. 2015;80: 173–184.
  38. 38. Detti P, Papalini F, Lara GZM. A multi-depot dial-a-ride problem with heterogeneous vehicles and compatibility constraints in healthcare. Omega. 2017;70: 1–14.
  39. 39. Cordeau JF, Laporte G, Ropke S. Recent Models and Algorithms for One-to-one Pickup and Delivery Problems. The Vehicle Routing Problem: Latest Advances and New Challenges. The series Operations Research/Computer Science Interfaces. 2008;43: 327–357.
  40. 40. Ribeiro MG, Laporte G. An adaptive large neighborhood search heuristic for the cumulative capacitated vehicle routing problem. Computers & Operations Research. 2012;39: 728–735.
  41. 41. Ropke S, Pisinger D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation Science. 2006;40: 455–472.
  42. 42. Shaw P. A new local search algorithm providing high quality solutions to vehicle routing problems, Technical report, Department of Computer Science, University of Strathclyde, Scotland; 1997.
  43. 43. Shaw P. Using constraint programming and local search methods to solve vehicle routing problems. International Conference on Principles & Practice. 1998;1520: 417–431.
  44. 44. Potvin JY, Rousseau JM. A parallel route building algorithm for the vehicle routing and scheduling problem with time windows. European Journal of Operational Research. 1993;66: 331–34.
  45. 45. Grimault A, Bostel N, Lehuédé F. An adaptive large neighborhood search for the full truckload pickup and delivery problem with resource synchronization. Computers and Operations Research. 2017:88: 1–14.
  46. 46. Rodríguez-Martín I, Salazar-González JJ. A hybrid heuristic approach for the multi-commodity one-to-one pickup-and-delivery traveling salesman problem, J Heuristics. 2012;18: 849–867.
  47. 47. Li J., Pardalos PM, Sun H, Pei J, Zhang Y. Iterated local search embedded adaptive neighborhood selection approach for the multi-depot vehicle routing problem with simultaneous deliveries and pickups. Expert Systems with Applications. 2015;42: 3551–3561.
  48. 48. Factorovich P, Méndez-Díaz I, Zabala P. Pickup and delivery problem with incompatibility constraints. Computers and Operations Research. 2020;113: 104805.
  49. 49. Psaraftis HN. A multi-commodity, capacitated pickup and delivery problem_The single and two-vehicle cases. European Journal of Operational Research. 2011; 215: 572–580.
  50. 50. Miao K, Duan HL, Qian F, Dong Y. A one-commodity pickup-and-delivery traveling salesman problem solved by a two stage method: A sensor relocation application. PLOS ONE. 2019;14(4): e0215107. pmid:30995233
  51. 51. Mitra S. A parallel clustering technique for the vehicle routing problem with split deliveries and pickups. Journal of the Operational Research Society. 2008;59: 1532–1546.
  52. 52. Nowak M, Ergun Ö, White CC III. Pickup and Delivery with Split Loads. Transportation Science. 2008;42(1): 32–43.
  53. 53. Xia YK, Fu Z, Pan LJ, Duan FH. Tabu search algorithm for the distance constrained vehicle routing problem with split deliveries by order. PLOS ONE. 2018;13(5): e0195457. pmid:29763419
  54. 54. Pisinger D, Ropke S. A general heuristic for vehicle routing problems. Computers & Operations Research. 2007;34: 2403–2435.
  55. 55. Aksen D, Kaya O, Salman FS, Tüncel Ö. An adaptive large neighborhood search algorithm for a selective and periodic inventory routing problem. European Journal of Operational Research. 2014; 239: 413–426.
  56. 56. Prins C. A GRASP× Evolutionary local search hybrid for the vehicle routing problem. In:Pereira F.B., Tavares J. (eds.) Bio-Inspired Algorithms for the Vehicle Routing Problem; 2009. pp. 35–53.
  57. 57. Rivera JC, Afsar HM, Prins C. A multi-start iterated local search for the multitrip cumulative capacitated vehicle routing problem. Comput Optim Appl. 2015;61: 159–187.
  58. 58. Sana J, Salwani A. Solution to travelling salesman problem by clusters and a modified multi-restart iterated local search metaheuristic, PLOS ONE. 2015;10(7): e0130224. pmid:26132158
  59. 59. Gustavo EAF, Eva SHG, Juan CSTM, Joselito MM. Solution to travelling salesman problem by clusters and a modified multi-restart iterated local search metaheuristic, PLOS ONE. 2018;13(8): e0201868. pmid:30133477
  60. 60. Salehipour A, Sörensen K, Goos P, Bräysy O. An efficient GRASP + VND and GRASP + VNS metaheuristic for the traveling repairman problem. 4OR-Q J Oper Res. 2011;9: 189–209.
  61. 61. Hansen P, Mladenovi´c N. Variable neighborhood search. Computers & Operations Research. 1997;24: 1097–1100.
  62. 62. Brimberg J, Hansen P, Mladenovic´ N. Attraction probabilities in variable neighborhood search, OR. 2010;8 (2): 181–194.