建模仿真技术及其在交通系统中的应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1 模型与系统仿真概述

1.1 模型概述

传统上,数学的应用一般理解为数学在力学、电学和工程技术等与物理关系密切的领域中的应用。近几十年来,随着科学技术的不断进步和计算机的迅速发展,数学的应用领域不断扩大。它不仅被用来解决日常生活、生产等领域中各种各样的实际问题,而且在经济学、生物学、医学、环境科学等许多学科的理论发展中得到了应用。

数学的应用实质上是数学和所研究的实际问题相结合的结果。一个成功的应用必须在两者之间建立沟通并形成紧密联系。应用数学知识和计算机去解决各门学科和社会生产中的实际问题时,首先要对实际问题进行分析,研究组建能描述这个问题的数学模型,其次使用数学的理论和方法或者编制程序对模型进行分析,从而得到结果,最后返回去解决实际问题。可见,数学建模是应用数学理论和计算机解决实际问题的重要手段和桥梁。

不少人感到“学了不少数学,但是不会用它去解决实际问题”。这表明“学数学”与“用数学”是不同的。学会数学的人未必会用数学。掌握了数学的人在数学建模上也未必是自通的。在知识结构、思维方式、能力训练等诸多方面,数学建模或数学应用都有它自己的特点,与数学理论在这些方面的要求明显不同。掌握使用数学理论和方法去建立模型以解决实际问题所需的技能与理解数学概念、证明定理、求解方程所需的技巧也是迥然不同的。掌握数学知识只是应用数学解决实际问题的必要条件之一,实践证明,成功地应用数学有赖于应用者深厚的数学基础和严格的逻辑推理训练,还依赖于应用者敏锐的洞察力、分析归纳能力以及对实际问题的深入理解和广博的知识面。

数学建模不仅仅展示了解决实际问题时所使用的数学知识和技巧,更重要的是它将指导我们如何提出实际问题中的数学内涵并使用数学的技巧来解决问题。因此,学习数学建模不仅要学习和理解建立模型过程中所使用的数学知识和逻辑推理,更重要的在于了解怎样用数学对实际问题组建模型以解决问题。

在实施数学素质教育的今天,培养应用数学解决实际问题的技能是非常重要的。其中,主要体现在数学建模能力的培养上。数学建模的教与学至少有如下几个方面的作用。

(1)培养学生“双向”翻译的能力。

数学建模首先要用数学的语言把实际问题翻译、表达成确切的数学问题,再通过数学处理、分析,将其转回现实语言并使之适合使用。这种“双向”翻译的能力是应用数学的基本能力。

(2)培养学生的想象力、联想力、洞察力和创造力。

数学建模没有现成的答案与模式,要靠充分发挥自己的创造力去解决问题。这就需要从大量的文献资料中摄取对解决问题有用的思想和方法,要从貌似不同的问题中窥见其本质,即需要具有丰富的想象力和联想力以及洞察问题本质的能力。数学建模的整个过程是这些能力的综合体现,也是培养创造力的重要手段与途径。

(3)培养学生的自学能力和使用文献资料的能力。

数学建模所需的很多知识是学生原来没有学过的,而且不可能完全从教师的补课中获得,只能通过自学和相互讨论来进一步掌握相关知识,这恰能培养学生的自学能力。同时,在数学建模过程中,又需要从浩如烟海的文献资料中迅速找到和吸取自己所需要的东西,这就大大锻炼和提高了学生使用文献资料的能力。这两种能力恰是学生日后工作中所需要的。

(4)培养学生的计算机应用能力。

使用计算机解决问题,在数学建模中是必不可少的一个重要环节。因为对于复杂的实际问题,在建模之前往往需要先计算一些东西或直观地考察一些图像,以便据此作出判断或形成想象来确定模型。更重要的是在形成数学模型后,求解过程中大量的数学推理运算、计算、画图都需要借助相应的数学软件包才能完成。

对数学建模方法的研究,以及在大学、中学怎样开设好数学建模课程已成为当今数学教育改革的重要方向。1970年,英国牛津大学首先为研究生开设了数学建模课程,此后,该课程正式进入大学的教学计划;1975年,美国数学科学联合委员会(CBMS)在其颁布的文件《K-12级中学教学的一般看法与分析》中,建议把数学建模放到高中课程之中;美国国家研究委员会(NRC)于1989年向国家提出的报告中指出,把数学建模列为数学教育改革最急需的项目。美国数学教师协会于1989年编制的指导性文件《中小学数学课程与评估标准》对各年级数学课程的教学要求都列出了问题解决能力的标准,并强调了数学建模作为问题解决的一个侧面的重要性。1983年,首届国际数学建模教学和应用会议(ICTMA)在英国召开,之后这个会议每两年召开一次。为了推动数学建模活动的开展,1985年,美国开始举行一年一度的全美大学生数学建模竞赛(MCM)。这些都说明数学建模已引起国际数学教育界的高度重视。

近年来,我国数学教育界对“数学问题”这一概念内涵的认识也逐步深入,特别是受国际上数学“问题解决”教学的影响,我国也注重强调对学生的分析问题和解决问题能力的培养,开始在数学教学中引入实际问题。国家教育委员会于1992年6月制定的九年义务教育全日制初级中学《数学教学大纲》中有关教学目的的表述为:“能够解决实际问题,是指能够解决带有实际意义和相关学科中的数学问题,以及解决生产和日常生活中的实际问题。在解决实际问题中,要使学生受到把实际问题抽象成数学问题的训练,逐步培养他们分析问题和解决问题的能力,形成用数学的意识。”继我国部分大学生从1989年起参加全美大学生数学建模竞赛之后,上海于1992年、北京于1993年起相继组织了多届中学生数学知识应用竞赛。全国大学生数学建模竞赛已成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛。2018年,来自中国、美国和新加坡的1449所院校、42128支队伍(本科38573支、专科3555支)共超过12万名大学生报名参加本项竞赛。总之,培养学生运用数学知识和方法并通过建立数学模型解决实际问题的能力已成为数学素质教育的重要目标之一。

1.1.1 模型、数学模型、数学建模、数学建模方法

我们经常使用模型的思想来认识世界和改造世界。这里的模型是针对原型而言的。所谓原型,是指人们在社会活动和生产实践中所关心和研究的实际对象,在科技领域常常用系统或过程等术语描述。如机械系统、电力系统、生态系统、社会经济系统等;又如导弹飞行过程、化学反应过程、人口增长过程、污染扩散过程等。模型是人们基于一定的目的对原型进行的一个抽象,包括飞机模型、火箭模型、水坝模型等各种实物模型和用文字、符号、图表、公式等描述客观事物的某些特征和内在联系的模型。譬如,城市的交通图是这座城市的一个模型。在这个模型中,城市的人口、车辆、树木、建筑物的形状等都不重要,但图中所展示的街道和一目了然的公共交通线路是任何一个实际置身于城市中的人都很难搞清楚的。由此可见模型来源于原型,但它不是对原型简单的模拟,是人们为了认识和理解原型而对它所作的一个抽象、升华。我们可以通过对模型的分析、研究加深对原型的理解和认识。总之,模型是人们对所研究的客观事物有关属性的模拟,它应当具有所研究的事物中使人们感兴趣的主要性质,因而具有如下特点:①它是客观事物的一种模拟或抽象,它的一个重要作用就是加深人们对客观事物如何运行的理解。为了使模型成为帮助人们进行合理思考的一种工具,就要用一种简化的方式来表现一个复杂的系统或现象。②为了能协助人们解决问题,模型必须具有所研究系统的基本特征或要素。此外,还应包括对其形成原因和效果起决定性作用的各个要素之间的相互关系。有了这样的一个模型,人们就可以在模型内实际处理一个系统的所有要素,并观察它们的效果。

所谓数学模型,就是针对或参照某种事物系统的主要特征或数量相依关系,用形式化的数学语言,概括地或近似地表述出来的一种数学结构。这里的数学结构,有两方面的具体要求:①这种结构是一种纯关系结构,即必须是经过数学抽象扬弃了一切与关系无本质联系的属性后的系统结构;②这种结构是用数学概念和数学符号来表述的。

数学模型是通过抽象和简化,使用数学语言对实际现象的一个近似的刻画,以便人们更深刻地认识所研究的对象。数学模型也不是对现实系统的简单的模拟,它是人们用以认识现实系统和解决实际问题的工具。数学模型是对现实对象的信息进行提炼、分析、归纳、翻译后的结果。它使用数学语言精确地表达了对象的内在特征。通过数学上的演绎推理和分析求解,能够深化人们对所研究的实际问题的认识。例如,力学中著名的牛顿第二定律使用公式F=mdx2/dt2来描述受力物体的运动规律就是一个成功的数学模型。其中,x(t)表示运动的物体在t时刻的位置,m为物体的质量,F表示运动期间物体所受的外力。该模型忽略了物体的形状和大小。这一定律抓住了物体受力运动的主要因素,大大深化了力与物体运动规律的研究工作。

数学模型并不是新的事物,它一直伴随在我们身边。可以说有了数学并要用数学去解决实际问题时就一定要使用数学的语言、方法去近似地刻画这个实际问题,这就是数学模型。数(整数、分数等)、几何图形、导数、积分、数学物理方程,以至于广义相对论、规范场等都是非常成功的数学模型。运筹学以及统计学的大部分内容都是关于数学模型的讨论和分析。可以说在数学的发展进程中无时无刻不留有数学模型的印记,在数学应用的各个领域随处都可以看见数学模型的身影。随着科学技术的发展,加强各门学科的定量化分析以及使用数学工具来解决各种问题的需求日益普遍。数学模型作为数学实现其技术化职能的主要手段之一,其作用愈发突出,从而受到了更加广泛的重视。

在实际工作中遇到的问题几乎没有纯粹地用现成的数学知识就能解决的。也就是说,实际问题很少直接以数学的语言形式出现在我们面前。在实践中,能够直接运用数学方法解决实际问题的情形是很少见的,我们所遇到的都是数学和其他东西混杂在一起的问题,不是“干净的”数学,而是“脏的”数学。而且使用数学语言来描述所面临的实际问题往往也不是轻而易举的,其中的数学奥妙不是明摆在那里等着我们去解决,而是暗藏在深处等着我们去发现。我们要对实际问题中看起来杂乱无章的复杂现象进行分析,发现其中可以用数学语言来描述的关系或规律,从中抽象出恰当的数学关系。把这个实际问题转化成一个数学问题的过程就是数学建模。与数学不同,数学模型的组建过程不仅要进行演绎推理,还要对复杂的现实进行归纳、总结和提炼。这是一个归纳总结与演绎推理相结合的过程。

所谓数学建模方法,是指首先把所研究和考察的实际问题转化为数学问题,构建出相应的数学模型,然后对数学模型进行研究,使原来考察的实际问题得以解决的一种数学方法。

1.1.2 数学模型的分类

建立数学模型,可能会涉及许多数学分支。对于一个问题,我们往往可以利用不同的方法建立不同的模型。因此,绝对的分类对于建立数学模型是不利的。大致的分类对初学者确立原型所属系统和选用数学工具会有一定的帮助。

数学模型按照问题本身所处的领域和解决问题的方法,以及按照人们的意愿可以有不同的分类方式。

1.按社会现象或自然现象的本质区别分类

(1)确定性数学模型。

这类模型反映的实体对象具有确定性结果,服从因果律,可由前一时刻的运动状态推知后一时刻的运动状态;可由条件预知结果,体现“非此即彼”的特点。这类模型的表现形式可以是各种各样的方程式、关系式、网络图等,使用的是经典的数学方法。

(2)随机性数学模型。

这类模型反映的实体对象具有随机性或偶然性,反映随机律。但是,在大量的随机现象的统计平均值中,可以看出它的“大势所趋”的结果。这类模型处理的是大数现象,使用的数学工具有概率论、数理统计、过程论等。

(3)模糊性数学模型。

当涉及人类系统的行为或处理与人类行为可相比拟的复杂系统时,确定性、随机性数学模型则无能为力。例如,应用计算机模拟人脑思维就必须把人们常用的模糊语言,像“高个子”“矮个子”“漂亮姑娘”等设计成机器“语言”,以便机器能像人脑那样灵活、果断地作判断。这就需要建立模糊性数学模型,研究模糊性的实体对象及其关系。建立这类模型所使用的数学工具有模糊集合论、模糊逻辑等。

(4)突变性数学模型。

微积分是解释、计算、预测那些连续变化的自然现象的数学模型(广义的),然而对于充满突变和跳跃的大量自然现象来说,它是远不够用的。水突然沸腾、火山爆发、房屋倒塌、蝗虫急速繁殖、病人突然休克……这种由量变发展到质变的现象出现的概率是很高的。描述这些突变现象的数学模型就是突变性数学模型,使用的数学工具是突变理论,它是20世纪60年代末70年代初由法国数学家勒内·托姆(René Thom)提出的。

2.按变量性质分类

根据变量是确定的还是随机的,数学模型可分为确定性模型和随机性模型。根据变量是连续的还是离散的,数学模型可分为连续模型和离散模型。

3.按时间关系分类

考虑模型是否因时间关系而变化,数学模型可分为静态模型和动态模型。

4.按所用的研究方法分类

数学模型可分为初等模型、几何模型、微分方程模型、运筹学模型、概率模型、统计模型、层次分析法模型、系统动力学模型、灰色系统模型等。

5.按研究对象所属领域分类

数学模型可分为经济模型、生态模型、人口模型、交通模型、战争模型、资源模型、环境模型等。

6.按建模目的分类

数学模型可分为分析模型、预测模型、优化模型、决策模型、控制模型等。

7.按对研究对象的内部结构和性能的了解程度分类

数学模型可分为白箱模型、灰箱模型、黑箱模型。

1.1.3 数学建模的一般步骤

数学模型既然是对所研究的实际对象的概括与简化,那么,它不能等同于实际对象本身,而是必须舍弃实际对象的质的规定性,从量的关系上对实际对象作形式化的描述和刻画,在这一过程中常常略去实际对象的某些次要性质和因素,抓住其主要性质和因素。因此,数学模型虽然能从某些数量关系上反映实际对象的原型,但这种反映仅仅是一种近似和模拟。只有用与之相对应的数学模型去代替实际对象,才有可能把研究的问题表述为数学问题;只有寻找并使用与实际对象的质的规定性无关的数学工具去分析和处理问题,才能充分发挥数学工具在解决实际问题时的巨大作用。

一个完整的数学建模过程主要由三个部分组成:①用适当的数学方法对实际问题进行描述。②采用各种数学和计算机手段求解模型。③从实际角度分析模型的结果,考察其是否具有实际意义。具体地说,它包括以下步骤。

1.分析问题

数学建模的第一步便是明确建模目的与要求,考察实际问题的条件和数据,明确并掌握必要的数据资料,分析问题所涉及的量的关系,了解对象与关系结构的本质属性。

在建模前应对实际问题的历史背景和内在机理有深刻的了解,必须对该问题进行全面的、深入细致的调查和研究。实际问题所给的条件和数据通常并不是恰到好处,可能有多余的条件或数据,也可能缺少必要的数据。要通过分析问题的结构,对需要的数据做到心中有数。在问题分析阶段还应仔细分析已有的数据和条件,使问题进一步明确化。即从数据中可得到什么信息?数据来源是否可靠?所给条件有什么意义?哪些条件是本质的?哪些条件是可以变动的?从中得到的分析结果能够帮助我们进一步加深对问题的了解,以进一步调整、完善工作计划,为后期的工作打下坚实的基础。实践证明,在工作的前期尽可能地理解、把握住问题,往往会起到事半功倍的效果。不经过分析问题这一步,过早地进入解决问题阶段,则会陷入一些意想不到的陷阱中,甚至偏离方向。

2.现实问题的理想化

现实问题错综复杂,涉及面非常广,因此想建立一个数学模型来反映一个现实问题,面面俱到、无所不包是不可能的,也是没有必要的。一个模型,只要能反映我们所需要的某一个侧面就行了。建模前必须先将问题理想化、简单化,即首先抓住主要因素,暂不考虑次要因素。在相对比较简单的情况下,厘清变量之间的关系,建立相应的模型。为此须对所给问题做出必要的假设,不同的假设会得到不同的模型。这一步是建立模型的关键。

辨识并列出与问题有关的因素,通过假设把所研究的问题简化,明确模型中需要考虑的因素以及它们在问题中的作用。以变量和参数的形式表示这些因素,在最简单的情形下组建模型,然后通过不断地调整假设使模型尽可能地接近实际。

为什么在建模之前要进行一番假设?因为我们要解决的是一个实际问题,在一个实际系统中,总是有多种因素与所研究的对象关联,但这些因素有主次之分。必须分析清楚哪些是主要的、本质的因素,哪些是次要的、非本质的因素。进行假设的目的就在于选出主要因素,忽略次要因素,既使问题简化以便进行数学描述,又抓住了问题的本质。

建立数学模型就是采用或建立某种数学方法来解决具体的问题,而每种理论的应用都必须满足一定的理想化条件,因此能否应用某种数学方法的关键在于所研究对象是否近似满足理想化条件。必须强调,对于一个假设,最重要的是它是否符合实际情况,而不是为了解决问题的方便。如果假设合理,则模型与实际问题比较吻合;如果假设不合理或过于简单(过多地忽略了一些因素),则模型与实际情况不吻合或部分吻合,此时就要修改假设,修改模型。要做出合适的假设,经验的作用无疑是十分重要的。

做假设的依据通常是对问题内在规律的认识,或者来自对数据或现象的分析,也可以是二者的综合。做假设时既要运用与问题相关的物理、化学、生物、经济等方面的知识,又要充分发挥想象力、洞察力和判断力,善于辨别问题的主次,抓住主要因素,舍弃次要因素,尽量使问题简化(如线性化、均匀化等)。对于初学者,做假设时可以考虑以下几个方面:①关于是否包含某些因素的假设;②关于条件相对强弱及各因素影响相对大小的假设;③关于变量间关系的假设;④关于模型适用范围的假设。

有些假设的必要性要在模型的求解和分析中才会发现,所以在建模的各个阶段都应注意是建立在什么假设的基础上的。为了保证所做假设的合理性,在有数据的情况下应尽可能对假设以及假设的推论进行检验。要特别注意是否存在隐含的假设。

3.建立模型

运用数学建模方法解决各类实际问题,建立数学模型是关键的一步。建模的过程是把错综复杂的实际问题简化、抽象出合理的数学结构的过程,是一个从实际到数学的过程。

在明确问题和已有假设的基础上,可以着手建立数学模型,建模时应注意以下几点。

(1)分清变量类型,恰当使用数学工具。

在建模时我们必须与各类量打交道,从建模的角度对这些量加以分类有助于我们掌握各个量在模型中的地位和作用。这些量可分为变量、常数和参数,对变量进行分析是建立模型的基础。须特别注意的是,参数在数学模型中有着非常重要的作用,使用参数可以使模型的应用具有普遍性。所以对模型参数的讨论也是建模工作的一个重要部分。根据假设,着手建立数学模型,尽可能使用数学概念、数学符号和数学表达式表述事物对象及诸对象之间的关系。即利用适当的数学工具刻画各变量之间的关系,建立相应的数学模型。在建模时采用何类数学工具,要根据实际问题的特征、建模目的和要求及建模人的数学特长而定。一般地,数学的每一分支在建立各种数学模型时都可能用到,而同一实际问题也可用不同的数学方法建立不同的数学模型。在能达到预期目的的前提下,所用的数学工具越简单越好。此外,也应考虑自己对哪门学科比较熟悉、精通,尽量发挥自己的特长,建模时应尽可能利用自己熟悉的数学分支的知识。另外,还应具有在必要时针对问题学习一些新知识的能力,因为现实世界中有许多问题仅靠单一学科的知识是无法解决的。

(2)抓住问题的本质,简化变量之间的关系。

若模型过于复杂,则无法求解或求解困难,从而不能反映客观实际。因此应尽可能用简单的模型如线性化、均匀化等来描述客观实际。建模的原则是:模型尽可能简单明了、思路清晰,尽量不用高深的数学知识,不要追求模型技术的完美,应侧重于实际应用。

一个模型通常包含许多变量,一些变量对最终结果的影响会大于其他变量的影响,所以在达到所要求精度的前提下,没有必要引入更多的变量。若某变量对结果的贡献不大,则可以舍弃它,尤其是当这样做会简化模型时,更应如此处理。同样的原则对模型中的表达式或方程式也是适用的。若某表达式或方程式包含较多的因素,先粗略估计一下各因素影响的相对大小是很有指导意义的,舍弃那些微不足道的因素会使数学模型在保证准确度的前提下大大简化。

(3)建模要经严密推理和有足够的精确度。

在已定的假设下,建模过程中推理一定要严密,以保证模型的正确性,否则会造成模型错误,前功尽弃。

由于实际问题常对精确度有所要求,在建模和收集资料时要予以充分考虑。但同时实际问题非常复杂,做假设时要去掉非本质的因素,把本质的因素和关系考虑进去。而要掌握好这个尺度,有时会有一个反复摸索的过程。

4.模型求解

对于数学模型的求解很难提出具有普遍指导意义的方法,不同的数学模型难易程度不同。一般情况下,对比较简单的问题的求解应力求使解的适用范围尽可能广,从而使模型具有普遍性;而对比较复杂的问题,应首先考虑将它解出来,如有余力再考虑模型的普遍性。

随着计算机的广泛应用,利用已有的计算软件可为求解带来方便。因而尽可能地掌握已有的计算软件,在解决问题时可以省力不少。有的问题是不能求出解析解的,可以借助计算机用数值方法求解。在厘清算法前最好不要急于上机编程,要先明确计算步骤,弄清初始值和步长等因素对运算精度的影响。另外,要特别注意所做工作在整个模型中的地位和作用,不要等到花费了大量人力和机时后才发现所做的工作只是整个模型微不足道的枝节部分。

5.模型分析

对模型进行求解,得到数学结果之后,问题并未完全解决。事实上,在建立数学模型的过程中,我们做了各种近似和简化,而建立的数学模型仅用到了问题中给出的数据。因此,判断模型的结果是否具有实际意义或是否满足实际要求,必须对解的意义进行细致的分析、讨论。即这个解说明了什么问题?是否达到了建模的目的?模型的适用范围怎样?

对模型求出的解进行数学上的分析,有助于解决实际问题。有时要根据问题的要求对变量间的依赖关系进行分析并对解的稳定性进行分析;有时要根据求出的解对实际问题的发展趋势进行预测,为决策者提供最优决策方案。除此之外,还常常需要进行误差分析、模型的稳定性分析和灵敏度分析等。

数学模型相对于客观实际不可避免地会有一定误差,一方面,要根据模型的目的确定允许的误差范围;另一方面,要分析误差来源,一旦误差超出允许范围就应制定补救方案。一般误差产生的原因有以下几种。

(1)来自建模假设的误差。

一般来说,对这类误差的影响是很难估计的,因为我们一般不知道正试图计算的答案的正确值。这时可以对不同的假设做一些研究,比较它们对结果的影响。

(2)来自近似求解方法的误差。

数值计算方法本身也会产生误差。只要在使用这些方法时对数据范围和方法本身加以分析、研究,这类误差多数是可以控制的。

(3)来自计算工具的舍入误差。

利用计算器或计算机做数值运算,都不可避免地会因字长限制而产生舍入误差。如果进行了大量的计算,则积累起来的误差可能会非常惊人。

(4)来自数据测量的误差。

理想情况下(如精心设计的科学实验等),应有数据最大误差估计。

对于后面三种误差来源,可以通过对相应变量和参数进行灵敏性分析,确定这些误差的允许范围。

根据各种实际情况检验模型是判断其合理性的重要依据。一个好的模型所预见的结果不应该由于原始数据或参数的微小波动而有很大的变化,因此模型的稳定性和灵敏性分析是至关重要的。

数学模型依据已有的数据和其他信息建立,它的价值在于能够通过已知的信息预测未知的东西。因此,一个好的数学模型的结果对模型所依赖的数据有较好的稳定性,这是其广泛适用性的保证。

稳定性和灵敏性分析的另一个重要方面在于对模型中所包含的各种参数的评价。在建模过程中,首先要考虑各种与所研究对象有关的因素。由于这些因素的大小是可变的,因此在计入模型时往往以参数的形式表现出来。模型对这些参数的灵敏性反映了各种因素影响结果的显著程度;而通过模型对参数的稳定性和灵敏性分析,又可以反映模型的实际合理性。

6.模型检验

完成模型的设计及求解之后,还需要对模型的各种性能作出评价,这就是模型的检验。数学模型要接受实践的检验,因为建模的目的是要研究和解决原型的实际问题。而数学模型是经过简化和抽象得到的,即使这个数学模型在组建过程中的逻辑推导准确无误,也并不意味着模型是成功的。它必须接受实践的检验。只有经检验被认为是可以接受的模型才能付诸使用。

一个模型是否反映了客观实际,可与实际观测情况进行比较。如果模型结果的解释与实际状况相吻合或基本一致,表明这个模型经检验是符合实际问题的,可以将它用于对实际问题进行进一步的分析讨论。如果模型结果的解释很难与实际状况相吻合或不一致,表明这个模型与所研究的实际问题是不符合的,不能直接将它应用于所研究的实际问题。这时假如数学模型的组建过程没有问题,就需要返回到建模前,检查关于问题所做的假设是否恰当,检查是否忽略了不应该忽略的因素或者还保留着不应该保留的因素。进而对假设进行必要的修正,重复前面的建模过程,直到组建出经检验符合实际问题的模型。

7.模型修改

实际问题比较复杂,但由于理想化后抛弃了一些次要因素,因此建立的模型与实际问题就不完全吻合了。此时,要分析假设的合理性,保留合理部分,去掉或修改不合理部分,再次分析实际问题中的主次因素。如果某一因素被忽略而导致前面模型的失败或部分失败,则再建立模型时应把它考虑进去。修改时可能去掉(或增加)一些变量,有时要改变一些变量的性质,如把变量看成常量,常量看成变量,连续变量看成离散变量,离散变量看成连续变量,或改变变量之间的函数关系,如线性改为非线性,非线性改为线性。修改模型时也要重新考虑约束条件,增加、减少或修改约束条件。建模本身并不是最终目的,最终目的是解决实际问题。因此,还应当将所得结果返回现实原型中进行检验,看它是否符合客观实际;若不符合,再进行修正或重新建模,直到符合客观实际。一个真正适用的数学模型,是需要不断改进和完善的。

8.模型应用

数学模型应用非常广泛,可以说已经应用到各个领域,而且已经渗透到社会学科、生命学科、环境学科等多种学科。由于建模是预测的基础,而预测又是决策与控制的前提,因此数学模型可用于对许多部门的实际工作进行指导,以达到节省开支、减少浪费、增加收入的目的。特别是对促进科学技术和工农业生产的发展具有重要意义。

数学模型的应用价值取决于它的适用范围,因此推广所建立的模型能扩大模型的应用范围,从而提高其使用价值。一般来说,可将模型中某些固定量改为可调性参数以扩大其适用范围。

将一个数学模型应用于实际问题,主要是通过对模型做进一步的分析和讨论得到的,使用代数的、分析的或数值的方法给出模型的解。从理论上讨论解的性质,必要时也可以写出计算程序或者使用恰当的软件包由计算机进行模拟。把数学上和计算机运算所得到的结果再返回到实际问题中去,用以对实际问题给出解释,解决实际问题或加深对问题的认识,从而达到使用数学模型解决实际问题的目的。需要注意的是,从数学模型中得到结论的主要目的是解决实际问题,因此当用它来解决实际问题时,其语言应该是非数学工作者所能理解的语言。这时,过多、过深地使用数学语言将影响模型的使用效果,要学会使用通俗的语言表达数学上的结论,使它能为更多的人所接受。

数学建模的步骤如图1-1所示。

对于具体的实际问题,在利用数学建模方法求解时,通常有两种情形。

(1)在多数场合,由实际问题抽象出来的数学模型可纳入某类已知的数学模型或子模型。这时,可利用已有的数学知识求出相应的数学结果,再将所得结果返回到原来的实际问题中。

(2)在某些场合,由实际问题抽象出来的数学模型不能纳入已知的数学模型。在这种情况下,有待于建立新的数学理论,这便是数学家的发现和创造。

图1-1 数学建模的步骤

运用数学建模方法的过程可用图1-2表示。

图1-2 运用数学建模方法的过程

1.1.4 对数学建模的进一步认识

1.数学建模的特征

首先,数学建模是用数学知识解决实际问题的主要方法,其关键是经过数学抽象将实际问题转化为数学问题,即建立数学模型。

其次,数学模型与原型之间一般不是同构对应,而只是对原型的数量相依关系的反映。因此,利用数学方法得到的数学模型的解需要返回到原型中去得到具体的解释和检验,如果这个模型的解与原型不符合,则需重新建立或修改数学模型。一般来讲,解决比较复杂的问题时,往往需要对其数学模型进行多次修改才能获得成功。

最后,数学建模是以数学为工具,采用迂回的手段来达到解决问题的目的的一种方法,它反映了数学方法的辩证性质。

2.数学模型与数学问题、数学应用题

数学模型和我们通常见到的数学问题是不同的。数学问题的叙述是严谨的、明确的,通常它的答案是唯一的、确定的;而数学模型所描述的实际问题有时并不十分明确,且描述这个问题的模型和答案通常不是唯一的。对于同一个现象可以有不同的模型来描述它,从而会得到不同的答案。一般来说,数学问题的假设是逻辑推理过程中的自然需要或是研究范围的一个严格的界定;但对数学模型来说,假设则是建模者在建模过程中用来明确和简化实际问题的一个主要手段,操作起来要灵活得多并且需要有较高的技巧。数学问题的分析与求解过程有赖于严格的逻辑推理和恰当的数学工具以及技巧的使用;而数学模型的组建则更多地依赖于对实际问题的理解和想象力,其把有关的变量按照实际问题的要求组合在一起。数学问题的结论是明确的,通常它可以使用封闭的数学表达式来表示;而数学模型则既可以用数学式,也可以用图、表来表示,数学模型的结论通常不是封闭的,它需要推广以改变研究的方法或者使模型适用于复杂的情况,甚至有些模型的结论是悬而未决有待进一步探讨的。

数学模型是使用数学来解决实际问题的桥梁,对它进行研究和分析主要运用数学的理论、方法。由于我们的目的是解决实际问题,在分析过程中应用数学理论时,数学上的自然的结论不一定是研究数学模型所需要的结果。像在中学数学中所遇到的应用题那样,只要套用公式就能解决的问题在实际的数学建模中是很少见到的。将分析模型所得到的数学结论返回到实际中去解决问题同样需要创造性的工作,这往往并非简单地套用现有的数学公式或定理就能奏效的。因此不能认为数学模型就是数学应用题,特别是不能认为数学模型就是套公式。

3.建立数学模型的一般要求

(1)足够的精度,即要求把本质的关系和规律纳入考虑范围,去掉非本质的因素。

(2)简单,便于处理。

(3)依据要充分,即要依据科学规律、经济规律来建立公式和图表。

(4)尽量借鉴标准形式。

(5)模型所表示的系统要能操纵和控制,便于检验和修改。

4.数学模型的优劣标准

数学建模是一个从实际到数学,再从数学到实际的过程。由于现有的模型仅依赖于问题中的数据,根据模型得到的结果是否符合实际是衡量模型好坏的重要标准。作为一个成功的模型,其应该有较强的实际背景,最好是直接针对某个实际问题的,应该是经过实际检验表明是可以接受的,应该能够使我们对所研究的问题有进一步的了解,应该尽可能地简单以利于使用者理解和接受。

总之,只有抓住了本质,建立的模型才具有合理性。一个数学模型的优与劣,最根本的区别在于是否采用了恰当的方法,是否合理地描述了实际问题,而不在于是否用到了高深的数学知识。

5.数学建模的原则

在一个实际问题中,往往有很多因素同时对所研究的对象发生作用,应该全面地对这些因素加以考虑。这项工作可以分三步进行:①列举各种因素。②选取主因素计入模型。③考虑其他因素的影响,对模型进行修正。

数学模型应当是对实际问题的本质的刻画,建模时必须有对现实问题去粗取精、去伪存真的归纳加工过程。但建模时究竟保留什么因素、忽略什么因素并没有一定的范式,这要根据建模者对实际问题的理解、研究的目的及其数学背景来确定。应该说这是一个创造性的过程。不同的建模者针对同一实际问题可以得到不同的数学模型。如果考虑问题过于简单,模型固然明白易懂,却不易抓住问题的本质。相反,如果将所有因素不分主次一概计入模型,不仅使模型显得十分庞杂,而且事实上无法求解,反而掩盖了问题的本质。要想建立一个好的模型,就必须加以权衡,这有赖于建模者对问题本质的深刻理解。对于初学者来说,数学建模是一个较难驾驭的课题,它的处理手法相当灵活。掌握数学模型最好的办法是实践,自己一个人独立地实践或几个人一组集体实践。在开始阶段不要急于尝试工业上或科学技术上的复杂的建模问题。现实生活中就有许多值得思考的问题,其中不少问题既简单又实用,是学习数学建模的好材料。后文所列举的例子展现了实际中的数学模型是什么样子的,以利于读者去发现身边的数学模型。例题是一些极普通的问题,不需要具备很多实际的专业背景和过多过深的数学知识和方法就可以着手去尝试解决。例题中多数问题都可以找到另外的研究方法,这在数学模型中并不奇怪,也许我们会发现更巧妙的思路来改进例题所得到的结论,这是很正常的。

数学模型因问题不同而异,建立数学模型也没有固定的格式和标准,甚至对于同一个问题,从不同角度、不同要求出发,可以建立起不同的数学模型。因此,目前要想给出关于数学模型或数学建模的系统的理论和方法是困难的。与其说数学建模是一门技术,不如说是一门艺术。它需要熟练的数学技巧、丰富的想象力和敏锐的洞察力,需要大量阅读、思考他人做的模型,更要自己动手,亲身体验。掌握数学建模的技巧的关键是实践,只有在实践中才能不断提高建模水平。