一维搜索
最优化问题一般选择某一组变量,然后在满足一定的限制条件下,求出使目标值达到最优(最大或最小)的变量值。大部分时候,最优化问题都采用迭代计算的方式来求解。而大多数迭代下降算法都具有的共同点是在得到某次迭代点 x k x^k xk后,需要按照一定规则来确定一个方向 d k d^k dk,沿着该方向在直线上求函数的极小点得到下一个迭代点 x k + 1 x^{k+1} xk+1。这样不断在一维的目标函数上,求其在各迭代点的直线方向上的极小点,直到求出问题最优解的方式就被称为一维搜索,或者线搜索。其一般过程可用如下公式表示:
x k + 1 = x k + λ d k x^{k+1}=x^k+λd^k xk+1=xk+λdk
其上 d k d^k dk,表示在这一步的搜索方向,步长因子 λ λ λ决定了沿着该方向前进多远。这两者共同决定了该搜索算法的好坏。一维搜索的算法有好多种,以下介绍几种常见的。
黄金分割法
基础公式:
λ k = a k + 0.382 ( b k − a k ) λ_k=a_k+0.382(b_k-a_k ) λk=ak+0.382(bk−ak)
μ k = a k + 0.618 ( b k − a k )