Multipurpose Genetic Algorithm NSGA-2. Can anyone give me a “simple explanation”?

I am working on a genetic algorithm.

There are two goals, each of which has its own fitness value (fv1, fv2).

I know how generation (SGE) and stationary (SS) genetic algorithms work.

I am trying to understand how NSGA-2 and SPEA-2 work (I use the implementation of the JCLEC java library), in particular:

  • what is the "external population" and how should it be the size
  • what is the difference with the single-object algorithm SS and SGE (part of the fact that each person has only one fitness value)

If someone works with the JCLEC library, these are the parameters that I configure:

  • external population: 1000
  • k-value: 10
  • other attributes are the same for SS and SGE (population size: 100, crossover: MPX crossover, etc.).
+6
source share
2 answers

Here is an explanation of NSGA-II

  • Firstly, he accidentally initializes the population.
  • Chromosomes are sorted and placed in fronts based on Pareto Non dominated sets. At the Pareto front, chromosomes are ranked based on Euclidean between solutions or I-dist (a term used in NSGA-II). As a rule, decisions that are far (not crowded) from other solutions receive a higher priority when choosing. This is done in order to make a diverse solution n installed and to avoid many sets of solutions.
  • The best N (population) chromosomes are selected from the current population and placed in a pairing pool.
  • In a twin pool, tournament selection, crossroads and pairing.
  • The pooled pool and the current population are pooled. The resulting set is sorted, and the best N chromosomes turn it into a new population.
  • Go to step 2 if you have not reached the maximum number of generations.
  • The solution set is the highest ranked Pareto set without dominance from the last population.
+21
source

I recommend reading articles about these algorithms that explain functionality well enough:

  • Deb, Pratab, Agarwal, Meyarivan. Fast and Elite Multipurpose Genetic Algorithm: NSGA-II. IEEE Transactions in Evolutionary Computing 6 (2), p. 182-197, 2002.
  • Zitzler, Laumannes, Thiele. SPEA2: Strength Improvement The evolutionary Pareto algorithm. Technical Report (TIK-103), Swiss Federal Institute of Technology (ETH), 2001

I am sure that you can find a PDF file of these publications on the Internet.

About the difference between a stable GA and a GA generation: In replacing generations, you create a whole new population of the same size as the old one, using only genes in the old population, and then replacing it as a whole. With a stable replacement, you create only one new person, which then replaces only one person in the population. Steady states of GA usually converge faster, but they are less likely to find good local optima, because they do not explore the fitness landscape in the same way as when using generational replacement. It depends on the problem, of course, and sometimes you can choose how many old generations you want to replace, which allows you to have an arbitrary scale between the two.

Additional multi-purpose algorithms exist, such as AbYSS and PAES .

+4
source

Source: https://habr.com/ru/post/917559/