Основне уявлення про умови KKT як необхідних умов для оптимального полягає в тому, що якщо вони не дотримуються в здійсненій точці , то існує напрямок який поліпшить ціль без збільшення (а отже, можливо, порушує) обмеження. (Якщо умови KKT не дотримуються в то не може бути оптимальним, отже, умови KKT необхідні, щоб точка була оптимальною.)xδfxx
Уявіть, що у вас проблема оптимізації:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Де і є обмеження.x∈Rnk
Нехай вектор стовпців, що позначає градієнт обчислений у .∇f(x)fx
Застосовуючи дану ситуацію, Ларма Фаркаса стверджує, що для будь-якого пункту рівно одна з таких заяв:x∈Rn
- Існує такий, що іλ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Існує такий, що іδ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
Що це означає? Це означає, що для будь-якої можливої точки :x
- Умова (1) виконується і умови ККТ виконуються.
- Умова (2) виконується, і існує можливий напрямок який покращує цільову функцію без збільшення обмежень . (наприклад, ви можете покращити , перейшовши від до )δfgjfxx+ϵδ
У умові (1) зазначено, що існує невід'ємні множники такі, що умови KKT задовольняються в точці . (Геометрично сказано, що лежить у опуклому конусі, визначеному градієнтами обмежень.)λx−∇f
Умови (2) зазначено, що в точці існує напрямок для переміщення (локально) таким чином, що:xδ
- Рух у напрямку знижує цільову функцію (тому що крапковий добуток та менше нуля).δ∇f(x)δ
- Рух у напрямку не збільшує значення обмежень (тому що крапковий добуток та менше або дорівнює нулю для всіх обмеження ).δ∇gj(x)δj
(Геометрично, здійсненний напрямок визначає роздільну гіперплану між вектором і опуклим конусом, визначеним векторами .)δ−∇f(x)∇gj(x)
(Примітка: щоб відобразити це у летку Farkas , визначте матрицю )A=[∇g1,∇g2,…,∇gk]
Цей аргумент дає вам оптимальну необхідність (але не достатність) умов KKT. Якщо умови ККТ не виконуються (і кваліфікація обмежень задоволена), можна покращити мету, не порушуючи обмежень.
Роль обмеження кваліфікації
Що може піти не так? Можна отримати вироджені ситуації, коли градієнти обмежень не точно описують можливі вказівки для руху.
Існує безліч різних кваліфікацій обмежень, які вибиратимуть, що дозволить вищезгаданому аргументу працювати.
Мінімальна, максимальна інтерпретація (найінтуїтивніша)
Сформуйте лагранжанина
L(x,λ)=f(x)+∑j=1kλjgj(x)
Замість того, щоб мінімізувати з обмеженнями , уявіть, що ви намагаєтеся мінімізувати тоді як хтось опонент намагається його максимізувати. Ви можете інтерпретувати множники як штрафні санкції (обрані певним противником) за порушення обмежень. fgjLλi
Рішення вихідної проблеми оптимізації еквівалентно:
minxmaxλL(x,λ)
Тобто:
- Спочатку вибираєте щоб мінімізувати Lagrangian , знаючи, що ...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)
У налаштуваннях Langrian це результат, що відомий як слабка подвійність.maxλminxL(x,λ)≤minxmaxλL(x,λ)
Подвійна задача дає нижню межу рішенняmaxλminxL(x,λ)
Сильна подвійність
За певних особливих умов (наприклад, опукла проблема, коли виконується умова Слейтера), ви маєте сильну подвійність (тобто властивість точки сідла).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Цей прекрасний результат означає, що ви можете змінити порядок проблеми.
Я спочатку підбираю штрафні санкції щоб максимізувати лагранжан.λ
Потім вибираєте щоб мінімізувати Lagrangian .xL
- набір в цьому процесі ціна за порушення обмежень, а ціни встановлюються таким чином, що ви ніколи не будете порушувати обмеження.λ