最速下降法原理及例题实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
(0.889,0.667) −0.963 (0.000, −0.222) (0.000,0.222)
5
(0.889,0.889) −0.988 (−0.222, 0.000) (0.222,0.000)
6
(0.963, 0.889) −0.996 (0.000, −0.074) (0.000,0.074)
此时的 f (xk − t∇f (xk )) 已成为步长 t 的一元函数,故可用任何一种一维寻优法求出 tk ,即
f (xk +1) =
f (xk
−
tk
∇f
(
xk
))
=
min t
f (xk
− t∇f (xk ))
方法二:微分法
因为
tf (xk − t∇f (xk )) = ϕ(t)
所以,一些简单情况下,可令
第 4 步 进行一维搜索,求 tk ,使得
f
(xk
+
tk
pk
)
=
min t≥0
f
(xk
+ tpk
)
令 xk+1 = xk + tk pk , k := k + 1 ,转第 2 步。
由以上计算步骤可知,最速下降法迭代终止时,求得的是目标函数驻点的一个近似点。
确定最优步长 tk 的方法如下:
方法一:采用任一种一维寻优法
的最优解 t0 ,由 0.618 法可得 t0 = 0.06 ,于是
X 1 = x0 + t0 p0 = (2.70,1.51)T
∇f (X 1) = (0.73,1.28)T
∇f (X 1) = 1.47 > ε
令
p1 = −∇f ( X 1)
再求单变量极小化问题
min f (X 1 + tp1) t≥0
则 x∗ 是无约束问题的严格局部最优解。
一般而言,无约束问题的目标函数的驻点不一定是无约束问题的最优解。但对于其目标函数是 凸函数的无约束凸规划,下面定理证明了,它的目标函数的驻点就是它的整体最优解。
定理 4 设 f : Rn → R1 , x∗ ∈ Rn , f 是 Rn 上的可微凸函数。若有
则 x∗ 是无约束问题的整体最优解。
x(2) O xg(4) x(3)
图 1-3 因此,在实用中常将最速下降法和其他方法联合应用,在前期使用最速下降法,而在接近极小 点时,可改用收敛较快的其他方法。
ϕ ' (t) = 0
以解出近似最优步长 tk 的值。 (三)最速下降法应用举例
例 1 min f (x) = x1 − x2 + 2x12 + 2x1x2 + x22 给定初始点 X (1) = (0, 0)T
∂f (x)
解:目标函数
f
(x)
的梯度 ∇f
(x)
=
∂(
x1
)
∂f (x)
−1 1
=
G
αk
=
g1d1 + g2d2 3d12 + d22 − 2d1d2
[ ] [ ] 取 X (1) = (0, 0)T ,则 ∇f ( X (1) ) = −2, 0 T ,所以 d (1) = −∇f ( X (1) ) = 2, 0 T ,
因此
α1
=
22 3× 22
=
1 3
[ ] [ ] X (2) = X (1) + α1d (1) =
∇f (x∗ ) = 0
(二)最速下降法的基本思想和迭代步骤
最速下降法又称为梯度法,是 1847 年由著名数学家 Cauchy 给出的。他是解析法中最古老的一 种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。
设无约束问题中的目标函数 f : Rn → R1 一阶连续可微。 最速下降法的基本思想是:从当前点 xk 出发,取函数 f (x) 在点 xk 处下降最快的方向作为我 们的搜索方向 pk .由 f (x) 的 Taylor 展式知
点可以是极小点;也可以是极大点;甚至也可能既不是极小点也不是极大点,此时称它为函数 f 的 鞍点。以上定理告诉我们, x∗ 是无约束问题的的局部最优解的必要条件是: x∗ 是其目标函数 f 的
驻点。 现给出无约束问题局部最优解的充分条件。
定理 3 设 f : Rn → R1 在点 x∗ ∈ Rn 处的 Hesse 矩阵 ∇2 f (x∗ ) 存在。若 ∇f (x∗ ) = 0 ,并且 ∇2 f (x∗ ) 正定
min f ( X ) = (x1 − 2)4 + (x1 − 2x2 )2
其中 X = (x1, x2 )T ,要求选取初始点 X 0 = (0, 3)T ,终止误差 ε = 0.1.
解:因
∇f ( X ) = [4(x1 − 2)3 + 2(x1 − 2x2 ), −4(x1 − 2x2 )]T
令
ϕ
' 2
(λ
)
=
10λ
−
2
=
0
可得
λ2
=
1 5
X
(3)
=
X
(2)
+
λ2d (2)
=
−1 1
+
1 5
1 1
=
−0.8 1.2
∇f
(
X
(3)
)
=
0.2 −0.2
此时所达到的精度 ∇f ( X (3) )
≈ 0.2828
本题最优解
X∗
=
−1 1.5
,
f
(X∗)
=
−1, 25
例 2 用最速下降法求解无约束非线性规划问题:
例3 用最速下降法求解无约束问题
min
f
(x)
=
3 2
x12
+
1 2
x22
−
x1x2
−
2x1
取 X (1) = (0, 0)T ,ε = 10−2 。
解:计算目标函数的梯度和 Hesse 阵
∇f
(
X
)
=
3x1 − x2 − x2 − x1
2
=
g1 g2
,
∇2
f
(
X
)
=
3 −1
[ ] [ ] 设 d (k) = d1, d2 T , ∇f ( X (k) ) = g1, g2 T 得到精确一维搜索步长
则
∇f (X 0 ) = (−44, 24)T
∇f (X 0) = 50.12 > ε
求单变量极小化问题:
p0 = −∇f (X 0 ) = (44, −24)T
min f (x0 + tp0 ) = min f (44t, 3 − 24t)
t≥0
t≥0
= min(44t − 2)4 + (92t − 6)2 t≥0
=
−1 1
求出 X (2) 点之后,与
上类似地,进行第二次迭代:
∇f
(
X
(2)
)
=
−1 −1
令 d (2)
=
−∇f
(X
(2) )
=
1 1
令步长变量为 λ ,最优步长为 λ2 ,则有
X
(2)
+ λd (2)
=
−1 1
+
λ
1 1
=
λ λ
−1 +1
故
f (x) = f ( X (2) + λd (2) ) = (λ −1) − (λ +1) + 2(λ −1)2 + 2(λ −1)(λ +1) + (λ +1)2 = 5λ2 − 2λ −1 = ϕ2 (λ)
0, 0 T + 1 3
2, 0 T
=
2 3
,
0T
再计算第二轮循环,表 1-2 列出了各次迭代的计算结果。共计算了 9 个点, ∇f ( X (9) ) = 0.025 <
[ ] 10−2 ,停止计算,所以 X (9) = 0.988, 0.988 T 作为问题的最优解。
表 1-2
k
X (k)
f (X (k))
最速下降法原理以及其算法的实现
最速下降法又称为梯度法,是 1847 年由著名数学家 Cauchy 给出的,它是解析法中最古老 的一种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。 作为一种基本的算法,他在最优化方法中占有重要地位。其优点是工作量少,存储变量较少, 初始点要求不高;缺点是收敛慢,效率不高,有时达不到最优解。非线性规划研究的对象是非 线性函数的数值最优化问题。它的理论和方法渗透到许多方面,特别是在军事、经济、管理、
生产过程自动化、工程设计和产品优化设计等方面都有着重要的应用。而最速下降法正是 n 元 函数的无约束非线性规划问题 min f (x) 的一种重要解析法,研究最速下降法原理及其算法实
现对我们有着极其重要的意义。
一、最速下降法基本原理
(一)无约束问题的最优性条件
无约束问题的最优解所要满足的必要条件和充分条件是我们设计算法的依据,为此我们有以下 几个定理。
∇f ( X k )
50.12 1.47 0.93 0.33 0.36 0.14 0.17 0.09
tk
X k +1
0.06 (2.70,1.51)T 0.24 (2.52,1.20)T 0.11 (2.43,1.25)T 0.31 (2.37,1.16)T 0.12 (2.33,1.18)T 0.36 (2.30,1.14)T 0.13 (2.28,1.15)T
定理 1 设 f : Rn → R1 在点 x ∈ Rn 处可微。若存在 p ∈ Rn ,使 ∇f (x )T p < 0
则向量 p 是 f 在点 x 处的下降方向。 定理 2 设 f : Rn → R1 在点 x∗ ∈ Rn 处可微。若 x∗ 是无约束问题的局部最优解,则 ∇f (x∗ ) = 0 由数学分析中我们已经知道,使 ∇f (x) = 0 的点 x 为函数 f 的驻点或平稳点。函数 f 的一个驻
(四)最速下降法的缺点
由于沿负梯度方向目标函数的最速下降性,很容易使人们误认为负梯度方向是最理想的搜索方 向,最速下降法是一种理想的极小化方法。必须指出的是,某点的负梯度方向,通常只是在该店附 近才具有这种最速下降的性质。
在一般情况下,当用最速下降法寻找极小点时,其搜索路径呈直角锯齿状(图 1-3),在开头 几步,目标函数下降较快;但在接近极小点时,收敛速度长久不理想了。特别适当目标函数的等值 线为比较扁平的椭圆时,收敛就更慢了。
7
(0.963, 0.963) −0.999 (−0.074, 0.000) (0.074,0.000)
8
(0.988, 0.963) −1.000 (0.000, −0.025) (0.000,0.025)
9
(0.988, 0.988) −1.000 (−0.025, 0.000)
αk 0.333 1.000 0.333 1.000 0.333 1.000 0.333 1.000
=
1 + 4x1 + 2x2 −1+ 2x1 + 2x2
∂(x2 )
∇f
(X
(1) )
=
1 −1
令搜索方向 d (1)
=
−∇f
(X
(1) )
=
−1 1
再从
X
(1) 出发,沿
d (1) 方向作一维寻优,令
步长变量为 λ
,最优步长为 λ1 ,则有
X
(1)
+
λd (1)Байду номын сангаас
=
0 0
+
λ
−1 1
f (xk ) − f ( xk + tpk ) = −t∇f (xk )T pk + o‖( tpk‖) 略去 t 的高阶无穷小项不计,可见取 pk = −∇f (xk ) 时,函数值下降得最多。于是,我们可以构造
出最速下降法的迭代步骤。
解无约束问题的的最速下降法计算步骤
第 1 步 选取初始点 x0 ,给定终止误差ε > 0 ,令 k := 0 ; 第 2 步 计算 ∇f (xk ) ,若‖∇f ( xk )‖≤ ε ,停止迭代.输出 xk .否则进行第三步; 第 3 步 取 pk = −∇f (xk ) ;
∇f ( X (k ) )
d (k)
1
(0.000,0.000) 0.000 (−2.000, 0.000) (2.000, 0.000)
2
(0.667, 0.000) −0.667 (0.000, −0.667) (0.000,0.667)
3
(0.667, 0.667) −0.889 (−0.667, 0.000) (0.667, 0.000)
的最优解.略去计算步骤,由表 1-1 给出计算结果.由表 1-1 可以知道, ∇f ( X 7 ) = 0.09 < ε ,所以
X 7 = (2.28,1.15)T 为近似最优解,原问题的近似最优值为 0.007 .
迭代次
数k 0 1 2 3 4 5 6 7
Xk
(0.00, 3.00)T (2.70,1.51)T (2.52,1.20)T (2.43,1.25)T (2.37,1.16)T (2.33,1.18)T (2.30,1.14)T (2.28,1.15)T
=
−λ λ
故 f (x) = f ( X (1) + λd (1) ) = (−λ) − λ + 2(−λ)2 + 2(−λ)λ + λ2 = λ 2 − 2λ = ϕ1(λ)
令ϕ1' (λ) = 2λ − 2 = 0 可得 λ1 = 1
X
(2)
=
X
(1)
+ λ1d (1)
=
0 0
+
−1 1
f (Xk)
52.00 0.34 0.09 0.04 0.02 0.01 0.009 0.007
表 1-1
∇f ( X k )
(−44, 24)T (0.73,1.28)T (0.80, −0.48)T (0.18, 0.28)T (0.30, −0.20)T (0.08, 0.12)T (0.15, −0.08)T (0.05, 0.08)T