第三章 一维搜索
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 常用一维搜索方法
第节维搜索概述
第一节 一维搜索概述一、下降迭代算法的基本思想、下降迭代算法的基本思想
不失一般性,考虑如下的优化问题
min ()
x S
f x ∈ (3.1)
其中:n
f S R R ⊆→.
下降迭代算法的的基本思想:给定一个初始点1n
x R ∈,按
}k
使得当}k
是有限点列时
照某种迭代规则产生一个点列{x ,使得当{x 其最后一个点是最优化问题的最优解;当{}k
x 是无穷点列时,
它有极限点,且其极限点是优化问题的最优解.
设已迭代到点k
x 处,则下一次迭代会出现以下两种情况之一:
(1) 从k
x 出发沿任何方向移动,目标函数不再下降;
出发至少存在个方向使标数有所(2)从k x 出发至少存在一个方向使目标函数()f x 有所下降.这时,从中选取一个下降方向k d ,即k
d 满足
()0k T k
f x d ∇<,然后在直线 k k x x d λ=+上适当的确定一个新点
1
k k
k
k x
x d λ+=+,使得1
()()()k k k k
k f x f x d f x λ+=+<,此时就说完成
了第1k +次迭代.
基本迭代格式 1
k k k
k x
x d
λ+=+
本代格式
k
d ------搜索方向 k λ-----步长因子或搜索步长
最优化问题的求解步骤
最优化问题的求解步骤:(1)选取初始点1
x ,令1k =;
(2)构造搜索方向k
d .依照一定的规则,构造()f x 在点k x 处的下降方向或可行下降方向作为搜索方向k
d ;
(3)确定搜索步长k λ.以k x 为起点沿搜索方向k
d 选取的
λ适当步长k ,使得目标函数值有某种意义的下降,通常使
()()k k k
k f x d f x λ+<.
1
k +令1k k k + (4)求出新的迭代点x .令k x x d λ=+(5)检验终止条件.判定1
k x +是否满足终止条件,若满足
停止迭代输出近似最优解否则令转停止迭代,输出近似最优解1
k x +;否则,令:1k k =+,转(2).
二、 直线搜索及其性质
迭代格式为 1
k k k
k x
x d
λ+=+
)k
k
设 ()(f x d ϕλλ=+ (3.2)k
出发沿方向k
确定λ使 从x 出发,沿方向d k ,使
()(0)()
k
k f x ϕλϕ<=33‐‐‐‐λ的一维搜索问题 (3.3)关于的维搜索问题
k λ0()min ()k
k
k
k
k f x d f x d λλλ>+=+34如果求得,使得 (3.4)
()min ()
k λϕλϕλ>=35或
(3.5)
‐‐‐‐‐‐‐‐‐最优一维搜索或精确一维搜索,k λ‐‐‐最优步长因子
如果选取k λ,使下降量()()0k
k
k
k f x f x d λ-+>是可接受 接受维搜索或不精确维搜索
--------可接受一维搜索,或不精确一维搜索 定理 若目标函数()f x 具有连续的偏导数,并设1k k k k x x d
λ+=+,其中1k x +是从k x 出发沿搜索方向k d 作一维精
确搜索得到的则1k T k
+=35确搜索得到的,则 ()0f x d ∇ (3.5)证明:设()()k k
f x d ϕλλ=+,对λ求导数,有 ()()k
k T
k
f x d d ϕλλ'=∇+.
1k k k x x d λ+=+又()()min ()k k k k k k f x d f x d ϕλλλ=+=+ 由于k ,又 0λ>.
可知,
k
λ是()ϕλ的极小点,故
()()0k k T k
k k f x d d ϕλλ'=∇+=, 1()0k T
k
f x d +∇=.
即
第二节 成功‐‐‐‐失败法
设问题 min ()a x b
x ϕ≤≤ (2.1)
则令 () () x a x b x ϕ≤≤⎧Φ=⎨
+∞当其它
⎩显然 min ()min ()n
a x b
x R
x x ϕ≤≤∈Φ= . 以下,不失一般性考虑
min ()
x R
x ∈Φ.
基本思想:从一点出发,按一定的步长,试图确定出函数值呈现“高高”的三个点一个方向不成功就退回来沿呈现高‐‐‐低‐‐‐高的三个点.个方向不成功,就退回来沿相反的方向搜索.
算法步骤(进退法求搜索区间)
[0)1)选定初始点0[0,
x ∈+∞,初始步长00h >,放大系数1α>(一般取2α=),计算00()x φφ=,0k =; 2) 试探.令1k k k x x h +=+,计算11()k k x φφ++=;
3).1k k φφ+≤(即搜索成功)
4)比较目标函数值若即搜索成功,转;否则,转5);
h h α=1,
x x x x k k ====+4)加速探索.令1k k +,11,,,,k k k k k φφ++ 转2);
=h h x x =-=5)反向探索.若0k ,转换搜索方向,令1,k k k +转2);否则,停止迭代.令11min{,},max{,}k k a x x b x x ++==,输计算结束出搜索区间[,]a b ,计算结束.