运筹学-第8次实验.pdf
运筹学实验运筹学实验 8 8一、实验名称:排队论模拟一、实验名称:排队论模拟二、实验目的:二、实验目的:了解模拟的概念及计算机实现方法,服从不同分布的随机数产生方法,通过模拟求解排队论问题。三、实验内容三、实验内容1、随机数产生方法2、计算机模拟实例四、实验步骤四、实验步骤1 1、(1)产生 mn 阶a,b均匀分布 U(a,b)的随机数矩阵的 Matlab 的命令格式:unifrnd(a,b,m,n)unifrnd(a,b,m,n)(2)产生一个a,b均匀分布的随机数的命令格式:unifrnd(a,b)unifrnd(a,b)(3)产生 mn 阶均值为,方差为的正态分布的随机数矩阵:normrndnormrnd(,m,n)(4)产生 mn 阶期望值为的指数分布的随机数矩阵:exprndexprnd(,m,n)(5)产生 mn 阶参数为的帕松分布的随机数矩阵:poissrndpoissrnd(,m,n)2 2、示例 1:(单服务员的排队模型)在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客 当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店 设:(1)顾客到来间隔时间服从参数为的指数分布()对顾客的服务时间服从,上的均匀分布()排队按先到先服务规则,队长无限制假定一个工作日为 8 小时,时间以分钟为单位。1模拟一个工作日内完成服务的个数及顾客平均等待时间t2模拟 100 个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间。11 系统的假设:系统的假设:(1)顾客源是无穷的;(2)排队的长度没有限制;(3)到达系统的顾客按先后顺序依次进入服务,即“先到先服务”。22 符号说明符号说明w w:总等待时间;:总等待时间;c ci i:第:第 i i 个顾客的到达时刻;个顾客的到达时刻;b bi i:第:第 i i 个顾客开始服务时刻;个顾客开始服务时刻;e ei i:第:第 i i 个顾客服务结束时刻个顾客服务结束时刻x xi i:第第 i-1i-1 个顾客与第个顾客与第 i i 个顾客之间到达的间隔时间个顾客之间到达的间隔时间c1y yi i:对第对第 i i 个顾客的服务时间个顾客的服务时间c2c3c4e3b4c5e4b5te1e2b3b1b2c ci i=c=ci-1i-1+x+xi ie ei i=b=bi i+y+yi ib bi i=max(c=max(ci i,e,ei-1i-1)初始化:令i=1,ei-1=0,w=033模拟框图模拟框图产生间隔时间随机数xi参数为的指数分布ci=xi,bi=xi产生服务时间随机数 yi4,15的均匀分布ei=bi+yi累计等待时间:w=w+bi-ci准备下一次服务:i=i+1产生间隔时间随机数xi参数为的指数分布ci=ci-1+xi确定开始服务时间:bi=max(ci,ei-1)YNbi480输出结果:完成服务个数:m=ii=i-1,t=w/i平均等待时间:t停止(一)对问题(一)对问题 1 1 进行模拟的程序进行模拟的程序:cleari=1;%输出第一次标号的结果w=0;x(i)=exprnd(10);c(i)=x(i);b(i)=x(i);while b(i)=480y(i)=unifrnd(4,15);%第 I 个顾客的服务时间e(i)=b(i)+y(i);%第 I 个顾客的服务结束时刻w=w+b(i)-c(i);%总等待时间i=i+1;x(i)=exprnd(10);%第 I 个顾客与第 I-1 个顾客的间隔时间c(i)=c(i-1)+x(i);%第 I 个顾客的到达时刻 tb(i)=max(c(i),e(i-1);%第 I 个顾客开始服务时刻endi=i-1;t=w/i%顾客平均等待时间tm=im=i%一个工作日内完成服务的顾客数W(二)对问题(二)对问题 2 2 进行模拟的程序进行模拟的程序:clearcs=100;for j=1:csw(j)=0;i=1;x(i)=exprnd(10);c(i)=x(i);b(i)=x(i);while b(i)=480y(i)=unifrnd(4,15);e(i)=b(i)+y(i);w(j)=w(j)+b(i)-c(i);i=i+1;x(i)=exprnd(10);c(i)=c(i-1)+x(i);b(i)=max(c(i),e(i-1);endi=i-1;t(j)=w(j)/i;m(j)=i;endpt=0;pm=0;for j=1:cspt=pt+t(j);pm=pm+m(j);endpt=pt/cspm=pm/cs五、实验题目五、实验题目1、某火车站的售票处设有一个窗口,若购票者是以最简单流(即泊松分布)到达,平均每分钟到达 1 人,假定售票时间服从负指数分布,平均每分钟可服务 2 人,试求在上午 6:00到下午 6:00 之间的来购票的人数和平均排队时间。1模拟某天在上午 6:00 到下午 6:00 之间的来购票的人数及购票者平均等待时间2模拟 100 天在上午 6:00 到下午 6:00 之间,求出平均每日来购票的人数及购票者平均等待时间2、某单人理发店,顾客到达服从最简单流(即泊松分布),平均每小时到达 3 人,理发时间服从负指数分布,平均15 分钟,试求在上午 8:00 到下午 8:00 之间的来理发的人数和平均等待时间。1模拟某天在上午 8:00 到下午 8:00 之间的来理发的人数及理发人的平均等待时间2模拟 100 天在上午 8:00 到下午 8:00 之间,求出平均每日来理发的人数及理发人的平均等待时间