Нелинейное программирование (NLP, англ. N on L inear P rogramming) — случай математического программирования, в котором целевой функцией или ограничением является нелинейная функция.
Задача нелинейного программирования ставится как задача нахождения оптимума определенной целевой функции при выполнении условий
где — параметры, — ограничения, — количество параметров, — количество ограничений.
В отличие от задачи линейного программирования, в задаче программирования нелинейного оптимум не обязательно лежит на границе области, определенной ограничениями.