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

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

Post on 21-Jun-2016




1 download

Embed Size (px)


<ul><li><p>~, ........... </p><p>ELSEVIER European Journal of Operational Research 83 (1995) 411-429 </p><p>EUROPEAN JOURNAL </p><p>OF OPERATIONAL RESEARCH </p><p>Using Tabu search for solving a dynamic multi-terminal truck dispatching problem </p><p>C6sar Rego a,*, Cather ine Rouca i ro l b a Universidade Portucalense, rua Dr. Antdnio Bernardino de Almeida 541-619, 42 Porto, Portugal </p><p>b Universitd de Versailles, 45 Avenue des Etats Unis, 78035 Versailles Cedex 01, France </p><p>Abstract </p><p>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. </p><p>Keywords: Combinatorial optimization; Routing and scheduling problems; Tabu search; Compound moves </p><p>I. Introduction </p><p>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. </p><p>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). </p><p>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 </p><p>* Corresponding author. </p><p>0377-2217/95/$09.50 1995 Elsevier Science B.V. All rights reserved SSDI 0377-2217(95)00016-X </p></li><li><p>412 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 </p><p>point. Each delivery point must receive the delivery in the morning and each truck must return to its starting point within two weeks. </p><p>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. </p><p>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). </p><p>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. </p><p>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. </p><p>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. </p><p>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. </p><p>2. Problem definition and notation </p><p>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 uA 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. </p><p>The company has a fleet of t vehicles based at a number of starting points. All the starting points are the pickup points. </p><p>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. </p><p>A solution S is defined by a set of routes R1, R 2 . . . . . R . . . . . . R t with R r = {vk , vtc, Vp, . . . . Vqc, vk} . A route may be made up of a set of subroutes if a vehicle returns several times to its starting point. </p></li><li><p>c. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 413 </p><p>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 </p><p>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 </p><p>be a fixed time interval that is not large enough for a vehicle to serve more than one delivery point per day); </p><p>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 </p><p>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. </p><p>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). </p><p>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. </p><p>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 </p><p>of the problem described above. </p><p>3. A two-phase algorithm </p><p>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 </p><p>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. </p></li><li><p>414 G. Rego, G. Roucairol /European Journal of Operational Research 83 (1995) 411-429 </p><p>In the second phase the cost F(S) of the solution obtained in first phase is reduced by an iterative 'improvement method'. </p><p>3.1. Phase 1: Route construction </p><p>In this phase, the algorithm solves a succession of transportation problems (TP) to determine a set of feasible routes. </p><p>Day | j j + 1 </p><p>Origin J 1 2 2 3 3 1 1 2 </p><p>Destination a b c d e a e b </p><p>DATA </p><p>+-++:++ --+iI . . . . ++' 3/1 1 1 2 1 1 3 1 2 3 3 </p><p>C |b c d_ a b e a e d a d </p><p>I= orders for day j + k </p><p>.l',,- orders for day j + k + 1 </p><p>l= deadheading </p><p>=.... return or link to day j + k + 2 </p><p>( i ) starting point </p><p>] pickup point </p><p>Q delivery point </p><p>Q dummy point </p><p>ITERATION 1 ( k = 0) </p><p>( i ~f (2) </p><p>(3) </p><p>origin destination </p><p>1 1 </p><p>1 1 </p><p>1 1 </p><p>ITERATION 2 ( k = I ) </p><p>origin destination </p><p>/ - ~. . . . - - %~=._~_ . . . . . . (a) t t </p><p>"~ ~, .~ ~ ~ (3,el day j </p><p>(3) </p><p>Fig. 1. Example of running of Phase I: iterations 1 and 2. </p></li><li><p>C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 415 </p><p>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/. </p><p>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 </p><p>v/+ 1o. </p><p>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 </p><p>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: </p><p>Y'.a i = Ebl,. We denote by cik the transportation cost of supplying delivery point i from pickup point k, p the </p><p>number of pickup points and q the number of delivery points. The problem can therefore be formulated as follows: </p><p>(TP) </p><p>minimize E ECikXik (1) i k </p><p>subject to ~xik =a i, i= 1 . . . . . q, (2) k </p><p>EXik =bk, k = 1 . . . . . p , (3) i </p><p>x ik&gt;0, i=1 . . . . . q, k=l . . . . . p. (4) </p><p>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. </p><p>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. </p><p>The problem consists of determining the minimal cost of inserting each order Oko + 1) into the route of an order Oi(j). </p><p>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 </p><p>'demand' nodes identify the orders for day j + 1. </p><p>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 </p><p>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. </p><p>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. </p></li><li><p>416 C. Rego, C. Roucairol / European Journal of Operational Research 83 (1995) 411-429 </p><p>ITERATION 3 (k=2) </p><p>,(2, </p><p>origin destination </p><p>1 1 </p><p>1 1 </p><p>1 </p><p>ITERATION 4 (k=3) </p><p>(2) origin destination </p><p>1 / / / ~ ' ~ \ (2) I 1 </p><p>~ %%(3) \ \ 1 1 </p><p>(2) "~' % ~.~ % (27~\ % \ 1 1 </p><p>Fig. 2. Example of the running of Phase I: iterations 3 and 4. </p><p>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>P ---- p ickup p...</p></li></ul>