Эвристическим программированием названы такие методы поиска оптимальных решений, основу которых составляют формализованные (т.е. представленные в виде конечного алгоритма) эвристики, причем под эвристикой понимаются методы отыскания нового.