前言
简单说下KT点求解方法。
一、K-T点求解
1.问题形式
直接拿道题来举例子,以下是我们要求的目标函数f(x),我们希望找到它的最小值。
而它的约束如下,约束有等式也会有不等式,这里等式不用多说,直接用即可,主要是不等式的处理,我们要处理成统一的约束函数形式,这里的约束函数g(x)都小于等于0。
2.转化形式
对约束不等式g(x)进行合理的转化
min f(X) | max f(X) |
---|---|
g(X)<=0 | g(X)>=0 |
3.解题过程
- 构建拉格朗日函数,将目标函数放进去,再将约束函数乘以对应的拉格朗日乘子λ放入;
- K_T条件约束要根据情况讨论
对于等式约束只需要满足
g
(
x
)
i
=
0
g(x)_i=0
g(x)i=0
对于不等式约束,如果
g
(
x
)
i
<
=
0
g(x)_i<=0
g(x)i<=0,则对应的拉格朗日系数
λ
i
>
=
0
λ_i>=0
λi>=0
3.对拉格朗日函数L求参数x1、x2的偏导,如下所示
3. 这里就需要讨论一下λ _2是否等于0的情况了;
4. 当λ _2等于0时,算得x1、x2结果为4、-1,不满足约束x1+x2<=2;
5. 当λ_2不等于0,即x1+x2=2,算得x1、x2结果为1/2、3/2,约束条件均成立;
6. 因此
x
=
(
1
/
2
,
3
/
2
)
x=(1/2,3/2)
x=(1/2,3/2)为最优解,f=1/2是最小值。