背景
- 讨论目标函数为一元单值函数f:R→R时的最值求解问题
- 通过迭代求解得到结果
- 这些方法统称为一维搜索法或线性搜索法
- 这是多变量问题求解的特例,也是多变量问题求解的算法的一部分
- 主要逻辑为从初始搜索点x(0)开始,产生一个迭代序列x(1), x(2),...,在第k=0,1,2,...次迭代中,通过当前迭代点x(k)和目标函数f构建下一个迭代点
x(k+1)
解法
黄金分割法
- 适用范围
- 求解在闭区间[a0, b0]上的极点
- 必须存在唯一局部极点,即在[a0,b0]上是单峰的
- 思想
- 挑选区间[a0,b0]中的点,计算对应的目标函数值,并不断缩小极点所在的区间
- 利用尽可能少的计算次数来找出极点,直到达到足够的精度水平
- 如果只挑一个点,并不知道极点在点的左侧还是右侧,因此需要挑两个点进行计算,假设挑中a1和b1,满足a0<a1<b1<b0,且有a1−a0=b0−b1=ρ(b0−a0),也就是说,这里的ρ是用来控制区间缩小的范围的,因此ρ<12。并且根据f(a1)和f(b1)的值来判断新区间为[a1,b0]还是[a0,b1]
- ρ的取值究竟多少才使得效率最高?假设第一次计算出来了a1和b1,然后根据大小关系把范围缩小成[a0,b1],那么a1不能白计算啊,所以如果让a1=