一、非线性最优化的基本概念
1.基本概念:
规划问题的目标函数及约束函数中至少有一个是非线性函数,则称这种规划为非线性规划。
非线性规划的数学模型常表示成以下形式
Minf(X)
hi(X)=0 i=1,2, … ,m
目标函数与约束函数的方程组。
设f(X)为定义在n维欧氏空间En的某一区域S上的n元实函数,其中X=(x1 ,x2… xn)T 。
局部极小点(值):对于X*∈S,如果存在ε>0,使所有与X*的距离小于ε的X∈S,均满足不等式f(X)≥f(X* ),则称X*为f(X)在S上的局部极小点, f(X* )为局部极小值。
严格局部极小点(值):对于所有X≠X*且与X*的距离小于ε的X∈S,f(X)>f(X* ),则称X* 为f(X)在S上的严格局部极小点,f(X* )为严格局部极小值。
全局极小点(值):对于所有的X∈S,都有f(X)≥f(X* ),则称X* 为f(X)在S上的全局极小点,f(X* )为全局极小值。
严格全局极小点(值):对于所有X∈S且X≠X* ,都有f(X)> f(X* ),则称X* 为f(X)在R上的严格全局极小点,f(X* )为严格全局极小值。
将上述不等式反向,即可以得到相应的极大点和极大值的定义。
定理2 (充分条件)设S是n维欧氏空间En 上的某一开集,f(X)在S上具有二阶连续偏导数,X*∈S,若▽f(X*) =0,且对任何非零向量Z∈En有
ZTH(X*)Z>0 (1.4)
则X*为f(X)的严格局部极小点.此处H(X*)为f(X)在点X*处的海赛(Hesse)矩阵.
- 3.凸函数和凹函数
凸函数:设f(X)是定义在n维欧氏空间En中某个凸集S上的函数, 若对任何实数a(0<a <1)以及S中的任意两点X(1)和X(2),恒有
f(aX(1)+(1-a) X(2)) ≤ af(X(1))+(1-a)f(X(2)) (1.5)
则称f(X)为定义在S上的凸函数.
凸集:实数R(或复数C上)向量空间中,集合S称为凸集,如果 S 中任两点的连线内的点都在集合S内。对欧氏空间,直观上,凸集就是凸的。在一维空间中,凸集是单点或一条不间断的线(包括直线、射线、线段);二、三维空间中的凸集就是直观上凸的图形。
严格凸函数:若对每一个a(0<a<1)以及S中的任意两点X(1)和X(2), X(1)≠ X(2) ,恒有
f(aX(1)+(1-a) X(2)) < af(X(1))+(1-a)f(X(2)) (1.6)
则称f(X)为定义在S上的严格凸函数.
将(1.5)和(1.6)中的不等号反向,即可得到凹函数和严格凹函数的定义.
凸函数的性质:
性质1 设f(X)为定义在凸集S上的凸函数, 则对任意实数b≥ 0,函数bf(X)也是定义在S上的凸函数.
性质2 设f1(X)和 f2(X)为定义在凸集S上的两个凸函数,则其和f(X)= f1(X)+f2(X)仍为定义在S上的凸函数.
性质3 设f(X)为定义在凸集S上的凸函数,则对任一实数b,集合
Sb ={X|X ∈S ,f(X) ≤b}是凸集(Sb称为水平集).
水平集:在数学领域中, 一个具有n变量的实值函数f的水平集是具有以下形式的集合{ (x1,...,xn) | f(x1,...,xn) = c } 其中 c 是常数。即, 使得函数值具有给定常数的变量集合。当具有两个变量时, 称为水平曲线(等高线), 如果有三个变量, 称为水平曲面, 更多变量时, 水平集被叫做水平超曲面。
函数凸性的判定
定理3(一阶条件)设S为n维欧氏空间 En上的开凸集,f(X)在S上具有一阶连续偏导
数,则f(X)为S上的凸函数的充要条件是,对任意两个不同点X(1) ∈S和X(2) ∈S,恒有
f(X(2) )≥f(X(1) )+▽f(X(1) )T(X(2) -X(1))
定理4(二阶条件)设S为n维欧氏空间En上的开凸集, f(X)在S上具有二阶连续偏导数,
则f(X)为S上的凸函数的充要条件是:f(X)的Hesse矩阵H(X)在S上处处半正定.
如果对任何非零向量x,都有x'Ax≥0(或x'Ax≤0)成立,且有非零向量x0,使x0'Ax0=0,则称f为半正定(半负定)二次项,矩阵A称为半正定矩阵(半负定矩阵)。其所有的主子式非负。
定理5 设S为n维欧氏空间 En 上的开凸集, f(X)在S上二次可微,若任意x∈S,Hesse矩阵正定,则f是S上的严格凸函数
正定矩阵特征及性质
判定定理1:对称阵A为正定的充分必要条件是:A的特征值全为正。
判定定理2:对称阵A为正定的充分必要条件是:A的各阶顺序主子式都为正。
判定定理3:任意阵A为正定的充分必要条件是:A合同于单位阵。
正定矩阵的性质:
1.正定矩阵的任一主子矩阵也是正定矩阵。
2.若A为n阶对称正定矩阵,则存在唯一的主对角线元素都是正数的下三角阵L,使得A=L*L′,此分解式称为 正定矩阵的楚列斯基(Cholesky)分解。
3.若A为n阶正定矩阵,则A为n阶可逆矩阵
定理6 若f(X)为定义在凸集S上的凸函数,则它的任一极小点就是它在S上的最小点(全
局极小点); 而且,它的极小点形成一个凸集.
定理7 设f(X)是定义在凸集S上的可微凸函数, 若存在点X*∈S, 使得所有的X∈S有
▽f(X*)T(X-X*)≥0
则X*是f(X)在S上的最小点(全局极小点).
注1:若▽f(X*) =0,则▽f(X*)T(X-X*)≥0.
注2:最小点未必唯一,但凸集上严格凸函数的最小点唯一.
注3:对凹函数也有上述类似的结果.
满足约束条件的点称为可行点(可行解),所有可行点的集合称为可行域。
若某个可行解使目标函数最小,就称它为最优解。
4.下降迭代算法
迭代法基本思想:
为了求函数f(X)的最优解,首先给定一个初始估计X(0),然后按某种算法找出比X(0)更好的解X(1)(对极小化问题,f(X(1))<f(X(0));对极大化问题,f(X(1))> f(X(0))),再按此种规则找出比X(1)更好的解X(2),….如此即可得到一个解的序列{X(k)}.若这个解序列有极限X*,即limk→∞‖X(k)-X*‖=0,则称它收敛于X*.若这算法是有效的,那么它所产生的解的序列将收敛于该问题的最优解.
若由某算法所产生的解的序列{X(k)}使目标函数值f(X(k))逐步减小,就称这算法为下降算法.
假定已迭代到点X(k),若从X(k)出发沿任何方向移动都不能使目标函数下降,则X(k)是局部极小点,迭代停止.若从X(k)出发至少存在一个方向可使目标函数值有所下降,则可选能使目标函数值下降的某方向P(k),沿这方向迈进适当的一步,得到下一个迭代点X(k+1),并使 f(X(k+1))<f(X(k)).这相当于在射线X= X(k)+λP(k)上选定新点X(k+1)=X(k)+λkP(k)
其中P(k)称为搜索方向;λk称为步长或步长因子.
下降迭代法的步骤:
(1).选定某一初始点X(0),并令k:=0.
(2).确定搜索方向P(k).
(3). 从X(k)出发,沿方向P(k)求步长λk,以产生下一个迭代点X(k+1).
(4). 检查得到的新点X(k+1)是否为极小点或近似极小点.若是,则停止迭代.否则,令k:=k+1,转回(2)继续进行迭代.
在下降迭代步骤中,关键是选取搜索方向P(k)和确定步长λk .
确定步长λk的常用方法:
(1) 令λk等于某一常数.
(2) 只要能使目标函数值下降,可选取任意λk.
(3) 沿射线X= X(k)+λP(k)求目标函数f(X)的极小
λk : φ(λ)=Minf(X(k)+λP(k))
称这一过程为(最优)一维搜索或线搜索,以此确定的步长为最佳步长.
迭代计算法的收敛速度
设序列{x(k)}收敛于x*,若存在与k无关的数,0<β<+∞和α≥1,使得
‖X(k+1)-X*‖≤β‖X(k)-X*‖α, k≥k0
则称{x(k)}收敛的阶为α,或{x(k)} α阶收敛.
当α=2时,称为二阶收敛,也称{x(k)}具有二阶敛速;当1<α<2时,称为超线性收敛;
当α=1, 0<β<1时,称为线性收敛或一阶收敛.
定理8 设目标函数f(X)∈C(1),X(k+1)按下述规则产生
λk : Minf(X(k)+λP(k))
X(k+1)= X(k)+λkP(k)
则有 ▽f(X(k+1))TP(k)=0.
证 设φ(λ)=f(X(k)+λP(k)),则由
φ’(λ)=▽f(X(k)+ λP(k))T P(k)=0 得 λ= λk
∴▽f(X(k)+ λkP(k))T P(k)=▽f(X(k+1))TP(k)=0
常用的收敛的准则有以下几种:
(1). 根据相继两次迭代的绝对误差
‖X(k+1)-X(k)‖<ε
|f(X(k+1))-f(X(k))|< ε
(2).根据相继两次迭代的相对误差
‖X(k+1)-X(k)‖/‖X(k)‖ <ε
|f(X(k+1))-f(X(k))|/|f(X(k))|<ε
这时要求分母不接近于零.
下单峰概念
设f: R→R, [a,b]为R的区间.若存在点x*∈[a,b],使得f(x)在[a,x*]上严格单减,在
[x*,b]上严格单增,则称[a,b]是f(x)的下单峰区间,f(x)是[a,b]上的下单峰函数.
定理9 f(x)是[a,b]上的下单峰函数,对任意的x1,x2∈[a,b], x1<x2,那么
(1).若f(x1)≥f(x2),则[x1,b]是f(x)的下单峰区间;
(2).若f(x1)≤f(x2),则[a,x2]是f(x)的下单峰区间.
如果函数f(x)在区间[a, b]上只有唯一的最大值点(或最小值点)C,而在最大值点(或最小值点)C的左侧,函数单调增加(减少);在点C的右侧,函数单调减少(增加),则称这个函数为区间[a, b]上的单峰函数。