tabu search variants for the mix fleet vehicle routing problem

15
Journal of the Operational Research Society (2002) 53, 768–782 #2002 Operational Research Society Ltd. All rights reserved. 0160-5682/02 $15.00 www.palgrave-journals.com/jors Tabu search variants for the mix fleet vehicle routing problem NA Wassan 1 * and IH Osman 2 1 University of Kent at Canterbury, Canterbury, UK; and 2 American University of Beirut, Beirut, Lebanon The Mix Fleet Vehicle Routing Problem (MFVRP) involves the design of a set of minimum cost routes, originating and terminating at a central depot, for a fleet of heterogeneous vehicles with various capacities, fixed costs and variable costs to service a set of customers with known demands. This paper develops new variants of a tabu search meta-heuristic for the MFVRP. These variants use a mix of different components, including reactive tabu search concepts; variable neighbourhoods, special data memory structures and hashing functions. The reactive concept is used in a new way to trigger the switch between simple moves for intensification and more complex ones for diversification of the search strategies. The special data structures are newly introduced to efficiently search the various neighbourhood spaces. The combination of data structures and strategic balance between intensification and diversification generates an efficient and robust implementation, which is very competitive with other algorithms in the literature on a set of benchmark instances for which some new best-known solutions are provided. Journal of the Operational Research Society (2002) 53, 768–782. doi:10.1057=palgrave.jors.2601344 Keywords: mix fleet vehicle routing problem; heterogeneous fleet; vehicle routing; local search; heuristics; meta-heuristics; tabu search; variable neighbourhood search Introduction The Mix Fleet Vehicle Routing Problem (MFVRP) is a variant of the well known Vehicle Routing Problem (VRP) and can be defined as follows. Let G ¼ðN ; AÞ be an undirected network where N ¼f0; ... ; ng is the set of nodes and A ¼ fði; jÞ; i; j 2 N g is the set of arcs. Node 0 represents the depot at which the fleet of vehicles is located, while the remaining nodes correspond to customers. Each customer i has a non-negative demand q i . There are a number of vehicle types. Each vehicle of type t is char- acterised by its capacity Q t , its fixed cost F t and its variable cost per distance unit a t . Each pair of customers i and j is associated with a distance d ij and their travel cost by a vehicle of type t is c ij ¼ d ij a t . Each vehicle route must start and terminate at the depot; the total demand of a route must not exceed the capacity of the vehicle assigned to it and each customer must be visited exactly once. The objective of the MFVRP is to determine the optimal mix of heterogeneous vehicles and their associated set of feasible routes that minimises the total variable and fixed cost subject to vehicle and customer restrictions. The MFVRP is a theoretically challenging and practically important problem. It generalises the classical vehicle rout- ing problem as it includes the strategic decision on the vehicle fleet composition. Therefore, it is NP-hard. Further- more, the MFVRP has been used to model many realistic applications including the grocery stores delivery problem, 1 the pet food and flour delivery problem, 2 and the mail collection problem. 3 In the literature, there are three MFVRP variants. First, the standard version is introduced by Golden et al. 4 It uses the same value for the variable costs, regardless of the vehicle type, and also has an unlimited number of vehicles of each type. Second, Salhi et al 5 study the effect of neglecting the variable costs in the standard version and consider the variable costs to be dependent on the vehicle type. Finally, Taillard 6 extends the second version by adding restrictions on the number of available vehicles of each type t and set it equal to some constant m t instead of being unlimited. Due to the complex- ity of the MFVRP, some attempts have been made to formulate it using mixed integer linear programming. 4,5,7,8 But no exact algorithm for the MFVRP has ever been developed. On the other hand, several approximation algo- rithms have been proposed. These can be classified into classical heuristics and recent meta-heuristics. 9 The classi- cal heuristics include the saving-based algorithms 4,5,10,11 which are modifications of the well known Clarke and Wright 12 savings procedure; the two-step composite algo- rithms such as the giant tour (GT) algorithm, 4 the lower- bound based algorithm 7 and the two-step heuristic; 8 the local search descent procedures. 13,14 Recently, the MFVRP has attracted the attention of the meta-heuristic researchers. Osman and Salhi 13 propose a *Correspondence: NA Wassan, Canterbury Business School, University of Kent at Canterbury, Kent CT2 7PE, UK. E-mail: [email protected]

Upload: aub-lb

Post on 02-Dec-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

Journal of the Operational Research Society (2002) 53, 768–782 #2002 Operational Research Society Ltd. All rights reserved. 0160-5682/02 $15.00

www.palgrave-journals.com/jors

Tabu search variants for the mix fleet vehicle routingproblemNA Wassan1* and IH Osman2

1University of Kent at Canterbury, Canterbury, UK; and 2American University of Beirut, Beirut, Lebanon

The Mix Fleet Vehicle Routing Problem (MFVRP) involves the design of a set of minimum cost routes, originating andterminating at a central depot, for a fleet of heterogeneous vehicles with various capacities, fixed costs and variable coststo service a set of customers with known demands. This paper develops new variants of a tabu search meta-heuristic forthe MFVRP. These variants use a mix of different components, including reactive tabu search concepts; variableneighbourhoods, special data memory structures and hashing functions. The reactive concept is used in a new way totrigger the switch between simple moves for intensification and more complex ones for diversification of the searchstrategies. The special data structures are newly introduced to efficiently search the various neighbourhood spaces. Thecombination of data structures and strategic balance between intensification and diversification generates an efficient androbust implementation, which is very competitive with other algorithms in the literature on a set of benchmark instancesfor which some new best-known solutions are provided.Journal of the Operational Research Society (2002) 53, 768–782. doi:10.1057=palgrave.jors.2601344

Keywords: mix fleet vehicle routing problem; heterogeneous fleet; vehicle routing; local search; heuristics; meta-heuristics; tabu search;variable neighbourhood search

Introduction

The Mix Fleet Vehicle Routing Problem (MFVRP) is a

variant of the well known Vehicle Routing Problem (VRP)

and can be defined as follows. Let G ¼ ðN ;AÞ be an

undirected network where N ¼ f0; . . . ; ng is the set of

nodes and A ¼ fði; jÞ; i; j 2 Ng is the set of arcs. Node 0

represents the depot at which the fleet of vehicles is located,

while the remaining nodes correspond to customers. Each

customer i has a non-negative demand qi. There are a

number of vehicle types. Each vehicle of type t is char-

acterised by its capacity Qt, its fixed cost Ft and its variable

cost per distance unit at. Each pair of customers i and j is

associated with a distance dij and their travel cost by a

vehicle of type t is cij ¼ dij � at. Each vehicle route must

start and terminate at the depot; the total demand of a route

must not exceed the capacity of the vehicle assigned to it

and each customer must be visited exactly once. The

objective of the MFVRP is to determine the optimal mix

of heterogeneous vehicles and their associated set of feasible

routes that minimises the total variable and fixed cost

subject to vehicle and customer restrictions.

The MFVRP is a theoretically challenging and practically

important problem. It generalises the classical vehicle rout-

ing problem as it includes the strategic decision on the

vehicle fleet composition. Therefore, it is NP-hard. Further-

more, the MFVRP has been used to model many realistic

applications including the grocery stores delivery problem,1

the pet food and flour delivery problem,2 and the mail

collection problem.3 In the literature, there are three

MFVRP variants. First, the standard version is introduced

by Golden et al.4 It uses the same value for the variable

costs, regardless of the vehicle type, and also has an

unlimited number of vehicles of each type. Second, Salhi

et al5 study the effect of neglecting the variable costs in the

standard version and consider the variable costs to be

dependent on the vehicle type. Finally, Taillard6 extends

the second version by adding restrictions on the number of

available vehicles of each type t and set it equal to some

constant mt instead of being unlimited. Due to the complex-

ity of the MFVRP, some attempts have been made to

formulate it using mixed integer linear programming.4,5,7,8

But no exact algorithm for the MFVRP has ever been

developed. On the other hand, several approximation algo-

rithms have been proposed. These can be classified into

classical heuristics and recent meta-heuristics.9 The classi-

cal heuristics include the saving-based algorithms4,5,10,11

which are modifications of the well known Clarke and

Wright12 savings procedure; the two-step composite algo-

rithms such as the giant tour (GT) algorithm,4 the lower-

bound based algorithm7 and the two-step heuristic;8 the

local search descent procedures.13,14

Recently, the MFVRP has attracted the attention of the

meta-heuristic researchers. Osman and Salhi13 propose a

*Correspondence: NA Wassan, Canterbury Business School, University ofKent at Canterbury, Kent CT2 7PE, UK.E-mail: [email protected]

short-term memory tabu search using 1-interchange neigh-

bourhood. Ochi et al15 present a hybrid meta-heuristic

which uses parallel genetic algorithms and scatter search.

Han and Cho16 present a meta-heuristic based on threshold

accepting and great deluge approaches. Taillard6 develop a

heuristics-column generation method based on an adaptive

memory tabu search procedure. Finally, Gendreau et al17

develop a tabu search approach by incorporating several

strategies, diversifying the search by including a fleet

change mechanism, and then embedding procedures. We

refer to the comprehensive bibliographies9,18 on routing and

meta-heuristics.

Laporte et al19 stress that the time has probably come to

concentrate on the development of faster and more robust

algorithms. The determination of fleet sizes is also shown to

be of practical importance in the recent paper by Sherali and

Maguire.20 In this paper, we aim to develop an efficient and

robust tabu search meta-heuristic to determine the best

composition of the fleet of vehicles. The remaining parts

of the paper are organised as follows. First, the TS compo-

nents including the neighbourhood mechanisms and data

structures are described. Second, our computational experi-

ence is reported. Last we conclude with remarks and

discussion on further research.

Tabu search meta-heuristic

Tabu search belongs to the recent class of approximate

methods called meta-heuristics.21 It has had widespread

success in attacking a variety of practical combinatorial

optimisation problems. The basic TS meta-heuristic uses

an aggressive guiding strategy to direct any local search

procedure to carry out the exploration of the solution space

in order to avoid getting trapped in local optima. When a

local optimum is encountered the aggressive strategy moves

to the best solution in the whole neighbourhood even if it

may cause a deterioration in the objective value. To prevent

the search from returning to previously visited solutions, TS

uses memory structures to store attributes of the recently

accepted solutions in a tabu list. Selected attributes that are

stored in the tabu list are designated tabu-active and solu-

tions that contain tabu-active elements are designated tabu.

An attribute remains tabu-active for a duration of tt value,

known as a tabu tenure before it is made not tabu-active.

The TS algorithm continues its search for a total number of

iterations before it is terminated. We refer to the books22–24

for more details on TS theory and applications.

Our TS meta-heuristic requires the definition of (i) an

initial solution S; (ii) a neighbourhood mechanism to

generate the set of neighbouring solutions N ðSÞ; (iii) data

management structures for efficient storage and retrieval of

generated information and (iv) the set of components for the

TS algorithm.

Initial solution

Salhi and Rand25 generate a good initial solution for the

VRP using a modification of the saving values, Sij, of Clarke

and Wright12 as follows:

Sij ¼ c0i þ c0j gcij

where g is a saving multiplier. The VRP procedure is

adopted to get an initial solution for the MFVRP quickly

and further improve it by our TS algorithms. For each of

vehicle type t, several initial solutions are produced using

different values for the savings multiplier g taken from the

range of ½0; 2�, by tenths. The best of initial solution is then

selected from all the generated ones after considering all the

vehicle types. A heterogeneous fleet is reassigned, if possi-

ble, to the best generated set of routes in the initial solution

in order to reduce the total fixed and variable costs.

Neighbourhood generation mechanism

Let S ¼ fR1; . . . ;Rp; . . . ;Rvg be a given MFVRP solution

where v is the associated total number of vehicles of all

types. A neighbourhood generation mechanism specifies the

set of operators that can be applied to S to generate moves to

another solution S0 in the neighbourhood of S;N ðSÞ. For our

implementation, we adapt the l-interchange mechanism

introduced in Osman26 for routing and grouping problems

as follows. Given a pair of route sets ðRp;RqÞ in S, a l-

interchange move interchanges a subset Sp of size jSpj � lfrom Rp with another subset Sq of size jSqj � l from Rq to

generate two new route sets R0p and R0

q. The new routes

could take the forms of R0p ¼ fRp Spg [ Sq and

R0q ¼ fRq Sqg [ Sp. It should be noted that the way of

selecting the subsets Sp and Sq and reconnecting the broken

segments of the associated routes would generate a different

number of moves. Depending on the sizes of Sp and Sq we

would have one of the following processes. First, if any of

the sizes is zero, then we would have a shift process which

shifts one non-empty subset from one route to another.

Second, if both subsets are not empty, we would have an

exchange process which exchanges the two subsets between

the routes. The exchange process combines two shift

processes simultaneously to generate compound moves

that cannot be generated by consecutively applying any of

the shift processes alone due to capacity=time restrictions.

The size of the l-interchange neighbourhood is a function of

the integer value of l. It is determined by the set of all

possible solutions which are generated sequentially by

considering all possible vðv 1Þ=2 combinations of pair of

routes, ie ðR1;R2Þ; . . . ; ðRv1;RvÞ. The sequential search of

the neighbourhood has an advantage over the random

sampling approach which may miss good improving solu-

tions due to capacity=time restrictions. In addition, with a

proper design of data structures, the whole neighbourhood

NA Wassan and IH Osman—Mix fleet vehicle routing problem 769

rather than a subset of it can be searched efficiently without

sacrificing the quality of the solution.

Finally, the l-interchange mechanism was successfully

implemented for many routing, location and assignment

problems.27–32 Moreover, it has generalised many successful

neighbourhood mechanisms such as the Or-opt,33 2-opt*,34

the CROSS exchange35 and the chain-exchange.36 In this

study, we are going to examine four neighbourhood

mechanisms generated by the l-interchange operators to

study the effectiveness of simple moves and more compli-

cated compound moves. These mechanisms are explained as

follows:

(i) 1-interchange mechanism uses two processes. The

shift process is based on the ð1; 0Þ and ð0; 1Þ operators

whereas the interchange process is based on the ð1; 1Þ

operator. The ð1; 0Þ operator shifts a single customer from

route Rp to Rq whereas the ð0; 1Þ operator shifts one single

customer from Rq to Rp. The ð1; 1Þ operator attempts to

exchange one customer from each route simultaneously to

generate a compound move. For instance in Figure 1,

customer (b) is taken out from the route and its predecessor

and successor customers (a) and (c) are reconnected, and

then it is re-inserted in the best position along each arc in the

different routes.

(ii) 2-interchange mechanism uses all the operators in

(i) in addition to the following extra operators: the ð2; 0Þ and

ð0; 2Þ shift operators and the ð1; 2Þ; ð2; 1Þ and ð2; 2Þ

exchange operators. The extra shift and exchange operators

basically work in the same way as in the 1-interchange

mechanism. However, the extra operators attempt to shift or

exchange any two consecutive or non-consecutive custo-

mers between routes. For instance in Figure 1, the ð2; 1Þ

operator could exchange two non-consecutive customers (b

and e) or consecutive (c and d) with a single customer from

another route.

(iii) 2-consecutive-node interchange mechanism is the

restricted neighbourhood of the 2-interchange mechanism

where only two-consecutive customers are considered by the

ð2; 0Þ; ð0; 2Þ shift and the ð1; 2Þ; ð2; 1Þ; ð2; 2Þ exchange

operators. The 2-consecutive-node neighbourhood is worth-

while as it still includes the 1-interchange neighbourhood

in (i).

(iv) Variable-node interchange mechanism considers

variable sizes of consecutive nodes in the shift or exchange

processes. In Figure 1, let Rp be the route consisting of six

customers, numbered from a to f with the depot duplicated

at its start and at the end, and let b and e be the two

customers selected from this route in a 2-interchange move.

Then the chain defined by b as its starting customer and e as

its ending customer can be shifted to or exchanged with

another chain from a different route, and the sequence of all

customers including b and e can be removed, and a and f be

reconnected by the dashed line as indicated in the lower side

of the figure. In this case, the generated move can be viewed

as a shift or exchange move of four customers generated by

a l-interchange operator or a chain identified by its two

ending points (b and e) and hence a special case of 2-

interchange but with a different reconnection of customers

than that considered in (ii).

It should be noted that we always add an extra empty

dummy route to be considered with the other non-empty

routes in all the above generation mechanisms. The reason is

that the shift operators may reduce the total number of the

routes but would not allow for increases. A strategic

oscillation is implemented to find the best number of

vehicles v through the extra dummy route and the shift

operators if deemed beneficial.

Data management structures

TS meta-heuristic is an iterative search process that selects

the best move from the whole neighbourhood space. The

identification of such a move can be very expensive for large

instances. Hence creating data management structures

(DMS) to achieve a good speed-up is proved to be highly

successful in the literature, including DMS13,26 which were

developed to manage information using two levels of

memories for the 1-interchange neighbourhood. The first

level stores the information about the routes and their costs,

capacities and customers, whereas the second level is used

to identify the best move from a candidate list. The DMS

advantage is that they are only initialised at the first iteration

where all the moves in the whole neighbourhood are

scanned and the best moves are stored in appropriate

matrices. They are then updated carefully to reflect the

changes made from one iteration to another while making

proper use of any unchanged information. In particular, after

performing a TS move, there are normally two routes

involved and the others remain unchanged. Hence

2 � ðv 1Þ pairs of routes may contain improved moves

and need to be re-evaluated. In the case of adding a dummy

route or removing an existing one, the DMS has to be re-

initialised to reflect the new changes. In this paper, we

extend the 1-interchange DMS and develop new ones for the

different neighbourhood mechanisms (ii)–(iv) using three

levels of memory structures.

Level-1 DMS record the information regarding the routes

including costs, distances, capacities and their customers.

Three types of matrices are used: CAP-W, DIS-W and

GAIN-W of dimensions v� n to store for each route, theFigure 1 Illustrations of some l-interchange moves.

770 Journal of the Operational Research Society Vol. 53, No. 7

capacity, the distance, and the gain in distance without a

customer or a subset of customers that are involved in the

shift or exchange operators. The recorded values do not

need to be recalculated, but only updated for the two routes

involved in the performed move.

Level-2 DMS store the information regarding the best

insertion places for customers during the shift

ð0; 1Þ; ð1; 0Þ; ð2; 0Þ and ð0; 2Þ operators. This level of DMS

uses a matrix BEST-I of dimensions n � 3v. For each

customer, its best insertion in each route of the v routes is

attempted. Each insertion can be identified by the additional

insertion distance, the predecessor and successor customers

in the given route.

The stored information in Level-1 and 2 matrices are then

used in the evaluation of moves generated by the exchange

ð1; 1Þ; ð1; 2Þ; ð2; 1Þ and ð2; 2Þ operators. It should be noted

that the evaluation of moves generated by any operators

considers the utilisation of appropriate vehicle types, which

may be different than the current ones if deemed beneficial.

We shall illustrate special cases for evaluating moves by the

1-interchange operators. Similar ways can be applied to

evaluate generated moves by the other neighbourhood

mechanisms. Let Rp and Rq be two given routes involved

in the exchange of process of customers i 2 Rp with j 2 Rq.

Let c and e be the predecessor and successor of the best

insertion of customer j in route Rp, and f and g be the

predecessor and successor of the best insertion of customer i

in route Rq. During the exchange process, the customers to

be exchanged between the given pair of routes can be

checked to see whether any of them is already recorded as

a predecessor or a successor in any shift move as follows.

Case 1. If neither of the out-going customers i nor j from

ðRp;RqÞ, is identical to the predecessors or successors of the

best insertion positions of each other, then the exchange

move is evaluated from the recorded information as if they

were moved simultaneously using two independent shifts.

Case 2. If only the out-going customer i from Rp is

identical to the predecessor or successor of the best insertion

of customer j from Rq, then the best insertion of customer j

has to be re-defined in Rp. In addition, since the recorded

information on customer i do not involve j, they are used in

the exchange move evaluation to Rq.

Case 3. If both of the out-going customers i and j of a

given pair of routes ðRp;RqÞ are identical to the recorded

predecessors or successors of each other during the best

insertion of shift moves, then both routes need to be re-

defined to find the new insertion values.

In the case of re-calculation, only three positions are

considered, ie, the position of out-going customer and its

predecessor and successor positions. The reason is that the

best insertion is more likely to be in the same area of

previous best insertion positions, and would save a lot of

computation time.

Level-3 DMS store the candidate list of best moves for

each of the vðv 1Þ=2 pair of routes. It consists of two

matrices. The first matrix is of a dimension v� v where the

upper triangle records the best move values for each ðRp;RqÞ

pair of routes. Such a move has the highest evaluation

among all moves that are sequentially and systematically

generated by all the shift and exchange operators operated

on the given pair of routes. The lower triangle stores the

positional indices Y of the associated moves. The second

matrix is of a dimension ½vðv 1Þ=2� � A. The parameter A

represents the number of columns for recorded attributes of

an interchange move. The value of A can be increased or

decreased depending on the necessary attributes to be

stored. In this study, a maximum value of A ¼ 12 is used.

The positional index Y provides the links between the two

matrices and it is very essential when updating and retriev-

ing parts of the candidate list. In the case of the variable-

node interchange move, the move is sufficiently identified

by its two-end customers, ie its first and last customers in the

various DMS.

Tabu search components

In addition to defining the neighbourhood mechanisms and

their appropriate DMS, the success of our TS algorithm

depends on the setting of the following special components.

Tabu list uses a short term memory to record some attributes

of performed moves in order to determine their future tabu

status. The tabu list takes the form of a matrix TABS of

dimension n � v. Selected attributes of recently performed

moves are stored in TABS for a duration of tt iterations. The

attributes to store depend on the type of operators which

generates the performed move and the level of accuracy

needed to identify it. For instance, a 2-interchange (2-

consecutive) move can be determined for its two customers

i and j ð i þ 1Þ taken from route Rp to be shifted

or exchanged with the other two customers l and

s ðl þ 1Þ from Rq. For such a move, TABS is set as

follows: TABSð p; iÞ ¼ TABSð p; jÞ ¼ tt and TABSðq; lÞ ¼

TABSðq; sÞ ¼ tt. A variable-node move is determined by its

beginning and ending customers i and j from Rp to be

shifted or exchanged with another variable chain with

respective starting and ending customers l and s from Rq,

the middle nodes are not stored in TABS list and the storage

of such moves is done in a similar way to the 2-interchange

move. Tabu restrictions are criteria to define the status of a

tabu move. There are a few guidelines for choosing good

tabu restrictions in the literature. The following tabu restric-

tions are used in our implementation: a 2-interchange (or 2-

consecutive) move is considered tabu if customers i and j

and customers l and s are returning back to Rp and Rq,

respectively. Similarly, a variable-node move is considered

tabu if the two-end customers of each chain are returned

back to their previous routes, ie the middle customers of

each chain are allowed to return individually. Aspiration

criterion and stopping rule: the aspiration criterion over-

rides the tabu status of a tabu-active move and make it

NA Wassan and IH Osman—Mix fleet vehicle routing problem 771

admissible if the move leads to a new best solution. Our TS

algorithm is terminated after performing a total number,

T itr ¼ 200 � n, of iterations on each instance.

Tabu tenure schemes

Tabu tenure schemes are ways to determine and control the

change in the tabu tenure, tt value. We have implemented a

number of schemes from the literature in addition to

designing a few of our own. These are explained as follows:

(i) Fixed TS scheme23 (F-tabu) is one of the earliest

approach which uses a fixed tt value during the entire

search.

(ii) Robust TS scheme37 (Rb-tabu) uses randomly

selected tt values from a given range. During the search,

the tt value is periodically changed after performing m

iterations, where m is also a randomly chosen number

from a given range.

(iii) Periodic TS scheme26,38 (P-TS) changes periodically

the tt values in a systematic and cyclic way from small,

medium to large values. The TS algorithm performs m

iterations at each tt value before it is re-assigned another

value.

(iv) Reversed deterministic TS scheme (Rd-tabu) is a new

proposed scheme which changes and reverses the tt values

during the search. This was motivated by the work13 which

uses a series of predefined fixed tt values, where ½tt ¼ n=p�

and p is taking a different value from 2–7 for each single

run. The Rd-tabu scheme dynamically changes the tt values

during the search process. tt takes a series of values

computed by dividing the problem size n systematically

by p, after every m iterations, ie tt ¼ n=p and

m ¼ T itr=n � p, where T itr is total number of iterations

to be performed. Initially, p takes the value of 9 and then

decreases by one after performing m iterations. Upon reach-

ing a value of 1, it is then restarted from 9 and the search is

continued until the algorithm is terminated. In this way, we

are able to control the diversification by using small values

of p and the intensification by using larger values of p.

(v) Reactive TS scheme (RTS-O) is considered to be the

most promising among the different tabu search schemes in

the literature. It was proposed by Battiti and Tecchiolli39 to

provide a balance between diversification and intensification

search strategies using two different mechanisms. These

mechanisms rely on detection of repeated solutions. The

first mechanism provides a diversification of the search by

executing a large number of random moves in order to

escape the domain of the chaotic attractor whenever REP

solutions have been repeated CHAOS times. The second

mechanism provides a dynamic control of the tabu tenure

values using the number of iterations between repeated

solutions. The tabu tenure value is increased if a repeated

solution is detected and it is decreased slowly over time if

there was no repetition.27,32 The components of RTS are

next explained.

(I) Hashing functions. RTS requires a method to deter-

mine if a solution has been previously visited, and if so, how

long ago. Two methods are used to store representative

information on visited solutions. These are the Unordered

Linear Arrays (ULS) and the Hash Function Search (HFS)

methods.40 Both methods require a code, Sr, to be calcu-

lated for each solution. For our MFVRP, Sr is set to the sum

of (overall routes) the product of the customer index xj and

the total number of customers in its corresponding route

jRpj:

Sr ¼Pv

p¼1

P

xj2Rp

xj � jRpj

(a) The unordered linear search (ULS). Our ULS proce-

dure uses a single array ULS of dimension equals to the

maximum number of iterations to be performed. Once a

given solution is accepted, its Sr value is computed and then

stored in the next empty entry in the ULS array. To check

the existence of a given value, the ULS starts the search

from the beginning of the array until the end of it.

(b) The hashing function search (HFS). The HFS proce-

dure has a different mechanism to store and check repeated

solutions than ULS. For each solution, its Sr value is

computed and then divided by the largest prime number

smaller than the total number of iterations ‘T itr’ to be

performed. HFS uses a matrix of dimensions T itr � 10,

where the first column is to store a ‘KEY’ for each solution

and the other columns are to store Sr values. It can happen

that more than one solution have the same key, hence

collisions might happen. To avoid such collision, the extra

columns are needed. The HFS procedure provides a quick

way to identify the existence of repeated solutions and

sketched as follows:

Step 1: – Initialise HFS matrix to zero. Set PRIME ¼

T itr 3,

REMD ¼ MODðSr; PRIMEÞ; and

KEY ¼ REMD � PRIME þ 1:

Step 2: (a) – Set r ¼ 1, {Column index}.

(b) – If fHFS ðKEY; rÞ 6¼ 0g Then r ¼ r þ 1.

(c) – Repeat (b) until HFSðKEY; rÞ ¼ 0 and set

HFSðKEY; rÞ ¼ Sr.

(II) The RTS-O procedural steps.

Step 0: Initialisation of RTS parameters

Note that this step can also be done with other tabu search

parameters’ initialisation.

tt ¼ 1 an initial tabu tenure value;

Repetition ¼ 0 a repetition counter;

Chaotic ¼ 0 a constant limit to the often-repeated

sets;

772 Journal of the Operational Research Society Vol. 53, No. 7

REP ¼ 3 a counter for often-repeated solutions;

CHAOS ¼ 3 the maximum allowed number of

often-repeated sets;

INCREASE ¼ 1:1 a percentage increase for the tabu

tenure value;

DECREASE ¼ 0:9 a percentage decrease for the tabu

tenure value;

MOVAVG ¼ 0 a moving average for the detected

repetitions;

LastChange ¼ 0 the number of iterations since the last

change in tabu tenure value;

GapRept ¼ 0 the gap between two consecutive

repetitions;

GapMax ¼ 50 a constant used to compare with

GapRept to get the moving average

MOVAVG;

LasTimeRept ¼ 0 the iteration number when last time an

identical solution was noticed;

CurTimeRept ¼ 0 the iteration number of the most recent

repetition;

TABSð: ; :Þ ¼ 0 the tabu list matrix.

Step 1: {Compute the Sr value for the accepted solution}

– If {Sr is found in the ULS=HFS hashed array} Then,GapRept ¼ CurTimeRept LasTimeRept; and

Repetition ¼ Repetition þ 1

– Else, add Sr to the ULS=HFS hashed array, and go to

Step 4.

Step 2: {Check for repetition}

– If fRepetition > REPg Then, Repetition ¼ 0, and

Chaotic ¼ Chaotic þ 1.

– Else, go to Step 3.

– If fChaotic > CHAOSg Then, Chaotic ¼ 0, and go to

step 5 for diversification

– Else, go to Step 3.

Step 3: {Increase the tabu tenure value}

– If fGapRept < GapMaxg ThenMOVAVG ¼ 0:1 � GapRept þ 0:9 � MOVAVG;tt ¼ tt � INCREASE;LastChange ¼ 0; and go to

Step 6:– Else, go to Step 4.

Step 4: {Decrease the tabu tenure value}

– If fLastChange > MOVAVGg Thentt ¼ tt � DECREASE; and LastChange ¼ 0:

– Else, LastChange ¼ LastChange þ 1, and go to Step 6.

Step 5: {the escape procedure}

(i) Select a neighbourhood mechanism for the diversifica-

tion moves.

(ii) Set the current and best escape solutions to S, ie Sc ¼ S

and Sb ¼ S.

(iii) Set Escp itr ¼ w � n, an iteration number to be

performed, w is a parameter set to 2.

(iv) Choose the best admissible solution, S0 from the

candidate list of NðScÞ.

(v) If fCðS0Þ < CðSbÞg Then, update Sb ¼ S0 and Sc ¼ S0

Else, Sc ¼ S0.

(vi) Repeat step (iv) and (v) until Escp itr iterations are

performed.

(vii) Return to the main program by setting S ¼ Sb (if

found) or S ¼ Sc.

Step 6: Stop RTS procedure.

For the escape procedure in Step 5, two strategies are used.

Strategy I: the main TS algorithm uses the 1-interchange

neighbourhood, whereas the ð0; 2Þ; ð2; 0Þ and ð2; 2Þ opera-

tors of the 2-consecutive-node mechanism are used for

generating moves for the escape procedure. Strategy II:

the main TS algorithm uses the 1-interchange mechanism

and the ð0; 2Þ; ð2; 0Þ and ð2; 2Þ operators of the 2-consecu-

tive-node mechanism, whereas the other ð1; 2Þ; ð2; 1Þ opera-

tors are used for the escape diversification procedure.

It should be noted that our RTS scheme is different than

that in the literature. First, a number of random moves39

were generated for diversification from that of intensifica-

tion’s neighbourhood. However, in our implementation,

more complex moves are strategically generated for diversi-

fication, that are different from those simple moves used for

intensification in the main algorithm. It is like generating

some global complex moves for diversification while using

local simple moves for intensification. It is a kind of variable

neighbourhood search strategy.41 Second, we have used

different values for computing the RTS parameters.

The general TS-MFVRP procedure

The generic steps of the TS procedure are as follows:

Step 1: Generate an initial solution

– The initial solution S is obtained as indicated at

the start of the paper.

– Set the current best solution Sbest ¼ S and set

C itr ¼ 0 (current iteration counter).

Step 2: Tabu search initialisation

– Set the appropriate values for the parameters of

the chosen tabu tenure scheme.

– Set the total number of iterations T itr, and

B iter ¼ 0 (best iteration counter).

– Set the tabu list matrix and other data structure

matrices to zero.

Step 3: Initialisation of data structures

– Perform one complete cycle of search using the

predefined neighbourhood mechanism to initia-

lise the three levels of data structures for move

evaluations and selections.

NA Wassan and IH Osman—Mix fleet vehicle routing problem 773

Step 4: Scan of data structures

– Scan Level-3 data structure to find the best

admissible solution S0 from its candidate list.

– Set the current solution S to S0 and

C itr ¼ C itr þ 1.

– Apply 2-opt and 3-opt arc exchange heuristics as

a post-optimiser to S.

Step 5: Update of tabu search scheme

– Update the components of tabu list and its

associated components of the selected TS

scheme.

– When reactive TS scheme is used, all TABS and

hashed entries are initialised to zero before the

call of escape mechanism.

Step 6: Special update of data structures

– Update Level-1 data structures based on the two

changed routes of the accepted solution.

– Update strategically the candidate list of solu-

tions in Level-3 data structure.

– If a new dummy route is added or an existing

route is deleted then update the whole matrices

of all levels of the data structures by performing

a new cycle of search.

Step 7: Update of the best solution

– If fCðSÞ < CðSbestÞg Then, set Sbest ¼ S and

B itr ¼ C itr.

Step 8: Termination

– If fC itr ¼ T itrg Then, Stop, and report Sbest

and Bst itr, Else go to Step 4.

It should be noted that in the above general procedure one

can generate many TS variants. Each TS variant depends on

the selection of the neighbourhood mechanism, the tabu

restrictions to determine the tabu status of moves, the tabu

tenure schemes. Hence a class of TS variants can be

emerged, the best TS variant will be determined empirically

as shown in the section on computational experience.

Computational experience

Computational experiments are reported using two sets of

instances from the literature. The first set contains 20

instances4 with sizes varying from 12–100 customers. The

second set consists of 8 instances,6 with sizes varying from

50–100 customers. The characteristic of the second set is

that the fixed vehicle costs in the first set is replaced by

variable vehicle costs. The developed algorithms are coded

in Fortran 77, and run on a Sun Sparc server 1000 with

50 MHz processor (10 Mflop=s) under the Solaris 2.3 oper-

ating system. We report the performance of machines in

terms of Mflop=s (millions of floating-point operations

completed per second) using the benchmark results in

Dongarra42 The following abbreviations are used in our

tables of results:

No: Serial number of the instance.

NB: Number of instances better or equal to

published solutions.

RPD: Relative Percentage Deviation above the

best known solution.

ARPD: Average of RPDs for a set of instances.

RPI: Relative Percentage Improvement over

initial solution.

ARPI: Average of RPIs over the set of instances.

SD: Standard deviation.

Size: Size of the instance.

TimeT: Total CPU time in seconds to stop.

TimeB: CPU time to best in seconds.

Avg-TimeB: Average TimeB over the set of instances

where

RPI ¼ fðinitial solution heuristic solutionÞ=initial solutiong

� 100;

and

RPD ¼ fðheuristic solution best-known

solutionÞ=best-known solutiong � 100:

In the following, the effects of various TS components on

the performance of the TS meta-heuristic are initially

investigated in Tables 1 and 2 using a total of 100 � n

iterations per run on each instance of the first data set. The

best implementation and parameter settings are then identi-

fied and used for reporting our computational results in

Tables 3–5 using a total of 200 � n iterations per run on

each instance.

Table 1 Statistical figures for TS variants ‘with’ and ‘without’data structures

Withoutany DMS

With all DMSbut no Level-2

With allDMS

Avg-TimeB 1120 450 136ARPD 0.78 0.68 0.92SD 1.30 1.17 1.59

Table 2 Computational results of four neighbourhoodmechanisms

l ¼ 1 l ¼ 2 2-consecutive Variable-node

Avg-TimeB 93.7 4368.6 473.8 4682.3ARPI 4.38 4.68 4.90 4.54ARPD 0.88 0.49 0.33 0.72SD 1.46 0.74 0.58 1.98

774 Journal of the Operational Research Society Vol. 53, No. 7

Table 3 Comparison of different tabu search schemes using the 2-consecutive node

No Size I.Sol F-tabu TimeB Rd-tabu TimeB Rb-tabu TimeB RTS-O TimeB RTS-M TimeB RTS-F TimeB

1 12 640.00 602.00 2 602.00 6 602.00 1 602.00 19 602.00 2 602.00 32 12 788.00 722.00 1 722.00 1 722.00 1 722.00 1 788.00 1 722.00 13 20 983.18 963.18 5 961.03 5 962.18 31 964.65 2 964.64 31 961.02 694 20 7412.06 6437.33 86 6437.33 32 6437.33 7 6437.33 31 6437.34 45 6437.29 1205 20 1015.65 1015.34 1 1007.05 46 1007.05 72 1015.34 1 1007.04 49 1007.03 926 20 6516.56 6516.47 43 6516.47 13 6516.47 29 6516.47 1 6516.47 12 6516.47 557 30 8769.00 7284.00 64 7284.00 17 7273.00 177 7288.00 48 7284.00 71 7273.00 2508 30 2428.00 2346.00 74 2346.00 41 2346.00 22 2346.00 136 2346.00 10 2346.00 2239 30 2369.00 2209.00 3 2209.00 10 2209.00 3 2209.00 3 2209.00 3 2209.00 3

10 30 2430.00 2355.00 71 2358.00 15 2355.00 76 2355.00 73 2355.00 5 2355.00 6011 30 5270.00 4755.00 8 4755.00 129 4755.00 24 4759.00 19 4755.00 39 4755.00 10012 30 4092.00 4092.00 4 4092.00 4 4092.00 4 4092.00 4 4092.00 3 4092.00 68713 50 2588.57 2451.75 35 2456.24 310 2437.99 107 2479.28 48 2424.15 293 2432.90 67114 50 9660.86 9126.15 430 9121.72 759 9122.92 288 9120.11 295 9128.25 149 9120.12 75015 50 2658.82 2612.75 17 2587.37 465 2601.22 273 2613.21 71 2587.34 257 2586.38 112216 50 2882.06 2741.50 561 2741.50 749 2739.17 915 2745.88 53 2741.49 1111 2733.79 198817 75 1788.61 1755.10 1399 1765.96 153 1755.10 630 1763.34 112 1760.30 3296 1755.11 286418 75 2486.14 2454.81 376 2386.96 481 2438.45 467 2442.49 1599 2395.95 1724 2404.72 214919 100 8746.18 8667.60 395 8669.67 4139 8659.85 4405 8670.37 4331 8674.11 1565 8665.59 203520 100 4270.29 4129.03 1860 4126.76 1975 4119.43 2283 4089.20 850 4072.75 6343 4065.44 5811Avg-TimeB 204.3 473.8 480.3 384.8 749.9 952.65ARPD 0.52 0.32 0.36 0.54 0.20 0.17SD 0.88 0.60 0.71 0.86 0.29 0.35

F-tabu: Fix tabu search.Rd-tabu: Reverse deterministic tabu search.Rb-tabu: Robust tabu search method.RTS-O: Reactive Tabu Search (Battiti and Tecchiolli’s version).RTS-M: Reactive Tabu Search (Our modified version).RTS-F: Reactive Tabu Search (with best parameter settings).

Table 4 Comparison of the different results with our overall best solutions

No Size Osman and Salhi13 TimeT Taillard 6 TimeT Gendreau et al17 TimeB Liu and Shen11 Our Best TimeB TimeT

1 12 602.00 3 — — — — 602 602.00 1 172 12 722.00 2 — — — — 722 722.00 1 163 20 971.95 5 961.03 — 961.03 164 972 961.03 69 884 20 6445.10 6 6437.33 — 6437.33 253 6475 6437.33 50 805 20 1009.15 5 1008.59 — 1007.05 164 1014 1007.05 63 526 20 6516.56 4 6516.47 — 6516.47 309 6516 6516.47 1 887 30 7310 15 — — — — 7313 7273 63 1138 30 2348 17 — — — — 2347 2346 11 2889 30 2209 14 — — — — 2209 2209 3 358

10 30 2363 14 — — — — 2368 2355 60 22911 30 4755 19 — — — — 4778 4755 64 34212 30 4092 10 — — — — 4092 4087 333 45813 50 2471.07 62 2413.78 470 2408.41 724 2465 2422.10 293 208414 50 9125.65 71 9119.03 570 9119.03 1033 9132 9119.86 485 166015 50 2600.31 46 2586.37 334 2586.37 901 2608 2586.37 1122 234916 50 2745.01 35 2741.50 349 2741.50 815 2809 2730.08 537 68917 75 1762.05 85 1747.24 2072 1749.50 1022 1806 1755.10 1402 187418 75 2412.56 116 2373.63 2744 2381.43 691 2416 2385.52 1516 226119 100 8685.71 289 8661.81 12528 8675.16 1687 8684 8659.74 2001 857020 100 4166.03 306 4047.55 2117 4086.76 1421 4148 4061.64 1918 2692NB 5 8 7 4 15

NA Wassan and IH Osman—Mix fleet vehicle routing problem 775

The effect of data management structure

The general TS algorithm is implemented with simple

settings of TS components with the 1-interchange mechan-

ism in Step 3, and different DMS levels in Step 6 resulting

in three TS implementations, namely ‘Without any DMS

levels’, ‘With all levels but without Level-2’ and ‘With all

DMS levels’. All three implementations use a fixed TS

scheme with tt ¼ 11 which is chosen after making several

trials in the range of ½2; 20�. The computational results of

these implementations are reported in Table 1. The ‘With all

DMS levels’ implementation has achieved a huge reduction

factor of 8.2 in terms of CPU seconds over the ‘Without any

levels’ one. The price for such a reduction is a slight

deterioration in the ARPD value. However, the deterioration

does not always occur as it may also be an improvement as

can be seen in the ‘Without Level-2’ implementation. The

reason is that the approximate re-evaluation of insertions in

Level-2 DMS may lead to different search paths than that

would have been generated by the implementation without

any DMS. Hence, the ‘With all DMS’ will be used in our

different implementations and more savings in terms of

CPU time would be expected with more complex neigh-

bourhood mechanisms and a longer number of iterations.

The effect of neighbourhood mechanism

The main TS algorithm is implemented with the Rd-tabu

scheme to study the effect of the different neighbourhood

mechanisms, namely (i)–(iv), on the performance of the TS

algorithm. The Rd-tabu scheme is selected as it is one of the

best performing TS schemes, as will be shown later. The

computational results of the four implementations are

reported in Table 2. It can be seen that the 1-interchange

mechanism is able to provide a good relative percentage

improvement of 4.38 within a short CPU time. Moreover

both of the 2-interchange and the 2-consecutive-node inter-

change mechanisms improve the ARPD value of the 1-

interchange mechanism, and are more robust with better

standard deviations. This kind of result is expected as the

two neighbourhoods include the 1-interchange mechanism

as a subset. However, the unstable results are mostly

produced by the variable-node interchange mechanism

with its highest SD value and CPU time. The highest

standard deviation is due to the poor performance on

problems 2 and 3 and early convergence on some other

problems. However, it should be mentioned that with this

neighbourhood four best solutions are found for instances of

large sizes, namely problems 7, 13, 18 and 20. One possible

remedy could be to run the 1-interchange mechanism for a

number of iterations followed by the variable-node mechan-

ism. Note that all the four tested implementations use all

levels of data management structures. Taking into account

both the quality of solution and CPU time, it can be deduced

that the 2-consecutive-node mechanism is the one to be

considered for the rest of our experiments.

The effect of TS schemes

First, the F-tabu, Rb-tabu, Rd-tabu and the original reactive

implementation (RTS-O) schemes are compared. Next, a

discussion on implementation issues is presented. For the

comparison, the settings of the F-tabu and Rd-tabu schemes

are explained in the text whereas the settings of Rb-tabu are

obtained after several trials. Rb-tabu scheme found better

results when the tt values are randomly varied for the Rb-

tabu scheme in the range [1–24] after every M iterations,

where M was randomly chosen from the range [12–48]. The

RTS-O procedure uses the original39 settings with an escape

mechanism based on random repositioning of two customers

by swapping their positions within their respective routes in

Step 5 (i). The number of repositioning is random propor-

tional to the moving average, MOVAVG, of the gaps

between recently encountered repetitions.

The computational results from these schemes are

reported in Table 3, from which the followings would be

observed. First, the introduction of the 2-consecu-

tive mechanism produces improved solutions over the

1-interchange mechanism while using a higher CPU time

regardless the embedded TS schemes. Second, our reverse

Table 5 Comparative results for the 8 instances with variable costs

No Size Taillard 6 TimeT Gendreau et al17 TimeB Our Best TimeB TimeT

13 50 1494.58 473 1491.86 626 1499.69 140 27614 50 603.21 575 603.21 669 608.57 575 69515 50 1007.35 335 999.82 736 999.82 289 89316 50 1144.39 350 1136.63 852 1131.00 246 66817 75 1044.93 2245 1031.00 1453 1047.74 2156 222218 75 1831.24 2876 1801.40 1487 1814.11 2469 284719 100 1110.96 5833 1105.44 1681 1100.56 2553 600920 100 1550.36 3402 1541.18 1706 1530.16 2910 3174NB 1 5 4

776 Journal of the Operational Research Society Vol. 53, No. 7

deterministic Rd-tabu, which uses a dynamic control proce-

dure for setting the tt values, outperformed the random and

fixed schemes. Last, the RTS-O scheme are the worst among

the classical scheme in terms of ARPD and SD values. This

performance may be due to the random moves used for

the escape diversification mechanism, despite the good

embedded procedure which invokes the diversification

mechanism.

The unexpected results invited us to investigate the effect

of different settings for the RTS-O scheme. Different trials

are conducted to find the best values for the CHAOS,

INCREASE, DECREASE, MOVAVG and Escp itr para-

meters that control the tt values and the number of iterations

to be performed at each call for diversification. A modifica-

tion is introduced in which every repetition is counted

instead of often-repeated solutions. Better results are

found when all kinds of repetitions are counted with the

following settings: CHAOS ¼ 3; INCREASE ¼ 1:1;DECREASE ¼ 0:8; MOVAVG ¼ 0:1 � GapRept þ

0:7 � MOVAVG and Escp itr ¼ 2 � n. Another modifica-

tion is introduced in which the random repositioning of

customers is replaced by a deterministic approach which

generates more complex moves for the diversification proce-

dure with an escape from the current solution instead from

the best found solution. To investigate this new diversifica-

tion strategy, the set of 2-consecutive-node operators is split

into three sub-groups of operators: the 1-interchange, i.e.

G1 ¼ ð1; 0Þ; ð0; 1Þ and ð1; 1Þ; G2 ¼ ð0; 2Þ; ð2; 0Þ and ð2; 2Þ

and G3 ¼ ð1; 2Þ and ð2; 1Þ. Two reactive TS implementa-

tions (RTS-M and RTS-F) are then derived. Both use the

above settings for the TS parameters but differ in the

implemented neighbourhood mechanism for the main algo-

rithm and for the diversification procedure. RTS-M uses G1

in the main algorithm with G2 for diversification (strategy I)

while RTS-F uses G1 and G2 in the main with G3 for

diversification (strategy II). The results from these two

modifications are reported in the last four columns of

Table 3. It can be seen that the new diversification mechan-

ism produces an improvement over the classical RTS-O

scheme. Moreover, new best known solutions are found

during the search process. In a single experiment on the set

of 20 instances, out of a total of 261 improved solutions, 50

used the escape mechanism process, which is about 19% of

total improvement. Hence it is not sufficient to have a good

dynamic control of the tabu tenure without a proper diver-

sification to obtain good results. This can also be demon-

strated by comparing the results of Rd-tabu and Rb-tabu that

use the 2-consecutive-node mechanism in their main algo-

rithms without diversification versus RTS-M and RTS-F that

use some subsets of the 2-consecutive-node operators in the

main and some operators for diversification.

The last point in our investigation is the effect of hashing

techniques on the CPU time for the RTS schemes. There

is a less significant advantage in using HFS over ULS

techniques. The reason the CPU time for ULS is so close

to HFS time is due to the early detection of the repetition of

moves before searching the whole array since we are only

counting all repetition rather the often-repeated moves.

Generally, the usage of HFS is advisable although collisions

have been noticed during the search. The introduction of

extra columns to store=retrieve overflows would not take

extra CPU times because of a small number of collisions.

Comparison of the computational results

We report in Table 4 results corresponding to the first set of

20 instances with fixed costs and no variable costs. The

results are from left to right as follows. The results13 in

column 2 are the best reported from a single tabu search

with 1-interchange mechanism with a corresponding total

CPU time in seconds to stop in column 3 on a Vax 4500

machine (5.5 Mflop=s). The results6 in column 4 are the best

solutions from five different runs. Each run generates a large

number of routes using a tabu search approach, and then it

selects the final set of routes by solving a set-partitioning

problem. The corresponding average total CPU times in

seconds per run are reported in column 6 on a Sun Sparc 10

workstation with 50 MHz (10 Mflops). The results in

column 7 are the best solutions from ten different runs.

The corresponding average CPU times in seconds to best

per instance are reported in column 8 on a Sun Spark 10

(50 Mhz). The results11 in column 9 are the best of different

runs without reporting CPU time on Pentuim 233 Mhz

personal computer. The last three column are our best

solutions from 5 different runs. These runs are obtained

from the RTS-F algorithm by setting the total number of

diversification iterations Escp itr to take one value from the

set 1 � n; . . . ; 5 � n for each run. The corresponding aver-

age of distances are 3682.47, 3561.99, 3654.68, 3655.10,

and 3655.21, respectively. It can be seen that the best setting

value for Escp itr is 2 � n, with which most of the best

solution values are obtained and a few best solutions are

found with higher diversification iterations. For an unknown

reason, there were no results reported for the set of instances

of size 12 and 30 by Taillard6 and Gendreau et al.17 The

bold values are either the best known or new best values

obtained by the compared algorithms. The full sequences of

new solutions are provided in the Appendix.

The results presented in Table 4, indicate that our algo-

rithm always generates better results than the others that are

tested on the whole 20 instances. It is also very competitive

with those algorithms6,17 with incomplete results. In

general, our reactive algorithm obtains 15 better or equal

solution values, including 6 new best-known solution

values. In cases, where the best-known solutions are not

obtained, good solutions are generated with smaller numbers

of vehicle routes, eg the solutions for problems 17 and 18

use 7 and 16 routes as compared to the published numbers

of 8 and 17, respectively. In addition to the solutions, the

NA Wassan and IH Osman—Mix fleet vehicle routing problem 777

CPU time to best (TimeB) and the total CPU time (TimeT)

are also reported in the tables. It is becoming very difficult

to compare algorithms as it is not only the speed of the CPU

that indicates the performance—cache, main memory, size

of instances and compiler also play a role. The reported

Mflop=s are provided to help in giving a rough idea of the

computational requirement of each algorithm. It seems that

the Osman and Salhi algorithm is the fastest while the others

use more CPU time on comparable machines. The extra

CPU time may be justifiable by the high quality of the

obtained solutions.

Under the same settings of RTS parameters used for the

first data set, we tested our RTS algorithm on a second data

set of 8 instances with variable costs. Since our RTS

algorithm is quite robust, only two runs are executed on

this set. The solution values are provided in Table 5. We

compare our best solution values with Taillard6 and

Gendreau et al17 that use several runs similar to the first

data set. The computational results in Table 5 shows that our

RTS algorithm produces better results than Taillard,6 but it is

comparable to that of Gendreau et al.17 It should be

mentioned that, for problem 20, we have obtained two

best-known solutions. The first solution is with a value of

1530.16 using 13 vehicles whereas the second one is of

value 1533.12 using 12 vehicles. The above observation

demonstrates the flexibility of our RTS algorithm and the

choice it can give to a fleet manager to decide between using

a fixed fleet size or optimising it. Finally it is surprising to

notice a complimentary scenario in which each algorithm

succeeds in finding best-known solutions for instances

where the other fails. There is no obvious explanation for

the above scenario other than the combinatorial nature of the

problems and a further investigation is needed.

Conclusion

We have described several variants of TS meta-heuristic for

the mix fleet vehicle routing problem. The effects of the data

memory structures, the neighbourhood mechanisms, the

tabu search schemes on the quality of solution and compu-

tational requirements are investigated. In fact, the investiga-

tion in this paper has provided a grounding in the essential

ideas of tabu search that facilitates the creation of other

successful applications. First, the new way of using reactive

tabu is shown to be better than its classical approach. The

classical approach uses a number of random moves for

diversification from the same neighbourhood of intensifica-

tion. We have used different and deterministic moves for

diversification like variable neighbourhood search. In fact,

the repetition of solutions concept of reactive tabu search is

used to provide a strategic switch between the 1-interchange

operators for intensification and the more complex 2-conse-

cutive-interchange operators for diversification. Second, it

was a common belief that, if one uses a large neighbour-

hood, one would obtain good solutions at a high CPU time.

We show that it is not the large neighbourhood that gives

good results, but it is how you are strategically splitting the

neighbourhood and how efficiently you are searching it.

Third, the combination of data structures, hashing functions

and the strategic balance between diversification and inten-

sification generate an efficient and robust implementation

with a speed-up factor of more than 8. Such a speed-up is

very essential if we need our algorithm to be used in

commercial packages. Finally, the flexibility of our imple-

mentation suggests that they can be easily adopted for

several other location, routing and scheduling problems.

The competency can clearly be seen from the computational

experience where the developed algorithm proved to be

efficient not only in terms of CPU time saving but also it

performed equally well and provided new best-known solu-

tions for instances proposed in the literature. These contri-

butions are a step in the right direction and stimulate further

research.32

Appendix

Solutions with fixed cost (Golden et al4 instances)

Here solutions for problems 17 and 18 with smaller number

of routes are also provided with best-known solutions.

Problem 1

Number ofcustomers Route Load

Fixedvehicle

cost Duration

4 4 12 11 9 60 100 1122 3 2 32 50 422 6 5 31 50 564 7 10 8 1 59 100 92

Solution cost: 602

Problem 2

Number ofcustomers Route Load

Fixedvehicle

cost Duration

7 6 8 9 11 12 10 7 107 300 1161 5 17 60 442 2 1 29 60 282 4 3 29 60 54

Solution cost: 722

778 Journal of the Operational Research Society Vol. 53, No. 7

Problem 7

Number ofcustomers Route Load

Fixedvehicle

cost Duration

2 20 30 140 800 1442 24 28 100 500 1845 26 27 7 13 22 140 800 2173 23 29 4 140 800 1773 8 25 21 98 500 1661 2 34 150 762 19 10 198 1200 1739 3 6 5 11 16 15 9 14 17 99 500 2183 1 18 12 94 500 168

Solution cost: 7273

Problem 8

Number ofcustomers Route

LoadFixed

vehiclecost Duration

5 24 28 4 3 22 142 200 19015 1 12 26 27 14 9 15 7 13

11 16 5 6 29 23368 600 240

3 17 21 30 150 200 1407 20 25 8 10 19 18 2 383 600 176

Solution cost: 2346

Problem 9

Number ofcustomers Route Load

Fixedvehicle

cost Duration

7 23 14 27 26 8 25 20 288 400 20814 22 6 5 11 16 15 9 7 13

29 28 4 3 24279 400 235

5 1 18 19 10 12 292 400 1834 2 30 21 17 184 240 143

Solution cost: 2209

Problem 10

Number ofcustomers Route Load

Fixedvehicle

cost Duration

2 10 19 198 240 1733 2 1 17 76 100 863 21 30 25 192 240 1609 23 13 7 5 6 28 4 3 22 189 240 2284 8 26 27 18 193 240 2079 20 12 14 9 15 16 11 29 24 195 240 201

Solution cost: 2355

Problem 11

Number ofcustomers Route Load

Fixedvehicle

cost Duration

7 23 5 6 28 4 3 22 184 700 2203 25 30 21 192 700 160

11 24 29 7 13 11 16 15 914 12 20

200 700 209

2 10 19 198 700 1733 2 1 17 76 200 864 8 26 27 18 193 700 207

Solution cost: 4755

Problem 12

Number ofcustomers Route Load

Fixedvehicle

cost Duration

1 2 34 80 764 1 20 25 17 119 300 1476 24 13 27 26 10 8 180 500 2233 18 30 21 177 500 1691 19 173 500 1647 4 28 7 15 9 14 12 180 500 2218 22 3 29 11 16 5 6 23 180 500 207

Solution cost: 4087.00

Problem 16

Number ofcustomers Route Load

Fixedvehicle

cost Duration

11 17 37 44 15 45 33 39 1030 34 46

140 400 121.13

6 48 8 26 31 28 22 80 200 79.475 42 19 40 41 13 79 200 101.166 1 3 36 35 20 29 80 200 97.505 27 7 43 24 47 80 200 87.945 32 2 21 16 38 80 200 71.245 5 49 9 50 11 79 200 61.054 6 23 14 25 80 200 67.593 18 4 12 79 200 42.97

Solution cost: 2730.08

Problem 17

Number ofcustomers Route Load

Fixedvehicle

cost Duration

9 75 2 62 28 61 21 74 30 4 198 150 81.3313 68 33 73 1 22 64 42 43 41 56

23 63 51200 150 121.25

10 17 40 3 44 32 9 39 72 12 26 189 150 72.398 38 65 66 11 59 14 53 7 199 150 101.89

10 34 52 27 13 54 19 35 8 46 67 191 150 70.7411 58 10 31 55 25 50 18 24 49

16 6198 150 135.58

14 45 29 5 15 57 37 20 70 6071 69 36 47 48

199 150 121.89

Solution cost: 1755.10

NA Wassan and IH Osman—Mix fleet vehicle routing problem 779

Solutions with variable cost (Taillard6 instances)

Here solutions for problems 14 and 18 with smaller number

of routes are also provided with best-known solutions.

Problem 18

Number ofcustomers Route Load

Fixedvehicle

cost Duration

5 19 59 14 35 7 95 100 80.975 72 10 31 39 9 97 100 85.63

10 5 37 20 70 60 71 36 6961 28

148 180 116.71

7 8 54 13 57 15 29 45 100 100 77.872 75 4 50 35 15.452 26 67 48 35 17.126 68 2 73 1 63 33 98 100 61.296 53 11 66 65 38 58 150 180 79.452 52 27 46 35 34.42

10 62 22 64 42 43 41 56 2349 3

150 180 119.52

2 12 40 49 35 31.326 44 24 18 55 25 50 100 100 109.812 32 17 48 35 44.473 51 16 6 50 35 40.975 74 21 47 48 30 99 100 62.102 46 34 46 35 23.41

Solution cost: 2385.58

Problem 19

Number ofcustomers Route Load

Fixedvehicle

cost Duration

8 70 20 66 65 71 35 34 78 99 500 118.949 60 83 46 36 49 64 11

62 8899 500 118.84

6 98 91 44 86 38 14 100 500 90.466 55 25 39 67 23 56 99 500 101.885 7 19 47 48 18 97 500 76.567 50 33 81 9 51 1 69 92 500 68.617 54 24 29 79 3 77 76 93 500 75.30

10 73 74 75 22 41 15 4342 57 2

92 500 96.90

8 52 82 8 45 17 84 5 89 100 500 76.126 94 59 93 99 96 6 100 500 41.365 27 68 80 12 28 93 500 49.896 85 61 16 100 37 92 100 500 64.256 30 32 90 63 10 31 100 500 79.745 58 87 97 95 13 99 500 43.896 26 4 72 21 40 53 95 500 56.99

Solution cost: 8659.85

Problem 14

Number ofcustomers Route Load

Variablevehicle

cost Duration

7 22 42 41 43 1 33 6 120 1.0 82.766 26 7 35 46 34 4 119 1.0 46.257 2 28 21 36 47 48 30 156 1.1 78.65

12 12 40 32 9 39 31 10 3811 14 19 8

296 1.4 124.66

10 16 23 49 24 18 25 5044 3 17

154 1.1 115.16

8 27 13 15 20 37 5 29 45 138 1.0 83.47

Solution cost: 608.54

Problem 16

Number ofcustomers Route Load

Variablevehicle

cost Duration

6 10 39 33 45 15 44 78 1.6 97.032 27 6 30 1.0 28.451 12 29 1.0 16.123 7 26 31 37 1.0 77.485 14 25 13 41 18 140 2.1 79.338 46 5 49 30 34 50 16 11 133 2.1 73.389 1 22 28 3 36 35 20 2 32 138 2.1 99.183 23 43 24 37 1.0 72.493 37 17 47 37 1.0 41.864 38 9 21 29 40 1.0 72.874 4 19 40 42 38 1.0 90.412 48 8 40 1.0 47.05

Solution cost: 1131.00

Problem 18

Number ofcustomers Route Load

Variablevehicle

cost Duration

2 4 75 50 1.3 15.453 25 55 31 46 1.3 101.407 34 8 19 54 13 57 15 100 1.9 81.08

18 26 7 35 53 14 59 11 66 6538 10 58 72 39 9 32 40 12

397 3.2 140.21

14 6 33 63 23 56 41 43 42 6422 1 73 62 2

241 2.9 124.40

22 67 46 52 27 45 29 48 5 3720 70 60 71 69 36 47 21 6128 74 30 68

394 3.2 152.25

9 17 3 44 50 18 24 49 16 51 146 2.4 88.13

Solution cost: 1814.11

780 Journal of the Operational Research Society Vol. 53, No. 7

Acknowledgements—The authors would like to thank the editor and the

three referees for their valuable comments that improved the quality of the

paper.

References

1 Semet F and Taillard ED (1993). Solving real-life vehiclerouting problems efficiently using tabu search. Annal OpnsRes 41: 469–488.

2 Rochat Y and Semet F (1994). A tabu search approach fordelivering pet food and flour in Switzerland. J Opl Res Soc 45:1233–1246.

3 Mechti R, Poujade S, Roucairol C and Lemarie B (1999).Global and local moves in tabu search: a real-life mail collectingapplication. In: Voss S, Martello S, Osman IH and Roucairol C(eds). Meta-heuristics: Advances and Trends in LocalSearch Paradigms for Optimisation. Kluwer: Boston, pp 155–173.

4 Golden B, Assad A and Levy L (1984). The fleet size and mixvehicle routing problem. Comput Opns Res 1: 49–66.

5 Salhi S, Sari M, Sadi D and Touati N (1992). Adaptation ofsome vehicle fleet mix heuristics. OMEGA 20: 653–660.

6 Taillard ED (1999). A heuristics column generation method forthe heterogeneous fleet vehicle routing problem. RAIRO 33:1–14.

7 Gheysens F, Golden B and Assad A (1986). A new heuristic fordetermining fleet size and composition. Math Program Study26: 233–236.

8 Ronen D (1992). Allocation of trips to trucks operating fromsingle terminal. Comput Opns Res 19: 445–451.

9 Osman IH and Laporte G (1996). Metaheuristics: a bibliogra-phy. Annal Opl Res 63: 513–623.

10 Desrochers M and Verhoog TW (1991). A new heuristic for thefleet size and mix vehicle routing problem. Comput Opns Res18: 263–274.

11 Liu FH and Shen SY (1999). The fleet size and mix vehiclerouting problem with time windows. J Opl Res Soc 50: 721–732.

12 Clarke G and Wright GW (1964). Scheduling of vehicles from acentral depot to a number of delivery points. Opns Res 12: 568–581.

13 Osman IH and Salhi S (1996). Local search strategies for themix fleet routing problem. In: Rayward-Smith VJ, Osman IH,Reeves CR and Smith GD (eds). Modern Heuristic SearchMethods. Wiley: Chichester, pp 131–153.

14 Salhi S and Rand GK (1993). Incorporating vehicle routing intothe vehicle fleet composition problem. Eur J Opl Res 66: 313–330.

15 Ochi LS, Vianna DS, Drummond LMA and Victor AO (1998).A parallel evolutionary algorithm for the vehicle routingproblem with heterogeneous fleet. Future Generation ComputSyst 14: 285–292.

16 Han AF and Cho Y-J (1999). Generic intensification anddiversification search on the fleet size and mix vehicle routingproblem. In: Rebeiro CC and Hansen P (eds). MIC’99-ThirdMetaheuristics International Conference. Kluwer: Boston, pp269–273.

17 Gendreau M, Laporte G, Musaraganyi C and TaillardED (1999). A tabu search heuristic for the heterogeneousfleet vehicle routing problem. Comput Opns Res 26: 1153–1173.

18 Laporte G and Osman IH (1995). Routing problems: a biblio-graphy. Annal Opns Res 61: 227–262.

19 Laporte G, Gendreau M, Potvin J-Y and Semet F (2000).Classical and modern heuristics for the vehicle routing problem.Int Trans Opl Res 7: 285–300.

20 Sherali HD and Maguire LW (2000). Determining rail fleet sizesfor shipping automobiles. Interfaces 30: 80–90

21 Osman IH (1995). An introduction to meta-heuristics. In:Lawrence M and Wilsdon C (eds). Operational ResearchSociety Tutorial. Operational Research Society: Birmingham,pp 92–122.

22 Osman IH and Kelly JP (1996). Metaheuristics: Theory andApplications. Kluwer: Boston.

23 Glover G and Laguna M (1997). Tabu Search. Kluwer: Boston.24 Voss S, Martello S, Osman IH and Roucairol C (1999). Meta-

heuristics: Advances and Trends in Local Search Paradigms forOptimisation. Kluwer: Boston.

Problem 19

Number ofcustomers Route Load

Variablevehicle

cost Duration

8 18 83 45 17 84 5 60 89 92 1.0 71.3710 53 21 72 75 56 23 67 39 4

26195 1.4 95.99

8 12 80 68 29 24 25 55 54 99 1.0 88.8314 70 30 20 66 65 71 35 34 78

79 3 77 76 28199 1.4 119.88

7 69 1 51 9 81 33 50 92 1.0 68.6110 58 2 57 43 15 41 22 74 73

4096 1.0 88.11

11 27 31 10 62 11 19 47 48 827 52

200 1.4 94.06

11 94 59 93 85 91 100 98 3792 97 95

188 1.4 58.45

9 88 32 90 63 64 49 36 46 8 99 1.0 131.1912 6 96 99 61 16 44 86 38 14

42 87 13198 1.4 97.66

Solution cost: 1100.56

Problem 20

Number ofcustomers Route Load

Variablevehicle

cost Duration

12 26 4 39 23 56 75 22 74 7273 21 40

200 2.0 89.78

7 18 83 8 45 17 84 60 60 1.0 75.016 2 57 15 43 42 87 60 1.0 73.045 69 32 90 63 10 58 1.0 78.18

11 13 94 95 92 98 85 93 59 9996 6

196 2.0 54.47

7 1 51 35 34 78 29 24 57 1.0 105.633 27 53 58 48 1.0 28.37

11 31 70 30 20 66 65 71 9 8133 50

188 2.0 111.44

8 88 62 19 47 48 82 7 52 138 1.7 81.678 28 76 77 3 79 68 80 12 140 1.7 58.69

12 89 5 61 16 86 38 14 44 91100 37 97

200 2.0 101.07

5 41 67 25 55 54 56 1.0 103.965 46 36 49 64 11 57 1.0 115.68

Solution cost: 1530.16

NA Wassan and IH Osman—Mix fleet vehicle routing problem 781

25 Salhi S and Rand GK (1987). Improvements to vehicle routingheuristics. J Opl Res Soc 38: 293–295.

26 Osman IH (1993). Metastrategy simulated annealing and tabusearch algorithms for the vehicle routing problem. Annal OpnsRes 41: 421–451.

27 Chiang WC and Russell RA (1997). A reactive tabu searchmeta-heuristic for the vehicle routing problem with timewindows. INFORMS J Comput 9: 417–430.

28 Thangiah SR, Potvin JYand Sun T (1996). Heuristic approachesto vehicle routing with back-hauls and time windows. ComputOpns Res 23: 1043–1057.

29 Thangiah SR, Osman IH, Vinayagamoorth R and Sun T (1993).Genetic algorithms for the vehicle routing problems with timedeadlines. Am J Math Mngt Sci 13: 323–355.

30 Osman IH and Christofides N (1994). Capacitated clusteringproblems by hybrid simulated annealing and tabu search. IntTrans Opl Res 1: 317–336.

31 Osman IH (1995). Heuristics for the generalised assignmentproblem: simulated annealing and tabu search approaches. ORSpektrum 17: 211–225.

32 Osman IH and Wassan NA. A reactive tabu search meta-heuristic for the vehicle routing problem with back-hauls. JScheduling, to appear.

33 Or I (1976). Travelling salesman-type combinatorial problemsand their relation to the logistics of regional blood banking.Doctoral dissertation, Northwestern University.

34 Potvin JY and Rousseau JM (1995). An exchange heuristic forrouting problems with time windows. J Opl Res Soc 46: 1433–1446.

35 Taillard ED, Badeau F, Gendreau M, Guertin F and Potvin J(1997). A tabu search heuristic for the vehicle routing problemwith soft time windows. Transport Sci 31: 170–186.

36 Fahrion R and Wrede M (1990). On a principle of chain-exchange for vehicle-routing problems (1-VRP). J Opl ResSoc 41: 821–827.

37 Taillard ED (1993). Parallel iterative search methods for vehiclerouting problems. Networks, 23: 661–676.

38 Laguna M and Glover F (1993). Bandwidth packing: a tabusearch approach. Mngt Sci 39: 492–500.

39 Battiti R and Tecchiolli G (1994). The reactive tabu search.ORSA J Comput 6: 126–140.

40 Juliff P (1990). Program Design, 3rd edn. Prentice-Hall:Sydney.

41 Mladenovic N and Hansen P (1997). Variable neighbourhoodsearch. Comput Opns Res 24: 1097–1100.

42 Dongarra JJ (2001). Performance of various computers usingstandard linear equations software. Computer Science Depart-ment, University of Tennessee, CS-89-85. http==www.netlib.org=benchmark=performance.ps

Received February 2000;

accepted December 2001 after one revision

782 Journal of the Operational Research Society Vol. 53, No. 7