You are on page 1of 10

Journal of the Operational Research Society (2000) 51, 564±573 #2000 Operational Research Society Ltd.

td. All rights reserved. 0160-5682/00 $15.00


www.stockton-press.co.uk/jors

A heuristic method for the open vehicle routing


problem
D Sariklis* and S Powell
The London School of Economics and Political Science, UK
The open vehicle routing problem (OVRP) differs from the classic vehicle routing problem (VRP) because the vehicles
either are not required to return to the depot, or they have to return by revisiting the customers assigned to them in the
reverse order. Therefore, the vehicle routes are not closed paths but open ones. A heuristic method for solving this new
problem, based on a minimum spanning tree with penalties procedure, is presented. Computational results are provided.

Keywords: distribution management; heuristics; open vehicle routing problem

Introduction and description of the problem to satisfy the demand of its customers. Therefore, the
company is obliged to contract all or part of its product
In this paper we introduce a distribution management
distribution to external couriers. The hired vehicles will be
problem, which we call open vehicle routing problem
assigned to routes in which they do not have to return to the
(OVRP), that to our knowledge has not been presented
company's distribution centre (depot). The problem solu-
before. The important feature of this new problem, which
tion will provide the company with the minimum number
distinguishes it from the classic vehicle routing problem, is
of vehicles to hire in order to serve its customers and the set
that the vehicles are not required to return to the depot, or if
of routes that will minimise the traveling cost. Furthermore,
they are required to so do by revisiting the customers in the
in the situation when the company has its own vehicle ¯eet
reverse order.
and customer demand varies signi®cantly over time, the
The open vehicle routing problem can be described as
solution will provide the proper combination of owned and
follows. There is a depot and a set of customers with
hired vehicles. Companies that have a large number of
speci®ed demand for goods. At the depot is located a
deliveries encounter the same type of problem. In this case,
vehicle ¯eet. Every vehicle has a speci®ed capacity and
hiring vehicles may be more expensive per unit of distance
an operating cost. The traveling cost between the depot and
travelled, but they perform open rather than closed routes
the customers, as well as between any pair of customers is
and maintenance costs do not occur.
known. Then the problem consists of ®nding the set of
Problems in which vehicles return to the depot following
routes that satisfy these three criteria:
the route in reverse order appear very frequently in distri-
(1) each route originates at the depot and terminates at one bution involving both delivery and collection. The vehicles
of the customers, ®rst visit the customers and deliver the goods they have
(2) each customer is visited once and only once by exactly ordered. When the vehicles reach the last customer
one vehicle and its demand is totally satis®ed, and assigned to them and they are empty, they return to the
(3) the customers who are visited in each route have total depot by following the same route, visiting the customers in
demand less than or equal to the capacity of the vehicle the reverse order and collecting the goods which must be
assigned to serve the route, returned to the distribution centre. If the traveling costs
between the customers are symmetric, all customers must
and the objective is to minimise the total traveling and
be visited for both delivery and collection, and the capacity
vehicle operating cost. It is assumed that the capital cost of a
constraint in the reverse trips is satis®ed, then the return
further vehicle will always outweigh any traveling costs that
trips must be the reverse of the corresponding outward
could be saved by its use.
trips. Therefore, the solution cost is twice the solution cost
Problems in which vehicles do not return to the depot are
of the problem where the vehicles do not return to the
faced by a company which either does not own a vehicle
depot. A practical example is the delivery and collection of
¯eet at all, or its vehicle ¯eet is inappropriate or inadequate
mail, where after delivery the vehicles start collecting new
mail that must be returned to the sorting of®ce and directed
*Correspondence: Dr D Sariklis, The London School of Economics and
Political Science, Department of Operational Research, Houghton Street,
to the recipients. Air courier companies have to determine
London WC2A 2AE, United Kingdom. such routes for fast and ef®cient service.1
D Sariklis and S PowellÐA heuristic method for the open vehicle routing problem 565

The new problem has been described in its simplest generalised customer. Since the clustering procedure is
form. As in the classic vehicle routing problem, additional sequential, it is not necessary to de®ne the cost between
constraints could be considered as well as the capacity. A any two generalised customers. The number of clusters
generalisation could include many of the features presented formed during the procedure is not prede®ned.
in the classi®cation schemes of the vehicle routing Although the generalised customer could be seen as a
problem.2±5 cluster, we distinguish between a generalised customer and
The elimination from the vehicle routing problem of the a cluster as we do between a customer and a vehicle. The
constraint that the vehicles must return to the depot does generalised customer has demand and costs to other custo-
not actually result in an easier and less complex problem. mers, while the cluster has capacity equal to the vehicle
Therefore, any exact algorithm for solving the OVRP will capacity. There is a one to one correspondence between the
certainly have the inef®ciency of the exact algorithms for customers of a cluster and a generalised customer with
the vehicle routing problem. Therefore, we have focused demand no greater than the cluster capacity.
our attempt to solve the problem by developing a heuristic All customers are initially considered unclustered. A new
method. generalised customer and its associated cluster are initia-
lised with the ®rst member, the depot. Customers are
sequentially added to the cluster. At each stage the custo-
The heuristic method mer whose demand does not exceed the spare capacity of
The heuristic is a sequential two-phase method: clustering the cluster and who has the least cost to the generalised
followed by routing, and each of these phases consists of customer is selected. If there is a tie in the selection, then
stages. An outline of the method is given below: the candidate customer with the maximum demand is
selected. If the choice is still not unique, then the customer
Phase I: Clustering who is ®rst in lexicographical order is selected. When a
Stage 1: Forming the clusters customer is included in the cluster, then it is considered
Stage 2: Balancing the clusters clustered. The cluster is updated by placing the selected
Phase II: Routing customer as its current last customer and reducing its spare
Stage 1: Forming the minimum spanning tree capacity by the demand of the new customer. New custo-
solution mers are added to the cluster until further customers can not
Stage 2: Using penalties to modify the be assigned to it because the capacity constraint will be
minimum spanning tree solution violated. The cluster now has been formed and a new
Stage 3: Converting infeasible solutions to cluster must be created. This procedure is repeated until
feasible ones all customers have been assigned to a cluster. The ®rst
Step 1: Deleting arcs stage of the clustering phase is then complete.
Step 2: Labelling nodes
Step 3: Constructing a feasible
solution Stage 2: Balancing the clusters
The clusters have been formed in a sequential fashion and,
Phase I: Clustering as in any sequential procedure, the main disadvantage is
that the aim of minimising the number of clusters over-
The clustering procedure has two stages. The ®rst stage shadows the minimisation of traveling cost. For instance,
provides an initial assignment of customers to clusters. This the last customers may have been assigned to clusters
assignment satis®es the capacity constraint and aims to because the capacity constraint did not allow the assign-
form as few clusters as possible. In the second stage we ment of other closer customers. Therefore, it is rational to
attempt to improve the quality of the clusters formed by consider reassigning the last customers of the clusters.
reassigning customers among them. Initially the status of all clusters is set so that their last
customer can be reassigned. The cluster with the maximum
load is selected. If there is a tie in selecting this cluster, then
Stage 1: Forming the clusters
we select the ®rst one formed. The last customer of this
A generalised customer is an ordered set of customers with cluster will be reassigned if there is a cluster with spare
the depot as the ®rst member. The generalised customer has capacity to accommodate this customer, and there is a cost
demand equal to the sum of the demands of its customers; improvement. A cost improvement occurs when the cost
if the generalised customer consists only of the depot, then from this customer to the generalised customer correspond-
its demand is set to zero. We de®ne the cost between a ing to its cluster is greater than the cost to the generalised
customer and a generalised customer to be the minimum customer corresponding to the cluster to which it could be
of the traveling costs between the customer and each assigned. The customer is assigned to the least cost cluster
of the customers (including the depot) who comprise the that satis®es these two conditions. If there is a tie, then the
566 Journal of the Operational Research Society Vol. 51, No. 5

customer is assigned to the cluster with the maximum spare Stage 2: Using penalties to modify the minimum spanning
capacity. Clusters can accept customers irrespective of tree solution
whether or not their own last customer can be reassigned.
In the second stage we examine the routes for which the
The modi®ed clusters are updated. The status of all clusters
MSTP solution is not a chain. The solution may have more
is updated such that their last customers can be considered
than one arc connecting the depot, or more than two arcs
for reassignment. This happens because the assignment that
connecting some of the customers. Let NC be the number
last occurred has changed some clusters and their utilised
of customers in a cluster, including the depot. Let di be the
capacity, and therefore assignments which were not possible
degree of node i, 1 4 i 4 NC, where degree is the number
before, due to the violation of the capacity constraint, may
of nodes connected to node i. We require the degree of the
now be possible. If the selected customer cannot be reas-
depot node to be 1, and the degree of every customer node
signed, then the status of the cluster is changed so that its
to be 2. The infeasibility of the depot node is de®ned as:
last customer will not be considered for reassignment during
at least the next iteration. This status will change only if a inf …1† ˆ di ÿ 1
reassignment takes place. The procedure for balancing the and the infeasibility of any customer node as:
clusters is repeated until the last customer of all clusters 
cannot be reassigned. di ÿ 2; if di 5 2
inf …i† ˆ 2 4 i 4 NC
1; if di ˆ 1
The total infeasibility of the solution is:
Phase II: Routing P
inf …i† ÿ 1
A chain is de®ned as an ordered sequence of customers 1 4 i 4 NC
which starts at the depot, visits all its customers once and
where the term ÿ1 allows for the end customer node. It is
only once and terminates at the last customer. The cost of a
obvious that the infeasibility of a chain is zero. We attempt
chain is de®ned as the sum of the traveling costs through its
to remove the infeasibility by employing a penalty proce-
customers. In this phase we aim to ®nd the least cost chain
dure that penalises (positively or negatively) the traveling
in each cluster.
cost to every node. If the node is the depot node, then the
Each of the formed clusters enters the routing phase of
node penalty is de®ned as:
the method, which consists of three stages. In the ®rst stage
the minimum spanning tree problem (MSTP) is solved. If pen…1† ˆ p inf …1†
the solution is a chain then it is the optimal solution and the
and if the node is a customer node the node penalty is:
routing phase terminates, if not, then both the second and 
the third stages of the routing phase must be performed. In p…di ÿ 2†; if di 5 2
pen…i† ˆ 2 4 i 4 NC
the second stage a minimum spanning tree with penalties ÿp; if di ˆ 1
procedure is employed. This procedure attempts to generate
where p > 0 is a user speci®ed penalty value. The cost
a chain using penalties, but it is not always successful. If any
matrix cij ; 1 4 i 6ˆ j 4 NC, is updated with the node penal-
solutions achieved at this stage are chains then the least cost
ties:
one is retained for the third phase. Some of the infeasible
solutions achieved during the second stage that are not c ij ˆ cij ‡ pen…i† ‡ pen… j† 1 4 i 6ˆ j 4 NC
chains are also retained. These solutions enter the third
and the MSTP is solved using the updated cost matrix. The
stage of the routing phase, where they are converted to
penalty value, p, is important in the search for a solution in
chains in a ®nite number of iterations. To determine the ®nal
the iterative process. Some arcs may become more expen-
routing of the customers of the cluster, the best of the chains
sive and leave the solution, while some may become less
obtained in the third stage is compared with the best
expensive and enter the solution. However, the changes,
available chain from the second stage.
which take place, may not result in the chain that we seek.
The penalty procedure requires the user to assign values
to the following parameters: an initial and a maximum
Stage 1: Forming the minimum spanning tree solution
penalty value; a step that de®nes the increase in the penalty
Prim's6 algorithm was employed to solve the MSTP, value, and a maximum number of iterations for each
because it performs well in dense networks such as distri- penalty value. The procedure consists of two nested
bution networks. The MSTP solution guarantees that the loops: an outer loop that updates the penalty value, and
depot will be the root of the tree and all customers will be an inner loop that uses the penalty value to modify the node
visited at minimum total traveling cost. The condition that penalties. The infeasible solution of the ®rst stage is the
each route is a chain from the depot can be satis®ed by this starting point. The penalty value is set to its initial value
solution, in which case the optimal solution for the routing and the number of iterations is set to one. The node
phase has been achieved. This very rarely happens. penalties are computed as described above and the cost
D Sariklis and S PowellÐA heuristic method for the open vehicle routing problem 567

matrix is updated. Using the updated cost matrix the MSTP considers the cost of any potential modi®cation and selects
is solved. If the solution achieved is infeasible, then the the one that will achieve feasibility with the least cost
iteration counter is incremented and the inner loop increase. This procedure consists of three steps: (1) the
repeated. This iterative procedure continues until either a degrees of the nodes are calculated and some arcs are
chain is obtained or the maximum number of iterations is deleted; (2) the nodes are labelled; and (3) these labels and
reached. Then the original cost matrix and the initial MSTP the arc costs determine which arcs will be included in the
solution are restored, the penalty value is incremented by chain.
the penalty step, the number of iterations is reset to one,
and the inner loop is repeated. This procedure continues
until the penalty value exceeds its maximum value, so
Step 1: Deleting arcs
terminating the outer loop. The best chain achieved, if any,
becomes the best available solution of the routing phase. A Any customer node with degree greater than two or the
predetermined number of the least infeasible solutions depot node with degree greater than one cause infeasibility,
achieved during this stage are retained and will be so we delete arcs associated with such nodes by one of the
converted to chains in the third stage. following strategies: (i) delete the most expensive arcs; or
Other penalty strategies were developed. Designating the (ii) delete the arcs which promise a high cost solution. In
above penalty strategy as (A), the more sophisticated both strategies, the degree of the depot node is initially
strategies are: (B) Penalties with constant backtracking checked. If it is greater than one, then all except the least
cost, (C) Penalties with adjustable backtracking cost, and cost arc are deleted. Among the customer nodes the one
(D) Penalties with adjustable backtracking cost after a with maximum degree is selected. If this node has degree 2
speci®ed number of iterations. The term backtracking then the arc deletion procedure terminates, otherwise some
cost means that the node penalty, pen…i†; 2 4 i 4 NC, of its arcs must be deleted.
depends on the node degree in the current iteration, di , In the ®rst strategy the cost of the arcs connecting the
and on that in the previous iteration, Di . In all strategies the selected node are compared and the two least cost arcs are
penalty for the depot node is the same as in the original retained in the solution, while all the remaining ones are
penalty strategy. In strategy (B) the penalties for the deleted. In the special case, where the node under consid-
customer nodes, 2 4 i 4 NC, are: eration is connected to the depot node after the degree of
8  the depot node has been ®xed to 1, the arc connecting the
> bp; if Di ˆ 1
>
> if d > 2 then depot node and the least cost arc of the other arcs are
>
> i
p…di ÿ 2†; if Di > 1
< retained in the solution. The degrees of the nodes of the
pen…i† ˆ if di ˆ 2 then 0 deleted arcs are decremented. Therefore, the degree of the
>
> 
>
> ÿbp; if Di > 2 node under consideration is ®xed to 2.
>
: if di ˆ 1 then
ÿp; if Di 4 2 In the second arc deletion strategy the criterion for
selecting the arcs to be deleted is not the cost of the
where bc, 0 < b 4 1, is the constant backtracking cost particular arcs themselves, but the cost of connecting the
whose value is user speci®ed. sub-trees that result from the deletion. Let i; 2 4 i 4 NC,
In strategy (C) the backtracking cost is de®ned as the be the node with the maximum degree, di , and let it be
proportion of the change of the degree of the customer connected to base nodes bu ; 1 4 u 4 di . If the arcs …i; bu †
node: are deleted, then the result will be the single node i, and di
8 8 sub-trees. For each of these sub-trees a path is traced from
>
> < di ÿ 2 p; if Di ˆ 1 the base node bu to a terminal node tu . If a choice has to be
>
>
>
> if di > 2 then di ÿ 1 made in the tracing of the path, then it is made arbitrarily. If
>
> :
>
< p…di ÿ 2†; if Di > 1 the sub-tree is a singleton, then the base and terminal nodes
pen…i† ˆ if di ˆ 2 then 0 coincide. We consider retaining only the arcs …i; bu † and
>
> 8
>
> < ÿ Di ÿ 2 p; if D > 2 …i; bv †; 1 4 u 6ˆ v 4 di , and compare the cost of connecting
>
>
> i
each of the sub-trees, that do not have as base node bu or bv ,
> if di ˆ 1 then : Di ÿ 1
>
:
ÿp; if Di 4 2 to either terminal node tu or tv . This comparison is
conducted for all pairs of arcs and the minimum connection
Finally, strategy (D) is a combination of penalty strategies cost pair is retained. Let B and T be the set of base and
(A) and (C). terminal nodes respectively and U be the set of arcs
…bu ; tu †; 1 4 u 4 di . Let c…T  T † be the set of the costs
of arcs with end nodes which are combinations of the
Stage 3: Converting infeasible solutions to feasible ones
elements of set T and c…‰B  T ŠnU † be the set of the
The infeasible solutions retained from the second stage are costs of arcs with end nodes which are combinations of
converted to feasible ones (chains) using a procedure that the elements of B and T excluding those arcs which are
568 Journal of the Operational Research Society Vol. 51, No. 5

elements of U . Then the above comparison is equivalent to


selecting:
cgf ˆ minfc…T  T †; c…‰B  T ŠnU †g

By taking into account whether g and f are members of T or


B, it is possible to determine, not uniquely, the pair of arcs,
which correspond to the minimum cost. These arcs are
retained in the solution, d ÿ 1 sub-trees are formed and
node i has degree 2. Note that if node i is connected to the
depot node, then this connection is retained and the depot
node will not be a member of set B.
The second arc deletion strategy is best illustrated with
an example. The infeasible solution is shown in Figure 1.
Node 6 has the maximum degree, two of the arcs denoted
Figure 2
by dotted line arrows are to be retained and the others
deleted. Then B ˆ f2; 7; 10; 11g. Tracing from base node 2,
Therefore, the inef®ciency of a singleton is 2, of an inter-
assume that we reach node 4, and similarly from base nodes
mediate node of a partial chain is 0, and of a terminal node
7 and 11 we reach nodes 8 and 12 respectively. Then
of a partial chain is 1. In a feasible solution only the end
T ˆ f4; 8; 10; 12g and the minimum cost is selected from
node of the chain has inef®ciency 1. The total inef®ciency of
the set fc4 8 ; c4 10 ; c4 12 ; c8 10 ; c8 12 ; c10 12 ; c2 8 ; c2 10 ; c2 12 ;
the solution is:
c7 4 ; c7 10 ; c7 12 ; c11 4 ; c11 8 ; c11 10 g. If c4 8 is the minimum, P
then we determine two of the arcs (6,7), (6,10) and (6,11), ineff …i† ÿ 1
say (6,7) and (6,10) to remain in the solution. Three sub- 2 4 i 4 NC

trees are formed and the degree of node 6 is ®xed to 2 as The purpose of steps 2 and 3 is to eliminate this inef®ciency.
shown in Figure 2.
In both arc deletion strategies the degrees of the nodes Step 2: Labelling nodes
are updated when an arc deletion is performed and the
updated degree is used to select the next maximum degree The nodes in a partial chain are ordered only for algorith-
node. By applying one of these strategies, the infeasbile mic purposes and not because the traveling costs are
solution achieved during the minimum spanning tree with asymmetric. Therefore the designation of a node directly
penalties stage has been decomposed into single nodes connected to only one other node as root or terminal node is
(singletons) and partial chains. In these partial chains, arbitrary, unless the node is the depot node in which case
every intermediate node is connected to two nodes and it is always the root node. The nodes are assigned the
the two terminal nodes are connected to only one node. The following labels:
8
depot node is connected to only one customer nodeÐthe < node number; if the node is a singleton
depot node is never a singleton. We de®ne the inef®ciency label 1 ˆ root of the chain; if the node is in a partial
of a customer node as: :
chain
ineff …i† ˆ 2 ÿ di 2 4 i 4 NC 8
>
> ÿ1; if the node is a singleton
>
>
>
> 0; if the node is root node of
<
a partial chain
label 2 ˆ
>
> predecessor node; if the node is an
>
>
>
> intermediate or terminal
:
node of a partial chain
8
>
> 0; if the node is an intermediate node of a
<
partial chain or the depot node
label 3 ˆ
>
> 1; if the node is an intermediate or terminal
:
node of a partial chain
For each node label_1 denotes the partial chain to which it
belongs, label_2 denotes its predecessor node in the partial
chain, if any, and label_3 denotes whether or not the node
can be connected in the third step. The depot node will have
Figure 1 labels (1 0 0).
D Sariklis and S PowellÐA heuristic method for the open vehicle routing problem 569

Step 3: Constructing a feasible solution updated as follows: label_1 of each node in the second
partial chain changes to the root node of the ®rst partial
In the last step of this stage we eliminate the inef®ciency of
chain; label_2 of the root node of the second partial chain
the solution. The procedure connects all the singletons to
changes to the end node of the ®rst partial chain; and
the existing partial chains and updates them and ®nally
label_3 of both the root node of the second partial chain
connects the resulting partial chains.
and the terminal node of the ®rst partial chain changes to 0.
Every time either a singleton is connected to a partial
The case where the terminal node belongs to the second
chain or two partial chains are connected, the inef®ciency
partial chain and the root node to the ®rst partial chain is
of the solution is decremented by 2. Therefore the proce-
similarly treated and the resulting partial chain has reverse
dure terminates in:
P direction.
ineff …i† ÿ 1 In case (ii) neither of the root nodes will be the depot
2 4 i 4 NC
node. One of the terminal nodes, assume the end node of
2 the ®rst partial chain, is selected to become the root node of
iterations and guarantees that a feasible solution is achieved. the resulting partial chain. Then the direction of the ®rst
partial chain is reversed and the terminal node of the
second partial chain becomes the terminal node of the
resulting partial chain. The labels are updated accordingly.
Connecting single nodes to partial chains
Finally, in case (iii) the root nodes of both partial chains
A singleton can be connected either to (a) the terminal, or are checked to determine whether one of them is the depot
(b) the root node, only if it is not the depot node, of a partial note. If this happens, then the corresponding root node will
chain. The cost of connecting a singleton to a partial chain become the root node of the resulting partial chain. If
is the minimum of connecting it to the terminal node or the neither of the root nodes are the depot node, then we
root node, if possible. The singleton with the least connec- choose arbitrarily between them. Assume that the selected
tion cost to any existing partial chain is selected and node is the root node of the ®rst partial chain. Then the
connected to the partial chain by applying case (a) or (b), second partial chain must be reversed and its root node will
corresponding to the minimum connection cost. In case (a) become the terminal node of the resulting partial chain. The
the singleton becomes the terminal node of the resulting labels are updated accordingly.
partial chain, while its root node remains the same. The labels During the procedure for connecting the partial chains,
are updated as follows: label_1 of the singleton changes to the pair with the least connection cost is always selected.
the root node of the partial chain; label_2 of the singleton Applying case (i), (ii), or (iii) as appropriate to connect
changes to the terminal node of the partial chain; and label_3 these partial chains continues until a solution, that is a chain
of the terminal node of the partial chain changes to 0. In case with the depot node as root node, is achieved. Label_2
(b) the singleton becomes the root node of the resulting de®nes the order in which the customers are visited.
partial chain. The labels are updated accordingly. The
connection costs are updated and the process repeated until
all singletons have been connected to partial chains.
Computational aspects of the heuristic method
In this section we discuss some computational aspects
Connecting partial chains which aim to improve the ef®ciency of the heuristic
method.
The current solution will be either a chain or inef®cient
(consisting of partial chains). In the ®rst case, the solution 1. In the ®rst stage of the clustering phase, we de®ne for
has been reached. In the second case, the partial chains every customer an attribute that is its cost from the
must be connected. When connecting two partial chains, we generalised customer corresponding to the cluster
distinguish three cases; the candidate nodes for connection currently being formed. The depot is included in all
can be: (i) root node and terminal node; (ii) both root nodes clusters and generalised customers, and thus every time a
or; (iii) both terminal nodes. Note that the partial chain new cluster is initialised, the cost between an unclustered
containing the depot can only be connected at its terminal customer and the corresponding generalised customer is
node. set to be its traveling cost from the depot. During the
In case (i), we assume that the terminal node belongs to formation of the current cluster, this cost is updated if all
the ®rst partial chain and the root node to the second. Then, three conditions: (i) the customer is still unclustered, (ii)
provided that the root node is not the depot node, the two the capacity constraint will not be violated if the custo-
nodes are connected and the resulting partial chain has as mer is included in the current cluster, and (iii) the
root node the root node of the ®rst chain and as terminal traveling cost of the customer from the last customer of
node the terminal node of the second chain. The labels are the corresponding generalised customer is less than its
570 Journal of the Operational Research Society Vol. 51, No. 5

current cost, are satis®ed. If the cost is updated, then it is 4. Finally, in the selection of a speci®ed number of least
set to be the traveling cost from the last customer of the infeasible solutions during the second stage of the rout-
cluster. If the cost of an unclustered customer is not ing phase, the solutions are ordered by increasing infea-
updated because there is not spare capacity to accom- sibility. Initially the minimum spanning tree problem
modate its demand, then it will not be updated in solution achieved in the ®rst stage is placed in the list
subsequent steps when forming the current cluster. The and the infeasibility of the last solution is set to
update procedure is applied if all three conditions: (i) 2…NC ÿ 2†; this corresponds to the case where all custo-
there is a spare cluster capacity; (ii) a new customer has mers are connected directly to the depot. At the end of an
just been assigned to the cluster; and (iii) there is at least iteration the infeasible solution achieved is compared
one unclustered customer, are satis®ed. The above with the ones already in the list. If the new solution has
method has the advantage that only a few number of less infeasibility than the last solution in the list, then a
updates are necessary when a cluster is formed. When check is performed to determine whether or not it is the
the costs have been updated, the customer with the least same as one of the solutions in the list. If it is a different
cost is selected. solution, then it is placed in the appropriate position in
2. In the procedure for balancing the clusters, the selection the list. If there is a tie in the infeasibility, then the cost
of the candidate clusters is performed very ef®ciently and criterion is employed and the new solution is placed
fast. The customer demand and the spare capacity of the among the solutions with the same infeasibility accord-
clusters de®ne which clusters can accommodate the ing to its cost. All the solutions, if any, which are in the
customer considered for reassignment. This customer is list in the same or lower positions are moved one position
the last in the cluster to which it currently belongs and below. If the list was already full, then the previous last
thus its cost to the corresponding generalised customer is solution is eliminated and the selection criterion for
initially set to be its traveling cost from the immediate including a solution in the list becomes the infeasibility
predecessor customer. This cost is updated, if necessary, of the new last solution. If the solution under considera-
by comparing it with the traveling costs of the customer tion is the same as one of the solutions in the list, or it has
to all the previous customers of the generalised customer greater infeasibility than the last solution in the list, then
in reverse order. Comparing in reverse order is more it is ignored. During the minimum spanning tree with
ef®cient, because the cost of the customer under consid- penalties procedure, many of the infeasible solutions
eration to the generalised customer to which it currently achieved are the same and by following the above sorting
belongs has continuously been non-increased during the method, the number of updates of the list is as small as
procedure for forming the corresponding cluster. There- possible.
fore, it is more likely that the least cost occurs between
the customer and one of its close predecessor customers. Computational results
The ®nal cost is compared with the least cost of the
customer from all the generalised customers correspond- The heuristic was implemented in a computer programme
ing to the candidate clusters. These comparisons, for using Fortran 77, Version 2.05 for Windows 95 of Salford
every generalised customer, are also performed in reverse Software Ltd.7 We tested the computational performance
order of its customers. The depot is not considered in of the method with respect to the number of customers,
these comparisons, since the traveling cost of the custo- vehicle capacity, penalty strategy, and arc deletion strategy.
mer from the depot has been considered when the cost The traveling costs and demand data were generated by the
from the generalised customer to which it currently random number generator embedded in the software which
belongs was calculated. Therefore, the number of generates uniformly distributed numbers in [0, 1]. The
comparisons and updates is as small as possible. generated numbers were multiplied by 100 and the results
3. In the minimum spanning tree with penalties procedure truncated. Therefore integer numbers in [0, 100] were
two early termination criteria can be applied. Since many obtained. In the Euclidean traveling cost problems the
of the chains achieved for different penalty values during customer co-ordinates were generated, and the traveling
the minimum spanning tree with penalties procedure are costs were calculated as the Euclidean distance without
the same, if the same least cost chain is obtained a rounding or truncation. In the non-Euclidean traveling cost
predetermined number of times, then the procedure problems the symmetric traveling costs were generated. In
terminates before the penalty value reaches its maximum both cases the traveling cost between any two customers
value. Similarly, if the procedure repeatedly fails to was always greater than 0, that is co-located customers
provide a chain, then, since the least infeasible solutions were not generated. The vehicle capacity V was de®ned8±11
are stored for the third stage of the routing phase and as:
many of them are the same, it is reasonable to terminate  
the procedure after a predetermined number of penalty P
N
V ˆ …1 ÿ a† max fqi g ‡ a qi
value failures. 24i4N iˆ2
D Sariklis and S PowellÐA heuristic method for the open vehicle routing problem 571

where N is the number of customers, qi is the demand of capacity parameter, for all combinations of penalty
customer i; 2 4 i 4 N, and a; 0 4 a 4 1, is a parameter and arc deletion strategies, and both Euclidean and
de®ning the tightness of the capacity constraint. Note that non-Euclidean traveling cost problems, increases as the
for a ˆ 0 the capacity constraint is the tightest possible, number of customers increases. The same conclusion
while for a ˆ 1 it ceases to exist and the problem becomes can be reached for the solution cost, but only for
an open traveling salesman problem (OTSP). As a increases Euclidean traveling cost problems.
the vehicle capacity and the number of customers in a route
The heuristic performs particularly well on problems
increase, while the number of routes decreases. The para-
with a small number of customers per route, that is, when
meter was tested for the values 0.00, 0.25, 0.50, 0.75 and
the vehicle capacity is low relative to customer demand. In
1.00. The number of customers was varied between 10 and
Tables 1 and 2 we present the average solution value and
100 in increments of 10. We generated 30 random problems
computational time respectively for the 30 Euclidean
for each instance of the number of customers and the nature
traveling cost problems. The rows correspond to the
of traveling costs and the average solution value and
number of customers and the columns to the values of
computational time were calculated. The following conclu-
the capacity parameter a. These results were achieved by
sions were reached:
employing the third penalty and the second arc deletion
(i) The solution cost for the same number of customers, strategy. The parameters were: penalty value between 0 and
for all combinations of penalty and arc deletion strate- 1 incremented by a step of 0.1; maximum number of
gies, and both Euclidean and non-Euclidean traveling iterations 50; early termination of the procedure when the
cost problems, decreases as the number of routes same least cost chain had been achieved three times; and
decreases. The second arc deletion strategy, for all the 10 least infeasbile solutions were retained for the third
penalty strategies, and both Euclidean and non-Eucli- stage of the routing phase. The computational times
dean traveling cost problems, provides a better solution reported are seconds on a Gateway 2000 Personal Compu-
than the ®rst arc deletion strategy. Penalty strategy (B), ter with an Intel Pentium processor running at 133 MHz
and particularly strategies (C) and (D), for both arc with 16 MB RAM.
deletion strategies, and both Euclidean and non-Eucli- In order to evaluate the computational performance of
dean traveling cost problems, usually perform slightly our method we have developed a modi®cation of the S Lin
better than penalty strategy (A). and BW Kernighan12 2-opt exchange heuristic for the
(ii) The computational time for the same number of custo- OVRP. This customer exchange heuristic is an alternative
mers, for all combinations of penalty and arc deletion Phase II, the routing phase, having formed the clusters as in
strategies, and both Euclidean and non-Euclidean Phase I.
traveling cost problems, increases as the capacity The feasible solution formed as the cluster in Phase I is
parameter increases. The second arc deletion strategy, the base solution. The procedure has three nested loops.
for all penalty strategies, and both Euclidean and non- The outer loop ®xes the terminal customer by switching the
Euclidean traveling cost problems, is slightly faster for terminal customer of the base solution with every other
small values but slower for large values of the capacity customer. With the terminal customer ®xed the inner loop
parameter, than the ®rst arc deletion strategy. There is selects every position in the chain in turn. With the chain
no clear distinction in the performance of the penalty position ®xed the innermost loop considers exchanging its
strategies. customer with the customer in every other position. If an
(iii) The computational time for the same value of the exchange would reduce the cost then it is implemented. The

Table 1 Solution value

Capacity parameter (a)

0.00 0.25 0.50 0.75 1.00


Number of customers (N) 10 393.896 311.852 260.553 264.682 235.227
20 767.769 458.825 395.923 403.736 346.876
30 1101.116 576.627 471.901 477.435 426.137
40 1469.612 636.433 534.985 547.260 488.813
50 1768.314 704.928 583.050 615.669 546.787
60 2164.052 769.593 656.903 674.227 606.906
70 2362.903 795.639 701.449 733.482 649.641
80 2900.348 877.716 756.479 780.545 704.553
90 3218.698 890.991 801.080 827.321 743.000
100 3686.552 941.168 843.122 879.430 784.314
572 Journal of the Operational Research Society Vol. 51, No. 5

Table 2 Computational time

Capacity parameter (a)

0.00 0.25 0.50 0.75 1.00


Number of customers (N) 10 0.002 0.018 0.017 0.017 0.034
20 0.009 0.042 0.095 0.157 0.280
30 0.020 0.118 0.271 0.415 0.694
40 0.015 0.196 0.482 0.737 1.216
50 0.027 0.365 0.854 1.200 1.906
60 0.026 0.551 1.447 1.746 2.820
70 0.033 0.841 2.017 2.395 3.737
80 0.048 1.127 2.342 2.831 4.477
90 0.061 1.493 3.314 3.930 6.099
100 0.066 1.868 4.054 4.831 7.632

innermost loop terminates when no further customer 2. Our heuristic method outperforms the customer
exchanges can be performed. Then the inner loop termi- exchange heuristic, particularly for large and=or not
nates when every customer position has been considered, tightly constrained problems, but generally requires
and the outer loop is complete when all customers have longer computational times.
been considered as the terminal customer. The best solution 3. The performance of our heuristic method depends on the
achieved is the solution of the routing phase. parameters and slightly on the penalty and arc deletion
The customer exchange heuristic was programmed and strategies employed, while the performance of the custo-
tested on the same data sets as the ®rst method. Tables 3 mer exchange heuristic is parameter independent.
and 4 provide the solution value and the computational
Finally, we compared the performance of both methods
time for this method.
on problems taken from the literature. Problems 1 to 10 are
Comparing the computational performance of the two
those provided by S Eilon, CDT Watson-Gandy and N
heuristic methods we conclude:
Christo®des,13 and problems 11 to 14 were introduced by N
1. Both heuristic methods perform well on problems with a Christo®des, A Mingozi and P Toth14 (numbered 4, 5, 11
small number of customers per route. In both heuristic and 12 in their list). Note that the number of customers
methods: (i) the solution cost, for the same number of includes the depot and all problems are symmetrical. In
customers, decreases as the number of routes decreases; problems 1, 2 and 6 the traveling costs between the
(ii) the computational time, for the same number of customers are provided. In all remaining problems the
customers, increases as the capacity parameter increases; coordinates of the customers are provided and the traveling
and (iii) the solution cost and the computational time, for costs have been calculated by the Euclidean formula,
the same value of the capacity parameter, increase as the without rounding or truncation. Since both heuristics
number of customers increases. The last result does not cannot handle a route distance constraint, this constraint
always hold for the solution cost of problems with non- has been eliminated from problems 3±5 and 7. The results
Euclidean traveling costs solved by the ®rst heuristic are presented in Table 5.
method.

Table 3 Customer exchange: Solution value

Capacity parameter (a)

0.00 0.25 0.50 0.75 1.00


Number of customers (N) 10 393.896 311.993 260.305 265.967 238.378
20 767.735 460.023 408.582 420.506 378.364
30 1099.646 584.546 503.074 506.672 471.113
40 1469.237 657.899 593.807 596.086 567.984
50 1764.275 735.294 642.773 672.463 641.545
60 2160.974 811.792 731.957 755.223 725.064
70 2362.903 855.183 802.488 823.511 789.869
80 2897.814 937.935 886.236 922.564 884.931
90 3216.625 969.168 928.207 970.335 950.347
100 3682.980 1018.267 969.771 1035.440 1003.535
D Sariklis and S PowellÐA heuristic method for the open vehicle routing problem 573

Table 4 Customer exchange: Computational time

Capacity parameter (a)

0.00 0.25 0.50 0.75 1.00


Number of customers (N) 10 0.000 0.002 0.000 0.000 0.000
20 0.000 0.000 0.004 0.005 0.005
30 0.000 0.003 0.007 0.019 0.044
40 0.005 0.002 0.016 0.030 0.076
50 0.000 0.024 0.062 0.099 0.258
60 0.008 0.018 0.099 0.176 0.454
70 0.012 0.042 0.167 0.325 0.771
80 0.018 0.041 0.180 0.341 0.891
90 0.019 0.084 0.366 0.719 1.838
100 0.024 0.127 0.543 1.021 2.697

Table 5 Comparison of the methods on literature problems

Heuristic Customer exchange

Problem Number of routes Cost Time Cost Time Difference in solution values (%)
1 2 74.000 < 0.01 74.000 < 0.01 0.0
2 4 179.000 < 0.01 179.000 < 0.01 0.0
3 4 330.011 < 0.01 330.511 < 0.01 0.001
4 3 517.785 0.27 560.482 < 0.01 8.264
5 3 469.480 0.17 469.489 < 0.01 0.0
6 7 824.000 < 0.01 824.000 < 0.01 0.0
7 4 544.479 0.28 565.509 < 0.01 3.862
8 5 488.204 0.22 506.524 < 0.01 3.752
9 10 795.334 0.16 818.592 < 0.01 2.924
10 8 815.042 0.94 815.693 0.05 0.0
11 12 1034.139 0.88 1111.082 0.11 7.44
12 16 1349.709 2.20 1427.483 0.11 5.756
13 7 828.254 1.54 885.412 0.11 6.901
14 10 882.265 0.76 913.986 < 0.01 3.595

We conclude that our heuristic method outperforms the 8 Laporte G and Nobert Y (1983). A branch and bound algorithm
customer exchange heuristic in 8 of the 14 problems. for the capacitated vehicle routing problem. Opns Res Spektrum
5: 77±85.
9 Laporte G, Nobert Yand Desrochers M (1985). Optimal routing
AcknowledgementÐThe authors are grateful to the Commission of the under capacity and distance restrictions. Opns Res 33: 1050±
European Community, Directorate General XII for Science, Research and 1073.
Development for its ®nancial support. 10 Laporte G, Mercure H and Nobert Y (1986). An exact algorithm
for the asymmetrical capacitated vehicle routing problem.
References Networks 16: 33±46.
11 Laporte G, Mercure H and Nobert Y (1992). A branch and
1 Schrage L (1981). Formulation and structure of more complex= bound algorithm for a class of asymmetrical vehicle routing
realistic routing and scheduling problems. Networks 11: 229± problems. J Opl Res Soc 43: 469±481.
232. 12 Lin S and Kernighan BW (1973). An effective heuristic algo-
2 Bodin LD and Golden BL (1981). Classi®cation in vehicle rithm for the traveling salesman problem. Opns Res 21: 498±
routing and scheduling. Networks 11: 97±108. 516.
3 Ronen D (1988). Perspectives on practical aspects of truck 13 Eilon S, Watson-Gandy CDT and Christo®des N (1971). Vehi-
routing and scheduling. Eur J Opl Res 35: 137±145. cle scheduling. In: Distribution Management: Mathematical
4 Desrochers M, Lenstra JK and Savelsbergh MWP (1990). A Modelling and Practical Analysis. Grif®n: London, pp 180±
classi®cation scheme for vehicle routing and scheduling 233.
problems. Eur J Opl Res 46: 322±332. 14 Christo®des N, Mingozzi A and Toth P (1979). The vehicle
5 Sariklis D (1997). Open Vehicle Routing Problem: Description routing problem. In: Christo®des N et al (eds). Combinatorial
Formulations and Heuristic Methods. Ph.D. Thesis, University Optimization. Wiley: London, pp 315±338.
of London.
6 Prim RC (1957). Shortest connection networks and some
generalizations. Bell Sys Tech J 36: 1389±1401.
7 Salford Software Ltd (1996). FTN77 User's Guide. Salford: Received March 1998;
United Kingdom. accepted October 1999 after one revision

You might also like