Transcript
Page 1: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

~, ...........

E L S E V I E R European Journal of Operational Research 83 (1995) 411-429

EUROPEAN JOURNAL

OF OPERATIONAL RESEARCH

Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C 6 s a r R e g o a,*, C a t h e r i n e R o u c a i r o l b

a Universidade Portucalense, rua Dr. Antdnio Bernardino de Almeida 541-619, 42 Porto, Portugal b Universitd de Versailles, 45 Avenue des Etats Unis, 78035 Versailles Cedex 01, France

Abstract

In this paper we describe a two-phase based algorithm for a real-life tank truck dispatching problem. It occurs in a company involved in the transportation of raw materials throughout Europe. In the first phase, the algorithm determines the route sequence using a decomposition method. In the second phase the initial routes are improved using a Tabu search method. The Tabu search procedure is based on specific moves which attempt to improve two or three routes at each step. Here, the basic moves consist of insertions and exchanges of arcs in the graph of the problem. The combination of these moves provides interesting compound moves which make it possible to cross regions of infeasible solutions. Computational results on a set of test problems are reported, and comparisons with lower bound calculations indicate that the proposed algorithm rapidly gives solutions that are on average within 8% of optimality.

Keywords: Combinatorial optimization; Routing and scheduling problems; Tabu search; Compound moves

I. Introduct ion

Real world problems are generally quite different from basic problems dealt with in the literature as the context of the problem and its solution generates a wide variety of constraints. This is indeed the case for a study on the management of a fleet of vehicles carried out for a company involved in the transportation of raw materials throughout Europe.

At the time of the study, the company had some 200 delivery points to which to deliver the raw materials from 7 terminals (pickup points).

An order contains all the necessary information for it to be dealt with (origin, destination and delivery date). The fleet of trucks is subcontracted and may therefore be considered as being globally infinite, though for certain pickup points it may be limited. The trucks are completely unloaded at the delivery

* Corresponding author.

0377-2217/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved SSDI 0377-2217(95)00016-X

Page 2: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

412 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

point. Each delivery point must receive the delivery in the morning and each truck must return to its starting point within two weeks.

Social constraints such as the number of driving hours, rest periods and speed limits must also be taken in account. Thus, the driver may not remain at the wheel for more than 10 hours a day. Also, he must have one rest day after two working days. The average speed of a vehicle is considered to be 90 kilometers per hour.

The customers' monthly orders are irregular and the delivery days are not fixed, but it may be estimated that between 40% and 50% of the orders are known five working days before the delivery date (time between the order and the loading).

A tour consists of covering a series of (origin, destination) pairs from a given starting point. The company therefore wishes to organize the routes for its trucks in such a way as to satisfy the orders. Yet given the random nature of the orders, the routes that are planned must be modified as new orders arrive. It may be advantageous to modify the tour of a particular truck which left on day j if new orders arrive on day j + k. In addition, an order may be shifted, brought forward, or cancelled the day before delivery. The company may also wish to modify a route at a given moment.

The distance between the pickup points and delivery points is on average between 400 and 600 kilometers but may vary greatly within a range of 2 to 2000 kilometers depending on the factory and the period. It may be worthwhile to pay compensation for a day's delay and keep a truck off the road if by doing so it allows a new route to be worked out which reduces the deadheading time. The management system must therefore offer routes with certain rest days.

The present organization is based on a manual system. The aim of this study is therefore to propose an algorithm able to generate suitable routes while taking the company's constraints into account. Moreover, this system must be able to integrate additional constraints in the future and so the algorithm must be designed to make their insertion as easy as possible.

The remainder of this paper is organized as follows. In Section 2 we define the problem more precisely. Section 3 describes a two-phase algorithm. The first phase uses a decomposition method and the second phase is based on a Tabu search approach. In Section 4 a lower bound for the problem is described. Computational results are reported in Section 5, and the conclusion follows in Section 6. Finally, we also provide in the Appendix an illustrative example for tracing the running of the algorithm's second phase.

2. Problem definition and notation

Quite naturally, we associate a directed multigraph G = (V, A) to the problem. We define V = ~ U V c where V, = {v I , v 2 . . . . , v,,, } is the set of origin nodes (pickup points) and V~ = {v I , v 2 . . . . . vnc} that of destination nodes ('delivery"points). The arcs of the graph A = A c u A v are madeCof tlae trips (from a pickup point to a delivery point) with fully loaded trucks, corresponding to the orders, A c =

{(vku, vt )[ v~ u ~ Vu, Vl ~ Vc} and those (from a delivery point to a pickup point) with unloaded trucks, A v = {({lc , Uku)[ Ulc E ~/c, Uk u ~ Vu}" A cost matrix D = (dlck), representing distances between delivery and pickup points is associated with A.

The company has a fleet of t vehicles based at a number of starting points. All the starting points are the pickup points.

For each (origin, destination) pair, we associate one or several orders. We denote by Ok(j) the order of index k to be delivered on day j.

A solution S is defined by a set of routes R1, R 2 . . . . . R . . . . . . R t with R r = { v k , vtc, Vp , . . . . Vqc, v k } . A route may be made up of a set of subroutes if a vehicle returns several times to its starting point.

Page 3: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

c. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 413

Solving the problem, therefore consists of determining the set of routes (sequences of orders) of minimum cost such that: a) each vehicle leaves from its starting point, satisfies a set of orders and returns to its starting point

within a period of time belonging to a given interval [_0, 0], of range 0; b) each vehicle is completely unloaded at a delivery point; c) each order is delivered by one vehicle; d) for a given day, a delivery point is visited within a fixed time interval [_~, g] of range t5 (assuming t~ to

be a fixed time interval that is not large enough for a vehicle to serve more than one delivery point per day);

e) to each vehicle is associated an average speed, and the total distance covered in a day may not exceed a bound L. This problem is a combination of routing and scheduling problems and can be classified as a

multi-terminal and dynamic truck dispatching problem with full loads. The term routing refers to planning the route that each vehicle will take, and the term scheduling refers to planning the time when each route should take place. Here, trucks are based at several terminals and every pickup (order) is a full load. Since each order is transported directly from a pickup point to a delivery point, this problem obviously involves precedence constraints. In addition, time window constraints must be considered in order to respect the specified delivery time intervals. The term dispatching covers both routing and scheduling, and is concerned with the allocation of vehicles for servicing customers requesting immediate service. The dispatching problem is termed static if all demands are known in advance, that is before any routing or scheduling is carried out. In contrast, if all the demands are immediately considered, then routing and scheduling are done in real-time and the problem is termed dynamic.

The problem in question is an extension to the generic routing and scheduling problem with full loads (see Bodin and Golden [5] and Bodin et al. [6] for a survey in routing and scheduling problems).

Due to the inherent difficulty of the truck routing and scheduling problems, pure exact solutions algorithms are out of the question for even simplified versions of any practical size. To our knowledge, very few published papers deal with the scheduling and dispatching of tank trucks. For instance, Brown et al. [7], Bell et al [4], Brown and Graves [8] and Golden and Assad [17] have developed optimization with embedded heuristics. Typically, these algorithms use optimization with some heuristic rules in order to reduce the computational complexity. However, these methods are still limited as concerns providing good solutions to real-life problems, unless the problem has special characteristics. Thus, heuristic methods are necessary to provide satisfactory solutions to practical truck routing and scheduling problems. In Ball et al. [2], a 'bang-for-buck' objective was specified by management. A greedy insertion procedure and two algorithms based on route-first cluster second approaches were proposed. With respect to the bang-for-buck objectives the greedy algorithm outperformed the other two. However, all these algorithms found solutions of a given quality with respect to the objective of minimizing total transportation costs.

All these problems differ significantly in their characteristics and objectives. Our purpose is to describe a two-phase heuristic algorithm based on Tabu search to solve the version

of the problem described above.

3. A two-phase algorithm

In this section we present a two-phase algorithm to solve the problem defined in Section 2. In the first phase the algorithm determines an initial feasible solution S using a 'decomposition

method' (decomposition refers to solving a sequence of treatable small problems, the output of one being the input of the next, see Ball and Magazine [3]). This method progressively builds routes for each day.

Page 4: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

414 G. Rego, G. Roucairol /European Journal of Operational Research 83 (1995) 411-429

In the second phase the cost F ( S ) of the solution obtained in first phase is reduced by an iterative 'improvement method'.

3.1. Phase 1: Route construction

In this phase, the algorithm solves a succession of transportation problems (TP) to determine a set of

feasible routes.

Day | j j + 1

Origin J 1 2 2 3 3 1 1 2

Destination a b c d e a e b

DATA

+-++:++ --+iI . . . . ++' 3 / 1 1 1 2 1 1 3 1 2 3 3

C | b c d_ a b e a e d a d

I= orders for day j + k

.l',,- orders for day j + k + 1

l= deadheading

=.... return or link to day j + k + 2

( i ) starting point

] pickup point

Q delivery point

Q dummy point

ITERATION 1 ( k = 0 )

( i ~ f (2)

(3)

origin destination

1 1

1 1

1 1

ITERATION 2 ( k = I )

origin destination

/ - ~ . . . . - - % ~ = . _ ~ _ . . . . . . (a) t t

"~ ~ , . ~ ~ ~ (3,el day j

(3)

Fig. 1. Example of running of Phase I: iterations 1 and 2.

Page 5: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 415

Let G~ = (V/, A}) be a complete bipartite graph representing the orders for two consecutive days. We first consider that the set of nodes is made up of delivery points served on day j and the pickup points supplying the orders for day j + 1, thus Vs-'= Vs.'+ ~, u V/.

We must therefore choose the route in such a way as to minimize the total cost of transportation, thus solve a TP where the supplies (origins) are the nodes V£ and the demands (destinations) are the nodes

v/+ 1o.

3.1.1. Canonical problem Let a i be the number of orders for delivery (on day j ) to destination i, and b k the number of orders

for day j + 1 leaving from origin k. The TP will be termed canonical if the number of orders for day j is equal to that of day j + 1:

Y'.a i = Ebl,. We denote by cik the transportation cost of supplying delivery point i from pickup point k, p the

number of pickup points and q the number of delivery points. The problem can therefore be formulated as follows:

(TP)

minimize E ECikXik (1) i k

subject to ~ x i k = a i, i = 1 . . . . . q, (2) k

EXik = b k , k = 1 . . . . . p , (3) i

x i k > 0 , i = 1 . . . . . q, k = l . . . . . p. (4)

However, repeating this procedure is insufficient to obtain a solution for a period greater than two days as there is no information about the trips remaining, which does not allow global constraints to be taken into consideration.

Thus, we consider a reformulation of the TP on an embedded graph, where the nodes of V' are made up of the arcs (vku, vie) of A c corresponding to the orders considered for two consecutive days. In this case, in the formulation presented above p and q are respectively the number of orders considered for day j and j + 1. It should be noted that if the problem is canonical, we have a particular case of a transportation problem, the linear assignment problem.

The problem consists of determining the minimal cost of inserting each order Oko + 1) into the route of an order Oi(j).

A simulation of the running of this phase of the algorithm is illustrated in Figs. 1, 2 and 3. We consider a transportation network where the 'supply' nodes represent the orders for day j and the

'demand' nodes identify the orders for day j + 1.

3.1.2. Non-canonical problem

Here we present the more realistic situation where Y'.a i # ~ b k.

If the number of orders for day j is superior to that of j + 1, this difference is attributed to a dummy

destination node of the network. The dummy node may quite simply represent the truck's initial starting point or a possible link to the day j + 2. This link may involve a day's wait (immobilization of the truck), or else be used to make a trip of duration greater than L.

In the same way, if the number of orders for day j is less than that of day j + 1 a dummy origin node is then considered. In this case, the dummy node may represent the departure of another truck or the concretization of the link in the first case.

Page 6: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

416 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

ITERATION 3 ( k = 2 )

,(2,

origin destination

1 1

1 1

1

ITERATION 4 ( k = 3 )

(2) origin destination

1 / / / ~ ' ~ \ (2) I 1

~ %%(3) \ \ 1 1

(2) "~' % ~ . ~ % ( 2 7 ~ \ % \ 1 1

Fig. 2. Example of the running of Phase I: iterations 3 and 4.

It is also possible that the routes of the solution do not take into account some destination nodes. This happens when all the routes from previous days violate distance constraints. It will then be necessary to dispatch another truck on the day considered.

P ---- p i c k u p p o i n t D = d e l i v e r y p o i n t

R r

1

2

3

4

5

j j + l j + 2 j + 3 j + 4 P D P D P D P D P D P

1 a 2 b 2 a 1 e 1 e 1

2 b 1 a 3 c 3 a 2

2 c 3 c 1 c 1 b 3 d 2

3 d 1 e 1 b 3

3 e 1 d 3 a 2 d 3

Fig. 3. Solution obtained on Phase I.

Page 7: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 417

3.1.3. Computation of costs So as to adapt the algorithm to these various situations, different cost values Cik are considered. The following notations are used:

(Oi(d)[ i = 0, 1, 2 , . . . , q, 19 < d ~<j): The sequence of orders considered for day j, i = 0 identifies a dummy order, if there are any.

(Ok(d) lk-~O , 1, 2 . . . . . p, d = j + 1): The sequence of orders for day j + 1, k = 0 identifies a dummy order, if there are any.

vto: The origin of the order o t. vt: The destination of the order or. vi: The starting point of the route that includes the order oi(.).

Cik

where q~ is

We define:

with

dick +~o , j + 1 <0 ,

dick. + dk¢ih + q~, j + 1 = "0,

co, dick +d~c~ > ( j - d ) L , j + l < O ,

dijh, k = O,

O, i = 0 ,

a penalty for each day's delay:

0 ] if d i c k + d k c k > _ ( j - d - 1 ) L ,

~o= ( j - d + l ) L L, otherwise,

dicku + dkck.

the largest integer less or equal to e if e ___ 1, [e] = 0, otherwise.

The solution obtained by solving the consecutive TP renders optimal routes as concerns the distance covered with an empty load for each day. The global solution may not, however, be optimal, as at each iteration the algorithm only considers orders for two consecutive days.

This technique nevertheless has proved very efficient, allowing every constraint for a given day to be taken into account.

3.2. Phase II: Route improvement

In this phase, the algorithm begins with the solution obtained during the first phase, and at each iteration the current solution S is modified to generate another solution S'.

The neighborhood N(S ) of a solution S is the set of all S' solutions that may be reached from S by an operation which is called a move.

Let 0 r = (Orl , OrZ . . . . . Oft) be the sequence of orders for the route R r, and let Or(j) be an order to be delivered on day j.

The following moves are considered: insertion move: this operation inserts an order Or(i) between two other Os(j_l) and os(j+ 1), r 4= s. exchange move: this operation exchanges an order or(j) for another Os(j), r 4= s.

Let mj be a simple move, insertion or exchanges carried out on the orders for day j.

Page 8: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

418

<51 [ ]

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

- . . . .

Fig. 4. Example of a move on two routes.

i 5 1 _ _

Fig. 5. Example of a move on three routes.

We define a compound move, mjk = m i ~ mk , as the consecutive application of any combination of m/ and m k ( j ~ k ) moves. This type of move attempts to improve two or three routes. Figs. 4 and 5 illustrate two possibilities for carrying out compound moves. The links that have been created by the move are shown by unbroken non-horizontal arcs which will form the arcs of the new routes. The dotted horizontal arcs are those which have been removed from the previous routes.

3.3. Evaluating the cost o f a move

A move represents a transition from a solution S to a solution S' ~ N(S), which generally varies the objective function value.

To calculate the cost of a modification brought about by this move, A = F ( S ' ) - F (S ) , five cases need to be considered.

We assume, without losing any generality, that the d u m m y orders of index 0 (oro(j)) exist before the start of the route and we denote by o . the last order l, for the route r.

To simplify, we write vgu ~ Or(j) if the order for the route r delivered on day j contains the pickup point k.

l-q,

Fig. 6. Case 1: insertion.

Page 9: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

Fig. 7. Case 2: insertion.

419

.@

.N----@

Fig. 8. Case 3: exchange.

C a s e 1: Inserting Or,(j ) be tween O s p ( j _ l ) and Osq( ]+ l ) (i > 1; _0 < j < 0; q = p + 1) (see Fig. 6).

c l ( r , j , S) = dcrj_, ,r , j+ ' + dc , j_ , , , , ~ + dc , j , s j+ , - d c r d _ , u r , / - d c,,~_, . . . . . . - - d c r j u ~ . j + , .

C a s e 2: Inserting or,(~ ) be tween o ~ / j _ p and os4j+l) (p , q g= 0; _0 < j < 0). This move is feasible if UXu = Uyu; UXu ~ Or(j+ l) , I)y u ~ Orl (see Fig. 7).

c l ( r l , j , s) -- dcsj_,u~j + dcrju, j+l - dc , j_l , , , j+ 1 - dcr j , , j+ l .

C a s e 3: Exchanging or1 with osf This move is feasible if Vx, = vy; vx, ~ or,, vr,, ~ o,1 (see Fig. 8). This condit ion is also necessary for an exchange of Or, with o,1.

c 3 ( r l , J, s l ) = dcrju , j+l + dc,,/urd+, - dcr,ju~j+ 1 - dcsdu,./+ 1.

C a s e 4: Exchanging Or~(j ) with o~,(y) ( p > 1; j < 0). This move is feasible if Vx, = vy,; Vx, ' ~ o,(y), vy,, %(/) (see Fig. 9).

C4( rl , j , s) ---- dc,j_,u~, i + dc~au,.j+ ~ + dcs,yUr,j+l - d c s j _ I . . . . . - - dc, , jUr,i+ l - d c,jus.,+~"

Fig. 9. Case 4: exchange.

Fig. 10. Case 5: exchange.

Page 10: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

420 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

Case 5." Exchanging Ori with osp (i, p > 1; i, p :~ 1) (see Fig. 10).

= dc u + . . . . c s ( r ' j ' s ) dc, j ~usj+dcsj ~urj + rjs.i+l d~s,,r,~ d~r~ lUrj d~s~ ~u,~ d~,,,~+~ de ~ . , - - ," , ' -- ," ," ," , ' -- ," , ' -- ," r," ," s , j s , j+ I

Let S ' = S • mj be a solution generated from S by a simple move m j, and let Ai(S) be the cost changes produced by mj. We define S' -- (S • m j) • m k as being the solution obtained from S by an mk move after making an m i move, S' = S • mjk. Like this, the cost changes depend on the type of move considered and may be evaluated as follows:

A = aj(s), Aj(S) +Ak(S mi),

simple move,

compound move.

3. 4. The improvement procedure

This procedure attempts to improve upon a given solution using Tabu search (see Glover [12,13] and Glover and Laguna [16] for a comprehensive description). We are aware of a number of routing and scheduling algorithms based on this approach. These differ fundamentally in the means employed to define neighborhoods, (see Gendreau et al. [11]). Here moves are based on r-opt (Lin [18] and Lin and Kernighan [19]) schemas, but the most sophisticated algorithms use combinations of these schemas in order to build up compound moves. For example, Osman [20] uses a combination of insertion moves and exchange moves, vertex shifts from one route to another and exchanges vertices between routes based on the 2-opt process. Another type of compound move was used by Gendreau et al. [10]. Here, a compound move consists of a simple insertion followed by only one 3-opt exchange or 4-opt exchange. More recently, Rego and Roucairol [21] have considered more advanced types of compound moves based on the idea of ejection chains (Glover [14,15]). Here, a compound move is defined as a sequence of simple moves that becomes embedded in successive neighborhoods.

In part, the various success rates of the algorithms described above are also due to the construction of the initial solution. However, the methods used to create initial solutions depends greatly on the problem characteristics. Here, the method starts with a solution S obtained from the construction phase and iteratively attempts to reduce the solution cost value by local perturbations using the mj or mjk moves to generate S' ~ N(S) .

Recent applications in Tabu search consider the possibility of temporarily accepting moves outside the feasibility region in order to bet ter explore the solution space. This technique is associated to the concept of strategic oscillation (Glover [12]), which in some cases may be viewed as a generalization of relaxation techniques. This idea has shown to be quite effective in the Gendreau, Hertz and Laporte [10] application to the classic vehicle routing problem (VRP). These authors consider two penalty terms in the Objective function for excess vehicle capacity and excess route duration. During the search process, penalty coefficients are adjusted in order to make the solution feasible.

Let S be a feasible solution, let us denote by mj an infeasible move if S ' = S • mj is an infeasible solution.

In our application, infeasible moves are allowed at the level of m j, yet the passage from one solution to another only concerns feasible m i and mjk moves. Thus, a compound move may be obtained by a sequence of two dependent moves, where the second one seeks to restore a possible infeasibility created by the first one. A similar technique has already been used with considerable success in Rego and Roucairol [21], also in the VRP context. In this latter application, feasible solutions may be obtained by mixing feasible and infeasible simple moves in the ejection chain construction. This procedure explores the move characteristics and therefore the passage from one solution to another only concerns feasible

Page 11: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 421

solutions. It eliminates the time required to make the solution feasible and, as a result, the speed of the algorithm is increased. A similar process is used in the present paper.

For visualization purposes, the Appendix contains a numerical example which illustrates some features concerning the moves' construction.

At each iteration the algorithm chooses the best feasible move according to the za criterion and the Tabu restrictions.

A solution S' is called a local minimum with respect to N(S) if zl >_ 0, VS' ~ N(S). In Tabu search, non-improvement solutions are accepted in order to avoid local minima and Tabu

restrictions are to prevent cycling (return to solutions already visited). Usually Tabu restrictions are based on classifying certain moves as forbidden (or Tabu) rather than the complete visited solutions. Thus to avoid cycling, attributes of moves which were recently performed are inserted in a regularly updated tabu list. Here, a move may be characterized by two pairs ( j , R r) and ( j , R s) which identify that the order for day j on route r has interchanged with the order for the same day j on route s. The tabu list is made up of pairs of attributes ( j , R r) and ( j , Rs) that cannot be exchanged during a given number O of iterations, where 0 is known as the tabu list size.

Each problem was solved ten times with different tabu list sizes in order to determine critical 0 values. Cycling occurs for 0 values less than 3. In contrast, the best solutions are not found in some cases for 0 values greater than 20. Thus, such as was originally proposed by Taillard [22], 0 is an integer value chosen randomly within the interval [_0, 0]. In the current implementation we use the range [5,10] as suggested by Glover and Laguna [16] for 'simple dynamic tabu term rules'. However to accelerate the search process, tabu restrictions are activated only after the first non-improvement move has been found.

We denote by S: The initial solution. S: The solution obtained by a move m/, S ~ N(S) . S': The solution obtained either by the best simple move, S' E N(S) or compound move, S' E N(S). A: The best modification value between a simple move mj and the best among all the modifications

obtained by the mjk moves. A* : The best modification value among all the moves (local minimum).

The neighborhood search procedure may be described as in Fig. 11. The complexity of this procedure is determined as follows. Let r be the number of routes, to select a

move, in the worst case, it is necessary to combine ½r(r - 1) m j-moves (_0 _<_<j < 0)with 2(r - 1) ink-moves ( j < k < 0) for the remaining (0 - j ) days. Thus, if an mj-move modifies two routes R r and R~, only modifications in routes Rr, R t (t 4= r) and Rs, R, (t 4= s) are generated by an mk-move.

The number of possible combinations without repetition of m j- and ink-moves may be given as follows:

o

~ d , k ) = r ( r - 1 ) 2 E ( 0 - - i + 1) = ½r(r-- 1)20(0-- 1). i = 2

Then, it is possible to perform one iteration of our algorithm in O(r302),

4. A lower bound computation

Before presenting the experimental results, we will give a calculation for a lower bound of the cost of a solution. This will provide one element for evaluating the solution obtained by our algorithm.

To do so, we consider a simplified version of the problem in which distance constraints are relaxed. However, the sequence of orders for a route must respect the order of their delivery dates, and all of the orders must be delivered. This problem is also set out on a multigraph G in §2.

Page 12: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

422 C. Rego, C. Roucairol /European Journal of Operational Research 83 (1995) 411-429

Procedure neighborhood search

1. Consider S the solution given by the constructive algorithm; A* : ~ (:x).

2. While an improvement is found do (n )For each day j < 0 do

(B) For each pair of routes r and s (r ¢ s) do Generate a move mj; Compute Aj(S);

:= S S m j ; Generate all feasible moves mjk and determine

Ajk = m i n _ { A j ( S ) + A k ( S ) } ; k>j, j<O

A = min{A/ , Ajk};

If A < A* (the best move) then A" := A;

If Aj < A j k and S I is a feasible solution then S I := S;

else S I := S @ ink; end if.

end if. end for (B).

end for (A). If A" < 0 (improvement of a solution)

then S" = S~; F(S' ) = F(S) + A ' ;

end if.

end while. end procedure.

Fig. 11. The neighborhood search procedure.

Graphs that include directed and undirected arcs are called mixed graphs. A tour which passes through all the arcs of a directed, undirected or mixed graph is termed an Euler tour (Edmonds and Johnson [9]). In a directed graph the condition necessary for the existence of an Euler tour is that the number of arcs entering a node of the graph must be equal to the number of arcs leaving this node (Edmonds and Johnson [9]).

Determining a lower bound for the original problem consists of determining the shortest path for all the deadheadings, ensuring that the number of orders to be delivered to a delivery point on a specific date is equal to the number of deadheadings from the delivery point on the same date. This is by definition a transportation problem in which the supply nodes represent the pairs (vtc, j) (Vlc EVc, O_ <j < 0), and the demand nodes identify the delivery points.

Page 13: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 423

~k ! ( k = 1 . . . . . rn ) pickup points

i ( i = 1 . . . . . n ) delivery points

PORTUGAL

16

SPA~N

30

29

I0

Ii

I~%KNCE

15

27 7

5 3

1

' ~ 1 7 19 2O

2 ~ 4 2 1 8 22

~0 23 38

36 39

~: 13 9[] - 25 33

. ~ 34 32 24 8

35

37

GERMANY

6

2

ITALY

Fig. 12. Distribution network for the test problems.

Solving this TP makes it possible to determine the set of arcs (Vtc, Uku) such that the total deadheading is minimized. The optimal Xik-Values represent the number of times each arc has to be crossed (or replicated in a multigraph). Moreover, the existence of an Euler tour is ensured on the multigraph G' -- (V, A') with A' = A c UA'~ such that A'~ represents the set of arcs of the solution to the TP.

We are not seeking to determine an Euler tour, but rather a set of routes on a least cost Eulerian multigraph G' such that the order delivery dates are respected. Thus, we may decompose G' into a set of distinct continuous regions (routes) in which the deadheading distances are minimized.

5. Computational results

The empirical performance of our method was evaluated on five problems. In order to reflect reality, the physical distribution of the pickup and delivery points (considered in these test problems) corre- sponds to the real data (see Fig. 12). Furthermore, orders were generated in a way that from the company's viewpoint is representative. All the problems were solved for one week. Numerical results for these problems are reported in Table 1. More specifically, we show the solution values, the relative percentage deviation (RPD) over the lower bound, the number of routes obtained at each phase and the computational times (in seconds) required for the algorithm to reach its best solution. The computations

Page 14: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

424 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

Table 1 Solutions quality and computation times (in seconds)

Test No. of Lower Phase I No. of RPD Phase II No. of RPD CPU Prob. orders Bound routes routes time

1 74 68 073 75 361 29 10.7 73 709 28 8.3 294 2 88 78 301 87 278 34 11,5 84115 34 7.4 451.6 3 92 74929 81555 37 8.8 80035 37 6.8 378 4 97 86004 95666 36 11.2 91350 36 6.2 178.6 5 106 99725 112872 41 13,2 108909 40 9.2 306.2

were performed on a Sun Sparc IPC workstation. The algorithm was coded in C and the transportation problems were solved using the CPLEX [1] library routines. The computation times include the time required to solve each transportation problem, however it is not significant as it varies between 0.19 and 0.27 seconds to make between 57 and 83 iterations of the method.

We see that solutions for the first phase of the algorithm are on average 11% greater than the lower bound and the second phase has improved significantly (more than 3% on average) all these results being obtained within a few minutes. These results show that the computing times do not depend on the number of orders, but rather on their distribution. Furthermore, we have verified that the algorithm takes on average 30 seconds to find solutions that are on average 1% from the best known solutions, as the greatest improvements were obtained in the first iterations. Also, we can seen that for some instances the number of routes (trucks) was reduced. This is because orders on routes which concern a small number of orders were inserted between the orders of other routes.

Finally, we should remark that given the nature of the lower bound and the large variation between the distance values, the algorithm gave solutions that are close to the optimal.

Moreover, in practical terms a number of aspects may further reduce the cost of these solutions. Thus, the use of soft constraints may be considered. For example, the limit on the number of hours per truck may be violated by a small extent, without causing any significant penalty. This approach may be contemplated by either a specified weight limit that may be violated or using penalties for violation of these soft constraints. In addition, manual adjustments may be allowed to make changes in the schedule, if this results in cost reduction or a more efficiently balanced workload (hours, number of trucks housed in each terminal and number of stops).

6. Conclusion

In this report we have presented an algorithm for constructing tank truck delivery routes in a multi-terminal and real-time context. By considering successive transportation problems in the first phase of the algorithm, it was possible to find an efficient method of constructing vehicle routes that respected specific delivery dates and time constraints.

A transportation problem is solved each day and all the information is taken into consideration for the following day. This feature makes the algorithm easier to integrate in an interactive decision support system. In th~s way, information about the arrival or cancellation of orders can easily be considered for a given day. It is also possible to take into account rest days or even strategic actions such as modifying a vehicle pickup point.

Another advantage of this approach is its flexibility. We have shown how distance constraints can be easily taken into account by the algorithm. Using the same technique, the algorithm can be adapted to

Page 15: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

Table 2 Distance matrix between delivery and pickup points

425

Destination Origin

1 2 3 4 5 6

1 864 892 690 697 639 300 2 1099 1059 819 964 451 500 3 656 772 627 490 998 500 4 1111 1187 709 961 323 515 5 733 674 723 1030 917 498 6 1009 1108 716 900 392 374 7 455 912 447 710 932 650 9 428 1233 193 580 847 855

11 829 680 878 350 1238 900 13 456 1320 78 619 904 960 15 205 1102 412 320 1125 1120 21 376 1137 262 495 919 789 22 376 1142 288 605 675 682 23 427 1252 189 541 948 874 24 521 1327 79 651 831 881 33 419 1389 5 695 902 1015 43 441 1630 303 823 1065 1237

various other contexts, in which the number of vehicles is limited at each pickup point, multiple types of goods and vehicles are involved, etc.

Ideally, interactive systems require the graphical display of solutions in order to calibrate the model more efficiently. However, the full representation of such solutions is the major difficulty. Indeed, we should remark that the diagrams that we used in the moves representation provide a useful schema for a graphical representation of solutions.

It should be noted that none of these facilities is altered during the improvement method, as each modification of a solution is controlled at the level of a 'move' and so all the constraints used in the first phase become forbidden moves in the second phase. In addition, computational results on a set of test problems indicate that the algorithm finds good solutions in a reasonable amount of computing time.

We consider, that a large part of the method's success is due to the fact it allows moves that cross boundaries between infeasibility and feasibility. As it can be reformulated when new information is introduced, and given its rapid response time, the proposed algorithm is thus very suitable for a real-time decision support system.

Appendix

In this section we show a numerical example for the improvement phase of the algorithm. It is a part of the first test problem and the resolution corresponds to the first four iterations of the algorithm. A distance matrix between delivery and pickup points is shown in Table 2, and Table 3 reports the solution given by the first phase of the algorithm. Figs. 13-16 illustrate the moves which are selected by the algorithm for the same iterations and the results provide the improved solution given in Table 4.

Page 16: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

426

Table 3 Initial solution

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

R r P j = 2 j = 3 j = 4 j = 5 Distance

D P D P D P D P (km)

1 5 4 6 11 5 2976 2 5 2 2 11 5 3428 3 3 9 6 9 3 33 3 2106 4 3 43 1 13 3 24 3 1436 5 4 11 4 15 1 23 4 2193 6 4 5 6 1 6 2 4 3592 7 4 7 1 22 1 21 4 2788 8 6 4 5 4 5 2 6 2435

Total 20954

Some comments may be made with respect to the second move (m k) in the construction of the compound move. In the figures, the bold arcs indicate that the corresponding trip violates the distance constraints.

It may be noted that in the first two iterations, rn k serves a dual purpose: it makes it possible both to reestablish the feasibility of the solution, while reducing the solution cost. Moreover, in the second iteration, an improvement is only achieved after m k has been completed. In the third iteration, m k produces no change of cost in the Objective function, which means that there are equivalent solutions.

(2) [ ~ ] = _- - - - -

7i~j = exchange of ~2(4) wi th 063(4 )

mk = inser t ion o f 062(3 ) b e t w e e n o2~(2) and 023(4 )

A# = --1368 Ak = --416 A = --1784

Fig. 13. Iteration 1.

Page 17: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429

( a ) : - - - - - - -

( 7 )

427

m j =

77Z k -~

A j =

exchange of 032(4 ) w i th 073(4 )

inse r t ion of 072(3 ) b e t w e e n 031(2 ) and O32(3 )

33 Ak = --111 A = --78 Fig. 14. Iteration 2.

On the other hand, the ink-move in the fourth iteration is absolutely necessary because although it does not lead to an improvement itself, it makes it possible to restore the feasibility of the solution violated by mj.

m j = exchange of 033(4 ) w i th 053(4)

mk = exchange of 034(5 ) w i th 043(5)

A j = - 1 1 9 Ak = 0 A = --119

Fig. 15. Iteration 3.

Page 18: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

428 C. Rego, C. Roucairol ~European Journal of Operational Research 83 (1995) 411-429

(a)

,8,

mj =

m k =

Aj --

exchange of 012(4) wi th 083(4)

insertion of 082(3 ) between o11(2) and O12(4)

-387 Ak = 0 A = --387

Fig. 16. Iteration 4.

Table 4 Solution after 4 iterations

R r P j = 2 j = 3 j = 4 j = 5 Distance

D P D P D P D p (km)

1 5 4 5 4 5 2 5 2194 2 5 2 6 1 6 2 5 2502 3 3 9 3 35 1 23 3 33 3 1564 4 3 43 1 13 3 24 3 1436 5 4 1l 4 15 1 21 4 2096 6 4 5 2 11 4 2734 7 4 7 6 9 4 2795 8 6 4 6 11 6 2830

Total 18151

Acknowledgements

The research of the first author was partially supported by the Junta Nacional de Investiga~o Cientifica e Tecnologica (JNICT), Portugal.

References

[1] "CPLEX", Optimization, Inc., 1991. [2] Ball, M., Golden, B., Assad, A., and Bodin, L., "Planning for truck fleet size in a presence of a common carrier option",

Decision Sciences 14 (1983) 103-120. [3] Ball, M., and Magazine, M., "T he design and analysis of heuristics", Networks 11 (1981) 215-219.

Page 19: Using Tabu search for solving a dynamic multi-terminal truck dispatching problem

C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 429

[4] Bell, W., Dalberto, L., Fisher, M., Greenfield, A., Jaikumar, R., Kedia, P., Mack, R., and Prutzman, P., "Improving the distribution of industrial gases with an on-line computerized routing and scheduling optimizer", Interfaces 13/6 (1983) 4-23.

[5] Bodin, L., and Golden, B., "Classification in vehicle routing and scheduling", Networks 11 (1981) 97-108. [6] Bodin, L., Golden, B., Assad, A., and Ball, M., "Routing and scheduling of vehicles and crews: The state of the art",

Computers & Operations Research 10 (1983) 63-212. [7] Brown, G., Ellis, C., Graves, G., and Ronen, D., "Real time wide area dispatch of mobil tank trucks", Interfaces 17/1 (1987)

107-120. [8] Brown, G., and Graves, G., "Real time dispatch of petroleum tank trucks", Management Science 27 (1981) 19-32. [9] Edmonds, J., and Jonhson, E.L., "Matching, Euler tours and the Chinese postman problem", Mathematical Programming 5/1

(1973) 88-124. [10] Gendreau, M., Hertz, A., and Laporte, G., "Tabu search heuristics for the vehicle routing problem", Technical Report

CRT-777, Centre de Recherche sur les Transports, Universit6 de Montr6al, 1993. [11] Gendreau, M., Laporte, G., and Potvin, J.-Y., "Metaheuristics for the vehicle routing problem", Technical Report CRT-963,

Centre de Recherche sur les Transports, Universit6 de MontrEal, 1994. [12] Glover, F., "Tabu search - Part I," ORSA Journal on Computing 1 3 (1989) 190-206. [13] Glover, F., "Tabu search - Part II", ORSA Journal on Computing 2 1 (1990) 4-32. [14] Glover, F., "Multilevel tabu search and embedded search neighborhoods for the traveling salesman problem," Technical

Report, Graduate School of Business and Administration, University of Colorado at Boulder, 1991. [15] Glover, F., "Ejection chains, reference structures and alternating path methods for the traveling salesman problem",

Technical Report, Graduate School of Business and Administration, University of Colorado at Boulder, 1992. [16] Glover, F., and Laguna, M., "Tabu search", in: Modern Heuristic Techniques for Combinatorial Problems, Graduate School of

Business and Administration, University of Colorado at Boulder, 1992. [17] Golden, B., and Assad, A., "Perspectives on vehicle routing: Exciting new developments", Operations Research 34 (1986)

803-810. [18] Lin, S., "Computer solutions of the TSP", Bell Systems Technical Journal 14 (1965) 22-45. [19] Lin, S., and Kernighan, B., "An effective heuristic algorithm for the traveling-salesman problem", Operations Research 21

(1973) 498-516. [20] Osman, I.H., "Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem", Annals of

Operations Research, forthcoming, 1993. [21] Rego, C., and Roucairol, C., "An efficient implementation of ejection chain procedures for the vehicle routing problem",

Technical Report 44, Laboratoire PRISM, Universit6 de Versailles, 1994. [22] Taillard, E., "Robust tabu search for the quadratic assignment problem", Parallel Computing 17 (1991) 443-455.


Top Related