资源描述:
《化工过程系统的优化2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京化工大学化学工程学院991-996班教学参考专用版权所有严禁COPY4.5化工过程中的非线性规划问题4.5.1无约束条件最优化问题的经典求解方法¶f对于一个函数f(x1,x2,K,xn)如果其所有的一阶导数¶i=12n都存在则函数f(x)的xi极小值的必要条件为¶f¶f¶f==L==0(4-22)¶x1¶x2¶xn¶2f对于满足以上方程的点成为极小值的充分条件是在这个点上所有二阶偏导数ij=1¶xi¶xj2n均存在而且其赫森矩阵为正定函数f((x)的赫森矩阵H定义为é¶2f¶2f¶2fùLê¶x2¶x1¶x2¶x1¶xnúê1úêMúH=êúêMú
2、ê222ú¶f¶f¶fêLúêë¶xn¶x1¶xn¶x2¶xn2úû如何知道H是否为正定可定义行列式为H11LLH1iMDi=i=1,2,L,nMHi1LLHii这样得到一组数值{D1,D2,L,Dn}这称为H矩阵的主子式如果所有的Di>0i=1,2,L,n则赫森矩阵H为正定的根据函数存在极小值的充分必要条件将无约束最优化问题的求解转化为下面一组非线性方程的求解ì¶f(x)=0ï¶x1ï¶f(x)ï=0í¶x2ïMï¶f(x)ï=0î¶xn其中满足¶f2¶f2¶f2()+()+L+()=0¶x1¶x2¶xn的点就是方程组的解这种经典方法存在以下缺点(1
3、)对较复杂的问题这种非线性方程组求解是相当困难的(2)由于上述条件是满足极小而不是最小所以找到的解可能是局部极值而不是全局最优值(3)这种经典方法只能用于导数连续的场合当导数不连续时不能使用然而导数不连续之处可能正好是最小值或最大值所在之处4.5.2有约束条件最优化问题的经典求解方法求解有约束条件最优化问题的方法很多这里介绍比较常用的拉格朗日乘子法和罚函数法它们的共同点在于都是将有约束最优化问题转变成无约束最优化问题(1)拉格朗日乘子法13北京化工大学化学工程学院991-996班教学参考专用版权所有严禁COPY已知目标函数f(x1,x2,L,xn)服从
4、等式约束条件ej(x1,x2,L,xn)=0j=1,2,L,m(4-23)引入拉格朗日函数f(x,l)可以将这个有约束的最优化问题转化成无约束的最优化问题mf(x,l)=f(x)+åljej(x)x=(x1,x2,L,xn)(4-24)j式中l称为拉格朗日乘子根据无约束最优化问题的求解方法只要(4-13)式中的函数f和约束ej的**一阶偏导数在所有各点均存在则只要求解下列非线性方程组就可得到最优解x和lì¶fm¶ejï+ål=0i=1,2,L,n¶xi¶xiíj=1ïîej(x1,x2,L,xn)=0j=1,2,L,m以上共n+m个方程可解出***及*
5、**个未知数x1,x2,L,xnl1,l2,L,lm例46有一个烃类催化反应器烃类进行压缩并和蒸汽先充分混合后进入反应器反应后的产物和未反应的原料通过蒸馏进行分离使未反应的原料再循环使用设原料加压所需的费用为每年100019元将原料和蒸汽混合并送入反应器的输送费用为每年´4´10元其中为操作压力为循环PR比又设分离器将产物分离所需费用为每年105R元未反应的原料进行再循环和压缩的费用每年为571.5´10R元每年的产量为10公斤(a)试求最优的操作压力P和循环比R使每年总费用为最小(b)若要求的P和R乘积为900MPa试求最优的P和R解(a)这是一个无
6、约束最优化问题目标函数为4´10955J=1000P++10R+1.5´10RPR对P和R求导数并令其为零得到¶J4´109=1000-=0¶PRP2¶J54´109=2.5´10-=0¶RPR2由此解得p=1000,R=4代入目标函数得到每年费用为6J=3´10元验证此解是否是极小值将J对P和R求二阶导数在10004点为¶2J4´109´2==2¶P2RP3¶2J4´109==250¶P¶RR2P2¶2J4´109´2==125000¶R2R3P其赫森矩阵为é2250ùH=êúë250125000û此矩阵为正定矩阵因此这一点就是极小点(b)这是一个有
7、约束的最优化问题4´1095minJ=1000P++2.5´10RPR约束条件PR=9000建立拉格朗日函数4´1095f=1000P++2.5´10R+l(9000-PR)PRf对和求导数并令其为零得14北京化工大学化学工程学院991-996班教学参考专用版权所有严禁COPYì4´1091000--lR=0ïP2Rïï54´109í2.5´10--lP=0PR2ïïPR=9000ïî求解以上三个方程得到P=1500,R=6,l=117.3按(a)的方法求f在点15006对和二阶导数同样可以证明赫森矩阵为正定因而此点也为极小点(2)罚函数法利用罚函数法
8、求解有约束最优化问题的基本思想是通过一个惩罚因子把约束条件连接到目标函数上去从而将有约束条件的