You are on page 1of 23

Annals of Operations Research 61(1995)21-43

21

A new exact algorithm for the vehicle muting problem based on q-paths and k-shortest paths relaxations
Eleni H a d j i c o n s t a n t i n o u and N i c o s C h r i s t o f i d e s

The Management School, Imperial College, 53 Prince's Gate, Exhibition Road, London SW7 2PG, UK
Aristide M i n g o z z i

Department of Mathematics, University of Bologna, Bologna, Italy

We consider the basic Vehicle Routing Problem (VRP) in which a fleet of M identical vehicles stationed at a central depot is to be optimally routed to supply customers with known demands subject only to vehicle capacity constraints. In this paper, we present an exact algorithm for solving the VRP that uses lower bounds obtained from a combination of two relaxations of the original problem which are based on the computation of q-paths and k-shortest paths. A set of reduction tests derived from the computation of these bounds is applied to reduce the size of the problem and to improve the quality of the bounds. The resulting lower bounds are then embedded into a tree-search procedure to solve the problem optimally. Computational results are presented for a number of problems taken from the literature. The results demonstrate the effectiveness of the proposed method in solving problems involving up to about 50 customers and in providing tight lower bounds for problems up to about 150 customers.

Keywords: Vehicle routing, Lagrangian relaxation, shortest path relaxation, dynamic programming relaxation.

1.

Introduction

T h e Vehicle R o u t i n g P r o b l e m ( V R P ) can b e d e s c r i b e d as the p r o b l e m o f d e s i g n i n g o p t i m a l d e l i v e r y routes f r o m one d e p o t to a set o f g e o g r a p h i c a l l y s c a t t e r e d c u s t o m e r s , see C l a r k e and W r i g h t [7], Gillet and M i l l e r [13], B a l i n s k i and Q u a n d t [1], C h r i s t o f i d e s and E i l o n [6], C h r i s t o f i d e s et al. [4], F i s h e r and J a i k u m a r [11], G e n d r e a u et al. [12]. T h e b a s i c V R P c o n s i d e r e d in this p a p e r is d e f i n e d as f o l l o w s :

J.C. Baltzer AG, Science Publishers

22

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

(i)

A symmetrical graph G = (X, A) is given, where X = {xl, x2 ..... xjv} is a set of vertices (cities, customers) and A is a set of undirected arcs. We assume that the "cost" of the least cost travel from vertex xi to vertex xj is given by cij, and C = [cq] is the cost matrix. The vertex set X includes the depot located at vertex xl. Each customer xi has a requirement qi > 0 (qi integer) that must be supplied from the depot. (We assume ql = 0.) M identical vehicles are given. Each vehicle has capacity Q and is based at the depot. (We assume Q > max[qilxiEX].) The number o f vehicles is assumed to be large enough for a feasible solution to exist. Each vehicle starts and ends its journey at the depot.

(ii)

(iii) Each customer must be visited exactly once and supplied with its full requirement. (iv) The sum of the requirements supplied on a vehicle route must not exceed Q. (v) The objective is to minimize the total route cost (computed as the sum of travel costs of the arcs forming the routes) while satisfying all constraints.

The basic VRP ignores a large number and variety of additional constraints that are often found in real-world problems. The most common side conditions include: (a) (b) (c) (d) Total time restrictions: the duration of any route must not exceed a prescribed time limit. Time windows: a customer must be visited within a prescribed time interval. Precedence relations between pairs of customers. Mixed deliveries or collections on the same route.

Few exact algorithms exist for the solution of the basic VRP; see Christofides et al. [4,5], Laporte et al. [18], Lucena [20], Comu6jols and Harche [8] and Fisher [10]. Some of the best known exact algorithms are surveyed in Christofides [3] and in Laporte and Nobert [17]. To this day, only relatively small VRP instances can be solved to optimality and larger size problems can be solved only for special VRP instances. Optimization of VRPs is increasingly considered to be a more practical approach for real problems than it used to be in the past. This change of viewpoint is the result of the fact that rapidly decreasing computation costs are making higher quality solutions more desirable, even at the expense of more computation. Even if exact algorithms are not run to full optimality, the solutions obtained are likely to be better than what existing heuristics can provide, with an increasing robustness since a bound on the amount by which a particular solution differs from optimality can also be guaranteed. This paper describes an exact algorithm for the basic VRP based on the use of lower bounds that are derived from a combination of two different relaxations

E. Hadjiconstantinou et al., A new exact algorithm f o r the VRP

23

of the original problem. It extends and improves the work initiated in Christofides et al. [4] which derives bounds from q-paths (that is, chains of vertices whose weight is equal to q) and Christofides and Mingozzi [2] which derives bounds from k-shortest paths. In this paper, we present a method for computing higher lower bounds based on an iterative combination of q-paths and k-shortest paths. A set of reduction tests derived from the computation of these bounds is applied to reduce the size of the problem and to improve the quality of the bounds. The resulting lower bounds are then embedded into a tree search procedure, based on a new branching strategy, to solve the problem optimally. The algorithm is tested on a number of problems taken from the literature, as well as some random uniformly distributed new problems. The results show that basic VRPs involving up to 50 customers can be solved exactly and tight lower bounds for VRPs involving up to 150 customers can be obtained. 2. Problem formulation and relaxation

We give below a set-partitioning formulation for the basic VRP that was initially introduced by Balinski and Quandt [1]. Let R = { 1, 2 ..... ~ } be the family of all possible feasible routes in the VRP. Let the index set of the customers in route r be Nr, the cost of the route be dr and the total load of the route be Qr ~,i~Nrqi" Let M/be the index set of routes visiting customer xi and Yr, a 0 - 1 binary variable whose value is equal to 1 if and only if route r is used in the optimal solution. The problem can then be formulated as follows:
=

(VRP)

Minimize

~ dr Yr
rER

(1)

subject to

~ , Yr = 1,
rE M i

i = 2. . . . . N,

(2)

~_~ Yr = M ,
r~R

(3) r E R. (4)

Yr E {0, 1},

Constraints (2) express the fact that every customer must be served by exactly one route. Constraint (3) expresses the fact that the number of vehicles used is fixed a priori and is equal to M. There are two main difficulties associated with this formulation: (i) the large number of binary variables Yr, which can run into millions even for small size problems, and

24

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

(ii) the high cost involved in computing the dr values (by solving a TSP on each set of customers Nr). A lower bound to the VRP can be obtained by solving the dual of the linear relaxation of problem VRP, that we denote by DVRP, as follows:
N

(DVRP)

Maximize

~ ui + Mu!
i=2

(5)

subject to

~.,
iENr

Ui + U 1 <-- dr,

r ~ R,

(6)
(7)

u i unrestricted,

i = 1. . . . . N,

where ui, i = 2 ..... N, are the dual variables of constraints (2) and ul is the dual variable of constraint (3). It is obvious from linear duality that any heuristic solution to problem DVRP provides a valid lower bound to the cost of the optimal solution of problem VRP. A heuristic solution to problem DVRP is provided by the following theorem. THEOREM A feasible solution u* = (u~, u~ ..... u~,) to problem DVRP is given by:
Ui = q i

Min

-~r l r

E M i

i = 2 . . . . . N and u~ = O,
<

(8)

where d r is a lower bound to the cost of the route r, that is, d r Proof It is sufficient to prove that

dr, r E R.

i~ Nr

E ui
i~Nr

<d r,

rER.

(9)

From (8) we have uT= E


i~Nr

qiMin

-~-Tlr~Mi

, r E R.

(10)

Since dr < dr, for each r E R, we have: Min[~rlrEMi] Therefore, from (10) and (11), we obtain < Qr ' - d
r E M i.

(11)

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

25

or

~N ui* < Z q i - dr , ~r iENr

r E R r E R

(12)

Z u~ < dr Z qi = dr, iENr -- Or iENr

(13)

due to the fact that ~'i~ Nrqi = Or. This proves the theorem. The s e t M i, i = 2 ..... N, can be decomposed into: where Mi = Mi (qi)
U

[]

M i (qi

1) U ... U M i (q) U ... U M i (Q),

(14) (15)

Mi(q) = {rlr ~ M i and Qr = q}.

As far as the computation of u~* is concerned, it is not necessary to know the entire subset Mi(q), but it is sufficient only to identify the route in Mi(q) of minimum cost, that is, ui* = q i M i n [dr~r I r E M i ] =qi -AMin [ ] qi<q~O ] I d r ] r E M in q ) M i ( q (16)

If we denote diq = Min[dr[ r E Mi(q)], then


U~ = qi M i n

I qi < q < Q l "

(17)

(We assume that diq = ~ if Mi(q) = Q~.) It follows immediately from the theorem that N LB = ~.~ u; (18)
i=2

is a lower bound to the VRP.


3. The computation of lower bounds to the VRP: LB1 and LB2

Christofides et al. [4, 5] give a dynamic programming procedure based on state-space relaxation for computing lower bounds on diq. In this paper, we describe a new method for producing improved lower bounds on d/q that is based on the computation of k-shortest paths and q-paths.
3.1. LOWER BOUND LB 1

3.1.1. q-paths with no loops Let = {1, il, i2..... ik} denote the index set of customers forming a not necessarily simple path from the depot to customer xik and q = y k =1qih the total

26

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

load on this path. will be referred to as a q-path. It is not easy to impose the condition that no vertex on the path is visited more than once, but it is simple to impose the less stringent restriction that the path should not contain loops formed by three consecutive vertices (for example, loops of the form ih_l, ih, ih_l). Let f ( q , xi) be the cost of the least cost path from the depot to customer xi with total load q and without loops, and let p(q, xi) be the vertex just prior to xi on the path corresponding to f(q, xi). Let ~?(q, xi) be the cost of the least cost path, without loops, from xl to x i with load q and with vertex Xk # p(q, xi) jUSt prior to x i on the path corresponding to #(q, xi). Functions f and ~ can now be computed, for a given customer xi and a given value of q, as follows:

f ( q , xi ) =

Vf(q - qi, xj ) + Cfi, / Min xieX\lxl.x~} Ldp(q q i , x j ) + cji,


q-qi>qj

if p ( q - q i , x j ) # x i l otherwise if p(q - qi, xk ) 4: x i 1. otherwise

(19)

~(q, xi ) =

r f ( q - qi, Xk ) + Cki, Min / x, ~ X\{xl.x~ }L~b(q - qi, Xk ) + Cki,


xk # p( q,xi ) q - q l > qk

(20)

Functions f, ~ and p are initialised as follows:

f ( q , xi ) = ~(q, xi ) = f ( q , xi ) = cli; P(q, xi ) = Xl


~ ( q , x i ) = oo

for q # qi, (21) for q = qi.

3.1.2. Minimum cost through q-routes


Let V(q, Xi) be the cost of the least cost route without loops, starting from the depot, passing through customer xi and finishing back at the depot, with a total load q. Such a route will be referred to as a through q-route. ~/(q, xi) must be composed of either the two best q-paths to xi, whose total loads add up to q + qi, or a best path and a second best path to xi whose total loads add up to q + qi. ill(q, xi) can then be computed as follows:

II/( q, xi ) [f(q',xi)+ f(q+qi-q',xi),, q if p(q', x i ) ~ p(q + qi - q', xi ) ]

=qi<q,M~i~+q,)| [ f ( q , X i ) + ~ ( q + q i - q ,xi))] otherwise " /Mini L L~p(q',xi)+f(q+qi - q ' , x i

(22)

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

27

3.1.3. Computation of bound LB1


It is quite clear that the cost ~(q, xi) can be used as the lower b o u n d diq in (17) to derive the values of u~ which can then be substituted into expression (18) to produce the lower bound LB1.

3.1.4. Improving bound LB1 by Lagrangian ascent


In this section we give a procedure for improving bound LB (here referred to as LB1). The solution corresponding to LB can be obtained by backtracking using recursions (19) and (20). For every value u 7 we can find the q-route Gi of load qT, where q~' is the value of q producing the minimum in the expression
Min r~(q-'xi)l qi~q<QL q J"

The union of routes G i, i = 2 ..... N, represents graph G I. Since some of these routes are not simple and not necessarily pairwise vertex disjoint, the resulting graph G j may contain vertices with degrees with respect to G l greater than 2 and some vertices with degrees less than 2. Let t~j/ be the degree of customer xj with respect to Gi. Then, dj, the "total weighted degree" of customer xj with respect to G l, is given by: N dj = t~j q---~-~. (23)
i=2
qi

If the degree dj is equal to 2 for a l l j = 2 ..... N, then the solution represented by G 1 is a feasible solution to the VRP; otherwise, we apply the following penalty procedure to improve bound LB1. Let us place Lagrangian penalties hi, i = 2 ..... N, on each vertex xi depending on the degree di of vertex x i which produce the modified cost matrix [c b] given by C~ ---- C/j "k- h i q" ~l,j. (24) The functions f, ~ and ~ can now be computed for the new matrix [c] resulting in a new lower bound to the VRP. Let this bound be denoted by LB 1(~). We must note that the optimal solution of VRP is invariant under expression (24) since this cost transformation simply adds a constant t e r m 2]~ i it,i to the value of the objective function in the VRP formulation. Hence, the best possible lower bound LB 1 to the VRP is given by: Max [LBI(;t)]. ;t The computation of the X's can be performed iteratively using subgradient optimisation (see Held et al. [15]) by noting which degree constraints in graph G 1 are violated by the solution corresponding to bound LBI(~). The procedure performed to maximize the lower bound LB 1(/1,) is now described.

28

E, Hadjiconstantinou et al., A new exact algorithm for the VRP

Step 1. (Initialisation). Set the best lower bound z ~ = 0. Let z~s be the value of the best known feasible solution to the VRP so far. Step 2. Set iteration h = 1; gi = 0, i = 1..... N. Step 3. Compute functions f, ~ and p using expressions (19)-(21) and function using (22). Step 4. Let LBI(~) = ~ Min [ V(q-' xi)] q, ~N i=2 qi<q<Qk q -2i=2'~i provide a lower bound on the value of the solution to the VRP. If z ~ * < LBI(~), set ZLB = L B 1 (~.). If Z ~ > Zbn or if h = maximum number of iterations allowed, stop. Else, h=h+l and go to step 5. Step 5. If the degree di of vertex xi with respect to graph G l is 2 for all i = 2 ..... N, stop ( z ~ is the best lower bound that can be obtained by this procedure). Otherwise, compute penalties:
(zbB - LBl(;t)) )~i = 2i + fl ~ .... ~,2 (di - 2),
E j =2 ( d j -

2)

(25)

where fl is a constant step size. Step 6. Modify the cost matrix [c/j] using cij = c/j + ~,i + ;Lj. Go to step 3. At the end of the ascent procedure, _~* denotes the value of the penalties which produce the best lower bound:
N i=2 N

LB1 = u; - 2 X '~'"
i=2

(26)

In our computational work, we used the fact that the costs are non-negative. If some of the c b given by (24) are negative, then we adjust the corresponding multipliers by ,~,i= ~,i + 0.5, where
e=Max[[c/j +~,i + 2 j j : ( x i , x j ) E A

and c o + Z i +~,j < 0 ] .

3.1.5. Arc exclusion tests based on bound LB1

Let us consider two customers xi and xj and suppose that arc (x i, xj) is in the optimal solution. Let ~ ( q , x i, x j ) denote the cost of the least cost through q-route with load q that includes arc (xi, xj). This route is composed of two q-paths: a path p1 from xl to xi of load q' and a path p2 from xj to xt of load q - q'. Then the cost ~ ( q , xi, x j ) of this q-route is given by

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

29

~(q, xi, x) ) f(q', xi ) + f(q - q', xj ) + cb ,


=

if p(q', xi ) ~ p(q - q', xj )1,

qi~q'<q-qj

Min

f(q,, xi) + O(q ] otherwise [Min[t~(q,xi,+f(q_q"xj'+cb


q,,xj)+c b '

(27)

where functions f and 0 are computed using the modified cost matrix [cO] as described in section 3.1.4. Hence, if arc (xi, x)) is in the solution,

I:1=
k~i,j

u~+

Min f - ~ , . ' l /s. ~ ,(x j,) | ( q i + q j ) _ 2 ~ / ] , z q


q>qi+qJ L q ] k

(28)

is a lower bound on the optimal solution. Thus, if Vl > Z~m, it follows that arc (xi, xj) cannot be in the optimal solution and can be removed from the set of arcs of graph G.
3.2. LOWER BOUND LB2

The costs c/j = c o + 2i + 2j, obtained at the end of the computation of bound LB1, expression (26), are used as the initial costs for the computation of bound LB2.

3.2.1. k-shortest simple paths


Let ~Pik= {p/l, pi2..... p/k} be the ordered family of the k-shortest (i.e. k least cost) paths from xl to xi, for a given xi and a given value of k. We write P[ to refer to both the path itself and the index set of customers forming the path, including the depot; the meaning will be obvious from the context. We assume that the paths in Pik are numbered 1.... ,k, where k = IP kl, and ordered in non-decreasing value of cost. Let g(P[) and h(P[) be the cost and load of a path P[ ~ Pik, respectively. We assume that each path P[ satisfies the vehicle capacity constraint, i.e.
h(Pi r) =

Z qJ jE~"

< Q"

It is implicit in the above definition of k-shortest paths that, for a given customer xi, it is not necessary to generate the entire subset of paths in Pu, passing through the same set of vertices S = {xij, xi2..... xi,}, but it is sufficient to know only one path in Pik passing through S, that is, the path of minimum cost.

30

E. Hadficonstantinou et al., A new exact algorithm for the VRP

The algorithm described in Katoh et al. [16] is used for computing :Pik for a given customer xi and a given value of k. Details of the computation of :Pik and suitable implementational aspects can be found in Hadjiconstantinou et al. [14].

3.2.2. Minimum cost elementary through k-routes


Let gt'(q, xi) be the cost of the least cost elementary r o u t e Riq starting from the depot, passing through xi and finishing back at the depot with a total load q. Such a route will be called a through k-route. It can be decomposed into two internally disjoint simple paths going from x~ to x i whose total loads add up to q + qi. These two paths are not necessarily in Pik, since, for a chosen value of k, the cost of either one or both can be greater than the cost of the kth shortest path Pik E Pik. We can identify two possible situations: Case A. Let PF and pb denote the two simple paths comprising r o u t e giq. Assume that at least one of these two paths is not in Pik- Without loss of generality, let us assume that g(P[') < g(Pib). Then,

g( Pi'~) + g( Pib ) > g( Pi1) + g( Pik )


since g(P2) > g(Pli) and g(Pib) > g(Pik). Hence,

gl ( giq ) = g(p/1 ) + g( pik )

(29)

provides a valid lower bound on the cost of the elementary r o u t e Riq. An additional lower bound g2(Riq) o n the cost of r o u t e Riq, which is expected to be better than gl(Riq), is derived by considering the load of each path p/a and pb. This lower bound is obtained from the minimum cost combination of q-paths and k-shortest paths in the way explained below. Since, for any customer xi, the paths in Y'ik are ordered in non-decreasing value of cost, the first path P{ E ~Pik with load q', if it exists, represents the minimum cost simple path from xl to xi having load q'. If Pir does not exist in :Pik, then a lower bound on the minimum cost of such paths is given by g(pik). Using the above result, a route through xi of load q must be composed of either (i) the two best q-paths to xi, without loops, whose total loads add up to q + qi,
or

(ii) a q-path to xi without loops and a simple path in 7;'ik such that their total loads add up to q + qi. Let Pig (q) C_ Tik be the subset of all paths in Pik with load q, i.e.

Pik(q) = { P t P E Tik and h(P) = q}.

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

31

Thus, we have:

g2 (Riq) =
Max f(q',xi ),l P~'a(q')

qt~q'<l(q+q~)

Min

Lg(P/),

otherwise
"

[ . Min [g(P)], ifPik(q+qi 0" Max f ( q + qi - q', xi ), t e ~1,~<q+qt-q') - q') ~ Lg(Pik ), otherwise

Case B. If both simple paths comprising r o u t e Riq are in Pik, then

(3O)
(31)

g3 ( Riq )

Min [g(p/s) + g ( P / ) l h( PZ ) + h( P/ ) = q + qi ] eZ, e/'~ik el h e / = {i,il

is the cost of this route. Thus, in all cases, for given values of i and q

I/r'(q, Xi ) = M i n [Max [gl (Riq), g2 (Riq)], g3 (Riq)]

(32)

is a valid value o f diq. Using expressions (22) and (32), a better valid value of diq is: diq -----Max [~(q, xi ), ltt'(q, Xi )]. (33) These values o f diq can be used to compute values for u~. which in turn can be used to compute the lower bound LB of section 2. 3.2.3. The computation o f LB2 A bound LB2 on the VRP can be computed as the bound LB, expresssion (18), using values u~ obtained from expressions (17) and (33). 3.2.4. Improving lower bound LB2 by Lagrangian ascent For every value u~, i = 2 ..... N used to compute LB2, we can find - by backtracking - the route G[ of load q~, where q~ is the value of q producing the m i n i m u m in the expression

qi<q<Q

32

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

Let G 2 denote the graph obtained from the union of all routes G: for i = 2 ..... N, in a similar way that graph G I was obtained after the derivation of bound LB1 and let dj be the "weighted" degree of vertex xj computed with respect to graph G 2 using expression (23). In a similar way to that of section 3.1.4, we can improve LB2 by Lagrangian iterations involving (for each value of ~) a recomputation of both kshortest paths and q-paths, based on a new cost matrix [c~)], in order to recompute the correct values of d/q in expression (33) and hence u~ and LB2 from equations (17) and (18), respectively. 3.2.5. Arc exclusion test based on bound LB2 Reduction tests, similar to those based on bound LB1, can also be derived from the computation of bound LB2. We assume that the original graph G has been reduced by applying the reduction of section 3.1.5 and let us again consider two customers xi and xj. Let Cl/(q, x i , x j ) denote the cost of the least cost elementary route, say Rijq, with load q that includes arc (x i, xj). This route can be decomposed into two vertex-disjoint elementary paths: path P/~ going from xl to xi and path pjb going from xj to xl, such that h(P[~) + h(Pjb) = q and pa fq pyb = { 1 }. For a given value of k, paths p/a and pjb may not be in Pik or Pjk, respectively, since the cost of either P/~ or pjb or both can be greater than the cost of paths p/k or pjk, respectively. Considering the load of each path pa and pjb, we can compute a lower bound gl (Rijq) on the cost of r o u t e Rij q by deriving the minimum cost combination of a path going fro m xl to xi (with load q') and a path going from xl to xj (with load q - q'). Let ~'i~(q) C Tik be the subset of all paths in Pik with load q that do not pass through a specific customer xj, i.e.

Pi~ (q) = {PIP E Tik, j ~ P,h(P) = q}.


Then, gl(Rijq) = where Min [Max[Diq,,Fiq,]+Max[Gjq,,Hjq,]]+c:~, qi<q'<q-qj if p ( q ' , x i ) ~ xj or (34)

Diq' = f ( q ' , xi ),

p ( q ' , x i ) ~ P* such that P*~ Pjk(q - q') ~ f~ and

g(e* ) =
= ( q ' , xi ),

Min [g(P)], P ~'~jk(q-q') or

otherwise; ifp(q-q',xj)~xi

Gjq, = f ( q - q', x j),

p(q - q', xj ) ~ P* such that P* ~ P/~ (q') ~ O and g(e*)= = (q - q', xj ), otherwise; Min [g(P)], PcPiJk(q')

E. Hadjiconstantinou et al., A new exact algorithm for the VRP


~j , if ~ ( q ) g O, otherwise;

33

F/q, =

Min. [g(P)], e ~i~ (q')

= g(p/k ),

Hjq, = P~1"jkMin(qq,)[g(P)], if Pit (q - q') ~ O,


= g(P~ ),
If P~ ~ 7:'ik and pjb ~. Tjk, then otherwise.

g2(eijq)

Min

[g(p/s) + g(p])lh(PiS) + h(P]) = q] + c[~

(35)

~'np] --Ill
is the cost of route Rqq. Thus, in all cases, for given values of i, j and q:

Cg(q, Xi, Xj

) =

Min[gl ( Rijq ), g2 ( Rijq )].

(36)

If arc (xi, xj) is in the optimal solution, then

V2 = LB2 - u/* - u~ +

Min q>qi+qj

F0(q, x;, xj)].


-2 q

Itqi + qj) J

(37)

is a lower bound on the optimal VRP solution. Note that in (37) one is replacing the contribution to bound LB2, derived from customers xi and xj, by a lower bound on their contribution, given that a vehicle goes directly from xi or xj (or vice-versa) on a least cost route. Thus, if 1/2 > zvB, it follows that arc (xi, xj) must not be in the optimal solution and can be removed from graph G.
4. The branch and bound

Let ~ be the best lower bound on the value of the optimal VRP solution, computed from LB 1 and LB2 as described in section 3, and z~8 the cost of the best known upper bound, corresponding to a feasible solution, which is either obtained from the literature or computed using a heuristic algorithm. If these two values do not coincide, a branch and bound procedure is required for solving the VRP. The computational results shown in section 5 were derived by using the branching strategy described in the next section.

34

E. H a d j i c o n s t a n t i n o u

et aL, A n e w exact algorithm f o r the V R P

4.1.

DESCRIPTION OF THE TREE SEARCH PROCEDURE

The state at each node a in the tree search is represented by a set F(tx) of fixed routes starting and finishing at the depot, a partial route T(tx) starting at the depot and finishing at some customer xi and a set S ( a ) of arcs that are forbidden to be in T ( a ) . In this section, we will use the word "route" in exactly the same way that it was used throughout the paper, that is, to imply the ordered set of customers forming the route. In a branching step from node a, an elementary route {xl, xi~, xi~ . . . . . xi,, x l } is chosen for branching that produces disjoint subproblems as follows: For problem Pa~ set
Cli t = 0%

For problem Pa~ set clii = - M and ciji2 = 00, For problem Pa3 set cli~
= c i l i 2 -~ -

M and

Ci2i3 :

oo,

For problem Pa, set Cli~ = ci~i2 . . . .

= Cik_2ik_l =

- M and Cik_~ik = ~ ,

For problem Pa,.2 set clil = ciji~ = ... = ci, l = - M , where - M is a large negative number to ensure that the arc whose cost is equal to - M is in the VRP solution. With this branching rule the subproblems are certainly disjoint since for any two subproblems there is at least one arc excluded from the solution in one, and which is definitely included in the solution in the other subproblem. At a given node ak, k = 1..... n + 2 descending from node a, the partial route T(Otk) represented by the set of customers {xl, Xil, X i 2 . . . . , xi~_~} in the corresponding subproblem Pak such that C l i ! = Ci, i2 = . . . . Cik_2ik_, = -- M and the set of arcs S ( a k ) is given by S ( a k ) = S ( a ) U {xik_l, xi~}, where Cik-~ik = ~ in the same subproblem. The state at node tzn2, corresponding to subproblem Pa~2, is represented by T(ctn 2) which, in this case, is a complete route that can be added to the set of fixed routes so that F ( a , + 2 ) = F ( a ) (.J T ( a , + 2 ) . At each node a of the tree, we calculate a lower bound LB1 (LB2 is too expensive to compute at every tree node so it is only computed at the root node) on a feasible extension of the partial solution characterized by F ( a ) , T ( c t ) and S ( c t ) , performing a fixed number of iterations of the ascent procedure described in section 3.1. The initial set of penalties used at node a is given by the values ~.* of the penalties associated with the best lower bound found at its parent node. The branching rule we employ at node a is to select for branching a route obtained during the lower bound calculation which, if it is not elementary, is modified accordingly using a heuristic. The route chosen is the one through an "isolated" customer far from the depot or through a customer that has a large demand.

E. Hadjiconstantinou et aL, A new exact algorithm for the VRP

35

It is quite apparent that the smaller the number of branching possibilities in the tree, the more efficient the tree search. It is, therefore, computationally desirable to incorporate various reduction tests at each tree node which are derived either from the branching procedure or the computation of the lower bound. For example, the arc exclusion test described in section 3.1.5 and derived from the computation of LB 1 at node tt is applied in order to reduce further the size of the subproblem solved at this node. Additional tests are described in the next section. The tree search described above is implemented using a breadth-first strategy in which the next branching occurs from the tree node whose lower bound LB 1 is smallest.
4.2. REDUCTION AND DOMINANCE TESTS

There are some simple dominance fathoming tests that could be used to eliminate nodes of the branch and bound tree. (i) At some node a where a partial route T(a) is completed, if it could be shown that the remaining free vehicles are not capable (because of insufficient capacity) of supplying the unrouted customers, the node can be fathomed.

(ii) At some node a if a partial route T(a) can be improved by a 3-optimal local optimization procedure (Lin and Kernighan [19]), the corresponding node can be fathomed. (iii) The Lagrangian problem that has to be solved at a tree node a can be somewhat tightened by adding the following restriction: if qj + 2
qi > O for some xj ~ T(a), then set cij = oo for all xi ~ T(a). x~e T(a)

(iv) The tree search can be made more efficient by applying the following: By removing all vertices in the set of fixed routes F(a) from the subproblem corresponding to node a and all other subproblems obtained at the nodes emanating from a, the size of the subproblems solved can be reduced, thus resulting in higher lower bounds.

5.

Computational results

The algorithm described in this paper has been coded in FORTRANand experimentally evaluated on 25 test problems which contain between 15 and 150 customers in addition to the depot. All computations were performed on a Silicon Graphics Workstation Indigo R4000 and the results are displayed in tables 2(a) and 2(b). All problems are planar, that is, customers are located at points in the plane and cij is the Euclidian distance between vertices x i and xj. The cq were computed as single precision real values by first multiplying the distances by a factor of 10000

36

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

Table l(a) Test problems taken from the literature. Problem 1 2 3 4 5 6 7* 8" 9" 10 N 15 20 25 30 35 40 50 75 100 150 M 5 6 8 9 I1 14 5 10 8 12 Q 55 58 48 68 67 60 160 140 200 200 U = ~,~=2q~l(Q. M) 0.93 0.95 0.96 0.96 0.95 0.05 0.97 0.97 0.91 0.93 Details Customers I to 15 of problem 7 Customers 11 to 30 of problem 7 Customers 16 to 40 of problem 7 Customers I to 30 of problem 8 Customers t to 35 of problem 8 Customers 1 to 40 of problem 8 The 50-customer problem The 75-customer problem The 100-customer problem Adding all customers of problems 7 and 9 with the depot location as in problem 9

"Source for test problems: Eilon et al. [9]. Table l(b) Randomly generated problems. Problem 11 12 13 14 15 16 17 18 19 20 21 22 23 24
25

N
20 20 20 20 20 25 25 25 25 25 30 30 30 30
30

M
6 5 5 5 6 6 8 8 8 7 6 7 8 7
I0

Q
55 75 72 73 59 73 56 58 56 73 92 89 66 69
54

U= ~,#i=2qil(Q. M)
0.93 0.83 0.90 0.97 0.97 0.96 0.99 0.96 0.93 0.93 0.96 0.95 0.93 0.95
0.90

and then r o u n d i n g t h e m to the nearest integer. O u r p r o b l e m s o m i t time c o n s t r a i n t s and h a v e c a p a c i t y restrictions only. To obtain tightly c o n s t r a i n e d p r o b l e m s , the fleet size for each p r o b l e m was r e d u c e d to the m i n i m u m n u m b e r o f vehicles that c o u l d feasibly deliver the c u s t o m e r orders.

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

37

Table 2(a) Computational results for test problems of table 1(a).


Prob. N ZuB (a)

Zt~

Gapl (%)

Gap2 (%)

AE (%)

Timel SG Indigo R4000 minutes

Zorr

Nodes

Time2 SG Indigo R4000 minutes 0.49 0.66 0.02 7.88 3.35 19.99 129.98 -

1 15 2 20 3 25 4 30 5 35 6 40 7 50 8(c) 75 9(c) 100 10(c) 150

334.96 o) 326.92 430.880) 430.88 (b) 630.76 (2) 621.73 (b) 0~ 597.18 ~ 694.89 -0 852.24 524.61 (3) 516.61 835.26 ) 815.31 826.14 (3) 792.42 1028.42(3) 1000.07

2.40 0.00 0.00 2.10 0.53 1.10 1.52 2.38 4.08 2.75

2.67 0.02 0.00 2.40 0.85 1.32 1.87 2.70 4.55 3.34

40.8 0.40 90.5 0.66 1 0 0 . 0 0.02 32.9 0.63 74.0 2.42 58.2 3.38 48.8 1.89 22.0 7.40 0.0 33.70 0.0 92.80

334.96 37 430.88 1 621.73 1 610.0 1414 698.60 155 861.79 3438 524.61 3031 -

Ca)Sources for upper bounds: It)The difference between the values shown in this table and the optimal values published in Christofides et al. [4] for these problems is due to the fact that in the 1981 paper, the costs cl/ were computed as real values with an accuracy of one decimal point compared to four decimal points used in our paper. (2)The Tabu Search Heuristic described in Gendreau et al. [12] was used to compute this upper bound. (3)Taillard [21]. (b)Optimal solution obtained at the root node. (e)Only the bound computation at the root node was performed for these problems. Hence, the Gap 1 (%) is computed between Z ~ and the value of the best known feasible solution Zva. T h e data for the first ten p r o b l e m s are g i v e n in Eilon et al. [9]. P r o b l e m s 11 to 25 are r a n d o m u n i f o r m l y distributed new p r o b l e m s g e n e r a t e d as f o l l o w s : the x and y c o o r d i n a t e s o f each c u s t o m e r xi were generated by s a m p l i n g t w o integers f r o m the u n i f o r m distributions [5, 60] and [10, 70], respectively. T h e i n t e g e r c u s t o m e r d e m a n d s qi were generated f r o m the u n i f o r m distribution [5, 30]. All these r a n d o m l y generated p r o b l e m s used the same d e p o t location as in p r o b l e m 7. Tables l(a) and l(b) p r o v i d e i n f o r m a t i o n on the test data for all problems. U m e a s u r e s the tightness o f the vehicle c a p a c i t y constraints, U = Y.~=2qil(Q M ) . All p r o b l e m s are tightly constrained. P r o b l e m d e m a n d is 9 4 % o f vehicle c a p a c i t y on average. Tables 2(a) and 2(b) s h o w the f o l l o w i n g c o l u m n s : ZuB C o s t o f the best k n o w n feasible V R P solution either o b t a i n e d f r o m the literature or using a heuristic algorithm.

38

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

Table 2(b) Computational results for test problems of table l(b). Prob. N

Zun~~

ZLB

Gapl (%)

Gap2 (%)

Timel SG Indigo R4000 minutes 0.10 0.16 0.12 0.11 0.09 0.20 0.28 0.46 0.27 0.18 0.39 0.53 0.88 0.31 0.85

Zoer

Nodes

Time2 SG Indigo R4000 minutes 2.72 8.16 0.46 0.66 1.46 10.08 0.84 0.90 3.39 9.26 24.40 5.06 250.11 88.17 5.79

I1 12 13 14 15 16 17 18 19 20 21 22 23 24 25

20 20 20 20 20 25 25 25 25 25 30 30 30 30 30

377.69 379.62 300.53 468.17 491.61 468.69 484.59 552.06 440.49 428.12 445.15 490.05 481.09 500.13 608.93

355.75 356.66 294.19 432.76 414.03 433.22 470.23 546.47 427.50 405.86 427.93 482.70 452.04 467.03 583.64

5.80 6.04 2.10 1.73 7.48 4.12 2.69 1.01 2.22 2.54 3.86 1.49 5.35 4.83 1.70

6.20 6.35 2.18 2.23 8.77 4.58 2.95 1.83 2.53 2.88 4.10 1.78 6.49 5.t3 2.79

377.69 379.62 300.53 440.38 447.54 451.86 483.25 552.06 437.25 416.44 445.15 490.05 477.63 490.77 593.75

1141 2411 I76 64 314 1246 113 141 804 1559 1798 397 32918 8460 683

c*) Upper bounds for these problems were obtained using the Tabu Search Heuristic described in Gendreau et al. [12].

Zt~

T h e best l o w e r b o u n d obtained at the root node using LB1 and L B 2 as described in section 3.

G a p l (%) T h e gap b e t w e e n Zt~ and Zopr, that is,

(Zoer-Zt~)/Zoer.

G a p 2 (%) T h e gap b e t w e e n the l o w e r b o u n d Zq, obtained f r o m the c o m p u t a t i o n o f q-routes as described in Christofides et al. [4], and Zoe r, that is,

( Z o e r - Zq)lZoer.

AE (%) Timel

The percentage of arcs eliminated from the optimal VRP solution using Z ~ (computed at the root node). Time for computing Z ~ in minutes on a Silicon Graphics Indigo R4000. Cost of the optimal VRP solution. Number of nodes in the tree search. Time for finding Zoer (incl. Timel) in minutes on a Silicon Graphics Indigo R4000.

Zoer
Nodes Time2

E. Hadjiconstantinou et al., A new exact algorithm for the VRP

39

Tables 2(a) and 2(b) show that the new algorithm solved 22 out of the 25 test problems optimally within a reasonable time (the set of optimal routes obtained for problems I to 7 are reported in the appendix). We must note that the values of the optimal solutions found for 9 out of the 15 new randomly generated problems, shown in table 2(b), were different from the costs of the upper bounds obtained for these problems using the Tabu Search Heuristic described in Gendreau et al. [12]. Our algorithm was not able to prove that the solutions of problems 8, 9 and 10 are optimal and this is due to the time limitation imposed on the tree search procedure (the time limit was set equal to 12 hours on an SG Indigo R4000). However, the lower bounds obtained for these three problems are very tight, especially considering that we are comparing to the heuristic costs that may be higher than the optimal values ( the lower bounds are within 2.38%, 4.08% and 2.75% of Zun, respectively). From the results shown in tables 2(a) and 2(b), it can be seen that, for all problems, the quality of the bound Z ~ is always higher than that of the bound Zq obtained from the computation of q-routes, Christofides et al. [4]. In fact, the bounds ZLB and Zq are on average 2.79% and 3.22%, respectively, of the best known feasible solution value for all problems. Note that, although on average the value of LB2 is only marginally better than LB1, it was found that the extra computational time for computing LB2 is more than compensated by the decrease in the tree search time caused by the computation of the improved bound. The tightness of the lower bound Z ~ would suggest that on many practical occasions, a currently available solution to the VRP may be guaranteed (by using the bound) to be close enough to optimality without the need to continue the search for an improved solution.

Appendix: Optimal solutions obtained (real distances)

Problem 1: N = 15, Q = 55, Z* = 334.96. Routes 1. 2. 3. 4. 5.

1
1 1 1 I

8
2 7 10 15 12 11

9
4 6 16 5

1
3 1 13 1 1 1

14

40

E. Hadjiconstantinou et at., A new exact algorithm for the VRP

P r o b l e m 2: N = 20, Q = 58, Z* = 430.88. Routes 1. 2. 3. 4. 5. 6. 1 1 1 1 1 1 17 7 2 8 9 16 19 20 3 10 18 15 4 1 14 1 11 12 1 5 13 21 1 6

P r o b l e m 3: N = 25, Q = 48, Z" = 621.73. Routes 1. 2. 3. 4. 5. 6. 7. 8. 1 I 1 1 1 1 1 1 13 18 20 21 24 25 5 4 12 6 16 22 2 19 26 ll 3 9 8 1 14 7 23 17 15 1 1 1 1 I 10 1 1

Problem 4: N = 30, Q = 68, Z* = 610.00. Routes 1. 2. 3. 4. 5. 6. 7. 8. 9. 1 1 1 1 1 1 1 1 1 11 15 8 28 31 29 17 4 5 12 20 14 16 3 23 24 19 27 1 9 30 21 7 2 25 26 18 1 22 6 1 1 13 10 1

E. Hadjiconstantinou et aL, A new exact algorithm for the VRP

41

P r o b l e m 5: N = 35, Q = 67, Z" = 698.60. Routes 1. 2. 3. 4. 5. 6. 7. 8. 9. I0. 11.

1
1 I 1 1 1 1 1 1 1 1 26 28 29 30 31 13 33 34 27 36

20 19 14 23 6 3 32 10 17 35 12

15 25 16 2 22 7 11 1 18

1
4 21 24 1 1 1 1

5
8

1
1

P r o b l e m 6: N = 40, Q = 60, Z* = 861.79. Routes

1.
2. 3. 4. 5. 6. 7. 8. 9. 10. 1I. 12. 13. 14.

1
1 1 1 1 1 1 1 1 1 I 1 1 1 12 18 26 28 29 3I 33 34 36 37 39 40

5
8 17 19 14 22 6 10 2 15 38 11 32 41

3
1 7 25 20 1 30 1 23 35 21 1 27 13

1
I 24 9 1 1

1
16 1 1

42

E. Hadjiconstantinou et aL, A new exact algorithm

for

the VRP

Problem 7: N = 50, Q = 160, Z* = 524.61. Routes

1. 2. 3. 4. 5.

1 1 1 1 1

33 19 13 12 7

2 14 38 3 15

23 42 45 30 26

21 41 16 22 25

36 20 46 17 44

37 43 34 51 8

4 18 40 35 24

29 5 11 31 49

32 48 50 10 28

27 1 6 39 1

47 I

Acknowledgements

The authors would like to acknowledge the programming assistance provided by Miss Rashida Khalid, who is a research student in the Operations Research Section of the Management School at Imperial College, London.

References
[1] M. Balinski and R. Quandt, On an integer program for a delivery problem, Operations Research 12(1964)300-304. [2] N. Christofides and A. Mingozzi, Vehicle routing: practical and algorithmic aspects, in: Logistics: Where Ends Have to Meet, ed. C.F.H. van Rijn (Pergamon Press, 1989) pp. 30-48. [3] N. Christofides, Vehicle routing, in: The Traveling Salesman Problem. A Guided Tour of Combinatorial Optimization, eds. E.L.Lawler, J.K.Lenstra, A.H.G.Rinnooy Kan and D.B.Shmoys (Wiley, Chichester, 1985) pp. 431-448. [4] N. Christofides, A. Mingozzi and P. Toth, Exact algorithms for the vehicle routing problem, based on spanning tree and shortest path relaxations, Mathematical Programming 10(1981)255280. [5] N. Christofides, A. Mingozzi and P. Toth, State space relaxation procedures for the computation of bounds to routing problems, Networks 11(1981)145-164. [6] N. Christofides and S. Eilon, An algorithm for the vehicle dispatching problem, Operational Research Quarterly 20(1969)309- 318. [7] C. Clarke and J.Q. Wright, Scheduling of vehicles from a central depot to a number of delivery points, Operations Research 12(1964)568-581. [8] G. Cornu6jols and F. Harche, Polyhedral study of the capacitated vehicle routing problem, Management Science Research Report No. 553, Carnegie Mellon University (1989). [9] S. Eilon, C.D.T. Watson-Gandy and N. Christofides, Distribution Management, Mathematical Modelling and Practical Analysis (Griffin, London, 1971). [10] M.L. Fisher, Optimal solution of vehicle routing problems using minimum K-trees, Operations Research 42(1994)626-642. [11] M.L. Fisher and R. Jaikumar, A Generalized Assignment heuristic for vehicle routing, Networks 11 (1981). [12] M. Gendreau, A. Hertz and G. Laporte, A tabu search heuristic for the vehicle routing problem, Report CRT No. 777, University of Montreal (1992), Management Science, to appear.

E. Hadjiconstantinou et aL, A new exact algorithm for the VRP

43

[13] E. Gillet and L.R. Miller, A heuristic algorithm for the vehicle dispatch problem, Operations Research 22(1974)340-349. [14] E. Hadjiconstantinou, C.P.A. Weston and N. Christofides, An efficient implementation of an algorithm for k-shortest simple paths, Management School Research Paper, Imperial College (1995). [15] M. Held, P. Wolfe and H.P. Crowder, Validation of subgradient optimization, Mathematical Programming 6(1974)62-88. [16] N. Katoh, T. Ibaraki and H. Mine, An Efficient Algorithm for k-shortest simple paths, Networks 12(I 982)411 - 427. [17] G. Laporte and Y. Nobert, Exact algorithms for the vehicle routing problem, Annals of Discrete Mathematics 31 (1987) 147-184. [18] G. Laporte, Y. Nobert and M. Desrochers, Optimal routing under capacity and distance restrictions, Operations Research 33(1985)1050-1073. [19] S. Lin and L. Kernighan, An effective heuristic algorithm for the travelling salesman problem, Operations Research 21(1973)498-516. [20] A.P. Lucena, Exact solution approaches for the vehicle routing problem, Ph.D Thesis, Department of Management Science, Imperial College, University of London (1986). [21] E. Taillard, Parallel iterative search methods for vehicle routing problems, Networks 23(1993) 661-673.

You might also like