无约束最优化(四) 步长加速法
步长加速法是由Hooke和Jeeves(1961年)给出的一种直接方法。对于变量数目较少的无约束极小化问题,这是一个程序简单又比较有效的方法。
基本思想
步长加速法主要由交替进行的“探测搜索”和“模式移动”组成。前者是为了寻找当前迭代点的下降方向,而后者则是沿着这个有利的方向寻求新的迭代点。
给出初始点,以它作为探测搜索的出发点(称为参考点,用
表示,即
),在其周围寻找比它更好的点
(称为基点),即
,以得到下降方向
(称为模式)。然后从
出发沿模式
做直线搜索(称为模式移动)。
,
是从
出发,沿方向
移动
个单位而得,其中
(一般取
或用直线搜索技术来确定), 以获得新的参考点(新的迭代点)。然后再开始探测搜索,模式移动。交替进行的“探测搜索”和“模式移动”将使得迭代点逐渐地向极小点靠近。
探测搜索
已知:目标函数,步长向量
,参考点
。
-
计算
;置
。
-
依次沿第
个坐标轴方向作直线搜索:计算
,
。以下三种情况必居其一:
i) 若
,则置
,
;
ii) 若
,则置
,
;
iii) 若
,
,则置
与
不变;
依次对计算后,最终的
是从
出发以
为步长向量探测搜索的终点。当
时,探测搜索称为成功,此时必有
,即得到模式
;否则,探测搜索称为失败,此时未得到模式。
步长加速法
已知:目标函数,步长收缩系数的终止限
。
- 选定初始点
,初始步长量
,置
,
,
,
(或0.1)。
- 置
。
- 在点
处,以
为步长向量按探测搜索算法做探测搜索得
。
- 若
,则转5;否则,转8。
- 做模式移动
,并置
,
。
- 在点
处,以
为步长向量按算法按探测搜索算法做探测搜索得
。
- 若
,则转5;否者,置
,转3。
- 若
则输出
,停止计算;否则,置
,转2。
注意:算法中的模式为。当由3产生时,模式既为
;但当由6产生时,模式才为
这是加速模式。
在迭代开始时,基点和参考点重合,并都在初始处,经过探测搜索,得到新的基点,然后再经过模式移动,得到新的参考点,再探测,再移动,探测搜索与模式移动交替进行下去,迭代点就将逐渐地向极小点靠近。
I型探测搜索:出发点既是参考点,又是基点,目的是在基点周围构造一个模式。II型探测搜索:出发点单纯是参考点,目的是判别上次的模式移动是否成功,从而能否作加速移动。
我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!