Optymalizacja to działanie polegające na ulepszeniu metody lub projektu. W programowaniu optymalizacja zwykle przyjmuje formę zwiększenia prędkości algorytmu lub zmniejszenia wymaganych zasobów. Innym znaczeniem optymalizacji są numeryczne algorytmy optymalizacji stosowane w uczeniu maszynowym.