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