Основная идея условий KKT как необходимых условий для оптимума заключается в том, что если они не выполняются в допустимой точке , то существует направление δ , которое улучшит цель f, не увеличивая (и, следовательно, возможно, нарушая) ограничения. (Если условия KKT не выполняются при x, то x не может быть оптимальным, поэтому условия KKT необходимы для того, чтобы точка была оптимальной.)xδfxx
Представьте, что у вас есть проблема оптимизации:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Там , где и существует K ограничений.x∈Rnk
Пусть - вектор-столбец, обозначающий градиент f, оцененный в точке x .∇f(x)fx
Применительно к данной ситуации, Фаркаш лемма утверждает , что для любой точки ровно одна из следующих утверждений:x∈Rn
- Существует такое , что ∑ k j = 1λ∈Rk и λ ≥ 0∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Там существует такое , что ∀ Jδ∈Rn и & delta ; ' ∇ F ( х ) < 0∀jδ′gj(x)≤0δ′∇f(x)<0
Что это значит? Это означает, что для любой возможной точки , либо:x
- Условие (1) выполнено и условия KKT выполнены.
- Условие (2) выполнено и существует допустимое направление δ которое улучшает целевую функцию без увеличения ограничений g j . (например, вы можете улучшить f , перейдя от x к x + ϵ δ )fgjfxx+ϵδ
Условие (1) утверждает, что существуют неотрицательные множители такие что условия KKT выполняются в точке x . (Геометрически это говорит о том, что - ∇ f лежит в выпуклом конусе, определяемом градиентами ограничений.)λx−∇f
Условие (2) гласит, что в точке существует направление δ для перемещения (локально), такое что:xδ
- Перемещение в направлении уменьшает целевую функцию (так как скалярное произведение ∇ F ( х ) и б меньше нуля).δ∇f(x)δ
- Двигаясь в направлении не увеличивает значение ограничений (поскольку произведение точек ∇ g j ( x ) и δ меньше или равно нулю для всех ограничений j ).δ∇gj(x)δj
(Геометрически, допустимое направление δ определяет разделяющую гиперплоскость между вектором и выпуклым конусом, определяемым векторами ∇ g j ( x ) .)−∇f(x)∇gj(x)
(Примечание: чтобы отобразить это в лемму Фаркаша , определите матрицу )A=[∇g1,∇g2,…,∇gk]
Этот аргумент дает вам необходимость (но не достаточность) условий KKT в оптимальном режиме. Если условия KKT не выполнены (и удовлетворены ограничения), можно улучшить цель, не нарушая ограничений.
Роль ограничений квалификации
Что может пойти не так? Вы можете получить вырожденные ситуации, когда градиенты ограничений не точно описывают возможные направления движения.
Существует множество различных квалификационных ограничений , которые позволят использовать приведенный выше аргумент.
Мин, Макс интерпретация (IMHO наиболее интуитивно понятный)
Форма лагранжиана
L(x,λ)=f(x)+∑j=1kλjgj(x)
Вместо минимизации учетом ограничений g j , представьте, что вы пытаетесь минимизировать L, в то время как какой-то противник пытается максимизировать его. Вы можете интерпретировать множители λ i как штрафы (выбранные некоторым оппонентом) за нарушение ограничений. fgjLλi
Решение исходной задачи оптимизации эквивалентно:
minxmaxλL(x,λ)
То есть:
- xL
- λx
g2λ2
Слабая двойственность
f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
maxλminxL(x,λ)≤minxmaxλL(x,λ)
maxλminxL(x,λ)
Сильная двойственность
При определенных особых условиях (например, выпуклая задача, где выполняется условие Слейтера), вы имеете сильную двойственность (то есть свойство седловой точки).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Этот прекрасный результат подразумевает, что вы можете изменить порядок задач.
λ
xL
λ