常用的一维搜索方法

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

k 1T k 则有 f( x )d 0 .
k k λ m i n λ 证明:构造函数 ,则得 () f ( x d ) k
即 λ
k
是函数 ( ) 的极小点,所以
k
k+ 1 T k k kT k 0 ' (λk ) ' (λ) λ f (x ) d. f( x λ d )d λ
(1) Armiji-Goldstein准则

k
要满足
k k k T k fx ( d ) fx () g d k kk ,
k k k T k f ( x d ) f ()( x 1) g d k k k ,


其中
1 0 . 2
常用的一维搜索方法
问题是 x* 未知
迭代法的终止条件
实用的终止条件是根据相继两次迭代的结果 (1)根据相继两次迭代的绝对误差
k 1 k k 1 k fx ( ) fx ( ) ,x x ,


,
(2)根据相继两次迭代的相对误差
k 1 k f( x ) f( x )
f( x)
k
,
当 2 时,称为二阶收敛,也可说
当 12 时,称超线性收敛。 当
k x 具有二阶收敛速度。
1 ,且 0 1 时,称线性收敛或一阶收敛。
迭代法的一般框架
(a) 找初始点
找初始点 是
(b) 终止条件 循 环 (c) 迭代格式
判断当前点是否满 足终止条件 否
(c) 迭代格式:不同的 d
k
对应不同的算法,各种算法的区
分,主要在于确定搜索方向的方法不同。 后面介绍各种 k 算法时会给出一个明确的选取 d 的方法。 在确定了迭代方向后,下一步就要确定迭代步长 λ k ,常 见的方法有3种。 (1) 令它等于某一常数(例如令λ k 1 ),这样做不能保证目标 函数值下降。 (2) 第二种称为可接受点算法,只要能使目标函数值下降,可 任意选取步长。
迭代法的基本思想
首先给定一个初始估计 为了求函数f(x)的最优解, 然后按某种规划(即算法)找出比
x
0
x
0
更好的解 x
1
, f (x1) f (x0)
1 2 x 再按此种规则找出比 更好的解 x ,
如此即可得到一个解的序列 { x k } , 若这个解序列有极限 x
*

lim xk x* 0 , 则称它收敛于x*。 k
第3章 常用的一维搜索方法
n n元函数 f :D R R
n R R 定理(必要条件) 设 f :D
(1) x 为D的一个内点; (2) f ( x ) 在 x (3) x

f ( x) 求解无约束优化问题 min n
x R
可微;
为 f ( x ) 的极值点;
则 f x 0 。 定理(充分条件)
• 非精确的一维搜索:通过计算少量的函数值,得到一步长
k 1 k k 1 k k f ( x ) f ( x ) ,即使目标 d 使得后续迭代点 x x 满足 k

k

函数要“充分”下降。
(2) Wolfe-Powell准则
k 要满足
fx ( d ) fx () g d k

则 x 为 f ( x ) 的严格局部极小点。
第3章 常用的一维搜索方法
• 对某些较简单的函数,这样做有时是可行的; • 但对一般n元函数 f(x) 来说,由条件 f (x) 0 得到的是一 个非线性方程组,解它相当困难。 • 对于不可微函数,当然谈不上使用这样的方法。 • 为此,常直接使用迭代法。
最优解
从当前点出发,按照某 种规则找下一个迭代点 注:迭代格式 不同,对应着 不同的算法
找下一个迭代点
迭代法的分类
可 行 算 法 : 所 有 迭 代 点 都 是 可 行 点 据 迭 代 点 初始点不好找 的 可 行 性 不 可 行 算 法 : 至 少 有 一 个 迭 代 点 不 是 可 行 点 初始点任意选取
整体下降,局部上升
迭代法的分类
直 接 法 : 不 需 要 导 数 信 息 根 据 是 否 计 算 目 标 函 仅利用函数值,简单易用 数 和 约 束Hale Waihona Puke Baidu函 数 的 导 数 非 直 接 法 : 需 要 导 数 信 息
利用导数信息,收敛性结果更强
搜 索 方 法 : 迭 代 点 沿 某 方 向 产 生 线 每次迭代沿某个方向搜索下个迭代点, 根 据 迭 代 点 是 否 最常见研究最多的方法 沿 某 个 方 向 产 生 信 赖 域 方 法 : 迭 代 点 在 某 区 域 内 搜 索 产 生
注意: 1. h 选择要适当.(太大含多个单峰区间,太小迭代次数多); 2. f (x)单调时无结果, (加迭代次数限制);
“成功—失败”法----算例
3 例 :利用“成功-失败”法求函数 f( x )x 2 x 1 的搜索区间, 1 取初始点 x 1 ,步长 h . 2 21 1 h , 解:取初始点 x ,步长 2 2 1 1 5 11 f (x ) f ( ) , f ( x h ) f ( ) f ( 0 ) 1 , 2 8 22 搜 索 成 功 , 步 长 加 倍 ; 因 为 f () x f ( x h ) , 1 1 计 算 f ( x h + 2 h ) f ( x 3 h ) f ( 3 ) f ( 1 ) 0 , 2 2 搜 索 成 功 , 步 长 加 倍 ; 因 为 fxh ( ) fx ( 3 h ) , 1 1 计 算 f ( x 3 h + 4 h ) f ( x 7 h ) f ( 7 ) f ( 3 ) 2 2 , 2 2 搜 索 失 败 , 停 止 迭 代 ; 因 为 fx ( 3 h ) fx ( 7 h ) ,
求无约束的某可微函数的最优解, 根据一阶必要条件, 可令函数的梯度等于零,由此求得驻点; 然后用充分条件进行判别,求出所要的解
n 设 f :D R R
(1) x

为D的一个内点;
(2) f ( x ) 在 x 二次连续可微; (3) f(x * )0 ; (4) 2 f x 正定;
k 1 k 下 降 算 法 : k , f(x ) f(x ) 每一迭代点的目标函数 根 据 目 标 函 数 值都在下降 的 下 降 特 性 k 1 k 非 单 调 下 降 算 法 : k , f(x ) f(x ) , k k lk k l , f ( x ) f ( x )
k k k Tk kk
T k T k g d g k 1 k d,
其中
(, 1 ) ,0 1 .
常用的一维搜索方法
我们主要介绍下面几种方法





“成功—失败”法 0.618法(黄金分割法) 二分法 牛顿法(Newton)和插值法 Armiji-Goldstein 准则 Wolfe-Powell 准则
x
k
出发至少存在一个方向 d
k
k
可使目标函数值有所下
k 1
降,可选定这个方向 d
, ,
沿这个方向迈进适当的一步,得到下一个迭代点 x
k 1 k 使 f (x ) f (x ) 。
k k x x d 这相当于在射线 k 1 k k x d 上选定新点 x k
d 其中,
k
xh ) . 步骤2:计算 2 f(
, 步骤3:若 2 1搜索成功 , 转步骤4;否则,搜索失败,
转步骤5。
步骤4:令 x:= x + h,
: , 1 2
h : 2 h转步骤 2。
步骤5:判断 h ?若 h , 停止迭代, x * x ;否则令 h h , 转步骤 2。 4 缺点:效率低。优点:可以求搜索区间。
的极小点 λ
k
,故常称这一过程为(精确)一维搜索或
(精确)线搜索或一维最优化,确定的步长为最佳步长。
(精确)一维搜索的一个重要性质
在搜索方向上所得最优点处的梯度和该搜索方向正交。
k 1 x 按下述 定理 设目标函数 f ( x ) 具有一阶连续偏导数,
规则产生
k k λ a rgm in f ( x d ) k k1 k k x x d k
线搜索迭代法的框架分析----一维搜索
(3) 第三种方法的思路是:沿搜索方向使目标函数值下降最多, 即沿射线
xx d
k
k
求目标函数 f(x) 的极小:
k k λ : a r g m i n fx ( d ) k
k k f ( x d ) 这项工作是求以 λ 为变量的一元函数
“成功—失败”法(进退法)
例1:设给定初始点为 a 及初始步长为 h, 求搜索区间[c, d] 1) 前进运算 首先计算 f (a), f (a+h), 如果 f (a)> f (a+h), 则步长加倍, 计 算f (a+3h). 若 f (a+h)<= f (a+3h), 则c=a, d=a+3h; 否则将步 长再加倍,并重复上面运算. 2) 后退运算 如果 f (a)< f (a+h), 则将步长缩为原来的1/4并改变符号,即 将步长改为-h/4, 如果 f (a)< f (a-h/4),则c=a-h /4,d=a+h; 否则 将步长加倍,并继续后退。
常用的一维搜索方法
对问题
a xb
min f ( x )

) , axb f (x F (x ) , 否 则
axb

m i n f () xm i nF () x
< x <
仅考虑一维无约束优化问题
“成功—失败”法(进退法)
步骤1:选取初始点 x∈R , 初始步长 h > 0 及精度ε> 0, 1 f (x). 注意:初始步长不能选得太小
k
的不同。
线搜索迭代法的框架分析
(a) 找初始点
找初始点 是
(b) 终止条件 循 环 (c) 迭代格式
判断当前点是否满 足终止条件 否 找步长λ
k
最优解
k
和下降方向 d
k 1

确定下一个迭代点 x
下一个迭代点 x
k 1
k k x λ d 不同的 d k
k
对应不同的 算法
线搜索迭代法的框架分析
来的曲线,用简单曲线的极小值点代替原曲线的极小点。
Newton法、二次插值法、三次插值法
常用的一维搜索方法
• 非精确的一维搜索:通过计算少量的函数值,得到一步长
k 1 k k 1 k k f ( x ) f ( x ) ,即使目标 d 使得后续迭代点 x x 满足 k

k

函数要“充分”下降。
k 1 k x x
x
k
(3)根据目标函数梯度的模足够小
f (xk )
迭代法的收敛速度
k 设序列 x 收敛于 x * ,若存在与迭代次数 k 无关的数

0 和 1 ,使k从某个k0开始,都有 k 1 k x x * xx *

( 1 )
k k x x 成立,就称 收敛的阶为 ,或者称 阶收敛。
k
常用的一维搜索方法
• 精确的一维搜索
(1) 试探法:按某种方式找试探点,通过比较一系列试探点的函 数值的大小确定极小点。 “成功-失败”法 (2) 区间收缩法:用某种分割技术缩小最优解所在的区间(称 为搜索区间)。 二分法、0.618法
(3) 函数逼近法:用比较简单函数的极小值点近似代替原函数的 极小值点。从几何上看是用比较简单的曲线近似代替原
称为搜索方向;
k 称为步长或步长因子。
图1
线搜索迭代法的步骤
0 x (1) 选定某一初始点 ,并令 k : 0;
(2) 确定搜索方向 d
k
k
;
k
(3) 从 x 出发,沿方向 d x k 1; (4) 检查得到的新点
求步长 λ
k
,以产生下一个迭代点
x
k 1
是否为极小点或近似极小点。
若是,则停止迭代。 否则,令 k :k1,转回(2)继续进行迭代。 在以上步骤中,选取搜索方向是最关键的一步。 各种算法的区分,主要在于搜索方向 d
若算法是有效的,则它产生的解序列收敛于该问题的最优解。 计算机只能进行有限次迭代,一般很难得到准确解,而只能得 到近似解。当达到满足的精度要求后,即可停止迭代。
迭代法的终止条件
停止迭代时要满足的条件称为终止条件。 理想的终止条件是
f( x )f( x * ) ,
或者
x x * .
每次迭代在某区域内搜索下个迭代点, 近30年来发展起来的一类方法
线搜索迭代法的基本思想
现假定已迭代到点 x 则从
k
,
若 x 是一局部极小点,
k
x
k
出发沿任何方向移动,
都不能使目标函数值下降。 若从 x 出发至少存在一个方向 d 可使目标函数值有所下降, 如图1示
k
k
图1
线搜索迭代法的基本思想
若从
相关文档
最新文档