无约束一维极值问题求解时一般采用一维搜索法,,其中方法包括多种,线性搜索:黄金分割、斐波那契法、牛顿法等,非线性包括抛物线法和三次插值法。
进退法是一种缩小极值区间的算法,算出的结果是一个包含极值的区间,适用于未知极值范围的情况下。
黄金分割法适用于在知道极值区间的前提下,利用不断缩小区间的思想,最终得出极值的近似值。
两种算法相辅相成。
后续文章会介绍更多求极值算法。
1.进退法
算法步骤
1.给定初始点x0,初始步长h0。令h=h0,x1=x0,k=0
2.令x4=x1+h,置k=k+1
3.若f(x4)
4.令x2=x1。x1=x4,f(x2)=f(x1),f(x1)=f(x4),令h=2h转2