您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第四章-随机随机模拟方法2
第四章随机模拟方法第一节概述第二节随机模拟方法的特点第三节用蒙特卡罗方法求解确定性问题第四节随机模拟方法在随机服务系统中的应用第五节集装箱专用码头装卸系统的随机模拟第六节随机模拟方法在理论研究中的应用1第四节随机模拟方法在随机服务系统中的应用(一)介绍确定性问题求解都有一些行之有效的算法,一般并不会用随机模拟方法求解。随机模拟方法更多的应用于求解随机性的复杂系统,随机服务系统就是其中一类。随机服务系统(排队论)研究对象:服务系统2举例:1.日常生活中2.工业生产与管理中3.科学技术中3服务系统的共同组成部分:1.输入过程,即各种类型的“顾客”按照各种规律到达,准备接受服务;2.排队规则,即到达的顾客按照一定的次序接受服务;3.服务机构,即同一时刻有多少服务设备可接纳顾客,每一设备科接纳多少顾客亦即每位顾客接受多长的服务时间。4研究排队论的目的:1.为了提供完善的服务的同时保证机构的经济效益。2.某些特殊服务系统,需要在服务机构设置之前就根据顾客的输入过程与服务过程对系统未来的进程作出正确的估计,以便使设计工作有所依据。5(二)单服务台排队系统的模拟假设:1.只有一个服务员的服务机构;2.顾客到达的时刻是随机的;3.服务员空闲可立刻对顾客服务,若在服务中,顾客要排队,并且按照先来后到的原则接受服务。6顾客到达排队等待接受服务顾客离开注意:用顾客平均等待时间E(D)的估计值来衡量服务质量的优劣。如何求E(D)的估计值呢?78910附件:Rrequire1112单服务台系统模拟算法1314Rrequire(单服务台)15queue1-function(lambda,mu,T){k-0;wt-0;wn-0;ws-0;tp-0;nA-0;n-0;t-0r-runif(1);tA--1/lambda*log(r);tD-Infrepeat{k-k+1;wt[k]-t;wn[k]-nif(tAT){ws[k]-min(tA,tD)-tif(tAtD){t-tA;n-n+1;nA-nA+1r-runif(1);tA-t-1/lambda*log(r)if(n==1){r-runif(1);tD-t-1/mu*log(r)}}else{t-tD;n-n-1if(n==0){tD-Inf}else{r-runif(1);tD-t-1/mu*log(r)}}}else{ws[k]-if(tD==Inf)0elsetD-tif(n0){t-tD;n-n-1if(n0){r-runif(1);tD-t-1/mu*log(r)}}elsetp-1}if(tp==1)break}data.frame(Ls=sum(ws*wn)/t,Ws=sum(ws*wn)/nA,Pwait=sum(ws[wn=1])/t)}16解:调用编好的程序queue1,输入相应的参数指标,模拟1000小时的排队服务系统的运行情况。其中,顾客到达服从参数为1/4的指数分布,维修时间服从0.1的指数分布。故程序如下:queue1(lambda=4,mu=1/0.1,T=1000)17解:调用编好的程序queue1,输入相应的参数指标,模拟1000小时的排队服务系统的运行情况。其中,顾客到达服从参数为0.6的指数分布,维修时间服从1.25的指数分布。故程序如下:queue1(lambda=0.6,mu=1/1.25,T=1000)(三)多服务台排队系统的模拟实际问题中的服务机构往往是多服务台的,如理发店的理发师有多位;供乘客使用的汽车有多辆,机场跑道有多条,码头的泊位有多个等等。虽然问题比单服务台系统复杂,但是应用随机模拟方法求解这类问题的基本思想和作法是类似的。181920附件:Rrequire21Rrequire(多服务台)queue2-function(lambda,mu,T,S=2){k-0;wt-0;wn-0;ws-0tp-0;nA-0;t-0r-runif(1);tA--1/lambda*log(r)tD-rep(Inf,S);SS-rep(0,S+1)repeat{t1-if(SS[1]==0)Infelsemin(tD)i1-if(SS[1]==0)1elsewhich.min(tD)k-k+1;wt[k]-t;wn[k]-SS[1]if(tAT){ws[k]-min(tA,t1)-tif(tAt1){t-tA;nA-nA+1r-runif(1);tA-t-1/lambda*log(r)n-SS[1];SS[1]-n+1for(iin1:S){if(SS[1+i]==0){SS[1+i]-1r-runif(1);tD[i]-t-1/mu*log(r)break}}}else{t-t1;n-SS[1];SS[1]-n-1if(n==1){SS[2:(S+1)]-0;tD[1:S]-Inf}elseif(n=S){SS[1+i1]-0;tD[i1]-Inf}else{r-runif(1);tD[i1]-t-1/mu*log(r)}}}else{ws[k]-if(t1==Inf)0elset1-tn-SS[1]if(n0){22t-t1;SS[1]-n-1;if(n==1){SS[2:(S+1)]-0;tD[1:S]-Inf}elseif(n=S){SS[1+i1]-0;tD[i1]-Inf}else{r-runif(1);tD[i1]-t-1/mu*log(r)}}elsetp-1}if(tp==1)break}data.frame(Ls=sum(ws*wn)/t,Ws=sum(ws*wn)/nA,Pwait=sum(ws[wn=S])/t)}23解:调用编好的程序queue2,输入相应的参数指标,模拟1000小时的排队服务系统的运行情况。其中,顾客到达服从参数为15的指数分布,维修时间服从1/6的指数分布。故程序如下:queue2(lambda=15,mu=6,T=1000,S=3)本节课结束24
本文标题:第四章-随机随机模拟方法2
链接地址:https://www.777doc.com/doc-3264838 .html