卡罗需-库恩-塔克条件判断约束极值点的应用方法1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为:
( ) ∇2x L
x*, λ
=
⎡⎢15 ⎢
1 3
⎢0
0 2
0
⎤ ⎥
⎥ 0⎥

2⎥
⎢⎣ 0 0 2 3⎥⎦
其海森矩阵正定,因此,该点为约束极值点。
5.J<N 的求解实例
对于约束优化问题:
min f (x) = ( x1 − 5)2 + 4 ( x2 − 6)2 s.t. g1 (x) = x12 + x22 − 64 ≥ 0
( ) 向 ∇ f x* 在其中任一个基本梯度组的夹角锥体中(即满足式 2),则 x* 具备约束极值点的
必要条件。该判断过程可由图 2 表示。其中,Zi 为第 i 个基本梯度组。如果将该锥体的棱边
按顺序排列,则只须检查包含一个棱边的顺序组合,共有 J − N +1个。 N −2
-3-
中国科技论文在线
u =1
v =1
(1)
判断某边界点 x*是否为约束极值点的 KKT 条件为:
( ) ∑ ( ) ∑ ( ) ⎧⎪∇f
x*
m
− λu*∇ gu
x*

l
µv*∇ hv
x*
=0
(2)

u =1
v =1
( ) ⎨⎪λu*gu x* =0
(3)
( ) ⎪⎩λu* ≥ 0; hv x* = 0
其中, λ*u 、 µv* 为拉格朗日乘子, λ*u 对应于不等式约束,须不小于 0, µv* 对应于等式
∂f ∂x1
x*
− λ1
∂g1 ∂x1
x*
=
0
可求得 λ1 = 0.042896 。将其代入第二个方程:
∂f ∂x2
x*
− λ1
∂g1 ∂x2
x*
=
0
方程左边为:-0.0491。误差较小,可以认为寻得的最优点满足 KKT 条件。
[ ] 采用改进复合形法,获得最优点 x* 为 5.2158 6.0663 T 、最优解 f * 为 6.4157×10-2 的
( ) 如果拉格朗日乘子均非负,则 ∇ f x* 在其夹角锥体之内,否则,进行下一个基本梯度
组的判断。由于各梯度方向的顺序不易获得,检查所有基本梯度组。各基本梯度组及其拉格 朗日乘子如表 1 所示。
-4-
中国科技论文在线

表 1 各基本梯度组的拉格朗日乘子
对于第三种情况,由于数值解与解析解之间均存在一定的差距,在验证方程是否成立时 须允许一定的误差。
对于一个约束起作用的边界点,满足 KKT 条件意味着在该点处该约束函数的梯度方向 与目标函数的梯度方向重合,即两者的等值线相切。
3.剔除冗余约束的方法
首先将起作用的约束进行排序,然后将前两个方向不重合的梯度作为基本梯度组。对于 其它梯度,逐个检验是否可由基本梯度组的非负线性组合表示。如果能表示,则说明该梯度 在基本梯度组的夹角锥体中,属于冗余梯度,须剔除。否则,将其加入基本梯度组。逐个检 验之后,并不能保证基本梯度组中没有冗余梯度。因此,还须对基本梯度组中的梯度逐个检 验,是否可由基本梯度组中的其它梯度的非负组合表示。如果能表示,则作为冗余约束剔除, 否则保留在基本梯度组之中。
1.引言
KKT 条件是 Karush(1939)及 Kuhn、Tucker(1951)先后独立发表的[1]。该条件是判 断优化方法寻得的最优点是否为约束极值点的必要条件。只有满足该条件,下降区间和可行 区间的交集才有可能是空集。因此所有优化方法的著作均介绍该条件。对于 N 维优化问题, 该条件的介绍均是以考察点处存在 N 个约束的情况为例进行说明。将目标函数的梯度和起 作用约束函数的梯度值代入该条件式,获得关于拉格朗日乘子的 N 个 N 元一次方程。该方 程具有唯一解。如果各拉格朗日乘子均不小于零,则考察点为约束极值点。可是,在实际的 寻优过程中,会遇到多种情况。为了增强该条件的可操作性,有必要研究在多种情况下的应 用方法。

依次前移,J=J-1
输出 J 个无冗余 梯度的梯度组
图 1 剔除冗余约束的程序流程图 Fig. 1 flow chart of eliminating redundancy restriction
4.J>N 的求解实例

J
个起作用的约束中,取
N
个作为基本梯度组,共可取
C
N J
组。如目标函数的梯度方
min f (x) = ( x1 + 1)2 + ( x2 + 3)2 + ( x3 + 1)2 s.t. g1 (x) = x2 − ( x1 + 3)2 + 9 ≥ 0
g2 (x) = x2 − ( x1 − 3)2 + 9 ≥ 0 g3 (x) = x2 − ( x3 + 3)2 + 9 ≥ 0 g4 (x) = x2 − ( x3 − 3)2 + 9 ≥ 0 显然, x* = [0 0 0]T 为边界点,四个约束均起作用,其梯度方=1


k = k+1
否 k>J?
k+1 方向

是否在其前面各梯度组成的
多棱锥之内?
剔除第 k 个梯度,其后

梯度依次前移,J=J-1
k=1

k = k+1
否 k>J?
k 方向是

否在其余梯度组成的多
棱锥之内?
剔除第 k 个梯度,其后梯度
g2 (x) = x1 − x2 + 10 ≥ 0 g3 (x) = 10 − x1 ≥ 0
采用复合形法,获得最优点 x* 为[5.2241
] 6.0588 T 、最优解 f * 为 6.4064×10-2 的寻优
结果。显然约束 1 起作用。
考察 x* ,N=2,J=1,J<N。取 KKT 条件式的第一个方程:
{ ( ) ( ) ( ) } ( ) 梯度组 ∇ gi x* ,∇ g j x* ,∇ gk x* ......i, j, k = 1,2,3, 4......i ≠ j ≠ k ,判断 ∇ f x* 是否
在其组成的夹角锥体之内,是求解方程:
( ) ( ) ( ) ( ) ∇ f x* − λ1∇ gi x* − λ2∇ g j x* − λ3∇ gk x* = 0
-5-
中国科技论文在线

寻优结果。由 KKT 条件式的第一个方程可求得 λ1 = 0.041375 。将其代入第二个方程的左
边为:0.028465。误差较小,也可以认为寻得的最优点满足 KKT 条件。
对于 x* 点处拉格朗日函数海森矩阵不正定的情况,须采用式(4)判断是否为极值点。
2.判断 KKT 条件的几种情况
对于约束优化问题:
min f (x), x ∈ D ⊂ RN s.t. gu (x) ≥ 0 (u = 1,2,L m)
hv (x) = 0 (v = 1, 2,L l l < N )
与其目标函数相伴的拉格朗日函数为:
() m
l
L x*, λ = f (x) − ∑λu gu (x) − ∑ µv hv (x)
i=1


∇f 在 Zi

组基本梯度组组成的多棱
锥之内?
i = i+1

i> CJN

输出考察点满足 KKT 条件的结论
输出考察点不是约 束极值点的结论
图 2 J>N 的求解过程 Fig.2 The solving process of J>N
对于约束优化问题:
( ) ( ) ( ) ∇ g1 x* = [−6 1 0]T 、 ∇ g2 x* = [6 1 0]T 、 ∇ g3 x* = [0 1 −6]T 、 ( ) ∇ g4 x* = [0 1 ]6 T 。可见,不存在冗余约束,J>N,如按锥体棱边顺序排列,则须检查
基本梯度组的数目为 2。在该点处,目标函数的梯度为: ∇ f (x) = [2 6 2]T 。对于基本
(2)J>N。只要 ∇ f 位于 J 中任意 N 个约束函数梯度方向组成的夹角锥体之内,即满
足 KKT 条件。 (3)J<N。方程数多于待定系数。可取 J 个方程求出拉格朗日乘子,如果有负值乘子,
则待考察点不满足 KKT 条件,否则将各乘子代入其余 N-J 个方程验证。如果方程均成立, 则待考察点满足 KKT 条件,否则不满足。
对于 J=N 的情况,目前所有优化方法的著作中均有求解实例。
6.总结
本文提出的剔除冗余约束的方法可在进行 KKT 条件判断时减小计算量。通过实例说明 了本文提出的 J>N、J<N 两种情况下 KKT 条件判断方法的计算步骤,证明了该方法可行。
参考文献
[1] 王科社. 机械优化设计[M]. 国防工业出版社, 2007.4 [2] R. Horst, P. M. Pardalos, N. V. Thoai 著/黄红选译. 清华大学出版社 2003 [3] W. Karush (1939). Minima of functions of several variables with inequalities as side constraints. M.Sc.
中国科技论文在线

卡罗需-库恩-塔克条件判断约束极值点的应用方法1
李春明
中国石油大学(华东)机电工程学院,山东东营(257061)
E-mail: Lchming@ , mingming000111@
摘 要:卡罗需-库恩-塔克(KKT)条件作为判断最优点是否为约束极值点的依据,在优化 算法中非常重要。本文针对数值算法中遇到的几种情况提出了该条件的应用方法,给出了程 序流程图。在运用该条件前,须剔除起作用约束中的冗余约束。对于起作用约束数大于维数 的情况,须取所有基本梯度组进行检查,只要一组的拉格朗日乘子均非负,则考察点满足 KKT 条件。对于起作用约束数小于维数的情况,须取部分方程求出拉格朗日乘子,再用其 它方程检验。以实例说明了该应用方法的计算步骤。 关键词:优化方法;KKT 条件;冗余约束;约束极值点 中图分类号:O224,TH122
KKT 条件是 x* 为约束极值点的必要条件,而不是充分条件。
( ) 该充分条件是: L x*, λ 关于 x* 的海森矩阵在约束超曲面的切平面上正定[2],即:对
( ) ( ) 于切空间: T
x*
=
⎧⎪y ⎨

RN
:
yT∇ g
x*
=
0⎫⎪ ⎬
,须:
( ) ⎪⎩
yT∇ h x* = 0 ⎪⎭
( ) yT∇x2 L x*, λ y ≥ 0
1本课题得到山东省自然科学基金(项目编号:Q2006A08)的资助。 -1-
中国科技论文在线

约束,无符号限制(由于等式约束无方向性)。式(3)为互补松弛条件(complimentary slackness condition)。式(3)表示目标函数梯度等于起作用不等式约束函数梯度的非负线性组合与起 作用等式约束的线性组合之和。在满足 KKT 条件的边界点处,目标函数梯度方向位于该点 处各起作用约束的约束函数梯度方向组成的夹角锥体之内。该点是式(1)的驻点。可见,
1
32
3
3
3
{ } ( ) ( ) ( ) Z3 = ∇ g3 x* ,∇ g4 x* ,∇ g1 x*
3
31
−1
3
3
{ } ( ) ( ) ( ) Z4 = ∇ g4 x* ,∇ g1 x* ,∇ g2 x*
1
32
3
3
3
由于存在拉格朗日乘子均非负的基本梯度组,因此该点满足 KKT 条件。
再进行约束极值点的充分条件检验。在该点处,对于 Z4 组,拉格朗日函数的海森矩阵
(4)
对于凸规划,该条件显然成立。对于切平面为空集的情况,则不须检验式(4)。 在实际的寻优过程中,待考察的边界点处起作用约束的数目不确定。通常还含有冗余约 束。冗余约束指梯度方向位于其它起作用约束函数梯度方向组成的夹角锥体之内的约束。设 剔除冗余约束之后,起作用约束函数的个数为 J,在运用 KKT 条件判断待考察点是否为约 束极值点时,会有三种情况: (1)J=N。求解 N 个方程的 N 元一次方程组。通常可求解出唯一的拉格朗日乘子。
Dissertation. Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois, 1939 (该论文可于以下网址得到 : /dxweb/details?doc_no=7371591 (需付费)) [4] Harold W. Kuhn, Albert W. Tucker. Nonlinear programming. Proceedings of 2nd Berkeley Symposium: 481-492, Berkeley: University of California Press, 1951
Tab. 1 Lagrangian multipliers of each grads group
基本梯度组
λ1
λ2
λ3
{ } ( ) ( ) ( ) Z1 = ∇ g1 x* ,∇ g2 x* ,∇ g3 x*
3
31
−1
3
3
{ } ( ) ( ) ( ) Z2 = ∇ g2 x* ,∇ g3 x* ,∇ g4 x*
相关文档
最新文档