




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模拟建模
模拟的概念及作用现实系统的数学或逻辑模型可能十分复杂,例如大多数具有随机因素的复杂系统,其中的一些随机性因素很难用准确的数学公式表述,从而也无法对整个系统采用解析法求解。模拟是处理这类实际问题的有力工具。应用领域:运输系统模拟摩天大楼安全疏散系统模拟国民经济发展模拟人口增长系统模拟供水系统模拟蒙特卡洛(MonteCarlo)法,或称统计试验法、计算机随机模拟方法蒙特卡洛法是一种基于“随机数”,采用统计抽样方法,近似求解数学问题或物理问题的过程。当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验的方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。这就是蒙特卡罗方法的基本思想。计算机模拟试验过程
计算机模拟试验过程,就是将试验过程(如投针,射击)化为数学问题,在计算机上实现。
蒙特卡罗方法常以一个“概率模型”为基础,按照它所描述的过程,使用由已知分布抽样的方法,得到部分试验结果的观察值,求得问题的近似解。
从这个意义上讲,蒙特卡罗方法可以部分代替物理实验,甚至可以得到物理实验难以得到的结果。用蒙特卡罗方法解决实际问题,可以直接从实际问题本身出发,而不从方程或数学表达式出发。它有直观、形象的特点。具有同时计算多个方案与多个未知量的能力
对于那些需要计算多个方案的问题,使用蒙特卡罗方法有时不需要像常规方法那样逐个计算,而可以同时计算所有的方案,其全部计算量几乎与计算一个方案的计算量相当。另外,使用蒙特卡罗方法还可以同时得到若干个所求量,而不像常规方法那样,需要逐一计算所求量。计算机模拟:在已经建立的数学、逻辑模型的基础之上,通过计算机试验,对一个系统按照一定的决策原则或作业规则,由一个状态变换为另一个状态的行为进行描述和分析。系统状态随时间而变化的动态写照模拟的作用对于很难用解析方法加以处理的问题,模拟是一种有效的技术;对建模过程中的假设进行鉴定,对理论研究的结论加以检验;对不同的实现方案进行多次模拟,按照既定的目标函数对不同方案进行比较,从中选择最优方案。模拟的分类
通常,模拟时间是模拟的主要自变量。其他变量作为因变量来看待。推进模拟时间的基本方法:下次事件法:将模拟时间由一个事件发生的时间点推进到紧接着的下一次事件发生的时间点。---系统的状态仅在固定时间步长法:模拟时间每次均以相等的固定步长向前推进,每到达一个新的模拟时间点需检查相应时间段内是否发生了事件。需根据实际问题合理设置模拟时间发生改变的步长。系统状态随时间而变化的动态写照模拟的分类
根据模拟过程中因变量的变化情况进行分类:第一类:离散型模拟:因变量在与事件时间有关的具体模拟时间点呈离散性变化。大多数系统(如排队服务系统)可采用离散型模拟。排队系统通常采用离散型模拟模型。只有新顾客到来或有顾客完成服务后离去,函数值才发生变化任意时刻的排队的顾客数其中,发生系统状态变化的事件有两个:一是有顾客到达;二是服务员完成服务。将最近发生上述两种事件之一的时刻设置为下次事件发生点,就可将服务过程描述为下图所示的模拟模型。这个问题中有两类状态变量:在等待的顾客的人数(离散的非负整数);服务员Ai是否正在工作(是或否);对任意一个模拟,首先要作的是:
找出能完全描述任意时刻的系统的状态变量的集合:
从而得到平均队伍的长度,最长的队伍,顾客等待的平均时间以及两个理发员的忙闲程度等,给出能从时刻t的状态变量算出时刻t+1的新的状态变量的程序。模拟的分类第二类:连续型模拟。因变量随时间的改变呈连续性变化。在大多数计算机模拟过程中,按固定的步长推进模拟时间。通常需建立一系列的由系统状态变量组成的状态方程组,以描述状态变量与模拟时间的关系。第三类:混合型模拟。因变量随时间的推移而作连续性的变化并具有离散性的突变,如库存控制系统。模拟的方式
终态模拟:在规定的时间T内进行模拟运行,时间达到T时,模拟终止。其性能指标明显取决于系统的初始状态。稳态模拟:随着模拟时间的推移,系统的性能逐渐趋于平稳。其目的是研究非终态系统长期运行条件下的稳态性能,模拟时间的长短取决于能否获得系统性能的优良估计(可由模拟输出的精度确定)。模拟的一般步骤明确问题,建立模型。
明确模拟目的,确定模拟输出结果的目标函数 分析各状态变量之间关系,建立系统模型收集和整理数据资料。特别是随机性资料。
分析收集的随机数据,确定系统中随机性因素的概率分布特征,以此为依据产生抽样数据编制程序,模拟运行。
编程、设定初始状态,模拟运行时间、随机样本量、模拟运行次数分析模拟输出结果: 模拟结果的统计特性(样本均值、方差、置信区间等) 灵敏性分析(输入参数做微小变化是否导致输出结果巨大改变) 选择最优方案。系统用其他方法是是否用仿真否构造模型数据准备编程程序运行分析仿真结果结果是否充分是停止否模型是否有效修改模型策略或重复运行是否修改模型系统模拟注意事项:一次模拟结果毫无意义!模拟是试验性的,是思维结果的验证。必须进行足够多次的模拟,并对结果进行统计分析。随机数的产生数学方法常见产生均匀分布随机数的几种方法的有平方取中法、倍积取中法、乘同余法、二阶与三阶线性同余法由均匀分布产生各种分布的随机数、反函数法、取舍法、Box-Muller方法和极方法。。随机数的产生:二项分布随机数据正态分布的随机数据的产生
randperm(n):产生一个1到n的随机顺序。randint(m,n,[1N]):生成m×n的在1到N之间的随机整数矩阵,rand(m,n):生成0到1之间的m×n的随机数矩阵
randn是均值为0方差为1的正态分布常见分布的随机数产生
例
在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点.
经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人.
现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。分析:这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程.
为了能显示我方20次射击的过程,现采用模拟的方式。
需要模拟出以下两件事:
1.问题分析[2]当指示正确时,我方火力单位的射击结果情况[1]观察所对目标的指示正确与否模拟试验有两种结果,每一种结果出现的概率都是1/2.
因此,可用投掷一枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确.
模拟试验有三种结果:毁伤一门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6).
这时可用投掷骰子的方法来确定:如果出现的是1、2、3三个点:则认为没能击中敌人;如果出现的是4、5点:则认为毁伤敌人一门火炮;若出现的是6点:则认为毁伤敌人两门火炮.2.符号假设i:要模拟的打击次数;k1:没击中敌人火炮的射击总数;k2:击中敌人一门火炮的射击总数;k3:击中敌人两门火炮的射击总数.E:有效射击比率;E1:20次射击平均每次毁伤敌人的火炮数.3.模拟框图初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子点数?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i<20?E=(k2+k3)/20E1=0*k1/20+1*k2/20+2*k3/20停止硬币正面?YNNY1,2,34,56R2=unidrnd(6)企业生产的库存系统在销售部门、工厂等领域中都存在库存问题,库存太多造成浪费以及资金积压,库存少了不能满足需求也造成损失,部门的工作人员需要决定何时进货,进多少,使得所花费的平均费用最少,而收益最大,这就是库存问题.某企业生产易变质的产品.当天生产的产品必须当天售出,否则就会变质.该产品单位成本为2.5元,单位产品售价为5元.企业为避免存货过多而造成损失,拟从以下两种库存方案中选出一个较优的方案.方案甲:按前一天的销售量作为当天的货存量;方案乙:按前二天的平均销售量作为当天的货存量;假定市场对该产品的每天需求量是一个随机变量,但从以往的统计分析得知它服从正态分布
用蒙特卡洛法解非线性规划问题基本假设
试验点的第j个分量xj服从[aj,bj]内的均匀分布.符号假设求解过程
先产生一个随机数作为初始试验点,以后则将上一个试验点的第j个分量随机产生,其它分量不变而产生一新的试验点.这样,每产生一个新试验点只需一个新的随机数分量.当K>MAXK或P>MAXP时停止迭代.框图初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数xj=aj+R(bj-aj)j=1,2,…,nj=0j=j+1,p=p+1P>MAXP?YNxj=aj+R(bj-aj)gi(X)≥0?i=1,2…nYNj<n?f(X)≥Q?YNX*=X,Q=f(X)k=k+1k>MAXK?YN输出X,Q,停止YN
在Matlab软件包中编程,共需三个M-文件:randlp.m,mylp.m,
lpconst.m.主程序为randlp.m.%mylp.mfunctionz=mylp(x)%目标函数z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2);%转化为求最小值问题%lpconst.m
function
lpc=lpconst(x)
%约束条件
if
3*x(1)+x(2)-10<=0.5&3*x(1)+x(2)-10>=-0.5
%约束条件的误差为5.0±
lpc=1;
else
lpc=0;
end
%randlp.m
function[sol,r1,r2]=randlp(a,b,n)%随机模拟解非线性规划debug=1;a=0;%试验点下界b=10;%试验点上界n=1000;%试验点个数r1=unifrnd(a,b,n,1);%n×1阶的[a,b]均匀分布随机数矩阵r2=unifrnd(a,b,n,1);sol=[r1(1)r2(1)];z0=inf;fori=1:nx1=r1(i);x2=r2(i);lpc=lpconst([x1x2]);
iflpc==1z=mylp([x1x2]);
ifz<z0z0=z;sol=[x1x2];
end
endend伪随机数
在计算机上产生随机数最实用、最常见的方法是数学方法,即用如下递推公式:产生随机数序列。对于给定的初始值ξ1,ξ2…,ξk,确定ξn+k,n=1,2,…。伪随机数存在的两个问题
用数学方法产生的随机数,存在两个问题:递推公式和初始值ξ1,ξ2…,ξk确定后,整个随机数序列便被唯一确定。不满足随机数相互独立的要求。由于随机数序列是由递推公式确定的,而在计算机上所能表示的[0,1]上的数又是有限的,因此,这种方法产生的随机数序列就不可能不出现无限重复。随机数序列便出现了周期性的循环现象。
由于这两个问题的存在,常称用数学方法产生的随机数为伪随机数。对于以上存在的两个问题,作如下具体分析。关于第一个问题,不能从本质上加以改变,但只要递推公式选得比较好,随机数间的相互独立性是可以近似满足的。至于第二个问题,则不是本质的。因为用蒙特卡罗方法解任何具体问题时,所使用的随机数的个数总是有限的,只要所用随机数的个数不超过伪随机数序列出现循环现象时的长度就可以了。用数学方法产生的伪随机数容易在计算机上得到,可以进行复算,而且不受计算机型号的限制。因此,这种方法虽然存在着一些问题,但仍然被广泛地在计算机上使用,是在计算机上产生伪随机数的主要方法。
一道工序用自动化车床连续加工某种零件,由于刀具损坏等原因该工序会出现故障,其中刀具损坏故障占95%,其它故障仅占5%。工序出现故障是完全随机的,假定在生产任一零件时出现故障的机会均相同。工作人员通过检查零件来确定工序是否出现故障。现积累有100次刀具故障记录,故障出现时该刀具完成的零件数如附表。现计划在刀具加工一定件数后定期更换新刀具。已知生产工序的费用参数如下:故障时产出的零件损失费用f=200元/件;进行检查的费用x=10元/次;发现故障进行调节使恢复正常的平均费用d=3000元/次未发现故障时更换一把新刀具的费用k=1000元/次。1)假定工序故障时产出的零件均为不合格品,正常时产出的零件均为合格品,试对该工序设计效益最好的检查间隔和刀具更换策略。2)如果该工序正常时产出的零件不全是合格品,有2%为不合格品:而工序故障时产出的零件有40%为合格品,60%为不合格品。工序正常而误认为有故障停机产生的损失费用为1500元/次。对该工序设计效益最好的检查间隔和刀具更换策略。1999年A题自动化车床管理
较复杂的非线性优化问题1、验证模型的正确性,采用计算机模拟以零件的序列为模拟序列确定随机事件,如主要随机事件--刀具的损害作为,可分析证明刀具寿命服从正态分布编制程序模拟事件发生过程对不同的给定检查间隔和换刀间隔进行模拟,得到单位零件平均工作周期内的资金损耗比较模型结果和模拟结果2、检验假设如第二问中,加入了随机因子,问题更为复杂,建模过程中不免加入一些假设使问题更简单化。如由于非刀具故障占总故障的百分比较小,为5%,故假设其对结果影响不大,从而不考虑非刀具故障。可通过计算机模拟对此假设进行验证。3、对多个策略进行仿真比较如对问题二通过分析提出如下几个检查策略(h为检查间隔)策略1、检查第h个零件,如为正品,则继续生产;如为废品,停止生产, 换刀。策略2、检查第h个零件,如为正品,则继续生产;如为废品,则检查第 h+1个,若正品,继续生产,如废品,换刀。策略3、检查第h个零件,如为废品,则换刀;如为正品,则检
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司烧烤广场活动方案
- 公司给客户活动方案
- 公司生日下午茶活动方案
- 公司组织生日宴活动方案
- 公司新年开门红活动方案
- 商店交接协议书范本
- 公司文化饯行活动方案
- 拼多多的品牌影响力提升策略研究
- 公司职工五一活动方案
- 林业分户协议书范本
- 零售药店计算机管理系统操作规程
- 洁净室施工培训
- 新生儿糖尿病喂养指导
- 山西省太原市(2024年-2025年小学五年级语文)统编版期末考试(下学期)试卷及答案
- 住院患者跌倒、坠床、压力性损伤的风险评估及管理
- 2023风光互补路灯设计方案
- 2023年山东省夏季普通高中学业水平合格考试会考生物试题及参考答案
- 2024年山东省青岛市中考英语试卷附答案
- 材料力学(山东联盟-中国石油大学(华东))智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
- 江西省南昌二中心远教育集团九湾学校2023-2024学年八年级下学期期末考试物理试题
- 深入理解Nginx(模块开发与架构解析)
评论
0/150
提交评论