第二章优化设计的数学基础机械设计问题一般是非线性规划问题。实质上是多元非线性函数的极小化问题,因此,机械优化设计是建立在多元函数的极值理论基础上的。机械优化设计问题分为:无约束优化约束优化无条件极值问题条件极值问题第一节多元函数的方向导数与梯度一、方向导数从多元函数的微分学得知,对于一个连续可微函数f(x)在某一点的一阶偏导数为:()kx1()kfxx2()kfxx()knfxx,,,…它表示函数f(x)值在点沿各坐标轴方向的变化率。()kx有一个二维函数,如图2-1所示。图2-1函数的方向导数其函数在点沿d方向的方向导数为0x000(0)112212211,,fxxxxfxxxxx1200limxx00001221222,,fxxxfxxxx001212coscosfxfxxx000(0)01122120,,limfxxxxfxxfxd二、二元函数的梯度对于二维函数12,fxx在0x点处的梯度000012,Txfxfxfxxx设12coscosd为d方向的单位向量,则有00Txffxdd即00Txffxdd0cos,Tfxfd三、多元函数的梯度000012,,...Tnfxfxfxfxxxx沿d方向的方向向量即00Txffxdd0cos,Tfxfd12coscos...cosnd图2-5梯度方向与等值面的关系若目标函数f(x)处处存在一阶导数,则极值点的必要条件一阶偏导数等于零,即*0fx满足此条件仅表明该点为驻点,不能肯定为极值点,即使为极值点,也不能判断为极大点还是极小点,还得给出极值点的充分条件设目标函数在点至少有二阶连续的偏导数,则*x在这一点的泰勒二次近似展开式为:第二节多元函数的泰勒展开*2*****1,112nniiijjiijiijfxfxfxfxxxxxxxxxx2222112122222122222212.....................kkknkkkknkkknnnfxfxfxxxxxxfxfxfxGxxxxxxfxfxfxxxxxx为N维函数f(x)在点()kx处的Hesse矩阵泰勒展开写成向量矩阵形式******12TTfxfxfxxxxxGxxx*0fx∵****12TfxfxxxGxxx∵*0fxfx(1)▽F(X*)=0;必要条件(2)Hesse矩阵G(X*)为正定。充分条件多元函数f(x)在处取得极值,则极值的条件为*x*x为无约束极小点的充分条件其Hesse矩阵G(X*)为正定的。则极小点必须满足***0TxxGxxx为无约束优化问题的极值条件同学考虑二元函数在处取得极值的充分必要条件。*x120fxfxfx10020xxx02221120222212xffxxxGxffxxx各阶主子式大于零例:求函数的极值22121212,425fxxxxxx第四节凸集、凸函数与凸规划前面我们根据函数极值条件确定了极小点*x则函数f(x)在附近的一切x均满足不等式*x*fxfx所以函数f(x)在处取得局部极小值,称为局部极小点。*x*x而优化问题一般是要求目标函数在某一区域内的全局极小点。函数的局部极小点是不是一定是全局极小点呢?图2-7下凸的一元函数一、凸集的线段都全部包含在该集合内,就称该点集为凸集,否则为非凸集。一个点集(或区域),如果连接其中任意两点1x2x2x凸集的性质二、凸函数函数f(x)为凸集定义域内的函数,若对任何的011x2x及凸集域内的任意两点存在如下不等式:121211fxxfxx称fx是定义在凸集上的一个凸函数。三、凸性条件1.根据一阶导数(函数的梯度)来判断函数的凸性设f(x)为定义在凸集R上,且具有连续的一阶导数的函数,则f(x)在R上为凸函数的充要条件是对凸集R内任意不同两点,不等式1x2x21211Tfxfxxxfx恒成立。2.根据二阶导数(Hesse矩阵)来判断函数的凸性设f(x)为定义在凸集R上且具有连续二阶导数的函数,则f(x)在R上为凸函数的充要条件Hesse矩阵在R上处处半正定。四、凸规划对于约束优化问题minfx..st0jgx1,2,...,jm若fxjgx都为凸函数,则此问题为凸规划。凸规划的性质:1.若给定一点,则集合0x0fxfxRx为凸集。2.可行域1,2,...,0jjmgxRx为凸集3.凸规划的任何局部最优解就是全局最优解第五节等式约束优化问题的极值条件约束优化等式约束不等式约束求解这一问题的方法消元法拉格朗日乘子法minfx..st0khx1,2,...,kl1.消元法(降维法)以二元函数为例讨论。二、拉格朗日乘子法(升维法)对于具有L个等式约束的n维优化问题*x处有**0Tdfxfxdx**10lTkkikiihdhxdxhxdxx将原来的目标函数作如下改造:1,lkkkFxfxhx拉格朗日函数待定系数新目标函数的极值的必要条件0iFx0kF例2-4用拉格朗日乘子法计算在约束条件1212,2360hxxxx的情况下,目标函数221212,45fxxxx的极值点坐标。第六节不等式约束优化问题的极值条件在工程中大多数优化问题,可表示为不等式约束条件的优化问题。有必要引出非线性优化问题的重要理论,是不等式约束的多元函数的极值的必要条件。库恩-塔克(Kuhn-Tucker)条件一、一元函数在给定区间上的极值条件一元函数f(x)在给定区间[a,b]上的极值问题,可以写成下列具有不等式约束条件的优化问题:minfx..st10gxax20gxxb拉格朗日乘子法,除了可以应用于等式的极值问题,还可以用于不等式的极值问题。需引入松弛变量,将不等式约束变成等式约束。设a1和b1为两个松弛变量,则上述的不等式约束可写为:2211111,0hxagxaaxa2221211,0hxbgxbxbb则该问题的拉格朗日函数1112111221,,,,,,Fxabfxhxahxb221121fxaxaxbb1020根据拉格朗日乘子法,此问题的极值条件:1212120dgdgFfdfxxdxdxdx11120Fbb11120Faa221212,0Fhxbgxb211111,0Fhxagxa由110a110,0a110,0a10gxax(起作用约束)10gxax(不起作用约束)同样,来分析起作用何不起作用约束。210b2gx因此,一元函数在给定区间的极值条件,可以表示为:12120dgdgdfdxdxdx220gx110gx1020多元库恩-塔克条件1212120dgdgdfdfdxdxdxdx分析极值点在区间的位置,有三种情况*x当*axb时,此时120,则极值条件为*0dfxdx当*xa时,此时120,0则极值条件为10dfdx即*0dfxdx当*xb时,此时120,0,则极值条件为20dfdx*0dfxdx即从以上分析可以看出,对应于不起作用的约束的拉格朗日乘子取零值,因此可以引入起作用约束的下标集合。0,1,2jgxjJxj一元函数在给定区间的极值条件,可以改写为:极值条件中只考虑起作用的约束和相应的乘子。000jjjJjjdgdfdxdxgxjJjJ二、库恩-塔克条件仿照一元函数给定区间上极值条件的推导过程,可以得到具有不等式约束多元函数极值条件:**101,2,...,01,2,...,01,2,...,mjjjiijjjdfxdgxindxdxgxjmjm用起作用约束的下标集合表示***01,2,...,00jjjJiijjdfxdgxindxdxgxjJjJ用梯度形式表示,可得**0jjjJfxgx或**jjjJfxgx库恩-塔克条件的几何意义:在约束极小点处,函数的负梯度一定能表示成所有起作用约束在该点梯度的非负线性组合。下面以二维问题为例,说明K-T条件的几何意义从图中可以看出,*fx*1gx*2gx处在和角锥之内,即线性组合的系数为正,是在*x取得极值的必要条件。三、库恩-塔克条件应用举例若给定优化问题的数学模型为22122minfxxx..st211210gxxx223100gxxgxx***01,2,...,00jjjJiijjdfxdgxindxdxgxjJjJK-T条件