1 一维无约束最优化
计算函数f(x)的最大值和最小值问题。
1.1 黄金分割搜索法
处理单峰值情况。
对于搜索区间[a, b],d=(sqrt(5)-1)/2*(b-a);x1 = a+d,x2 =b-d,计算f(x1)和f(x2),然后处理如下:
1.若f(x1)>f(x2),则最大值在a, x2,x1所定义的区间取得;取新的边界为【a,x1】,继续迭代计算;( 其中,下一次计算的f(x1)即为本次计算的f(x2),不用重复计算该函数值)
2.否则,若f(x1)<f(x2),则最大值在 x2,x1,b所定义的区间取得;取新的边界为【x2,b】,继续迭代计算;(其中,下一次计算的f(x2)即为本次计算的f(x1),不用重复计算该函数值)
优缺点:方法可靠,效率不高;
1.2 二次插值法
然后采用类似黄金分割法的方法,若新的函数值f(x)大于函数值中间点f(x1)的函数值,则新的x值在中间点x1的右边,于是舍弃较低的点x0,新的区域变成【x1,x2】。继续迭代计算。
优缺点:效率比黄金分割搜索法效率高,但是可能发散,导致不稳定;
1.2 牛顿法
牛顿-瑞普逊法。
新的估值点为
优缺点:速度快,但是容易发散,不稳定;有些函数不方便求导,可以用正割法或者有限差分代替。
建议:可以使用混合方法。在远离最优点的时候使用划界法(如黄金分割法),接近最优值的时候使用开方法(如牛顿法)快速收敛。
1.2 布伦特法
是一种混合方法。
首先尝试使用二次插值法,如果能得到解,结束;否则,使用黄金分割法求解。
优点:综合了黄金分割搜索法的稳定性和二次插值法的速度优势。