当前位置:文档之家› 2017数学建模 计算机仿真分析

2017数学建模 计算机仿真分析


可以说计算机仿真的适用于几乎所有的社会生活领域!
计算机仿真的核心思想方法

过程明确,机理清晰 连续问题离散化 蒙特卡洛方法 遍历
产生模拟随机数的计算机命令
在MATLAB软件中,可以直接产生满足各种分布的 随机数,命令如下: 1.产生m×n阶[a,b]上均匀分布U(a,b)的随机数矩阵: unifrnd (a,b,m, n) 产生一个[a,b]均匀分布的随机数:unifrnd (a,b) 当只知道一个随机变量取值在(a,b)内,但不知道 (也没理由假设)它在何处取值的概率大,在何处取值的 概率小,就只好用U(a,b)来模拟它. 2.产生m×n阶[0,1]均匀分布的随机数矩阵: rand (m, n)
计算机仿真的分类




物理系统仿真——电系统、机械系统等的仿真,大坝 承受力仿真,原子弹爆炸威力…… 系统演变仿真——河堤垮塌后洪水蔓延程度仿真,海 啸蔓延程度仿真,种群生长仿真,战争推演仿真…… 蒙特卡洛方法——不规则图形的面积、体积,圆周率 的计算,电脑围棋……核心:生成随机数,……被列 为20世纪最伟大的10大算法之首。 离散事件仿真——企业经营策略…… 有些仿真需要一些设备工具甚至人的参与,这里不涉 及此类,只考虑与完全可用数学推演描述的问题。
则第i天的总费用(元)为 f i 0.75ki xi 1.8qi yi 75zi
150天的总费用(元)为
f fi
i 1
150
然而以此总费用最小为目标函数是不妥的,应当 将总费用分摊到每辆销售的自行车上,即单位销 量的费用更加合适,所以评价函数为
F
fห้องสมุดไป่ตู้
s
i 1
150
i
图 计 算 机 订 货 决 策 仿 真 流 程 图
计算机仿真
一个问题

我们做一个实验:把 一个硬币掷一万次, 统计两个面出现的次 数。这样做很简单但 却需要大量时间,有 没有一种较快的办法 把这个实验完成呢?
利用计算机可以实现这一想法



生成一个在 [ 0, 1] 中的随机数a, 如果a<0.5,则认为是掷硬币出现了正面, 给计数变量k1增加1; 如果,则认为是掷硬币出现了反面,给 计数变量k2增加1。 将该过程循环一万次即可。
3. 某设备上安装有4只型号规格完全相同的电子管,已知电 子管寿命服从1000~2000h之间的均匀分布.电子管损坏时 有两种维修方案,一是每次更换损坏的那只;二是当其中1 只损坏时4只同时更换.已知更换时间为换1只时需1h,4只 同时换为2h.更换时机器因停止运转每小时的损失为20元, 又每只电子管价格10元,试用模拟方法确定哪一个方案经济 合理?
4、一个边长为10米的正方体空间 内有一个发声物体。在这个正方体 的A(x1,x2),B(y1,y2),C(z1,z2)三处安装 了三个时间完全同步声音接受转置。 三个装置分别在t1,t2,t3时刻接受到 了同一声音信号。请建立模型求出 发声物体的位置。
例 顾客到达某商店的间隔时间服从参数为0.1的指数分布 指数分布的均值为1/0.1=10. 指两个顾客到达商店的平均间隔时间是10个单位时间.即平均10 个单位时间到达1个顾客. 顾客到达的间隔时间可用exprnd(10)模 拟.
5.产生 m n 阶参数为 的泊松分布的随机数矩阵:
poissrnd ( ,m, n)
产生一个[0,1]均匀分布的随机数:rand
3.产生 m n 阶均值为 ,方差为 的正态分布的随机数矩阵: normrnd ( , ,m, n)
产生一个均值为 ,方差为 的正态分布的随机数: normrnd ( , )
•当研究对象视为大量相互独立的随机变量之和,且其中每 一种变量对总和的影响都很小时,可以认为该对象服从正态 分布. •机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、 各种测量误差、人的身高、体重等,都可近似看成服从正态 分布.
计算机仿真案例4



某自行车商店的仓库管理人员采取一种简单的订货策略,当 库存量降低到P辆自行车时就向厂家订货,每次订货Q辆, 如果某一天的需求量越过了库存量,商店就有销售损失和信 誉损失,但如果库存量过多,会导致资金积压和保管费增加。 该问题的已知条件是: (1)从发出订货到收到货物需隔三天; (2)每辆自行车保管费为0.75元/天,每辆自行车的缺货损 失为1.8元/天,每次的订货费为75元; (3)每天自行车的需求量服从0到99之间的均匀分布; (4)原始库存为115辆,并假设第一天没有发出订货。 若现在已有如下表所示的五种库存策略,请选择一种总费用 最少的策略。
Qi ( x i x 0 ) x0 )2 ( yi y0 )2 Qi ( y i x 0 ) x0 ) ( yi y0 )
2 2
0 0
2、数值计算方法 3、计算机仿真: 离散化,遍历!
计算机仿真案例2

例2 (赶火车过程仿真)一列火车从A站经过B站开 往C站,某人每天赶往B站乘这趟火车。已知火车从 A站到B站的运行时间是均值为30min、标准差为 2min的正态随机变量。火车大约在下午1点离开A 站。火车离开时刻的频率分布和这个人到达B站时 刻的频率分布如下表所示。问他能赶上火车的概率 有多大?
4.产生 m n 阶期望值为 的指数分布的随机数矩阵:exprnd ( ,m, n )
e t x 0 •若连续型随机变量X的概率密度函数为 f ( x) x0 0 其中 >0为常数,则称X服从参数为 的指数分布. 1 •指数分布的期望值为
•排队服务系统中顾客到达率为常数时的到达间隔、故障 率为常数时零件的寿命都服从指数分布. •指数分布在排队论、可靠性分析中有广泛应用. •注意:MATLAB 中,产生参数为 1 exprnd( ) 的指数分布的命令为
评价函数的设置方法





第i天销售量为 s i 辆 缺货量为 q i 辆 销售完后的库存量为 k i 辆 0-1变量 x i 表示第i天销售完后是否有库存,若库存量大 于等于0,则 x i =1,否则为0; 用0-1变量 yi 表示第i天销售是否会缺货,如果缺货量大 于0,则 yi =1; 用0-1变量 z i 表示第i天是否要订货。
上面就是一个计算机仿真最简单的例子!
计算机仿真的定义


计算机仿真就是根据已知的信息和知识, 利用计算机模拟现实情况或系统演变过 程,发现新的知识和规律,从而解决问 题的一种方法。 计算机仿真被称为独立于理论研究和实 验研究的第三种方法。
计算机仿真的特点




代价小,时间短,可重复,参数设置灵 活 是一种独特的“数”学模型。 是一种求解许多实际问题和数学模型的 简单方法,由于它不需要太多的数学知 识,非常适合各类工程技术人员。 计算机仿真仿的是“象”、是“数”, 要忽略许多具体的事物特征。
1:00 0.7 1:05 0.2 1:10 0.1 到达时刻 频率 1:28 0.3 1:30 0.4 1:32 0.2 1:34 0.1
出发时刻 频率
分析:这个问题用概率论的方法求解十分困难, 它涉及此人到达时刻、火车离开A站的时刻、火 车运行时间几个随机变量。
我们可以用计算机仿真的方法来解决。 仿真过程: 1、生成火车的发车时间、运行时间,从而达得到 其到达B站的时间。 2、生成此人达到B站的时间。 3、如果此人到达B站的时间早于火车到达时间, 则算赶上火车一次。 4、将上述过程重复一万次,统计赶上火车的频率 作为所求概率。
计算机仿真案例3
追击问题
我缉私雷达发现前方(南)c km处有一艘走私船正 以速度a沿直线向东匀速行驶,缉私艇立即以最大速度b 追赶,若用雷达进行跟踪,缉私艇的瞬时速度方向始终 指向走私船,是求缉私艇追逐路线和追赶上的时间。 分析 此问题可以建立微分方程模型,这里我们建立差分方 程模型,用仿真的方法求解。
P( X k )
k e
k!
, k 0,1, 2,
,
反之亦然.
例 (1)顾客到达某商店的间隔时间服从参数为0.1的指数分布

(2)该商店在单位时间内到达的顾客数服从参数为0.1的泊松分布 (1)指两个顾客到达商店的平均间隔时间是10个单位时间.即平均 10个单位时间到达1个顾客. (2)指一个单位时间内平均到达0.1个顾客
3
实验作业
1.编一个福利彩票电脑选号的程序.
2. 某报童以每份 0.03 元的价格买进报纸,以 0.05 元的价格出售. 根据 长期统计,报纸每天的销售量及百分率为 200 210 220 230 240 250 销售量 0.10 0.20 0.40 0.15 0.10 0.05 百分率 已知当天销售不出去的报纸,将以每份 0.02 元的价格退还报社.试用模 拟方法确定报童每天买进多少份报纸,能使平均总收入最大?
计算机仿真案例1
模型建立:由于本题要求使从搅拌中心到各个工地运输混凝土 的总的吨公里数最少,所以,该问题的目标函数是
min f ( x 0 , y 0 ) Q i ( x i x 0 ) 2 ( y i y 0 ) 2
i 1
n
求解方法:
1、高数中的方法
n f ( x 0 , y 0 ) x0 i 1 (( x i n f ( x , y ) 0 0 y0 i 1 (( x i
方案编号 方案1 方案2 方案3 方案4
订货起点:P辆 125 125 150 175
订货量:Q 150 250 250 250
方案5
175
300
我们以150天为例,依次对这五种方案进行仿真, 最后比较个方案的总费用,从而得出决策。
计算机仿真时的工作流程是早上到货、 全天销售、晚上订货。输入一下常数和初始 数据后,以一天为时间步长进行仿真。 首先检查这一天是否为预订到货日期,如果是,则 原有库存量加Q,并把到货量清为零;如果不是,则库 存量不变。 接着仿真随机需求量,这可用计算机语言这的随机 函数得到。如果库存量大于需求量,则新的库存量减去 需求量;反之,则新的库存量变为零,并且要在总费用 上加上缺货损失。 然后检查实际库存量加上预订到货量是否小于重 新订货点P,如果是,则需要重新订货,这是就加一 次订货费。 如此重复运行150天,即可得到所需费用总值。
相关主题