**4.1. Basic concepts**

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 in each cell and minimizing the required overall bandwidth.

Simulated Quenching Algorithm for Frequency Planning in Cellular Systems 57

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

• **Mutation**: the mutation operator modifies specific individuals with probability *pm*, changing the value of some concrete positions in the encoding of individual *ui*. The number of positions within the encoding of the channels of each cell that are candidates for possible mutation is half the number of channels present at that base station. Both the specific positions and the new values are randomly generated, and mutation is performed with probability *pm*. Notice that this genetic operator promotes the exploration of different areas of the solutions space. A low level of mutation serves to prevent any element in the chromosome from remaining fixed to a single value in the entire population, while a high level of mutation will essentially result in a random search. Hence, probability *pm* must be chosen carefully in order to avoid excessive mutation. To maintain a good balance between such extremes a good initial value for *pm*

is 0.02-0.05 (Lai, 1996; Grefenstette, 1986). In our application, *pm*(0)=0.04.

within these individuals are intended to also generate high fit individuals.

• **Crossover:** the crossover operator requires two operands (*parents*) to produce two new individuals (*offspring*), which are created merging parents by crossing them at specific internal points. This operation is performed with probability *pc*. Since parents are selected from those individuals having a higher fitness, the small variations introduced

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

The main genetic operators are:

The initial set of potential solutions, **P**[0] (population at *k*=0), is randomly generated when 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 us denote 1 [] { } *<sup>p</sup> <sup>n</sup> i i <sup>k</sup>* <sup>=</sup> <sup>=</sup> **<sup>u</sup>** to the population at iteration *k*, with *np* being the number of 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 effectively ignored in the objective function.

**Figure 4.** Schematic representation of the chromosome structure for the CAP. Channels for each base station are coded consecutively into the chromosome.

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 μGA, the population size would be much smaller, in the range 10-20.
