Primal Problem
For optimize problem in convex set X
x∈Xargmins.t.f(x)gi(x)≤0,i=1,2,…,khj(x)=0,j=1,2,…,l(P)
which is called the primal problem for optimization.
The generalized Lagrange function for primal problem is defined as
L(x,κ,λ)≡w.r.t.f(x)+i=1∑kκigi(x)+j=1∑lλjhj(x)κi≥0,i=1,2,…,k
Comment: here the constraint κi≥0 suggest that, if gi(x)<0, then a κi→∞ would result in L→−∞, which cannot be minimized. This is how κi≥0 helps keep the constraints.
and we could further define a function of x:
θP(x)≡κ,λ:κi≥0maxL(x,κ,λ)={f(x)+∞constraint g,h satisfiedcontraint unsatisfied
which means we can give the solution value of primal problem (P) simply by minimizing θP(x), minimum denoted p∗
p∗≡xminθP(x)=xminκ,λ:κi≥0maxL(x,κ,λ)
Dual problem
Similar to primal problem, we can define a function of κ,λ:
θD(κ,λ)≡xminL(x,κ,λ)
and similarly get the dual problem of primal, value denoted d∗
d∗≡κ,λ:κ≥0maxθD(κ,λ)=κ,λ:κ≥0maxxminL(x,κ,λ)
it is obvious that
d∗=κ,λ:κ≥0maxxminL(x,κ,λ)≤xminκ,λ:κi≥0maxL(x,κ,λ)=p∗
Karush-Kuhn-Tucker Condition (KKT Condition)
KKT condition to allow d∗=p∗ at (x∗,κ∗,λ∗): in the case that
- f(x) and gi(x) are convex
- hj(x) in the form of affine function Ajx+b
- gi(x) are feasible constraints
then KKT⇔p∗=d∗=L(x∗,κ∗,λ∗). The KKT conditions are:
∇xL(x∗,κ∗,λ∗)=0κi∗gi(x∗)=0gi(x∗)≤0κi≥0λj(x∗)=0i=1,2,…,ki=1,2,…,ki=1,2,…,kj=1,2,…,l