问题形式:
一、基本定义和概念
-
单峰函数:在上存在唯一局部极小点的函数。
性质1.1.1:对于单峰函数(以下都以局部极小点为例)的搜索区间,在搜索区间上任取两点,那么应当更新函数值更大的那个点所对应横坐标。
二、基于区间压缩的基本方法和思路
基于性质1.1,以下方法都是用来寻找极小区间然后逐渐逼近最优解。
2.1 黄金分割法(三分法)
每次分割的比例满足:
2.1.1方法和思路
每次截到占当前线段长度百分比为的左右两个割点A、B,比较函数值,更新函数值较大的那一边(不妨设),则更新右边界为,将另一边的割点作为新的右割点,然后计算另一边的割点,重复过程直到压缩比满足要求。
由黄金分割的性质:短区间和长区间之比等于长区间和整个区间的比值。
2.1.2压缩比(固定压缩比)
2.2 斐波那契法
满足每次分割的比例为:
2.2.1 方法和思路
几乎同黄金分割法
2.2.2 压缩比(动态压缩)
怎么求每一步的压缩比?我们想解决如下优化问题:
给出结论:满足如下序列的解就是问题的最优解:,是斐波那契数列,。最优解为,为了避免最后迭代两个点重复的情况,在第N次迭代时,我们需要在第N次迭代的比例上加一个小小的扰动量,压缩比就是
,这意味着在最坏的情况下,斐波那契数列发的总压缩比为
2.3 二分法
略,利用迭代过程中区间中点的导数产生区间更新和迭代的方法。压缩比为,压缩比更小,压缩力度更大。
几种压缩区间优化方法使用对比
- 黄金分割法用的更多:Fibonacci法能获得最优的压缩比,但是实际应用中黄金分割法更简单易行,使用的也更多。
- 相同压缩比:当N趋于正无穷时,黄金分割法实际上和Fibonacci法有相同的压缩比。
- 一阶连续可微:二分法的特性,黄金分割法和斐波那契法都不要求原函数连续可微。