一维无约束优化

主要讨论一维(单峰函数)的最小化问题算法

单峰函数:如果一维函数在定义域区间 上有唯一局部极小点 ,则 称为区间 上的 单峰函数(unimodel function)

性质:在 上任取两点

  • ,则极小值 一定位于 之间
  • ,则极小值 一定位于 ​ 之间

等比例压缩法

每次在当前区间按等比例取两个点

image-20240916152618843

每次迭代后区间变成原来的 倍,故 次迭代后总压缩比为 ,其中每次压缩要取两个点重新计算函数值并比较,所以调用 次数为

黄金分割法

在等比例压缩法的基础上将压缩比设置为 ,好处是每一次产生的新区间中总包含了上一次计算的一个点,使得下一次运算时该店可以重复使用。

总压缩比为 ,调用次数为 (第一次还是要算两个点,其余每次只多算一个点)。

斐波那契法

前面两种方法是 要求达到目标压缩比,能否 给定迭代次数 ,但允许 的值动态改变,使得 次迭代后的压缩比最小,并且仍然每次只增加对一个点的目标函数进行计算。

即满足

image-20240916153834981

转化成求:

满足以下序列的解即为改最优化问题的最优解:(证明过程P78)

注意:在第 次迭代时 ,此时两个点重叠,需要加上一个扰动量 ,即 ,因此,对于极小点所在的区间的压缩比可能是:

总压缩比为

趋于无穷时,黄金分割法实际上和斐波那契法有着相同的压缩比

二分法

需要目标函数 连续可微,

  • Step 1 确定初始区间的中点
  • Step 2 计算函数 在中点的导数 。如果 ,说明极小点在 左侧,压缩下一次的搜索区间为 。如果 ,说明较小点位于 右侧,下一次迭代玉缩区间为 。最后,如果 , 说 明 是极小点。
  • Step 3 按照第2步迭代,根据 的大小来压缩区间,直到区间大小小于预期要求或者 (由于数值误差,后者一般不会出现,所以停机条件会要求区间大小在某一约束内)
方法 压缩比 调用 次数
等比例压缩法
黄金分割法
斐波那契法
二分法 \

确定初始搜索范围

bracket_ minimum算法

牛顿搜索方法

二阶连续可微,则

可以利用

作为 附近的近似

牛顿法利用 的极小点作为 ,即下次迭代点,即

image-20240916162210730

牛顿法求解方程

牛顿法迭代过程中并不需要计算 ,却能找到 的点。因此,令 ,牛顿法也能求解方程 ,迭代方程为

有可能会因为 不够小失效

image-20240916162549866

割线法

利用不同点处的一阶导数近似二阶导数

由于每次迭代使用了两个点的信息,初始点需要有两个

二次拟合搜索

不计算一阶导数的情况下,求解上述一维最优化问题。

令:

由 克 拉 默 法 则 , b, 其 中 为 用 y取 代 的 第 1 和第 2 列后的矩阵。

实际上,我们并不需要计算参数。考虑二次函数的最小值为 ,我们只需要计算