Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Open VRP

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Computers & Operations Research 34 (2007) 2918 – 2930

www.elsevier.com/locate/cor

The open vehicle routing problem: Algorithms, large-scale test


problems, and computational results
Feiyue Lia , Bruce Goldenb,∗ , Edward Wasilc
a Princeton Optimization Inc., 2 Research Way, Princeton, NJ 08540, USA
b R.H. Smith School of Business, University of Maryland, College Park, MD 20742, USA
c Kogod School of Business, American University, Washington, DC 20016, USA

Available online 25 January 2006

Abstract
In the open vehicle routing problem (OVRP), a vehicle does not return to the depot after servicing the last customer on a route.
The description of this variant of the standard vehicle routing problem appeared in the literature over 20 years ago, but has just
recently attracted the attention of practitioners and researchers. Today, the OVRP is encountered in practice in the home delivery of
packages and newspapers. Contractors who are not employees of the delivery company use their own vehicles and do not return to
the depot. In the last five years, tabu search, deterministic annealing, and large neighborhood search have been applied to the OVRP
with some success.
In this paper, we review OVRP algorithms, develop a variant of our record-to-record travel algorithm for the standard vehicle
routing problem to handle open routes, and report computational results on test problems taken from the literature. Finally, we develop
a set of eight large-scale problems that range in size from 200 to 480 nodes and report solutions generated by our record-to-record
travel algorithm on this test set.
䉷 2005 Elsevier Ltd. All rights reserved.

Keywords: Vehicle routing problem; Heuristics; Record-to-record travel

1. Introduction

In the standard version of the vehicle routing problem (VRP), we generate a sequence of deliveries for each vehicle
in a homogeneous fleet based at a single depot so that all customers are serviced and the total distance traveled by the
fleet is minimized. Each vehicle has a fixed capacity and perhaps a route-length restriction that limits the maximum
distance it can travel. Each customer has a known demand and is serviced by exactly one visit of a single vehicle. Each
vehicle must leave from and return to the depot.
In the open vehicle routing problem (OVRP), a vehicle does not return to the depot after servicing the last customer
on a route. Each route in the OVRP is a Hamiltonian path over the subset of customers visited on the route. In addition,
we need to find the minimum number of vehicles that are required to service all of the customers.

∗ Corresponding author.
E-mail address: bgolden@rhsmith.umd.edu (B. Golden).

0305-0548/$ - see front matter 䉷 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cor.2005.11.018
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2919

One of the earliest descriptions of the OVRP was by Schrage [1] in a paper that tried to classify the key features of
VRPs found in practice.
“A vehicle can be characterized by at least the following three characteristics: its (multidimensional) capacity,
cost rate, and whether it makes open or closed trips. In a closed trip, a vehicle returns to its starting location; in
an open trip, it may not. For example, relative to private vehicles, common carrier vehicles tend to have a higher
cost/kilometer; however, they make open rather than closed trips. . . . An air express courier which has planes
depart from a single depot city early in the morning making deliveries and then has each plane retrace its route
late in the evening making pickups effectively has open routes.”
Bodin et al. [2] describe the OVRP encountered by FedEx in generating “incomplete” delivery routes for airplanes.
An airplane leaves Memphis, makes deliveries to several cities, and does not return to Memphis. The airplane lays over
at the last city on the delivery route and then starts its pickups from the layover city. Bodin et al. describe a variant of
the Clarke and Wright algorithm that was used by FedEx to develop an open route for each airplane.
Currently, FedEx experiences the OVRP in its Home Delivery service to residential-only customers (Levy [3]).
FedEx contracts couriers with vehicles who drive to the FedEX depot each morning, load packages, and then make
deliveries to residences. The couriers and vehicles do not return to the FedEx depot after their last deliveries of the day.
The OVRP is also encountered in the newspaper home delivery problem (Levy [3]). A carrier is subcontracted by
the newspaper company to make deliveries to homes. The newspaper company is only concerned with the path to the
last delivery. After that point, a carrier is not compensated.
A common theme when a routing problem fits the OVRP framework is the compensation model. In modeling and
solving real-world vehicle routing problems, Levy [3] has observed that if a company is not paying after the last
delivery, then it wants an efficient path that is not concerned with returning to the depot. Often, this is encountered in
practice when deliveries are made by contractors who are not employees of the company. The contractors have their
own vehicles and pay their own vehicle costs, and may have a compensation model based on mileage. The company
does not need the contractor or the vehicle back at the depot. In fact, if the compensation model includes mileage, the
company wants a path that is not influenced by returning to the depot because that would add extra mileage to the
compensation model.
From the early 1980s to the late 1990s, the OVRP received very little attention in the operations research literature.
However, since 2000, several researchers have used tabu search, deterministic annealing, and large neighborhood search
to solve the OVRP with some success. In Section 2, we review seven algorithms that have been used recently to solve
the OVRP. We develop a variant of our record-to-record travel algorithm (see Li et al. [4]) to handle open routes and
report computational results for all seven procedures on 16 test problems taken from the literature.
In Section 3, we develop eight large-scale OVRPs that have 200 to 480 customers. We apply our record-to-record
travel algorithm to these eight problems and report our results. In Section 4, we summarize our contributions.

2. Solving the OVRP

2.1. Algorithms for the OVRP

Since 2000, seven algorithms have been developed to solve the OVRP. Two algorithms use threshold accepting, three
use tabu search, one uses large neighborhood search, and one uses the minimum spanning tree. All of the algorithms
are based on heuristic methods, and hence an optimal solution is not guaranteed. In Table 1, we summarize the seven
OVRP algorithms. We point out that Brandão [6] generates a starting solution in two different ways, and hence there
are two variants of his TSA procedure (denoted by TSAK and TSAN). The same holds for Fu et al. [10], and hence
there are two variants of their TS procedure (denoted by TSF and TSR). Pisinger and Ropke [11] run ALNS for 25,000
iterations and 50,000 iterations (these variants are denoted by ALNS 25K and ALNS 50K). All ten procedures (CFRS,
TSAK, TSAN, BR, BATA, LBTA, TSF, TSR, ALNS 25K, ALNS 50K) have been computationally tested on benchmark
problems (more about this later).
We adapted our record-to-record travel algorithm that was developed to handle very large instances of the stan-
dard VRP (Li et al. [4]) to solve the OVRP (we denote our algorithm by ORTR). The details of ORTR are given
in Table 2.
2920 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

Table 1
Seven algorithms for solving the open vehicle routing problem

Authors Algorithm Comments

Sariklis and Powell [5] Cluster first, route second (CFRS) In the first phase of their heuristic, the authors form clusters of customers
taking into account vehicle capacity and then balance the clusters by reas-
signing customers. In the second phase, the authors generate open routes
by solving a minimum spanning tree problem (MSTP). They use penalties
to modify the MSTP solution and iteratively convert infeasible solutions to
feasible solutions.
Brandão [6] Tabu search algorithm (TSA) The author generates an initial solution using a variety of methods including
a nearest neighbor heuristic and the K-tree method. The initial solution is
submitted to either a nearest neighbor method or an unstringing and stringing
procedure to improve each route. In the tabu search algorithm, there are only
two types of trial moves: (1) an insert move (take a customer from one route
and insert it onto another route), and (2) a swap move that exchanges two
customers on two different routes.
Tarantilis et al. [7] Adaptive memory-based tabu search (BR) The authors extract a sequence of points (called bones) from a set of solutions
and generate a route using adaptive memory. If a large number of routes in
the set of solutions contains a specific bone, then the authors argue that this
bone should be included in a route that appears in a high-quality solution. The
BoneRoute algorithm has two phases. In Phase 1 (pool generation phase),
an initial pool of routes is generated using weighted savings. The solutions
are then improved using a standard tabu search algorithm. In Phase 2 (pool
exploitation phase), promising bones are extracted, a solution is generated
and improved using tabu search, and the set of solutions is updated.
Tarantilis et al. [8] Backtracking adaptive threshold Threshold accepting is a deterministic variant of simulated annealing in
accepting (BATA) which a threshold value T is specified as the upper bound on the amount
Tarantilis et al. [9] List-based threshold accepting (LBTA) of objective function increase allowed (uphill moves can be made). In the
backtracking algorithm, T is allowed to increase during the search. In the
list-based algorithm, a list of values for T is used during the search. The
authors use two-opt moves, 1–1 exchanges (swap two customers from either
the same or different routes), and 1–0 exchanges (move a customer from its
position on one route to another position on the same route or a different
route) when performing local search.

Fu et al. [10] Tabu search heuristic (TS) A farthest first heuristic (FFH) is developed to generate an initial solution.
FFH starts a new route with the farthest unrouted customer from the depot
and tries to add customers to the route until the vehicle is sufficiently full.
In the tabu search heuristic, two different nodes (customer or depot, on the
same route or different routes) are selected at random and one of four types
of neighborhood moves is performed at random: (1) node reassignment, (2)
node swap, (3) two-opt move, and (4) tails swap (select two customers and
swap the tails, that is, perform an exchange from the customer to the end of
the route).
Pisinger and Ropke [11] Adaptive large neighborhood search In the ALNS framework, a feasible solution is constructed and then modified.
(ALNS) In each iteration, an algorithm is selected to “destroy” the current solution
and an algorithm is selected to “repair” the solution. For example, customers
can be removed at random from the solution and then reinserted in the cheap-
est possible route. Several removal and insertion heuristics can be used to
diversify and intensify the search. The new solution is accepted if it satisfies
the criteria defined by the local search procedure (the authors use simulated
annealing).

Record-to-record travel was developed by Dueck [12] as a deterministic variant of simulated annealing. Let S be
the current solution and N (S) a neighborhood of S that contains alternative solutions that are in the vicinity of S.
An alternative solution S  ∈ N (S) is selected and its objective function value is calculated (denoted by f (S  )). In
record-to-record travel, Record is defined as the total distance of the best solution observed so far. Deviation is defined
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2921

Table 2
Record-to-record travel algorithm for the OVRP

1 Parameters are I, K, M, and NBListSize.


2 Set I = 2, K = 5, M = Max (Number of nodes/2, 30) and NBListSize = 20.
3 Generate a feasible solution using the sweep algorithm.
4 Set Record = objective function value of the current solution.
5 Set BestRecord = Record.
6 Set Deviation = 0.01 × Record.
7 Set itr = 0.
8 while itr  M do
9 Set count = 0.
10 while count  K do
11 for i = 1 to I do
12 One Point Move with record-to-record travel, Two Point Move
with record-to-record travel between routes, and Two-opt Move
with record-to-record travel. Feasibility must be maintained.
13 if no feasible record-to-record travel move is made then
14 go to line 21
15 end if
16 if a new record is produced then
17 update Record and Deviation.
18 Set count = 0.
19 end if
20 end for
21 For the current solution, apply One Point Move (within and between routes)
Two Point Move (between routes), Two-opt Move (within and between routes),
and Three-opt move (within routes). Only downhill moves are allowed.
22 if a new record is produced then
23 update Record and Deviation.
24 Set count = 0.
25 end if
26 Try to insert each route between each pair of consecutive nodes of another route.
Feasibility must be maintained. If it is possible, we make the insertion even if the
total distance traveled increases since we want to use as few vehicles as possible.
27 count = count + 1.
28 end while
29 Perturb the solution and go through line 9 and line 28.
30 if Record < BestRecord then
31 BestRecord = Record.
32 itr = 0.
33 else
34 itr = itr + 1.
35 end if
36 end while

as k% × Record. If f (S  ) < Record + Deviation, then S  is selected as the new solution. Uphill moves are allowed in
order to avoid becoming trapped at a poor local minimum.
In ORTR, we use a fixed-length neighbor list with 20 customers. We generate an initial feasible solution using a
sweep algorithm. We compute the minimum number of vehicles needed to service all of the customers (we denote this
by Kmin ). We use each customer as a starting point in the sweep algorithm, so that one solution is generated for each
customer. Our starting solution is the first solution we find that uses Kmin vehicles. If no solution uses Kmin vehicles,
we select the solution that uses the smallest number of vehicles to service all of the customers.
For an instance with a non-complete graph, we can complete the graph by assigning a very large distance to the
missing edges. If we do not have coordinates for the nodes, we are unable to apply the sweep heuristic to generate an
initial solution because we cannot compute the angles of rays. We could use another heuristic such as cheapest insertion
to construct the initial solution.
2922 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

In Step 4 of ORTR, we try to combine routes by merging two routes. For example, routes A and B can be merged if
the combined demand does not exceed vehicle capacity and the total distance traveled does not exceed the maximum
route length. Of course, it is not always possible to find the best way to merge two routes quickly and efficiently. In our
implementation, we try to insert all of route A between two consecutive nodes in route B.

2.2. Test problems

There are 16 test problems available in the literature and they are summarized in Table 3. The fourteen problems
denoted C1–C14 are from Christofides et al. [14] and the two problems denoted F11 and F12 are from Fisher [15].
All 16 problems are available online (see www.branchandcut.org/VRP/data/ and http://people.brunel.ac.uk/∼mastjjb/
jeb/info.html).
The test problems range in size from n = 50 to n = 199 customers. All problems are Euclidean and distances are
computed with real numbers. We let Kmin =sum of all customer demands/vehicle capacity and L denote the maximum
route length (this is the original VRP route length restriction multiplied by 0.9, since the original VRP restrictions on
route length are loose and not binding for many solutions). Seven of the problems have a route-length restriction.

2.3. Computational results

In Table 3, we present the results (solution values and running times) generated by OVRP algorithms on the test
problems. With the exception of ORTR, all results are taken from the literature. ORTR was coded in Java and run on
an Athlon 1 GHz computer with 256 MB of RAM using Linux. Seven algorithms were applied to all 16 problems:
two variants of Brandão’s tabu search algorithm (TSAK and TSAN), two variants of Fu, Eglese, and Li’s tabu search
heuristic (TSF and TSR), two variants of Pisinger and Ropke’s adaptive large neighborhood search procedure (ALNS
25K and ALNS 50K), and ORTR. The remaining four procedures (CFRS, BR, BATA, LBTA) were applied to the
seven problems that did not have a route-length restriction. The results for the 11 algorithms (CFRS, TSAK, TSAN,
BR, BATA, LBTA, TSF, TSR, ALNS 25K, ALNS 50K, ORTR) were generated using a single set of parameter values.
The results for ALNS 25K and ALNS 50K are based on 10 runs of each algorithm. We point out that Brandão [6] also
provides the best solutions he encountered in all of his computational experiments (we do not give his best solutions
in this paper).
There are a few points that we need to make with respect to Table 3. When generating a solution to the OVRP, there
are two objectives that need to be considered: (1) minimize the total number of vehicles that are required to service
all of the customers and (2) minimize the total distance traveled by the vehicles. Most researchers (e.g., Fu et al. [10])
assume that the cost of an additional vehicle far exceeds the reduction in distance that can be achieved by an additional
route (so do we). In Table 3, we highlight for each problem the solution that minimizes the total number of vehicles with
the least distance traveled. For example, for problem C2, ALNS 25K, ALNS 50K, and ORTR each used 10 vehicles
and generated a total distance of 567.14. We also highlight for each problem the solution that minimizes the distance
traveled with the least number of vehicles. For problem C2, we see that BR, BATA, and LBTA each generated a total
distance of 564.06 (slightly lower than 567.14), but required 11 vehicles. Overall, we prefer solutions with the total
number of vehicles as close to Kmin as possible, even if the total distance is somewhat higher. For six problems, no
solution used Kmin vehicles (these six problems had route-length restrictions, so that the value of Kmin was too low;
Kmin appears to be a good lower bound when only capacity constraints are considered). For example, for problem C6,
TSF generated a total distance of 400.6 with 6 vehicles > Kmin = 5 vehicles. Finally, we note that, on problem C4, the
solution generated by BATA is feasible (we confirmed with Tarantilis [13] that one route was missing in the published
solution).
In Table 4, we compare the results of the 11 OVRP algorithms on the test set of problems with respect to both
objectives (minimize total number of vehicles and minimize total distance traveled). When the number of vehicles is
minimized, ALNS 50K generated the best solution to nine problems (56% of the problems it solved), followed by
ALNS 25K with the best solution to seven problems (44% of the problems it solved), and ORTR with the best solution
to five problems (31% of the problems it solved). When total distance traveled is minimized, TSR generated the best
solution to five problems (31% of the problems it solved) and LBTA and ORTR generated the best solution to four
problems (57% and 25% of the problems solved, respectively).
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2923

Table 3
Computational results for OVRP algorithms on sixteeen test problems

Problem n L Kmin Sariklis and Powell Brandão Brandão Tarantilis et al.

CFRS Time (s) TSAK Time (s) TSAN Time (s) BR Time (s)

C1 50 5 488.204 0.22 416.1 88.8 438.2 1.7 (6)412.96 7.2


C2 75 10 795.334 0.16 574.5 167.5 584.7 4.9 (11)564.06 25.8
C3 100 8 815.042 0.94 641.6 325.3 643.4 12.3 (9)641.77 28.8
C4 150 12 1034.139 0.88 740.8 870.2 767.4 33.2 735.47 75
C5 199 16 1349.709 2.20 953.4 1415.0 1010.9 116.9 (17)877.13 225.6
C6 50 180 5 (6)412.96 55.8 (6)416.00 1.4
C7 75 144 10 634.54 123.7 (11)580.97 3.4
C8 100 207 8 (9)644.63 351.7 (9)652.09 10.4
C9 150 180 12 (13)785.2 622.2 (14)827.54 25.2
C10 199 180 16 (17)884.63 2060.3 (17)946.84 100.1
C11 120 7 828.254 1.54 683.4 696.0 713.3 15.7 (10)679.38 29.4
C12 100 10 882.265 0.76 535.1 233.6 543.2 7.8 534.24 14.4
C13 120 648 7 (11)943.66 401.9 (11)994.26 25.8
C14 100 936 10 (11)597.31 419.8 (12)651.92 8.1
F11 71 4 177.40 398.1 179.45 5.7
F12 134 7 781.21 1000.2 825.9 32.7

Problem n L Kmin Tarantilis et al. Tarantilis et al. Fu et al. Fu et al.

BATA Time (s) LBTA Time (s) TSF Time (s) TSR Time (s)

C1 50 5 (6)412.96 38.62 (6)412.96 28.75 408.5 170.2 413.3 65.0


C2 75 10 (11)564.06 68.89 (11)564.06 61.21 587.8 202.1 570.6 197.8
C3 100 8 642.42 56.54 (9)639.57 53.78 644.3 719.9 617.0 367.6
C4 150 12 736.89 81.69 733.68 84.13 734.5 1610.3 741.1 1094.0
C5 199 16 879.37 98.13 (17)870.26 96.47 (17)878.0 2060.5 (17)886.6 1279.9
C6 50 180 5 (6)400.6 128.0 (6)409.7 184.9
C7 75 144 10 (11)565.7 292.4 (11)560.4 231.8
C8 100 207 8 (9)638.2 987.8 (9)647.7 321.0
C9 150 180 12 (14)758.9 1635.2 (14)752.0 799.5
C10 199 180 16 (18)891.3 1922.2 (18)898.2 1218.2
C11 120 7 (9)679.60 37.67 (10)678.54 25.36 753.8 735.8 716.5 88.9
C12 100 10 534.24 84.54 534.24 64.59 549.9 413.4 534.8 30.9
C13 120 648 7 (12)943.0 741.1 (12)952.4 35.0
C14 100 936 10 (12)586.8 463.2 (12)469.3 155.5
F11 71 4 178.0 256.0 175.0 151.7
F12 134 7 789.7 1044.8 778.5 125.4

Problem n L Kmin Pisinger and Ropke Pisinger and Ropke Li et al.

ALNS 25K Time (s) ALNS 50K Time (s) ORTR Time (s)

C1 50 5 416.06 120 416.06 230 416.06 6.2


C2 75 10 567.14 360 567.14 530 567.14 31.3
C3 100 8 641.76 850 641.76 1280 639.74 39.5
C4 150 12 733.13 1790 733.13 2790 733.13 128.6
C5 199 16 897.93 1240 896.08 2370 924.96 380.6
C6 50 180 5 (6)412.96 200 (6)412.96 310 (6)412.96 10.3
C7 75 144 10 584.15 180 583.19 330 (11)568.49 32.2
C8 100 207 8 (9)645.31 730 (9)645.16 1140 (9)644.63 53.2
C9 150 180 12 (13)759.35 1080 (13)757.84 1850 (14)756.38 195.1
C10 199 180 16 (17)875.67 1200 (17)875.67 2240 (17)876.02 363.5
C11 120 7 682.12 730 682.12 1410 682.54 121.6
2924 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

Table 3 (continued)

Problem n L Kmin Pisinger and Ropke Pisinger and Ropke Li et al.

ALNS 25K Time (s) ALNS 50K Time (s) ORTR Time (s)

C12 100 10 534.24 800 534.24 1180 534.24 32.9


C13 120 648 7 (11)909.80 610 (11)909.80 1160 (12)896.50 120.3
C14 100 936 10 (11)591.87 400 (11)591.87 750 (11)591.87 62.9
F11 71 4 177.00 690 177.00 1040 177.00 19.5
F12 134 7 770.17 2370 770.17 3590 769.66 158.2

( ) Number of vehicles required if different from Kmin .


Bold Indicates the solution that minimizes the number of vehicles with least distance traveled.
Italics Indicates the solution that minimizes the distance traveled with the least number of vehicles.
Underline Indicates the solution that minimizes the number of vehicles and least distance traveled.
CFRS Cluster first, route second solution from Sariklis and Powell [5]; Pentium 133 MHz, 16 MB RAM.
TSAK Tabu search algorithm (initial solution given by K -tree with unstringing and stringing) solution from Brandão [6]; Pentium III, 500 MHz.
TSAN Tabu search algorithm (initial solution given by nearest neighbor heuristic) solution from Brandão [6]; Pentium III, 500 MHz.
BR Solution found by BoneRoute algorithm from Tarantilis et al. [7]; Pentium II, 400 MHz, 128 MB RAM.
BATA Backtracking adaptive threshold accepting solution from Tarantilis et al. [8]; Pentium II, 400 MHz, 128 MB RAM.
LBTA List-based threshold accepting solution from Tarantilis [9]; Pentium II, 400 MHz, 128 MB RAM.
TSF Tabu search (initial solution generated by farthest first heuristic) solution from Fu et al. [10]; Pentium II, 600 MHz, 128 MB RAM.
TSR Tabu search (initial solution generated randomly) solution from Fu et al. [10]; Pentium II, 600 MHz, 128 MB RAM.
ALNS 25K Adaptive large neighborhood search solution (25,000 iterations) from Pisinger and Ropke [11]; Pentium IV, 3 GHz.
ALNS 50K Adaptive large neighborhood search solution (50,000 iterations) from Pisinger and Ropke [11]; Pentium IV, 3 GHz.
ORTR Record-to-record travel solution; Athlon, 1 GHz, 256 MB RAM.

In Table 4, if we aggregate the best results across all 16 problems on both dimensions, we have the following
observations: (1) the solutions that minimize the total number of vehicles use 156 vehicles (the minimum number is
147) and have a total distance traveled of 10,123.33; (2) the solutions that minimize the total distance traveled have a
total distance of 9,943.06 and use 165 vehicles.
In Fig. 1, we show the routes produced by ORTR for five problems (C2, C4, C12, C14, F12). For each problem,
ORTR (along with other algorithms such as ALNS 25K and ALNS 50K) produced the best solution with respect to
minimizing the number of vehicles.
In Table 5, we provide aggregate statistics for 11 OVRP algorithms. All 11 algorithms solve all seven problems
without route-length restrictions. When we sum the values of Kmin for all seven problems, a minimum of 68 vehicles
is required to service all of the customers. Six algorithms (CFRS, TSAK, TSAN, ALNS 25K, ALNS 50K, ORTR)
generated solutions using 68 vehicles, two algorithms (TSF, TSR) used 69 vehicles, and three algorithms (BR, BATA,
LBTA) needed 72 or 75 vehicles. The distances produced by four algorithms that used 68 vehicles (TSAK, ALNS 25K,
ALNS 50K, ORTR) ranged from 4,471 (ALNS 50K) to 4,545 (TSAK) and these distances compare favorably to 4,450
(BATA) using 72 vehicles and 4,433 (LBTA) and 4,445 (BR) using 75 vehicles.
In Table 5, we provide aggregate statistics for seven OVRP algorithms that solve all 16 problems. We see that five
algorithms—TSAK, TSAN, ALNS 25K, ALNS 50K, ORTR—performed very well using 156 or 159 vehicles and
generating distances that ranged from 10,191 to 10,776. These results compare very favorably with the aggregate
statistics of the best solutions which used 156 vehicles and generated a total distance of 10,123.33 (these values are
given in the total row in Table 4). Finally, over all 16 problems, TSAN was the fastest procedure (405 s), followed by
ORTR (1,756 s). In contrast, on the set of seven problems, CFRS was extremely fast, using a total of only 7 s, but it
generated low-quality solutions with respect to distance. On all 16 problems, ALNS 25K and ALNS 50K were very
slow using 13,350 s and 22,200 s, respectively, for 10 runs of each algorithm.
In Table 5, six different processors generated the results, ranging from a Pentium 133 MHz (used by CFRS) which
runs at 17.61 Mflop/s (p. 33 of Dongarra [16]) to a Pentium IV 3 GHz (used by ALNS 25K and ALNS 50K) which runs
at 1573 Mflop/s (p. 6 of Dongarra [16]). The speeds of the remaining four processors fall between these extremes, so
that there are roughly two orders of magnitude difference in the speeds of all six processors. The running times of the
fast Pentium IV 3 GHz processor are among the longest in Table 5, in some cases by a very wide margin. Converting
the running times of the five slower processors to a Pentium IV 3 GHz time would yield dramatically smaller times in
Table 5.
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2925

Table 4
Comparing the results of OVRP algorithms on sixteen test problems

Problem Kmin Minimize vehicles with least distance Minimize distance with least number of vehicles

C1 5 408.5 TSF 408.5 TSF


C2 10 567.14 ALNS 25K, ALNS 50K, ORTR (11)564.06 BR, BATA, LBTA
C3 8 617 TSR 617 TSR
C4 12 733.13 ALNS 25K, ALNS 50K, ORTR 733.13 ALNS 25K, ALNS 50K, ORTR
C5 16 879.37 BATA (17)870.26 LBTA
C6 5 (6)400.6 TSF (6)400.6 TSF
C7 10 583.19 ALNS 50K (11)560.4 TSR
C8 8 (9)638.2 TSF (9)638.2 TSF
C9 12 (13)757.84 ALNS 50K (14)752.0 TSR
C10 16 (17)875.67 ALNS 25K, ALNS 50K (17)875.67 ALNS 25K, ALNS 50K
C11 7 682.12 ALNS 25K, ALNS 50K (10)678.54 LBTA
C12 10 534.24 BR, BATA, LBTA, ALNS 25K, 534.24 BR, BATA, LBTA, ALNS 25K,
ALNS 50K, ORTR ALNS 50K, ORTR
C13 7 (11)909.80 ALNS 25K, ALNS 50K (12)896.50 ORTR
C14 10 (11)591.87 ALNS 25K, ALNS 50K, ORTR (12)469.3 TSR
F11 4 175.0 TSR 175.0 TSR
F12 7 769.66 ORTR 769.66 ORTR

Total 147 (156)10123.33 (165) 9943.06

Number of times an
algorithm generated Number of times an
the minimum number algorithm generated
of vehicles Percent of times the minimum distance Percent of times

ALNS 50K 9 56.25 TSR 5 31.25


ALNS 25K 7 43.75 LBTA* 4 57.14
ORTR 5 31.25 ORTR 4 25.00
TSF 3 18.75 TSF 3 18.75
BATA* 2 28.57 ALNS 25K 3 18.75
TSR 2 12.50 ALNS 50K 3 18.75
BR* 1 14.28 BR* 2 28.57
LBTA* 1 14.28 BATA* 2 28.57
CFRS* 0 0 CFRS* 0 0
TSAK 0 0 TSAK 0 0
TSAN 0 0 TSAN 0 0
∗ Algorithm applied to seven problems.

3. Large-scale test problems and computational results

We now consider the large-scale vehicle routing problems developed by Golden et al. [17]. We selected eight problems
with 200 to 480 customers that do not have route-length restrictions. Each problem has a geometric symmetry with
customers located in concentric circles around the depot. The problem generator is given in the Appendix. Each problem
exhibits a geometric symmetry that allows us to visually estimate a solution. In Fig. 2, we show our estimated solutions
for two problems (problem O1 with n = 200 and problem O8 with n = 480).
We applied ORTR with a single set of parameter values (given in line 2 of Table 2) to the eight large-scale problems.
In Fig. 3, we show the routes produced by ORTR. The routes are visually appealing. In Table 6, we present the solution
values and the running times generated by ORTR and the values from the visually estimated solutions. For each
problem, ORTR used the minimum number of vehicles as specified by the lower bound of Kmin . ORTR used a total of
68 vehicles, while the estimated solutions used a total of 72 vehicles. For all eight problems, ORTR produced solution
values that were less than the estimated solution values. On average, ORTR generated solution values that were 1.57%
less than the values of the estimated solutions. ORTR was reasonably fast with computation times that ranged from
365.3 s (6 min) for 200 customers to 1,126.8 s (19 min) for 480 customers.
2926 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

80 80

70 70

60 60

50 50

40
Y

40

Y
30 30

20 20

10 10

0 0
0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70
(a) X (b) X

90 90

80 80

70 70

60 60

50 50
Y

Y
40 40

30 30

20 20

10 10

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
(c) X (d) X

60

50

40

30

20
Y

10

-10

-20

-30

-40
-160 -140 -120 -100 -80 -60 -40 -20 0 20 40

(e) X

Fig. 1. Routes produced by ORTR for five problems. For each problem, ORTR (along with other algorithms such as ALNS 25K and ALNS 50K)
produced the best solution with respect to minimizing the number of vehicles: (a) problem C2 (n = 75, solution value = 567.14), (b) problem C4
(n = 150, solution value = 733.13), (c) problem C12 (n = 100, solution value = 534.24), (d) problem C14 (n = 100, solution value = 591.87), (e)
problem F12 (n = 134, solution value = 769.66).

4. Conclusions

Today, companies that use contractors to deliver packages and newspapers to residential customers do not require
the contractors and their vehicles to return to the depot, so practitioner interest in the OVRP has increased significantly.
In addition, over the last five years or so, researcher interest in the OVRP has increased dramatically and a wide variety
of new algorithms have been developed to solve the problem.
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2927

Table 5
Aggregate statistics on OVRP algorithms. Entries rounded to the nearest integer

CFRS TSAK TSAN BR BATA LBTA TSF TSR ALNS 25K ALNS 50K ORTR

(a) Comparison on seven problems


Total number of vehicles 68 68 68 75 72 75 69 69 68 68 68
(Sum of Kmin = 68)
Total distance 6193 4545 4701 4445 4450 4433 4557 4480 4472 4471 4498
Time (s) 7 3796 193 406 466 414 5912 3124 5890 9790 741

(b) Comparison on sixteen problems


Total number of vehicles 156 159 162 162 156 156 159
(Sum of Kmin = 147)
Total distance 10406 10776 10309 10123 10199 10194 10191
Time (s) 9230 405 13383 6347 13350 22200 1756

300 400

300
200
200
100
100

0
Y

0
Y

-100
-100
-200
-200
-300

-300 -400
-300 -200 -100 0 100 200 300 -400 -300 -200 -100 0 100 200 300 400
(a) X (b) X

Fig. 2. Estimated solutions for two large-scale problems: (a) problem O1 (n = 200, estimated solution value = 6151.77), (b) problem O8 (n = 480,
estimated solution value = 12513.11).

Table 6
Computational results for ORTR on eight large-scale test problems

Problem n C Kmin Estimated Li et al. Percent


solution improvement
ORTR Time (s)

O1 200 900 5 6151.77 6018.52 365.3 2.17


O2 240 550 9 (10)4785.75 4584.55 439.6 4.20
O3 280 900 7 7833.15 7732.85 492.8 1.28
O4 320 700 10 7338.51 7291.89 573.6 0.64
O5 360 900 8 (9)9303.85 9197.61 766.5 1.14
O6 400 900 9 (10)9924.81 9803.80 977.2 1.22
O7 440 900 10 (11)10507.13 10374.97 935.4 1.26
O8 480 1000 10 12513.11 12429.56 1126.8 0.67

Total vehicles 68 72 68

C Vehicle capacity.
( ) Number of vehicles required if different from Kmin .
Percent improvement 100 (Estimated Solution Distance–ORTR Distance)/Estimated Solution Distance.
ORTR Record-to-record travel solution; Athlon, 1 GHz, 256 MB RAM.
2928 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

300 200 300

150
200 200
100
100 100
50

0 0 0

Y
Y

Y
-50
-100 -100
-100
-200 -200
-150

-300 -200 -300


-300 -200 -100 0 100 200 300 -200 -150 -100 -50 0 50 100 150 200 -300 -200 -100 0 100 200 300
(a) X (b) X
(c) X

250 300 300

200
200 200
150

100
100 100
50

0
Y

Y
Y

-50
-100 -100
-100

-150
-200 -200
-200

-250 -300 -300


-250 -200 -150 -100 -50 0 50 100 150 200 250 -300 -200 -100 0 100 200 300 -300 -200 -100 0 100 200 300
(d) X (e) X (f) X

300 400

300
200

200
100
100
Y

0
Y

-100
-100

-200
-200
-300

-300 -400
-300 -200 -100 0 100 200 300 -400 -300 -200 -100 0 100 200 300 400
(g) X (h) X

Fig. 3. Routes produced by ORTR for eight large-scale problems: (a) problem O1 (n = 200, solution value = 6018.52), (b) problem O2 (n = 240,
solution value = 4584.55), (c) problem O3 (n = 280, solution value = 7732.85), (d) problem O4 (n = 320, solution value = 7291.89), (e) problem
O5 (n = 360, solution value = 9197.61), (f) problem O6 (n = 400, solution value = 9803.80), (g) problem O7 (n = 440, solution value = 10374.97),
(h) problem O8 (n = 480, solution value = 12429.56).

We compared the results of 11 algorithms that solve the OVRP and found that procedures based on adaptive large
neighborhood search, record-to-record travel, and tabu search performed well. We applied our own algorithm to eight
large-scale OVRPs and found that, in several minutes, it generated solutions that were better than visually estimated
solutions.
In the future, we hope to apply our record-to-record travel algorithm to a problem that uses an actual street network
and residential customers from the newspaper industry.
F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930 2929

Acknowledgements

We thank Lawrence Levy of RouteSmart Technologies, Inc. for providing actual applications of the OVRP and
discussing practical modeling issues.

Appendix

OVRP Generator
(x(i), y(i)) is the coordinate of customer i, where i = 0 is the depot
q(i) is the demand of customer i
A and B are parameters that determine the number of customers n, where n = A × B
All data recorded to four decimal places
begin
=0
x() = 0, y() = 0, q() = 0
for k : =1 to B do
begin
 = 30k
for i : =1 to A do
begin
=+1
x() =  cos[2(i − 1)/A]
y() =  sin[2(i − 1)/A]
if mod(i, 4) = 2 or 3
then q() = 30
else q() = 10
end
end
end
Vehicle
Problem A B n capacity
O1 20 10 200 900
O2 40 6 240 550
O3 28 10 280 900
O4 40 8 320 700
O5 36 10 360 900
O6 40 10 400 900
O7 44 10 440 900
O8 40 12 480 1000

References

[1] Schrage L. Formulation and structure of more complex/realistic routing and scheduling problems. Networks 1981;11:229–32.
[2] Bodin L, Golden B, Assad A, Ball M. Routing and scheduling of vehicles and crews: the state of the art. Computers & Operations Research
1983;10:63–211.
[3] Levy L. Private communication. RouteSmart Technologies, Inc., 2005.
[4] Li F, Golden B, Wasil E. Very large-scale vehicle routing: new test problems, algorithms, and results. Computers & Operations Research
2005;32(5):1165–79.
[5] Sariklis D, Powell S. A heuristic method for the open vehicle routing problem. Journal of the Operational Research Society 2000;51:564–73.
2930 F. Li et al. / Computers & Operations Research 34 (2007) 2918 – 2930

[6] Brandão J. A tabu search algorithm for the open vehicle routing problem. European Journal of Operational Research 2004;157:552–64.
[7] Tarantilis C, Diakoulaki D, Kiranoudis C. Combination of geographical information system and efficient routing algorithms for real life
distribution operations. European Journal of Operational Research 2004;152:437–53.
[8] Tarantilis C, Ioannou G, Kiranoudis C, Prastacos G. A threshold accepting approach to the open vehicle routing problem. RAIRO Operations
Research 2004;38:345–60.
[9] Tarantilis C, Ioannou G, Kiranoudis C, Prastacos G. Solving the open vehicle routing problem via a single parameter metaheuristic algorithm.
Journal of the Operational Research Society 2005;56:588–96.
[10] Fu Z, Eglese R, Li L. A new tabu search heuristic for the open vehicle routing problem. Journal of the Operational Research Society 2005;56:
267–74.
[11] Pisinger D, Ropke S. A general heuristic for vehicle routing problems. Working paper, Department of Computer Science, University of
Copenhagen, Copenhagen, Denmark, 2005.
[12] Dueck G. New optimization heuristics: the great deluge algorithm and the record-to-record travel. Journal of Computational Physics 1993;104:
86–92.
[13] Tarantilis C. Private communication, 2005.
[14] Christofides N, Mingozzi A, Toth P. The vehicle routing problem. In: Christofides N, Mingozzi A, Toth P, Sandi C, editors. Combinatorial
optimization. Chichester, UK: Wiley; 1979. p. 315–38.
[15] Fisher M. Optimal solution of vehicle routing problems using minimum k-trees. Operations Research 1994;42:626–42.
[16] Dongarra J. Performance of various computers using standard linear equations software. Report CS-89-85, Computer Science Department,
University of Tennessee, Knoxville, TN, 2005.
[17] Golden B, Wasil E, Kelly J, Chao I-M. The impact of metaheuristics on solving the vehicle routing problem: algorithms, problem sets, and
computational results. In: Crainic T, Laporte G, editors. Fleet management and logistics. Boston, MA: Kluwer; 1998. p. 33–56.

You might also like