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.
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.
NSGA-II znajduje zastosowanie w wielu dziedzinach, gdzie konieczne jest znalezienie kompromisu pomiędzy kilkoma kryteriami.
A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II