1、清华大学出版社,1,四*、非线性规划,第6章 无约束问题 第7章 约束极值问题,清华大学出版社,2,引 言,在科学管理和其他领域中,很多实际问题可归结为线性规划问题。但也有很多问题,其目标函数和(或)约束条件很难用线性函数表达。如果目标函数或约束条件中含有非线性函数,就称这种问题为非线性规划问题。 解这类问题需要用非线性规划方法。目前,非线性规划已成为运筹学一个重要分支,在最优设计、管理科学、系统控制等许多领域得到越来越广泛的应用。 一般说来,由于非线性函数的复杂性,解非线性规划问题要比解线性规划问题困难得多。而且,也不像线性规划那样有单纯形法等通用方法。非线性规划目前还没有适于各种问题的一般
2、性算法,各个方法都有自己特定的适用范围。,清华大学出版社,3,第6章 无约束问题,第1节 基本概念 第2节 一维搜索 第3节 无约束极值问题的解法,清华大学出版社,4,第1节 基本概念,1.1 引言 1. 问题的提出例1 某公司经营两种产品,第一种产品每件售价30元,第二种产品每件售价450元。根据统计,售出一件第一种产品所需要的服务时间平均是0.5小时,第二种产品是(2+0.25x2)小时,其中x2是第二种产品的售出数量。已知该公司在这段时间内的总服务时间为800小时,试决定使其营业额最大的营业计划。,设该公司计划经营第一种产品x1件,第二种产品x2件。根据题意,其营业额为,由于服务时间的限
3、制,该计划必须满足,此外,这个问题还应满足,,得到本问题数学模型为:,清华大学出版社,5,第1节 基本概念,例2 为了进行多属性问题(假设有n个属性)的综合评价,需要确定每个属 性的相对重要性,即求它们的权重。为此将各属性的重要性进行两两比 较,从而得出如下判断矩阵,其中元素,是第i个属性的重要性与第j个属性的重要性之比。,为了使,在最小二乘意义上能最好反映判断矩阵的估计,由,,可得,现需从判断矩阵求出各属性的权重,清华大学出版社,6,第1节 基本概念,2非线性规划问题的数学模型,非线性规划的数学模型常表示成以下形式,其中自变量,是n维欧氏空间,中的向量(点);,为目标函数,,和,为约束条件。
4、,清华大学出版社,7,第1节 基本概念,由于,当需使目标函数极大化时,只需使其负值极小化即可。因而仅考虑目标 函数极小化,这无损于一般性。 若某约束条件是“”不等式时,仅需用“-1”乘该约束的两端,即可 将这个约束变为“”的形式。 由于等式约束,等价于下述两个不等式约束:,因而,也可将非线性规划的数学模型写成以下形式,清华大学出版社,8,第1节 基本概念,3非线性规划问题的图示图示法可以给人以直观概念,当只有两个自变量时,非线性规划问题也可像线性规划那样用图示法来表示(如图6-1所示)。,考虑非线性规划问题,若令其目标函数,其中c为某一常数,则(6-8)式代表目标函数值等于c的点的集合,它一般
5、为一条曲线或一张曲面,通常称其为等值线或等值面。对于这个例子来说,若令目标函数(6-6)式分别等于2和4,就得到相应的两条圆形等值线(图6-1)。由图可见,等值线f(X)=2和约束条件直线AB 相切,切点D即为此问题的最优解:x1*=x2*=3,其目标函数值f(X*)=2。,清华大学出版社,9,第1节 基本概念,图6-1,在这个例子中,约束条件(6-7)式对最优解是有影响的。现若以,代替约束条件(6-7)式,则非线性规划问题(6-6) 式、(6-9)式的最优解是x1=x2=2,即图6-1中的 C点(这时f(X)=0)。由于最优点位于可行域的 内部,故对这个问题的最优解来说,约束(6-9) 式事
6、实上是不起作用的。在求这个问题的最 优解时,可不考虑约束条件(6-9)式,就相当 于没有这个约束一样。 由第一章知道,如果线性规划问题的最优解 存在,其最优解只能在其可行域的边界上达 到(特别是在可行域的顶点上达到);而非线性 规划问题的最优解(如果最优解存在)则可能在 其可行域中的任意一点达到。,清华大学出版社,10,第1节 基本概念,1.2 极值问题 1局部极值和全局极值由于线性规划的目标函数为线性函数,可行域为凸集,因而求出的最优解就是在整个可行域上的全局最优解。非线性规划却不然,有时求出的某个解虽是一部分可行域上的极值点,但却并不一定是整个可行域上的全局最优解。,清华大学出版社,11,
7、第1节 基本概念,设f(X)为定义在n维欧式空间En的某一区域R上的n元函数,其中,。对于,,如果存在某个,,使所有与,的距离小于,的,(即,且,)均满足不等式,,则称,为,在R上的局部极小点(或相对极小点),,为局部极小值。若对于所有,且与,的距离小于,的,,,,则称,为,在R上的严格局格极小点,,为严格局部极小值。,若点,,而对于所有,都有,,则称,为,在R上的全局极小点,,为全局极小值。若对于所有,且,,都有,,则称,为,在R上的严格全局极小点,,为严格全局极小值。,清华大学出版社,12,第1节 基本概念,2极值点存在的条件,定理1 (必要条件) 设R是n维欧式空间En上的某一开集,f(
8、X)在R上有一阶连续偏导数,且在点,取得局部极值,则必有,或,上式中,为函数f(X)在点X*处的梯度。,清华大学出版社,13,第1节 基本概念,定理2 (充分条件) 设R是n维欧式空间En上的某一开集,f(X)在R上有二阶连续偏导数,,,若,,且对任何非零向量,有,则X*为f(X)的严格局部极小点。 此处H(X*)为f(X)在点X*处的海赛(Hesse)矩阵:,清华大学出版社,14,第1节 基本概念,1.3 凸函数和凹函数 1. 什么是凸函数和凹函数,设f(X) 为定义在n维欧式空间En中的某个凸集R上的函数,若对任何实数(0 1)以及R中的任意两点X(1)和X(2),恒有,则称f(X)为定义
9、在R上的凸函数。,则称f(X)为定义在R上的严格凸函数。,若对任何实数(0 1)和,清华大学出版社,15,第1节 基本概念,凸函数和凹函数的几何意义,清华大学出版社,16,第1节 基本概念,2. 凸函数的性质,性质1 设f(X)为定义在凸集R上的凸函数,则对任意实数0,函数 f(X)也是定义在R上的凸函数。,性质2 设f1(X)和f2(X)定义在凸集R上的凸函数,则其和f(X)=f1(X)+f2(X)仍为定义在R上的凸函数。,清华大学出版社,17,第1节 基本概念,因为 f1(X)和f2(X)是定义在凸集R上的凸函数,故对任何实数(0 1)以及R中的任意两点X(1)和X(2),恒有,将上式两端
10、分别相加得,故 f(X)是R上的凸函数。,由以上两个性质立刻推得:有限个凸函数的非负线性组合,仍为凸函数。,清华大学出版社,18,第1节 基本概念,性质3 设f(X)为定义在凸集R上的凸函数,则对任意实数,集合,是凸集(S称为水平集)。,证明:任取,,则有,由于R为凸集,故对任意实数,又因f(X)为凸函数,故,这就表明点,,于是, S为凸集。,清华大学出版社,19,第1节 基本概念,3. 函数凸性的判定可以直接依据定义去判别;对可微凸函数,也可利用下面两个判别定理。,定理3 (一阶条件) 设R为n维欧氏空间En上的开凸集,f(X)在R上具有一阶连续偏导数,则 f(X)为R上的凸函数的充要条件是
11、,对任意两个不同点,恒有,清华大学出版社,20,第1节 基本概念,证明:必要性:设 f(X)是定义在R上的凸函数,则对任何实数(0 1)有,于是,令,,上式左端的极限为,即,清华大学出版社,21,第1节 基本概念,充分性: 任取,,现令,分别以,和,为式(6-18)中的,,以X为式(6-18)中的,,则,用乘上面的第一式,用1乘上面的第二式,然后两端相加:,从而可知f(X)为R上的凸函数。,清华大学出版社,22,第1节 基本概念,凸函数的定义式(6-15),本质上是说凸函数上两点间的线性插值不低于这个函数的值;而定理3则是说,基于某点导数的线性近似不高于这个函数的值(图6-3)。,图6-3,清
12、华大学出版社,23,第1节 基本概念,定理4 (二阶条件) 设R为n维欧氏空间En上的开凸集,f(X)在R上具有二阶连续偏导数,则f(X) 为R上的凸函数的充要条件是, f(X)的海塞矩阵H(X)在R上处处半正定。,清华大学出版社,24,第1节 基本概念,证明 先证必要性。 设f(X)为R上的凸函数,任取XR和Z En,现证,因R为开集,故存在,,使当,时,有,。由定理3可得,再由泰勒公式,其中,由以上两式得,从而,令,即H(X)为半正定矩阵。,则得,清华大学出版社,25,第1节 基本概念,下面证明充分性。设对任意,为半正定矩阵,任取,由泰勒公式,有,其中,因R为凸集,,再由假设知,为半正定,
13、从而,由定理3,f(X) 为R上的凸函数。,清华大学出版社,26,第1节 基本概念,例3 试证明,证: 首先用凸函数的定义证明,即对任意指定两点1和 2,看下述 各式是否成立?,或,或,由于,,故,成立,从而证明了,为凹函数。用同样的方法可以证明,也是凹函数。根据性质2,,为凹函数。,为凹函数。,。显然,不管1和 2取什么值,总有,清华大学出版社,27,第1节 基本概念,证:再用定理3证明,为凹函数。现看下述各式是否成立?,任意选取第一点,,第二点,。如此,,或,或,或,不管a1、a2、b1、b2取什么值,上式均成立,从而得证。,清华大学出版社,28,第1节 基本概念,下面用定理4证明。由于,
14、其海赛矩阵处处负定,故,为(严格)凹函数。,清华大学出版社,29,第1节 基本概念,4凸函数的极值前已指出,函数的局部极小值并不一定等于它的最小值,前者只不过反映了函数的局部性质。而最优化的目的,往往是要求函数在整个域中的最小值(或最大值)。为此,必须将所得的全部极小值进行比较(有时尚需考虑边界值),以便从中选出最小者。然而,对于定义在凸集上的凸函数来说,则用不着进行这种麻烦的工作,它的极小值就等于其最小值。,清华大学出版社,30,第1节 基本概念,定理5 若f(X)为定义在凸集R上的凸函数,则它的任一极小点也是它在R上的最小点(全局极小点),而且极小点集为凸集。 证明:设X*是一个局部极小点
15、,则对于充分小的邻域,中的X,均有,令Y是R中的任一点,对于充分小的,,就有,从而,由于,为凸函数,故,将上述两个不等式相加,移项后除以,得到,这就是说,X*是全局极小点。由性质3,所有极小点集合为一个凸集。,清华大学出版社,31,第1节 基本概念,定理6 设,是定义在凸集R上的可微凸函数,若存在点,,使得对于所有的,有,(6-19),则X*是f(X)在R上的最小点(全局极小点)。 证明:又定理3,如此,对所有,有,一种极为重要的情形是,当点X*是R的内点时,这时(6-19)式对任意,都成立,这就意味着可将(6-19)式改为,清华大学出版社,32,第1节 基本概念,1.4 凸规则 考虑非线性规
16、划,假定其中f(X)为凸函数,gj(X)(j=1,2,l)为凹函数(或者说 gj(X)为凸函数),这样的非线性规划称为凸规划。可以证明,上述凸规划的可行域为凸集,其局部最优解即为全局最优解,而且其最优解的集合形成一个凸集。当凸规划的目标函数f(X)为严格凸函数时,其最优解必定唯一(假定最优解存在)。 凸规划是一类简单而又具有重要意义的非线性规划。 线性规划也属于凸规划。,清华大学出版社,33,第1节 基本概念,例4 试分析非线性规划,解:,和,的海赛矩阵的行列式分别是,清华大学出版社,34,第1节 基本概念,例4 试分析非线性规划,图6-4,知,为严格凸函数,,为凹函数。由于其他约束条件均为线
17、性函数,所以这是一个凸规划(图6-4)。,c点为其最优点:,,目标函数的最优值为,清华大学出版社,35,第1节 基本概念,1.5 下降迭代算法为了求某可微函数(假定无约束)的最优解,根据前面的叙述,可如下进行:令该函数的梯度等于零,由此求得平稳点;然后用充分条件进行判别,求出所要的解。对某些较简单的函数,这样做有时是可行的;但对一般n元函数f(X)来说,由条件f(X)=0得到的常是一个非线性方程组,解它相当困难。对于不可微函数,当然谈不上使用这样的方法。为此,常直接使用迭代法。,清华大学出版社,36,第1节 基本概念,迭代法的基本思想:为了求函数f(X)的最优解,首先给定一个初始估计,,然后按
18、某种规划(即算法)找出比,更好的解,对极小化问题,,对极大化问题,,再按此种规则找出比,更好的解,,。如此即可得到一个解的序列,。若这个解序列有极限,,即,则称它收敛于X*。,若算法是有效的,则它产生的解的序列将收敛于该问题的最优解。但 由于计算机只能进行有限次迭代,一般很难得到准确解,而只能得到 近似解。当达到满足的精度要求后,即可停止迭代。,清华大学出版社,37,第1节 基本概念,现假定已迭代到点,(见图6-5),若从,出发沿任何方向移动都不能使目标函数值下降,则,是一局部极小点,迭代停止。若从,出发至少存在一个方向可使目标函数值有所下降,则可选定能使目标函数值下降的某方向,,沿这个方向迈
19、进适当的一步,得到下一个迭代点,,并使,。这相当于在射线,上选定新点,其中,,称为搜索方向;,称为步长或步长因子。,图6-5,清华大学出版社,38,第1节 基本概念,下降迭代算法的步骤: (1) 选定某一初始点,,并令,(2) 确定搜索方向,(3) 从,出发,沿方向,求步长,,以产生下一个迭代点,(4) 检查得到的新点,是否为极小点或近似极小点。,,转回(2)继续进行迭代。,在以上步骤中,选取搜索方向是最关键的一步,各种算法的区分,主要在于确定搜索方向的方法不同。,若是,则停止迭代。 否则,令,清华大学出版社,39,第1节 基本概念,确定步长,的的方法。,),这样做不能保证目标函数值下降。,(
20、3)第三种方法是基于沿搜索方向使目标函数值下降最多,即沿射线,求目标函数f(X)的极小:,由于这项工作是求以为变量的一元函数,的极小点,,故常称这一过程为一维搜索或线搜索,确定的步长为最佳步长。,(1) 令它等于某一常数(例如令,(2) 第二种称为可接受点算法,只要能使目标函数值下降,可任意选取步长,清华大学出版社,40,第1节 基本概念,一维搜索的一个十分重要的性质: 在搜索方向上所得最优点处的梯度和该搜索方向正交。,定理7 设目标函数,具有一阶连续偏导数,,按下述规则产生,则有,清华大学出版社,41,第1节 基本概念,证明:构造函数,则得,即,为,的极小点。此外,由,可得,定理得证。,清华
21、大学出版社,42,第1节 基本概念,下面讨论算法的收敛速度。设序列,收敛于,,若存在与迭代次数k无关的数,和,使K从某个,开始,都有,(6-22),收敛的阶为,,或,阶收敛。,时,称为二阶收敛,也可说,具有二阶敛速。,时,称超线性收敛。,,且,时,称线性收敛或一阶收敛。,成立,就称,当,当,当,清华大学出版社,43,第1节 基本概念,为决定什么时候停止计算,只能根据相继两次迭代的结果。 常用的终止计算准则有:(1) 根据相继两次迭代的绝对误差,(2) 根据相继两次迭代的相对误差,这时要求分母不接近于零。 (3) 根据目标函数梯度的模足够小,其中,为事先给定的足够小的正数。,清华大学出版社,44
22、,第2节 一 维 搜 索,常用的一维搜索方法: (1) 试探法(“成功-失败”法,斐波那契法,0.618法等); (2) 插值法(抛物线插值法,三次插值法等); (3) 微积分中的求根法(切线法,二分法等)。 本书将介绍斐波那契法和0.618法。,清华大学出版社,45,2.1 斐波那契(Fibonacci)法,设,是区间,上的下单峰函数),它有唯一极小点t*。,若在此区间内任取两点a1和b1,,并计算函数值,和,,可能出现以下两种情形:,(图6-7(a),这时极小点t*必在区间,内。,(图6-7(b),这时极小点t*必在区间,内。,(1),(2),图6-7,清华大学出版社,46,2.1 斐波那
23、契(Fibonacci)法,这说明,只要在区间a,b内取两个不同点,并算出它们的函数值 加以比较,就可以把搜索区间a,b缩小成a,b1或a1,b(缩 小后的区间仍需包含极小点)。 如果要继续缩小搜索区间a,b1(或a1,b),就只需在上述区间 内再取一点算出其函数值,并与f(a1)或f(b1)加以比较即可。 只要缩小后的区间包含极小点t*,则区间缩小得越小,就越接近于函 数的极小点,但计算函数值的次数也就越多。这就说明区间的缩短 率和函数值的计算次数有关。 问题:计算函数值n次,能把包含有极小点的区间缩小到 什么程度呢?或者换一种说法,计算函数值n次能把原来 多大的区间缩小成长度为一个单位的区
24、间呢?,清华大学出版社,47,2.1 斐波那契(Fibonacci)法,如果用Fn表示计算n个函数值能缩短为单位区间的最大原区间长度, 显然F0=F1=1 (6-28)原因是,只有当原区间长度本来就是一个单位长度时才不必计算函数 值;此外,只计算一次函数值无法将区间缩短,故只有区间长度本来 就是单位区间时才行。,清华大学出版社,48,2.1 斐波那契(Fibonacci)法,现考虑计算函数值两次的情形。 在区间a,b内取两个不同点a1和b1(图6-8(a),计算其函数值以缩短 区间,缩短后的区间为a,b1或a1,b。显然,这两个区间长度之 和必大于a,b的长度,也就是说,计算两次函数值一般无法
25、把长度 大于二个单位的区间缩成单位区间。但是,对于长度为两个单位的区 间,可以如图6-8(b)那样选取试点a1和b1,图中为任意小的正数,缩 短后的区间长度为1+。由于可任意选取,故缩短后的区间长度接 近于一个单位长度。由此可得F2。,图6-8,清华大学出版社,49,2.1 斐波那契(Fibonacci)法,根据同样的分析(见图6-9)可得F33,F45,F58, 序列Fn可写成一个递推公式:Fn=Fn-1+Fn-2 n2 (6-29) 利用公式(6-29),可依次算出各Fn的值,见表6-1。这些Fn就是通常所说的斐波那契数。表6-1,图6-9,清华大学出版社,50,2.1 斐波那契(Fibo
26、nacci)法,由以上讨论可知,计算n次函数值所能获得的最大缩短率 (缩短后的区间长度与原区间长度之比)为1/Fn。例如F20=10946,所以计算20个函数值即可把原长度为L的区间缩短为,的区间。,清华大学出版社,51,2.1 斐波那契(Fibonacci)法,现在,要想计算n个函数值,而把区间,的长度缩短为原来长度的,倍,即缩短后的区间长度为,则只要n足够大,能使下式成立即可:,式中为一个正小数,称为区间缩短的相对精度。有时给出区间缩短的绝对精度,即要求,显然,上述相对精度和绝对精度之间有如下关系:,清华大学出版社,52,2.1 斐波那契(Fibonacci)法,缩短区间的步骤如下: (1
27、) 确定试点的个数n。根据相对精度,即可用式(6-30)算出Fn,然后 由表6-1确定最小的n。,。,(2) 选取前两个试点的位置。 由(6-29)式可知第一次缩短时的两个试点位置分别是:,它们在区间内的位置是对称的。,图6-10,清华大学出版社,53,2.1 斐波那契(Fibonacci)法,(3) 计算函数值,和,,并比较它们的大小。,,则取,并令,否则,取,并令,若,清华大学出版社,54,2.1 斐波那契(Fibonacci)法,(4) 计算,或,(其中的一个已经算出),如第3步那样一步步迭代。,其中,计算试点的一般公式为:,清华大学出版社,55,2.1 斐波那契(Fibonacci)法
28、,(5) 当进行至,时,,这就无法借比较函数值,和,的大小以确定最终区间,为此,取,其中为任意小的数。在,和,这两点中,以函数值较小者为近似极小点,相应的函数值为近似极小值,并得最终区间,或,清华大学出版社,56,2.1 斐波那契(Fibonacci)法,例5 试用斐波那契法求函数,的近似极小点和极小值,要求缩短后的区间长度不大于区间的0.08倍。,解: 容易验证,在此区间上函数,为严格凸函数。为了进行比较,我们给出其精确解是:,已知,清华大学出版社,57,2.1 斐波那契(Fibonacci)法,查表,由于,,故取,清华大学出版社,58,2.1 斐波那契(Fibonacci)法,由于,,故取
29、,由于,,故取,清华大学出版社,59,2.1 斐波那契(Fibonacci)法,由于,,故取,现令,,则,故取,。由于,所以以,为近似极小点,近似极小值为1.751。缩短后的区间长度为,清华大学出版社,60,2.1 斐波那契(Fibonacci)法,整个计算过程如图6-11所示。,图6-11,清华大学出版社,61,2.2 0.618法(黄金分割法),同理可证,将(6-36)式代入(6-37)式得,即,从而可得,若把(6-37)式代入(6-36)式,则得,故有,清华大学出版社,62,2.2 0.618法(黄金分割法),用0.618作为区间缩短率就得到了黄金分割法,该方法可看成是斐波那 契方法的近
30、似。当用0.618法时,计算n个试点的函数值可以把原区间,连续缩短n-1次,因为每次的缩短率均为,故最后的区间长度为,这就是说,当已知缩短的相对精度为时,可用下式计算试点个数n:,当然,也可以不预先计算试点的数目n,而在计算过程中逐次加以判 断,看是否已满足了提出的精度要求。 0.618法是一种等速对称进行试探的方法,每次的试点均取在区间长度 的0.618倍和0.382倍处。,清华大学出版社,63,2.2 0.618法(黄金分割法),由上节的论述可知,当用斐波那契法以n个试点来缩短某一区间时,区间长度的第一次缩短率为,,其后各次分别为,现将以上数列分为奇数项,和偶数项,可以证明,这两个数列收敛
31、于同一个极限。假设,由于,故当 时,清华大学出版社,64,第3节 无约束极值问题的解法,本节研究无约束极值问题:min f(X) XEn (6-40) 前面曾指出,在求解上述问题时常使用迭代法。迭代法可大体分为两类。 一类要用到函数的一阶导数和(或)二阶导数,由于用到了函数的解析性质,故称为解析法; 另一类在迭代过程中仅用到函数值,而不要求函数的解析性质,这类方法称为直接法。一般说来,直接法的收敛速度较慢,只是在变量较少时才适用。但是直接法的迭代步骤简单,特别是当目标函数的解析表达式十分复杂,甚至写不出具体表达式时,它们的导数很难求得,或者根本不存在,这时解析法就无能为力了。 本节仅介绍几种常
32、用的基本方法,其中前三种属解析法,后面一种属直接法。,清华大学出版社,65,3.1 梯度法(最速下降法),1. 梯度法的基本原理,假定无约束极值问题(6-40)式中的目标函数f(X)有一阶连续偏导数,具有极小点X*。以,表示极小点的第k次近似,为了求其第k+1次近似点,,我们在,点沿方向,做射线,现将 f(X) 在,点处展成泰勒级数,其中,对于充分小的,只要,即可保证,。这时若取,就能使目标函数值得到改善。,清华大学出版社,66,3.1 梯度法(最速下降法),现考查不同的方向,。假定,的模一定(且不为零),并设,(否则,,是平稳点),使式(6-41)成立的,有无限多个。为了使目标函数值能得到尽
33、量大的改善,必须寻求使,取最小值的,。由线性代数知道,式中为向量,与,的夹角。当,与,反向时,,这时(6-41)式成立,而且其左端取最小值。我们称方向,为负梯度方向,它是使函数值下降最快的方向(在,的某一小范围内)。,清华大学出版社,67,3.1 梯度法(最速下降法),为了得到下一个近似极小点,在选定了搜索方向之后,还要确定步长 。当采用可接受点算法时,就是取某一进行试算,看是否满足不等式,若上述不等式成立,就可以迭代下去。否则,缩小使满足不等式(6-43)式。由于采用负梯度方向,满足(6-43)式的总是存在的。,另一种方法是通过在负梯度方向的一维搜索,来确定使f(X)最小的 k,这种梯度法就
34、是所谓最速下降法。,清华大学出版社,68,3.1 梯度法(最速下降法),2. 计算步骤 (1) 给定初始近似点,及精度,,若,,则,即为近似极小点。,,求步长,,并计算,求步长可用一维搜索法、微分法或试算法。若求最佳步长,则应使用前两种方法。 (3) 一般地,设已迭代到点,,若,,则,即为所求的近似解;若,,则求步长,,并确定下一个近似点,如此继续,直至达到要求的精度为止。,(2) 若,清华大学出版社,69,3.1 梯度法(最速下降法),若,具有二阶连续偏导数,在,作,的泰勒展开:,对求导并令其等于零,则得近似最佳步长,可见近似最佳步长不只与梯度有关,而且也与海赛矩阵H有关。 确定步长,也可不
35、用公式(6-45),而采用任一种一维搜索法。,的模规格化为1,在这种情况下,同时,式(6-45)变为,有时,将搜索方向,清华大学出版社,70,3.1 梯度法(最速下降法),例6 试用梯度法求,的极小点,已知,解:取初始点,清华大学出版社,71,3.1 梯度法(最速下降法),由式(6-45),故,即为极小点。,清华大学出版社,72,3.1 梯度法(最速下降法),例7 试求,的极小点。,。本例使用规格化搜索方向法。,,其迭代过程示如表6-2。,解:取初始点,现先取用固定步长,继续计算下去可以看出,,将来回振荡,难以收敛到极小点(0,0)。,为使迭代过程收敛,必须不断减小步长的值。,清华大学出版社,
36、73,3.1 梯度法(最速下降法),采用最佳步长时收敛较快,而且相邻两步的搜索方向互相垂直。下面用最佳步长进行搜索。其迭代过程列于表6-3中。,为直观起见,将上述两种迭代过程分别画于图6-12及图6-13中。,清华大学出版社,74,3.1 梯度法(最速下降法),图6-12,图6-13,清华大学出版社,75,3.1 梯度法(最速下降法),可以证明,当f(X)是具有一阶连续偏导数的凸函数时,如果由最速下降法所得的点列X(k)有界,则必有: 数列f(X(k)单调下降; 序列X(k)的极限X* 满足,X*为全局极小点。,清华大学出版社,76,3.1 梯度法(最速下降法),由于负梯度方向的最速下降性,很
37、容易使人们认为负梯度方向是理想的搜索方向,最速下降法是一种理想的极小化方法。必须指出,X点处的负梯度方向,仅在X点附近才具有这种“最速下降”的性质,而对于整个极小化过程来说,那就是另外一回事了。由例6可知,若目标函数的等值线为一族同心圆(或同心球面),则从任一初始点出发,沿最速下降方向一步即可达到极小点。,清华大学出版社,77,3.1 梯度法(最速下降法),但通常的情况并不是这样,例如,一般二元二次凸函数的等值线为一族共心椭圆,当用最速下降法趋近极小点时,其搜索路径呈直角锯齿状(图6-14)。在开头几步,目标函数值下降较快,但接近极小点X* 时,收敛速度就不理想了。特别是当目标函数的等值线椭圆
38、比较扁平时,收敛速度就更慢了。因此,在实用中,常将梯度法和其他方法联合起来应用,在前期使用梯度法,而在接近极小点时,则使用收敛较快的其他方法。,图6=14,清华大学出版社,78,3.2 共轭梯度法,1.共轭方向设X和Y是n维欧氏空间En中的两个向量,若有,就称X和Y正交。再设A为nn对称正定阵,如果X和AY正交,即有,则称X和Y关于A共轭,或X和Y为A共轭(正交)。一般地,设A为nn对称正定阵,若非零向量组,满足条件,则称该向量组为A共轭。如果A=I, 则上述条件即为通常的正交条件。因此,A共轭概念实际上是通常正交概念的推广。,清华大学出版社,79,3.2 共轭梯度法,定理8 设A为nn对称正
39、定阵,,为A共轭的非零向量,则这一组向量线性独立。,证明:设向量,之间存在如下线性关系,对,,用,左乘上式得,但,为正定,即,故必有,从而,线性独立。,清华大学出版社,80,3.2 共轭梯度法,无约束级值问题的一个特殊情形是,式中A为nn对称正定阵;X,BEn;c为常数。,问题(6-50)式称为正定二次函数极小问题,它在整个最优化问题中起着极其重要的作用。,清华大学出版社,81,3.2 共轭梯度法,定理9 设向量,,为A共轭,则从任一点X(0)出发,相继以,为搜索方向的下述算法,经n次一维搜索收敛于问题(6-50)式的极小点X*。,清华大学出版社,82,3.2 共轭梯度法,证明 由式(6-50
40、),设相继各次搜索得到的近似解分别为,,则,假定,,则有,清华大学出版社,83,3.2 共轭梯度法,由于在进行一维搜索时,为确定最佳步长,,令,故对,有,这就是说,,和n个线性独立的向量,(它们为A共轭)争叫,从而必有,即,为,的极小点,清华大学出版社,84,3.2 共轭梯度法,对定理9的解释:以二维正定二次函数的情况加以说明。 二维正定二次函数的等值线,在极小点附近可用一族共心椭圆来代表(图6-15)。显然,过椭圆族中心X*引任意直线,必与诸椭圆相交,各交点处的切线互相平行。如果在两个互相平行的方向上进行最优一维搜索,则可得f(X)在此方向上的极小点X(1)和,,此两点必为椭圆族中某椭圆与该
41、平行直线的切点,而且联结X(1)和,的直线必通过椭圆族的中心X*。,清华大学出版社,85,3.2 共轭梯度法,现从任一点,出发,沿射线,作一维搜索,,在射线,上的极小点,其中,满足,同样,从另一点,出发也沿,方向作一维搜索,可得(6-50)式中,在射线,上的极小点,其中,满足,从而,但由式(6-50),若令,则有,即,和,为A共轭。,则可得问题(6-50)式的目标函数,清华大学出版社,86,3.2 共轭梯度法,2. 正定二次函数的共轭梯度法 对于问题(6-50)式来说,由于A为对称正定阵,故存在唯一极小点X* ,满足方程组,且具有形式,如果已知某共轭向量组,由定理9可知,问题(6-50)式的极
42、小点X*可通过下列算法得到:,清华大学出版社,87,3.2 共轭梯度法,正定二次函数的共轭梯度法。 由,故有,但,故,清华大学出版社,88,3.2 共轭梯度法,任取初始近似点,,并取初始搜索方向为此点的负梯度方向,即,沿射线,进行一维搜索,得,算出,,由(6-51)式知,从而可知,和,正交。,清华大学出版社,89,3.2 共轭梯度法,和,构成一正交系,故可以在它们生成的二维子空间中寻求,。为此,可令,式中,为待定系数。欲使,与,与A共轭,由(6-55)式,必须,故,令,由此可得,清华大学出版社,90,3.2 共轭梯度法,以,为搜索方向进行最优一维搜索,可得,算出,,假定,,因,和,为A共轭,故
43、,但,故,由于,所以,即,构成一正交系。,清华大学出版社,91,3.2 共轭梯度法,现由它们生成的三维子空间中,寻求与,和,为A共轭的搜索方向,。令,式中,和,均为待定系数。由于,应与,和,为A共轭,故须,从而,清华大学出版社,92,3.2 共轭梯度法,解之得,令,,则,,于是,清华大学出版社,93,3.2 共轭梯度法,继续上述步骤,可得一般公式如下:,对于正定二次函数来说,,,由(6-55)式,由于进行的是最优一维搜索,故有,从而,清华大学出版社,94,3.2 共轭梯度法,共轭梯度法计算公式:,其中,为初始近似,,清华大学出版社,95,3.2 共轭梯度法,共轭梯度法计算步骤如下: (1) 选
44、择初始近似,,给出允许误差,(2) 计算,并用(6-59)式和(6-60)式算出,。计算步长也可使用以前介绍过的一维搜索法。,和,,则可计算其第k+1次近似,(4) 若,,停止计算,,即为要求的近似解。否则,若,,则用(6-62)式和(6-61)式计算,和,,并转向第3步。,(3) 一般地,假定已得出,清华大学出版社,96,3.2 共轭梯度法,应当指出,对于二次函数的情形,从理论上说,进行n 次迭代即可达到极小点。但是,在实际计算中,由于数 据的舍入以及计算误差的积累,往往做不到这一点。此 外,由于n维问题的共轭方向最多只有n个,在n步以后 继续如上进行是没有意义的。因此,在实际应用时,如 迭
45、代到n步还不收敛,就将X(n)作为新的初始近似,重新 开始迭代。根据实际经验,采用这种再开始的办法,一 般都可得到较好的效果。,清华大学出版社,97,3.2 共轭梯度法,例8 试用共轭梯度法求下述二次函数的极小点:,解:将f(X)化成(6-50)式的形式,得,现从,开始,由于,故,清华大学出版社,98,3.2 共轭梯度法,于是,清华大学出版社,99,3.2 共轭梯度法,故,这就是f(X)的极小点。,清华大学出版社,100,3.2 共轭梯度法,3. 非二次函数的共轭梯度法 设f(X)为某一严格凸函数,它具有二阶连续偏导数,其唯一极小点为X*。 现任取初始近似X(0),计算f(X(0),选取,为初
46、始方向,做射线,并将,于,附近做泰勒展开:,上式为的二次函数,因,,故使该二次函数沿,方向取极小值的为,显然,它近似满足,清华大学出版社,101,3.2 共轭梯度法,令,则,近似满足,现构造向量,使满足,则得,这就确定了,清华大学出版社,102,3.2 共轭梯度法,按此法可构造各次迭代的搜索方向及近似点。一般地,我们有:,这就是推广到非二次函数的共轭梯度法的计算公式。 由于在导出上述公式的过程中利用了一些近似关系,以及H(X(k)的逐次变化,使P(0),P(1),P(n-1)的共轭性遭受破坏,因而对于一般非二次函数来说,要以n步迭代取得收敛常常是不可能的。所以在实际应用时,如迭代步数kn已达到
47、要求的精度,则以X(k)作为要求的近似解。否则可将前n步作为一个循环,同时以所得到的X(n)作为新的初始近似重新开始,进行第二个循环。重复进行,直至满足要求的精度为止。,清华大学出版社,103,3.3 变尺度法,变尺度法是近30多年来发展起来的,它是求解无约束极值问题的一种有效方法。由于它既避免了计算二阶导数矩阵及其求逆过程,又比梯度法的收敛速度快,特别是对高维问题具有显著的优越性,因而使变尺度法获得了很高的声誉,至今仍被公认为求解无约束极值问题最有效的算法之一。,清华大学出版社,104,3.3 变尺度法,1. 基本原理 假定无约束极值问题的目标函数f(X)具有二阶连续偏导数,X(k)为其极
48、小点的某一近似。在这个点附近取f(X)的二阶泰勒多项式逼近,则其梯度为,这个近似函数的极小点满足,从而,其中,为f(X)在X(k)点的海赛矩阵。,清华大学出版社,105,3.3 变尺度法,如果f(X)是二次函数,则H(X)为常数阵。这时,逼近(6-67)式是准确的。在这种情况下,从任一点X(k)出发,用(6-69)式只要一步即可求出f(X)的极小点(假定H(X(k)正定)。 当f(X)不是二次函数时,(6-67)式仅是f(X)在X(k)点附近的近似表达式。这时,按(6-69)式求得的极小点,只是f(X)的极小点的近似。在这种情况下,人们常取,为搜索方向,即,清华大学出版社,106,3.3 变尺
49、度法,按照这种方式求函数f(X)的极小点的方法,称做广义牛顿法。(6-70) 式确定的搜索方向,为f(X)在点X(k)的牛顿方向。牛顿法的收敛速 度很快,当f(X)的二阶导数及其海赛矩阵的逆阵便于计算时,使用 这一方法非常有效。 问题在于,实际问题中的目标函数往往相当复杂,计算二阶导数 的工作量或者太大,或者根本不可能。况且,在X的维数很高时, 计算逆阵也相当费事。为了不计算二阶导数矩阵H(X(k),从而也不 必计算其逆阵H(X(k)-1,我们设法构造另一个矩阵 ,用它来,直接逼近二阶导数矩阵的逆阵H(X(k)-1。,清华大学出版社,107,3.3 变尺度法,下面就来研究如何构造H(X(k)-1的近似矩阵,我们要求,在每一步都能以现有的信息来确定下一个搜索方向;每做 一次迭代,目标函数值均有所下降;而且,这些近似矩阵最后应收敛 于解点处的海赛矩阵的逆阵。 当f(X)是二次函数时,其海赛矩阵为常数阵,可知其在任两点X(k)和X(k+1) 处的梯度之差等于,