第一章 数学建模概论.doc
第一章 数学建模概论随着计算机的不断更新和科学技术的迅猛发展.数学的应用已不再局限于传统的物理领域,而逐步深入到人类活动的各个方面.生物、医学、社会、经济,各学科、各行业都涌现现出大量的实际课题,急待人们去研究、去解决.应用数学知识去研究和和解决实际问题,遇到的第一项工作就是建立恰当的数学模型.从这一意义上讲,可以说数学建模是一切科学研究的基础.没有一个较好的数学模型就不可能得到较好的研究结果,所以,建立一个较好的数学模型乃是解决实际问题的关键之一。1.1数学模型与数学建模原型和模型 原型(Prototype)和模型(Model)是一对对偶体.原型是指人们在现实世界里关心、研究或从事生产、管理的实际对象.在科技领域通常使用系统(System)、过程(Process)等词汇,如机械系统、电力系统、生态系统、生命系统、社会经济系统,又如钢铁冶炼过程、导弹飞行过程、化学反应过程、污染扩散过程、生产销售过程、计划决策过程等.本书所述的现实对象、研究对象、实际问题等均指原型.模型则指为了某个特定目的将原型的某一部分信息简缩、提炼而构造的原型替代物.这里特别强调构造模型的目的性.模型不是原型原封不动的复制品,原型有各个方面和各种层次的特征,而模型只要求反映与某种目的有关的那些方面和层次. 一个原型,为了不同的目的可以有许多不同的模型.如放在展览厅里飞机模型应该在外形上逼真,但不一定会飞.而参加航模竞赛的模型飞机要有良好的飞行性能,在外观上不必苛刻.至于在飞机设计、试制过程中用到的数学模型和计算机模拟,则只要求在数量规律上真实反映飞机的飞行动态特性,毫不涉及飞机的实体.所以模型的基本特征是由构造模型的目的决定的.我们已经看到模型有各种形式.按模型替代原型的方式来分类,模型可分为物质模型(形象模型)和理想模型(抽象模型).前者包括直观模型、物理模型等,后者包括思维模型、符号模型、数学模型等.直观模型 指那些供展览用的实物模型,以及玩具、照片等,通常是把原型的尺寸按比例缩小或放大,只要追求外观上的逼真.物理模型 只要指科技工作者为一定目的根据相似原理构造的模型,它不仅可以显示原型的外形或某些特征,而且可以用来进行模拟实验,间接地研究原型的某些规律.如波浪水箱中的舰艇模型用来模拟波浪冲击下舰艇的航行性能,风洞中的飞机模型用来试验飞机在气流中的空气动力学特性.有些现象直接用原型研究非常困难,更可借助与这类模型,如地震模拟装置、核爆炸反应模拟设备等.应注意验证原型与模型之间的相似关系,以确认模拟实验结果的可靠性.物理模型常可得到实用上很有价值的结果,但也存在成本高、时间长、不灵活等缺点.思维模型 指通过人们对原型的反复认识,将获取的知识以经验形式直接贮存于人脑中,从而可根据思维或直觉作出相应的决策.如汽车司机对方向盘的操纵、一些技艺较强的工种(如钳工)的操作,大体上是靠这类模型进行的.通常说的某些领导者凭经验作决策也是如此.思维模型便于接受,也可以在一定的条件下获得满意的结果,但是它往往带有模糊性、片面性、主观性、偶然性等缺点,难以对它的假设条件进行检验,并且不便于人们的相互沟通.符号模型 是在一些约定或假设下借助于专门的符号、线条等,按一定形式组合起来描述原型.如地图、电路图、化学结构等,具有简明、方便、目的性强及非量化等特点.本书要专门讨论的数学模型则是由数字、字母或其它数学符号组成,描述现实对象数量规律的数学公式、图形或算法.什么是数学模型 其实你早在学习初等代数的时候就已经碰到过数学模型了.当然其中许多问题是老师为了教会学生知识而人为设置的.譬如你一定解过这样的“航行问题”:甲乙两地相距750km,船从甲到乙顺水航行需30h,从乙到甲逆水航行需50h,问船速、水速各若干?用分别代表船速、水速,可以列出方程 ,实际上,这组方程就是上述航行问题的数学模型.列出方程,原问题已转化为纯粹的数学问题.方程的解=20km/h,=5km/h,最终给出了航行问题的答案.当然,真正实际问题的数学模型通常要复杂得多,但是建立数学模型的基本内容已经包含在解这个代数应用题的过程中了.那就是:根据建立数学模型的目的和问题的背景作出必要的简化假设(航行中设船速和水速为常数);用字母表示待求的未知量(代表船速和水速);利用相应的物理或其它规律(匀速运动的距离等于速度乘以时间),列出数学式子(二元一次方程);求出数学上的解答(=20,=5);用这个答案解释原问题(船速和水速分别为20km/h和5km/h);最后还要用实际现象来验证上述结果.现实对象的解答数学模型验证求解数学模型的解答解释现实对象的信息表述图1 数学建模的全过程一般地说,数学模型可以描述为,对于现实世界的一个特定对象,为了一个特定目的,根据特有的内在规律,做出一些必要的简化假设,运用适当的数学工具,得到的一个数学结构.而建立数学模型的全过程称为数学建模,它包括模型的建立、求解、分析和检验的全过程.从实际问题到数学模型,由从数学模型的求解结果回到现实对象,数学建模的全过程可以表示为图1. 图1 揭示了现实对象和数学模型的关系.一方面,数学模型是将现象加以归纳、抽象的产物,它源于现实,又高于现实.另一方面,只有当数学建模的结果经受住现实对象的检验时,才可以用来指导实际,完成实践理论实践这一循环.1.2数学建模的基本方法和步骤为了更清楚地说明数学建模的基本方法和步骤,让我们来看两个具体实例.例1 商人们怎样安全过河三名商人各带一个随从乘船渡河,一只小船只能容纳二人.由于他们自己划行.随从们密约, 在河的任一岸, 一旦随从的人数比商人多, 就杀人越货.但是如何乘船渡河的大权掌握在商人们手中.商人们怎样才能安全渡河呢?对于这类智力游戏经过一番思索是可以找出解决办法的.这里用数学模型求解,一是为了给出检模的示例,二是因为这类模型可以解决相当广泛的一类问题,比逻辑思索的结果容易推广.由于这个虚拟的问题已经理想化了,所以不必再作假设. 安全渡河问题可以视为一个多步决策过程.每一步, 即船由此岸驶向彼岸或从彼岸驶回此岸,都要对船上的人员(商人、随从各几人)作出决策,在保证安全的前提下(两岸的随从数都不比商人多),在有限内使全部人员过河.用状态(变量)表示某一岸的人员状况,决策(变量) 表示船上的人员状况,可以找出状态随决策变化的规律.即问题转化为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到渡河的目标.模型构成 记第次渡河前此岸的商人数为,随从数为,.将二维向量定义为状态. 安全渡河条件下的状态集合称为允许状态集合,记作. (1)不难验证, 对此岸和彼岸都是安全的.记第次渡船上的商人数为,随从数为,将二维向量定义为决策. 允许决策集合记作,由小船的容量可知 (2)因为为奇数时船从此岸驶向彼岸, 为偶数时船由彼岸驶回此岸,所以状态随决策变化的规律是 (3)(3)式称状态转移规律.这样,制订安全渡河方案归结为如下的多步决策模型:求决策,使状态按转移规律(3),由初始状态经有限步到达状态.x332211Od1yd1d1d1d1d1d1d1d1d1d1图2 安全渡河问题的图解法模型求解 根据(1)(3)式编一段程序用计算机求解上述多步决策问题是可行的.不过对于商人和随从人数不大的简单状况,用图解法解这个这个模型更为方便.在平面坐标系上画出图2那样的方格,方格点表示状态,允许状态集合是用圆点标出的10个格子点. 允许决策是沿方格线移动1或2格, 为奇数时向左、下方移动, 为偶数时向右、上方移动.要确定一系列的使由经过那些圆点最终移至原点(0,0).图2给出了一种移动方案,经过决策,最终有.这个结果很容易翻译成渡河的方案.评注 这里介绍的是一种规格化的方法,所建立的多步决策模型可以用计算机求解,从而具有推广的意义.例2 汽车刹车距离美国的某些司机培训课程中的驾驶规则:正常驾驶条件下车速每增10英里/小时,后面与前面一辆车的距离应增加一个车身的长度.又云,实现这个规则的一种简便办法是所谓“2秒准则” ,即后车司机从前车经过某一标志开始默数2秒钟后到达同一标志,而不管车速如何.试判断 “2秒准则” 与 上述规则是一样的吗,这个规则的合理性如何,是否有更好的规则.问题分析 制订这样的规则是为了在后车急刹车情况下不致撞上前车,即要确定汽车的刹车距离. 刹车距离显然与车速有关,先看看汽车在10英里/小时(约16km/h)的车速下2秒钟行驶多大距离.容易计算这个距离为: 10英里/小时5280英尺/英里1小时/3600秒2秒=29.33英尺(=8.94m),远大于一个车身的平均长度15英里(=4.6m),所以“2秒准则” 与 上述规则并不一样.为判断规则的合理性,需要对刹车距离作较仔细的分析.刹车距离是由反应时间和车速决定,反应时间取决于司机个人状况(灵巧、机警、视野等)和制动系统的灵敏性(从司机脚踏刹车板到制动器真正起作用的时间),对于一般规则可以视反应时间为常数,且在这段时间内车速尚未改变.制动距离与制动器作用力(制动力)、车重、车速以及道路、气候等因素有关,制动器是一个能量耗散装置,制动力作的功被汽车动能的改变所抵消.设置制动器的一个合理原则是,最大制动力大体上与车的质量成正比,使汽车的减速度基本上是常数,这样,司机和乘客少受剧烈的冲击.至于道路、气候等因素,对于一般规则又可以看作是固定的.模型假设 基于上述分析,作以下假设:1) 刹车距离等于反应距离与制动距离之和.2) 反应距离与车速成正比,比例系数为反应时间.3) 刹车时使用最大制动力,作的功等于汽车动能的改变,且与车的质量成正比.模型建立 由假设2, (1)由假设3,在作用下行使距离作的功使车速从变成0,动能的变化为, 有=, 又,由牛顿第二定律知,刹车时的减速度为常数,于是 (2)其中为比例系数,实际上.由假设1,刹车距离为 (3)为了将这个模型用于实际,需要知道其中的参数和.通常有经验估计和数据拟合两种方法,这里我们采用反应时间的经验估计值(按多数人平均计)0.75秒,而利用交通部门提供的一组刹车距离的实际数据(表1)来拟合.车速(英里/小时) (英尺/秒)实际刹车距离(英尺)计算刹车距离(英尺)刹车时间(秒)2029.342(44)43.91.53044.073.5(78)82.51.84058.7116(124)132.12.15073.3173(186)192.22.56088.0248(268)263.83.070102.7343(372)346.53.680117.3464(506)439.54.3表1 车速和刹车距离(第3列括号内是最大值) 利用表1的第2,3列数据和=0.75秒,可以得到模型(3)中=0.06,于是 (4)表1第4列是按(4)式计算的刹车距离,图3给出了实际刹车距离和计算刹车距离的比较,表1最后一列刹车时间是按最大刹车距离(第3列括号内)计算的. 模型应用 按照上述模型可以将所谓“2秒准则”修正为“秒准则”, 即后车司机从前车经过某一标志开始默数秒钟后到达同一标志, 由表2给出.车速(英里/小时)010104040606080(秒)1234表2 修正后的“秒准则”从上面的例子可以看到,数学建模面临的实际问题是多种多样的,建模的目的不同、分析的方法不同、采用的数学工具不同,所得模型的类型也不同,我们不能指望归纳出若干条准则,适用于一切实际问题的数学建模方法.下面所谓基本方法不是针对具体问题而是从方法论的意义上讲的.数学建模的基本方法 一般说来建模方法大体上可分为机理分析和测试分析两种.机理分析是根据对客观事物特性的认识,找出反映内部机理的数量规律,建立的模型常有明确的物理或现实意义.前面的几个例子都是用的机理分析.测试分析将研究对象看作一个“黑箱”系统(意思是它的内部机理看不清楚),通过对系统输入、输出数据的测量和统计分析,按照一定的准则找出与数据拟合得最好的模型.面对一个实际问题用哪一种方法建模,主要取决于人们对研究对象的了解程度和建模目的.如果掌握了一些内部机理的知识,模型也要求具有反映内在特征的物理意义,建模就 以机理分析为主.而如果对象的内部规律基本上不清楚,模型也不需要反映内部特性(例如仅用于对输出作预报),那么就可以用测试分析.对于许多实际问题还常常将两种方法结合起来建模,即利用机理分析建立模型的结构,用测试分析确定模型的参数.例建立的模型就是这种情况.数学建模的一般步骤建模要经过哪些步骤并没有一定的模式,通常与问题性质、建模目的等有关.下面介绍的是机理分析方法建模的一般过程,如图3所示.模型准备模型假设模型构成模型分析模型求解模型检验模型应用 图3 数学建模步骤示意图模型准备 了解问题的实际背景,明确建模目的,搜集必要的信息如现象、数据等,尽量弄清对象的主要特征,形成一个比较清晰的“问题”,由此初步确定用哪一类模型.情况明才能方法对.在模型准备阶段要深入调查研究,虚心向实际工作者请教,尽量掌握第一手资料.模型假设 根据对象的特征和建模目的,抓住问题的本质,忽略次要因素,作出必要的、合理的简化假设.对于建模的成败这是非常重要和困难的一步.假设作得不合理或太简单,会导致错误的或无用的模型;假设作得过分详细,试图把复杂对象的众多因素都考虑进去,会使你很难或无法继续下一步的工作.常常需要在合理与简化之间作出恰当的折衷.通常,作假设的依据,一是出于对问题内在规律的认识,二是来自对现象、数据的分析,以及二者的综合.想象力、洞察力、判断力,以及经验,在模型假设中起着重要作用.模型构成 根据所作的假设,用数学的语言、符号描述对象的内在规律,建立包含常量、变量等的数学模型,如优化模型、微分方程模型、差分方程模型、图的模型等.这里除了需要一些相关学科的专门知识外,还常常需要较为广泛的应用数学方面的知识.要善于发挥想象力,注意使用类比法,分析对象与熟悉的其它对象的共性,借用已有的模型.建模时还应遵循的一个原则是:尽量采用简单的数学工具,因为你的模型总是希望更多的人了解和使用,而不是只供少数专家欣赏.模型求解 可以采用解方程、画图形、优化方法、数值计算、统计分析等各种数学方法,特别是数学软件和计算机技术.模型分析 对求解结果进行数学上的分析,如结果的误差分析、统计分析、模型对数据的灵敏性分析、对假设的强健性分析等.模型检验 把求解和分析结果翻译回到实际问题,与实际的现象、数据比较,检验模型的合理性和适用性.如果结果与实际不符,问题常常出在模型假设上,应该修改、补充假设,重新建模,如图3中的虚线所示.这一步对于模型是否真的有用非常关键,要以严肃认真的态度对待.有些模型要经过几次反复,不断完善,直到检验结果获得某种程度上的满意.模型应用 应用的方式与问题性质、建模目的及最终的结果有关,一般不属于本书讨论的范围.应当指出,并不是所有问题的建模都要经过这些步骤,有时各步骤之间的界限也不那么分明,建模时不要拘泥于形式上的按部就班,本书的实例就采用了灵活的表述形式。1.3数学模型的特点和分类数学建模是利用数学工具解决实际问题的重要手段,得到的模型有许多优点,也有一些弱点.下面归纳出数学模型的若干特点,以期读者在学习过程中逐步领会.数学模型的特点模型的逼真性和可行性 一般说来总是希望模型尽可能逼近研究对象,但是一个非常逼真的模型在数学上常常是难于处理的,因而不容易达到通过建模对现实对象进行分析、预报、决策或者控制的目的,即实用上不可行.另一方面,越逼真的模型常常越复杂,即使数学上能处理,这样的模型应用时所需要的“费用”也相当高,而高“费用”不一定与复杂模型取得的“效益”相匹配.所以建模时往往需要在模型的逼真性与可行性, “费用” 与“效益”之间作出折衷和抉择.模型的渐进性 稍微复杂一些的实际问题的建模通常不可能一次成功,要经过上一节描述的建模过程的反复迭代,包括由简到繁,也包括删繁就简,以获得越来越满意的模型.在科学发展过程中随着人们认识和实践能力的提高,各门学科中的数学模型也存在着一个不断完善或者推陈出新的过程.从19世纪力学、热学、电学等许多学科由牛顿力学的模型主宰,到20世纪爱因斯坦相对论模型的建立,是模型渐进性的明显例证.模型的强健性 模型的结构和参数常常是由模型假设及对象的信息如观测数据确定的,而假设不可能太准确,观测数据也是允许有误差的.一个好的模型应该具有下述意义的强健性:当模型假设改变时,可以导出模型结构的相应变化;当观测数据有微小改变时,模型参数也只有相应的微小变化.模型的可转移性 模型是现实对象抽象化、理想化的产物,它不为对象的所属领域所独有,可以转移到另外的领域.在生态、经济、社会等领域内建模就常常借用物理领域中的模型.模型的这种性质显示了它的应用的极端广泛性.模型的非预制性 虽然已经发展了许多应用广泛的模型,但实际问题是各种各样、变化万化的,不可能要求把各种模型做成预制品供你在建模是使用.模型的这种非预制性使得建模本身常常是事先没有答案的问题.在建立新的模型的过程中甚至会伴随着新的数学方法或数学概念的产生.模型的条理性 从建模的角度考虑问题可以促使人们对现实对象的分析更全面、更深入、更具条理性,这样即使建立的模型由于种种原因尚未达到实用的程度,对问题的研究也是有利的.模型的技艺性 建模的方法与其他一些数学方法如方程解法、规划问题解法等是根本不同的,无法归纳出若干条普遍适用的建模准则和技巧.有人说,建模目前与其说是一门技术,不如说是一种艺术,是技艺性很强的技巧.经验、想象力、洞察力、判断力以及直觉、灵感等在建模过程中起的作用往往比一些具体的数学知识更大.模型的局限性 这里有几方面的含义.第一,由数学模型得到的结论虽然具有通用性和精确性,但是因为模型是现实对象简化、理想的产物,所以一旦将模型的结论应用于实际问题,就回到了现实世界,那些被忽视、简化的因素必须考虑,由于结论的通用性和精确性只是相对的和近似的.第二,由于人们认识能力和科学技术包括数学本身发展水平的限制,还有不少实际问题很难得到有着实用价值的数学模型.如内部机理复杂、影响因素众多、测量手段不够完善、技艺性较强的生产过程,像生铁冶炼过程,常常需要开发专家系统,与建立数学模型相结合才能获得较满意的应用效果. 专家系统是一种计算机软件系统,它总结专家的知识和经验,模拟人类的逻辑思维过程,建立若干规则和推理途径,主要是定性地分析各种实际现象并作出判断.专家系统可以看成计算机模拟的新发展.第三,还有些领域中的问题今天尚未发展到用建模方法寻求数量规律的阶段,如中医诊断过程,目前所谓计算机辅助诊断也是属于总结著名中医的丰富临床经验的专家系统.数学模型的分类数学模型可以按照不同的方式分类,下面介绍常用的几种.1.按照模型的应用领域(所属学科)分.如人口模型、交通模型、环境模型、生态模型、城市规划模型、水资源模型、再生资源利用模型、污染模型等.范畴更大一些则形成许多边缘学科如生物数学、医学数学、地质数学、数量经济学、数学社会学等.2.按照建立模型的数学方法(或所属数学分支)分.如初等模型、几何模型、微分方程模型、统计回归模型、数学规划模型等.3.按照模型的表现特征又有几种分法:确定性模型和随机性模型 取决于是否考虑随机因素的影响.近几年来随着数学的发展,又有所谓突变性模型和模糊性模型.静态模型和动态模型 取决于是否考虑时间因素引起的变化.线性模型和非线性模型 取决于模型的基本关系,如微分方程是否是线性的.离散模型和连续模型 指模型中的变量(主要是时间变量)取为离散还是连续的.虽然从本质上讲大多数实际问题是随机性的、动态的、非线性的,但是由于确定性、静态、线性模型容易处理,并且往往可以作为初步的近似来解决问题,所以建模时常先考虑确定性、静态、线性模型.连续模型便于利用微积分方法求解析解,作为理论分析,而离散模型便于在计算机上作数值计算,所以用哪种模型要看具体问题而定.在具体的建模过程中将连续模型离散化,或将离散变量视作连续的,也是常采用的方法.4.按照建模目的分.有描述模型、预报模型、优化模型、决策模型、控制模型等.5.按照对模型结构的了解程度分.有所谓白箱模型、灰箱模型、黑箱模型.这是把研究对象比喻成一只箱子里的机关,要通过建模来揭示它的奥妙.白箱主要包括用力学、热学、电学等一些机理相当清楚的学科描述的现象以及相应的工程技术问题,这方面的模型大多数已经基本确定,还需深入研究的主要是优化设计和控制等问题了. 灰箱主要指生态、气象、经济、交通等领域中机理尚不十分清楚的现象,在建立和改善模型方面都还不同程度地有许多工作要做.至于黑箱则主要指生命科学和社会科学等领域中一些机理(数量关系方面)很不清楚的现象.有些技术工程问题虽然主要基于物理、化学原理,但由于因素众多、关系复杂和观测困难等原因也常作为灰箱或黑箱模型处理.当然,白、灰、黑之间并没有明显的界限,而且随着科学技术的发展,箱子的“颜色”必然是逐渐由暗变亮的.习 题1. 怎样解决下面的实际问题。包括需要那些数据资料,要作些什么观察、试验及建立什么样的数学模型等。(1)估计一个人体内血液的总量。(2)为保险公司制定人寿保险金计划(不同年龄的人应缴纳的金额和公司赔偿的金额)。(3)估计一批日光灯的寿命。(4)确定火箭发射至最高点所需的时间。(5)决定十字路口黄灯亮的时间长度。(6)为汽车租赁公司制定车辆维修、更新和出租计划。(7)一高层办公楼有4部电梯,早上上班时间非常拥挤,试制订合理的运行计划。2. 模仿商人过河问题中的状态转移模型,作下面这个众人周知的游戏:人带着猫、鸡、米过河,船除需要人划之外,至多能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。试设计一个安全过河方案,并使渡河次数尽可能地少。3. 为了培养想象力、洞察力和判断力,考察对象时除了从正面分析外,还常常需要从侧面或反面思考。试尽可能迅速地回答下面问题:(1)某甲早8:00从山下旅店出发,沿一条路径上山,下午5:00到达山顶并留宿。次日早8:00沿同一路径下山,下午5:00回到旅店。某乙说,甲必在两天中的同一时刻经过路径中的同一地点。为什么。(2)37支球队进行冠军争夺赛,每轮比赛中出场的每两支球队中的胜者及论空者进入下一轮,直至比赛结束。问共需要进行多少场比赛,共需要进行多少轮比赛。如果是支球队比赛呢。(3)甲乙两站之间有电车相通,每隔10分钟甲乙两站相互发一趟车,但发车时间不一定相同。甲乙之间有一中间站丙,某人每天在随机的时刻到达丙站,并搭乘最先经过丙站的那趟车,结果发现100天中约有90天到达甲站,约有10天到达乙站。问开往甲乙两站的电车经过丙站的时刻表是如何安排的。(4)某人家住T市在他乡工作,每天下班后乘火车于6:00抵达T市车站,他的妻子驾车准时到车站接他回家。一日他提前下班搭早一班火车于5:00抵T市车站,随即步行回家,他的妻子像往常一样驾车前来,在半路上遇到他,即接他回家,此时发现比往常提前了10分钟。问他步行了多长时间。(5)一男孩和一女孩分别在离家2km和1km且方向相反的两所学校上学,每天同时放学后分别以4km/h和2km/h的速度步行回家。一小狗以6km/h的速度由男孩处奔向女孩,又从女孩处奔向男孩,如此往返直至回到家中。问小狗奔波了多少路程。 如果男孩和女孩上学时小狗也往返奔波他们之间,问当他们到达学校时小狗在何处。