Методы оптимизации
2026-04-17Условия Каруша-Куна-Таккера
Введение
В безусловной оптимизации локальный минимум гладкой функции ищется из естественного требования: в точке минимума не должно существовать малого сдвига, уменьшающего значение функции. Если дифференцируема и является локальным минимумом, то обязательно
Эта формула выражает простую геометрическую идею: градиент задаёт направление наискорейшего роста, а значит, если градиент не равен нулю, то в направлении функция убывает и точка не может быть минимумом.
В условной оптимизации эта логика ломается не потому, что она неверна, а потому, что мы больше не можем двигаться в произвольном направлении. Мы ищем минимум не на всём пространстве, а только на допустимом бюджетном множестве . Поэтому в точке оптимума нужно проверять не отсутствие всех убывающих направлений, а отсутствие убывающих допустимых направлений.
Именно из этой идеи и рождается метод множителей Лагранжа, а затем и условия Каруша-Куна-Таккера. Они формализуют вопрос: как выглядит аналог условия , если разрешено двигаться только вдоль ограничений?
Задача условной оптимизации
Будем рассматривать общую задачу математического программирования
Допустимое множество определяется как
Если безусловный минимум функции уже лежит в , то ограничения в некотором смысле не мешают, и задача выраждается в безусловную оптимизацию, а вот когда безусловный минимум вне допустимого множества оптимальная точка часто лежит на границе (так как если мы не уперлись в допустимое множество, мы можем сделать шаг в направлении антиградиента), то есть часть ограничений-неравенств становится активной и начинает вести себя как равенства.
Почему появляются множители Лагранжа
Начнём с простейшего случая одного ограничения-равенства
Пусть — локальный минимум, причём . Рассмотрим малое допустимое смещение . Чтобы не выйти из множества , необходимо, чтобы в первом порядке сохранялось равенство
Так как , для допустимого направления должно выполняться
Значит, допустимые малые сдвиги ортогональны градиенту ограничения. С другой стороны, если бы существовало допустимое направление , в котором
то вдоль этого направления функция уменьшалась бы, и не могла бы быть точкой минимума. Следовательно, в точке локального минимума градиент функции должен быть ортогонален всем допустимым направлениям.
Но множество всех допустимых направлений — это подпространство, ортогональное . Если вектор ортогонален всему этому подпространству, то он должен лежать в линейной оболочке нормали к ограничению. Значит, существует число такое, что
Это и есть условие множителей Лагранжа. Его смысл очень геометричен: в оптимальной точке градиент целевой функции не обязан исчезать, но он должен компенсироваться нормалью к поверхности ограничения.
Лагранжиан и задача с ограничениями-равенствами
Чтобы записывать это условие компактно, вводят лагранжиан
Тогда найденное выше условие принимает вид
При этом само ограничение тоже должно выполняться:
Но последнее можно записать как
Поэтому для задачи с равенствами естественная система необходимых условий выглядит так:
Для нескольких ограничений-равенств
лагранжиан принимает вид
а необходимые условия переписываются как
Здесь уже хорошо видно, зачем нужен лагранжиан: он переводит условную задачу в поиск стационарной точки вспомогательной функции, в которую ограничения встроены через дополнительные параметры.
Переход к ограничениям-неравенствам
Теперь рассмотрим задачу
Здесь есть два принципиально разных случая.
Если в оптимальной точке ограничение неактивно, то есть
то вокруг существует маленькая окрестность, целиком лежащая в допустимом множестве. Значит, ограничение локально не влияет на задачу, и мы снова получаем обычное условие
Если же в оптимуме ограничение активно:
то двигаться можно только вдоль границы. Локально это уже почти та же геометрия, что и в задаче с равенством . Поэтому в этом случае должно существовать такое, что
Знак не случаен. Если бы он был отрицательным, нормаль к ограничению указывала бы не в ту сторону: это соответствовало бы попытке компенсировать градиент функции в направлении, которое не блокируется допустимым множеством. Для задачи на минимум активное ограничение может только препятствовать спуску, а не помогать ему с внешней стороны, поэтому множитель должен быть неотрицательным.
Оба случая удобно объединяются условием
Это условие называется дополняющей нежёсткостью. Оно означает следующее:
- либо ограничение неактивно, то есть , и тогда обязательно ;
- либо множитель положителен, и тогда ограничение обязано быть активным, то есть .
Именно эта логика позволяет перейти от метода Лагранжа для равенств к условиям KKT для неравенств.
Условия Каруша-Куна-Таккера
Для общей задачи
при ограничениях
вводится лагранжиан
Если — локальный минимум и выполнены условия регулярности, то существуют множители и , для которых выполняются условия Каруша-Куна-Таккера:
Эту систему удобно читать по частям.
Стационарность говорит, что в точке оптимума градиент целевой функции компенсируется линейной комбинацией градиентов активных ограничений:
Прямая допустимость просто требует, чтобы точка удовлетворяла исходным ограничениям.
Двойственная допустимость фиксирует правильный знак множителей при неравенствах.
Дополняющая нежёсткость отбрасывает неактивные ограничения из стационарности: если , то автоматически , и соответствующее ограничение не влияет на баланс градиентов.
В результате KKT можно воспринимать как строгую запись интуиции: в оптимуме никакое допустимое направление не должно давать спуск.
Почему KKT естественны
Есть полезный способ мыслить о KKT без запоминания формул. Внутри допустимого множества оптимум ведёт себя как безусловный минимум, поэтому должен исчезать обычный градиент. На границе ситуация меняется: часть направлений запрещена, и потому ненулевой градиент допустим. Но он может иметь компоненту только вдоль нормалей к активным ограничениям. Иначе осталась бы касательная компонента, вдоль которой можно двигаться, не нарушая ограничения, и уменьшать функцию.
Именно поэтому стационарность KKT содержит только градиенты активных ограничений. Неактивные ограничения геометрически далеки от точки и никак не влияют на локальную структуру допустимого множества.
Условия регулярности
Сами по себе KKT не всегда являются необходимыми. Нужны дополнительные предположения, гарантирующие, что допустимое множество в окрестности оптимума устроено достаточно регулярно, а активные ограничения действительно задают корректную локальную геометрию.
Одно из самых простых условий — линейная квалификация ограничений: если все и аффинны, то дополнительных проблем не возникает, и стандартный вывод KKT работает.
Более общее и часто используемое условие — линейная независимость градиентов активных ограничений (LICQ). Оно требует, чтобы в точке векторы
были линейно независимы, где
— множество активных ограничений-неравенств.
Смысл LICQ в том, что активные ограничения не должны локально дублировать друг друга. Если они вырождены, то нормальное пространство определяется неоднозначно, множители могут не существовать или быть неединственными, и стандартная теория ломается.
Условие Слейтера и выпуклый случай
Особенно красива теория KKT в выпуклой оптимизации. Предположим, что
- выпукла;
- все выпуклы;
- все аффинны.
Тогда любая локальная точка минимума автоматически является глобальной. Но этого ещё недостаточно, чтобы KKT были полным критерием оптимальности. Для этого нужно условие Слейтера: существует такая точка , что
и одновременно
Такая точка называется строго допустимой.
Условие Слейтера важно потому, что оно гарантирует нулевой зазор двойственности. А это означает, что у задачи есть достаточно сильная двойственная структура, чтобы KKT стали не только необходимыми, но и достаточными условиями оптимальности.
Доказательство достаточности KKT в выпуклом случае
Это один из самых важных результатов, потому что именно он превращает систему KKT из набора необходимых условий в реальный критерий оптимальности.
Пусть функции удовлетворяют выпуклым предположениям, и пусть найдены , , , удовлетворяющие KKT. Докажем, что — глобальный минимум.
Возьмём произвольную допустимую точку . Выпуклость даёт неравенство первого порядка
Из стационарности KKT имеем
Подставим это в предыдущее неравенство:
Теперь используем выпуклость каждого :
откуда
Для аффинных имеем точное равенство
Так как и , и допустимы, то , поэтому
Следовательно,
Раскроем сумму:
Теперь используем два свойства KKT.
Во-первых, по двойственной допустимости , а по прямой допустимости . Значит,
Во-вторых, по дополняющей нежёсткости
Поэтому
Так как была произвольной допустимой точкой, действительно является глобальным минимумом.
Содержательно это доказательство очень прозрачно: стационарность связывает градиент цели с градиентами ограничений, выпуклость позволяет заменить градиенты на приращения функций, а дополняющая нежёсткость зануляет активный вклад в самой точке оптимума.
Замечание о вторых порядках
Условия первого порядка описывают баланс градиентов, но не различают минимум, максимум и седло в невыпуклой задаче. Поэтому в общей нелинейной оптимизации появляются условия второго порядка, связанные с гессианом лагранжиана
Их смысл тот же, что и в безусловной оптимизации, только проверять положительность нужно не на всех направлениях, а лишь на допустимых касательных направлениях, то есть на тех, которые не нарушают активные ограничения в первом порядке.
В этом конспекте важнее понять саму идею: лагранжиан играет ту же роль, что и исходная функция в безусловной задаче, но геометрия проверки теперь ограничена касательным пространством допустимого множества.
Пример: проекция на единичный симплекс
Рассмотрим задачу
при ограничениях
Это задача проекции точки на единичный симплекс. Она важна не только как упражнение на KKT: такая проекция регулярно возникает в задачах вероятностного моделирования, оптимизации на вероятностных векторах и методах зеркального спуска.
Целевая функция строго выпукла, ограничения выпуклые, а равенство аффинно, поэтому решение единственно и KKT здесь не просто необходимы, а полностью описывают оптимум.
Запишем лагранжиан:
Здесь знак у выбран так, чтобы ограничение было переписано в стандартной форме .
Условия KKT дают:
Теперь разберёмся, что из этого следует. Из стационарности
Если , то по дополняющей нежёсткости , и тогда
Если же , то из стационарности получаем
то есть
Оба случая объединяются одной формулой:
Остаётся подобрать число так, чтобы выполнялось условие нормировки:
Это и есть окончательное описание проекции на симплекс. Смысл формулы очень красив: мы одновременно сдвигаем все координаты на одно и то же значение , а затем отсекаем отрицательные. Геометрически это ровно то, что нужно, чтобы оказаться на гиперплоскости суммы, не выходя из неотрицательного ортанта.
Практически ищут после сортировки координат , что даёт алгоритм сложности .