最优化理论之一维搜索(of nonlinear programming)

1.一维搜索概念
1.1什么是一维搜索
2.试探法
2.1黄金分割法(0.618法)
2.2斐波那契法(Fibonacci法)
2.3斐波那契法与黄金分割法的关系

一维搜索概念

什么是一维搜索

对于不少多变量函数的非线性规划问题,往往归结为反复地求解一系列单变量函数的最优解(极小值)。因此,单变量函数的寻优方法成为解非线性规划的最基本方法。单变量函数的寻优(极小化)方法也叫一维搜索,它只有一个变量,并且这个变量是沿着直线或射线移动。

points:
1.一维搜索是针对极小值问题。
2.一维搜索必须是单变量
3.变量沿着某个方向直线移动。
4. 一维搜索只是做最优化算法过程中的一个步骤。(如果你需要找到整个时间极小值的话——用的算法术语是下降(梯度下降、迭代下降等等…))

分类:

  • 试探法:需要按照某种方式找试探点,通过一系列试探点来确定极小点。
  • 函数逼近法:用某种较简单的曲线逼近本来的函数曲线,通过求逼近函数的极小点来估计目标函数的极小点。
    points: 这两类方法只能求得极小点的近似值

试探法

黄金分割法(0.618法)

  1. 试用范围
    黄金分割法适用于[a,b]区间上的任何单峰(或单谷)函数φ(x)求极小值点的问题,对函数除“单峰”外不做其他要求,甚至可以不连续

  2. 基本思想
    在搜索区间[a,b]内适当插入两点x1和x2(试探点),它们把[a,b]分成三段,通过比较这两点的函数值的大小,就可以删去最左端或者右端。这算迭代(试探)第一次,然后在保留下来的区间上做同样的处理,将搜索区间无限缩小,使区间上各点的函数值均接近极小值,因此任何一点都可作为极小点的近似。

  3. 计算公式
    最优化理论之一维搜索(of nonlinear programming)_第1张图片
    step:
    (1).在区间[a,b]上,假设插入试探点λ和μ,并且λ<μ。
    (2).计算f(λ)和f(μ)的值

    • f(λ)>f(μ),则去掉左边[a,λ]区间,剩下[λ,b]区间
    • f(λ)

    (3).继续迭代。

试探点应该遵循怎样的规则?
现在,使λ(k)和μ(k)满足两个条件:

  • λ(k)和μ(k)在子区间[a(k),b(k)]中的位置是对称的,即到两端点是等距的。
  • 每次迭代区间长度缩短比率(α)相同。
    最优化理论之一维搜索(of nonlinear programming)_第2张图片

由此,在上述规定下,当α取某个数值时,每次迭代只需计算一个试探点,节省计算量和简化过程。

下一个试探点怎么选?
最优化理论之一维搜索(of nonlinear programming)_第3张图片

综上,得到黄金分割法计算试探点的公式:
在这里插入图片描述

points:

  • 第一次迭代的试探点λ1和μ1依赖于初试区间[a,b],所以用黄金分割法一定要有初始区间。

  • 在下一次迭代的两个试探点中,其中一个与上一次的试探点相等,所以只需要新计算一点。

  • 计算步骤
    最优化理论之一维搜索(of nonlinear programming)_第4张图片
    在这里插入图片描述
    points:

  • 精度L为区间差。

  • 在实际问题中,目标函数在其定义域内不一定是单峰,因此需要先确定单峰区间,然后再使用0.618法的计算公式。

待补充。。。。

你可能感兴趣的:(Math,and,Algorithm)