前提:求单峰函数ϕ(t)\phi(t)ϕ(t)的极小点
①黄金分割法
算法构造思想
- 插入的两点在搜索区间中是对称的,因此无论删除哪一端,留下的总是长为β的区间。同时保证下一次迭代,能利用上一次迭代计算过的点。
- 保证了每次迭代都以同一个的比率缩短区间。
β1=αβ\frac{\beta}{1} = \frac{\alpha}{\beta}1β=βα
在[a,b][a,b][a,b]区间插入两个点t1,t2t_1, t_2t1,t2
- 左端点t1:t_1:t1: t1=a+α(b−a)t_1 = a+\alpha(b-a)t1=a+α(b−a)
- 右端点t2:t_2:t2: t2=a+β(b−a)t_2 = a+\beta(b-a)t2=a+β(b−a)
②斐波那契法
算法构造思想
在计算点个数相同的前提下,找到使最终区间长度最小的方法
算法步骤:
- 首先确定最终区间长度和初始搜索区间长度的比值δ∈(0,1)\delta\in(0,1)δ∈(0,1)
- 由Fn≥1δF_n\geq \frac{1}{\delta}Fn≥δ1,计算出迭代的轮数nnn
- 根据下列公式计算插值点的位置:
斐波那契数列:
Ln=Ln−2+Ln−1L_n = L_{n-2} + L_{n-1}Ln=Ln−2+Ln−1
L0=L1=1L_0 = L_1 = 1L0=L1=1
③三点二次插值法
算法思想:
知道三个点以及它们的函数值,构造一个二次函数去逼近目标函数,下一个迭代点是本次二次函数的最优解,然后继续构造新的二次函数去逼近(新的三点仍然要满足两边高,中间低)
④两点三次插值
根据两个点的函数值及在该点的导数,取P(t)P(t)P(t)为三次多项式来拟合ϕ(t)ϕ(t)ϕ(t),然后用其极小点作为ϕ(t)ϕ(t)ϕ(t)极小点的近似值