**5.2.4 Crossover**

The task of the crossover operator is to reach regions of the search space with higher average quality. New solutions are created by combining pairs of individuals in the population and then applying a crossover operator to each chosen pair. Combining pairs of individuals can be viewed as a matching process. The individuals are visited in random order. An unmatched individual *ik* is matched randomly with an unmatched individual *il*. Thereafter, the two-point crossover operator is applied using a crossover probability to each matched pair of individuals. The two-point crossover selects two randomly points within a chromosome and then interchanges the two parent chromosomes between these points to generate two new offspring. Recombination can be defined as a process in which a set of configurations (solutions referred as parents ) undergoes a transformation to create a set of configurations (referred as offspring). The creation of these descendants involves the location and combinations of features extracted from the parents. The reason behind choosing the two point crossover are the results presented in (41) where the difference between the different crossovers are not significant when the problem to be solved is hard. The work conducted in (39) shows that the two-point crossover is more effective when the problem at hand is difficult to solve. In addition, the author propose an adaptive mechanism in order to have evolutionary algorithms choose which forms of crossover to use and how often to use them, as it solves a problem.

### **5.2.5 Mutation**

The purpose of mutation which is the secondary search operator used in this work, is to generate modified individuals by introducing new features in the population. By mutation, the alleles of the produced child have a chance to be modified, which enables further exploration of the search space. The mutation operator takes a single parameter *pm*, which specifies the probability of performing a possible mutation. Let *C* = *c*1, *c*2, ......*cm* be a chromosome represented by a binary chain where each of whose gene *ci* is either 0 or 1. In our mutation operator, each gene *ci* is mutated through flipping this gene's allele from 0 to 1 or vice versa if the probability test is passed. The mutation probability ensures that, theoretically, every region of the search space is explored. If on the other hand, mutation is applied to all genes, the evolutionary process will degenerate into a random search with no benefits of the information gathered in preceding generations. The mutation operator prevents the searching process form being trapped into local optimum while adding to the diversity of the population and thereby increasing the likelihood that the algorithm will generate individuals with better fitness values.

### **5.2.6 Selection**

6 VLSI Design

A representation is a mapping from the state space of possible solutions to a state of encoded solutions within a particular data structure. The chromosomes (individuals) which are assignments of values to the variables are encoded as strings of bits, the length of which is the number of variables (or clusters if MA is operating on a coarse level). The values *True* and *False* are represented by 1 and 0 respectively. In this representation , an individual X

A initial solution is generated using a population consisting of 50 individuals. According to our computational experience, larger populations do not bring effective improvements on the quality of the results. At the coarsest level, MA will randomly generate an initial population

The task of the crossover operator is to reach regions of the search space with higher average quality. New solutions are created by combining pairs of individuals in the population and then applying a crossover operator to each chosen pair. Combining pairs of individuals can be viewed as a matching process. The individuals are visited in random order. An unmatched individual *ik* is matched randomly with an unmatched individual *il*. Thereafter, the two-point crossover operator is applied using a crossover probability to each matched pair of individuals. The two-point crossover selects two randomly points within a chromosome and then interchanges the two parent chromosomes between these points to generate two new offspring. Recombination can be defined as a process in which a set of configurations (solutions referred as parents ) undergoes a transformation to create a set of configurations (referred as offspring). The creation of these descendants involves the location and combinations of features extracted from the parents. The reason behind choosing the two point crossover are the results presented in (41) where the difference between the different crossovers are not significant when the problem to be solved is hard. The work conducted in (39) shows that the two-point crossover is more effective when the problem at hand is difficult to solve. In addition, the author propose an adaptive mechanism in order to have evolutionary algorithms choose which forms of crossover to use and how often to use them, as it solves a

The purpose of mutation which is the secondary search operator used in this work, is to generate modified individuals by introducing new features in the population. By mutation, the alleles of the produced child have a chance to be modified, which enables further exploration of the search space. The mutation operator takes a single parameter *pm*, which specifies the probability of performing a possible mutation. Let *C* = *c*1, *c*2, ......*cm* be a chromosome represented by a binary chain where each of whose gene *ci* is either 0 or 1. In our mutation operator, each gene *ci* is mutated through flipping this gene's allele from 0 to 1 or vice versa if the probability test is passed. The mutation probability ensures that, theoretically, every region of the search space is explored. If on the other hand, mutation is applied to all genes, the evolutionary process will degenerate into a random search with no benefits of the information gathered in preceding generations. The mutation operator prevents the searching

corresponds to a truth assignment and the search space is the set *<sup>S</sup>* <sup>=</sup> {0, 1}*n*.

of 50 individuals in which each gene's allele is assigned the value 0 or 1.

**5.2.2 Representation**

**5.2.3 Initial population**

**5.2.4 Crossover**

problem.

**5.2.5 Mutation**

The selection operator acts on individuals in the current population. During this phase, the search for the global solution gets a clearer direction, whereby the optimization process is gradually focused on the relevant areas of the search space. Based on each individual quality (fitness), it determines the next population. In the roulette method, the selection is stochastic and biased toward the best individuals. The first step is to calculate the cumulative fitness of the whole population through the sum of the fitness of all individuals. After that, the probability of selection is calculated for each individual as being *PSelectioni* <sup>=</sup> *fi*/ <sup>∑</sup>*<sup>N</sup>* <sup>1</sup> *f i*, where *fi* is the fitness of individual i.
