成功失败法
数学术语
成功失败法(success-failure method)亦称进退法、倍增半减法,是一种搜索方法,为搜索某区间上函数的极小(大)点,每次搜索都要改变搜索步长的一种方法,如果在第k次迭代沿某方向搜索成功,即函数值下降(上升),下一步仍可沿该方向搜索,而且可以大步向前搜索。其作法是:从某点t0出发,步长取为λ,若f(t0+λ)<(>)f(t0),则搜索成功,下一步取步长为2λ;如果第n步的步长为nλ,并搜索成功,下一步取步长为2nλ,若在第k次迭代,沿某方向搜索失败,即函数值上升(下降),则应退回原地,下一步沿相反方向,即向后小步搜索.其作法是:若f(t0+λ)≥(≤)f(t0),则搜索失败,退回原来点并且再后退λ/4,若第n步步长为nλ,搜索失败,则退回到t0后,还要后退nλ/4.直到最后搜索步长小于给定的小正数,则停止搜索,得到近似最优点,这里2λ,λ/4都是按经验选取的。
基本介绍
考察一元函数极小化问题
确定一元函数极值点的数值方法,也即单变量寻优,通常称为一维搜索。在最优化方法中,一维搜索虽然简单,但却重要,因为多维最优化问题的求解一般都伴随着一系列的一维搜索。
使用一维搜索的常用方法有。试探法(成功-失败法,Fibonacci法,黄金分割法),切线法(一维Newton法),二次插值法(抛物线法)等。
算法思想
在进行一维搜索的时候需要确定搜索区间,也就是包含该问题最优解的一个闭区间,然后在此区间内进行搜索求解。
定义1 若存在,使得在上严格递减,在上严格递增,则称是的下单峰区间,是上的下单峰函数。
显然,下单峰函数是严格凸且有内极小点的函数。
确定下单峰搜索区间的一个简单方法就是所谓的成功-失败法,该方法不要求函数可微,其基本思想是从一初始点出发,按一定步长寻找目标函数值更优的点,一个方向失败就退回来,向相反的方向寻找,因此,这是一种试探法。
算法步骤
设初始点为,初始步长,若,则下一步从出发,加大步长,。继续向前搜索,否则反向寻找。算法的具体步骤如下。1
第一步:选取初始值:给定初始步长,初始点,,及。
第二步:。
第三步:。
第四步:比较目标函数值:若,则转第五步;否则,转第六步。
第五步:加大搜索步长:,转第三步。
第六步:判定精度:若。则转第七步;否则,转第八步。
第七步:确定最优解:。
第八步:反向搜索:,转第三步。
例题解析
【例1】求函数在内的近似极小点,。
解 显然是下单峰函数,取按成功一失败法的步骤进行迭代:
第一次:比较得到。
第二次:取有
比较得到。
第三次:,有
后续的迭代结果见表1。
第九次迭代后,,并且,故,
该问题的精确解为
误差为6.25%。
成功-失败法的优点是起步简单,缺点是不易识别最优解,并且在最优解附近收敛较慢。实际求解中,可以应用该方法将搜索区间缩小到一定程度后,停止迭代,把原问题转化为一个搜索区间较小的优化问题,然后,再应用其他优化方法进行求解。
参考资料
最新修订时间:2023-05-11 00:18
目录
概述
基本介绍
算法思想
参考资料