
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