Algorytm ewolucyjny jest to termin określający przybliżony algorytm optymalizacyjny, w którym stosowane są mechanizmy selekcji, reprodukcji i mutacji inspirowane
przez biologiczny proces ewolucji.

- Inicjalizacja - Krok generujący pierwsze pokolenie populacji
- Selekcja - Wybór "najlepszych" osobników do reprodukcji
- Crossover - Krzyżowanie osobników wybranych podczas selekcji
- Mutacja - Wprowadzenie drobnych, losowych zmian do osobników powstałych w wyniku krzyżowania
- Terminacja - Zakończenie iteracji algorytmu
Z problemem optymalizacji wielokryterialnej mamy do czynienia wówczas, gdy w zadaniu decyzyjnym trzeba jednocześnie uwzględnić kilka funkcji celu. Możliwe rozwiązania optymalizacji klasyfikuje się jako rozwiązania zdominowane i niezdominowane (paretooptymalne).
Dla zadania maksymalizacji zestawu k funkcji celu
f(x) = (f1(x), f2(x), ... fk(x))
rozwiązanie x jest zdominowane, jeśli istnieje dopuszczalne rozwiązanie y nie
gorsze od x, tzn. dla każdej funkcji celu fi
fi(x) <= fi(y) (i=1, ... k)
w przeciwnym wypadku: x jest rozwiązaniem niezdominowanym (paretooptymalne)

Można je podzielić na ekonomiczne:
- Skrócenie czasu podróży
- Redukcja zużycia paliwa
Oraz związane z bezpieczeństwem:
- Omijanie określonej pogody np: cyklony
- Intensywność ruchu jednostek pływających