algorithm began as a deterministic approach, but
also a probabilistic version has been published, in
which individuals compete in a probabilistic
tournament (M
engshoel and Goldberg, 2008).
Species-based are also used when the problem
requires an in-depth search over the solution space.
In this case, the solution to the lack of diversity is
simulated adding new populations, but the problem
remains within each of these populations (Nicholson
and White, 2008).
The main inconvenience of the techniques
previously described (replacement and crossover
operators) lies in the fact that they add new
parameters that should be configured according the
process of execution of GA. This process may be
disturbed by the interactions among those
parameters (Bäck, Eiben and van der Vaart, 2002).
3 TWO-POPULATION GENETIC
ALGORITHM
In this work a novel approach is presented to
preserve the genetic diversity. It tries to keep the
diversity stable by means of the use of a new
population that works as repository information.
This repository will allow the GA to be able to
create solutions all over the search space. In this
way, the population diversity does not reduce over
the time.
3.1 General Structure
The lack of diversity of the genetic population is the
key feature which will lead to improving efficacy
and efficiency. To do this, a new population is added
to the traditional GA. This population is called
genetic pool, and it forces a homogeneous search
through the search space.
This genetic pool divides the search space into
sub-regions (see Fig. 1), because each individual has
its own fenced range for gene variation, i.e., each
gene of each individual can take values only inside a
limited rank. Therefore, each individual of the
genetic pool represents a sub-region of the search
space, and the whole search space is divided into all
of the individuals of this genetic pool.
Depending on both type and complexity of the
problem that it is intended to solve, the user has to
set the number of sub-regions that require into the
search space. It should be borne in mind that a
traditional GA performs its search only one sub-
region (the whole of the search space).
Figure 1: Sample of Genetic Pool configuration.
The secondary population works as a classical
population, i.e., no additional rank restrictions are
introduced in this population (each individual’s
genes can take values all over the search space). Its
only variation refers to the application of crossover
and mutation operators, which operate between both
populations (explained below).
This secondary population contains the solutions
to the problem, whereas the genetic pool acts as a
support, keeping the search space homogeneously
explored and a diverse population.
3.1.1 Genetic Pool
The main objective of the genetic pool is to allow
the GA to explore the whole search space with a
homogeneous search. As each individual in the
genetic pool represents a sub-region of the global
search space, it has the same structure or gene
sequence than when using a traditional GA.
But these individuals need some extra information
(see Fig. 2). First, in a traditional GA population
these genes can take any valid values, but in the
genetic pool the genes can take values only in a
restricted range (different for each individual). The
total range values are divided into the same number
of parts than individuals in genetic pool, so that a
sub-range of values is allowed to each individual.
Those values that a given gene may have will remain
within its range for the whole of the performance of
the proposed GA. Therefore, if the genetic pool has
a size of N individuals, the whole search space is
partitioned into N parts of the same size, each of
them represented by an individual of the genetic
pool.
In addition of this partition, every individual in
the genetic pool knows which of its genes are part of
the best solution found up to then, i.e., genes that
belong to the best individual in the secondary
population. This flag is used to avoid the
modification of those genes that are the best solution
to the problem.
Also, each gene in each individual in the genetic
pool has a value that indicates the relative increment
G
11
G
21
G
N.1
G
12
G
22
G
N2
Individual1
Individual2
Indiv idual10
[0..1)
[1..2)
[9..10]
[0..2)
[2..4)
[18..20]
…
…
ICAART 2010 - 2nd International Conference on Agents and Artificial Intelligence
636