下降迭代算法

摘要:迭代方法是求解非线性规划问题的基本方法。利用迭代算法求解非线性规划问题的关键在于:一、构造每一轮的搜索方向;二、确定步长。本文介绍下降迭代算法的概念、步骤和终止条件。

1. 为何需要迭代方法?

    在无约束问题的极值条件中,我们讨论过极值的必要条件和充分条件。理论上讲,可以应用这些条件来求解相应的非线性规划问题的最优解。但在实际问题中,可能会遇到以下问题:

  1.     目标函数的导数不存在;
  2.     导数存在,但为非线性方程组,求解困难甚至无解析解;
  3.     问题为约束优化问题,不能简单套用无约束问题的极值条件。

    与直接基于极值条件解析求解相对应的,是基于数值计算的迭代方法。事实上,迭代方法是求解非线性规划的更为一般的方法。我们在这里讨论极小值问题,其常用方法为下降迭代算法。

2. 下降迭代算法的概念

    下降迭代算法主要包括两个概念:迭代与下降。

    迭代  在优化计算中,迭代是指从已知点出发,依照某种规则(即算法)求出后继点,用 取代 ,然后重复以上过程,这样便会产生点列 和数列 。我们希望点列趋近于最优解,数列趋近于最优值。

    下降  所谓下降,是指对某个函数,在每次迭代中,后继点的函数值都比原来的函数值有所减小。

    设为某迭代算法第 k 轮的迭代点,为第 k+1 轮的迭代点,则它们之间的关系可以表示为

                                            

    其中,,即为正实数,为向量方向上的单位向量。在已知的情况下求解只需要确定。可见,利用迭代算法求解非线性规划问题的关键在于:一、构造每一轮的搜索方向;二、确定最优步长。

3. 下降方向

    通俗地讲,下降方向即为使函数值减小的自变量变化方向。但该理解不够严格,容易引起误解。其形式化定义如下:

    下降方向  设,点,向量,若存在一个实数使得,都有

                                         

    成立。则称在点处的下降方向。


4. 下降迭代算法的一般步骤

    下降迭代算法的一般步骤可描述如下:

  1. 选取初始点,令
  2. 构造处的下降方向
  3. 确定搜索步长使得目标函数值充分减小。注意,由于已知,是关于的一元函数。另外,尽管可以在每一步选取最优步长,即,但通常没有必要,因为求解最优步长可能会增加问题的复杂度;
  4. 更新迭代点
  5. 判断是否符合终止条件,若是,终止迭代;否则,返回步骤2。

5. 算法的终止条件

    常用于判断算法终止条件的因素包括:1)自变量变化值; 2)目标函数变化值; 3)梯度值。具体包括以下几种情况:

    1) 当自变量的改变值充分小时,即两次迭代的绝对误差或相对误差

                     或 

          时,迭代终止。

    2)当目标函数的下降量充分小时,即相继的两次迭代的绝对误差或相对误差

                  或 

         时,算法终止。

    3)当目标函数(假定目标函数可微)的梯度的模充分小(即目标函数的值接近于零)

                                            

       时,算法终止。

你可能感兴趣的:(非线性优化)