马永奎Yk_ma@hit.edu.cn郑黎明zheng@hit.edu.cn数学建模方法第1章单变量的最优化概述解决最优化问题是数学的一些最常见的应用。–列举例子,例如取得最好的成绩,达到最小的消耗,在一定目标下使成本最低等等。共同的数学模式:有一个或者多个可以控制的变量,控制这些变量(实际中受限),达到最优结果。1.1五步法概要介绍数学建模的一般过程-五步法。(以典型的单变量极大-极小化问题为例)–一头猪重200磅,每天增重5磅,饲养花费45美分/天,猪的市场价格65美分/磅,但每天下降1美分,求猪的最佳出售时间。解决问题的数学建模分五个步骤:1.1五步法–1.提出问题–2.选择建模方法–3.推导模型的数学表达式–4.求解模型–5.回答问题1提出问题用数学语言对问题的描述和表达–首先列出整个问题涉及的变量(包含单位)–写出所做的假设,并给出已知(或假设)的变量之间的关系(等式或者不等式)–用明确的数学语言写出问题的目标的表达式。1.提出问题例1.1中的全部变量包括:–猪的重量w(磅)–从现在到售出经历的时间t(天)–t天内养猪的花费C(美元)–猪的市场价格p(美元/磅)–售出生猪所获得的收益R(美元)–最终获得的净收益P(美元)–其他常量:如猪的初始重量(200磅)1.提出问题列出关系式其他的假设5()=200+t磅磅磅天天p0.01()=-t美元0.65美元美元天磅磅磅天(C)=t0.45美元美元天天1.提出问题()=Rp美元美元磅磅(P)=(R)-(C)美元美元美元此外要假设t≥0,我们的目标是:求净收益P的最大值1.提出问题-说明变量、假设、目标无特定顺序检验完整性的方法是检查最终目标函数是否能写成t的函数:可以从最显而易见的部分开始(P)=(R)-(C)5200+tt美元美元美元p美元磅0.45美元磅天天磅天天售猪问题的第一步结果变量:t=时间(天)w=猪的重量(磅)p=猪的价格(美元/磅)C=饲养t天的花费(美元)R=售出猪的收益(美元)P=净收益(美元)假设t0w=200+5tP=0.65-0.01tC=0.45tR=pwP=R-c目标:求P的最大值2.选择建模方法已有用数学语言表述的问题然后需要选择数学方法来求解–许多问题都可以表示成一个已有有效的一般求解办法的标准形式–应用数学领域的多数研究都包含确定问题的一般类别,并提出解决该类问题的有效方法。在这一领域有许多文献,并且不断取得许多新的进展,一般很少有学生对选择较好的建模方法有经验或熟悉文献,本书,除极少的例外,都会给出所用的建模方法。–例1.1定位为单变量最优化问题,或者极大-极小化问题。2.选择建模方法概述选定的建模方法–给定定义在实轴的子集S上的实值函数y=f(x).设f在S的某一内点x是可微的,若f在x达到极大或者极小,则f‘(x)=0。这一结论是微积分中的一个定理,只要f‘(x)=0的点不是太多,这个方法就很有效。3.推导模型的数学表达式把第一步得到的问题应用于第二部,写成所选建模方法的标准形式,以便于我们运用标准的算法过程求解。如果所选的建模方法通常采用一些特定的变量名,比如我们这个例子,那么就把问题中的变量名修改成建模方法中常用的变量名即可。3.推导模型的数学表达式–令y=P是最大化的目标变量,x=t是自变量。我们的问题现在化为在集合S={x:x≥0}上求下面函数的最大值0.45(0.650.01)20050.45PRCpwtttt(0.650.01)20050.45yfxxxx4.利用第二步确定的标准过程求解–在我们的例子中是对式子y=f(x)在区间x≥0上就最大值,图1-2给出了f(x)的曲线。由于f关于x是二次的,因此这是一条抛物线。–那么在x=8处,f‘(x)=0。由于f在区间(-∞,8)上是递增的,在(8,+∞)是递减的。所以x=8是全局最大值点,并有y=f(8)=133.28'10xfx5.回答第一步中提出的问题何时售猪可以达到最大收益我们数学模型得到的答案是在8天之后,可以获得净收益133.20美元。–只要第一步中的假设成立,得到的结果就是正确的。–由于我们处理的是一个实际问题,在第一步中会存在一个风险因素存在,因此通常有必要研究集中可供选择的方案,这一过程称为灵敏性分析。五步法归纳第一步,提出问题–列出问题中涉及的变量,包括适当的假设。–注意不要混淆变量和常量–列出你对变量所做的全部假设,包括等式和不等式–检查单位从而保证你的假设有意义–用准确的数学术语给出问题的目标第二步,选择建模方法–选择解决问题的一个一般的求解方法–一般地,这一步的成功需要经验,技巧和熟悉相关文献–在本书中,我们通常会给定要用的建模方法五步法归纳第三步,推导模型的数学表达式–将第一步中得到的问题重新表达成第二部选定的建模方法所需的形式–可能需要将第一步中的一些变量名改成与第二步中所用的记号一致–记下任何补充假设,这些假设是为了使第一步中描述的问题与第二步中选定的数学结构相适应而做出的。第四步,求解模型–将第二步中所选的一般求解过程应用于第三步得到表达式的特定问题–注意数学推导,检查是否有错误,答案是否有意义–采用适当的技术,计算机代数系统,图形工具、数值计算软件等,扩大结题范围,减少错误。五步法归纳第五步,回答问题–用非技术性语言将第四步的结果重新表述–避免数学符号和术语–能理解最初提出的问题的人就应该能理解你给出的解答现在养成使用五步法的习惯,今后就会比较容易解决我们遇到的更为复杂的建模问题。在实际中,仅结果正确是不够的,你还需要把你的结论与他人交流的能力,其中有些人可能并不像你一样了解那么多的数学知识。1.2灵敏性分析上一节概要介绍了数学建模的五步法,整个过程从对问题做出一些假设开始。我们很少能保证这些假设都是完全正确的。因此我们需要考虑所得结果对每一条假设的敏感程度。这种灵敏性分析是数学建模中的一个重要方面。具体内容与所用的建模方法有关。因此关于灵敏性分析的讨论会在本书中贯穿始终。1.1五步法一头猪重200磅,每天增重5磅,饲养花费45美分/天,猪的市场价格65美分/磅,但每天下降1美分,求猪的最佳出售时间。这个过程什么是假设的条件?哪些可能会不准确?哪些数据更可靠一些?可靠的数据生猪的重量现在猪的售出价格每天饲养的花费不确定的因素价格的下降(上升)率–记r为价格的下降率。我们前面假设r=0.01美元/天,现在假设r的实际值是不同的。–对几个不同的r值重复前面的求解过程,我们会对问题的解关于r的敏感程度有所了解。售猪时间x关于价格的下降率r的灵敏性r(美元/天)X(天)r(美元/天)X(天)0.00815.00.0115.50.00911.10.0123.30.108.00.0080.00850.0090.00950.010.01050.0110.01150.012246810121416x(天)r(美元/天)对灵敏性的更系统的分析是将r作为未知的参数,仍按照前面的步骤求解,写出价格收益求导()(0.65)20050.45yfxrxxx0.65prt'2255007()5rxrfx令只要x≥0,即只要,最佳售猪时间就由上式给出。'7500()025rfxxr推出00.014r不确定的因素猪的生长率–原来假设g=5磅/天,更一般地,我们可以假设–从而有公式–于是200wgt()(0.650.01)2000.45fxxgxx'254913()100gxgfx'513g49()02gfxx令推出只要有(1-3)式计算出的x值是非负的,最佳售猪时间就由上式给出。图1-6给出了最佳售猪时间和生长率g之间的关系。将灵敏性数据表示成相对该变量或百分比的形式,要比表示成绝对该变量的形式更自然也更实用。例如,r的10%的下降导致了x的39%的增加,而g的10%的下降导致了x的34%的下降。如果x的改变量为Δx,则x的相对该变量为Δx/x,百分比该变量为100Δx/x。如果r改变了Δr,导致x有Δx的该变量,则相对该变量的比值为Δx/x与Δr/r的比值。令Δr→0,按照导数的定义,我们有:我们称这个极限值为x对r的灵敏性,记为S(x,r)在售猪问题中,我们在点r=0.01和x=8得到:因此表明若r增加2%,则x下降7%。//xxdxrrrdrx27280025dxdrr0.017,280082dxrSxrdrx由于表明,猪的生长率增加1%,会导致要多等待大约3%的时间再出售。22454.92dxdgg5,4.93.06258dxgSxgdgx灵敏性的分析要有较好的判断力,通常既不可能对模型中的每一个参数都计算灵敏性系数,也没有这种特殊的要求。我们需要选择那些有交大不确定性的参数进行灵敏性的分析。对灵敏性系数的解释还要依赖于参数的不确定程度。主要问题是数据的不确定程度影响我们答案的置信度。在这个售猪问题总,我们通常认为猪的生长率g比价格下降率r更可靠,如果我们观察了猪或者其他类似动物在过去的生长情况,则g有25%的误差会是很不寻常的,但对于r的估计有25%的误差则不足为奇。