§.常见的数学建模方法---变分法实际问题:生产计划的制定问题工厂与客户签订了一项在某时刻提交一定数量产品的合同,在制定生产计划时要考虑生产和储存两种费用。生产费用取决于生产率(单位时间的产品数),生产率越高,费用越大;储存费用取决于已经生产出来的产品数,数量越多,费用越大。生产计划可以看作到每一时刻为止的产品累积量,它与每单位时间的产量可以互相推算。(教材p.224-p.227)建模目的(优化目标):寻求最优的生产计划,使完成合同所需的总费用(生产费用和储存费用之和)最小。建模假设:开始生产时刻记为t=0,按照合同应在t=T提交数量为Q的产品。从开始生产时刻到任何时刻t为止的产品累积数,应是这一时刻t的函数,记作x(t),这个函数即为所欲求出的生产计划。时刻t的生产率(单位时间的产品数)可以表示为x’(t)。一般而言,单位时间的生产费用应是生产率的函数,可以记作f(x’(t));TdttxgtxftxC0))](())('([))((而单位时间的储存费用是产品累积数的函数,可以记为g(x(t))。于是从t=0到t=T的总费用是:(2)单位时间的储存费与这时的产品储存量(即产品累积量)成正比.为了明确f和g的具体函数形式,作如下进一步简化的建模假设:(1)单位时间的生产费用与这时的生产率的平方成正比;.)(,0)0(,0)(*)]())('([))((0221QTxxtxdttxktxktxCT)(建模过程:由假设(1),可以有:f(x’(t))=k1(x’(t))2.由假设(2),可以有:g(x(t))=k2x(t).因此可以有于是,制定最优生产计划问题归结为在固定端点条件x(0)=0和x(T)=Q下,确定x(t)是何种具体的非负函数、使泛函C(x(t))取得极小值的问题。J=J(x(t)),x(t)∈S.S称为J的容许函数集。泛函的概念设S为一个函数集合,若对每一个函数x(t)∈S,根据一个确定的对应规律,有一个实数J与之对应,则称J=J(x(t))是定义在函数集合上的泛函,记1.设S1={x(t)│x(t)为全体在点t=0处可导的初等函数},J=J(x(t))≡x’(0),即算出函数x(t)在点t=0处的导数值。例如,J(sint)=1,J(cost)=0,J(et)=1,J(t2-3t+1)=-3等等。这个J(x(t))≡x’(0)就是定义在函数集合S1上的泛函;以前曾“学过”的泛函实例这个问题已经超出了微分学的范畴,需要用变分学的知识来求解,也就是要用变分法来建模和求解。10)())((dttxtxG即算出函数x(t)在区间[0,1]上的定积分之值。12ln2)1ln())1(ln(,1)(1010dtttGedteeGtt,1cos1sin)(sin10tdttG等等。这个10)())((dttxtxG就是定义在函数集合S2上的泛函;2.设S2={x(t)│x(t)为全体在区间[0,1]上可积的初等函数},例如,3.设S3={x(t)│x(t)为全体在区间[0,1]上连续的函数},定义)(max))((]1,0[txtxFt即算出函数x(t)在区间[0,1]上的最大值。,23)1(max)1(,max)(2]1,0[2]1,0[ttttFeeeFtttt等等。)(max))((]1,0[txtxFt就是定义在函数集合S3上的泛函。.4max)(]1,0[arctgtarctgtFt例如这个泛函也有何时取极值的问题,也就是说,当在一个容许函数集合S上定义了一个泛函J之后,问:这个泛函J在这个容许函数集合S上各个“函数点”对应得出的值中,有无最大值(或最小值)?如果泛函J的最大值(或最小值)是存在的,它在哪个“函数元素点”x0(t)处取到最大值(或最小值)?这个最大值(或最小值)等于多少?与一(多)元函数微分学中的极值理论类似,泛函取极值的问题可以用变分法(不称为微分法)来求解。类似于函数微分是函数增量的线性主部的概念,泛函有一个它规定为泛函增量的线性主部。相应的变分的概念,具体而言,给定可微(可导)函数y=f(x)及点x0,记Δx=x-x0,Δy=f(x)-f(x0),则Δy≈dy(函数的微分)这里“≈”表示等式两边的差Δy-dy=o(Δx),0lim0xdyyx即函数微分是函数增量的线性主部的概念,如记泛函自变量在x0(t)处的增量为:δx(t)=x(t)–x0(t),由它引起的泛函的增量记作ΔJ=J(x0(t)+δx(t))–J(x0(t)),如果ΔJ可以表为:ΔJ=k(x0(t))·δx(t)+r(x0(t),δx(t)),其中r是δx的高阶项,即0)())(),((lim00)(txtxtxrtx则称k(x0(t))·δx(t)为泛函J(x(t))在x0(t)处的变分,记作δJ(x0(t)).”这里“0)(tx指对一切t,x(t)-x0(t)→0或max│x(t)-x0(t)│→0.如不特别指明x0(t),用变动的x(t)代替x0(t),就有δJ(x(t)).0))]()(([))((atxatxJatxJ类似一元函数微分学中的微分与导数的关联,泛函变分的一个计算公式是在固定x(t)和δx(t)下,泛函在“点”x(t)+a∙δx(t)处可以视为参数a的函数\、在a=0处对参数a求导后的导数值:0))((txJ))(())()(()(txJtxatxJ.0))((txJ若J(x(t))在“点”x(t)处达到极大(或极小)值,则必有在该“点”处的变分为零的结论:0))]()(([0atxatxJa于是就有这是因为对任意的小参数a,总成立:这是因为此时增量ΔJ=J(x(t)+a∙δx(t))–J(x(t))所以aJaxJxaxJtxatxJaaaa000lim)()(lim))]()(([).()(])),(([lim)(0xJxxkxxaxatxrxxka=k(x(t))·(a∙δx(t))+r(x(t),a∙δx(t))0,0))(())()((0,0))(())()((aatxJtxatxJaatxJtxatxJ当当这个结论与“函数在极值点上的微分为零”的结论是十分类似的。最简单的一类可求极值的泛函,称为“最简泛函”,其形式为:)(*)(,))]('),(,([))((21StxdttxtxtFtxJtt对于上述最简泛函,它在x(t)处达到极值(极大或极小)的必要条件,0))((txJ可以化为一个关于F(t,x(t),x’(t))的具体表达形式。最简泛函21))]('),(,([))((ttdttxtxtFtxJ在x(t)处达到极值的必要条件-----函数x(t)应满足“欧拉方程”})(,)()()({*)(,))]('),(,([))((221121xtxxtxtxtxSStxdttxtxtFtxJtt可导,且其中)(设泛函在x(t)处取得极值,其中x(t)满足上述的区间端点条件:x(t1)=x1,x(t2)=x2,t1,t2,x1,x2为已知常数,F(t,x,x’)为已知解析式的三元连续可微函数。如记φ(t)=δx(t)≡Stxtxtxtx)(,)(~;)()(~按照泛函在x(t)处达到极值(极大或极小)必定有0))((txJ的关系式,故有0))]()(([0atatxJa它应满足φ(t1)=φ(t2)=0.但是dttaxtatxtFatatxJaatta00))](''),()(,([))]()(([21dtttaxtatxtFttaxtatxtFaxxtt0')]('))(''),()(,()())(''),()(,([21dtttxtxtFdtttxtxtFxttxtt)]('))('),(,([)())('),(,(['2121对右端第二项作分部积分并利用φ(t1)=φ(t2)=0,得:dttFdtdtFdtttxtxtFxttttxxtt)()()()('))('),(,('''212121于是就有:0)()))]('),(,(())('),(,([('21dtttxtxtFdtdtxtxtFxxtt因为φ(t)是任意的,所以可以推得:)(#0))]('),(,([))('),(,('txtxtFdtdtxtxtFxx上式(#)称为欧拉方程,它是泛函J(x(t))在x(t)处取得极值的必要条件,即“极值点”函数x(t)应满足欧拉方程(#)。dtttxtxtFdtdxtt)()))]('),(,((['21))]('),(,([))('),(,('txtxtFdtdtxtxtFxx因为0)()('''xtxxxxxFFtxFtxF通常这是一个关于x(t)的二阶微分方程,为了确定出一个解函数,在方程不退化的情况下,需要两个定解条件,这两个定解条件即x(t)所满足的区间端点条件:2211)(,)(xtxxtx.上面“极值点”函数x(t)应满足的欧拉方程(#)也可改写为:)]())('),(,()())('),(,(1))('),(,([))('),(,('''txtxtxtFtxtxtxtFtxtxtFtxtxtFxxxxtxx}1)1(,0)0()()({*)(,))]('),(,([min))((min10xxtxtxSStxdttxtxtFtxJ可导,且其中)(例.求变分问题:解:这里F(t,x,x’)=(x’)2+t∙x,它的欧拉方程为:0)(''2))('2())('),(,())('),(,('txttxdtdttxtxtFdtdtxtxtFxx可以解得:x(t)=t∙(t2+11)/12.例.最小旋转曲面问题求一条定义在区间[0,1]上的光滑曲线)('1)(2ydyydxyrRds由于在区间[0,1]上的微元段[x,x+dx]上,曲线y(x)绕x轴旋转而成的曲面微元ds有近似式:dxyydxydxyy22'12'1)'2(}21ey(1)1,y(0),)()({)(2exyxyYxyy且满足可导使它绕x轴旋转而成的曲面面积S为最小。所以,这个问题可以表为:变分问题:}21)1(,1)0()()({*)(,))]('),(,([min))((min210eeyyxyxyYYxydxxyxyxFxyS可导,且其中)(这里F(x,y,y’)=2)(12yy它的欧拉方程为:))('),(,())('),(,('xyxyxFdxdxyxyxFyy同时y(x)还满足:eeyy21)1(,1)0(2.0'''12yyy0'1)'1(''')'1(''112222222yyyyyyyyyy0)''1'2(1222yyyy0)''1'(122yyyy]1,0[,2)(0xchxeexyxx可以解得:这条曲线绕x轴旋转而成的曲面面积值S0比所有其它曲线y(x)Y绕x轴旋转而成的曲面面积值都要小。tTkTkQktkktx1221212444)(1322221min482kTkQTkTQkC在x(t)应满足的区间端点条件下,上面微分方程的解为这就是使总费用C(x(t))达到最小的生产计划函数,此时现在回到生产计划制定的实际问题中..)(,0)0(QTxx这里F(t,x(t),x’(t))=k1(x’(t))2+k2x(t)Fx’(t,x(t),x’(t))=2k1x’(t),故该泛函的欧拉方程是:k2–