Nsga-ii Getting Started C1 feel useful, welcome to discuss Mutual learning ~follow Me
References 1
References 2
The goal of the vernacular multi-objective multi-objective is a watt?
Multi-objective is the optimization goal in the optimization problem in 3 and above, generally these optimization goals have contradictions, such as: I want to buy a cheap and beautiful and good performance of the car, price, appearance, performance This is a typical multi-objective problem, we must at the price of goods, The appearance and performance of the trade-offs, after all, the appearance of beautiful performance of the car often means high prices.
Is the dominance of multiple targets a watt?
We often hear about domination and non-dominant solutions , so what is domination and what is non-domination? Or an example of a car above, if car a price 300,000, appearance a, etc., performance A, etc., car b price 400,000, appearance A-et, performance a-and so on, said car a dominated the car B. If there is a car c price 200,000, appearance B, performance B, compared to car a, although the appearance and performance of C is worse than car a, but its price is lower than car a, from the price of this evaluation standard, car C is better than car a, so that car C and car A is a non-dominant relationship. That is, when a all targets are superior to B, it is said that a governs B, otherwise A and B are a non-dominant relationship , and in Nsga-ii, all the solutions in the population that are not governed by any other solution constitute the non-dominant frontier (Pareto optimal solution)
The difference between multi-objective genetic algorithm and genetic algorithm-the choice of different multi-objective genetic algorithm and genetic algorithm-the same method of cross-mutation
- The biggest difference between the
- genetic algorithm and the multi-objective genetic algorithm is that the process of choosing , the selection of individual in the population by the fitness function, and the sorting of the multi-objective genetic algorithm based on the non-dominant rank value and the congestion degree. The selects the reserved individual.
- for rank values, first we set the solution set all the solutions that cannot be solved by any other solution (that is, the most powerful solution) to Rank0, and then exclude the solutions from the solution, considering the rest of the solution All solution sets that cannot be controlled by any other solution are selected to be set to Rank1, ... All the solutions in the solution are sorted by the dominant relationship, and the levels of all solutions are obtained. We think that the smaller the rank value the better the solution.
- In the selection process we set the number of individuals in each iteration population n is the constant value , and each time you pick, pick the best solution-the Rank0 solution, followed by Rank1,rank2,rank3 ..., but we always appear \[\sum^{n-1}_{i=0}rank_i>n\] and \[\ Sum^{n}_{i=0}rank_i<n\] , in order to determine the good or bad solution of the same rank layer, set congestion degree as the evaluation criterion of the non-dominant solution of the same rank.
- Genetic algorithm has the nature of automatic convergence, so in order to ensure the multiplicity of solutions, we often want the same rank layer of the solution can be separated from each other, so set the concept of congestion , think The solution of the distance between the Cheby solution of the distance between the solution is better the crowding distance sort is used to maintain the multiplicity of solutions. the crowding distance of each individual is calculated by calculating the sum of the distances between each of the two individuals on each sub-objective function, i.e. the sum of the length and width of the middle dashed quadrilateral
Each parent \ (p_t\) crosses and Mutates (where crossover and mutation in a multiobjective genetic algorithm does not differ from the crossover and mutation in a traditional genetic algorithm) generates a descendant \ (q_t\) , and all individual collections of parents and descendants are called \ (r_t\) , first through the non-dominant sort (r_t\) of the appropriate individuals, and then through the ranking of congestion to select the individual in the same rank layer, so that the new population set \ (P_{t+1} \) the number of individuals is N. This process is often represented using the following two diagrams:
The present life of the NSGA-II algorithm for academic multi-objective
When the genetic algorithm solves the bottleneck of multiobjective optimization, many scholars spend a lot of time and energy on the multi-objective optimization genetic algorithm, Goldberg first Pareto the concept of the optimal solution with the concept of fitness value, and will Pareto the concept and adaptability of the non-dominant sorting hierarchy, The level of rank is low, then the fitness value of individual in its stratification is higher, so the algorithm can evolve toward Pareto optimal frontier and finally output Pareto optimal solution set. After proposing this concept, scholars have put forward a series of multi-objective genetic algorithms, such as SPGA, NPGA, FFGA, NSGA and so on. But the algorithm most representative of Goldberg thought is based on the genetic algorithm of non-dominant sort, namely NSGA (non-dominated sorting genetic algorithm).
On the basis of previous studies, scientists Srinivas and Deb first put forward the concept of non-dominant sequencing genetic algorithm in 1994. The main idea of the algorithm is to layer all the individuals, and each individual set the individual virtual fitness value of the same level of each individual virtual fitness value is the same, the lower the level, the higher the fitness value, the probability of heredity to the next generation is greater. In order to make the results uniformly distributed along the Pareto, it is necessary to ensure the diversity of the individuals in the non-dominant layer, in order to maintain the individual diversity in the non-dominant layer, Srinivas and others adopt the shared function method.
The genetic algorithm with non-dominance ranking has been widely used in multiobjective optimization, but its algorithm has revealed some defects with the more extensive use. first, the time complexity of the NSGA algorithm is high, for \ (O (mn^3) \), m for the target number, n for the size of the population, when the population is too large, the sequencing process will be more time-consuming, reducing the search efficiency. Moreover, the NSGA algorithm does not consider the elite strategy, the elite strategy can improve the computational speed of the algorithm, but also can save excellent individuals. The more important point is that the shared radius parameter is set artificially, and the sharing radius setting is unreasonable, which will have a very big effect on the calculation result.
In order to overcome the disadvantages of the non-dominant sequencing genetic algorithm, Deb and other scholars improved the NSGA algorithm in 2000, and put forward a genetic algorithm nsga-ii based on the fast non-dominant ranking, Nsga-ii has the following differences compared to NSGA :
- computational Complexity in the NSGA calculation, its ordering complexity is \ (o (mn^3) \)(M is the number of target functions, n represents the population size), and the use of NSGA-II algorithm, its computational complexity will be (O (mn^2) \) , the computational efficiency has been improved.
- The idea of implementing elite strategy in the algorithm is: After the generation of the parents through the genetic operation, the choice of the number of individuals to choose the choice of operation N needs from the parents and the offspring of the individual competition, choose the best, the purpose is to be able to save the best individuals.
- compared with the shared radius proposed by the NSGA algorithm, NSGA-II uses the concept of congestion in the same non-dominant layer, by judging the crowding level around the individual and improving the population diversity at the same dominant level, and does not need to set a "sensitive" shared radius parameter. It is better than NSGA algorithm to improve algorithm efficiency and keep population diversity.
Nsga-ii the Pareto optimal solution is distributed evenly, has good convergence and robustness, and has good optimization effect, which is a new way to solve multi-objective optimization problem.
Non-dominant sort
- The time complexity of m individuals and other individuals in the population in the dominant relationship, whether the control of all other individuals, the complexity of O (MN), the loop until the level 1 of the non-dominant individuals are all searched, the complexity of the (O (mn^2) \); In the worst case, there are n levels, one solution for each level, and a complexity of \ (O (mn^3) \)
- Algorithmic Flow Nsga-ii ordering requires two parameters (n_i\) to denote the number of dominant individuals in the population,\ (s_i\) represents the set of individuals in the population that are dominated by individual I. Nsga-ii the following steps for the non-dominance of the population individuals:
- The individual of the non-dominant solution in the population, the individual of \ (n_i=0\) , is put into the set F1 by the unencumbered individual.
- For each individual in the F1, find out the set of entities that each individual in the collection \ (s_i\), the individual L in \ (s_i\) , and the \ (n_l\) minus 1 operations, so \ (n_l = N_ l-1\) , if \ (n_l\) size is 0, the individual is stored in set H.
- Defines the collection F1 as the first non-dominant set and marks the same non-dominant sequence \ (i_{rank}\)for each individual in the F1.
- For individuals in Set H, follow steps 1, 2, and 3 above until all individuals are layered.
Sort of congestion
- objective to ensure that the individual of the solution can be evenly distributed at the Pareto frontier in the same layer, the non-dominant individuals in the same layer have diversity, otherwise, the individual is "crowding" in a place, and the Pareto optimal solution set will not be obtained. The NSGA-II employs a congestion strategy that calculates the density of other individuals around a given individual in the same non-dominant hierarchy.
- The crowding distance of each individual is calculated by calculating the sum of the distances between each of the two individuals on each sub-objective function. \[d_i= (f_{i+1,1}-f_{i-1},1) + (f_{i-1,2}-f_{i+1,2}) \] , which is the sum of the length and width of the middle dashed quadrilateral.
Nsga-ii Sorting algorithm
- When each individual has these two attributes, it is possible to determine the dominant relationship of any two individuals through these two attributes. When two individuals are not at the same non-dominant level, by judging \ (i_{rank}\) size, determine the merits of the individual,\ (i_{rank}\) value of small individuals than \ (i_{rank}\) large individuals better When two random individuals are at the same non-dominant level, it is better to judge the individual's superiority according to the individual crowding degree, and the individual crowding is greater than the individual crowding degree.
NSGA-II algorithm flow nsga-ii algorithm flow-to achieve a certain evolutionary algebra stop
Firstly, the population was initialized, the initial population was obtained by the fast non-dominant sorting, selection, crossover and mutation operation, the individual number of the population was N, the parent population and the descendant population were combined, and the next generation population was calculated by sorting and crowding. After a new generation of population, the next generation continues to be produced according to genetic manipulation, Until the maximum evolutionary algebraic stop is reached.
NSGA-II algorithm Flow-algorithm convergence stop
- Create an initial parent population \ (p_0\) using crossover and mutation operations to produce descendant populations \ (q_0\)
- Non-dominant ( r_0\) of \ (p_0\) h and \ (q_0\) , constructs all different levels of non-dominant solution sets \ (Z_1,z_2,z_3 ... \)
- In order to rank the non-dominant solution sets, the first N solutions are obtained according to the degree of adaptability, and the parent population of the next iteration is formed (p_1\) .
- Repeat the 3 steps above until the results converge
Nsga-ii Getting Started C1