1 大学数学实验 Experiments in Mathematics 实验1 数学建模初步 清华大学数学科学系 什么是数学建模 人们常见的模型: ~ 实物模型 玩具、照片、火箭模型… 水箱中的舰艇、风洞中的飞机… ~ 物理模型 地图、电路图、分子结构图… ~ 符号模型 模型 是为了一定目的,对客观事物的一部分进行 简缩、抽象、提炼出来的 原型 的替代物。 模型 集中反映了 原型 中人们需要的那一部分特征。 司机(方向盘)、钳工(工件)… ~ 思维模型 你 碰到过的数学模型 ——“航行问题 ” 用 x 表示船速, y 表示水速,列出方程: 75050)( 75030)( =×? =×+ yx yx 求解得到 x=20, y=5. 答:船速每小时20千米 甲乙两地相距 750公里,船从甲到乙顺水航行需 30小时 , 从乙到甲逆水航行需 50小时,问船的速度是多少。 航行问题建立数学模型的基本步骤 ? 作出简化假设(船速、水速为常数); ? 用符号表示有关量( x~船速 , y~水速); ? 用物理定律(匀速运动的距离等于速度乘以 时间)列出数学式子(二元一次方程); ? 求解 , 得到数学解答( x=20, y=5); ? 回答原问题(船速每小时 20千米)。 数学模型 (Mathematical Model) 和 数学建模 ( Mathematical Modeling) 数学模型 : 对于一个 现实对象 ,为了一个 特定目的 , 作出必要的 简化假设 ,根据对象的 内在规律 , 运用适当的 数学工具 ,得到的一个 数学结构 。 现实对象的信息 数学模型 现实对象的解答 数学模型的解答 表述 求解 解释 验证 (归纳) (演绎) 数学建模 的全过程 数学建模实例与数学实验方法 例1 汽车刹车距离 问题:汽车行驶前方出现突发事件 →紧急刹车; 车速越快,刹车距离越长; 刹车距离与车速之间是什么关系 ? (线性、 … ) 刹车距离:从司机决定刹车到车完全停止 这段时间内汽车行驶的距离。 2 20 40 60 80 100 120 140 0 50 100 150 200 100 120 140 100 150 200 153.5118.083.457.133.617.86.5d 14012010080604020v 实验数据:车速 v (km/h)与刹车距离 d (m) 例1 汽车刹车距离 d 与 v不是 线性关系 问题分析 最大制动力与车质量成正比 , 使汽车作匀减速运动 常数 刹车距离 : 反应距离 + 制动距离 常数 例1 汽车刹车距离 反应距离 : “司机决定刹车到制动器开始起作用 ”的距离 制动 距离 反应 距离 反应时间 车速 司机状况 制动系统灵活性 制动器作用力 车重、车速 道路、气候 … 制动距离 : “制动器开始起作用到汽车完全停止 ”的距离 假设与建模 ? 刹车距离 d =反应距离 d 1 + 制动距离 d 2 ? 反应距离 d 1 与车速 v 成正比: d 1 = k 1 v ? 刹车使用最大制动力 F, F作功等于汽车动能的改变 2 21 vkvkd += k 1 ~反应时间 ? F与车的质量 m 成正比: F = ma F d 2 = m v 2 /2 ak vkd 2/1 , 2 2 22 = = 例1 汽车刹车距离 参数估计 用实验数据对 k 1 , k 2 作拟合 : k 1 =0.6522, k 2 =0.0853 154.33116.4983.9256.6134.5617.786.26计算距离 d (m) 153.5118.083.457.133.617.86.5实际距离 d (m) 14012010080604020v (km/h) 例1 汽车刹车距离 反应时间为 k 1 ≈0.65s 刹车时的减速度 a=1/2k 2 ≈6m/s 2 2 21 vkvkd +=模型 例 2 市场经济中的蛛网模型 问 题 供大于求 现 象 ? 商品数量与价格的振荡在什么条件下趋向稳定 ? 当不稳定时政府能采取什么干预手段使之稳定 价格下降 减少产量 增加产量 价格上涨 供不应求 数量与价格在振荡 ? 建立一个简化的数学模型描述这种现象 蛛网模型 y 0 x 0 P 0 x k ~第 k时段商品数量; y k ~第 k时段商品价格 消费者的需求关系 ~ 需求函数 )( kk xfy = 生产者的供应关系 ~ 供应函数 减函数 增函数)( 1 kk yhx = + f 与 g 的交点 P 0 (x 0 , y 0 ) ~ 平衡点 一旦 x k = x 0 ,则 y k = y 0 , x k+1 = x 0 , y k+1 =y 0 , …… f x y 0 g )( 1+ = kk xgy简化: f 与 g 线性 3 x 1 x 2 P 2 y 1 P 1 y 2 P 3 P 4 x 3 y 3 gf KK < )( kk xfy = ?= + )( 1 kk yhx )( 1+ = kk xgy 蛛网模型 x y 0 y 0 x 0 P 0 f g 设 x 1 偏离 x 0 L→→→→ 2211 yxyx 0321 PPPP →→→→L 00 , yyxx kk →→ P 0 是 稳定平衡点 P 0 是 不稳定平衡点 0321 PPPP →→→→L × P 1 P 2 P 3 P 4 x y 0 y 0 x 0 P 0 f g gf KK > 方程模型 )( kk xfy = )( 1 kk yhx = + )( 001 xxxx kk ??=? + αβ 1<αβ 1>αβ βα /1<即 βα /1>即 P 0 稳定 P 0 不稳定 0 xx k → ∞→ k x f K=α g K=β/1 )0()( 00 >??=? αα xxyy kk )0()( 001 >?=? + ββ yyxx kk )()( 0101 xxxx k k ??=? + αβ 与蛛网模型 对比 稳定?< gf KK 不稳定?> gf KK 平衡状态: x 0 =100, y 0 =10 , 1 2 3 4 5 6 7 8 9 10 95 100 105 110 k x(k) α=0.1, β=5 1 2 3 4 5 6 7 8 9 10 9 9.5 10 10.5 k y(k) α=0.1, β=5 1 2 3 4 5 6 7 8 9 10 50 100 150 k x(k) α=0.24, β=5 1 2 3 4 5 6 7 8 9 10 0 5 10 15 20 25 k y(k) α=0.24, β=5 x 1 =110 例 考察 α, β 的含义 α ~消费者对需求的敏感程度 β ~生产者对价格的敏感程度 α 小, 有利于经济稳定 β 小, 有利于经济稳定 1<? αβ 经济稳定 结果解释 ~),( 00 αα xxyy kk ??=? 商品数量减少 1单位 ,价格上涨幅度 ~),( 001 ββ yyxx kk ?=? + 价格上涨 1单位 ,(下时段 )供应的增量 经济不稳定时政府的干预办法 1. 使 α 尽量小,如 α =0 以行政手段控制商品价格不变 2. 使 β 尽量小,如 β =0 靠经济实力控制商品数量不变 需求曲线变为水平 供应曲线变为竖直 x y 0 y 0 g f x y 0 x 0 g f 例 3 汽车厂生产计划 ? 如果生产某一类型汽车,则至少要生产80辆, 那么最优的生产计划应作何改变? 汽车厂生产三种类型的汽车,已知各类型每辆车对钢 材、劳动时间的需求,利润及工厂每月的现有量 : 小型 中型 大型 现有量 钢材(吨) 1.5 3 5 600 劳动时间(小时) 280 250 400 60000 利润(万元) 2 3 4 ? 制订月生产计划,使工厂的利润最大。 4 321 432 xxxzMax ++= 600535.1.. 321 ≤++ xxxts 60000400250280 321 ≤++ xxx 为非负整数 321 ,, xxx 基本模型 小型 中型 大型 现有量 钢材 1.5 3 5 600 时间 280 250 400 60000 利润 2 3 4 整数线性规划模型( ILP) 设每月生产小、中、大型 汽车的数量分别为 x 1 , x 2 , x 3 决策变量 约束条件 目标函数 模型求解 第一种办法 为非负整数 321 ,, xxx 整数线性规划( ILP) 为非负实数 321 ,, xxx 松弛 线性规划( LP) MATLAB LINDO/LINGO 为了得到 x 1 , x 2 , x 3 的整数解,在实数解附近试探: x 1 =64.52, x 2 =167.74, x 3 =0, z=632.26 x 1 =65, x 2 =167, x 3 =0; 在满足约束条件前提下,计算并比较目标函数的大小 x 1 =64, x 2 =168, x 3 =0; … 结果 : x 1 =64, x 2 =168, x 3 =0; z=632 模型求解 第二种办法 利用直接求解整数线性规划的软件 (如: LINDO/LINGO) 求解整数线性规划的复杂程度比线性规划大得多 结果与上面相同 用普通软件能求解的整数线性规划的规模受到限制 进一步研究的问题 其中 3个子模型应去掉,然后 逐一求解,比较目标函数值, 再加上整数约束,得最优解: 80,0,0 321 ≥== xxx 0,80,0 321 =≥= xxx 80,80,0 321 ≥≥= xxx 0,0,80 321 ==≥ xxx 0,80,80 321 =≥≥ xxx 80,0,80 321 ≥=≥ xxx 80,80,80 321 ≥≥≥ xxx 0,, 321 =xxx 方法 1:分解为 8个 LP子模型 ? 若生产某类汽车,则至少生产80辆,求生产计划。 321 432 xxxzMax ++= 600535.1.. 321 ≤++ xxxts 60000400250280 321 ≤++ xxx x 1 ,x 2, , x 3 =0 或 ≥80 × × × x 1 =80, x 2 = 150, x 3 =0,最优值 z=610 方法 2:引入 0-1变量,化为整数规划(LP) M为大的正 数,如 1000 x 1 =0 或 ≥80 x 2 =0 或 ≥80 x 3 =0 或 ≥80 }1,0{,80, 11111 ∈≥≤ yyxMyx }1,0{,80, 22222 ∈≥≤ yyxMyx }1,0{,80, 33333 ∈≥≤ yyxMyx NLP可用 LINGO, MATLAB求解,其结果常依赖 于初值的选择,且不能保证得到全局最优解。 方法 3:化为非线性规划( NLP) x 1 =0 或 ≥80 00)80( 111 ≥≥? xxx , x 2 =0 或 ≥80 x 3 =0 或 ≥80 00)80( 222 ≥≥? xxx , 00)80( 333 ≥≥? xxx , 例 4 人口预报 背景 年 1625 1830 1930 1960 1974 1987 1999 人口 (亿 ) 5 10 20 30 40 50 60 世界人口增长概况 中国人口增长概况 研究人口变化规律 控制人口过快增长 年 1908 1933 1953 1964 1982 1990 1995 2000 人口 (亿 ) 3.0 4.7 6.0 7.2 10.3 11.3 12.0 13.0 5 指数增长模型(马尔萨斯 1798年提出) 常用的计算公式 k k rxx )1( 0 += x(t) ~时刻 t的人口 基本假设 : 人口 (相对 )增长率 r 是常数 tr tx txttx ?= ??+ )( )()( 今年人口 x 0 , 年增长率 r k年后人口 0 )0(, xxrx dt dx == rt extx 0 )( = tr extx )()( 0 = t rx )1( 0 +≈ 随着时间增加,人口按指数规律无限增长 指数增长模型 参数估计 (r, x 0 ) rt extx 0 )( = 专家估计;利用实际数据作拟合 artyxaxy +=→== 0 ln,ln 0 2 4 6 8 10 12 0 20 40 60 80 100 r =0.2743/10年 x 0 =4.1884 美国 1790年至 1900年数据 0 5 10 15 20 25 0 100 200 300 400 500 r =0.2022/10年 x 0 =6.0450 美国 1790年至 2000年数据 线性最小二乘法 ? 与 19世纪以前欧洲一些地区人口统计数据吻合 ? 适用于 19世纪后迁往加拿大的欧洲移民后代 ? 可用于短期人口增长预测 ? 不符合 19世纪后美国及其它地区人口增长规律 ? 不能预测较长期的人口增长过程 人口增长到一定数量后,增长率 r 逐渐下降 指数增长模型结果分析 ? 能描述十九世纪以前美国人口的增长 阻滞增长模型( Logistic模型) 人口增长到一定数量后,增长率下降的原因: 资源、环境等因素对人口增长的阻滞作用 且阻滞作用随人口数量增加而变大 假设 )0,()( >?= srsxrxr r ~固有增长率 (x很小时 ) x m ~人口容量(资源、环境能容纳的最大数量) )1()( m x x rxr ?= r是 x的减函数 m x r s =0)( = m xr rx dt dx = )1()( m x x rxxxr dt dx ?== x m xt x x x e m m rt () () = +? ? 11 0 t x 0 x(t)~S形曲线 , x增加先快后慢 x 0 x m /2 阻滞增长模型( Logistic模型) dx/dt x 0 x m x m /2 阻滞增长模型参数估计 (r, x m ) )1()( m x x rxxxr dt dx ?== 0 5 10 15 20 0 50 100 150 200 250 300 r=0.2557/10年 x m =392.0886 美国 1790年至 1990年数据 线性最小二乘法 m x r ssxr x dtdx =?= , / 6 模型检验 用模型计算 2000年美国人口,与实际数据比较 ]/)1990(1)[1990()1990()1990()2000( m xxrxxxxx ?+=?+= 实际为 281.4 (百万 )5.274)2000( =x 模型应用 ——预报美国 2010年的人口 加入 2000年人口数据后重新估计模型参数 Logistic 模型在经济领域中的应用(如耐用消费品的售量) r=0.2490, x m =434.0 x(2010)=306.0 数学建模的基本方法 ? 机理分析 ? 测试分析 根据对客观事物特性的认识,找出反映 内部机理的数量规律。 将对象看作“黑箱” ,通过对量测数据的 统计分析,找出与数据拟合最好的模型。 机理分析没有统一的方法,主要通过实例研究 (Case Studies)来学习。以下建模主要指机理分析。 ? 二者结合 用机理分析建立模型结构 , 用测试分析 确定模型参数。 2 2 21 == αα tgtg 数学建模的一般步骤 模型准备 模型假设 模型构成 模型求解模型分析 模型检验 模型应用 模 型 准 备 了解实际背景 明确建模目的 搜集有关信息 掌握对象特征 形成一个 比较清晰 的 ‘问题 ’ 模 型 假 设 针对问题特点和建模目的 作出 合理 的、 简化 的假设 在合理与简化之间作出 折中 模 型 构 成 用数学的语言、符号描述问题 发挥想象力 使用类比法 尽量采用简单的数学工具 数学建模的一般步骤 数学建模的一般步骤 模型 求解 各种数学方法、软件和计算机技术 如结果的误差分析、统计分析、 模型对数据的稳定性分析 模型 分析 模型 检验 与实际现象、数据比较, 检验模型的合理性、适用性 模型应用 数学建模的重要意义 ? 电子计算机的出现及飞速发展; ? 数学以空前的广度和深度向一切领域渗透。 数学建模越来越受到人们的重视: 1. 在一般工程技术领域数学建模仍然大有用武之地; 2. 在高新技术领域数学建模几乎是必不可少的工具; 3. 数学进入一些新领域,为数学建模开辟了许多处女地。 7 数学建模的重要意义 ? 分析与设计 ? 预报与决策 ? 控制与优化 ? 规划与管理 数学建模 知识经济 如虎添翼 计算机技术 怎样学习数学建模 数学建模与其说是一门技术,不如说是一门艺术 技术大致有章可循 艺术无法归纳成普遍适用的准则 想象力 洞察力 判断力 ? 学习、分析、评价、改进别人作过的模型 ? 亲自动手,认真作几个实际题目 实验练习 实验目的 通过解决简化的实际问题,学习初步 的数学建模方法,培养建模意识。 实验内容 ? 老师课上布置 ? 同学通过 “清华网络学堂 ”提交作业 ? 网址: http://learn.tsinghua.edu.cn