Нелинейное программирование
![]()
|
3. Условия Куна-ТаккераВ предыдущем разделе было установлено, что множители Лагранжа можно использовать при построении критериев оптимальности для задач оптимизации с ограничениями в виде равенств. Кун и Таккер обобщили этот подход на случай общей задачи нелинейного программирования с ограничениями, как в виде равенств, так и в виде неравенств. Рассмотрим следующую общую задачу нелинейного программирования: минимизировать ![]() при ограничениях ![]() ![]() Определение: Ограничение в виде неравенства ![]() ![]() ![]() ![]() Если существует возможность обнаружить ограничения, которые неактивны в точке оптимума, до непосредственного решения задачи, то эти ограничения можно исключить из модели и тем самым уменьшить ее размеры. Основная трудность заключается при этом в идентификации неактивных ограничений, предшествующей решению задачи. Кун и Таккер построили необходимые и достаточные условия оптимальности для задач нелинейного программирования, исходя из предположения о дифференцируемости функций ![]() 3.1. Условия Куна—Таккера и задача Куна—ТаккераНайти векторы ![]() ![]() ![]() ![]() ![]() ![]() Прежде всего проиллюстрируем условия Куна — Таккера на примере. Пример 3 Минимизировать ![]() при ограничениях ![]() Решение. Записав данную задачу в виде задачи нелинейного программирования (0)-(2), получим ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Уравнение (3), входящее в состав условий Куна—Таккера, принимает следующий вид: ![]() откуда ![]() Неравенства (4) и уравнения (5) задачи Куна — Таккера в данном случае записываются в виде ![]() ![]() ![]() Уравнения (5.16), известные как условие дополняющей нежесткости, принимают вид ![]() ![]() Заметим, что на переменные ![]() ![]() ![]() Таким образом, этой задачи условия Куна—Танкера записываются в следующем виде: ![]() |