第三章优化设计方法的数学基础3-1优化设计问题的几何意义一、目标函数的等值面(线)目标函数的值是评价设计方案优劣的指标。n维变量的目标函数,其函数图象只能在n+1维空间中描述出来。当给定一个设计方案,即给定一组x1,x2,…,xn的值时,目标函数f(X)=f(x1,x2,…,xn)必相应有一确定的函数值;若给定一个f(X)值,却有无限多组x1,x2,…,xn值与之对应,也就是当f(X)=a时,X=[x1,x2,…,xn]T在设计空间中对应有一个点集。通常这个点集是一个曲面(二维是曲线,大于三维称超曲面),称之为目标函数的等值面。当给定一系列的a值,即a=a1,a2,…时,相应有f(X)=a=a1,a2,…,这样可以得到一组超曲面族——等值面族。等值面具有特性:即在一个待定的等值面上,尽管设计方案很多,但每一个设计方案的目标函数值都是相等的。•现以二维无约束最优化设计问题为例阐明其几何意义。•如图,二维目标函数f(X)=f(x1,x2)在以x1,x2和f(X)为坐标的三维坐标系空间内是一个曲面。在二维设计平面x1ox2中,每一个点X=[x1,x2]T都有一个相应的目标函数值f(X)=f(x1,x2),它在图中反映为沿f(X)轴方向的高度。若将f(X)=f(x1,x2)曲面上具有相同高度的点投影到设计平面x1ox2上,则得f(X)=f(x1,x2)=a的平面曲线,这个曲线就是符合f(X)=f(x1,x2)=a的点集,称为目标函数的等值线对于三维问题在设计空间中是等值面,高于三维的问题在设计空间中则是等值超曲面。二、约束最优解和无约束最优解•n维目标函数f(X)=f(x1,x2,…,xn),若在无约束条件下极小化,即在整个n维设计空间寻找X*=[x1*,x2*,…,xn*]T使满足minf(X)=f(X*),X∈Rn,其最优点X*、最优值f(X*)构成无约束最优解;•若在约束条件限制下极小化,即在可行域D中寻找X*=[x1*,x2*,…,xn*]T使满足minf(X)=f(X*),,其最优点X*、最优值f(X*)则构成约束最优解。约束最优解和无约束最优解,无论在数学模型还是几何意义上,两者均是不同的概念。44)(12221xxxXfnRDX设已知目标函数受约束于02)(211xxXg0)(12xXg0)(23xXg01)(2214xxXg求其最优解X*和f(X*)。•等值钱表示了目标函数值的变化情况,越向里边的代表目标函数值越小。•显然其无约束最优解为目标函数等值线同心圆中心X*(1)=[x1*(1),x2*(1)]T,f(X*(1))=0。•而其约束最优解则需在由约束线g1(X)=0,g2(X)=0,g3(X)=0,g4(X)=0组成的可行域D(阴影线里侧)内寻找使目标函数值为最小的点.由图可见约束曲线g4(X)=0与某等值线的一个切点X*(2)即为所求。•X*(2)=[x1*(2),x2*(2)]T=[0.85,1.34]T,f(X*(2))=3.80,为其约束最优解。图3-2(a)表示其目标函数和约束函数的立体图,图3-2(b)表示其平面图。显然其无约束最优解为目标函数等值线同心圆中心•二维问题关于约束最优解和无约束最优解几问意义的讨论,同样可推广到高维问题。n个设计变量X=[x1,x2,…,xn]T组成设计空间。•在这个空间中的每一个点代表一个设计方案,此时n个变量具有确定的值。•当给定目标函数某一定值时,就在n维设计空间内构成一个目标函数的等值超曲面。给定目标函数一系列数值时就获得一系列目标函数的等值超曲面。这些等值超曲面反映了目标函数变化情况。•无约束最优点为这些等值超曲面的共同中心。•对于约束最优化问题,每一个约束条件在n维设计空间是一个约束超曲面,全部约束超曲面在设计空间中构成可行域D,在其上寻找目标函数值最小的点即为约束最优点。•这一点可以是目标函数等值超曲面与某个约束超曲面的一个切点,也可以是目标函数值较小的某些约束超曲面的交点(如图所示的X*点)。三、局部最优解和全域最优解对无约束最优化问题,当目标函数不是单峰函数时,有多个极值点X*(1),X*(2),…,如图所示。此时X*(1)和f(X*(1))、X*(2)和f(X*(2))均称为局部最优解。如其中X*(1)的目标函数值f(X*(1))是全区域中所有局部最优解中的最小者,则称X*(1)和f(X*(1))和为全域最优解。对于约束最优化问题,情况更为复杂。它不仅与目标函数的性质有关,而且还与约束条件及其函数性质有关。如图3-5所示,目标函数f(X)的等值线绘于图上,有两个不等式约束g1(X)≥0,g2(X)≥0,构成两个可行域D1和D2。X*(1)、X*(2)、X*(3)分别是可行域内在某一邻域目标函数值最小的点,都是局部极小点,亦即X*(1)、f(X*(1)),X*(2)、f(X*(2)),X*(3)、f(X*(3))均称局部最优解。可知X*(3)为全域极小点,亦即X*(3)和f(X*(3))为全域最优解。优化设计总是期望得到全域最优解,但目前的优化方法只能求出局部最优解,并采取对各局部最优解的函数值加以比较、取其中最小的一个作为全域最优解。3-2函数的方向导数和梯度•为了尽快找到目标函数f(X)的极小值点,研究函数在其定义空间中的变化规律是必须的。•譬如说,若是已知在设计空间的某一点处函数的取值沿某一个方向下降得最快,于是我们就可以从该点出发,沿着这个方向去寻找函数的极小值点。•为此,这里要引用函数的方向导数和梯度。一、函数的方向导数对一元函数而言,函数的导数是描述函数相对于自变量变化快慢程度的一个量。多元函数的偏导数是描述当只有一个自变量变化,而其余自变量保持不变的情况下,函数的变化率。具有n个自变量的函数f(X)=f(x1,x2,…xn)在X(0)=[x1(0),x2(0),…xn(0)]T点的一阶偏导数记为iixXfS0,i=1,2,…,n它是一个标量。•函数的偏导数仅仅描述了函数沿其自变量所在坐标轴的特定方向上的变化率•在许多实际问题中,常常需要知道函数沿其它任一方向上的变化率。对这样的问题就要借助于函数的方向导数来描述。•函数在某一点X(0)处沿某任意指定方向S上的方向导数就是函数在X(0)处沿S方向的变化率,记为101xXfSnnxSxXfxSxXfSXf,cos,cos01100(S,xi),i=1,2,…,n为方向S相对对于坐标轴xi正方向的方向角。图示。函数f(X)在X(0)=[x1(0),x2(0)]T点的偏导数202xXfS•从同一点X(0)出发,沿不同方向的方向导数不相同。•就象爬山一样,把目标函数值看做山的海拔高度,方向导数不同犹如沿不同的路线或方向山的坡度不一样。•方向导数越大,表明沿这个方向或路线山的坡度越大。•提出问题:从X(0)点出发,可以有无穷多个方向,那么究竟哪一个方向函数f(X)的变化率最大呢?•这个问题要借助于函数的梯度来判定。00SXf00SXf00SXff(X)值在X(0)点处沿S方向是增加的;f(X)值在X(0)点处沿S方向是减少的;即方向S与f(X)的等值面相切,这时,f(X)在X(0)点处沿S方向不增也不减。二、函数的梯度•可以对方向导数作如下变换:设S0为S方的的单位向量,则S0在坐标轴上的投影为cosαi,i=1,2,…,n,这里αi=(S0,xi),即nScoscoscos21002111coscoscos,,,SXfxXfxXfxXfSXfTnn00,cosSXfSXfSXfTTnxXfxXfxXfXf,,,11•▽f(X)是一个矢量,其分量是f(X)沿各坐标轴的偏导数。该矢量与S0的方向无关,而完全由函数f(X)的性质所决定。•矢量▽f(X)的方向就是函数f(X)变化率最大的方向,且其模‖▽f(X)‖恰好是这个最大变化率的数值。•把▽f(X)矢量称为函数f(X)在给定点X(0)的梯度。•也就是说,函数f(X)的梯度方向是函数值增大最快的方向:函数f(X)在某给定点X(0)处的梯度的模等于该给定点处函数值增大变化率的数值。2112maxniiTxXfXfSXf函数梯度的性质•(l)函数f(X)在其定义空间内某一点处的方向导数等于函数在该点处的梯度在这个方向上的投影;•(2)梯度是矢量。函数在其定义空间中的某一点处,其梯度标志着函数值增加最快或最速上升的方向。•注意,这仅是指f(X)在该点附近而言,函数在其定义空间中的每一个点处都对应着一个确定的梯度向量。•负梯度方向必是函数值减小最快或最速下降的方向;•(3)在目标函数等值线或等值面上的每一点处,函数的梯度▽f(X)指向函数等值线或等值面的外法向,亦即最速上升方向;函数在与其梯度正交的方向上变化率为零;•(4)线性目标函数的梯度是一个常值向量,即在其定义空间中,其梯度处处相同;几个常用函数的梯度公式•(1)若f(X)在X(0)点有极值,则必有▽f(X(0))=0;若f(X(0))=常数=C,则有▽f(X(0))=▽C=0•(2)若f(X)=X,则▽f(X)=▽(X)=I(单位矩阵)•(3)若f(X)=BTX,则▽(BTX)=B•(4)若f(X)=QX,Q为对称方阵,则▽(QX)=Q•(5)若f(X)=XTX,则▽(XTX)=2X•(6)若Q为实对称方阵,则对f(X)=XTQX有▽(XTQX)=2QX•(7)若f(X)=(1/2)XTQX+BTX+C,C为实对称方阵,则有▽f(X)=QX+B3-3函数的Taylor展开式和Hessian矩阵•一、函数的Taylor展开式•当一元函数f(x)在点的某个邻域N内有直到(n+l)阶导数存在并连续时,则可把f(x)展成为(x-x0)的n次Taylor多项式与一个余项Rn之和nnnRxxxfnxxxfxxxfxfxf00)(200000!1''!21'nnKKKRxxxfKxf000)(!110)1()!1(1nnnxxfnRx∈N,ξ在x0与x之间取值000'xxxfxfxf200000''!21'xxxfxxxfxfxf在式中若取其前二项,即则为用直线来近似代替原函数f(x)。若取其前三项,即则为用二次抛物线来近似代替原函数f(x)。•推广到n元函数的情形。令△xi=xi-x0i,并取类似式(3-7)中的前三项,设f(X)=f(x1,x2,…,xn);X=[x1,x2,…,xn]T,且有,X(0)=[x1(0),x2(0),…,xn(0)]T,则有•f(X)=f(X(0))+{fx1′(X(0))△x1+…+fxn′(X(0))△xn}+0.5{[fx1x1″(X(0))△x12+fx1x2″(X(0))△x1△x2+…+fx1xn″(X(0))△x1△xn]+[fx2x1″(X(0))△x1△x2+fx2x2″(X(0))△x22+…+fx2xn″(X(0))△x2△xn]+…+[fxnx1″(X(0))△xn△x1+fxnx2″(X(0))△xn△x2+…+fxnxn″(X(0))△xn2]}nijinjjiiniixxxxXfxxXfXfXf11)0(21)0()0(21nijinjjiiniixxxxXfxxXfXfXf11)0(21)0()0(21用矩阵表示XXf