Programowanie ewolucyjne (ang. evolutionary programming, EP) – podzbiór algorytmów ewolucyjnych.
Podstawy programowania ewolucyjnego opracował Lawrence Fogel, zaś rozwinął je jego syn David Fogel. Celem EP miał być rozwój sztucznej inteligencji, w sensie rozwoju możliwości przewidywania zmian w otoczeniu. Otoczenie opisywane było sekwencją symboli, a algorytm ewolucyjny miał tworzyć nowy symbol. Wyjściowy symbol maksymalizował funkcję wypłaty oceniającą dokładność dokonanego przewidywania.
Reprezentacje używane w programowaniu ewolucyjnym są zwykle dopasowane do domeny problemu. Najczęściej wykorzystywaną reprezentacją jest utworzony z liczb rzeczywistych wektor o stałej długości. Zasadnicza różnica między programowaniem ewolucyjnym a innymi podejściami (GA, GP, ES) polega na tym, że nie zachodzi tu wymiana materiału pomiędzy poszczególnymi członkami populacji. Wykorzystywana jest jedynie mutacja.