7无约束最优化的解析法
无约束最优化方法直接搜索法课件

x2
S(1)
S2(1
)
(1)
X3 X2 (1)
X* X2 (2) X1 (2)
S(2)
X0 (1)
X 1 (1)
S1(1) x1
• 鲍威尔基本算法的缺点
鲍威尔基本算法仅具有理论意义,不要说对于一般的 函数,就是对于二次函数,它也可能失效。因为在迭代过程 中的n个搜索方向有时会变成线性相关,而不能形成共轭方向, 从而张不成n维空间,导致随后的迭代搜索在降维(“退化”) 的空间中进行,可能求不到极小点,故需进行改进。
x 2 XL X2
Xn+3 Xn+2
Xn+1
Xห้องสมุดไป่ตู้ XH
X1 XG x1
6)扩张:当 fn+2 < f L 时,取扩张点Xn+3 ,即
Xn+3 = Xn+1 + (Xn+2 – Xn+1)
( =1.2~2.0 )
并计算 fn+3 = f (Xn+3 ) 。 若 fn+3 < fn+2 ,则以Xn+3 代替 X H , fn+3 代替 fH ,构造一个新的单纯形;否则,以 X n+2 代 替XH , fn+2 代替fH ,构造新的单纯形;然后返回到 3)。
鲍威尔条件:
若 f 3 < f 1, ( f1 - 且2f2 + f3) (f1 - f2 - △m(k))2 < 0.5 △m(k) (f1 - f3 )2 同时成立,则用 S ( k ) 替代 S m ( k ) ;否则,仍用 就是鲍威尔修正算法,通常所说的鲍威尔算法就是指这一修正算法。
• 鲍威尔算法的计算步骤及算法框图
无约束问题最优化方法

向可以使函数值下降,只
x2
有在锐角所包含的范围搜
索才可以达到函数值下降
的目的,故坐标轮换法对 此类函数会失效。
脊线
x1
第二轮迭代,需要
x0(2) x2 (1)
依次类推,不断迭代,目标函数值不断下降,最后逼 近该目标函数的最优点。
终止准则
可以采用点距准则
注意: 若采用点距准则或函数值准则,其中采用的点应该是一轮
迭代的始点和终点,而不是某搜索方向的前后迭代点。
8.1.2坐标轮换法的计算步骤
⑴任选初始点
作为第一轮的起点 ,置n个坐标轴方向矢量为单位 坐标矢量:
已知初 始点 x(1) (1, 2, 3)T ,当 x(n1) x(1) 0.01时停止
迭代.
小结
坐标轮换法程序简单,易于掌握。但是计算效率比 较低,尤其是当优化问题的维数较高时更为严重。一 般把此种方法应用于维数小于10的低维优化问题。
对于目标函数存在
“脊线”的情况,在脊线
的尖点处没有一个坐标方
对于n维优化问题,如果只利用函数值求最优值的解法,称 为直接搜索法;
解析法的收敛速率较高,直接法的可靠性较高。
8.1 坐标轮换法
坐标轮换法属于直接法,既可以用于无约束优化问 题的求解,又可以经过适当处理用于约束优化问题求 解。
坐标轮换法是每次搜索只允许一个变量变化,其余 变量保持不变,即沿坐标方向轮流进行搜索的寻优方 法。它把多变量的优化问题轮流地转化成单变量(其 余变量视为常量)的优化问题,因此又称这种方法为 变量轮换法。此种方法只需目标函数的数值信息而不 需要目标函数的导数。
第8章 无约束问题最优化方法
➢无约束优化理论研究开展得较早,构成的优化方法巳很多 ,也比较成熟,新的方法仍在陆续出现。本章的内容与目的 是讨论几个常用无约束优化方法的基本思想、方法构成、迭 代步骤以及终止准则等方面问题。
第三章 无约束最优化方法

f x f x
*
所以函数f(x)在 x * 处取得局部极小值,称x *为
局部极小点。 而优化问题一般是要求目标函数在某一区域内 的全局极小点。 函数的局部极小点是不是一定是全局极小点呢?
5
第三章 无约束最优化方法
下凸的一元函数
可以证明凸规划问题的局部最小点就是其全局最小点。
6
第三章 无约束最优化方法
f x 0
x Rn
的问题。一般地,这是一个非线性方程组, 17 可对其采用迭代法求解之。
第三章 无约束最优化方法
下降迭代算法
算法:给定目标函数 f x 的极小点的一个初始估计点 x0 , 然后按一定的规则产生一个序列 xk ,这种规则通常称 为算法。如果这个序列的极限恰好是问题(3-1)的极 小点 x* ,即
正定矩阵 设 Q是n×n 阶对称矩阵。
若 x Rn 且 x 0 都有 x T Q x 0 ,则称矩阵Q 是正定的 若 x R
n n
T x 都有 Q x 0 ,则称矩阵Q 是半正定的
若 x R 且 x 0 都有 xT Q x 0 ,则称矩阵Q 是负定的 若 x Rn 都有 x T Q x 0 ,则称矩阵Q 是半负定的
为正定的定义是:若对任何向量d (d!=0),有
d T 2 f x* d 0
对称正定方阵 2 f x* 的检验方法是所有主子式均大于零。 二、迭代方法 求解 无约束最优化问题 T f x min x x1, x2 , , xn 的问题可以转变为求解n 元方程组
26
3-2
一维搜索(0.618法)
设给定一个较小的步长δ,从α=0开始,先计算φ(0),然 后计算在 (1.618)0 的函数值φ(δ);如果φ(δ)<φ(0), 则讲步长δ增大1.618倍,得到一个新点 1.618 2.618 , 计算φ(2.618δ);如果φ(2.618δ)仍小于φ(δ),再继续增加 步长为原步长的1.618倍,如下图所示,从而得到一系列 j 点的αj的值为 '
最优化方法:第三章无约束问题的最优化方法

f1 f 2 ,则新区间= [a, 2 ]
f1 f 2
[a1 , b]
a 1 , 1 2 , f1 f 2
,记N0=1;
4)检查区间是否缩短到足够小和函数值收敛到足够精度,
如果收敛条件满足,则取最后两试验点的平均值作为极小 点的数值近似解。如果条件不满足则转向步骤5)。
(3)产生新的探测点a3=a1+h,y3=f(a3); (4) 比较函数值 y2与y3: (a) 如y2>y3, 加大步长 h=2 h ,a1=a2, a2=a3,转(3) 继续探测。 (b)如y2<y3, 则初始区间得到: a=min[a1,a3], b=max[a3,a1],函数最小值所在的区间 为 [a , b] 。
解得: b
c
p 3 a b 3 c 3 f 3
2 2 2 2
2 3 f1 3 1 f 2 1 2 f 3 1 2 2 3 3 1
3 f1 3 1 f 2 1 2 f 3 1 2 2 3 3 1
确定的搜索区间必定
f (x) f (x)
α
是一个含有最优点α*的 单峰区间。
0Leabharlann α1α3α
0
α1
α3
α
2、确定初始单谷区间的进退法 基本思想: 对f(x)任选一个初始点a1及初始步长h, 通过比较这两点函数 值的大小,确定第三点位置,比较这三点的函数值大小,确定是 否为 “高—低—高” 形态。 步骤: (1)选定初始点a, 初始步长h=h0,计算 y1=f(a1),y2=f(a1+h)。 (2)比较y1和y2。 (a)如y1>y2, 向右前进;加大步长 h=2 h ,转(3)向前; (b)如y1<y2, 向左后退;h=- h0, 将a1与a2,y1与y2的 值互换。转(3)向后探测; (c)如y1=y2,极小点在a1和a1+h之间。
常用的无约束优化方法

第二环迭代:
基本方向组: e2 , e3,S1 将上环的第一个方向淘汰,上环的新生方 向补入本环的最后。依次沿这些方向做一维搜索后产生一个新方向 :S2=x3(2) -x0(2),再沿此方向一维搜索得第三环的迭代终点 x(2),并作 为下一轮迭代的始点。这样就形成了算法的循环。
第三环迭代:
基本方向组: e3, S1,S2,新生方向为S3=x3(3) - x0(2)
4.1 坐标轮换法-迭代过程
第一轮迭代:
(1) 任取一初始点x(0) 作为初始 点x0(1),先沿第一坐标轴的方 向e1=[1 0]T 作一维搜索,用一 维优化方法确定最优步长1(1) ,得第一轮的第一个迭代点: x1(1) =x0(1) + 1(1) e1 (2) 以 x1(1) 为新起点,沿第二 坐标轴的方向e2=[0 1]T作一 维搜索,确定步长2(1) ,得 第一轮的第二个迭代点: x2(1) =x1(1) + 1(1) e2
4.1 坐标轮换法-迭代过程
第二轮迭代: x0(2) x2(1) x1(2) = x0(2) + 1(2) e1 x2(2) = x1(2) + 2(2) e2 依次类推,可进行第三轮、第 四轮…迭代
注意:右上角括号内的数字表 示轮数,右下角数字表示该轮 中的第几个迭代点号
4.1 坐标轮换法-终止准则
采用点距准则
(k) (k) x x n 0
注意: 若采用点距准则或函数值准则,其中采用的点应 该是一轮迭代的始点和终点,而不是某搜索方向的 前后迭代点。
4.1 坐标轮换法-计算步骤
⑴ 任选初始点
(0 ( 0 ) ) ( 0 ) ( 0 ) x x x x 2 n 1
按最优步长原则确定最优步长α1,即极小化
无约束最优化问题的求解算法和应用

无约束最优化问题的求解算法和应用随着科技的发展和应用领域的扩大,无约束最优化问题已经越来越成为一种关注的研究领域。
在现实生活中,无约束最优化问题的求解可以应用在多个方面,比如金融、医学、机械工程等等。
然而,在实际应用中,我们往往需要利用已经发展的优秀算法进行求解。
本文将会介绍无约束最优化问题的求解算法及其应用。
一、无约束最优化问题的概念无约束最优化问题指的是在一定的条件下,通过调整某些变量来最大或最小化指定的目标函数。
这些变量的调整需遵守一定的限制条件,并且通过各种数值分析方法,比如数值解析和计算机数值算法等技术来求解这样的问题。
无约束最优化问题的数学形式一般为:$$ \min_{x \in \mathbb{R}^n} f(x) $$其中,$x \in \mathbb{R}^n$ 是 $n$ 维空间中的一个向量,$f(x)$ 则是目标函数,该函数需要满足一定的条件,比如连续、可微、凸等等。
当函数连续、可微的情况下,就能有效地应用求导法来求解这个问题。
二、基于梯度下降的算法在求解无约束最优化问题时,最常用的算法就是基于梯度下降的算法。
该算法通过沿着负梯度的方向一步步得逼近全局极小值。
算法的主要流程如下:1、初始化变量$x$,比如$x=0$;2、计算目标函数$ f(x)$ 的梯度 $\nabla f(x)$;3、计算下降方向 $p$,$p=-\nabla f(x)$;4、选择步长 $\alpha$,更新$x$ $x_{k+1} = x_{k} + \alpha p$;5、重复执行步骤2-4 进行更新,直到满足一定的终止条件为止。
这种方法的收敛性非常好,同时也比较容易实现。
在实际应用中,通常会将其与其他迭代方法组合使用,比如牛顿、拟牛顿等方法来提升其求解精度。
三、基于共轭梯度的算法基于梯度下降的算法虽然求解精度较好,但是当求解目标函数具有高度弱凸性质时,算法的收敛速度会相对较慢。
为了克服这类问题,研究人员往往会采用共轭梯度法。
7无约束最优化的解析法

第七章 无约束最优化的解析法本章主要内容:最速下降法及其收敛性与收敛速度 Newton 切线法及其收敛性与收敛速度 阻尼Newton 法 共轭梯度法及其收敛性 变度量法、最小二乘法教学目的及要求:掌握最速下降法并理解其收敛性与收敛速度,掌握Newton 切线法并理解其收敛性与收敛速度,了解阻尼Newton 法;掌握共轭梯度法并理解其收敛性;了解变度量法、最小二乘法。
教学重点:最速下降法.教学难点:变度量法.教学方法:启发式.教学手段:多媒体演示、演讲与板书相结合.教学时间:6学时.教学内容:§7.1 最速下降法考虑无约束最优化问题m i n ()f x , (7.1.1)其中:n f R R →具有一阶连续偏导数.算法7-1(最速下降法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 进行一维搜索.取()k k d f x =-∇,求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.特别地,考虑1m i n ()2T T f x x Qx b x c =++, (7.1.2) 其中,n n n x R Q R ⨯∈∈为正定矩阵,,n b R c R ∈∈.设第k 次迭代点为k x ,从点k x 出发沿()k f x -∇作一维搜索,得1()k k k k x x f x λ+=-∇,其中k λ为最优步长.根据定理 6.1.1,有1()()0T k k f x f x +∇∇=.而(),n f x Q x b x R∇=+∀∈, 所以1()()()k k k k f x f x Q f x λ+∇=∇-∇,从而(()())()0T k k k k f x Q f x f x λ∇-∇∇=,而Q 正定,即()()0T k k f x Q f x ∇∇>,故由上式解出()()()()T k k k T k k f x f x f x Q f x λ∇∇=∇∇, (7.1.3) 于是1()()()()()T k k k k k T k k f x f x x x f x f x Q f x +∇∇=-∇∇∇, (7.1.4) 这是最速下降法用于问题(7.1.2)的迭代公式.例1 用最速下降法求解问题2212min ()4f x x x =+, (7.1.5)其中12(,)T x x x =.取初始点(0)(1,1)T x =,允许误差0.1ε=.解 问题(7.1.5)中的f 是正定二次函数,且800,,0020Q b c ⎛⎫⎛⎫=== ⎪ ⎪⎝⎭⎝⎭.f 在点12(,)T x x x =处的梯度12()(8,2)T f x x x ∇=.第一次迭代:令搜索方向(0)(0)()(8,2)T d f x =-∇=--,(0)d ε==>,从点(0)x 出发沿(0)d 作一维搜索,由(7.1.3)式和(7.1.4)式有0680.130769520λ==, (1)(1,1)0.130769(8,2)(0.046152,0.738462)T T T x =+--=-.第二次迭代:令(1)(1)()(0.369216, 1.476924)T d f x =-∇=-,(1) 1.522375d ε==>,从点(1)x 出发沿(1)d 作一维搜索,按(7.1.4)式得(2)(0.101537,0.147682)T x =.第三次迭代:令(2)(2)()(0.812296,0.295364)T d f x =-∇=--,(2)0.864329d ε==>,按(7.1.4)式求得(3)(0.009747,0.107217)T x =-.第四次迭代:令(3)(3)()(0.077976,0.214434)T d f x =-∇=-,(3)0.228171d ε==>,按(7.1.4)式求得(4)(0.019126,0.027816)T x =.第五次迭代:令(4)(4)()(0.153008,0.055632)T d f x =-∇=--,(4)0.162807d ε==>,按(7.1.4)式求得(5)(0.001835,0.020195)T x =-.此时,(5)()f x ε∇=<,已满足精度要求,故得问题(7.1.5)的近似最优解(5)(0.001835,0.020195)T x =-.实际上问题(7.1.5)的最优解为(0,0)T x =.定理7.1.1 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,假定水平集(,)S f α有界,令{}k x 是由最速下降法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且任一极限点都是f 的平稳点.定理7.1.2 设:n f R R →具有二阶连续偏导数,由最速下降法解问题(7.1.1)产生的点列{}k x 收敛于x .若存在0ε>和0M m >>,使得当x x ε-<时,有222(),T n m y y f x y M y y R ≤∇≤∀∈, (7.1.7) 则{}k x 线性收敛于x .§7.2 Newton 法21()()()()()()()()2T T k k k k k k f x x f x f x x x x x f x x x ϕ≈=+∇-+-∇-. 令 ()0x ϕ∇=,即2()()()0k k k f x f x x x ∇+∇-=,解之得211[()]()k k k k x x f x f x -+=-∇∇.算法7-2(Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造Newton 方向.计算21[()]k f x -∇,取21[()]()k k k d f x f x -=-∇∇. Step4 求下一个迭代点.令1k k k x x d +=+,:1k k =+,返回Step2.例2 用Newton 法求解问题(7.1.5),仍取初始点(0)(1,1)T x =,允许误差0.1ε=.解 (0)()(8,2)T f x ∇=,2(0)80()02f x ⎛⎫∇= ⎪⎝⎭,故2(0)11/80[()]01/2f x -⎛⎫∇= ⎪⎝⎭,(0)2(0)1(0)1[()]()1d f x f x -⎛⎫=-∇∇=- ⎪⎝⎭,(1)(0)(0)(1,1)(1,1)(0,0)T T T x x d =+=-=.由于 (1)()00.1f x ∇=<,迭代结束,得(1)x 为问题(7.1.5)的最优解.定理7.2.1 设:n f R R →具有三阶连续偏导数,,()0n x R f x ∈∇=,若存在0ε>和0m >,使得当x x ε-≤时,有22(),T n m y y f x y y R ≤∇∀∈, (7.2.2) 则当初始点0x 充分接近x 时,由Newton 法解问题(7.1.1)产生的点列{}k x 收敛于x ,并有二阶收敛速度.算法7-3(阻尼Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造Newton 方向.计算21[()]k f x -∇,取21[()]()k k k d f x f x -=-∇∇. Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.例3 用阻尼Newton 法求解下面问题:222121min ()(1)2()f x x x x =-+-,(7.2.6) 其中12(,)T x x x =.取初始点(0)(0,0)T x =,允许误差0.1ε=.解 第一次迭代:212112212(1)8()()4()x x x x f x x x ⎛⎫----∇= ⎪-⎝⎭, 22212111168()28()84x x x x f x x ⎛⎫--+-∇= ⎪-⎝⎭, 故 (0)(0)()(2,0),()2T f x f x ε∇=-∇=>,2(0)2(0)1201/20(),[()]0401/4f x f x -⎛⎫⎛⎫∇=∇= ⎪ ⎪⎝⎭⎝⎭.于是,Newton 方向 (0)2(0)1(0)[()]()(1,0)T d f x f x -=-∇∇=,从(0)x 出发沿(0)d 作一维搜索,即求(0)(0)2400min ()min(1)2f x d λλλλλ≥≥+=-+的最优解,得到012λ=.令 (1)(0)(0)0(1/2,0)T x x d λ=+=.(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.第二次迭代:2(1)2(1)184111(),[()]48124f x f x --⎛⎫⎛⎫∇=∇= ⎪ ⎪-⎝⎭⎝⎭, (1)2(1)1(1)[()]()(1/4,1/2)T d f x f x -=-∇∇=.从(1)x 出发沿(1)d 作一维搜索,即求(1)(1)24001min ()min [8(2)(2)]128f x d λλλλλ≥≥+=-+- 的最优解,得到12λ=.令(2)(1)(1)1(1,1)T x x d λ=+=.(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.此时,(2)(2)()(0,0),()0T f x f x ε∇=∇=<,得问题(7.2.6)的最优解为(2)(1,1)T x =,这是惟一的最优解.定理7.2.2 设:n f R R →具有二阶连续偏导数,0n x R ∈,记0()f x α=,假定水平集(,)S f α有界,并且对一切2,()n x R f x ∈∇正定.若{}k x 是由阻尼Newton法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的唯一极小点;(2)当{}k x 是无穷点列时,它必收敛于f 的唯一极小点.§7.3 共轭梯度法最速下降法和Newton 法是最基本的无约束最优化方法,它们的特性各异:前者计算量较小而收敛速度慢;后者虽然收敛速度快,但需要计算目标函数的Hesse 矩阵及其逆矩阵,故计算量大.本节介绍一类无需计算二阶导数并且收敛速度快的方法.定义 设n n Q R ⨯∈为正定矩阵.若n R 中的向量组011,,,m d d d - 满足0,,0,1,,1,T i j d Qd i j m i j =∀=-≠ ,则称011,,,m d d d - 是Q 共轭的.定理7.3.1 设n n Q R ⨯∈是正定矩阵,n R 中非零向量组011,,,m d d d - 是Q 共轭的,则这m 个向量线性无关.定理7.3.2 设n p R ∈,011,,,n d d d - 是n R 中线性无关的向量组,若p 与每个i d 都正交,则0p =.考虑正定二次函数的无约束最优化问题1min ()2T T f x x Qx b x c =++, (7.3.3) 其中n n Q R ⨯∈为正定矩阵,,n b R c R ∈∈.定理7.3.3 设n n Q R ⨯∈为正定矩阵,011,,,n d d d - 是n R 中一组Q 共轭的非零向量.对于问题(7.3.3),若从任意点0n x R ∈出发依次沿011,,,n d d d - 进行一维搜索,则至多经过n 次迭代可得问题(7.3.3)的最优解.算法7-4(共轭方向法)给定一个正定矩阵n n Q R ⨯∈.Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>. Step2 选取初始搜索方向.计算0()f x ∇,求出0d ,使00()0T f x d ∇<,令0k =. Step3 检查是否满足终止准则.若()k f x ε∇<,迭代终止;否则,转Step4. Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 选取搜索方向.求1k d +使10,0,1,,T k j d Qd j k +== ,令:1k k =+,返回Step3.如果用共轭方向法求解正定二次函数的无约束最优化问题1min ()2T T f x x Qx b x c =++, (7.3.3) 其中n n Q R ⨯∈为正定矩阵,,n b R c R ∈∈(此时算法中的正定矩阵应与二次函数的正定矩阵一致),那么容易推出迭代公式为1()T k k k k k T k kf x d x x d d Qd +∇=-. (7.3.10) 对于求解问题(7.1.1),我们还有如下一些方法.Fletcher-Reeves (FR )公式:212()()k k k f x f x α+∇=∇;Dixon-Myers (DM )公式:11()()()T k k k T k k f x f x d f x α++∇∇=-∇; Polak-Ribiere-Polyak (PRP )公式:11()[()()]()()T k k k k T k k f x f x f x f x f x α++∇∇-∇=∇∇. 算法7-5(FR 共轭梯度法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>. Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始搜索方向.计算00(),0d f x k =-∇=.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7.Step7 构造共轭方向.用FR 公式取11()k k k k d f x d α++=-∇+,212()()k k k f x f x α+∇=∇,令:1k k =+,返回Step4. 注意,如果算法7-4的Step7中k α的形式改为DM 公式或PRP 公式,则分别得到DM 共轭梯度法和PRP 共轭梯度法.定理7.3.5 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,并假设水平集(,)S f α有界.若{}k x 是由共轭梯度法(包括任何一种仅仅与算法7-5中k α的形式不同的共轭梯度法)解问题(7.1.1)所产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且任一极限点都是f 的平稳点.可以证明:共轭梯度法产生的点列{}k x 是n 步二阶收敛的,即2lim sup k n k k x x q x x +→∞-≤<∞-.例4 用FR 共轭梯度法求解问题(7.2.6)222121min ()(1)2()f x x x x =-+-,仍取初始点(0)(0,0)T x =,允许误差0.1ε=.222121min ()(1)2()f x x x x =-+-解 因为212112212(1)8()()4()x x x x f x x x ⎛⎫----∇= ⎪-⎝⎭, 所以(0)(0)()(2,0),()2T f x f x ε∇=-∇=>.令(0)(0)()(2,0)T d f x =-∇=,从(0)x 出发,沿(0)d 进行一维搜索,得(1)(0)(0)001/4,(1/2,0)T x x d λλ==+=.从而(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.由FR 公式有2(1)02(0)()14()f x f x α∇==∇, 因此,新的搜索方向为 (1)(1)(0)0()(1/2,1)T d f x d α=-∇+=.从(1)x 出发,沿(1)d 进行一维搜索,得(2)(1)(1)111,(1,1)T x x d λλ==+=.此时(2)(2)()(0,0),()0T f x f x ε∇=∇=<.得问题(7.2.6)的最优解为(2)(1,1)T x =.§7.4 变度量法前面介绍的最速下降法和阻尼Newton 法,它们的迭代公式可以统一为1,(),k k k k k k k x x d d G f x λ+=+⎧⎨=-∇⎩ (7.4.1)其中,n n k k G R λ⨯∈是从点k x 出发沿k d 进行一维搜索的最优步长.当k n G I =(n 阶单位矩阵)时,(7.4.1)式即为最速下降法的迭代公式;当21[()]k k G f x -=∇时,(7.4.1)式就是阻尼Newton 法的迭代公式.因此,如果能够使k G 的选取既不需要计算Hesse 矩阵及其逆矩阵,又能很好地近似于21[()]k f x -∇,则由(7.4.1)式确定的迭代算法将会保持Newton 法收敛速度快的优点,同时又具有计算简单的特性.设问题(7.1.1)中目标函数f 具有二阶连续偏导数,且2()k f x ∇正定.为使由(7.4.1)中第2式确定的搜索方向是f 在点k x 处的下降方向,根据定理1.2.3,应当要求()0T k k f x d ∇<,或即()()0T k k k f x G f x ∇∇>,所以我们应要求(7.4.1)式中的k G 是正定矩阵.设在第1k +次迭代后得到1k x +,将f 在点1k x +处作Taylor 展开,取二阶近似,得21111111()()()()()()()2TT k k k k k k f x f x f x x x x x f x x x ++++++≈+∇-+-∇-, 对上式两边求梯度,有2111()()()()k k k f x f x f x x x +++∇≈∇+∇-,令k x x =,得到2111()()()()k k k k k f x f x f x x x +++∇-∇≈∇-,即21111[()][()()]k k k k k f x f x f x x x -+++∇∇-∇≈-.易知,当f 为正定二次函数时,上式成为等式,即 21111[()][()()]k k k k k f x f x f x x x -+++∇∇-∇=-. (7.4.2)因为具有正定Hesse 矩阵的函数在极小点附近可用二次函数很好地近似,所以如果我们迫使1k G +满足类似于(7.4.2)式的关系式,即令111[()()]k k k k k G f x f x x x +++∇-∇=-, (7.4.3)则1k G +就可以很好地近似于211[()]k f x -+∇.因此称(7.4.3)式为拟Newton 条件.为方便起见,记1k k k x x x +∆=-,1()()k k k g f x f x +∆=∇-∇,1k k k G G G +∆=-,并称k G ∆为校正矩阵,则拟Newton 条件可以写成k k k k k G g x G g ∆∆=∆-∆. (7.4.4)综上所述,我们得到如下的一类算法.算法7-6(拟Newton 法)Step1 选取初始数据.选取初始点0n x R ∈和初始矩阵0G ,要求0G 为正定矩阵(可取0n G I =),给定允许误差0ε>,令0k =.Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造搜索方向.令()k k k d G f x =-∇.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 产生校正矩阵.求出满足(7.4.4)的校正矩阵k G ∆,令1,:1k k k G G G k k +=+∆=+,返回Step2.算法7-7(DFP 法)Step1 选取初始数据.选取初始点0x 和初始矩阵0n G I =,给定允许误差0ε>.Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x 为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始DFP 方向.取00()d f x =-∇,令0k =.Step4 进行一维搜索.求出k λ和1k x +,使得01()min (),.k k k k k k k k k f x d f x d x x d λλλλ≥++=+⎧⎪⎨=+⎪⎩ Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7.Step7 构造DFP 方向.用DFP 公式1T T k k k k k k k k T T k k k k kx x G g g G G G x g g G g +∆∆∆∆=+-∆∆∆∆,算出1k G +,取111()k k k d G f x +++=-∇,令:1k k =+,返回Step4.定理7.4.4 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,并假设水平集(,)S f α有界.若{}k x 是由DFP 法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且其任一极限点都是f 的平稳点.可以证明DFP 法具有超线性收敛性.算法7-8(BFGS 法)Step1 选取初始数据.选取初始点0x 和初始矩阵0n G I =,给定允许误差0ε>.Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x 为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始BFGS 方向.取00()d f x =-∇,令0k =.Step4 进行一维搜索.求出k λ和1k x +,使得01()min (),.k k k k k k k k k f x d f x d x x d λλλλ≥++=+⎧⎪⎨=+⎪⎩ Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7. Step7 构造BFGS 方向.用BFGS 公式111()T T T T k k k k k k k k k k k k k T T T k k k k k kx x g G g G G x g G G g x x g x g x g +⎛⎫∆∆∆∆=++-∆∆+∆∆ ⎪∆∆∆∆∆∆⎝⎭, 算出1k G +,取111()k k k d G f x +++=-∇,令:1k k =+,返回Step4.可以证明BFGS 法具有超线性收敛性.§7.5 最小二乘法在实际应用中,我们经常遇到目标函数为若干个函数的平方和的最优化问题: 21min ()()mi i s x f x ==∑, (7.5.1)其中n x R ∈,一般假设m n ≥,这类问题称为最小二乘问题.当每个()i f x 都是线性函数时,问题(7.5.1)称为线性最小二乘问题,否则,称为非线性最小二乘问题.由于最小二乘问题相对于一般无约束最优化问题而言具有特殊形式,因此除能运用本章前面介绍的一般求解方法外,还应有更为简便有效的方法.一、线性最小二乘法当()i f x 为线性函数时,即1(),1,2,,ni ij j i j f x a x b i m ==-=∑ ,问题(7.5.1)就成为线性最小二乘问题.如令11111,n m mn m a a b A b a a b ⎛⎫⎛⎫ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭,12()((),(),,())T m f x f x f x f x = ,则 2()()()()()T T s x f x f x Ax b Ax b Ax b ==--=-, 从而问题(7.5.1)可表示为2min ()s x Ax b =-. (7.5.2) 因为()()()2T T T T T s x Ax b Ax b x A Ax b Ax b b =--=-+,所以()s x 为二次函数,且2()22,()2T T T s x A Ax A b s x A A ∇=-∇=.显然,对一切n y R ∈,均有20T T y A Ay Ay =≥,即知,T A A 是半正定矩阵,从而由定理2.3.7知,()s x 是n R 上的凸函数.定理7.5.1 n x R ∈是问题(7.5.2)的最优解的充要条件是x 满足方程组T T A Ax A b =. (7.5.3) 容易知道,矩阵T A A 正定的充要条件是对于一切非零向量n y R ∈,有20T T y A Ay Ay =>.记1212(,,,),(,,,)T n n y y y y A p p p == ,则上式等价于10nj j j Ay p y ==≠∑. (7.5.4)而(7.5.4)式成立的充要条件是向量组12,,,n p p p 线性无关,这又等价于rank A n =.从而T A A 为正定矩阵的充要条件是rank A n =,换句话说,()s x 为正定二次函数的充要条件是rank A n =.定理7.5.2 若rank A n =,则1()T T x A A A b -= (7.5.5)为问题(7.5.2)的唯一最优解.显然,方程组Ax b =有解的充分必要条件是问题(7.5.2)的最优值min ()0s x =.例5 求解线性最小二乘问题 2min Ax b -, (7.5.6)其中31223,3141A b ⎛⎫⎛⎫ ⎪ ⎪=-=- ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭.解 因为11472671,()726714350T T A A A A --⎛⎫⎛⎫== ⎪ ⎪-⎝⎭⎝⎭,所以,由公式(7.5.5),求得问题(7.5.6)的最优解22673213/14137141343/103501x ⎛⎫-⎛⎫⎛⎫⎛⎫ ⎪=-= ⎪⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ ⎪-⎝⎭. 由于问题(7.5.6)的最优值为()()11.454285710T Ax b Ax b --=≠.因此,方程组12121232,233,41x x x x x x +=⎧⎪-=-⎨⎪-+=-⎩无解.二、Gauss-Newton 法现在讨论非线性最小二乘问题2m i n ()()s x f x =, (7.5.7) 其中12,()((),(),,()),()n T m i x R f x f x f x f x f x ∈= 不全是线性函数,且假定()i f x 具有一阶连续偏导数,1,2,,i m = .算法7-9(阻尼Gauss-Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x 及Jacobi 矩阵()k f x ∇,若()()T k k f x f x ε∇<,迭代终止,k x 为问题(7.5.7)的近似极小点;否则,转Step3.Step3 构造Gauss-Newton 方向.计算1[()()]T k k f x f x -∇∇,取1[()()]()()T T k k k k k d f x f x f x f x -=-∇∇∇.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k s x d s x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.同阻尼Newton 法一样,阻尼Gauss-Newton 法具有全局收敛性.三、Levenberg-Marquardt 法算法7-10(LM 法)Step1 选取初始数据.选取初始点0x ,给定初始参数00α>,放大因子1β>及允许误差0ε>,令0k =.Step2 求目标函数值.计算()k f x 及()k s x . Step3 求Jacobi 矩阵.计算()k f x ∇. Step4 检查是否满足终止准则.若()()T k k f x f x ε∇<,迭代终止,k x 为问题(7.5.7)的近似最优解;否则,转Step5.Step5 构造LM 方向.计算1[()()]T k k k n f x f x I α-∇∇+,令1[()()]()()T T k k k k n k k d f x f x I f x f x α-=-∇∇+∇.Step6 检查目标函数是否下降.计算()k k f x d +和()k k s x d +, 若()()k k k s x d s x +<,转Step8;否则,转Step7.Step7 放大参数.令:k k αβα=,返回Step5.Step8 缩小参数.令11,/,:1k k k k k x x d k k ααβ++=+==+,返回Step2. 初始参数0α和放大因子β应取适当数值,例如,根据经验可取00.01,10αβ==.可以证明,LM 法具有全局收敛性.。
无约束优化方法PPT课件-PPT精选文档

等式两边同乘 d
0
T
得
d Gd 0
0 T 1
fxa fx fx 0
k k T k k
k f x f x 0 k 1 T
d
k 1 T
dk 0
由此可知,在最速下降法中,相邻两个迭代点上 的函数梯度相互垂直。而搜索方向就是负梯度方 向,因此相邻两个搜索方向互相垂直。
第四章
无约束优化方法
第一节 概述
从第一章列举的机械设计问题,大多数实际问题 是约束优化问题。 约束优化问题的求解——转化为一系列的无约束 优化问题实现的。
因此,无约束优化问题的解法是优化设计方法 的基本组成部分,也是优化方法的基础。
无约束优化问题的极值条件
f x* 0
解析法(间接解法)
4.3.2 阻尼牛顿法 牛顿法的缺陷是,在确定极值点的过程中,并不含有沿 下降方向搜索的概念。因此对于非二次型函数,在迭代过 k 1 k 程中,可能出现 f( X )f( X )
的现象。为此人们提出了所谓的阻尼牛顿法。
令
k d H ( X ) f ( X ) k
1 k
以上二种经典方法中,人们不断努力,发掘,提出了不
同的改进方法。
第四节共轭方向及共轭方向法
为了克服最速下降法的锯齿现象,提高收敛速度,发展 了一类共轭方向法。搜索方向是共轭方向。
一、共轭方向的概念 共轭方向的概念是在研究二次函数
1T T f x x bx c xG 2
时引出的。 首先考虑二维情况
数值法(直接解法)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章 无约束最优化的解析法本章主要内容:最速下降法及其收敛性与收敛速度 Newton 切线法及其收敛性与收敛速度 阻尼Newton 法 共轭梯度法及其收敛性 变度量法、最小二乘法教学目的及要求:掌握最速下降法并理解其收敛性与收敛速度,掌握Newton 切线法并理解其收敛性与收敛速度,了解阻尼Newton 法;掌握共轭梯度法并理解其收敛性;了解变度量法、最小二乘法。
教学重点:最速下降法.教学难点:变度量法.教学方法:启发式.教学手段:多媒体演示、演讲与板书相结合.教学时间:6学时.教学内容:§7.1 最速下降法考虑无约束最优化问题m i n ()f x , (7.1.1)其中:n f R R →具有一阶连续偏导数.算法7-1(最速下降法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 进行一维搜索.取()k k d f x =-∇,求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.特别地,考虑1m i n ()2T T f x x Qx b x c =++, (7.1.2) 其中,n n n x R Q R ⨯∈∈为正定矩阵,,n b R c R ∈∈.设第k 次迭代点为k x ,从点k x 出发沿()k f x -∇作一维搜索,得1()k k k k x x f x λ+=-∇,其中k λ为最优步长.根据定理 6.1.1,有1()()0T k k f x f x +∇∇=.而(),n f x Q x b x R∇=+∀∈, 所以1()()()k k k k f x f x Q f x λ+∇=∇-∇,从而(()())()0T k k k k f x Q f x f x λ∇-∇∇=,而Q 正定,即()()0T k k f x Q f x ∇∇>,故由上式解出()()()()T k k k T k k f x f x f x Q f x λ∇∇=∇∇, (7.1.3) 于是1()()()()()T k k k k k T k k f x f x x x f x f x Q f x +∇∇=-∇∇∇, (7.1.4) 这是最速下降法用于问题(7.1.2)的迭代公式.例1 用最速下降法求解问题2212min ()4f x x x =+, (7.1.5)其中12(,)T x x x =.取初始点(0)(1,1)T x =,允许误差0.1ε=.解 问题(7.1.5)中的f 是正定二次函数,且800,,0020Q b c ⎛⎫⎛⎫=== ⎪ ⎪⎝⎭⎝⎭.f 在点12(,)T x x x =处的梯度12()(8,2)T f x x x ∇=.第一次迭代:令搜索方向(0)(0)()(8,2)T d f x =-∇=--,(0)d ε==>,从点(0)x 出发沿(0)d 作一维搜索,由(7.1.3)式和(7.1.4)式有0680.130769520λ==, (1)(1,1)0.130769(8,2)(0.046152,0.738462)T T T x =+--=-.第二次迭代:令(1)(1)()(0.369216, 1.476924)T d f x =-∇=-,(1) 1.522375d ε==>,从点(1)x 出发沿(1)d 作一维搜索,按(7.1.4)式得(2)(0.101537,0.147682)T x =.第三次迭代:令(2)(2)()(0.812296,0.295364)T d f x =-∇=--,(2)0.864329d ε==>,按(7.1.4)式求得(3)(0.009747,0.107217)T x =-.第四次迭代:令(3)(3)()(0.077976,0.214434)T d f x =-∇=-,(3)0.228171d ε==>,按(7.1.4)式求得(4)(0.019126,0.027816)T x =.第五次迭代:令(4)(4)()(0.153008,0.055632)T d f x =-∇=--,(4)0.162807d ε==>,按(7.1.4)式求得(5)(0.001835,0.020195)T x =-.此时,(5)()f x ε∇=<,已满足精度要求,故得问题(7.1.5)的近似最优解(5)(0.001835,0.020195)T x =-.实际上问题(7.1.5)的最优解为(0,0)T x =.定理7.1.1 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,假定水平集(,)S f α有界,令{}k x 是由最速下降法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且任一极限点都是f 的平稳点.定理7.1.2 设:n f R R →具有二阶连续偏导数,由最速下降法解问题(7.1.1)产生的点列{}k x 收敛于x .若存在0ε>和0M m >>,使得当x x ε-<时,有222(),T n m y y f x y M y y R ≤∇≤∀∈, (7.1.7) 则{}k x 线性收敛于x .§7.2 Newton 法21()()()()()()()()2T T k k k k k k f x x f x f x x x x x f x x x ϕ≈=+∇-+-∇-. 令 ()0x ϕ∇=,即2()()()0k k k f x f x x x ∇+∇-=,解之得211[()]()k k k k x x f x f x -+=-∇∇.算法7-2(Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造Newton 方向.计算21[()]k f x -∇,取21[()]()k k k d f x f x -=-∇∇. Step4 求下一个迭代点.令1k k k x x d +=+,:1k k =+,返回Step2.例2 用Newton 法求解问题(7.1.5),仍取初始点(0)(1,1)T x =,允许误差0.1ε=.解 (0)()(8,2)T f x ∇=,2(0)80()02f x ⎛⎫∇= ⎪⎝⎭,故2(0)11/80[()]01/2f x -⎛⎫∇= ⎪⎝⎭,(0)2(0)1(0)1[()]()1d f x f x -⎛⎫=-∇∇=- ⎪⎝⎭,(1)(0)(0)(1,1)(1,1)(0,0)T T T x x d =+=-=.由于 (1)()00.1f x ∇=<,迭代结束,得(1)x 为问题(7.1.5)的最优解.定理7.2.1 设:n f R R →具有三阶连续偏导数,,()0n x R f x ∈∇=,若存在0ε>和0m >,使得当x x ε-≤时,有22(),T n m y y f x y y R ≤∇∀∈, (7.2.2) 则当初始点0x 充分接近x 时,由Newton 法解问题(7.1.1)产生的点列{}k x 收敛于x ,并有二阶收敛速度.算法7-3(阻尼Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造Newton 方向.计算21[()]k f x -∇,取21[()]()k k k d f x f x -=-∇∇. Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.例3 用阻尼Newton 法求解下面问题:222121min ()(1)2()f x x x x =-+-,(7.2.6) 其中12(,)T x x x =.取初始点(0)(0,0)T x =,允许误差0.1ε=.解 第一次迭代:212112212(1)8()()4()x x x x f x x x ⎛⎫----∇= ⎪-⎝⎭, 22212111168()28()84x x x x f x x ⎛⎫--+-∇= ⎪-⎝⎭, 故 (0)(0)()(2,0),()2T f x f x ε∇=-∇=>,2(0)2(0)1201/20(),[()]0401/4f x f x -⎛⎫⎛⎫∇=∇= ⎪ ⎪⎝⎭⎝⎭.于是,Newton 方向 (0)2(0)1(0)[()]()(1,0)T d f x f x -=-∇∇=,从(0)x 出发沿(0)d 作一维搜索,即求(0)(0)2400min ()min(1)2f x d λλλλλ≥≥+=-+的最优解,得到012λ=.令 (1)(0)(0)0(1/2,0)T x x d λ=+=.(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.第二次迭代:2(1)2(1)184111(),[()]48124f x f x --⎛⎫⎛⎫∇=∇= ⎪ ⎪-⎝⎭⎝⎭, (1)2(1)1(1)[()]()(1/4,1/2)T d f x f x -=-∇∇=.从(1)x 出发沿(1)d 作一维搜索,即求(1)(1)24001min ()min [8(2)(2)]128f x d λλλλλ≥≥+=-+- 的最优解,得到12λ=.令(2)(1)(1)1(1,1)T x x d λ=+=.(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.此时,(2)(2)()(0,0),()0T f x f x ε∇=∇=<,得问题(7.2.6)的最优解为(2)(1,1)T x =,这是惟一的最优解.定理7.2.2 设:n f R R →具有二阶连续偏导数,0n x R ∈,记0()f x α=,假定水平集(,)S f α有界,并且对一切2,()n x R f x ∈∇正定.若{}k x 是由阻尼Newton法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的唯一极小点;(2)当{}k x 是无穷点列时,它必收敛于f 的唯一极小点.§7.3 共轭梯度法最速下降法和Newton 法是最基本的无约束最优化方法,它们的特性各异:前者计算量较小而收敛速度慢;后者虽然收敛速度快,但需要计算目标函数的Hesse 矩阵及其逆矩阵,故计算量大.本节介绍一类无需计算二阶导数并且收敛速度快的方法.定义 设n n Q R ⨯∈为正定矩阵.若n R 中的向量组011,,,m d d d - 满足0,,0,1,,1,T i j d Qd i j m i j =∀=-≠ ,则称011,,,m d d d - 是Q 共轭的.定理7.3.1 设n n Q R ⨯∈是正定矩阵,n R 中非零向量组011,,,m d d d - 是Q 共轭的,则这m 个向量线性无关.定理7.3.2 设n p R ∈,011,,,n d d d - 是n R 中线性无关的向量组,若p 与每个i d 都正交,则0p =.考虑正定二次函数的无约束最优化问题1min ()2T T f x x Qx b x c =++, (7.3.3) 其中n n Q R ⨯∈为正定矩阵,,n b R c R ∈∈.定理7.3.3 设n n Q R ⨯∈为正定矩阵,011,,,n d d d - 是n R 中一组Q 共轭的非零向量.对于问题(7.3.3),若从任意点0n x R ∈出发依次沿011,,,n d d d - 进行一维搜索,则至多经过n 次迭代可得问题(7.3.3)的最优解.算法7-4(共轭方向法)给定一个正定矩阵n n Q R ⨯∈.Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>. Step2 选取初始搜索方向.计算0()f x ∇,求出0d ,使00()0T f x d ∇<,令0k =. Step3 检查是否满足终止准则.若()k f x ε∇<,迭代终止;否则,转Step4. Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 选取搜索方向.求1k d +使10,0,1,,T k j d Qd j k +== ,令:1k k =+,返回Step3.如果用共轭方向法求解正定二次函数的无约束最优化问题1min ()2T T f x x Qx b x c =++, (7.3.3) 其中n n Q R ⨯∈为正定矩阵,,n b R c R ∈∈(此时算法中的正定矩阵应与二次函数的正定矩阵一致),那么容易推出迭代公式为1()T k k k k k T k kf x d x x d d Qd +∇=-. (7.3.10) 对于求解问题(7.1.1),我们还有如下一些方法.Fletcher-Reeves (FR )公式:212()()k k k f x f x α+∇=∇;Dixon-Myers (DM )公式:11()()()T k k k T k k f x f x d f x α++∇∇=-∇; Polak-Ribiere-Polyak (PRP )公式:11()[()()]()()T k k k k T k k f x f x f x f x f x α++∇∇-∇=∇∇. 算法7-5(FR 共轭梯度法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>. Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始搜索方向.计算00(),0d f x k =-∇=.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7.Step7 构造共轭方向.用FR 公式取11()k k k k d f x d α++=-∇+,212()()k k k f x f x α+∇=∇,令:1k k =+,返回Step4. 注意,如果算法7-4的Step7中k α的形式改为DM 公式或PRP 公式,则分别得到DM 共轭梯度法和PRP 共轭梯度法.定理7.3.5 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,并假设水平集(,)S f α有界.若{}k x 是由共轭梯度法(包括任何一种仅仅与算法7-5中k α的形式不同的共轭梯度法)解问题(7.1.1)所产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且任一极限点都是f 的平稳点.可以证明:共轭梯度法产生的点列{}k x 是n 步二阶收敛的,即2lim sup k n k k x x q x x +→∞-≤<∞-.例4 用FR 共轭梯度法求解问题(7.2.6)222121min ()(1)2()f x x x x =-+-,仍取初始点(0)(0,0)T x =,允许误差0.1ε=.222121min ()(1)2()f x x x x =-+-解 因为212112212(1)8()()4()x x x x f x x x ⎛⎫----∇= ⎪-⎝⎭, 所以(0)(0)()(2,0),()2T f x f x ε∇=-∇=>.令(0)(0)()(2,0)T d f x =-∇=,从(0)x 出发,沿(0)d 进行一维搜索,得(1)(0)(0)001/4,(1/2,0)T x x d λλ==+=.从而(1)(1)()(0,1),()1T f x f x ε∇=-∇=>.由FR 公式有2(1)02(0)()14()f x f x α∇==∇, 因此,新的搜索方向为 (1)(1)(0)0()(1/2,1)T d f x d α=-∇+=.从(1)x 出发,沿(1)d 进行一维搜索,得(2)(1)(1)111,(1,1)T x x d λλ==+=.此时(2)(2)()(0,0),()0T f x f x ε∇=∇=<.得问题(7.2.6)的最优解为(2)(1,1)T x =.§7.4 变度量法前面介绍的最速下降法和阻尼Newton 法,它们的迭代公式可以统一为1,(),k k k k k k k x x d d G f x λ+=+⎧⎨=-∇⎩ (7.4.1)其中,n n k k G R λ⨯∈是从点k x 出发沿k d 进行一维搜索的最优步长.当k n G I =(n 阶单位矩阵)时,(7.4.1)式即为最速下降法的迭代公式;当21[()]k k G f x -=∇时,(7.4.1)式就是阻尼Newton 法的迭代公式.因此,如果能够使k G 的选取既不需要计算Hesse 矩阵及其逆矩阵,又能很好地近似于21[()]k f x -∇,则由(7.4.1)式确定的迭代算法将会保持Newton 法收敛速度快的优点,同时又具有计算简单的特性.设问题(7.1.1)中目标函数f 具有二阶连续偏导数,且2()k f x ∇正定.为使由(7.4.1)中第2式确定的搜索方向是f 在点k x 处的下降方向,根据定理1.2.3,应当要求()0T k k f x d ∇<,或即()()0T k k k f x G f x ∇∇>,所以我们应要求(7.4.1)式中的k G 是正定矩阵.设在第1k +次迭代后得到1k x +,将f 在点1k x +处作Taylor 展开,取二阶近似,得21111111()()()()()()()2TT k k k k k k f x f x f x x x x x f x x x ++++++≈+∇-+-∇-, 对上式两边求梯度,有2111()()()()k k k f x f x f x x x +++∇≈∇+∇-,令k x x =,得到2111()()()()k k k k k f x f x f x x x +++∇-∇≈∇-,即21111[()][()()]k k k k k f x f x f x x x -+++∇∇-∇≈-.易知,当f 为正定二次函数时,上式成为等式,即 21111[()][()()]k k k k k f x f x f x x x -+++∇∇-∇=-. (7.4.2)因为具有正定Hesse 矩阵的函数在极小点附近可用二次函数很好地近似,所以如果我们迫使1k G +满足类似于(7.4.2)式的关系式,即令111[()()]k k k k k G f x f x x x +++∇-∇=-, (7.4.3)则1k G +就可以很好地近似于211[()]k f x -+∇.因此称(7.4.3)式为拟Newton 条件.为方便起见,记1k k k x x x +∆=-,1()()k k k g f x f x +∆=∇-∇,1k k k G G G +∆=-,并称k G ∆为校正矩阵,则拟Newton 条件可以写成k k k k k G g x G g ∆∆=∆-∆. (7.4.4)综上所述,我们得到如下的一类算法.算法7-6(拟Newton 法)Step1 选取初始数据.选取初始点0n x R ∈和初始矩阵0G ,要求0G 为正定矩阵(可取0n G I =),给定允许误差0ε>,令0k =.Step2 检查是否满足终止准则.计算()k f x ∇,若()k f x ε∇<,迭代终止,k x 为问题(7.1.1)的近似最优解;否则,转Step3.Step3 构造搜索方向.令()k k k d G f x =-∇.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k f x d f x d λλλ≥+=+, 1k k k k x x d λ+=+.Step5 产生校正矩阵.求出满足(7.4.4)的校正矩阵k G ∆,令1,:1k k k G G G k k +=+∆=+,返回Step2.算法7-7(DFP 法)Step1 选取初始数据.选取初始点0x 和初始矩阵0n G I =,给定允许误差0ε>.Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x 为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始DFP 方向.取00()d f x =-∇,令0k =.Step4 进行一维搜索.求出k λ和1k x +,使得01()min (),.k k k k k k k k k f x d f x d x x d λλλλ≥++=+⎧⎪⎨=+⎪⎩ Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7.Step7 构造DFP 方向.用DFP 公式1T T k k k k k k k k T T k k k k kx x G g g G G G x g g G g +∆∆∆∆=+-∆∆∆∆,算出1k G +,取111()k k k d G f x +++=-∇,令:1k k =+,返回Step4.定理7.4.4 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,并假设水平集(,)S f α有界.若{}k x 是由DFP 法求解问题(7.1.1)产生的点列,则(1)当{}k x 是有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 是无穷点列时,它必有极限点,并且其任一极限点都是f 的平稳点.可以证明DFP 法具有超线性收敛性.算法7-8(BFGS 法)Step1 选取初始数据.选取初始点0x 和初始矩阵0n G I =,给定允许误差0ε>.Step2 检查是否满足终止准则.计算0()f x ∇,若0()f x ε∇<,迭代终止,0x 为(7.1.1)的近似最优解;否则,转Step3.Step3 构造初始BFGS 方向.取00()d f x =-∇,令0k =.Step4 进行一维搜索.求出k λ和1k x +,使得01()min (),.k k k k k k k k k f x d f x d x x d λλλλ≥++=+⎧⎪⎨=+⎪⎩ Step5 检查是否满足终止准则.计算1()k f x +∇,若1()k f x ε+∇<,迭代终止,1k x +为(7.1.1)的近似最优解;否则,转Step6.Step6 检查迭代次数.若1k n +=,令0:n x x =,返回Step3;否则,转Step7. Step7 构造BFGS 方向.用BFGS 公式111()T T T T k k k k k k k k k k k k k T T T k k k k k kx x g G g G G x g G G g x x g x g x g +⎛⎫∆∆∆∆=++-∆∆+∆∆ ⎪∆∆∆∆∆∆⎝⎭, 算出1k G +,取111()k k k d G f x +++=-∇,令:1k k =+,返回Step4.可以证明BFGS 法具有超线性收敛性.§7.5 最小二乘法在实际应用中,我们经常遇到目标函数为若干个函数的平方和的最优化问题: 21min ()()mi i s x f x ==∑, (7.5.1)其中n x R ∈,一般假设m n ≥,这类问题称为最小二乘问题.当每个()i f x 都是线性函数时,问题(7.5.1)称为线性最小二乘问题,否则,称为非线性最小二乘问题.由于最小二乘问题相对于一般无约束最优化问题而言具有特殊形式,因此除能运用本章前面介绍的一般求解方法外,还应有更为简便有效的方法.一、线性最小二乘法当()i f x 为线性函数时,即1(),1,2,,ni ij j i j f x a x b i m ==-=∑ ,问题(7.5.1)就成为线性最小二乘问题.如令11111,n m mn m a a b A b a a b ⎛⎫⎛⎫ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭,12()((),(),,())T m f x f x f x f x = ,则 2()()()()()T T s x f x f x Ax b Ax b Ax b ==--=-, 从而问题(7.5.1)可表示为2min ()s x Ax b =-. (7.5.2) 因为()()()2T T T T T s x Ax b Ax b x A Ax b Ax b b =--=-+,所以()s x 为二次函数,且2()22,()2T T T s x A Ax A b s x A A ∇=-∇=.显然,对一切n y R ∈,均有20T T y A Ay Ay =≥,即知,T A A 是半正定矩阵,从而由定理2.3.7知,()s x 是n R 上的凸函数.定理7.5.1 n x R ∈是问题(7.5.2)的最优解的充要条件是x 满足方程组T T A Ax A b =. (7.5.3) 容易知道,矩阵T A A 正定的充要条件是对于一切非零向量n y R ∈,有20T T y A Ay Ay =>.记1212(,,,),(,,,)T n n y y y y A p p p == ,则上式等价于10nj j j Ay p y ==≠∑. (7.5.4)而(7.5.4)式成立的充要条件是向量组12,,,n p p p 线性无关,这又等价于rank A n =.从而T A A 为正定矩阵的充要条件是rank A n =,换句话说,()s x 为正定二次函数的充要条件是rank A n =.定理7.5.2 若rank A n =,则1()T T x A A A b -= (7.5.5)为问题(7.5.2)的唯一最优解.显然,方程组Ax b =有解的充分必要条件是问题(7.5.2)的最优值min ()0s x =.例5 求解线性最小二乘问题 2min Ax b -, (7.5.6)其中31223,3141A b ⎛⎫⎛⎫ ⎪ ⎪=-=- ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭.解 因为11472671,()726714350T T A A A A --⎛⎫⎛⎫== ⎪ ⎪-⎝⎭⎝⎭,所以,由公式(7.5.5),求得问题(7.5.6)的最优解22673213/14137141343/103501x ⎛⎫-⎛⎫⎛⎫⎛⎫ ⎪=-= ⎪⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ ⎪-⎝⎭. 由于问题(7.5.6)的最优值为()()11.454285710T Ax b Ax b --=≠.因此,方程组12121232,233,41x x x x x x +=⎧⎪-=-⎨⎪-+=-⎩无解.二、Gauss-Newton 法现在讨论非线性最小二乘问题2m i n ()()s x f x =, (7.5.7) 其中12,()((),(),,()),()n T m i x R f x f x f x f x f x ∈= 不全是线性函数,且假定()i f x 具有一阶连续偏导数,1,2,,i m = .算法7-9(阻尼Gauss-Newton 法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令0k =. Step2 检查是否满足终止准则.计算()k f x 及Jacobi 矩阵()k f x ∇,若()()T k k f x f x ε∇<,迭代终止,k x 为问题(7.5.7)的近似极小点;否则,转Step3.Step3 构造Gauss-Newton 方向.计算1[()()]T k k f x f x -∇∇,取1[()()]()()T T k k k k k d f x f x f x f x -=-∇∇∇.Step4 进行一维搜索.求k λ和1k x +,使得()min ()k k k k k s x d s x d λλλ≥+=+, 1k k k k x x d λ+=+.令:1k k =+,返回Step2.同阻尼Newton 法一样,阻尼Gauss-Newton 法具有全局收敛性.三、Levenberg-Marquardt 法算法7-10(LM 法)Step1 选取初始数据.选取初始点0x ,给定初始参数00α>,放大因子1β>及允许误差0ε>,令0k =.Step2 求目标函数值.计算()k f x 及()k s x . Step3 求Jacobi 矩阵.计算()k f x ∇. Step4 检查是否满足终止准则.若()()T k k f x f x ε∇<,迭代终止,k x 为问题(7.5.7)的近似最优解;否则,转Step5.Step5 构造LM 方向.计算1[()()]T k k k n f x f x I α-∇∇+,令1[()()]()()T T k k k k n k k d f x f x I f x f x α-=-∇∇+∇.Step6 检查目标函数是否下降.计算()k k f x d +和()k k s x d +, 若()()k k k s x d s x +<,转Step8;否则,转Step7.Step7 放大参数.令:k k αβα=,返回Step5.Step8 缩小参数.令11,/,:1k k k k k x x d k k ααβ++=+==+,返回Step2. 初始参数0α和放大因子β应取适当数值,例如,根据经验可取00.01,10αβ==.可以证明,LM 法具有全局收敛性.。