本章主要解决一元优化问题:
目标函数为一元单值函数
- 迭代算法:从初始搜索点出发,产生一个迭代序列,不断逼近极值点。
黄金分割法
- 原理:
- 按黄金分割比把区间分两份(在原区间插入两点,插入点到左右端点距离相同)
- 在两个个区间 中比较插入处函数值大小,后去掉一个不符合条件的区间
- 在剩下的一个区间里再次插入一个点
- 重复上述操作,直到收敛

黄金分割法改进-斐波那契数列法

- 区间压缩率: 斐波那契数列法的总压缩比为
由于该方法使用的最优参数序列 , 因此, 总压缩比比黄金分割法要小。
该迭代方法的最后一次迭代参数为1/2, 为避免这一问题,可以令最后一次的迭代参数为 。
二分法
- 适用条件:函数 在区间 为单峰函数,且是连续可微的。
- 原理:利用函数的一阶导数,对区间进行二分。
- 首先, 确定初始区间的中点 。
- 然后, 计算函数 在 处的一阶导数 。
- 如果 , 说明极小点位于 的左侧
- 如果 , 说明极小点位于 的右侧
- 如果 , 说明 就是函数 的极小点 二分法与黄金分割法和斐波那契数列法存在两个明显的区别,二分法使用的是:函数的导数 ,而不是黄金分割法和斐波那契数列法所使用的函数值;迭代中, 区间的压缩比为 。 步迭代之后, 整个区间的总压缩比为 。总压缩比比黄金分割法和斐波那契数列法的总压缩比要小。
牛顿法
-
适用条件:函数二阶连续可微。利用函数在该点处的函数值,一二阶导数。
-
原理:
- 求函数 的极小点可近似于求解 的极小点。
- 函数 的极小点
- 令 , 可得
- (牛顿法可以用于求方程的根, )
牛顿法例题
例: 利用牛顿法求解如下函数的极小点: 初始值为 , 精度为 , 即当 时停止迭代。 计算函数 的一阶和二阶导数: 由于 , 迭代结束。 处的一阶导数为 , 且二阶导数 , 说明 是一个严格极小点。
注: 对于区间内所有的 都成立时, 牛顿法能够正常运行 如果在某些点处, 有 , 牛顿法可能收敛到极大点
牛顿法的近似-割线法
- 对二阶导数的近似:如果二阶导数不存在, 近似计算
该方法需要两个初始点 和 。
同理:割线法也可以求方程 其迭代公式为
注:牛顿法和割线法都属于二次拟合。割线法只用到了目标函数的一阶导数 ,没有用到二阶导数
插值类方法
- 思路:在搜索区间内使用低次(不超过3次)多项式插值近似目标函数
- 三点两次插值
- 两点二次插值
- 两点三次插值
多元函数线搜索
讨论目标函数: 求其极小点的迭代算法迭代公式为:
利用割线法展开一维线搜索需要用到目标函数的梯度 ,初始搜索点 和搜索方向 。 其确定方式为使函数
达到最小。
实际应用中存在一些常用的停止条件。首先, 选定 3 个常数: 和 。通过要求
可以保证 不会太大。通过要求( 乘上系数 )
可保证 不会太小。这称为 Armijo 条件。 如果将 Armijo 条件中第二个不等式调整为
就成为了 Goldstein 条件。 Armijo 条件中的第一个不等式和 Goldstein 条件联合称为 Armijo-Goldstein 条件。 Wolfe 条件只包括函数 的一阶导数 :(对 goldstein条件关于 求导)
Wolfe 条件的一个变体称为强 Wolfe 条件:
信赖域方法
定义 (信赖域: 迭代点 的邻域) , 其中 称为信赖域半径。
信赖域求解思想 在信赖域 内, 做函数 的二次 Taylor逼近函数 , 通过选取适当的信赖域 半径, 使得 与 逼近的效果足够好。我们称 在 内是可信的。
信赖域模型:给定当前点 ,求解如下约束优化获得
- , 基于梯度下降的信赖域方法
- , 基于牛顿法的信赖域方法
- , 基于拟牛顿法的信赖域方法
与线搜索方法区别

定义 , 则问题 (1) 可以写成 s.t. 信赖域子问题: , 其中 是如上优化问题的解
等价于求解如下 范数球约束的二次规划问题
当采用 -范数时, 上述优化问题 (2) 的解为:
- 若 , 则最优解为
即 且 .
- 若 , 则需要用KKT条件求解优化问题 (2)