Genetic Algorithms (GAs) [3, 4] are optimization algorithms based on the mechanics of natural selection and natural genetics, where stronger individuals are the likely winners in a competitive environment. They represent a class of iterative optimization algorithms that simulate the evolution of species. GAs presume that a potential solution to any problem is an individual represented by a set of parameters. These parameters are regarded as genes and can be structured on a string or chromosome. A fitness function is defined in order to estimate the goodness of an individual. Initially, the population is usually generated randomly. Every individual in the population is an encoded version of a possible solution. At each step, individuals are selected to form the parents, following a selection paradigm in which individuals with better fitness are selected with a higher probability. Then, they are evolved by means of genetic operators, such as reproduction, crossover, and mutation, to generate new offsprings (the next generation) that is hoped to fit better than the previous one. Finally, a replacement scheme is applied to determinate which individuals of the population will survive from the offsprings and the parents. This process is repeated until a stopping criterion is fulfilled.
4.6. Genetic algorithm
The reproduction operator creates a literal copy of selected individuals from the parent population in the descendant generation. The crossover operator is applied to pairs of individuals in order to interchange their genetic material. To generate good offspring, a good mechanism for selecting parents is necessary. Roulette wheel selection is one of the most common techniques [5]. When using this method, the probability of selecting an individual is proportional to its health. In this way, good properties should propagate down the generations. On the other hand, the mutation operator makes a random change in the genetic material of a single individual, allowing the GA to explore new corners of the search space and hence avoiding the risk of being trapped in a local optimum. The evolution process is repeated a predefined number of iterations or until another criterion is met. Since individuals from the population become fitter throughout the generations, it is hoped that the final population will contain an optimal or near optimal solution.
4.6.1 Multi-objective genetic algorithm
The problem considered in this study is to establish a vector, or set, of best-fit parameters (a, b, 1, 2 and ↵), to minimize simultaneously the error between two sets of measured
and estimated values. To satisfy two objectives simultaneously, two main approaches are used to overcome this problem in the literature. The first one consists in the combination of the different objectives into a single one, and then use one of the techniques for single objective optimization [6,7]. In such cases, the compromise between the objectives is a priori determined through the choice of the combination rule. The main criticism addressed to this approach is the difficulty to choose a priori the compromise.
Another method is to postpone this choice after having several candidate solutions. This is the goal of the Pareto-based method using the notion of dominance between candidate solutions: Given a set of objectives, a solution is said to Pareto dominate another if the first is not inferior to the second in all objectives, and, additionally, there is at least one objective where it is better [8]. In this case, the goal of the search algorithm becomes the identification of a set of solutions which are non-dominated by any others, which is the main concept behind MOGA [5].
MOGA uses a controlled elitist genetic algorithm [9], which favors individuals with better fitness value but also individuals that can help increase the diversity of the population, even if they have a lower fitness value. It is important to maintain the diversity of the population, i.e. the proximity measure between two population members [5], for the process to converge to an optimal Pareto front. This is done by controlling the number of individuals in the Pareto front (and therefore the elite members) as the algorithm runs, and by favoring individuals that are relatively far away from the front. We set the fraction of individuals in the Pareto front to 35 % of the population size.
For the computation of the unknown parameters of (4.12) and (4.13), two objective functions, FPI and FPJ, must be minimized simultaneously. Each function is the Root Mean
Squared Error (RMSE) between all the point from the computed (Pc) and the measured
powers (Pm) for one output port (port #I or port #J). These functions are given by the
following equations:
Rogério Pais Dionísio 4. MZI-SOA Static Model FPI = v u u t 1 N N X k=1 ⇣⇥ Pm I (k) PIc(k) ⇤2⌘ (4.28) FPJ = v u u t 1 N N X k=1 ⇣⇥ Pm J (k) PJc(k) ⇤2⌘ (4.29) Where N is the number of measured data points used in the fitting process.
From the Pareto front and the corresponding candidate solutions, we perform discrimination of the optimized sets error-wise, and then finally select one that has the lowest error from the rest of the characterizations, i.e., a single solution is chosen from the Pareto front, as the lower mean value between FPI and FPJ,
FP = min
⇢
FPI+ FPJ
2 (4.30)
An initial set of values may be used to initiate the population (parameters). In that case, all individuals of the initial population are randomly generated from a seed individual, composed by a set of non-random parameters selected by the user. Upper and lower boundaries may be also defined and used to set a range to each parameter, according to their physical limits or other valid criteria.