Algorytm NSGA-II - implementacja C++

NSGA-II (Non-dominated Sorting Genetic Algorithm II) to algorytm ewolucyjny służący do optymalizacji wielokryterialnej. Pozwala on znaleźć najlepsze rozwiązania problemów, które mają kilka celów do osiągnięcia jednocześnie.

Jak działa NSGA-II?

Algorytm rozpoczyna się od losowej populacji rozwiązań. W każdej kolejnej generacji przeprowadza selekcję najlepszych rozwiązań, stosuje operacje genetyczne (krzyżowanie i mutację), a następnie ocenia nową populację według dwóch kluczowych kryteriów:

Proces ten powtarza się przez określoną liczbę iteracji, aż populacja zbierze najlepsze rozwiązania.

Zastosowania

NSGA-II znajduje zastosowanie w wielu dziedzinach, gdzie konieczne jest znalezienie kompromisu pomiędzy kilkoma kryteriami.

Kod programu

Finalny raport programu, podsumowujący wyniki i zakres wykonanych zadań:

Strona 1 raportu Strona 2 raportu Strona 3 raportu Strona 4 raportu Strona 5 raportu Strona 6 raportu Strona 7 raportu Strona 8 raportu Strona 9 raportu Strona 10 raportu Strona 11 raportu Strona 12 raportu

Materiały źródłowe:

Schemes for solving large scale multi-objetive optimization problems using evolutionary algorithms (str. 149-154)

A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II

Ostatnia aktualizacja: 31.01.2025 r.