收藏 分享(赏)

计算机模拟2.ppt

上传人:ysd1539 文档编号:7256563 上传时间:2019-05-11 格式:PPT 页数:23 大小:238.50KB
下载 相关 举报
计算机模拟2.ppt_第1页
第1页 / 共23页
计算机模拟2.ppt_第2页
第2页 / 共23页
计算机模拟2.ppt_第3页
第3页 / 共23页
计算机模拟2.ppt_第4页
第4页 / 共23页
计算机模拟2.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、数学建模竞赛暑期培训,Monte Carlo模拟,模拟的概念,模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。,模拟的基本思想是建立一个试验模型,这个模型包含所研究系统的主要特点通过对这个实验模型的运行,获得所要研究系统的必要信息,模拟的方法,1、物理模拟:对实际系统及其过程用功能相似的实物系统去模仿。 例如,军事演习、船艇实验、沙盘作业等。,物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难。而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等。,在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化

2、假设,与面临的实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一的选择。,在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟。现代的数学模拟都是在计算机上进行的,称为计算机模拟。,2、数学模拟,计算机模拟可以反复进行,改变系统的结构和系数都比较容易。,蒙特卡洛(Monte Carlo)方法是一种应用随机数来进行计算机模拟的方法此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数,Matlab中产生随机数的命令,在Matlab软件中,可以直接产生满足各种分布的随机数,命令如下:,2产生mn阶,均匀分布的随机数矩阵:rand (m,

3、n)产生一个,均匀分布的随机数:rand,1产生mn阶a,b均匀分布U(a,b)的随机数矩阵:unifrnd (a,b,m, n)产生一个a,b均匀分布的随机数:unifrnd (a,b),当只知道一个随机变量取值在(a,b)内,但不知道(也没理由假设)它在何处取值的概率大,在何处取值的概率小,就只好用U(a,b)来模拟它。,当研究对象视为大量相互独立的随机变量之和,且其中每一种变量对总和的影响都很小时,可以认为该对象服从正态分布。,机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、各种测量误差、人的身高、体重等,都可近似看成服从正态分布。,若连续型随机变量X的概率密度函数为其中 0为常数

4、,则称X服从参数为 的指数分布。,指数分布的期望值为,排队服务系统中顾客到达率为常数时的到达间隔、故障率为常数时零件的寿命都服从指数分布。,指数分布在排队论、可靠性分析中有广泛应用。,注意:Matlab中,产生参数为 的指数分布的命令为exprnd( ),例 顾客到达某商店的间隔时间服从参数为0.1的指数分布,指数分布的均值为1/0.1=10。指两个顾客到达商店的平均间隔时间是10个单位时间.即平均10个单位时间到达1个顾客. 顾客到达的间隔时间可用exprnd(10)模拟。,设离散型随机变量X的所有可能取值为0,1,2,且取各个值的概率为 其中 0为常数,则称X服从参数为 的帕松分布。,帕松

5、分布在排队系统、产品检验、天文、物理等领域有广泛应用。,帕松分布的期望值为,指数分布与帕松分布的关系:,(1)指两个顾客到达商店的平均间隔时间是10个单位时间.即平均10个单位时间到达1个顾客.(2)指一个单位时间内平均到达0.1个顾客,例 (1)顾客到达某商店的间隔时间服从参数为0.1的指数分布(2)该商店在单位时间内到达的顾客数服从参数为0.1的帕松分布,离散系统模拟实例: 排队问题,排队论主要研究随机服务系统的工作过程。,在排队系统中,服务对象的到达时间和服务时间都是随机的。排队论通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象平均特性的规律,从而为设计新的服务系统和改进现有

6、服务系统的工作提供依据。,对于排队服务系统, 顾客常常注意排队的人是否太多, 等候的时间是否长, 而服务员则关心他空闲的时间是否太短. 于是人们常用排队的长度、等待的时间及服务利用率等指标来衡量系统的性能.,1 系统的假设: (1) 顾客源是无穷的;(2) 排队的长度没有限制; ( 3) 到达系统的顾客按先后顺序依次进入服务, 即“先到先服务”。,单服务员的排队模型:在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店设: 1顾客到来间隔时间服从参数为0.1的指数分布 对顾客的服务时间服从,上的均匀分布 排队按先到先服务规

7、则,队长无限制,假定一个工作日为8小时,时间以分钟为单位。 1模拟一个工作日内完成服务的个数及顾客平均等待时间t 2模拟100个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间。,2 符号说明 w:总等待时间;ci:第i个顾客的到达时刻;bi:第i个顾客开始服务时刻; ei:第i个顾客服务结束时刻xi:第i-1个顾客与第i个顾客之间到达的间隔时间yi:对第i个顾客的服务时间,c1,b1,c3,c4,c5,c2,e1,b2,e2,b3,e3,b4,e4,b5,ci=ci-1+ xi ei=bi+yi bi=max(ci,ei-1),t,1模拟一日 To Matlab(simu1),2模

8、拟100日 To Matlab(simu2),返回,用蒙特卡洛法解非线性规划问题,基本假设,试验点的第j个分量xj服从aj ,bj内的均匀分布,符号假设,求解过程,先产生一个随机数作为初始试验点,以后则将上一个试验点的第j个分量随机产生,其它分量不变而产生一新的试验点这样,每产生一个新试验点只需一个新的随机数分量当KMAXK或PMAXP时停止迭代,在Matlab软件包中编程,共需三个文件:randlp.m, mylp.m, lpconst.m.主程序为randlp.m.,% mylp.m function z=mylp(x) %目标函数 z=2*x(1)2+x(2)2-x(1)*x(2)-8*

9、x(1)-3*x(2); %转化为求最小值问题,% randlp.m function sol,r1,r2=randlp(a,b,n) %随机模拟解非线性规划 debug=1; a=0; %试验点下界 b=10; %试验点上界 n=1000; %试验点个数 r1=unifrnd(a,b,n,1); %n1阶的a,b均匀分布随机数矩阵 r2=unifrnd(a,b,n,1); sol=r1(1) r2(1); z0=inf; for i=1:nx1=r1(i);x2=r2(i);lpc=lpconst(x1 x2);if lpc=1z=mylp(x1 x2);if zz0z0=z;sol=x1

10、x2;endend end,To Matlab(randlp),返回,练习题,1、编一个福利彩票电脑选号的程序。,4. 某设备上安装有四只型号规格完全相同的电子管,已知电子管寿命为1000-2000小时之间的均匀分布。当电子管损坏时有两种维修方案,一是每次更换损坏的那一只;二是当其中一只损坏时四只同时更换。已知更换时间为换一只时需1小时,4只同时换为2小时。更换时机器因停止运转每小时的损失为20元,又每只电子管价格10元,试用模拟方法决定哪一个方案经济合理?,5. 导弹追踪问题:设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度(是常数)沿平行于y轴的直线行驶,导弹的速度是5,模拟导弹运行的轨迹.又乙舰行驶多远时,导弹将它击中?,投掷硬币的计算机模拟,1、产生服从U(0,1)的随机数R1,2、将区间0,1两等分:若 ,则对应硬币正面若 ,则对应硬币反面,掷骰子的计算机模拟,1、产生服从U(0,1)的随机数R2,2、将区间0,1六等份:若 ,则对应骰子点数为1若 ,则对应骰子点数为2若 ,则对应骰子点数为3若 ,则对应骰子点数为4若 ,则对应骰子点数为5若 ,则对应骰子点数为6,To Matlab(liti1),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报