非线性规划理论和算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非线性最优化理论与算法
第一章引论
本章首先给出了一些常见的最优化问题和非线性最优化问题解的定义,并且根据不同的条件对其进行了划分。接着给出了求解非线性优化问题的方法,如图解法等,同时又指出一个好的数值方法应对一些指标有好的特性,如收敛速度与二次终止性、稳定性等。随后给出了在非线性最优化问题的理论分析中常用到的凸集和凸函数的定义和有关性质。最后给出了无约束优化最优性条件。
第二章线搜索方法与信赖域方法
无约束优化的算法有两类,分别是线搜索方法和信赖域方法。本章首先给出了两种线搜索方法即精确线搜索方法和非精确线搜索方法。线搜索方法最重要的两个要素是确定搜索方向和计算搜索步长,搜索步长可确保下降方法的收敛性,而搜索方向决定方法的收敛速度。
精确线搜索方法和非精确线搜索方法
对于精确线搜索方法,步长ακ满足
αk=arg min
ƒx k+αd k
α≥0
这一线搜索可以理解为αk是f(x k+αd k)在正整数局部极小点,则不论怎样理解精确线搜索,它都满足正交性条件:
d k T∇ƒ(x k+αk d k)=0
但是精确搜索方法一般需要花费很大的工作量,特别是当迭代点远离问题的解时,精确的求解问题通常不是有效的。而且有些最优化方法,其收敛速度并不依赖于精确搜索过程。对于非精确搜索方法,它总体希望收敛快,每一步不要求达到精确最小,速度快,虽然步数增加,则整个收敛达到快速。书中给出了三种常用的非精确线搜索步长规则,分别是Armijo步长规则、Goldstein步长规则、Wolfe步长规则。第一个步长规则的不等式要求目标函数有一个满意的下降量,第二个不等式控制步长不能太小,这一步长规则的第二式可能会将最优步长排除在步长的候选范围之外,也就是步长因子的极小值可能被排除在可接受域之外。但Wolfe步长规则在可接受的步长范围内包含了最优步长。在实际计算时,前两种步长规则可以用进退试探法求得,而最后一种步长规则需要借助多项式插值等方法求得。紧接着,又介绍了Armijo和Wolfe步长规则下的下降算法的收敛性。
信赖域方法
线性搜索方法都是先方向再步长,即先确定一个搜索方向d k,然后再沿着这个搜索方向d k选择适当的步长因子αk,新的迭代点定义为x k+1=x k+αk d k。与线搜索方法不同,信赖域方法是先步长再方向,此方法首先在当前点附近定义目标函数的一个近似二次模型,然后利用目标函数在当前点的某邻域内与该二次模型的充分近似,取二次模型在该邻域内的最优值点来产生下一迭代点。它把最优化
问题转化为一系列相对简单的局部寻优问题。
信赖域方法的思想为:设当前点x k的邻域定义为
Ωk=dϵR n d−d k≤∆k
其中,∆k称为信赖域半径。
目标函数在极值点附近近似一个二次函数,因此对于无约束优化问题,利用二次逼近,构造如下信赖域模型。一般的,信赖域模型的目标函数取为
m k d=ƒ
k +g k T d+1
2
d T B k d
其中,B k∈R n×n对称,是ƒ在d k处Hesse阵∇2ƒ
k
或者其近似。这个问题就是信赖域方法模型的子问题。
设d k是信赖域子问题的解,我们称目标函数ƒ在第k步的实下降量
Ared k=ƒx k-ƒx k+d k
函数的预下降量
Pred k=m k0-m k d k
定义比值
r k=Ared k
Pred k
它衡量了二次模型与目标函数的逼近程度。一般的,Pred k>0。若r k<0,x k+d k不能作为下一迭代点,需要缩小信赖域半径,重新计算d k;若r k>0且靠近1,说明二次模型与目标函数在信赖域内有很好的近似,在下一迭代时可以扩大信赖域半径;对其他情况信赖域半径不变。
随后又给出了信赖域算法,只是由于信赖域模型利用负梯度方向为搜索方向,算法的效率很低,然后就给出了建立信赖域方法超线性收敛性的子问题的三种求解方法,分别是折线法、二维子空间方法和精确解方法。
信赖域方法和线性搜索方法是求解非线性优化问题的两类主要的数值方法。与线性搜索方法相比,信赖域方法思想新颖,具有可靠性、有效性和很强的收敛性。
第三章最速下降法与牛顿方法
本章主要介绍最速下降法和牛顿方法,最速下降法又称为梯度法,是根据目标函数的线性近似得到的,但是它的收敛速度并不快。相比之下,牛顿方法具有快的收敛速度,它是根据目标函数的二次近似得到的,是没有步长搜索的算法。
最速下降法
最速下降法从目标函数的负梯度方向一直前进,直到达到目标函数的最低点。书中首先给出了最速下降法的算法和算法的性质,然后讨论了最速下降法的收敛速度。
最速下降方法的迭代公式是:
x k+1=x k+αk d k
其中d k=-g k为最速下降方向,ƒx k+αk d k=minα≥0f(x k+αd k)为最优步长。
在最速下降法中,两个相邻的搜索方向是正交的,即
d k,d k+1=0
最速下降法具有锯齿现象,即在极小点附近,目标函数可以用二次函数近似,其等值面近似于椭圆面,长轴和短轴分别位于对应最小特征值和最大特征值的特征向量的方向。其大小与特征值的平方根成反比。
最速下降法有一定的优点,如计算量小,存储量小,对初始点没有特殊要求,有着很好的全局收敛性。但是最速下降法是线性收敛的,当接近最优解时,收敛速度很慢,原因是d k=-g k仅反映ƒx在x k处的局部性质,以及相继两次迭代中搜索方向是正交的。
牛顿方法
牛顿方法是用目标函数的二阶展开式来近似的,并用其最小值点来产生下一迭代点得到的。
设函数ƒ二阶连续可微。ƒx k+s在x k点的二阶近似展开式为
m k s≜ƒ
k +s T g k+1
2
s T G k s
若G k正定,则m k s是凸函数。利用一阶最优性条件
G k s=-g k
可得二次函数m k s的最小值点s k=-G k−1g k
根据目标函数在当前点附近与二次函数的近似,将x k−G k−1g k作为下一迭代点就得到牛顿算法,其中-G k−1g k称为牛顿方向。
牛顿算法最终得到的是目标函数的稳定点。对于严格凸二次函数,牛顿算法一步就可以得到目标函数的全局最优值点,而对一般的非二次函数,该算法也可以很快地搜索到最优值点。它是借助目标函数在当前点的二阶Taylor展开式的最小值点逐步逼近目标函数的最小值点,它有很快的收敛速度。
牛顿算法虽然有很快的收敛速度,但是它严重依赖于初始点的选择,而且在每次迭代过程中需要计算目标函数的梯度和Hesse矩阵,这就导致算法效率降低。
第四章共轭梯度法
共轭梯度法是介于最速下降法和牛顿方法之间的一种无约束优化算法,它具有超线性收敛速度。它跟最速下降法相类似,共轭梯度法只用到了目标函数及其梯度值,避免了Hesse矩阵的计算。因此,它是求解无约束优化问题的一种比较有效而实用的算法。本章首先讲述了线性共轭方向法,接着给出了线性共轭梯度法和非线性共轭梯度法,最后讲述了共轭梯度法的收敛性。
线性共轭方向法
共轭方向法的基本思想是在求解n维正定二次目标函数极小点时产生一组共轭方向作为搜索方向。在精确线搜索条件下算法最多迭代n步,即能求得极小点。书中首先给出了线性共轭方向法。
对于二次规划问题
min x∈R n ƒx=
1
2
x T A x−b T x
关于系数矩阵A构造共轭方向,再沿之进行线搜索,这样便得到线性共轭方向法。
接着书中给出了共轭方向的定义和具体的线性共轭方向法及算法的收敛定