Нелинейное программирование

Нелинейное программирование

Нелинейное программирование (NLP, англ. NonLinear Programming) — случай математического программирования, в котором целевой функцией или ограничением является нелинейная функция.

Задача нелинейного программирования ставится как задача нахождения оптимума определенной целевой функции F(x_1, \ldots x_n) \, при выполнении условий

 g_j(x_1, \ldots x_n) \ge 0

где  x_i, i = 1, \ldots, n  — параметры,  g_j, j = 1, \ldots, s — ограничения, n — количество параметров, s — количество ограничений.

В отличие от задачи линейного программирования, в задаче программирования нелинейного оптимум не обязательно лежит на границе области, определенной ограничениями.

Методы решения задачи

Одним из методов, которые позволяют свести задачу нелинейного программирования к решению системы уравнений, является метод неопределенных множителей Лагранжа.

Если целевая функция F является линейной, а ограниченным пространством является политоп, то задача является задачей линейного программирования, которая может быть решена с помощью хорошо известных решений линейного программирования.

Если целевая функция является вогнутой (задача максимизации) или выпуклой (задача минимизации) и множеством ограничений служит выпуклая, то задачу называют выпуклой, и в большинстве случаев могут быть использованы общие методы выпуклой оптимизации.

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

Существуют несколько методов для решения невыпуклых задач. Один подход заключается в использовании специальных формулировок задач линейного программирования. Другой метод предусматривает использование методов ветвей и границ, где задача делится на подклассы, чтобы быть решенной с выпуклыми (задача минимизации) или линейными аппроксимациями, которые образуют нижнюю границу общей стоимости в пределах раздела. При следующих разделах в определенный момент будет получено фактическое решение, стоимость которого равна лучшей нижней границе, полученной для любого из приближенных решений. Это решение является оптимальным, хотя, возможно, не единственным. Алгоритм можно прекратить на ранней стадии, с уверенностью, что оптимальное решение находится в рамках допустимого отклонения от найденной лучшей точки; такие точки называются ε-оптимальными. Завершение ε-оптимальных точек, как правило, необходимое для обеспечения конечности завершения. Это особенно полезно для больших, сложных задач и задач с неопределенными расходами или значениями, где неопределенность может быть определена из соответствующей оценки надежности.

Дифференцирование и условия регулярности, условия Каруша — Куна — Такера (ККТ) обеспечивают необходимые условия оптимальности решения. При выпуклости, эти условия являются и достаточными.

Ссылки

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Нелинейное программирование" в других словарях:

  • Нелинейное программирование — [nonlinear programming] раздел математического программирования, изучающий методы решения экстремальных задач с нелинейной целевой функцией и (или) областью допустимых решений, определенной нелинейными ограничениями. В экономике это соответствует …   Экономико-математический словарь

  • нелинейное программирование — Раздел математического программирования, изучающий методы решения экстремальных задач с нелинейной целевой функцией и (или) областью допустимых решений, определенной нелинейными ограничениями. В экономике это соответствует тому, что результаты… …   Справочник технического переводчика

  • НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ — раздел математического программирования, посвященный теории и методам решения задач оптимизации нелинейных функций на множествах, задаваемых нелинейными ограничениями (равенствами и неравенствами). Основная трудность решения задач Н. п. состоит в …   Математическая энциклопедия

  • нелинейное программирование — netiesinis programavimas statusas T sritis automatika atitikmenys: angl. nonlinear programming vok. nichtlineare Programmierung, f rus. нелинейное программирование, n pranc. programmation non linéaire, f …   Automatikos terminų žodynas

  • ПРОГРАММИРОВАНИЕ, МАТЕМАТИЧЕСКОЕ — раздел прикладной математики, применяющийся в качестве метода в экономических исследованиях. Разрабатывает теорию и методы решения условных экстремальных задач, является основной частью формального аппарата анализа разнообразных задач управления …   Большой экономический словарь

  • КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ — раздел выпуклого программирования, посвященный теории и методам решения задач минимизации выпуклых квадратичных функций на множествах, задаваемых системами линейных неравенств и равенств. Существует законченная теория К. п., и разработаны… …   Математическая энциклопедия

  • Линейное программирование — Линейное программирование  математическая дисциплина, посвящённая теории и методам решения экстремальных задач на множествах мерного векторного пространства, задаваемых системами линейных уравнений и неравенств. Линейное программирование… …   Википедия

  • Математическое программирование — [mathematical prog­ramming] (см. также Оптимальное программирование) раздел математики, который «… изучает методы решения задач на нахождение экстремума функций (показателя качества решения) при ограничениях в форме уравнений и… …   Экономико-математический словарь

  • ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ — раздел математического программирования, посвященный теории и методам решения задач минимизации выпуклых функций на выпуклых множествах, задаваемых системами неравенств и равенств. Существует законченная теория В. п. и разработаны многочисленные… …   Математическая энциклопедия

  • Математическое программирование —         математическая дисциплина, посвященная теории и методам решения задач о нахождении экстремумов функций на множествах, определяемых линейными и нелинейными ограничениями (равенствами и неравенствами).          М. п. раздел науки об… …   Большая советская энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»