最优化优秀结课论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
共轭梯度法是介于最速下降法与牛顿法之间的一个方法。它仅需要利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse 矩阵并求逆的缺点。共轭梯度法不仅是解决大型线性方程组最有用的发发之一,也是解大型非线性最优化问题最有效的算法之一。
共轭梯度法最早是由计算数学家Hestenes 和几何学家Stiefel 在20世纪50年代初为求解线性方程组Ax b =n x R ∈而各自独立提出的。他们合作的文章被公认为共轭梯度法的奠基之作。该文详细讨论了求解线性方程组的共轭梯度法的性质以及它和其他方法的关系。在A 为对称正定阵时,上述线性方程组等价于最优
化问题1min 2n T T
x R x Ax b x ∈-。由此,Hestenes 和Stiefel 的方法也可视为求二次函数。 提到最优化问题,这里首先介绍最速下降法。考虑线性方程组Ax b =的求解问题,其中A 是给定的n 阶对称正定矩阵,b 是给定的n 维向量。为此我们定义二次泛函()2T T x x Ax b x Φ=-
对最速下降法做一简单分析就会发现,负梯度方向虽从局部来看是最佳的下山方向,但从整体来看并非最佳。这就促使人们去寻求更好的下山方向,当然,我们自然希望每步确定新的下山方向付出的代价不要太大。共轭梯度法就是根据这一意思设计的,其具体计算过程如下:
给定初始向量0x ,第一步仍选负梯度方向为下山方向,即0p = 0r ,于是有
0000T
T
r p Ap α=,1000x x p α=+,11r b Ax =-对以后各步,例如,第k+1步(1k ≥),下山方向就不再取k r ,而是在过点k x 由向量k r 和1k p -所张成的二维平面
21{:,}k k k x x r p R πξηξη-==++∈内找出使函数Φ下降最快的方向作为新的下山方向k p 。考虑Φ在2π上的限制:
1111(,)()()()2()T T k k k k k k k k k k k k x r p x r p A x r p b x r p ψξηξηξηξηξη----=Φ++=++++-++
直接计算可得:
12()T T T k k k k k k r Ar r Ap r r ψ
ξηξ
-∂=+-∂
1112()T T
k k k k r Ap p Ap ψξηη
---∂=+∂ 其中最后一式用到了10T k k r p -=,这可由k r 的定义直接验证。
令ψξ∂∂=ψ
η
∂∂=0,即知Φ在2π内有唯一的极小点~001k k k x x r p ξη-=++,其中0ξ和0
η满足方程组001T T T k k k k k r Ar r Ap r r ξη-+=(1)
01011T T
k k k k r Ap p Ap ξη---+=0 (2)
上式蕴含着0k r ≠必有0ξ≠0,因此我们可取~
10
1
()k k k k p x x r p ηξξ-=
-=+
作为新的下山方向。显然,这是在平面2π内可得到的最佳下山方向,令0
10
k ηβξ-=
,则由(2)式得到1
111
T k k k T k k r Ap p Ap β----=-。
这样确定的k p 满足1T
k
k p Ap -=0,即所谓的k p 与1k p -是相互共轭的。 k p 确定以后k α的确定仍用公式k α=T k k
T k k r p p Ap ,然后计算1k k k k x x p α+=+。总结上述
讨论,可得如下计算公式:k α=T k k
T k k
r p p Ap 1k k k k x x p α+=+ 11k k r b Ax ++=-
1T k k
k T k k
r Ap p Ap β+=- 11k k k p r p β++=+
在实际计算中,常将上述公式进一步简化,从而得到一个形式上更为简单而且对称的计算公式。首先来简化1k r +的计算公式:
11k k r b Ax ++=-=()k k k b A x p α-+=k k k r Ap α-(3)
因为k Ap 在计算k α时已经求出,所以,计算1k r +时可以不必将1k x +代入方程去计算,而是由(3)得到。
再来简化k α和k β的计算公式。我们需要用到下面的关系式:
1110T T T k k k k k k r r r p r p +-+===,k=1,2, (4)
这些关系式的证明包含在方程组(1)(2)的证明中。由(3)(4)导出
111111
1
()T T T k k k k k k k k
k
r Ap r r r r r αα+++++=
-=-
,11
1
()T
T
T
k k k k k k k k
k
p Ap p r r p r αα+=
-=
。
由此可得:T k k k T k k r r p Ap α=,11
T k k k T k k
r r r r β++=
最优化方法的收敛性是算法研究领域的基本问题。一种算法是否具备应用价值,取决于是否具备局部或全局收敛性,以及收敛速度的快慢。共轭梯度法不同的方向修正公式,以及采用何种线搜索策略来确定步长,都取决于它的收敛性质。下面重点简述两个共轭梯度法收敛性的成果。 1.FR 方法:
早期对FR 方法的收敛性研究是建立在精确线搜索基础上的。Powell 在精确线搜索下,得到FR 方法的一个很不利的性质,即:如果FR 方法在某一步产生一个很小的步长,则相继的许多步长也可能非常小。同时,Powell 还给出了FR 方法最简单的全局有效性分析。这些分析解释了为什么FR 方法在数值表现上并不十分满意。尽管FR 方法可能收敛速度很慢,Zoutendijk 证明了采取精确线搜索的FR 方法对一般非凸函数总是收敛的。
在实际计算中,人们通常采用非精确线搜索,而不是使用精确线搜索。最早的非精确线搜索的全局收敛结果是由A1.Baali 在1985年给出的,他证明了使用
参数1
2
σ<
的强Wolfe 线搜索的FR 方法一定满足充分下降条件,而且是全局收敛的。有人后将A1.Baali 的结果推广到了1
2
σ=。通过分析使用推广的Wolfe 线搜
索的FR 方法,通过考虑相邻两个迭代点列,发现只要FR 方法的每个搜索方向下降,那么任意相邻两个迭代点列中至少有一个使得充分下降条件成立,从而较简单的证明了12σ≤
时采用强Wolfe 线搜索的算法的全局收敛性。对于1
2
σ>,有人举出反例表明,FR 方法可能产生一个上升方向而导致失败,并且提出了一种广义线搜索策略,证明了FR 方法在广义Wolfe 线搜索的全局收敛性。
2.PRP 方法:
PRP 方法是目前认为数值表现最好的共轭梯度算法之一。当算法产生一个小