第1章 数学建模简介
1.1 数学建模
近半个世纪以来, 随着计算机技术的迅速发展, 数学这一古老的学科发生了很大的变化, 数学不再仅仅是数学家和物理学家、天文学家、力学家等少数人手中的神秘武器, 它渐渐为越来越多的人所了解、掌握和运用.人们逐渐认识到数学的发展与同时期社会的发展有着密切的联系, 许多数学理论都是因社会需要而产生的, 许多数学分支也应运而生. 同时数学也是构筑当代物质文明的基础, 自从人类有了现代工业, 数学就是工程技术不可缺少的工具.现代数学在理论上更抽象, 在方法上更综合, 在应用上更广泛, 新的数学分支层出不穷, 相互交叉, 相互渗透, 数学不仅更广泛地应用于自然科学和工程技术,而且由于定量化已成为所有学科共同的理论和方法的基础, 各学科领域与数学的结合更为广泛和深入, 大量新兴的数学方法正在被有效地应用, 产生了许多和数学相结合的新学科, 如数学化学、数学生物学、数学地质学、数学社会科学等, 数学对各学科的渗透与应用迅速扩展, 该趋势要求各类专业技术人员必须具有较好的数学素养.
随着社会的不断进步, 数学和信息化技术的飞速发展, 人工智能、大数据等前沿技术在教育领域的应用得到了空前发展, 并助推了非接触式文化的形成. 2021年, 元宇宙从概念走向流行. 元宇宙是基于互联网而生、与现实世界相互打通、平行存在的虚拟世界, 是一个可以映射现实世界又*立于现实世界的虚拟空间. 它不是一家*大的封闭宇宙, 而是由无数虚拟世界、数字内容组成的不断碰撞、膨胀的数字宇宙. 元宇宙是现有各种技术的组合和升级, 其三种*核心的技术就是扩展现实技术、数字孪生技术及区块链技术.
数学的重要性似乎不言自明, 但是往往有学生发出疑问: “我们学习这些数学课程有什么用途? ” 这实质上是数学的重要性究竟体现在哪里的问题, 对各专业学生而言,数学很重要的一方面在于数学知识与数学方法的应用, 更重要的是通过培养数学的思维方式, 可以锻炼学生敏锐的理解力, 训练全面、系统科学地思考问题的能力.
1.1.1 数学模型和数学建模
近年来, 数学模型和数学建模这两个词汇使用频率越来越高, 到底什么是数学模型和数学建模呢?
工厂要定期订购各种原料, 存在仓库里供生产之用; 车间一次加工出一批零件供装配线每天生产之需; 商店成批购进各种商品, 放在货柜里以备零售. 这些情形中, 若货物贮存量过大, 则贮存费用太高, 造成资金积压; 而贮存量太小, 则可能无法及时满足生产或经营需求, 所以这里有一个货物贮存量多大才合适的问题.要解决这类问题, 不能光凭经验拍脑袋, 而应该根据生产上的一些实际数据, 利用合理的数学方法和工具进行量化计算, 才能取得一个合适的结果.
游泳队要从所有队员中选出 4 人参加游泳接力赛, 每人一种泳姿, 而且 4 人的泳姿各不相同, 问选哪 4 人按什么次序组成接力队可以使游泳成绩*好? 也许有人会提出用穷举的方法选出*佳搭配, 但是计算量可能会很大. 如果队中共有10 名队员, 则可能的选择有 5040 种, 这显然不是一个好方法, 对于这个问题, 可以根据队员平时各项目的成绩以及接力赛的有关规定建立起一个整数规划问题来进行计算求解.
上面所提到的问题的实际背景来自不同领域, 但有一个共同点, 就是问题来自于现实世界, 都有一个明确的目的, 为了解决这些实际问题, 我们需要一些数学工具和方法, 先把问题翻译成一个数学问题, 然后用数学方法甚至计算机工具来加以求解, 这实际上就是一个数学建模的过程.
一般而言, 所谓数学建模 (mathematical modeling), 就是对于现实世界的一个特定对象, 为了一个特定目的, 根据实际问题的内在规律, 进行一些必要的简化和抽象, 然后运用适当的数学语言、方法和工具, 把现实问题描述为一种数学结构,并对之用数学方法加以求解的过程. 用来描述实际问题的数学结构, 称为数学模型 (mathematical model).
数学建模这个概念大概在 20 世纪六七十年代出现的, 虽然时间不长, 但究其数学建模本身来说, 并不是新事物, 可以说, 自从有了数学并要用数学去解决实际问题, 就有了数学建模. 两千多年以前创立的欧几里得几何, 17 世纪发现的牛顿万有引力定律, 都是科学发展史上数学建模的成功范例. 数学建模过程中一般都要用证明或计算等技术手段求解数学问题, 并通过与实际情形比对来验证所得结果, 必要时要对数学模型进行反复的修改完善. 建模过程中大量的计算往往是不可缺少的, 由于没有高性能计算机, 计算能力受到很大的局限, 在一定程度上限制了数学建模这一强有力方法的应用和发展. 随着计算机技术的发展和超级计算机的出现 (特别是从 20 世纪 80 年代开始), 数学建模这一方法获得了如虎添翼的飞速发展.
数学建模所面临的实际问题是多种多样的, 所用的数学方法也是五花八门的,没有定律. 问题不同, 目的不同, 所用的分析方法就会不同, 所用到的数学方法也就不同, 建立起来的数学模型也不同. 数学模型可以按照不同的分类方法分成多种类型. 按照模型的应用领域分类, 数学模型可以分成人口模型、交通模型、环境
模型、生物数学模型、计量经济模型等. 按照建模所用数学方法分类, 可以分为初等模型、几何模型、微分方程模型、统计模型及优化模型等. 按照模型中变量的表现特性分类, 可以分成确定性模型、随机性模型, 或者静态模型、动态模型, 或者连续模型、离散模型.
1.1.2 数学建模的步骤
数学建模是一种创造性的过程, 它需要相当高的观察力、想象力和灵感. 数学建模的过程是有一定的阶段性, 要解决的问题都是来自于现实世界之中. 数学建模的过程就是对问题进行分析、提炼, 用数学语言做出描述, 用数学方法分析、研究、解决, *后回到实际中, 解决和解释实际问题, 乃至更进一步地作为一般模型来解决更广泛的问题. 数学建模的流程可分为如下几个环节 (图 1.1).
图 1.1 数学建模步骤流程图
下面就流程的各个环节作简单介绍.
1. 模型准备
数学建模的问题, 通常都是来自于现实世界中的各个领域的实际问题, 没有固定的方法和标准的答案, 因而既不可能明确给出该用什么方法, 也不会给出恰到好处的条件, 有些时候所给出的问题本身就是含糊不清的. 因此, 数学建模的**步就是应该对问题所给的条件和数据进行分析, 明确要解决的问题. 通过对问题的分析, 明确问题中所给出的信息、要完成的任务和所要做的工作、可能用到的知识和方法、问题的特点和限制条件、重点和难点、开展工作的程序和步骤等. 同时, 还要明确问题所给出条件和数据在解决问题中的意义和作用、本质的和非本质的、必要的和非必要的等等. 从而, 可以在建模的过程中, 适当地对已有的条件和数据进行必要的简化或修改, 也可以适当地补充一些必要的条件和
数据.
2. 模型假设
实际中, 根据问题的实际意义, 在明确建模目的的基础上, 对所研究的问题进行必要的、合理的简化, 用准确简练的语言给出表述, 即模型的假设, 这是数学建模的重要一步. 合理假设在数学建模中除了起着简化问题的作用外, 还对模型的求解方法和使用范围起着限定作用. 模型假设的合理性问题是评价一个模型优劣的重要条件之一, 也是模型的建立成败的关键所在, 假设做得过于简单, 或过于详细, 都可能使得模型建立得不成功. 为此, 实际中要做出合适的假设, 需要一定的经验和探索, 有时候需要在建模的过程中对已做的假设进行不断的补充和修改.
3. 模型构成
在建立模型之前, *先要明确建模的目的, 因为对于同一个实际问题, 出于不同的目的所建立的数学模型可能会有所不同. 在通常情况下, 建模的目的可以是描述或解释现实世界的现象; 也可以是为了预报一个事件是否会发生, 或未来的发展趋势; 还可以是为了优化管理、决策或控制等. 如果是为了描述或解释现实世界, 则一般可采用机理分析的方法去研究事物的内在规律; 如果是为了预测预报,则常常可以采用概率统计、优化理论或模拟计算等有关的建模方法; 如果是为了优化管理、决策或控制等目的, 则除了有效地利用上述方法之外, 还需要合理地引入一些量化的评价指标以及评价方法. 对于实际中的一个复杂的问题, 往往是要综合运用多种不同方法和不同学科的知识来建立数学模型, 才能够很好地解决这一个问题. 在明确建模目的的基础上, 在合理的假设之下, 就可以完成建立模型的任务, 这是我们数学建模工作中*重要的一个环节. 根据所给的条件和数据, 建立问题中相关变量或因素之间的数学规律, 可以是数学表达式、图形和表格, 或者是一个算法等, 都是数学模型的表示形式, 这些形式有时可以相互转换.
而且, 在模型建立时, 变量的设定也是较为重要的. 一个好的模型, 除了能较
好地达到解决问题的目的之外, 还应该有一目了然的表达形式. 在选择变量时, 除了应尽可能减少它们的数量之外, 还应该做到不重复, 而且尽量避免选择一些有固定意义的符号. 例如, π 和 i 已经固定表示圆周率和虚数单位, 有时, 如果使用 i作为变量, 在求解当中可能出现 i, 这将产生混淆的效果.
4. 模型求解
不同的数学模型的求解方法一般是不同的, 通常涉及不同数学分支的专门知识和方法, 这就要求我们除了熟练地掌握一些数学知识和方法外, 还应具备在必要时针对实际问题学习新知识的能力. 同时, 还应具备熟练的计算机操作能力, 熟练掌握一门编程语言、一个数学工具软件和一个专业统计软件的使用. 不同的数学模型求解的难易程度是不同的. 一般情况下, 对较简单的问题, 应力求普遍性;对较复杂的问题, 可采用从特殊到一般的求解思路来完成.
5. 模型分析与检验
对于所求出的解, 必须要对模型解的实际意义进行分析, 即模型的解在实际问题中说明了什么、效果怎样、模型的适用范围如何等等. 同时, 还要进行必要的误差分析和灵敏度分析等工作. 由于数学模型是在一定的假设条件下建立的, 而且通常利用计算机的近似求解, 其结果产生一定的误差是必然的. 通常意义下的误差主要来自于由模型的假设引起的误差、近似求解方法产生的误差、计算机产生的舍入误差和问题的数据本身误差. 实际中, 对这些误差很难准确地给出定量估计, 往往是针对某些主要的参数做相应的灵敏度分析, 即当一个参数有很小的扰动时, 对结果的影响是否也很小, 由此可以确定相应变量和参数的误差允许范围.
对已经建立的模型, 还应该进行优缺点分析, 也就是模型的检验, 这是对模型特性和本质的更深刻认识. 在对模型进行优缺点分析时, 可以从模型的精确性、实用性, 以及对各种因素的考虑等方面对模型进行分析评价. 一般来说, 所得模型仅依靠问题本身所给数据和信息, 不合理性是难以避免的, 阐明这些不合理之处, 正是表明对问题本质有着比较清醒的认识.
6. 模型应用
把模型的求解与检验分析的结果应用到实际问题中, 检验模型的合理性和适
用性. 如果结果与实际情形不符, 则需要对模型进行改进. 模型结果若与实际情况不符, 问题常常出在模型的假设上, 可能由于假设了过于苛刻的条件, 或者忽略了一些不该忽略的因素, 使所建立模型与实际相差较远, 这时需要对模型进行修改、补充、完善. 模型的改进和完善对于模型是否真的在实际当中有用是非常关键的,有时还可能需要多次反复才能达到比较满意的程度.
模型的推广是针对模型的适用性而言的. 一个好的模型不应该对问题中所给出数据的结构有过多的依赖性, 而应该是
展开