运筹学(最优化方法)第五章 最速下降法、共轭梯度法等
最优化方法

随机梯度下降每次迭代只使用一个样本,迭代 一次计算量为n 2 ,当样本个数m很大的时候, 随机梯度下降迭代一次的速度要远高于批量梯 度下降方法。 两者的关系可以这样理解:随机 梯度下降方法以损失很小的一部分精确度和增 加一定数量的迭代次数为代价,换取了总体的 优化效率的提升。增加的迭代次数远远小于样 本的数量。
2. 牛顿法和拟牛顿法(Newton's method & Quasi-Newton Methods)
牛顿法(Newton's method) 牛顿法是一种在实数域和复数域上近似求解方程 的方法。方法使用函数 f ( x ) 的泰勒级数的前 面几项来寻找方程 f ( x ) = 0 的根。牛顿法最大 的特点就在于它的收敛速度很快。
具体步骤:
首先,选择一个接近函数 f ( x ) 零点的 x 0 , 计算相应的 f ( x 0 ) 和切线斜率 f ' (x 0 ) (这 里 f ' 表示函数 f 的导数)。然后我们计算穿 过点 (x 0 , f (x 0 )) 并且斜率为 f '(x 0 ) 的直线 和 x 轴的交点的 x 坐标,也就是求如下方程的 解:
批量梯度下降法(Batch Gradient Descent,BGD)
(1)将J(theta)对theta求偏导,得到每个theta对应 的的梯度:
(2)由于是要最小化风险函数,所以按每个参数 theta的梯度负方向,来更新每个theta:
(3)从上面公式可以注意到,它得到的是一个全 局最优解,但是每迭代一步,都要用到训练集 所有的数据,如果m很大,那么可想而知这种 方法的迭代速度会相当的慢。所以,这就引入 了另外一种方法——随机梯度下降。 对于批量梯度下降法,样本个数m,x为n维向 量,一次迭代需要把m个样本全部带入计算, 迭代一次计算量为m*n 2 。
《运筹学》第五章习题及答案

《运筹学》第五章习题及答案《运筹学》第五章习题1.思考题(1)试述动态规划的“最优化原理”及它同动态规划基本方程之间的关系。
(2)动态规划的阶段如何划分?(3)试述用动态规划求解最短路问题的方法和步骤。
(4)试解释状态、决策、策略、最优策略、状态转移方程、指标函数、最优值函数、边界函数等概念。
(5)试述建立动态规划模型的基本方法。
(6)试述动态规划方法的基本思想、动态规划的基本方程的结构及正确写出动态规划基本方程的关键步骤。
2.判断下列说法是否正确(1)动态规划分为线性动态规划和非线性动态规划。
(2)动态规划只是用来解决和时间有关的问题。
(3)对于一个动态规划问题,应用顺推法和逆推法可能会得到不同的最优解。
(4)在用动态规划的解题时,定义状态时应保证各个阶段中所做的决策的相互独立性。
(5)在动态规划模型中,问题的阶段等于问题的子问题的数目。
(6)动态规划计算中的“维数障碍”,主要是由于问题中阶段数的急剧增加而引起的。
3.计算下图所示的从A到E的最短路问题4.计算下图所示的从A到E的最短路问题5.计算从A到B、C、D的最短路线。
已知各线段的长度如下图所示。
6.设某油田要向一炼油厂用管道供应油料,管道铺设途中要经过八个城镇,各城镇间的路程如下图所示,选择怎样的路线铺设,才使总路程最短?7.用动态规划求解下列各题(1).222211295m a x x x x x z-+-=;???≥≤+0,52121x x x x;(2).33221m a x x x x z=???≥≤++0,,6321321x x x x x x;8.某人外出旅游,需将3种物品装入背包,但背包重量有限制,总重量不超过10千克。
物品重量及其价值等数据见下表。
试问每种物品装多少件,使整个背包的价值最大?913千克。
物品重量及其价值的关系如表所示。
试问如何装这些物品,使整个背包价值最大?10量和相应单位价值如下表所示,应如何装载可使总价值最大?303011底交货量,该厂的生产能力为每月600件,该厂仓库的存货能力为300件,又每生产100件产品的费用为1000元。
最速下降法和共轭梯度法

v b Ax v, v t v, Av x x tv
output k+1, x enddo
算法中也可以用残差作为循环控制,我们可以利用以下的事后误差估计式
|| x x* || || r || ( A) || x || || b ||
证明 按照残差的定义,并且由于假设 x 是方程组的准确解,我们有
(0)
for k=0 to M-1 do
v ( k 1) b Ax ( k ) v( k ) , v( k ) t v ( k ) , Av ( k ) x ( k 1) x ( k ) tk v ( k )
output k+1, x enddo
( k 1)
为了节省空间,实际的算法为 input x ,A, b, M output 0, x for k=0 to M-1 do
定理 1 (A-标准正交系定理)设 A 对称正定, u
(1)
,u
(2)
,…, u
(n)
是一组关于内积
x, y A 的标准正交系。定义 x ( i ) x ( i 1) b Ax (i 1) , u ( i ) u ( i )
其中 x
(0)
是 R 中的任意点,则 Ax
n
( k 1) r (k ) , v(k ) (k ) (k ) x x v (k ) (k ) v Av , ( k 1) b Ax ( k 1) r ( k 1) (i ) k A (i ) v ( k 1) r ( k 1) r (i ) , v v (i ) A i 0 v , v
2
v, b Ax q( x)
运筹学及其应用8.3 最速下降法

(3)
若 d (k)
< ε ,则停止计算;否则,确定最佳步长 λ 。 k
(4) X (k+1) = X (k) + λk d (k) ,置 k = k + 1,转第(2)
2
例1 求 min f ( X ) = x12 − 2x1 + x22 − 2x2 + 2 ε = 0.1
解: 10 取X (0) = (0 0)T
∇f
(
X
)
=
∂f ∂x1
∂f ∂x2
T
=
[2( x1
− 1)
2( x2 − 1)]T
[ ∇f ( X (0) ) = − 2 − 2]T
( ) ∇f ( X (0) ) = (−2)2 + (−2)2 = 8 > ε
3
∇f ( X ) = [2( x1 − 1) 2( x2 − 1)]T
2x2
H
(
X
)
=
4 0
0 2
d0
=
−∇f
(X0)
=
− −
4 2
d0 = 20 > ε
λ = ∇T f ( X0 )∇f ( X0 ) = 5
0 ∇T f ( X 0 )H ( X 0 )∇f ( X 0 ) 18
X (1)
=
X0
+
λ 0
d
0
=
−491
H
(
X
)
=
4 0
0 2
d3
=
−∇f
(
X(3))
=
8 243
1 − 2
共轭梯度法简介

算法步骤—FR共轭梯度法 算法步骤 FR共轭梯度法 FR
共轭梯度法
Step1: Step2: Step3: Step4: Step5: Step6: Step7:
共轭梯度法
举例
参见 P187 例7.3.1.
共轭梯度法
收敛性分析
与Newton法相比,共轭梯度 法相比, 法相比 全局收敛性 法具有较弱的收敛条件. 法具有较弱的收敛条件
共轭方向法和共轭梯度法
问题1: 问题 如何建立有效的算法? 如何建立有效的算法? 从二次模型到一般模型. 从二次模型到一般模型
问题2: 什么Leabharlann 的算法有效呢? 什么样的算法有效呢? 问题 二次终止性. 二次终止性
简介
共轭方向法和共轭梯度法
共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导 共轭梯度法是介于最速下降法与牛顿法之间的一个方法, 数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储 数信息,但克服了最速下降法收敛慢的缺点, 和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组 和计算Hesse矩阵并求逆的缺点, Hesse矩阵并求逆的缺点 最有用的方法之一,也是解大型非线性最优化最有效的算法之一. 最有用的方法之一,也是解大型非线性最优化最有效的算法之一.
共轭方向法和共轭梯度法
特点 (1) 建立在二次模型上,具有二次终止性. 建立在二次模型上,具有二次终止性. (2) 一种有效的算法,克服了最速下降法的锯齿现象, 一种有效的算法,克服了最速下降法的锯齿现象 锯齿现象, 又避免了牛顿法的计算量大和局部收敛性的缺点. 又避免了牛顿法的计算量大和局部收敛性的缺点. (3) 算法简单,易于编程,无需计算二阶导数,存储 算法简单,易于编程,无需计算二阶导数, 空间小等优点, 空间小等优点,是求解中等规模优化问题的主要 方法. 方法.
最优化问题的算法迭代格式

最优化问题的算法迭代格式最优化问题的算法迭代格式最优化问题是指在一定的条件下,寻找使某个目标函数取得极值(最大值或最小值)的变量取值。
解决最优化问题的方法有很多种,其中较为常见的是迭代法。
本文将介绍几种常用的最优化问题迭代算法及其格式。
一、梯度下降法梯度下降法是一种基于负梯度方向进行搜索的迭代算法,它通过不断地沿着目标函数的负梯度方向进行搜索,逐步接近极值点。
该方法具有收敛速度快、易于实现等优点,在许多应用领域中被广泛使用。
1. 算法描述对于目标函数 $f(x)$,初始点 $x_0$ 和学习率 $\alpha$,梯度下降算法可以描述为以下步骤:- 计算当前点 $x_k$ 的梯度 $\nabla f(x_k)$;- 更新当前点 $x_k$ 为 $x_{k+1}=x_k-\alpha\nabla f(x_k)$;- 如果满足停止条件,则输出结果;否则返回第 1 步。
2. 算法特点- 沿着负梯度方向进行搜索,能够快速收敛;- 学习率的选择对算法效果有重要影响;- 可能会陷入局部极小值。
二、共轭梯度法共轭梯度法是一种基于线性方程组求解的迭代算法,它通过不断地搜索与当前搜索方向共轭的新搜索方向,并在该方向上进行一维搜索,逐步接近极值点。
该方法具有收敛速度快、内存占用少等优点,在大规模问题中被广泛使用。
1. 算法描述对于目标函数 $f(x)$,初始点 $x_0$ 和初始搜索方向 $d_0$,共轭梯度算法可以描述为以下步骤:- 计算当前点 $x_k$ 的梯度 $\nabla f(x_k)$;- 如果满足停止条件,则输出结果;否则进行下一步;- 计算当前搜索方向 $d_k$;- 在当前搜索方向上进行一维搜索,得到最优步长 $\alpha_k$;- 更新当前点为 $x_{k+1}=x_k+\alpha_k d_k$;- 计算新的搜索方向 $d_{k+1}$;- 返回第 2 步。
2. 算法特点- 搜索方向与前面所有搜索方向都正交,能够快速收敛;- 需要存储和计算大量中间变量,内存占用较大;- 可以用于非线性问题的求解。
运筹学与最优化方法(修改第五章动态规划精品PPT课件

1.多阶段决策过程的最优化
5)运输网络问题: 如下页图1所示的运输网络,点间连
线上的数字表示两地距离(也可是运费、
时间等),要求从v1 至v10的最短路线。
这种运输网络问题也是静态决策 问题。但是,按照网络中点的分布,可 以把它分为4个阶段,而作为多阶段决 策问题来研究。
11
1.多阶段决策过程的最优化
1.多阶段决策过程的最优化
多阶段决策过程最优化的目标是要 达到整个活动过程的总体效果最优。由
于各段决策间有机地联系着,本段决策 的执行将影响到下一段的决策,以至于 影响总体效果,所以决策者在每段决策 时不应仅考虑本阶段最优,还应考虑对 最终目标的影响,从而作出对全局来讲 是最优的决策。动态规划就是符合这种 要求的一种决策方法。
9
1.多阶段决策过程的最优化
4)资源分配问题:属于这类静态问题。 如:某工业部门或公司,拟对其所属企业进 行稀缺资源分配,为此需要制定出收益最大 的资源分配方案。这种问题原本要求一次确 定出对各企业的资源分配量,它与时间因素 无关,不属动态决策,但是,我们可以人为 地规定一个资源分配的阶段和顺序,从而使 其变成一个多阶段决策问题(后面我们将详 细讨论这个问题)。
图11 运ቤተ መጻሕፍቲ ባይዱ网络图示
12
1.多阶段决策过程的最优化
三、动态规划求解的多阶段决策问题的特点 通常多阶段决策过程的发展是通过状
态的一系列变换来实现的。一般情况下, 系统在某个阶段的状态转移除与本阶段的 状态和决策有关外,还可能与系统过去经 历的状态和决策有关。因此,问题的求解 就比较困难复杂。而适合于用动态规划方 法求解的只是一类特殊的多阶段决策问题, 即具有“无后效性”的多阶段决策过程。 所谓无后效性,又称马尔柯夫性,是指系 统从某个阶段往后的发展,仅由本阶段所 处的状态及其往后的决策所决定,与系统 以前经历的状态和决策(历史)无关。
西南交大运筹学《无约束最优化方法》

运筹学Operations Research无约束最优化方法西南交通大学经济管理学院§1.最速下降法§2.Newton法§3.共轭梯度法§4.变尺度法§5.直接法)()()()(0)(,,1,P o P X f X f P X f X f X f P E P T k k k k kn λλλ+∇+=+≠∇=∈非零:处的梯度它在是连续可微的函数即是单位向量设P X f o P X f X f P X f P f P X X f T k T k k k k)()()(lim )()(lim )(00∇=+∇=−+=∂∂→→λλλλλλλ的方向导数为:处关于方向在点k k k k T k kk T k X f P X f P X f P X f P P X f θθθcos )(cos )()()()(∇=⋅∇=∇∇∇之间的夹角,则和为。
记就是使下降最快的方向取最小的使处的最速下降方向。
在点通常把它叫做下降最快的方向。
出发使是从点时,上式最小,所以可知,当k kk k k X f f X X f P )(:−∇==πθ下降的搜索方向。
再去寻找使处不需要在点这时的点局部最优解的必要条件的已是满足的驻点。
是,则若f X X f X X f k k k k ,,)NP (0)(=∇:,)(,,,;,,,,,1的最佳步长,即作为点最小的确定使来的一维搜索即通过在负梯度方向上最佳步长方法采用振荡的情况。
所以一般在极值点附近出现来回则若步长选得大计算次数较多则收敛慢长选得小若步。
选择用固定步长时还要确定步长方向之后在选定了搜索得到下一个近似点为了由点+kk k k X X f X X λλ))((min ))((0kk k k k X f X f X f X f ∇−=∇−>λλλ§1.最速下降法)()()()()(0)()()()()())(()()()(21)()()())((2k k T k k T k k k k T k k T k k k k k T k kT k k k k X f X H X f X f X f X f X H X f X f X f d X f X df X f X H X f X f X f X f X f X f ∇∇∇∇==∇∇+∇−∇=∇−∇∇+∇∇−≈∇−λλλλλλλλ得:求导并令其等于零,则对§1.最速下降法Step1.。
最速下降法

数学软件与实验结课作业------最速下降法班级:071111学号:07111008 07111012 07111057姓名:李咏邹仁朋宋郝开摘要最速下降法又称梯度法,早先求解无约束多元函数极值的数值方法,是1847年由著名数学家Cauchy给出的,它是解析法中最古老的一种,是最优化方法的基础。
它工作量较少,且储存变量不多,初始点要求也不高,但效率不高。
最速下降法多用来解觉n元函数的无约束非线性规划问题。
利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小,从而最终找到最优解。
最速下降法的基本思想是:从当前点x k出发,取函数f(x)在点x k 处下降最快的方向作为我们的搜索方向p k,由f(x)的Taylor 展式知(x k) - f (x k +t p k) = -tÑf (x k)T p k+ o‖( t p k‖),略去t的高阶无穷小项不计,可见取p k= -Ñf (x k)时,函数值下降得最多。
从而,构造出最速下降法的迭代步骤求解。
最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是较小的常数。
g(k)是x(k)的梯度。
一、问题描述求解最优化问题是通常采用两种方法:1.解析解法——利用函数的导数构造迭代公式使之收敛到极值点的方法;2.直接解法——根据数学原理,用尽可能少的计算量直接比较函数值的大小,来确定函数极值的方法。
在最优化计算方法中,要求解12(,,,)n y f x x x = 的局部最小值,选用解析解法,采用如下的方法进行迭代计算:先给出初始点000012(,,,)n x x x =x ,然后根据其梯 度方向0()f ∇x ,计算一元函数0010()min (())y f f λλλ≥=-⋅∇x x ,并得到1001()f λ=-⋅∇x x x 。
如此反复迭代,最终收敛于局部最优点。
实现该算法。
CH5-1,2变分原理最速下降法、共轭梯度法

2 k
2
( Apk , pk )
记 xk 1 Pk 1 yk 1,其中
1 2 k 1 Pk 1 ( p1 ,, pk 1 ), yk 1 R k 1
( xk )
xx0 span ( p1 ,, pk )
min
( x)
(1)
不难得出,当 k n 时,由定理5.1.1, xn 就是 Ax b的 精确解.(这是一个有限步方法)
二、 pk 的取法
取 p1 r0 b Ax0 ,并假设已经成功地找到了
p1 , p2 ,, pk 1 (k 2) ,由上述条件可知 xk 1 x0 i pi
的第二项为零.
这时,要使 xk 极小化 ( x) ,应有 ( xk ) 0, i 1,2,, k 1 i (4) ( xk ) 0, k
上式中前 k 1个方程自然满足, 因为 xk 1已经在
span{ p1 ,, pk 1}中极小化了 ( x) .所以只要解出上
3。梯度▽ f(x)的模:
f ( x ) f ( x ) f ( x ) || f ( x ) || x x , x 1 2 n
2 2 2
几个梯度公式
• • • • 1。f(x)=C(常数),则▽f(x)=0。 2。 f(x)=bTx,则 ▽f(x)=b; 3。 ▽ (xTx)=2x; 4。若A是实对称方阵,则有▽ (xTAx)=2Ax;
§5.2 共轭梯度法 一、共轭梯度法的出发点
由最速下降法的计算过程可知,xk 是从 x0 出发、沿
最优化方3.3法最速下降法(梯度法)

例 3.4.4 用 Newton 法求解问题 min f (x) 4x12+x22-x12x2
取初始点为 xA (1,1)T , xB (3, 4)T , xC (2, 0)T 。
min f (x) 4x12+x22-x12x2
g
(
x)
8x1-2x1 x2 2 x2-x12
G(
x)
0.1273 0.0003 0.0000
1.3388 0.0511 0.0001
xk (0,0) 严格局部极小点
g
(
x)
8x1-2x1 x2 2x2-x12
G(0,0) 8 0 0 2
G(
x)
8-2x2 -2 x1
-2x1 2
解: (2)用 Newton 法得到得迭代点如表所示:
开域内有极小点 x*,设G* G(x*)正定,则当 x0与 x*充分
接近时,对一切k ,Newton 法有定义,且当xk 为无穷 点列时,xk 二阶收敛于 x*,即hk 0且
f
( xk
)存在,所以有
fk fk1 0。 (3.8)
用反证法。假设 gk 0不成立,则0 0及无穷多个 k ,使 gk 0。对这样的k ,有
gkT pk pk 0,
于是,由 Taylor 公式
f (xk pk ) f (xk ) g(k )T pk
f
(
xk
)
g
T k
pk
g(k ) gk T
最速下降法
k=k+1
x(1), ε >0, k=1
Yes
|| ▽f(x(k) ) ||< ε?
No
d(k)= -▽f(x(k) )
stop. x(k) –解
最优化课程练习-共轭梯度法

无约束优化方法—共轭梯度法1.共轭梯度法共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算海赛矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。
其基本思想是利用负梯度方向,构造一共轭方向,使其尽快达到最优点。
共轭梯度法迭代过程如图1所示。
1X 2图1 共轭梯度法迭代过程()k 1x +点是沿()k x 点负梯度方向()()K k Sg =-搜索到的极值点。
如果接着从()k 1x +点出发,不是按着其负梯度方向()kg -搜索,而是沿着通过*x 点的方向()1K S +搜索,显然立即就能搜索到极值点*x 。
根据共轭理论,它们应当满足()()(1)1k Tk SAS+=即()KS 与()1K S +是互为共轭方向,新构造的共轭方向()1K S +,可由矢量合成,()(1)(1)()()2k k k k SgSβ++=-+()k β值可根据在极值点附近目标函数等值线近似为二次型函数的道理,推到出:()(1)(1)(1)2()()()()2||||3||||k T k k k k T k k gg g g g g β+++==利用两个点的梯度()k g和(1)k g+,就可以构造一个与梯度矢量为共轭的矢量()1K S +,沿着该方向搜索,即可求得极值点。
共轭梯度法程序框图如图2所示。
图2 共轭梯度法程序框图2. 共轭梯度法的应用用共轭梯度法计算22121212()52410f X x x x x x x =+---+ 的最优解,其中:初始点()0[1,1]T X =。
收敛精度ε=0.0001(1).共轭梯度法程序设计#include "stdio.h" #include "math.h"double fun1(double x1,double x2) {double y;y=x1*x1+x2*x2-5*x1*x2-2*x1-4*x2+10; return y; }double fun2(double g[],double d[]) {double buchang;buchang=-(g[0]*d[0]+g[1]*d[1])/(d[0]*(2*d[0]-5*d[1])+d[1]*(-5*d[0]+2*d[1])); return buchang; }main(){ double t, beta,x1=1,x2=1,d[2],g[4], y, m,e=0.0001; int k=1;g[0]=2*x1-5*x2-2; g[1]=2*x2-5*x1-4; m=(sqrt(g[0]*g[0]+g[1]*g[1]));while(m>e&&k<=200) { if (k==1) {d[0]=-g[0]; d[1]=-g[1];beta=0; } else {beta=(g[0]*g[0]+g[1]*g[1])/(g[2]*g[2]+g[3]*g[3]); d[0]=-g[0]+beta*d[0]; d[1]=-g[1]+beta*d[1]; }t=fun2(g,d); x1=x1+d[0]*t; x2=x2+d[1]*t; g[2]=g[0]; g[3]=g[1];g[0]= 2*x1-5*x2-2;g[1]= 2*x2-5*x1-4;m=sqrt(g[0]*g[0]+g[1]*g[1]); k++; }y=fun1(x1,x2);printf("迭代次数为k=%d\n",k);printf("分别输出x1=%f,x2=%f\n",x1,x2); printf("极小值y=%f",y); }(2).程序运行结果(3).结 论用共轭梯度法计算22121212()52410f X x x x x x x =+---+的最优解为*( 1.142857,0.857143)X =-- ,*()12.857143F X = 。
运筹学与最优化方法 第5章无约束最优化

x(i+1)=x(i)+αid(i) , i=1,2, …,k
精确一维搜索保证方向导数为0:
……②
▽fT(x(i+1))d(i)=0, i=1,2, …,k
……③
在x(i+1)点构造新方向d(k+1)为-▽f(x(k+1)) 与d(1),d(2), …,d(k)的组合:
k
d(k1) f (x(k1)) (jk)d(j) ④
2020/12/2
16
变尺度法
一、变尺度法的基本思路: (f)min f(x), f: R n→ R
1、基本思想:
用对称正定矩阵H(k)近似▽2f(x(k)), 而H(k)的产生从给定H(1)
开始逐步修整得到。
2、算法框图:
x(1),H(1)对称 ε>0, k=1
k=k+1
d(k)=-H(k) ▽ f(x(k))
由⑨式
▽f(x(j+1))T ▽f(x(i))=0 i<j≤k …… ⑩
i1
(由④式 f(x(i))d(i)
) d (i) (h)
h
h1
根据⑧及⑥得: j=1,2, …,k-1
- ▽f(x(k+1))T [▽f(x(j+1)) - ▽ f(x(j))]+βj(k) d(j)T y(j)=0
2020/12/2
qk(x)=f(x(k))+ ▽Tf(x(k))(x-x(k)) +1/2 (x-x(k))T▽2f(x(k)) (x-x(k))
求驻点:
▽2020/q12k/(2x)= ▽f(x(k))+ ▽2f(x(k)) (x-x(k))=0
4
本章要点最速下降法的基本思想及特点牛顿方向Newton法

例4.1 用最速下降法求函数 f (x1, x2)=x12+4x22 的极小点,(迭代两次), 并验证相邻两个搜索方向是正交的。初始点取为x(0)=[1,1]T 。
x1
因而由上述定理知: x1
0 0 || x1 || 0
x1
即只需迭代一步就到了极小点,这表明最速下降法用于等值线为圆的目标 函数时,从任意初始点出发,只需迭代一步就到了极小点。
(2)当 1 2 时, 等值线为椭圆。此时对于一般的初始点将产生锯齿现象。
(3)当 1 2
d kT g k d k g k
当且仅当dk=-gk时, (dk)Tgk 最小,从而-gk是最速下降方向。
最速下降法的迭代格式为:
x( k 1) x( k ) tk f ( x( k ) )
(二)算法
开始
给定x(0) , M , 1 , 2 , 令 k=0 计算f( x(k ) ) ||f( x(k ) )|| < 1 否 k>M 是 是
而采用固定步长λ的方法,称为固定步长最速下降法。只要λ充分小,总有:
f x k f xk 1 f xk f x k
f xk
但λ到底取多大,没有统一的标准, λ取小了,收敛太慢,而λ取大了, 又会漏掉极小点。——不精确线搜索解决这个问题
x1 x0 0f x0 1.919877 0.3071785 10
f ( x1 ) 3.686164.
2
T
然后再从 x1开始新的迭代,经过10次迭代,得最优解 x* (0, 0)T 计算中可 以发现,开始几次迭代,步长比较大,函数值下将降较快但当接进最优点 时,步长很小,目标函数值下降很慢。如果不取初点为 x0 (2, 2)T 而取 x0 (100,0)T 虽然后一初点较前一初点离最优点 x* (0, 0)T 远,但迭代中 不会出现上面的锯齿现象。这时:
最速下降法(sd);共轭梯度法

最速下降法(sd);共轭梯度法
最速下降法(SD)和共轭梯度法(CG)都是求解非线性优化问题中的常用算法。
最速下降法是基于梯度方向的一种搜索方法,在每一步所需找到函数在当前点的最陡方向,并沿着该方向走一步,直到达到要求的精度为止。
该方法速度快,收敛性好,但容易陷入“zigzag”现象,即由于步长过大或过小,导致序列在搜索方向上反复飞奔而收敛缓慢,同时,最速下降法对函数“弯曲性”敏感,函数梯度变化太快时收敛缓慢。
共轭梯度法是一种基于梯度方向的线性搜索方法,其优势在于快速收敛,准确性高。
其核心思想是,由于函数在一般性条件下不是QUADRATIC FUNCTION,因此,图像往往不是一个明显的"碗状",而是一个复杂的非线性图形。
在这种情况下,最速下降法很容易落入“zigzag”现象,收敛速度慢。
而共轭梯度法可以从不同方向进行极小值点的搜索,进而明显提高收敛速度。
总之,最速下降法适用于方向比较简单的情况,而共轭梯度法适用于方向较为复杂的情况。
根据不同的情况进行选择,可以有效地提高求解的效率和精度。