版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chap8离散事件系统仿真前面讨论的系统,其状态变量的取值是连续变化的(时间上可以连续也可以离散),这类系统的仿真称为连续系统仿真。现开始讨论另一类性质完全不同的系统,其状态只是在离散时间点上发生变化,且这些离散时间点一般是不确定的,称为离散事件系统仿真。例如单人理发馆系统,设上午9点开门,晚上11点关门,顾客的到达时间一般是随机的,为每个顾客服务的时间长度也是随机的。描述该系统的状态是服务台的状态(忙或闲)、顾客排队等待的队长。显然这些状态变量的变化也只能在离散的随机时间点上发生。类似的如订票系统、库存系统、加工制造系统、交通控制系统、计算机系统等。由于离散事件系统固有的随机性,对这类系统的研究往往十分困难,经典的概率及数理统计理论、随机过程理论虽然为研究这类系统提供了理论基础,并能对一些简单系统提供解析解,但对工程实际中的大量系统,惟有依靠计算机仿真才能提供较为完整的结果。8.1基本概念Chap8离散事件系统仿真前面讨论的系统,其状态变量的取11、实体实体是描述系统的三个基本要素之一,在离散事件系统中的实体可分为两大类:临时实体及永久实体。在系统中只存在一段时间的实体叫临时实体。永久驻留在系统中的实体称为永久实体。临时实体按一定规律不断地到达(产生),在永久实体作用下通过系统,最后离开系统,整个系统呈现出动态过程。2、事件
事件是引起系统状态发生变化的行为。从某种意义上讲,离散系统是由事件来驱动的。如,理发馆系统中,可以定义“顾客到达”为一类事件,由于顾客的到达,系统的状态将发生变化—服务员可能从闲变忙(如果无人排队),或排队的队长会增加。类似的,可以定义服务开始事件、服务结束事件。在一个系统中,往往有许多类事件,而事件的发生一般与某一类实体相联系,有些事件的发生还可能引起别的事件的发生,或是另一类事件发生的条件。为了实现对系统中事件进行管理,仿真模型中必须建立事件表,表中记录每一发生了的或将要发生的事件的类型和发生时间,以及与该事件相联的实体的有关属性等等。1、实体实体是描述系统的三个基本要素之一,在离散事件系23、活动离散事件系统中的活动,通常用于表示两个可以区分的事件之间的过程,它标志着系统状态的转移。如前例中,顾客的到达事件与该顾客开始接受服务事件之间可以称为一个活动(排队活动),该活动使系统的状态(队长)发生变化。4、进程进程是由若干个有序的事件及若干有序活动组成,一个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系。如顾客到达、经过排队、接受服务、服务完毕后离去可称为一个进程。进程排队活动服务活动顾客到达事件服务开始事件服务结束事件3、活动离散事件系统中的活动,通常用于表示两个可以区分35、仿真钟仿真钟用于表示仿真时间的变化。在连续系统仿真中,将连续模型进行离散化而成为仿真模型时,仿真时间的变化基于仿真步长的确定,可以是定步长也可以是变步长,称为时间步长法。对于离散事件系统而言,其状态本来就只在离散时间点上发生变化,因而不需要进行离散化处理。但是由于引起状态变化的事件发生时间的随机性,仿真钟的推进步长则完全是随机的,所以说仿真模型中时间控制部件必不可少,应按一定规律来控制仿真钟的推进。8、统计计数器连续系统仿真的目的是要得到状态变量的动态变化过程并由此分析系统的性能。离散事件系统的状态随事件的不断发生也呈现出动态变化的过程,但仿真的目的主要不是要得到这些状态是如何变化的。由于状态的变化是随机的,某一次仿真运行得到的状态变化过程只不过是随机过程的一次取样。如果进行另一次独立的仿真运行所得到的状态变化过程可能完全是另一种情况。所以它们只有在统计意义下才有参考价值。在前例中,由于顾客到达的时间间隔具有随机性,服务员为每个顾客服务的时间长度也是随机的,因而在某一时刻,顾客排队的队长或服务台的忙闲情况完全是不确定的,在分析该系统时,感兴趣的是系统的平均队长、顾客的平均等待时间或服务员的利用率等。所以在仿真模型中,需要有一个统计计数部件,以便统计系统中的有关变量。5、仿真钟仿真钟用于表示仿真时间的变化。在连续系统仿真48.2仿真钟的推进离散事件系统仿真的仿真钟推进方法有两种:一种是按下一最早发生事件的发生时间推进,称为事件调度法,亦称为事件步长法;另一种是固定增量推进法。8.2仿真钟的推进离散事件系统仿真的仿真钟推进方法有两5事件步长法事件步长法是以事件发生的时间为增量,按照事件发生的时间顺序,一步一步地对系统的行为进行仿真,直到预定的时间结束为止。在多数随机系统中,可以有多种性质的事件发生,通常按照发生时间的先后顺序逐个处理,换句话说,首先处理发生时刻距初始时刻最短的事件,这种处理方法称为是最短时间的事件步长法。事件步长法事件步长法是以事件发生的时间为增量,按照事件发生的6事件步长法初始状态事件步长加1在当前步长内,考察分析,计算和记录系统的活动仿真时间到否?仿真结束输出结果是否事件步长法初始状态事件步长加1在当前步长内,仿真时间到否?仿7事件步长法事件步长法与时间步长法的主要区别是:(1)事件步长法与时间步长法都是以时间为增量来考察系统状态的变化.但在时间步长法中,仿真时钟以等步长前进,而在事件步长法中,仿真时钟的步长取决于事件之间的间隔.(2)时间步长法在一个步长内,认为系统所处的状态相同,因而所选步长的大小将影响仿真的精度.而在事件步长法中,每个事件的发生均有确切的时刻,不需要人为地选取步长,步长的大小对仿真精度影响较小.事件步长法事件步长法与时间步长法的主要区别是:(1)事件步长8事件步长法(3)时间步长法每前进一个步长就要对整个系统进行一次全面考察,即使状态没有发生变化时也要扫描,而事件步长法只是在某一事件点上判断和比较事件是否出现.因此,一般地讲,当判断比较的数目较大时,用时间步长法可以节省用机时间,而当相继两个事件出现的平均间隔较长时,更适合于用事件步长法.事件步长法(3)时间步长法每前进一个步长就要对整个系统进行一9事件步长法事件表法的基本思路事件表法的主要思路是将系统的仿真过程看成一个事件点序列,根据事件出现的时序,用一个称之为事件表的表格来调度事件执行的顺序.对于那些当前需处理的事件,列入事件表中,从中取出最接近的事件进行处理,处理完毕后自动退出事件表.在处理当前事件的过程中,往往又会产生一个后继事件,因此,必须预测出这一后继事件的出现时间,并将它列入事件表中.事件步长法事件表法的基本思路事件表法的主要思路是将系统的仿真10事件步长法-例子例1.收款台前的排队过程的仿真。
考虑一个收款台的排队系统。某个杂货店只有一个收款台,顾客的到达时间时服从均值为4.5的负指数分布,每一个顾客的服务时间服从均值为3.2,方差为0.8的正态分布。这里时间的单位是分钟,且服务的时间不取负值.试对收款台前的排队过程进行仿真。事件步长法-例子例1.收款台前的排队过程的仿真。11事件步长法-例子收款排队系统主控程序图事件步长法-例子收款排队系统主控程序图12事件步长法-例子负指数分布的随机数的产生:
x=-4.5ln(u),u为均匀分布的随机数正态分布的随机数的产生:
y=3.2+0.8v,v为标准正态分布的随机数。假设:
开始时服务台前无顾客,顾客在服务台前不离去;要求:
对100个顾客到收款台缴款排队过程进行仿真关心的问题:每个顾客的平均等待时间atime,最大队长maxl,服务员的工作效率work,;事件步长法-例子负指数分布的随机数的产生:关心的问题:13事件步长法-例子实体:服务员(忙1,闲0),顾客(到达时刻ca,服务时间cs,等待时间ct)队列(长度lq);事件event:顾客到达事件1(交款,排队)服务结束事件2(闲忙)事件表:序号事件类型(1、2)发生时刻t事件步长法-例子实体:14事件步长法-例子顾客到达子程序图事件步长法-例子顾客到达子程序图15事件步长法-例子服务结束子程序图事件步长法-例子服务结束子程序图16事件步长法-例子例:机器修理系统仿真有m台机器,由c个工人共同负责修理,并设:①各台机器质量相同,机器的连续运转时间相互独立且服从同一负指数分布,平均寿命为1/v(v>0)。②每个工人技术相同,且修理时间相互独立并服从同一负指数分布,平均修理时间为1/u(u>0).③修复后的机器其寿命分布不变。④机器停止运转每单位时间的损失费为c1元,工人单位时间的产值为c2元。若机器的等待时间为E,工人总的空闲时间为F,则系统总的损失费为S=c1E+c2F试求当机器数m固定时,为使系统的总损失费最小,应配备多少工人为最优?事件步长法-例子例:机器修理系统仿真17事件步长法-例子解:采用最短时间事件步长法进行仿真,首先要确定一个初始状态。不妨假定开始时所有的机器都正常运转,工人处于空闲状态。设T为仿真终止时间。依次仿真计算修理工人数C分别取1、2、3、…时的系统损失费。最后根据系统损失费S的极小值来确定最优工人数。根据以上思想并采用最短时间事件步长法仿真。事件步长法-例子解:采用最短时间事件步长法进行仿真,首先要确18事件步长法-例子㈡输入原始数据c1,c2,U,V,m,T给出m台机器的指数寿命B(H)=1?结束F=F+x-K②P=T3/T输出C,SC=1E=0F=0初始状态:B(i)=1,i=1,2,…,m;D(j)=0,j=1,2,..,c选取寿命最短的机器i:H=i,K=A(i)选取最早释放时刻的工人j:y=j,x=D(j)x<K?③①F=F+x-K改变第y个人工的释放时刻:D(y)=A(H)机器由故障释放改为正常:B(H)=1机器由正常改为故障:B(H)=0C=C+1K≥T?选取寿命最短的机器i:H=i,K=A(i)给出机器修复时间仿真时钟前进一个步长A(H)=K-1/vLOG(RND(1))给出机器正常运行时间仿真时钟前进一个步长A(H)=K-1/vLOG(RND(1))㈠㈠㈡①②③是否否是是否事件步长法-例子㈡输入原始数据c1,c2,U,V,m,T给出19事件步长法-例子框图中各标识符号含义如下:T:仿真终止时间m:机器数c:工人数B(i):第i台机器所处状态A(i):第i台机器现在状态的当前时刻D(j):第j个工人修复机器的释放时刻c1:一个工人单位时间的产值c2:一台机器单位故障时间的损失费
{B(i)=1机器正常运转0机器发生故障事件步长法-例子框图中各标识符号含义如下:{B(i)=120事件步长法-例子U:一个工人单位时间平均能修复的机器数V:一台机器在单位运转时间内发生故障的平均次数S:总损失费用E:机器故障时间累计F:工人空闲时间累计K:最短时间机器的当前时刻H:最短时间机器对应的机器号L:工人修完机器的释放时刻x:最短释放时间工人的当前时刻y:最短释放时间对应的工人序号事件步长法-例子U:一个工人单位时间平均能修复的机器数21事件步长法-例子下表列出了当m=86,1/V=500小时,1/U=34小时,c1=3.46元/小时,c2=3.2元/小时时的仿真结果,其中每次预定仿真时间为一万个小时,连续仿真五次取其平均值作为仿真结果。由仿真结果可知当工人数c≤10时,最优工人数为7.工人数C2345878910每小时平均损失E183.0128.976.037.624.59.09.410.215.2事件步长法-例子下表列出了当m=86,1/V=50022应用举例-可靠性问题例:一设备上三个相同的轴承,每个轴承正常工作寿命为随机变量,其概率分布如表所示.寿命h1000110012001300140015001600170018001900概率50.130.090.120.020.060.050.05任何一个轴承损坏都可以使设备停止工作,从有轴承损坏,设备停止工作,到检修工到达开始更换部件为止,称为一个延迟时间.延迟时间也是随机变量,其概率分布如下表所示.延迟时间min51015概率应用举例-可靠性问题例:一设备上三个相同的轴承,每个轴承正常23应用举例-可靠性问题设备停工时每分钟损失5元,检修工每小时工时费12元,轴承每个成本16元.更换一个轴承需要20min,同时更换两个轴承需要30min,同时更换三个轴承需要40min.现在有两种方案:方案一是损坏一个更换一个;方案二是一旦有轴承损坏就全部更换.试通过计算机仿真对这两种方案做出评价.在这一问题中,轴承寿命在1000到1900h之间,而延迟在5到15min之间,故若用时间步长法时,步长选取有些困难.步长小浪费很大,步长大又不精确,所以采用事件步长法.在事件发生时再考虑系统状态的变化情况,这就比较合理.应用举例-可靠性问题设备停工时每分钟损失5元,检修工每小时工24应用举例-可靠性问题为了进行仿真,首先对轴承寿命和延迟时间与随机数对应,对应规则分别如下两个表.轴承寿命h频率随机数区间10000.10(0,0.10)11000.13[0.10,0.23)12000.25[0.23,0.48)13000.13[0.48,0.61)14000.09[0.61,0.70)15000.12[0.70,0.82)16000.02[0.82,0.84)17000.06[0.84,0.90)18000.05[0.90,0.95)19000.05[0.95,1.00)延迟时间频率随机数区间50.60(0,0.6)100.30[0.6,0.9)150.10[0.9,1.0)轴承寿命随机数延迟时间随机数应用举例-可靠性问题为了进行仿真,首先对轴承寿命和延迟时间与25应用举例-可靠性问题由于在这一问题中各个轴承的寿命完全决定了系统的运行状态,也即决定了两个方案的费用大小,故我们选择轴承发生故障作为事件,这三个轴承发生故障的事件分别记为A、B、C.(1)方案一的仿真①产生初始事件表事件类型发生时刻延迟时间A1400h5minB1500h15minC1500h15min应用举例-可靠性问题由于在这一问题中各个轴承的寿命完全决定了26应用举例-可靠性问题②仿真时钟步进,计算费用,产生下一个事件.由表上看出,最早发生的事件是A,所以t=1400hcost=(5+20)×5+4+1×16=145元,下一个A事件发生的时刻为第2400小时25分钟(随机产生轴承寿命为1000h),刷新事件表,即删去老的A事件,产生新的A事件.刷新后的事件表如下表.事件类型发生时刻延迟时间A2400h25min5minB1500h15minC1500h15min应用举例-可靠性问题②仿真时钟步进,计算费用,产生下一个事件27应用举例-可靠性问题③寻找事件表中的最早事件进行处理.由上表看出,B、C事件同时发生在第1500h,故同时处理.时钟步进为t=1500h,再根据费用的计算方法得:cost=145+(15+30)×5+6+2×16=408元.最后利用随机数产生新事件B和C,刷新事件表,得到的新事件表:事件类型发生时刻延迟时间A2400h25min5minB2700h45min10minC2900h45min5min应用举例-可靠性问题③寻找事件表中的最早事件进行处理.由上表28应用举例-可靠性问题④重复③,t=2400h25min,cost=408+(5+20)×5+4+1×16=553元.事件类型发生时刻延迟时间A3700h50min5minB2700h45min10minC2900h45min5min重复这一过程,一直需要的时间结束即可得到方案的费用.应用举例-可靠性问题④重复③,t=2400h25min29应用举例-可靠性问题(2)方案二的仿真方案二与方案一的区别就是一旦故障发生,就更换3个轴承.设初始事件表仍为方案一初始表.表中最早的事件是A,处理事件A时要考虑延时,更换3个轴承的时间和费用.事件类型发生时刻延迟时间A1400h5minB1500h15minC1500h15mincost=(5+40)×5+8+3×16=281元.应用举例-可靠性问题(2)方案二的仿真方案二与方案一的区别就30应用举例-可靠性问题根据下一次三个轴承发生故障的时刻刷新后的事件表:事件类型发生时刻延迟时间A2400h45min5minB2600h45min10minC2800h45min5min再重复上述过程,累加费用,即可得到方案二的总费用.最后比较两种方案的费用大小即可确定选取那一种.应用举例-可靠性问题根据下一次三个轴承发生故障的时刻刷新后的31应用举例-可靠性问题程序运行结果:T=100000h方案一:cost=32705元方案二:cost=24429元从而得出方案二较方案一优。应用举例-可靠性问题程序运行结果:T=100000h32应用举例-可靠性问题//可靠性问题#include<stdio.h>#include<stdlib.h>#include<mem.h>#defineTIMES100000structtable{floatbegin;intdelay;intmake;};structtabletab[3];floatcost=0;intsort[3];intmake_event1(void){intfirst=0,sum;sort[0]=sort[1]=sort[2]=-1;floatb=tab[0].begin;if(b>tab[1].begin)first=1,b=tab[1].begin;if(b>tab[2].begin)first=2,b=tab[2].begin;inti=0;
应用举例-可靠性问题//可靠性问题33应用举例-可靠性问题if(first==0){sort[i++]=0;if(tab[1].begin==tab[0].begin)sort[i++]=1;if(tab[2].begin==tab[0].begin)sort[i++]=2;}elseif(first==1){sort[i++]=1;if(tab[2].begin==tab[1].begin)sort[i++]=2;}elseif(first==2)sort[i++]=2;for(sum=0,i=0;i<3;i++)if(sort[i]>=0)sum++;switch(sum){ case1:tab[sort[0]].make=20; cost+=(20+tab[sort[0]].delay)*5+4+16; break; case2:tab[sort[0]].make=30; cost+=(30+tab[sort[0]].delay)*5+6+32; break; case3:tab[sort[0]].make=40; cost+=(40+tab[sort[0]].delay)*5+8+48; break;}returnsum;}应用举例-可靠性问题if(first==0){34应用举例-可靠性问题intmake_event2(void){ intfirst=0,sum; sort[0]=sort[1]=sort[2]=-1; floatb=tab[0].begin; if(b>tab[1].begin)first=1,b=tab[1].begin; if(b>tab[2].begin)first=2,b=tab[2].begin; inti=0; if(first==0){ sort[i++]=0; if(tab[1].begin==tab[0].begin)sort[i++]=1; if(tab[2].begin==tab[0].begin)sort[i++]=2; } elseif(first==1){ sort[i++]=1; if(tab[2].begin==tab[1].begin)sort[i++]=2; } elseif(first==2)sort[i++]=2; tab[sort[0]].make=40; cost+=(40+tab[sort[0]].delay)*5+8+48; returnsum;}应用举例-可靠性问题intmake_event2(void35应用举例-可靠性问题voidcreate_event1(structtable*t){floatx,y;structtable*t1;x=random(1000);x/=1000;t->begin+=(t->delay+t->make)/80.0;if(x<0.1)t->begin+=1000;elseif(x<0.23)t->begin+=1200;elseif(x<0.48)t->begin+=1300;elseif(x<0.61)t->begin+=1400;elseif(x<0.70)t->begin+=1500;elseif(x<0.82)t->begin+=1800;elseif(x<0.84)t->begin+=1700;elseif(x<0.90)t->begin+=1800;elseif(x<1.00)t->begin+=1900;for(t1=&tab[0];t1<=&tab[2];t1++){ if(t1==t)continue; if(t1->begin==t->begin){ t->delay=t1->delay; return; }}y=random(1000);y/=1000;if(y<0.6)t->delay=5;elseif(y<0.90)t->delay=10;elseif(y<1.00)t->delay=15;return;}应用举例-可靠性问题voidcreate_event1(36应用举例-可靠性问题voidcreate_event2(structtable*t,structtable*t0){ floatx,y; structtable*t1; x=random(1000); x/=1000; if(t0!=0) t->begin=t0->begin+(t0->delay+t0->make)/80.0; elset->begin+=(t->delay+t->make)/80.0; if(x<0.1)t->begin+=1000; elseif(x<0.23)t->begin+=1200; elseif(x<0.48)t->begin+=1300; elseif(x<0.81)t->begin+=1400; elseif(x<0.70)t->begin+=1500; elseif(x<0.82)t->begin+=1800; elseif(x<0.84)t->begin+=1700; elseif(x<0.90)t->begin+=1800; elseif(x<1.00)t->begin+=1900; for(t1=&tab[0];t1<=&tab[2];t1++){ if(t1==t)continue; if(t1->begin==t->begin){ t->delay=t1->delay; return; } }y=random(1000);y/=1000;if(y<0.8)t->delay=5;elseif(y<0.90)t->delay=10;elseif(y<1.00)t->delay=15;return;}应用举例-可靠性问题voidcreate_event2(37应用举例-可靠性问题voidprintf_result(void){for(inti=0;i<3;i++)printf("%d\t%f\t%d\n",i+1,tab[i].begin,tab[i].delay);printf("cost=%f\n",cost);return;}voidmain1(void){ inti; floatT=0; memset(tab,0,sizeof(tab)); cost=0; randomize(); create_event1(&tab[0]); create_event1(&tab[1]); create_event1(&tab[2]); printf_result(); do{ make_event1(); T=tab[sort[0]].begin; printf_result(); for(i=0;i<3;i++){ if(sort[i]==-1)break; create_event1(&tab[sort[i]]); } }while(!(T>TIMES)); printf("1:\tCost=%fT=%f\n",cost,T);}应用举例-可靠性问题voidprintf_result(38应用举例-可靠性问题voidmain2(void){ inti; floatT=0; memset(tab,0,sizeof(tab)); cost=0; randomize(); create_event2(&tab[0],0); create_event2(&tab[1],0); create_event2(&tab[2],0); printf_result(); do{ make_event2(); T=tab[sort[0]].begin; printf_result(); for(i=0;i<3;i++){ if(i==sort[0])continue; create_event2(&tab[i],&tab[sort[0]]); } create_event2(&tab[sort[0]],0); }while(!(T>TIMES)); printf("2:\tCost=%fT=%f\n",cost,T);}voidmain(void){ main1(); main2();}应用举例-可靠性问题voidmain2(void)39固定增量法选择适当的时间单位T作为仿真钟推进进的增量,每推进一步进行如下处理:1)该步内若无事件发生,则仿真钟再推进一个时间单位;2)若在该步内有若干个事件发生,则认为这些事件均发生在该步的结束时刻。缺点是:仿真钟每推进一步都要检查事件表以确定是否有事件发生,增加了执行时间;将发生的事件均视为发生在这一步的结束时刻,如果T选得过大,会引入较大的误差;且要求确定各类事件处理的顺序,增加了建模的复杂性。主要用于系统事件发生时间具有较强周期性的模型,如定期订货的库存系统,以年、月为单位的经济计划系统等。固定增量法选择适当的时间单位T作为仿真钟推进进的增量,每推进40应用举例-报童的策略例报童每天清晨从报社购进报纸零售,晚上将没有卖掉的报纸退回.每份报纸的购进价为1.3元,零售价为2元,退回价为0.2元.报童售出一份报纸赚0.7元,退回一份报纸赔1.1元.报童每天如果购进的报纸太少,不够卖时会少赚钱,如果购得太多卖不完时要赔钱.试为报童筹划每天应如何确定购进的报纸数使得收益最大.报纸每捆10张,只能整捆购买,报纸可以分为3种类型的新闻日:好、一般、差,它们的概率分别为0.35,0.45和0.2,在这些新闻日中每天对报纸的需求分布的统计结果下图:应用举例-报童的策略例报童每天清晨从报社购进报纸零售,晚41应用举例-报童的策略需求量好新闻的需求概率一般新闻的需求概率差新闻的需求概率400.030.100.44500.050.180.22600.150.400.16702800.350.080.06900.150.040.001000.070.000.00试确定每天报童应该订购的报纸数量应用举例-报童的策略需求量好新闻的需求概率一般新闻的需求概率42应用举例-报童的策略解:我们通过计算机仿真来解决此问题。最优策略应该是每天的利润最大。利润=销售收入-报纸成本-损失+残值这是一个随机现象的计算机仿真问题,故先确定各种情况的随机数的对应关系。新闻日和需求量对应的随机数分别如下面两个表格所示应用举例-报童的策略解:43应用举例-报童的策略计算机仿真的流程:1)令每天的报纸订购数变化,40--100;2)让时间从1开始变化(循环)到365;3)产生新闻种类的随机数,确定当天的新闻类型;4)产生需求量随机数,确定当天的报纸需求量;5)计算当天的收入,计算累积利润,8)比较得出最优定货量。需求量好新闻的随机数区间一般新闻的随机数区间差新闻的随机数区间40
(0.00,0.03]
(0.00,0.10]
(0.00,0.44]50[0.03,0.08)[0.10,0.28)[0.44,0.66)60[0.08,0.23)[0.28,0.68)[0.66,0.82)70[0.23,0.43)[0.68,0.88)[0.82,0.94)80[0.43,0.78)[0.880.96)[0.94,1.00)90[0.78,0.93)[0.96,1.00)100[0.93,1.00]应用举例-报童的策略计算机仿真的流程:需求量好新闻的随机数区44应用举例-报童的策略具体的计算由Matlab编程计算实现。x1=rand(365,1);x2=rand(365,1);forn=4:10paper=n*10;购买的报纸量lr(n)=0;利润fori=1:365ifx1(i)<0.35ifx2(i)<0.03news=40;elseifx2(i)<0.08news=50;elseifx2(i)<0.23news=60;elseifx2(i)<0.43news=70;elseifx2(i)<0.78news=80;elseifx2(i)<0.93news=90;elsenews=100;endelseifx1(i)<0.8ifx2(i)<0.10news=40;elseifx2(i)<0.28news=50;elseifx2(i)<0.88news=60;elseifx2(i)<0.88news=70;elseifx2(i)<0.98news=80;应用举例-报童的策略具体的计算由Matlab编程计算实现。45应用举例-报童的策略elsenews=90;endelseifx2(i)<0.44news=40;elseifx2(i)<0.88news=50;elseifx2(i)<0.82news=60;elseifx2(i)<0.94news=70;elsenews=80;endendifpaper>=newssale=news;实际销售量remand=paper-news;剩余量
应用举例-报童的策略else46应用举例-报童的策略elsesale=paper;remand=0;endlr(n)=lr(n)+2*sale-1.3*paper+0.2*remand;endendoptnews=40;最佳量optmoney=lr(4);最佳利润
[40,lr(4)/365]forn=5:10iflr(n)>=optmoneyoptnews=n*10;optmoney=sb(n);end[n,lr(n)/365]end[optnews,optmoney,optmoney/365]Matlab程序
经过计算机仿真后得到最优购货量是每天60份,平均每天利润34.4元。应用举例-报童的策略else478.3随机数的产生现实世界充满不确定性,我们所研究的现实对象往往难以摆脱随机因素的影响.要使我们的数学模型能够较真实地刻画实际对象,必须面对这个现实.概率论是用数学的思想和方法处理和研究随机现象的一个有效的工具.但是它还难以用来处理复杂系统中的随机性.这里介绍使用计算机来模拟随机现象的方法,它经常应用于复杂系统的动态仿真的研究当中.是处理复杂系统中随机性的计算机模型.也是使用计算机研究和解决实际问题的一条重要途径.8.3随机数的产生现实世界充满不确定性,我48随机现象的模拟1.均匀分布的随机数及其产生.对随机现象进行模拟,实质上是要给出随机变量的模拟.也就是说利用计算机随机地产生一系列数值,它们的出现服从一定的概率分布,则称这些数值为随机数。最常用的是在(0,1)区间内均匀分布的随机数,也就是我们得到的这组数值可以看作是(0,l)区间内均匀分布的随机变量的一组独立的样本值.以后我们将指出其它分布的随机数可利用均匀分布的随机数产生.随机现象的模拟1.均匀分布的随机数及其产生.对随机现象进行模49随机现象的模拟记
X~U(0,1),[0,1)区间上均匀分布的随机变量X的概率密度f(x)和概率分布函数F(x)分别为:数学期望:E(X)=1/2;方差:
=
1/12随机现象的模拟记X~U(0,1),[0,1)区间上均匀分布50随机现象的模拟下图为均匀分布的密度函数和分布函数示意图:随机现象的模拟下图为均匀分布的密度函数和分布函数示意图:51随机现象的模拟均匀随机数是产生其它随机数的基础。例如,抛硬币、抽签、统计经验分布都可以由它产生。产生随机数的方法:(1)硬件设备:
从真实物理现象的随机因素中产生随机数,放射性粒子的放射源,电子晶体管的固有噪音等,单位时间内放射出的粒子数是随机的。优点:真正的随机数;缺点:外部设备,无法重复随机现象的模拟均匀随机数是产生其它随机数的基础。例如,抛硬币52随机现象的模拟(2)数学公式:产生伪随机数用数学公式或位移寄存器的移位操作来产生的随机数,称为伪随机数.因为真实的随机数,只能从客观真实的随机现象本身产生出来,所以产生理想的伪随机数列不是一件容易的事.一般对于产生伪随机数的方法,有如下几点要求:1)要求伪随机数列有较理想的随机性和均匀性,就是对其随机性和均匀性进行统计检验时,有合乎要求的精度;2)产生伪随机数的程序应当简短、运算速度快,占用计算机的内存单元少;3)伪随机数列的循环周期应当尽可能地大,以满足模拟的需要4)伪随机数列中,前后之间和各子列之间,要求相互是独立无关的。随机现象的模拟(2)数学公式:产生伪随机数一般对于53随机现象的模拟当我们需要一系列均匀分布的随机数时,可以按照一定的算法由计算机计算产生的伪随机数.产生随机数的方法很多,其中以乘同余法使用较广.用以产生均匀分布随机数的乘同余法的递推公式为:xn+1=λxn(modM),rn=xn/M其中,λ是乘因子,M是模数.前面式子的右端称为以M为模数(modulus)的同余式。给定了一个初值x0(称为种子)后,计算出的rn即为(0,l)上均匀分布的随机数.随机现象的模拟当我们需要一系列均匀分布的随机数时,可以按照一54随机现象的模拟无论用哪一种方法产生的随机数都存在这样的问题,必须对它进行统计检验.看看它们是否具有较好的独立性和均匀性.一般在计算机(或计算器)及其使用的算法语言中都有随机数生成的命令,它们所生成的随机数都是经过检验并且可用的.这里就不再详细介绍检验的方法了.随机现象的模拟无论用哪一种方法产生的随机数都存在这样的问题,55随机现象的模拟C语言中与随机数有关的函数:randomize(void);初始化x=random(intM);产生0~M之间的随机数x=rand(void);产生0~215-1之间的随机数Matlab中与随机数有关的函数:Rand(n) n*n个[0,1]之间均匀分布随机数Rand(m,n)m*n个[0,1]之间均匀分布随机数randn(n) n*n个N(0,1)标准正态分布随机数randn(m,n) m*n个N(0,1)标准正态分布随机数随机现象的模拟C语言中与随机数有关的函数:56随机现象的模拟2.随机变量的模拟利用均匀分布的随机数可以产生具有任意分布的随机变量的样本,从而可以对随机变量的取值情况进行模拟.(l)离散型随机变量的模拟.设随机变量X的分布律为Pr(X=xi)=pi,i=1,2,…,令p(0)=0,p(n)=∑pi,n=1,2,…,将p(n)作为分点,把区间(0,1)分为一系列小区间(p(n-1),p(n)).对于均匀的随机变量R~U(0,l),则有Pr(p(n-1)<R≤
p(n))=p(n)-p(n-1)=pi,n=1,2,…,ni=1随机现象的模拟2.随机变量的模拟利用均匀分布的随机数可以产生57随机现象的模拟由此可知,事件(p(n-1)<R≤
p(n))和事件(X=xn)有相同的发生的概率.因此我们可以用随机变量R落在小区间内的情况来模拟离散的随机变量X的取值情况.具体执行的过程是:每产生一个(0,1)上均匀分布的随机数(以后简称随机数)r,若p(n-1)<r≤
p(n)则理解为发生事件“X=xn”.于是就可以模拟随机变量的取值情况.随机现象的模拟由此可知,事件(p(n-1)<R≤p(n))58随机现象的模拟(2)连续型随机变量的模拟一般说来,具有给定分布的连续型随机变量可以利用在区间(0,1)上均匀分布的随机数来模拟.最常用的方法是反函数法.由概率论的理论可以证明,若随机变量Y有连续的分布函数F(y),而X是区间(0,l)上均匀分布的随机变量,令Z=F-1(X),则Z与Y有相同的分布.由此,若已知Y的概率密度为f(y),由Y=F-1(X)可得X=F(Y)=∫f(y)dyY-∞随机现象的模拟(2)连续型随机变量的模拟一般说来,具有给定分59随机现象的模拟是区间(0,l)上均匀分布的随机变量.如果给定区间(0,1)上均匀分布的随机数ri,则具有给定分布的随机数yi可由方程中解出.ri=F(Y)=∫f(y)dyyi0例当需要模拟服从参数为λ的指数分布时,由ri=∫λe-λxdy=1-e-λyiyi0可得yi=-(1/λ)ln(1-ri).因为(1-ri)和ri同为(0,1)区间上的均匀分布的随机数,故上式可以简化为yi=-(lnri)/λ.随机现象的模拟是区间(0,l)上均匀分布的随机变量.如果给定60随机现象的模拟反函数法是一种普通的方法,但当反函数不存在或难以求出时,就不宜于使用了.舍选法是另一种方法,其实质是从许多均匀随机数中选出一部分,使之成为具有给定分布的随机数.步骤如下:设随机变量X有密度f(x),又存在实数a<b,使Pr(a<X<b)=1.1).选取常数λ,使λf(x)≤l,x∈(a,b);2).产生均匀的随机数r1和r2,令y=a+(b-a)r1;随机现象的模拟反函数法是一种普通的方法,但当反函数不存在或难61随机现象的模拟3).若r2≤λf(y),则令x=y,否则剔除r1和r2,重返步骤2,如此重复循环,产生的随机数x1,x1,..,xn,服从的概率分布由密度函数f(x)确定.若不存在上述的有限区间,可以选择一个有限区间(a1,b1)使得Pr(a1<X<b1)>1-其中是充分小的正数.重复上面的步骤,所产生的随机数仅会出现较小的误差.随机现象的模拟3).若r2≤λf(y),则令x=y,否则剔62随机现象的模拟(3)正态随机数的模拟,除了可用反函数和舍选法模拟正态随机变量外,还有两种常用的方法.坐标变换法:设r1,r2是相互独立的均匀随机数,令
x1=(-2lnr1)1/2cos(2r2)
x2=(-2lnr1)1/2sin(2r2)则x1,x2是相互独立的标准正态的随机数.随机现象的模拟(3)正态随机数的模拟,除了可用反函数和舍选法63随机现象的模拟另一个方法是利用中心极限定理.设xi,i=1,2,…,n是n个相互独立的(0,1)上的均匀的随机变量,有E(xi)=1/2,D(xi)=1/12,由中心极限定理知 y=(∑xi--)将渐近服从正态分布N(0,l).因此,取n个均匀的随机数ri,则有y=(∑ri--)√n/12li=1nn2√n/12li=1nn2随机现象的模拟另一个方法是利用中心极限定理.设xi,i=1,64随机现象的模拟将可看成是标准正态分布N(0,1)的随机数.这里的n应取得足够大,一般取n=10即可.若取n=12,则上式简化为 z=∑ri-8再由y=x+得到正态分布N(,2)的随机数y.i=1n随机现象的模拟将可看成是标准正态分布N(0,1)的随机数.这65计算机仿真举例出发时刻(T)
1:00
1:051:10频率
0.7
0.2
0.1例赶火车过程仿真一列火车从A站经过B站开往C站,某人每天赶往B站乘这趟火车。已知火车从A站到B站运行时间为均值30分钟、标准差为2分钟的正态随机变量.火车大约在下午1点离开A站。离开时刻的频率分布为计算机仿真举例出发时刻(T)1:001:051:166计算机仿真举例
0.1
0.2
0.4
0.3频率1:34
1:32
1:30
1:28到达时刻(T)用计算机仿真火车开出、火车到达B站、这个人到达B站情况,并给出能赶上火车的仿真结果。
引入以下变量:
T1火车从A站开出的时刻;
T2火车从A站运行到B站所需要的时间;
T3此人到达B站的时刻;
0.1
0.2
0.7P(频率)10
5
0T1(分)这个人到达B站时的频率分布为:计算机仿真举例0.367计算机仿真举例
T1,T2,T3是随机变量,其概率分布为x1=0.7,x2=0.9,y1=0.3,y2=0.7,y3=0.9,开车时间的仿真测试s1=0;s2=0;s3=0;求概率x=rand(10000,1);fori=1:10000ifx(i)<0.7s1=s1+1;endifx(i)>0.9s3=s3+1;endend[s1/10000,1-s1/10000-s3/10000,s3/10000]计算机仿真举例T1,T2,T3是随机变量,其概率68计算机仿真举例T2(分)28303234P(频率)
0.3
0.4
0.2
0.1
s1=0;s2=0;s3=0;s4=0;x=rand(10000,1);fori=1:10000ifx(i)<0.3s1=s1+1;elseifx(i)<0.7s2=s2+1;elseifx(i)<0.9s3=s3+1;elses4=s4+1;endendend[s1/10000,s2/10000,s3/10000,s4/10000]人到达时刻仿真测试计算机仿真举例T2(分)283069计算机仿真举例火车运行时间的仿真测试x=randn(10000,1);fori=1:10000y(i)=30+2*x(i);end赶上火车的仿真结果s=0;x1=rand(10000,1);x2=rand(10000,1);x3=randn(10000,1);fori=1:10000ifx1(i)<0.7T1=0;elseifx1(i)<0.9T1=5;elseT1=10;endT2=30+2*x3(i);ifx2(i)<0.3T3=28;elseifx2(i)<0.7T3=30;elseifx2(i)<0.9T3=32;elseT3=34;endifT3<T1+T2s=s+1;endend[s/10000]计算机仿真举例火车运行时间的仿真测试赶上火车的仿真结果if70Chap8离散事件系统仿真前面讨论的系统,其状态变量的取值是连续变化的(时间上可以连续也可以离散),这类系统的仿真称为连续系统仿真。现开始讨论另一类性质完全不同的系统,其状态只是在离散时间点上发生变化,且这些离散时间点一般是不确定的,称为离散事件系统仿真。例如单人理发馆系统,设上午9点开门,晚上11点关门,顾客的到达时间一般是随机的,为每个顾客服务的时间长度也是随机的。描述该系统的状态是服务台的状态(忙或闲)、顾客排队等待的队长。显然这些状态变量的变化也只能在离散的随机时间点上发生。类似的如订票系统、库存系统、加工制造系统、交通控制系统、计算机系统等。由于离散事件系统固有的随机性,对这类系统的研究往往十分困难,经典的概率及数理统计理论、随机过程理论虽然为研究这类系统提供了理论基础,并能对一些简单系统提供解析解,但对工程实际中的大量系统,惟有依靠计算机仿真才能提供较为完整的结果。8.1基本概念Chap8离散事件系统仿真前面讨论的系统,其状态变量的取711、实体实体是描述系统的三个基本要素之一,在离散事件系统中的实体可分为两大类:临时实体及永久实体。在系统中只存在一段时间的实体叫临时实体。永久驻留在系统中的实体称为永久实体。临时实体按一定规律不断地到达(产生),在永久实体作用下通过系统,最后离开系统,整个系统呈现出动态过程。2、事件
事件是引起系统状态发生变化的行为。从某种意义上讲,离散系统是由事件来驱动的。如,理发馆系统中,可以定义“顾客到达”为一类事件,由于顾客的到达,系统的状态将发生变化—服务员可能从闲变忙(如果无人排队),或排队的队长会增加。类似的,可以定义服务开始事件、服务结束事件。在一个系统中,往往有许多类事件,而事件的发生一般与某一类实体相联系,有些事件的发生还可能引起别的事件的发生,或是另一类事件发生的条件。为了实现对系统中事件进行管理,仿真模型中必须建立事件表,表中记录每一发生了的或将要发生的事件的类型和发生时间,以及与该事件相联的实体的有关属性等等。1、实体实体是描述系统的三个基本要素之一,在离散事件系723、活动离散事件系统中的活动,通常用于表示两个可以区分的事件之间的过程,它标志着系统状态的转移。如前例中,顾客的到达事件与该顾客开始接受服务事件之间可以称为一个活动(排队活动),该活动使系统的状态(队长)发生变化。4、进程进程是由若干个有序的事件及若干有序活动组成,一个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系。如顾客到达、经过排队、接受服务、服务完毕后离去可称为一个进程。进程排队活动服务活动顾客到达事件服务开始事件服务结束事件3、活动离散事件系统中的活动,通常用于表示两个可以区分735、仿真钟仿真钟用于表示仿真时间的变化。在连续系统仿真中,将连续模型进行离散化而成为仿真模型时,仿真时间的变化基于仿真步长的确定,可以是定步长也可以是变步长,称为时间步长法。对于离散事件系统而言,其状态本来就只在离散时间点上发生变化,因而不需要进行离散化处理。但是由于引起状态变化的事件发生时间的随机性,仿真钟的推进步长则完全是随机的,所以说仿真模型中时间控制部件必不可少,应按一定规律来控制仿真钟的推进。8、统计计数器连续系统仿真的目的是要得到状态变量的动态变化过程并由此分析系统的性能。离散事件系统的状态随事件的不断发生也呈现出动态变化的过程,但仿真的目的主要不是要得到这些状态是如何变化的。由于状态的变化是随机的,某一次仿真运行得到的状态变化过程只不过是随机过程的一次取样。如果进行另一次独立的仿真运行所得到的状态变化过程可能完全是另一种情况。所以它们只有在统计意义下才有参考价值。在前例中,由于顾客到达的时间间隔具有随机性,服务员为每个顾客服务的时间长度也是随机的,因而在某一时刻,顾客排队的队长或服务台的忙闲情况完全是不确定的,在分析该系统时,感兴趣的是系统的平均队长、顾客的平均等待时间或服务员的利用率等。所以在仿真模型中,需要有一个统计计数部件,以便统计系统中的有关变量。5、仿真钟仿真钟用于表示仿真时间的变化。在连续系统仿真748.2仿真钟的推进离散事件系统仿真的仿真钟推进方法有两种:一种是按下一最早发生事件的发生时间推进,称为事件调度法,亦称为事件步长法;另一种是固定增量推进法。8.2仿真钟的推进离散事件系统仿真的仿真钟推进方法有两75事件步长法事件步长法是以事件发生的时间为增量,按照事件发生的时间顺序,一步一步地对系统的行为进行仿真,直到预定的时间结束为止。在多数随机系统中,可以有多种性质的事件发生,通常按照发生时间的先后顺序逐个处理,换句话说,首先处理发生时刻距初始时刻最短的事件,这种处理方法称为是最短时间的事件步长法。事件步长法事件步长法是以事件发生的时间为增量,按照事件发生的76事件步长法初始状态事件步长加1在当前步长内,考察分析,计算和记录系统的活动仿真时间到否?仿真结束输出结果是否事件步长法初始状态事件步长加1在当前步长内,仿真时间到否?仿77事件步长法事件步长法与时间步长法的主要区别是:(1)事件步长法与时间步长法都是以时间为增量来考察系统状态的变化.但在时间步长法中,仿真时钟以等步长前进,而在事件步长法中,仿真时钟的步长取决于事件之间的间隔.(2)时间步长法在一个步长内,认为系统所处的状态相同,因而所选步长的大小将影响仿真的精度.而在事件步长法中,每个事件的发生均有确切的时刻,不需要人为地选取步长,步长的大小对仿真精度影响较小.事件步长法事件步长法与时间步长法的主要区别是:(1)事件步长78事件步长法(3)时间步长法每前进一个步长就要对整个系统进行一次全面考察,即使状态没有发生变化时也要扫描,而事件步长法只是在某一事件点上判断和比较事件是否出现.因此,一般地讲,当判断比较的数目较大时,用时间步长法可以节省用机时间,而当相继两个事件出现的平均间隔较长时,更适合于用事件步长法.事件步长法(3)时间步长法每前进一个步长就要对整个系统进行一79事件步长法事件表法的基本思路事件表法的主要思路是将系统的仿真过程看成一个事件点序列,根据事件出现的时序,用一个称之为事件表的表格来调度事件执行的顺序.对于那些当前需处理的事件,列入事件表中,从中取出最接近的事件进行处理,处理完毕后自动退出事件表.在处理当前事件的过程中,往往又会产生一个后继事件,因此,必须预测出这一后继事件的出现时间,并将它列入事件表中.事件步长法事件表法的基本思路事件表法的主要思路是将系统的仿真80事件步长法-例子例1.收款台前的排队过程的仿真。
考虑一个收款台的排队系统。某个杂货店只有一个收款台,顾客的到达时间时服从均值为4.5的负指数分布,每一个顾客的服务时间服从均值为3.2,方差为0.8的正态分布。这里时间的单位是分钟,且服务的时间不取负值.试对收款台前的排队过程进行仿真。事件步长法-例子例1.收款台前的排队过程的仿真。81事件步长法-例子收款排队系统主控程序图事件步长法-例子收款排队系统主控程序图82事件步长法-例子负指数分布的随机数的产生:
x=-4.5ln(u),u为均匀分布的随机数正态分布的随机数的产生:
y=3.2+0.8v,v为标准正态分布的随机数。假设:
开始时服务台前无顾客,顾客在服务台前不离去;要求:
对100个顾客到收款台缴款排队过程进行仿真关心的问题:每个顾客的平均等待时间atime,最大队长maxl,服务员的工作效率work,;事件步长法-例子负指数分布的随机数的产生:关心的问题:83事件步长法-例子实体:服务员(忙1,闲0),顾客(到达时刻ca,服务时间cs,等待时间ct)队列(长度lq);事件event:顾客到达事件1(交款,排队)服务结束事件2(闲忙)事件表:序号事件类型(1、2)发生时刻t事件步长法-例子实体:84事件步长法-例子顾客到达子程序图事件步长法-例子顾客到达子程序图85事件步长法-例子服务结束子程序图事件步长法-例子服务结束子程序图86事件步长法-例子例:机器修理系统仿真有m台机器,由c个工人共同负责修理,并设:①各台机器质量相同,机器的连续运转时间相互独立且服从同一负指数分布,平均寿命为1/v(v>0)。②每个工人技术相同,且修理时间相互独立并服从同一负指数分布,平均修理时间为1/u(u>0).③修复后的机器其寿命分布不变。④机器停止运转每单位时间的损失费为c1元,工人单位时间的产值为c2元。若机器的等待时间为E,工人总的空闲时间为F,则系统总的损失费为S=c1E+c2F试求当机器数m固定时,为使系统的总损失费最小,应配备多少工人为最优?事件步长法-例子例:机器修理系统仿真87事件步长法-例子解:采用最短时间事件步长法进行仿真,首先要确定一个初始状态。不妨假定开始时所有的机器都正常运转,工人处于空闲状态。设T为仿真终止时间。依次仿真计算修理工人数C分别取1、2、3、…时的系统损失费。最后根据系统损失费S的极小值来确定最优工人数。根据以上思想并采用最短时间事件步长法仿真。事件步长法-例子解:采用最短时间事件步长法进行仿真,首先要确88事件步长法-例子㈡输入原始数据c1,c2,U,V,m,T给出m台机器的指数寿命B(H)=1?结束F=F+x-K②P=T3/T输出C,SC=1E=0F=0初始状态:B(i)=1,i=1,2,…,m;D(j)=0,j=1,2,..,c选取寿命最短的机器i:H=i,K=A(i)选取最早释放时刻的工人j:y=j,x=D(j)x<K?③①F=F+x-K改变第y个人工的释放时刻:D(y)=A(H)机器由故障释放改为正常:B(H)=1机器由正常改为故障:B(H)=0C=C+1K≥T?选取寿命最短的机器i:H=i,K=A(i)给出机器修复时间仿真时钟前进一个步长A(H)=K-1/vLOG(RND(1))给出机器正常运行时间仿真时钟前进一个步长A(H)=K-1/vLOG(RND(1))㈠㈠㈡①②③是否否是是否事件步长法-例子㈡输入原始数据c1,c2,U,V,m,T给出89事件步长法-例子框图中各标识符号含义如下:T:仿真终止时间m:机器数c:工人数B(i):第i台机器所处状态A(i):第i台机器现在状态的当前时刻D(j):第j个工人修复机器的释放时刻c1:一个工人单位时间的产值c2:一台机器单位故障时间的损失费
{B(i)=1机器正常运转0机器发生故障事件步长法-例子框图中各标识符号含义如下:{B(i)=190事件步长法-例子U:一个工人单位时间平均能修复的机器数V:一台机器在单位运转时间内发生故障的平均次数S:总损失费用E:机器故障时间累计F:工人空闲时间累计K:最短时间机器的当前时刻H:最短时间机器对应的机器号L:工人修完机器的释放时刻x:最短释放时间工人的当前时刻y:最短释放时间对应的工人序号事件步长法-例子U:一个工人单位时间平均能修复的机器数91事件步长法-例子下表列出了当m=86,1/V=500小时,1/U=34小时,c1=3.46元/小时,c2=3.2元/小时时的仿真结果,其中每次预定仿真时间为一万个小时,连续仿真五次取其平均值作为仿真结果。由仿真结果可知当工人数c≤10时,最优工人数为7.工人数C2345878910每小时平均损失E183.0128.976.037.624.59.09.410.215.2事件步长法-例子下表列出了当m=86,1/V=50092应用举例-可靠性问题例:一设备上三个相同的轴承,每个轴承正常工作寿命为随机变量,其概率分布如表所示.寿命h1000110012001300140015001600170018001900概率50.130.090.120.020.060.050.05任何一个轴承损坏都可以使设备停止工作,从有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版绿色建筑房地产转让合同补充协议3篇
- 二零二五年教育培训机构教师聘用合同书3篇
- 二零二五年度特色农产品黄牛养殖购销合同3篇
- 二零二五年融资租赁合同规范本2篇
- 二零二五版个人房产抵押借款担保合同3篇
- 二零二五年度食堂厨房设计咨询与服务合同2篇
- 二零二五版LOGO知识产权授权与品牌战略规划合同3篇
- 二零二五版粮食进出口贸易代理合同示范文本3篇
- 二零二五版服务器租赁与数据同步服务合同3篇
- 二零二五年度高速铁路建设用聚乙烯管材管件采购合同3篇
- 2025年度土地经营权流转合同补充条款范本
- 南通市2025届高三第一次调研测试(一模)地理试卷(含答案 )
- Python试题库(附参考答案)
- 聚酯合成副反应介绍
- DB37-T 1342-2021平原水库工程设计规范
- 电除颤教学课件
- 广东省药品电子交易平台结算门户系统会员操作手册
- DB32T 3960-2020 抗水性自修复稳定土基层施工技术规范
- 大断面隧道设计技术基本原理
- 41某31层框架结构住宅预算书工程概算表
- 成都市国土资源局关于加强国有建设用地土地用途变更和
评论
0/150
提交评论