Gagasan dasar dari kondisi KKT sebagai kondisi yang diperlukan untuk optimum adalah bahwa jika mereka tidak bertahan pada titik yang layak , maka ada arah δ yang akan meningkatkan tujuan f tanpa meningkatkan (dan karenanya mungkin melanggar) kendala. (Jika kondisi KKT tidak berlaku di x maka xxδfxx tidak bisa menjadi optimal, maka kondisi KKT diperlukan untuk suatu titik menjadi optimal.)
Bayangkan Anda memiliki masalah pengoptimalan:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Di mana dan ada kendala k .x∈Rnk
Misalkan menjadi vektor kolom yang menunjukkan gradien f yang dievaluasi pada x .∇f(x)fx
Diterapkan pada situasi ini, Farkas Lemma menyatakan bahwa untuk setiap titik tepat satux∈Rn pernyataan berikut berlaku:
- Ada ada sehingga Σ k j = 1 λ j ∇ g j ( x ) = - ∇ f ( x ) dan λ ≥ 0λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Ada sedemikian rupa sehingga ∀ j δ ′ g j ( x ) ≤ 0 dan δ ′ ∇ f ( x ) < 0δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
Apa artinya ini? Ini berarti bahwa untuk setiap titik layak , baik:x
- Kondisi (1) tahan dan kondisi KKT terpenuhi.
- Kondisi (2) bertahan dan ada arah yang layak yang meningkatkan fungsi tujuan f tanpa meningkatkan kendala g j . (mis. Anda dapat meningkatkan f dengan berpindah dari x ke x + ϵ δδfgjfxx+ϵδ )
Kondisi (1) menyatakan bahwa ada pengganda non-negatif sehingga kondisi KKT terpenuhi pada titik x . (Secara geometris, dikatakan bahwa - ∇ fλx−∇f terletak pada kerucut cembung didefinisikan oleh gradien dari kendala.)
Kondisi (2) menyatakan bahwa pada titik , ada arah δxδ untuk bergerak (lokal) sehingga:
- Bergerak ke arah mengurangi fungsi objektif (karena produk titik ∇ f ( x ) dan δδ∇f(x)δ kurang dari nol).
- Bergerak ke arah tidak meningkatkan nilai kendala (karena produk titik ∇ g j ( x ) dan δ kurang dari atau sama dengan nol untuk semua kendala j ).δ∇gj(x)δj
(Secara geometris, arah yang layak mendefinisikan hyperplane pemisah antara vektor - ∇ f ( x ) dan kerucut cembung yang ditentukan oleh vektor ∇ g j ( x )δ−∇f(x)∇gj(x) .)
(Catatan: untuk memetakan ini ke Farkas Lemma , tentukan matriks )A=[∇g1,∇g2,…,∇gk]
Argumen ini memberi Anda perlunya (tetapi tidak mencukupi) kondisi KKT secara optimal. Jika kondisi KKT tidak terpenuhi (dan kualifikasi kendala terpenuhi), dimungkinkan untuk meningkatkan tujuan tanpa melanggar kendala.
Peran kualifikasi kendala
Apa yang salah? Anda bisa mendapatkan situasi yang merosot di mana gradien dari kendala tidak secara akurat menggambarkan arah yang memungkinkan untuk bergerak.
Ada banyak kualifikasi kendala yang berbeda untuk dipilih yang akan memungkinkan argumen di atas bekerja.
Penafsiran min, maks. (Yang paling intuitif)
Bentuk Lagrangian
L(x,λ)=f(x)+∑j=1kλjgj(x)
Alih-alih meminimalkan tunduk pada batasan g j , bayangkan bahwa Anda sedang berusaha untuk meminimalkan L sementara beberapa lawan sedang mencoba untuk memaksimalkan itu. Anda dapat mengartikan pengganda λ ifgjLλi sebagai penalti (dipilih oleh beberapa lawan) karena melanggar kendala.
Solusi untuk masalah pengoptimalan asli setara dengan:
minxmaxλL(x,λ)
Itu adalah:
- Anda pertama-tama memilih untuk meminimalkan Lagrangian L , menyadari bahwa ...xL
- Saya kemudian akan memilih untuk memaksimalkan Lagrangian (setelah mengamati pilihan Anda x ).λx
Misalnya, jika Anda melanggar batasan , saya dapat menghukum Anda dengan mengatur λ 2g2λ2 hingga tak terbatas!
Dualitas yang lemah
Untuk fungsi apa pun perhatikan bahwa:f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
Sejak itu berlaku untuk setiap x dan y juga menyatakan bahwa:
max y min x f ( x , y ) ≤ min x max y f ( x , y )x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
Dalam pengaturan Langrian, ini menghasilkan bahwa maxλminxL(x,λ)≤minxmaxλL(x,λ) dikenal sebagai dualitas yang lemah.
Masalah ganda maxλminxL(x,λ) memberi Anda batas yang lebih rendah pada solusi
Dualitas yang kuat
Di bawah kondisi khusus tertentu (mis. Masalah cembung di mana kondisi Slater berlaku), Anda memiliki dualitas yang kuat (yaitu properti saddle point).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Hasil yang indah ini menyiratkan bahwa Anda dapat membalik urutan masalah.
λ
xL
λ