minf(x)s.t.gk(x)⩽0,k=1,2,...q(3)(4)
(3)
min
f
(
x
)
(4)
s
.
t
.
g
k
(
x
)
⩽
0
,
k
=
1
,
2
,
.
.
.
q
转化为一个极大极小问题:
L(x,u)=f(x)+∑k=1qukgk(x),uk⩾0maxuminxL(x,u)
L
(
x
,
u
)
=
f
(
x
)
+
∑
k
=
1
q
u
k
g
k
(
x
)
,
u
k
⩾
0
max
u
min
x
L
(
x
,
u
)
不明白为什么?没关系,下面先看两个证明(两个方向),
1、证明minxf(x)=minxmaxuL(x,u)
min
x
f
(
x
)
=
min
x
max
u
L
(
x
,
u
)
因为,
uk⩾0gk(x)⩽0}→ug(x)⩽0
u
k
⩾
0
g
k
(
x
)
⩽
0
}
→
u
g
(
x
)
⩽
0
所以,
maxuL(x,u)=f(x)
max
u
L
(
x
,
u
)
=
f
(
x
)
于是,
minxf(x)=minxmaxuL(x,u)
min
x
f
(
x
)
=
min
x
max
u
L
(
x
,
u
)
2、证明minxf(x)=maxuminxL(x,u)
min
x
f
(
x
)
=
max
u
min
x
L
(
x
,
u
)
maxuminxL(x,u)=maxu[minxf(x)+minxug(x)]=maxuminxf(x)+maxuminxug(x)=minxf(x)+maxuminxug(x)(5)(6)(7)
(5)
max
u
min
x
L
(
x
,
u
)
=
max
u
[
min
x
f
(
x
)
+
min
x
u
g
(
x
)
]
(6)
=
max
u
min
x
f
(
x
)
+
max
u
min
x
u
g
(
x
)
(7)
=
min
x
f
(
x
)
+
max
u
min
x
u
g
(
x
)
上述式子中,
maxuminxf(x)
max
u
min
x
f
(
x
)
因为
f(x)
f
(
x
)
与
u
u
无关,所以maxuminxf(x)=minxf(x)。我们着重考察下后面个式子,因为
uk⩾0gk(x)⩽0}→minxug(x)={0,u=0或g(x)=0−∞,u>0且g(x)<0
u
k
⩾
0
g
k
(
x
)
⩽
0
}
→
min
x
u
g
(
x
)
=
{
0
,
u
=
0
或
g
(
x
)
=
0
−
∞
,
u
>
0
且
g
(
x
)
<
0
所以,
maxuminxug(x)=0,此时有u=0或g(x)=0
max
u
min
x
u
g
(
x
)
=
0
,
此
时
有
u
=
0
或
g
(
x
)
=
0
也就是说,
maxuminxL(x,u)=maxu[minxf(x)+minxug(x)]=maxuminxf(x)+maxuminxug(x)=minxf(x)+maxuminxug(x)=minxf(x)(8)(9)(10)(11)
(8)
max
u
min
x
L
(
x
,
u
)
=
max
u
[
min
x
f
(
x
)
+
min
x
u
g
(
x
)
]
(9)
=
max
u
min
x
f
(
x
)
+
max
u
min
x
u
g
(
x
)
(10)
=
min
x
f
(
x
)
+
max
u
min
x
u
g
(
x
)
(11)
=
min
x
f
(
x
)
上面两个证明,什么意思呢?也就是原始问题(不等式约束)转化为了两个等价的问题(无约束):
minxf(x)=minxmaxuL(x,u)=maxuminxL(x,u)(12)(13)
(12)
min
x
f
(
x
)
=
min
x
max
u
L
(
x
,
u
)
(13)
=
max
u
min
x
L
(
x
,
u
)
我们将
maxuminxL(x,u)
max
u
min
x
L
(
x
,
u
)
称为原问题
minxmaxuL(x,u)
min
x
max
u
L
(
x
,
u
)
的对偶问题。
有了KKT条件我们的原始问题如下求得
L(x,u)=f(x)+∑k=1qukgk(x)uk⩾0gk(x)⩽0(14)(15)(16)⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪→⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪minxf(x)ukgk(x∗)=0∂L(x,u)∂x|x=x∗=0=minxmaxuL(x,u)=maxuminxL(x,u)
(14)
L
(
x
,
u
)
=
f
(
x
)
+
∑
k
=
1
q
u
k
g
k
(
x
)
(15)
u
k
⩾
0
(16)
g
k
(
x
)
⩽
0
}
→
{
min
x
f
(
x
)
=
min
x
max
u
L
(
x
,
u
)
=
max
u
min
x
L
(
x
,
u
)
u
k
g
k
(
x
∗
)
=
0
∂
L
(
x
,
u
)
∂
x
|
x
=
x
∗
=
0