最速下降法

合集下载

最优化方法第二章_线搜索算法_最速下降法

最优化方法第二章_线搜索算法_最速下降法

f x1 , x2 c, c>0,
2
改写为:
x12 2c 1

2 x2

2c 2
2
1
二、最速下降法
x2
这是以
2c
1

2c
2
为半轴的椭圆
2c
2c
2
2
从下面的分析可见 两个特征值的相对
x1
大小决定最速下降法的收敛性。
(1)当 1 2 时,等值线变为圆
2 2
4 f x , 2
2 x1 2 x2 4 f ( x) , 2 x1 +4x2
4 d = f x , 2
0 0
=40 2 20 3 令 0= ' ( ) 80 20, 得 0 =1/4,

一维搜索
二 三 四
下 降 算 法

最速下降法 Newton法 共轭梯度法
多尺度法 (拟Newton法)
二、最速下降法 假设 f 连续可微,取 线搜索方向
k
d f ( x )
k
步长k 由精确一维搜索得到。 从而得到第 k+1次迭代点,即
f ( x k k d k ) min f ( x k d k )


(推论)在收敛定理的假设下,若f (x)为凸函数,则最速下降 法或在有限迭代步后达到最小点;或得到点列 x k ,它的任 何聚点都是 f (x)的全局最小点。
二、最速下降法

最速下降法特征:相邻两次迭代的方向互相垂直。

( ) f ( x d ), 利用精确一维搜索,可得

最优化之最速下降法PPT课件

最优化之最速下降法PPT课件

那么目标函数 f(x)在Xk处沿方向dk下降的变化率为
5
最速下降法的方向选择
LLOOGGOO
lim lim fxkdkfxk gkTdk
0Leabharlann 0gkTdkgk dk cos
其中 为gk与dk的夹角。要使得变化率最小,只有当cos值为-1 时,才能达到,也即dk应取得负梯度方向。
J (a)
J (a)
11
开始
给定初始点, x 0 E n , 0
程序图
LOGO
求 k 使其满足
m i0 nf(xkpk)f(xkkpk)
k : 0
计算 pk f (xk)

xk1xk kpk

pk

输出: xmin x k
结束
12
matlab仿真实例
LOGO
13
matlab仿真实例
LOGO
14
最速下降法的优缺点
LOGO
• 由于沿负梯度方向目标函数的最速下降性,很容易使人们误认为负梯 度方向是最理想的搜索方向,最速下降法是一种理想的极小化方法。 必须指出的是,某点的负梯度方向,通常只是在该点附近才具有这种 最速下降的性质。在一般情况下,当用最速下降法寻找极小点时,其 搜索路径呈直角锯齿状,在开头几步,目标函数下降较快;但在接近 极小点时,收敛速度长久不理想了。特别适当目标函数的等值线为比 较扁平的椭圆时,收敛就更慢了。优点是:程序简单,计算量小;并 且对初始点没有特别的要求。
7
•由式 dkf xk得,
LOGO
fx k 1T fx k0
即新点xk+1处的梯度是正交的,也就是说,迭代点列所走
的路线是锯齿型的,故收敛速度是很慢的。

最速下降法

最速下降法

随着人工智能、模糊控制、模式识别、人工网络等新技术的应用和发展。

可以让它们与广义预测控制相结合,建立高精度、多模态的预测模型。

使广义预测控制在异常情况下可以稳定运行,推进广义预测控制的进一步发展。

2.2.1最速下降法最速下降法是无约束最优化中是比较有效的方法,它是以d}=一可(x})作为下降方向的算法。

其迭代格式为xx+i=xx一。

*Of (xk)上式中,一般通过精确线搜索准则求得步长因子。

*,当然也不排除可以利用非精确线搜索准则来求得步长因子。

*。

不管最速下降法采取何种线搜索准则,它均具有全局收敛性,但是这也不能直接就认为最速下降算法就是一个良好的优化算法。

在实际试验中,有很多优化问题利用最速下降法并不是下降的特快,反而下将的十分缓慢。

这是因为出现了锯齿现象:就是在计算过程中,最速下降法开始几步还是挺快的,但是当目标函数f (x)的等高线接近于一个球的时候,就出现了类似锯齿现象,前进十分缓慢,降低了算法的效能。

2.2.12.2.2牛顿法牛顿法也是无约束最优化问题中的一种经典算法,它是利用目标函数.f (x)的二次泰勒展开式,并将二次泰勒展开式进行极小化。

其迭代格式为x}+}=xA十d}(2-5)其中步长因子。

、=l} d、为02f (x} )d + Of (xA ) = 0的解。

当目标函数f(x)是正定二次函数的时候,牛顿法可以一步达到最优解;当目标函数f (x)是非二次函数的时候,牛顿法经过有限次迭代之后就不能确保求得目标函数f (x)的最优解。

我们知道目标函数f (x)在极小点附近是很接近于二次函数的,所以,假如初始点非常靠近无约束最优化问题((1-1)的最优解x的时候,并且}Z.f (x.)正定的时候,那么牛顿法就会有很快的收敛速度,而由此算法产生的点列也具有了超线性收敛速度,同时还在一定条件下具有二次收敛性;假如初始点与无约束最优化问题(1-1)的最优解x’相距比较远的时候,这时的}Z.}(x})就不一定是正定的了,也就存在了一个问题,那就是此时的牛顿方向就不一定是下降方向,有可能是上升方向,此时由此算法产生的点列可能也就不收敛于无约束最优化问题((1-1)的最优解了。

最速下降法和牛顿法

最速下降法和牛顿法

f ( x ) ≈ P( x ) = f x
由 P′( x ) = 0 ,即
( )
(k )
+ f ′ x (k ) x − x (k ) +
( )(
)
f ′′ x (k ) x − x (k ) 2
( )(
)
2
f ′ x (k ) +
( )
f ′′ x (k ) × 2 × x − x (k ) = 0 , 2
T
3
[ 0, 2] itrcount= H= 4 0 g= -4 -2 t= x= 5/18 1 0 2
10/9 5/9 看看前后梯度是否正交,g0'*g1=-8.881784e-016 itrcount= 2 H= 4 0 0 2 g= 4/9 -8/9 t= 5/12 x= 25/27 25/27 看看前后梯度是否正交,g0'*g1=1.387779e-016 itrcount= 3 H= 4 0 0 2 g= -8/27 -4/27 t= 5/18 x= 245/243 235/243 看看前后梯度是否正交,g0'*g1=7.979728e-017
T
0 2
1 1 看看前后梯度是否正交,g0'*g1=0.000000e+000
例子 2: 试用最速下降法求下列函数的极小点,已知 ε = 0.1 :
f ( x ) = 2( x1 − 1) + ( x2 − 1)
2
2
初始解: x = (0,0) 程序运行结果: gfun = [ 4*x1-4] [ 2*x2-2] Hfun = [ 4, 0]
P k = −∇f X k
( )
( )
在射线 X 上做直线搜索,以确定搜索步长 tk 。 满足条件:

最优化方法-最速下降法

最优化方法-最速下降法
s.t. 0
计算步骤
设f (X )是可微函数,精度要求为
X f ( ) K 1

X 0 为初始点。
(1)计算梯度
f
(
X
)
k
,初始k=0;
(2)
Pk

f
(
X
)
k
(3)求解 k
min f ( X k Pk)
s.t. 0
设 k 是一维搜索的最优解;
(4)求下一个点
评价
由例题中可以发现两次迭代的搜索方向满足:
P P P P T 0, T 0,...,
01
12
即相邻两个搜索方向 PK 与 PK1 正交,这是最速下降
法的搜索方向的基本形质。因此,最速下降法的迭代
路线呈锯齿形,尤其是在极小点附近,锯齿现象尤为
严重,从而影响了迭代速度。
评价
锯齿现象
最优化技术
第三章 7节 最速下降法
主要内容
1原 理
2 计算步骤
3 例题分析 4评 价
原理
定义:用来求解无约束多元函数 min f(x)
极小化问题的一种迭代算法。
拓展:
最速下降法又称梯度法,是 1847 年由著名数学家
Cauchy 给出的,它是解析法中最古老的一种,其他解析 方法或是它的变形,或是受它的启发而得到的,因此它是 最优化方法的基础。
X
)
0

(1,1)T
3-最优步长
2
X P ( ) f 5
0
0 2
1
0
应用一维搜索技术,解得函数最小值点 0 =0.2
举例分析
4-下一搜索点
X1

最速下降法-最优化方法

最速下降法-最优化方法

(4)f
(
X
)
3

(0.04,0.04)T
,
f ( X 3) 2 0.0032 0.01
X 3 已达到预定精度要求,迭代终止。
故f(x)的无约束近似极小点为
X X 3 (0.96,1.44)T
注:原问题的精确极小点为
X (1,1.5)T
3. 最速下降法性质与评价
x1 x1

2 2
x2 x2
1 1
(1) X 0 (1,1)T
,
f
(
X
)
0

(1,1)T
,
P0

f
(
X
)
0

(1,1)T
X P (t ) f( 0 t
)
0

5t 2

2t
1
,t>0
ቤተ መጻሕፍቲ ባይዱ
应用一维搜索技术,可解得 (t) 的极小点为t0=0.2
所以 X 1 X 0 t0 P0 (1,1)T 0.2(1,1)T (0.8,1.2)T
X X P
Y f (X ) N 输出X
停止
例3.18 用最速下降法求解无约束优化问题:
x x x x x x min f (X ) 2 2 2
2
1
12
2
1
2
初始点 X 0 (1,1)T
,迭代终止准则为
f
(X k)
2
0.01

解:
f
(
X
)

4 2
1. 最速下降法原理 2. 最速下降法算法 3. 最速下降法性质与评价

最优化:最速下降法和Newton法

最优化:最速下降法和Newton法

定理 3.1.1 设假设 2.4.1的条件成立 , 那么采用精确搜索 , 或 Armijo搜索或 Wolfe- P owell搜索的最速下降法产生 的迭 代序列{xk }满足 lim || f ( xk ) || 0
k
由前面的例子看到, 最速下降法的收敛速度至多是线性的, 具体 见下面的两个定理.
第一节
最速下降法
最古老的优化方法,十九世纪中叶由Cauchy提出
1、 思想 :每次沿负梯度方向进行搜索

x*
xk 1
等值线(面)

xk

f ( xk )
负梯度方向也称为最速下降方向:
事实上,对任意p R n 且 || p || , 由Cauchy - Schwarz 不等式得 f ( xk ) T P - || f ( xk ) || || P || - || f ( xk ) || - f ( xk ) - f ( xk ) 当取p 时等号成立,即 p 是下列问题 || f ( xk ) || || f ( xk ) || 的解 min f ( xk ) T P
从上面的例子看到, 对于简单的二元二次函数极小化问题, 最速下降法在有限次迭代并没有求出其精确最优解, 但能 以较慢的速度无限接近最优解.
事实上,上面的例子刻画了最速下降法的所有收 敛特征
3、 最速下降法的收敛性 全局收敛性
由于最速下降法的搜索方向与负梯度方向一致, 即 k 0, 且 || f ( xk ) || || d k || 所以, 由定理2.4.1 - 2.4.3, 我们很容易得到最速下降算法的全 局收敛性.
2
max 其中 , 且max 和min分别是 f ( x * )的最大和最小特征值 . min

最速下降法

最速下降法
n

收敛性问题的基本概念 最速下降法的迭代原理 最速下降法的迭代步骤 最速下降法的举例 最速下降法的收敛结论
Байду номын сангаас
无约束问题4-4
1.收敛性问题的基本概念 定义4-9
(k )
min f ( X ) n
X R
若序列 { X },对于 0 ,存在正整数 N ( ),
(k ) (k ) k N 时,有 X X ,即 X X 0, 当 k
2.迭代原理 min f ( X ) X R
n
1 0 0 min f ( X 0 p 0 ) f ( X 0 0 p 0 ), X X 0 p X , p f ( X ), 0 1 1 1 1 1 min f ( X 1 p1 ) f ( X 1 p ), X 2 X 1 1 p1 X , p f ( X ), 0 k 1 k k k k k min f ( X k p k ) f ( X k k p k ), X X k p X , p f ( X ), 0
X (k ) X
X ( k 1) X
X ( k 2) X
X ( k 3) X
X ( k 4) X
0.1
0.09
0.05
0.02
0.01
无约束问题4-4
1.收敛性问题的基本概念 定义4-10
若 X ( k ) X k 0,
( ) ( f ( X ) p )0 充分小时 0 结论: f ( X ( k ) )T p( k ) 0 时,p(k)是 f (X)在X(k) 处的下降方向。 当
(k ) T (k )

最优化方3.3法最速下降法(梯度法)

最优化方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) –解

最速下降法

最速下降法

随着人工智能、模糊控制、模式识别、人工网络等新技术的应用和发展。

可以让它们与广义预测控制相结合,建立高精度、多模态的预测模型。

使广义预测控制在异常情况下可以稳定运行,推进广义预测控制的进一步发展。

2.2.1最速下降法最速下降法是无约束最优化中是比较有效的方法,它是以d}=一可(x})作为下降方向的算法。

其迭代格式为xx+i=xx一。

*Of (xk)上式中,一般通过精确线搜索准则求得步长因子。

*,当然也不排除可以利用非精确线搜索准则来求得步长因子。

*。

不管最速下降法采取何种线搜索准则,它均具有全局收敛性,但是这也不能直接就认为最速下降算法就是一个良好的优化算法。

在实际试验中,有很多优化问题利用最速下降法并不是下降的特快,反而下将的十分缓慢。

这是因为出现了锯齿现象:就是在计算过程中,最速下降法开始几步还是挺快的,但是当目标函数f (x)的等高线接近于一个球的时候,就出现了类似锯齿现象,前进十分缓慢,降低了算法的效能。

2.2.12.2.2牛顿法牛顿法也是无约束最优化问题中的一种经典算法,它是利用目标函数.f (x)的二次泰勒展开式,并将二次泰勒展开式进行极小化。

其迭代格式为x}+}=xA十d}(2-5)其中步长因子。

、=l} d、为02f (x} )d + Of (xA ) = 0的解。

当目标函数f(x)是正定二次函数的时候,牛顿法可以一步达到最优解;当目标函数f (x)是非二次函数的时候,牛顿法经过有限次迭代之后就不能确保求得目标函数f (x)的最优解。

我们知道目标函数f (x)在极小点附近是很接近于二次函数的,所以,假如初始点非常靠近无约束最优化问题((1-1)的最优解x的时候,并且}Z.f (x.)正定的时候,那么牛顿法就会有很快的收敛速度,而由此算法产生的点列也具有了超线性收敛速度,同时还在一定条件下具有二次收敛性;假如初始点与无约束最优化问题(1-1)的最优解x’相距比较远的时候,这时的}Z.}(x})就不一定是正定的了,也就存在了一个问题,那就是此时的牛顿方向就不一定是下降方向,有可能是上升方向,此时由此算法产生的点列可能也就不收敛于无约束最优化问题((1-1)的最优解了。

本章要点最速下降法的基本思想及特点牛顿方向Newton法

本章要点最速下降法的基本思想及特点牛顿方向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 远,但迭代中 不会出现上面的锯齿现象。这时:

最速下降法

最速下降法

1.给定初始点x0,置k:=0. 2.计算xk点的梯度,若梯度小于等于事先给 定的非常小的正数 ,则终止,否则,下 一步。
3.令z k f ( x k ).
4.求使f ( x k z k )最小的 , 记为k ,即最佳步长. 令x k 1 x k k z k , 转2.


d T 2 f ( x* )d r 即: 1 2 T 2 d f ( x * )d o(2 ) 1 2 o ( ) 2 r 0 2 2 2
即当小到一定程度时, f ( x d )-f ( x ) 0
* *
也即:x*是严格局部极小点。
算法迭代步骤(求出的是极小值点)
因为x 是局部极小值点,所以当 充分小时, f ( x d )-f ( x ) 0 令 0, 取极限可知,
1 T 2 d f ( x )d 0 2
即2 f ( x )半正定
充分条件如下(即局部最优解的刻画,当满足什么 条件,所得的解就是局部最优解)
定理3:若f 是连续可微的凸函数,则x 是 min f ( x) 问题 的最优解的充分必要条件是: n x E f ( x ) 0 进一步,若f ( x)是严格凸函数,则 x 是 唯一的最优解。
(k ) (k )
lim x ( k ) x *
k
局部收敛,全局收敛
收敛速度:设序列x k 收敛到x*,若
k

lim
x k 1 - x * x x*
k
存在,
(0,1), 线性收敛; 0,超线性收敛;
若存在p, 使得 lim
k
x k 1 - x * xk x *
第一节、最速下降法

最速下降法的基本思路

最速下降法的基本思路

最速下降法的基本思路最速下降法是一种求解无约束优化问题的迭代算法,其基本思路是从当前点出发,沿着当前点到最优解的方向进行移动,并以一定的步长进行迭代更新,直到达到最优解或者满足一定的停止准则。

本文将从以下几个方面详细介绍最速下降法的基本思路。

一、最速下降法的数学模型在介绍最速下降法的基本思路之前,我们先来看看最速下降法所要求解的数学模型。

对于一个无约束优化问题:min f(x),x∈R^n其中f(x)为目标函数,x为自变量向量。

我们希望求出目标函数的全局最小值或局部最小值。

二、梯度和梯度方向在介绍最速下降法的基本思路之前,我们需要先了解两个概念:梯度和梯度方向。

1、梯度对于一个可微函数f(x),在点x处,它的梯度定义为:grad f(x)=[∂f/∂x1, ∂f/∂x2, …, ∂f/∂xn]T其中T表示矩阵转置。

梯度是一个向量,它指向函数在该点上升最快的方向,其模长表示该方向上函数增加的速率。

2、梯度方向对于一个可微函数f(x),在点x处,它的梯度方向定义为:-df/dx=-(∂f/∂x1, ∂f/∂x2, …, ∂f/∂xn)T梯度方向是一个向量,它指向函数在该点下降最快的方向,其模长表示该方向上函数减少的速率。

三、最速下降法的基本思路有了梯度和梯度方向的概念之后,我们就可以来介绍最速下降法的基本思路了。

最速下降法是一种基于负梯度方向进行迭代更新的优化算法。

具体来说,它的基本思路可以分为以下几个步骤:1、初始化首先需要选择一个初始点x0作为起始点。

2、计算负梯度在当前点xk处计算目标函数f(x)的负梯度-df/dx,并将其作为移动方向。

3、确定步长确定一个合适的步长αk,使得目标函数沿着移动方向能够有足够大的下降。

4、迭代更新根据当前点和移动方向以及步长进行迭代更新:xk+1 = xk + αk*(-df/dx)5、停止准则判断是否满足停止准则,如果满足,则停止迭代;否则返回步骤2。

四、最速下降法的收敛性最速下降法是一种保证收敛的优化算法,但是其收敛速度较慢。

最速下降法

最速下降法

一、最速下降法基本原理(一)无约束问题的最优性条件无约束问题的最优解所要满足的必要条件和充分条件是我们设计算法的依据,为此我们有以下几个定理。

定理1 设f :1n R R →在点nx R ∈处可微。

若存在n p R ∈,使()0T f x p ∇<则向量p 是f 在点x 处的下降方向。

定理2 设1:nf R R →在点n x R *∈处可微。

若x *是无约束问题的局部最优解,则()0f x *∇=由数学分析中我们已经知道,使()0f x ∇=的点x 为函数f 的驻点或平稳点。

函数f 的一个驻点可以是极小点;也可以是极大点;甚至也可能既不是极小点也不是极大点,此时称它为函数f 的鞍点。

以上定理告诉我们,x *是无约束问题的的局部最优解的必要条件是:x *是其目标函数f 的驻点。

现给出无约束问题局部最优解的充分条件。

定理3 设1:nf R R →在点nx R *∈处的Hesse 矩阵2()f x *∇存在。

若()0f x *∇=,并且2()f x *∇正定则x *是无约束问题的严格局部最优解。

一般而言,无约束问题的目标函数的驻点不一定是无约束问题的最优解。

但对于其目标函数是凸函数的无约束凸规划,下面定理证明了,它的目标函数的驻点就是它的整体最优解。

定理4 设1:nf R R →,n x R *∈,f 是nR 上的可微凸函数。

若有()0f x *∇=则x *是无约束问题的整体最优解。

(二)最速下降法的基本思想和迭代步骤最速下降法又称为梯度法,是1847年由著名数学家Cauchy 给出的。

他是解析法中最古老的一种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。

设无约束问题中的目标函数1:nf R R →一阶连续可微。

最速下降法的基本思想是:从当前点k x 出发,取函数()f x 在点kx 处下降最快的方向作为我们的搜索方向kp .由()f x 的Taylor 展式知()()()(k k k k T k k f x f x tp t f x p o tp -+=-∇+‖‖)略去t 的高阶无穷小项不计,可见取kp =()kf x -∇时,函数值下降得最多。

非线性方程组-最速下降法(梯度法)

非线性方程组-最速下降法(梯度法)

梯度法(又名,最速下降法)(该法总可以收敛,但是,在接近真解时收敛的速度会放慢。

) 梯度法又称为最速下降法,用于求解实系数非线性方程组12(,,,)0,1,2,,i n f x x x i n== (7-15)的一组根。

梯度法首先是定义一个目标函数212121(,,,)(,,,)nn i n i x x x f x x x =Φ=∑(7-16)使目标函数21nii f =Φ=∑达到最小的12,,,n x x x 是我们寻找的一组解,这是非线性最小二乘法问题。

如果第(0,1,2,)k k = 步求得一组解12,,,nk k k x x x ,使得12(,,,)n k k kx x x εΦ< (7-17)则认为12,,,nk k k x x x 是原方程组满足一定精度的()ε要求的一组解。

梯度法的计算过程是:(1)先给定一组不全为零的初值12000,,,nx x x ,第k 步的一组根为12,,,nk k kx x x ;(2)计算目标函数12(,,,)nk k k x x x Φ 的值;(单独子程序:fn =TargetFunction)(3)若12(,,,)nk k k x x x εΦ< ,则认为12,,,nk k k x x x 是满足一定精度()ε的一组解,否则,作如下修正计算1α+=∂Φ=-∂iki ik k ki ix x x x x (7-18)其中121212*********1111222(,,,)(,,,)(,,,)(,,,)(,,,)(,,,)(,,,)*,1,2,,α==⎫Φ=⎪⎛⎫⎪∂Φ ⎪ ⎪∂⎝⎭Φ+-Φ∂Φ=∂⎬Φ+-Φ∂Φ=∂Φ+-Φ∂Φ=∂==∑ n kj jn n n n n n k k kkn j j x x k k k k k kk k k k k k k k k k k kn n nki i x x x x x h x x x x x x h x x h x x x x x h x x x h x x x x h h H x i n ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭(7-19)H 为控制收敛的常数,通常选为(10-5~10-6),收敛精度ε选为(10-6~10-8)。

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

最速下降法姓名:沈东东 班级:研1404 学号:1415033005一、最速下降法的原理目标函数:(1)n f R R n →>在决策变量的当前点()k n x R ∈处的一阶Taylor 展开式为()()()()()()()k k k T f x f x g x δδοδ+=++式中,()()k n g x R ∈为f 在点()k x 处的梯度向量。

当扰动量n R δ∈充分小时,有()()()()()()k k k T f x f x g x δδ+≈+设新的迭代点为(1)()k k x x δ+=+,于是得到(1)()()()()()k k k T f x f x g x δ+-≈为了使(1)k x +处的目标函数值比()k x 处有所下降,需要满足()()0k T g x δ<此外,梯度向量()()k g x 和扰动量δ的内积可以表示为()()()()cos k T k g x g x δδθ=式中,θ为两向量之间的夹角。

若要使目标函数值的下降量尽可能大,可知δ的方向应该为梯度方向的负方向,即cos 1θ=-。

函数f 在点()k x 处的负梯度方向称为该点的最速下降方向。

在每次迭代时都取最速下降方向作为搜索方向的方法就称为最速下降法。

二、最速下降法的特点1.若()k x 不是极小点,则f 在点()k x 处的最速下降方向总是下降方向。

2.如果每次迭代时都用精确搜索方法得到最佳步长作为搜索步长,则寻优过程中相邻的最速下降方向是正交的。

3最速下降法产生的迭代点序列在一定条件下是线性收敛的,其收敛性质与极小点*x 处的Hesse 矩阵有关。

三、最速下降法的计算步骤最速下降法的计算步骤如下:步骤1:已知待求问题的目标函数()f x ,选择初始点(0)x ,并设定精度要求tol ,令:0k =。

步骤2:计算()f x 在点()k x 处的梯度向量()()k g x ,得到最速下降方向()()()k k d g x =-。

步骤3:从()k x 出发,沿方向()k d 进行非精确一位搜索,求得可接受步长()k α。

步骤4:计算下一个迭代点(1)()()()k k k k x x d α+=+及对应的目标函数值(1)()k f x +。

步骤5:若满足(1)()k k x x tol +-<,则终止迭代,分别输出(1)k x +和(1)()k f x +作为该问题的极小点和极小值;否则令:1k k =+,转步骤2.四、最速下降法的流程图最速下降法的流程图如下图所示例 5.3用最速下降法求解多维无约束最优化问题(取初始点0(2,2)x =,6110tol -=⨯)。

22221212min ()(1)(2)f x x x x x =+-++-解:在MATLAB 窗口中输入下列命令:x_initial=[2;2];tolerance=1e-6;[x_optimal,f_optimal,k]=Steepest_Descent(@f_test3,@g_test3,x_initial,tolerance) 得出结果为:x_optimal= 0.793701 0.793701 k= 5 f_optimal= 0.237797如下图所附录Wolfe-search程序function[x_next,f_next,alpha_acceptable,k]=Wolfe_search(f_test,g_test,x_current,d_c urrent,rho,sigma)k_max=1000;k=0;f_current=f_test(x_current);g_current=g_test(x_current);f_alpha_lower_k=f_current;g_alpha_lower_k=g_current;df_alpha_lower_k=(d_current')*g_alpha_lower_k;f_alpha_lower_0=f_alpha_lower_k;df_alpha_lower_0=df_alpha_lower_k;tolerance=1e-15;if (abs(df_alpha_lower_k)>tolerance)alpha_initial=-2*f_alpha_lower_k/df_alpha_lower_k;elsealpha_initial=1;endif (alpha_initial<tolerance)alpha_initial=1;endalpha_lower_k=0;alpha_upper_k=1e8;alpha_k=alpha_initial;for k=1:k_maxx_alpha_k=x_current+alpha_k*d_current;f_alpha_k=f_test(x_alpha_k);g_alpha_k=g_test(x_alpha_k);df_alpha_k=(d_current')*g_alpha_k;Wolfe_condition1=f_alpha_k-f_alpha_lower_0-rho*alpha_k*df_alpha_lower_0;Wolfe_condition2=sigma*df_alpha_lower_0-df_alpha_k;if (Wolfe_condition1<=0)if (Wolfe_condition2<=0)alpha_acceptable=alpha_k;x_next=x_alpha_k;f_next=f_alpha_k;break;elsedelta_alpha_k=(alpha_k-alpha_lower_k)*df_alpha_k/(df_alpha_lower_k-df_alpha_k);if(delta_alpha_k<=0)alpha_k_temp=2*alpha_k;elsealpha_k_temp=alpha_k+delta_alpha_k;endalpha_lower_k=alpha_k;f_alpha_lower_k=f_alpha_k;df_alpha_lower_k=df_alpha_k;alpha_k=alpha_k_temp;endelseif (alpha_k<alpha_upper_k)alpha_upper_k=alpha_k;endalpha_k_temp=alpha_lower_k+(1/2)*(((alpha_k-alpha_lower_k)^2)*df_alpha_lower_ k)/(f_aplha_lower_k-f_alpha_k+(alpha_k-alpha_lower_k)*df_alpha_lower_k)alpha_k=alpha_k_temp;endif (alpha_upper_k-alpha_lower_k<tolerance)alpha_acceptable+alpha_k;x_next=x_alpha_k;f_next=f_alpha_k;break;endendif ((Wolfe_condition1>0)||(Wolfe_condition2>0))disp('Wolfe inexact line search algorithm failed');alpha_acceptable=NaN;x_next=NaN;f_next=NaN;endendSteepest-descent程序function[x_optmal,f_optimal,k]=Steepest_Descent(f_test,g_test,x_initial,tolerance) k=1;x_current=x_initial;g_current=g_test(x_current);d_current=-g_current;[x_next,f_next]=Wolfe_search(f_test,g_test,x_current,d_current);while(norm(x_next-x_current)>tolerance)k=k+1;x_current=x_next;g_current=g_test(x_current);d_current=-g_current;[x_next,f_next]=Wolfe_search(f_test,g_test,x_current,d_current);endx_optimal=x_next;f_optimal=f_next;endfunction[x_next,f_next,alpha_acceptable,k]=Wolfe_search(f_test,g_test,x_current,d_c urrent)目标函数程序function f=f_test3(x)x1=x(1);x2=x(2);f=(x1^2+x2^2-1)^2+(x1+x2-2)^2;endfunction g=g_test3(x)x1=x(1);x2=x(2);g1=2*x1+2*x2+4*x1*(x1^2+x2^2-1)-4;g2=2*x1+2*x2+4*x2*(x1*2+x2^2-1)-4;g=[g1;g2];End运行结果为:。

相关文档
最新文档