tabu search variants for the mix fleet vehicle routing problem
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