多维无约束优化算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多维无约束优化算法

多维无约束优化问题的一般数学表达式为:

求n 维设计变量

使目标函数

多维无约束优化算法就是求解这类问题的方法,它是优化技术中最重要最基础的内容之一。因为它不仅可以直接用来求解无约束优化问题,而且实际工程设计问题中的大量约束优化问题,有时也是通过对约束条件的适当处理,转化为无约束优化问题来求解的。所以,无约束优化方法在工程优化设计中有着十分重要的作用。

目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。

(1)间接法——要使用导数,如梯度法、(阻尼)牛顿法、变尺度法、共轭梯度法等。

(2)直接法——不使用导数信息,如坐标轮换法、鲍威尔法单纯形法等。用直接法寻找极小点时,不必求函数的导数,只要计算目标函数值。这类方法较适用于解决变量个数较少的(n ≤20)问题,一般情况下比间接法效率低。间接法除要计算目标函数值外,还要计算目标函数的梯度,有的还要计算其海赛矩阵。

各种优化方法之间的主要差异是在于构造的搜索方向,因此,搜索方向的构成问题乃是无约束优化方法的关键。

下面介绍几种经典的无约束优化方法。

1、梯度法

基本思想:函数的负梯度方向是函数值在该点下降最快的方向。将n 维问题转化为一系列沿负梯度方向用一维搜索方法寻优的问题,利用负梯度作为搜索方向,故称最速下降法或梯度法。

搜索方向s 取该点的负梯度方向

(最速下降方向) ,使函数值在该点附近的范围内下降最快 。

为了使目标函数值沿搜索方向能够获得最大的下降值,其步长因子应取一维搜索的最佳步长。即有

12[]T n x x x = x ()min f →x ()k f -∇x k αmin ()n

f R ∈x x 1(0,1,2,)k k k k s k α+=+= x x 1(0,1,2,)

k k k k s k α+=+= x x 1()(0,1,2,)

k k k k a f k +=-∇= x x x 1()[()]min [()]min ()k k k k k k k a a

f f a f f a f ϕα+=-∇=-∇=x x x x x

根据一元函数极值的必要条件和多元复合函数求导公式,得

在最速下降法中,相邻两个迭代点上的函数梯度相互垂直。而搜索方向就是负梯度方向,因此相邻两个搜索方向互相垂直。这就是说在迭代点向函数极小点靠近的过程,走的是曲折的路线。形成“之”字形的锯齿现象,而且越接近极小点锯齿越细。

方法特点

(1)初始点可任选,每次迭代计算量小,存储量少,程序简短。即使从一个不好的初始点出发,开始的几步迭代,目标函数值下降很快,然后慢慢逼近局部极小点。

(2)任意相邻两点的搜索方向是正交的,它的迭代路径为绕道逼近极小点。当迭代点接近极小点时,步长变得很小,越走越慢。

梯度法的特点

(1)理论明确,程序简单,对初始点要求不严格。

(2)对一般函数而言,梯度法的收敛速度并不快,因为最速下降方向仅仅是指某点的一个局部性质。

(3)梯度法相邻两次搜索方向的正交性,决定了迭代全过程的搜索路线呈锯齿状,在远离极小点时逼近速度较快,而在接近极小点时逼近速度较慢。

(4)梯度法的收敛速度与目标函数的性质密切相关。对于等值线(面)为同心圆(球)的目标函数,一次搜索即可达到极小点。

梯度法由于每次迭代的搜索方向是取函数的最速下降方向,因此又称它为最速下降法。从这点看,容易使人认为,这种方法是一个使函数值下降最快的方法,{}'()[()]()0T k k k k f f f ϕαα=-∇-∇∇=x x x 1[()]()0k T k f f +∇∇=x x 1()0k T k s s +=

但实际上并不是这样,计算表明,此法往往收敛得相当慢。这是由于梯度法的相邻两次搜索方向是相互正交的,所以,当二元二次函数的等值线是比较扁的椭圆时,其梯度法逼近函数极小值的过程呈直角锯齿状,如图8-15(b)所示。

这种算法的优点是迭代过程简单,要求的存储量也少,而且在远离极小点时,函数下降还是比较快的。因此,常常将它与其它方法结合,在计算的前期使用最速下降方向,当接近极小点时,再改用其它搜索方向,以加快收敛速度。

2、牛顿法(二阶梯度法)

基本思想 :在x k 邻域内用一个二次函数来近似代替原目标函数,并将 的极小点作为对目标函数求优的下一个迭代点。经多次迭代,使之逼近目标函数的极小点。

牛顿法是求函数极值的最古老算法之一。

设 为

的极小点

这就是多元函数求极值的牛顿法迭代公式。

对于二次函数 ,海赛矩阵H 是一个常矩阵,其中各元素均为常数。因此,无论从任何点出发,只需一步就可找到极小点。

从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用上述牛顿迭代公式,有时会使函数值上升 。

3、修正牛顿法(阻尼牛顿法)

阻尼因子 ,沿牛顿方向进行一维搜索的最佳步长,由下式求得: 方法特点 :

(1) 初始点应选在X *附近,有一定难度;

(2) 若迭代点的海赛矩阵为奇异,则无法求逆矩阵,不能构造牛顿法方向;

(3) 不仅要计算梯度,还要求海赛矩阵及其逆矩阵,计算量和存储量大。此外,对于二阶不可微的F (X )也不适用。

虽然阻尼牛顿法有上述缺点,但在特定条件下它具有收敛最快的优点,并为其他的算法提供了思路和理论依据。

()ϕx ()ϕx ()f x 1k +x ()f x 1k +x ()ϕx k α2()()()()()1()()()2k k T k k T k k f f f f ϕ≈=+∇-+-∇-x x x x x x x x x x x 1()0k ϕ+∇=x 21()()()0

k k k k f f +∇+∇-=x x x x 121[()]()(0,1,2,)k k k k f f k +-=-∇∇= x x x x 121[()]()(0,1,2,)k k k k k k k k s f f k αα+-=+=-∇∇= x x x x x 1()()min ()

k k k k k

k k f f s f s ααα+=+=+x x x

相关文档
最新文档