一维无约束优化
主要讨论一维(单峰函数)的最小化问题算法
单峰函数:如果一维函数在定义域区间
性质:在
,则极小值 一定位于 之间 ,则极小值 一定位于 之间
等比例压缩法
每次在当前区间按等比例取两个点
每次迭代后区间变成原来的
黄金分割法
在等比例压缩法的基础上将压缩比设置为
总压缩比为
斐波那契法
前面两种方法是 要求达到目标压缩比,能否 给定迭代次数
即满足
转化成求:
满足以下序列的解即为改最优化问题的最优解:(证明过程P78)
注意:在第
总压缩比为
在
二分法
需要目标函数
- Step 1 确定初始区间的中点
- Step 2 计算函数
在中点的导数 。如果 ,说明极小点在 左侧,压缩下一次的搜索区间为 。如果 ,说明较小点位于 右侧,下一次迭代玉缩区间为 。最后,如果 , 说 明 是极小点。 - Step 3 按照第2步迭代,根据
的大小来压缩区间,直到区间大小小于预期要求或者 (由于数值误差,后者一般不会出现,所以停机条件会要求区间大小在某一约束内)
方法 | 压缩比 | 调用 |
---|---|---|
等比例压缩法 | ||
黄金分割法 | ||
斐波那契法 | ||
二分法 | \ |
确定初始搜索范围
bracket_ minimum算法
牛顿搜索方法
若
可以利用
作为
牛顿法利用
牛顿法求解方程
牛顿法迭代过程中并不需要计算
有可能会因为
割线法
利用不同点处的一阶导数近似二阶导数
由于每次迭代使用了两个点的信息,初始点需要有两个
二次拟合搜索
不计算一阶导数的情况下,求解上述一维最优化问题。
令:
由 克 拉 默 法 则
实际上,我们并不需要计算