any number of times, each time with a cost c
e
, and
has a non-negativedemand q
e
. All costs and demands
are integers. The τ edges with non-zero demands are
called required edges or tasks and require service by a
vehicle. The goal is to determine a set of vehicle trips
of minimum total cost, such that each trip starts and
ends at the depot, each required edge is serviced by
one single trip, and the total demand handled by any
vehicle does not exceed W.
Since the CARP is NP-hard, large scale instances
must be solved in practice using heuristics. Among
fast constructive methods, one can cite Path-Scanning
(Golden et al., 1983) and Ulusoy’s splitting technique
(Ulusoy, 1985). Available meta-heuristics are very
recent and include tabu search methods (Belenguer
and Benavent, 2003; Hertz et al., 2000), guided local
search (Beullens et al., 2003) and genetic algorithm
(Lacomme et al., 2001). All these heuristics algo-
rithms can be evaluated through lower bounds (Am-
berg and Voß, 2002).
3 AGENT-BASED APPROACH
The DGA-MAS
1
developed in this work uses several
components of the genetic algorithm algorithm pro-
posed by (Lacomme et al., 2001) for the CARP. The
common parts are described below:
Solution Encoding: The network is coded as a sym-
metric digraph, in which each edge is replaced by two
opposite arcs. A chromosome is an ordered list of the
τ tasks, in which each task may appear as one of two
directions. The implicit shortest paths are assumed
between successive tasks. The chromosome does not
include trip delimiters and can be viewed as a giant
trip for an incapacitated vehicle. A procedure Split
optimally partitions (subject to the sequence) the gi-
ant trip into feasible trips. The fitness function of the
genetic algorithm (GA) is the total cost of the result-
ing CARP solution.
Initialization: The global population P of chro-
mosomes is initialized with the solutions of the
two CARP heuristics cited in introduction (PS and
UH)(Golden et al., 1983; Ulusoy, 1985), completed
by random permutations. The distributed genetic
algorithm (DGA) forbids clones (identical chromo-
somes).
Selection and Crossover: At each iteration, two par-
ents are selected by a biased roulette wheel (Gold-
berg, 1989). Three crossovers were defined for
the giant trip representation, LOX (Linear Order
Crossover), a modified version of the classical order
1
Distributed Genetic Algorithm using Multi-agent Sys-
tem
crossover OX and X1 (crossing in a point).
Mutation: Several mutation operators have been pro-
posed for the CARP, such as inversion, insertion, dis-
placement (MOVE), and reciprocal exchange muta-
tion (SWAP). Reciprocal exchange mutation selects
two positions at random and swaps the tasks on these
positions.
Several researchers are trying to compare the per-
formance of using coarse-grain and fine-grain mod-
els to parallelize genetic algorithms. Some prefer
fine-grain models but others favor coarse-grain ones
(Cant`u-Paz, 2000). As our goal is to develop a
distributed genetic framework without using a pow-
erful connection machine, we choose to implement
a coarse-grain model on a set of networked PCs.
By using the concept of coarse-grained paralleliza-
tion, the population is divided into a few large sub-
populations. These sub-populations evolve indepen-
dently and concurrently on different processors. After
a predefined period of time, some selected individuals
are exchanged via a migration process.
Our distributed genetic algorithms with multiple
sub-populations uses the master-slave (Luque et al.,
2005) multi-agent model for the CARP. The inter-
connection topology is logically a star, with the mas-
ter in the center. Our new migration process is
based on different dynamic migration window meth-
ods (Kim, 2002) and the selective migration model
(Eldos, 2006).
In the master-slave multi-agent model, the master
agent maintains the lists of partial results that are sent
from slaves. At first, the master agent generates the
population and divides them into sub-populations. It
sends them to slave agents. The slaves execute a con-
ventional genetic algorithm on their sub-population:
fitness evaluation, selection, crossover, mutation and
periodically return their best partial results to the mas-
ter agent. Pseudo-code of the conventional genetic
algorithm is shown in section 3.1. The subroutine Mi-
gration is an extension to a general coarse-grained
model. The master stores the partial results in lists.
Then, the master agent searches the lists and selects
two slaves that have bad partial results and sends the
migration window size to selected slaves. The se-
lected slaves exchange individuals according to the
migration window methods. However, in the pro-
posed model, individuals are screened and examined
at both the source and the destination to qualify for
migration. The source gives or denies a visa based on
local qualification criteria and the destination grants
or denies a residency based on local qualification cri-
teria. The simplest form of qualification criteria is
through the individual’s relative fitness. Every in-
dividual in a very sub-population is ranked locally;
AN EFFICIENT INFORMATION EXCHANGE STRATEGY IN A DISTRIBUTED COMPUTING SYSTEM -
Application to the CARP
343