**4.2. Genetic operators**

Once individuals are generated and given a fitness value, the next step consists in applying the *genetic operators*, mainly *mutation* and *crossover*, to those individuals selected using a fitness-based selection algorithm (Fig. 5 shows the pseudocode that outlines the main steps of the proposed GA). This selection procedure is based on a biased random selection, where the fittest individuals have a higher probability of being selected than their weaker counterparts. This way, the probability of any individual to be selected is <sup>1</sup> ( ) ( )/ ( ) *i i p n <sup>j</sup> <sup>j</sup> Pk k* ρ ρ *<sup>k</sup>* <sup>=</sup> <sup>=</sup> , with *ρi*(*k*) being the fitness of the *i*th individual in the population during the *k*th iteration of the algorithm. The simplest way to implement this concept is based on a *roulette wheel*, where the size of each slot in the wheel is proportional to the individual's fitness (Mitchell, 1996).

**Figure 5.** Pseudocode of the proposed GA.

The main genetic operators are:

56 Simulated Annealing – Single and Multiple Objective Problems

The initial set of potential solutions,

effectively ignored in the objective function.

station are coded consecutively into the chromosome.

μGA, the population size would be much smaller, in the range 10-20.

in each cell and minimizing the required overall bandwidth.

**P**

The golden rule of GAs is that a set of potential solutions (*population*) can be represented with a predetermined encoding rule. At every iteration *k*, each potential solution (*chromosome*) is associated to a *fitness* value, ρ*i*(*k*), in accordance to its proximity to the optimal solution. Considering the problem of frequencies assignment, the goal is to avoid violating any of the constraints described in section 3.1, while satisfying the traffic demand

no *a priori* knowledge of the solution is available (in our specific CAP, some a priori information is available and will help to generate the initial population −see (Lai, 1996). Let

individuals *ui* per generation. In our problem, *ui* consists of a string structure containing all the channels required for each base station (see Fig. 4). This way, each string represents a particular assignment for all the base stations. By assigning, the number of elements in each string to satisfy the required number of channels for each cell, such computations can be

**Figure 4.** Schematic representation of the chromosome structure for the CAP. Channels for each base

The number of individuals that constitute the population, *np*, is an important issue to be addressed. In (Lai, 1996), Lai and Coghill suggest that a reasonable choice should be in the range 30-110 in order to have a large variability within the population. Since we propose a

Once individuals are generated and given a fitness value, the next step consists in applying the *genetic operators*, mainly *mutation* and *crossover*, to those individuals selected using a fitness-based selection algorithm (Fig. 5 shows the pseudocode that outlines the main steps of the proposed GA). This selection procedure is based on a biased random selection, where the fittest individuals have a higher probability of being selected than their weaker counterparts. This way, the probability of any individual to be selected is

*<sup>k</sup>* <sup>=</sup> <sup>=</sup> , with *ρi*(*k*) being the fitness of the *i*th individual in the population

during the *k*th iteration of the algorithm. The simplest way to implement this concept is based on a *roulette wheel*, where the size of each slot in the wheel is proportional to the

*i i <sup>k</sup>* <sup>=</sup> <sup>=</sup> **<sup>u</sup>** to the population at iteration *k*, with *np* being the number of

[0] (population at *k*=0), is randomly generated when

**4.1. Basic concepts** 

us denote 1 [] { } *<sup>p</sup> <sup>n</sup>*

**4.2. Genetic operators** 

<sup>1</sup> ( ) ( )/ ( )

*<sup>j</sup> <sup>j</sup> Pk k* ρ

*p n*

ρ

individual's fitness (Mitchell, 1996).

*i i*


Simulation results show that with the *simple crossover* operator, a significant number of the generated configurations have the same frequency assigned to a group of base stations that interfere with each other. To alleviate this problem we have implemented the *partially matched crossover* operator (Lai, 1996). This operator partitions each string into three randomly chosen portions. When this operator encounters that the same frequency has been

assigned more than once, it solves this conflict by rearranging the conflicting elements in each string −see (Lai, 1996) for a detailed description. Our range for *pc* is [0.35, 0.85].

Simulated Quenching Algorithm for Frequency Planning in Cellular Systems 59

diversity is a crucial issue in the performance of any evolutionary algorithm, including GAs: standard GAs have a tendency to converge prematurely to local optima, mainly due to selection pressure and too high gene flow between population members (Ursem, 2002). A high selection pressure will fill the population with clones of the fittest individuals and it may result in convergence to local minima. On the other hand, high gene flow is often determined by the population structure. In simple GAs, genes spread fast throughout the

On the other hand, one of the main drawbacks of standard GAs is their excessive computational load: the application of the genetic operators is often costly and the fitness function evaluation is also a very time-consuming step. Besides, population sizes *np* normally are 100, 200 or even much higher −for instance, (Ursem, 2002) uses *np*=400 individuals. The method used in this paper works with much smaller population sizes, in the order of 10 to 20 individuals. An elite of 3 individuals is selected and the crossover and mutation probabilities depend on the Shannon entropy of the population (excluding the

\* \*

 ρ

= − (8)

(9)

*i i*

( ) *p i*

*k*

*i i*

ρ

*k*

1 ( [ ]) ( )log ( ) *p n*

1

=

When all the fitness values are very similar, with small dispersion, **H(P**[*k*]) becomes high and *pc* is decreased −it is not worthwhile wasting time merging very similar individuals. This way, the exploration character of the GA is boosted, while, conversely, exploitation decreases. On the other hand, when this entropy is small, there exists a high diversity within the population, a fact that can be exploited in order to increase the horizontal sense of search. Following a similar reasoning, the probability of mutation is increased when the entropy is high, so as to augment the diversity of the population and escape from local suboptimal solutions (exploitation decreases, exploration becomes higher). Therefore, we have that probabilities *pm* and *pc* are directly/inversely proportional to the population fitness

Finally, some exponentially dependence on time *k* is included in the model −making use of exponential functions− in order to relax, along time, the degree of dependence of the genetic

The complexity of the thus obtained GA is notably decreased since crossover is applied with a very low probability (and only on individuals not belonging to the elite), and the diversity control scheme allows the algorithm to work properly with a much smaller population size.

( ) ( )

ρ

*i k kk* ρ

*i n*

= 

*k*

\*

ρ

with *ρi\**(*k*) being the normalized fitness of individual *ui*, i.e.,

operators' probabilities on the dispersion measure.

=

population, and diversity quickly declines.

elite) fitness, which is calculated as

entropy, respectively.
