多服务台指数分布排队系统
排队论

排队长度:等待服务的顾 客数量
平均等待时间:顾客在系统 中等待服务的平均时间
平均排队长度:系统中平均 排队的顾客数量
服务台数量:系统中的服 务台数量
利用率:服务台被利用的 程度
排队系统的稳定性:系统是 否处于稳定状态,即平均等 待时间和平均排队长度是否
收敛
排队系统的分析方法
01
排队论的基本概 念:顾客到达、 服务时间、等待
服务台:提供服务的地方
队列:等待服务的顾客队列
顾客到达时间:顾客到达服 务台的时间 服务台容量:服务台可以同 时服务的顾客数量 排队系统状态:当前系统中 顾客和服务员的状态
排队系统的参数
顾客到达率:单位时间内到 达系统的顾客数量
服务速率:单位时间内服务 台能够服务的顾客数量
排队规则:先进先出(FIFO) 或后进先出(LIFO)
谢谢
排队论
演讲人
排队论的基本概念 排队论的基本原理Biblioteka 目录CONTENTS
排队论的应用实例
排队论的基本概念
排队系统的定义
1
排队系统:由顾 客和服务台组成 的系统,顾客需 要等待服务台的
服务。
2
服务台:提供某 种服务的设施, 如收银台、售票
窗口等。
3
顾客:需要接受 服务台的服务的 人,如顾客、乘
客等。
4
时间均服从指数分布
M/G/1模型:单服务台、单 队列、顾客到达服从泊松分 布、服务时间服从指数分布
M/G/c模型:单服务台、多 队列、顾客到达服从泊松分 布、服务时间服从指数分布
M/G/∞模型:单服务台、 无限队列、顾客到达服从泊 松分布、服务时间服从指数
分布
G/M/1模型:多服务台、单 队列、顾客到达服从泊松分 布、服务时间服从指数分布
数学建模论文(蒙特卡罗的多服务台和单服务台排队系统)

课程名称:数学建模与数学实验学院:专业:姓名:学号:指导老师:利用Monte Carlo方法模拟单服务台排队系统和多服务台排队系统摘要蒙特卡罗方法(Monte Carlo)又称统计模拟法随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。
本文通过两个具体的服务机构为例,分别说明如何利用蒙特卡洛方法模拟单服务台排队系统和多服务台排队系统。
单服务台排队系统(排队模型之港口系统):通过排队论和蒙特卡洛方法解决了生产系统的效率问题,通过对工具到达时间和服务时间的计算机拟合,将基本模型确定在//1M M排队模型,通过对此基本模型的分析和改进,在概率论相关理论的基础之上使用计算机模拟仿真(蒙特卡洛法)对生产系统的整个运行过程进行模拟,得出最后的结论。
多服务台排队系统(开水供应模型):为了解决水房打水时的拥挤问题。
根据相关数据和假设推导,最终建立了多服务窗排队M/G/n模型,用极大似然估计和排队论等方法对其进行了求解,并用Matlab软件对数据进行了处理和绘图。
用灵敏度分析对结果进行了验证。
本模型比较完美地解决了水房排队拥挤问题,而且经过简单的修改,它可以用于很多类似的排队问题。
关键词:蒙特卡洛方法,排队论,拟合优度,泊松流,灵敏度分析。
一、问题重述港口排队系统:一个带有船只卸货设备的小港口,任何时间仅能为一艘船只卸货。
船只进港是为了卸货,响铃两艘船到达的时间间隔在15分钟到145分钟变化。
一艘船只卸货的时间有所卸货物的类型决定,在15分钟到90分钟之间变化。
开水供应系统:学院开水房的供水时间有限,水房面积有限,水管易受水垢堵塞。
根据调查数据可知:通畅时几乎无人排队,堵塞时水房十分拥挤。
由此可以看出水房设计存在问题,我们可以把开水房看成是一个随即服务系统,应用排队论的方法对系统运行状态做定量的描述。
优先级队列的应用——多服务台排队系统的模拟

多服务台排队系统的模拟一、与单服务台排队系统相比1.在多服务台系统中,先到达的顾客先获得服务,这个规则仍然存在;但后获得服务的顾客可能先离开,这是因为每个顾客要求的服务时间是不一样的。
如果各科i要求的是一个复杂业务,服务台j提供服务;而顾客i+1要求的是一个简单业务,服务台k提供服务,那么顾客i+1虽然比顾客i晚到达,却比顾客i先离开。
2.在单服务台系统中,到达次序和离开次序是一致的,所以只需要一个先进先出的队列;在多服务台系统中,离开事件不再与到达事件保持一致,先处理的到达事件对应的离开事件可能比后处理的到达事件对应的离开事件发生得晚,因此需要一个优先级队列,将事件发生得时间作为优先级,发生时间早的事件先处理,发生时间晚的事件后处理。
二、多服务台排队系统模拟过程1.模拟开始时,产生所有的到达事件,存入优先级队列,此时队列只有到达事件。
2.模拟器开始处理事件。
首先从队列中取出一个事件,这是第一个顾客的到达事件,根据各科的服务要求生成对应的服务时间,当前时间+服务时间=这个顾客的离开时间,生成一个这个时候离开的事件插入队列,这样在队列中就有了两类事件:到达事件和离开事件。
3.这样模拟器从队列中取出的事件也可能是离开事件,这时只要将这个离开事件从队列中删去,为它服务的服务台就可以为别的顾客服务。
综上:(1)产生所有的顾客到达事件,存入事件队列;(2)模拟器从事件队列中取事件,按照不同的事件类型处理事件。
①若是到达事件,先检查有没有空闲的服务台,如果有,则为此顾客生成服务时间,并产生一个离开事件,插入事件队列。
②如果处理到达事件时,没有空闲的服务台,则该顾客进入到等待队列排队。
等待队列是一个普通的先进先出的队列。
(3)如果处理的是离开事件,则释放该服务台。
如果此时等待队列有人排队,则服务台为他服务,并统计等待时间,如果等待队列没有人排队则置服务台为空闲。
三、伪代码产生CustomNum个顾客的到达事件,按时间的大小存入事件队列;置等待队列为空;置所有柜台为空闲;设置等待时间为0;While(事件队列非空){队头元素出列;设置当前时间为该事件发生的时间;switch(事件类型){case 到达:if(柜台有空){柜台数-1;生成所需的服务时间;修改事件类型为“离开”;设置事件发生时间为当前时间+服务时间;重新存入事件队列;}else 将该事件存入等待队列;case 离开:if(等待队列非空){队头元素出队;统计该顾客的等待时间;生成所需的服务时间;修改事件类型为“离开”;设置事件发生时间为当前时间+服务时间;存入事件队列;}else 空闲柜台+1;}}计算平均等待时间;返回;四、代码分析代码清单6-9 模拟类的定义class simulator{//以下定义了保存模拟参数的数据成员int noOfServer; //服务台的个数int arrivalLow; //到达间隔时间的下界int arrivalHigh; //到达间隔时间的上界int serviceTimeLow; //服务间隔时间的下界int serviceTimeHigh; //服务间隔时间上界int customNum; //模拟的顾客数struct eventT//定义了一个私有内嵌类eventT,用于保存一个事件信息,是事件队列和等待队列中的元素类型,eventT有两个数据成员,time表示事件发生的时间,type表示事件类型{int time; //事件的大小取决于事件发生的时间,发生时间早的事件优先级高,发生时间晚的事件优先级低int type; //事件类型,0为到达,1为离开bool operator<(const eventT &e)const{return time<e.time;}};public: //两个公有函数simulator();//模拟类的构造函数int avgWaitTime();//模拟类的平均等待时间函数};代码清单6-10 构造函数的实现simulator::simulator()//模拟参数的输入{ cout<<"请输入柜台数:"; cin>>noOfServer;cout<<"请输入到达时间间隔的上下界(最小间隔时间最大间隔时间):";cin>>arrivalLow>>arrivalHigh;cout<<"请输入服务时间的上下界(服务时间上界服务时间下界):";cin>>serviceTimeLow >>serviceTimeHigh;cout<<"请输入模拟的顾客数:";cin>>customNum;srand(time(NULL)); //完成随机数发生器的初始化}代码清单6-11 avgWaitTime函数的实现int simulator::avgWaitTime()//根据模拟参数进行模拟,并统计出平均等待时间{ int serverBusy=0; //正在工作的服务台数int currentTime; //表示现在模拟到了什么时间int totalWaitTime=0; //记录整个模拟过程中所有顾客的等待时间总和linkQueue<eventT>waitQueue; //定义了一个类型为eventT的链接队列waitQueue,这个队列是等待队列,用来保存正在排队的顾客信息priorityQueue<eventT>eventQueue; //定义了一个类型为eventT的优先级队列eventQueue,保存的是整个模拟过程中发生的所有事件eventT currentEvent;//根据模拟参数中指定的顾客数生成所有顾客的到达事件,并存入事件队列int i;currentEvent.time=0;currentEvent.type=0;for(i=0;i<customNum;++i){ currentEvent.time+=arrivalLow+(arrivalHigh-arrivalLow+1)*rand()/(RAND_MAX+1); //每个顾客的到达时间为前一顾客的到达时间加上随机生成的到达时间间隔eventQueue.enQueue(currentEvent);}while(!eventQueue.isEmpty())//只要队列非空,就要处理事件,直到队列为空{currentEvent=eventQueue.deQueue();//先从事件队列中取出一个事件currentTime=currentEvent.time; //把模拟时钟直接拨到事件发生的时间switch(currentEvent.type) //然后根据事件发生类型进行不同的处理{case 0: //如果是到达事件if(serverBusy!=noOfServer) //首先检查有没有空闲的服务台{++serverBusy; //如果有空闲的,则分配服务台currentEvent.time+=serviceTimeLow+(serviceTimeHigh-serviceTimeLow+1)*rand()/(RAND_MAX+1); //离开时间=服务时间+当前时间currentEvent.type=1; //服务完后,生成一个离开事件eventQueue.enQueue(currentEvent); //入队,事件队列}else waitQueue.enQueue(currentEvent);//否如果没有空闲的服务台,这位顾客要到等待队列排队,入队,等待队列break;case 1: //若是离开事件if(!waitQueue.isEmpty())//检查有没有顾客在排队,即等待队列是否为空{currentEvent=waitQueue.deQueue();//若有顾客在排队,则为等待队列队头的顾客服务,即让等待队列队头元素出队totalWaitTime+=currentTime-currentEvent.time; //把这位顾客的等待时间加入到总的等待时间,currentTime为当前时间,currentEvent.time为顾客进入到等待队列的时间,即事件发生的事件currentEvent.time=currentTime+serviceTimeLow+(serviceTimeHigh-serviceTimeLow+1)*rand()/(RAND_MAX+1);//currentEvent.time在这指离开时间=当前时间+随机数生成的服务时间currentEvent.type=1; //服务完后,生成一个离开事件eventQueue.enQueue(currentEvent); //入队,事件队列}else--serverBusy; //若没有人排队,则服务台可以休息,所以正在工作的服务台-1}}return totalWaitTime/customNum; //计算并返回平均等待时间}。
排队论详解及案例

cmLiu@shufe
Operations Research
9.2 几个常用的概率分布
9.2.1 经验分布 9.2.2 泊松分布 9.2.3 负指数分布 9.2.4 爱尔朗分布
cmLiu@shufe
Operations Research
9.2.1 经验分布
主要指标
平均间隔时间 = 总时间 到达顾客总数
Operations Research
9.1.3 排队论研究的基本问题
(3)系统优化问题的研究 研究排队系统的目的就是通过对该系统概率规律的研究, 实现系统的优化。系统的优化包括最优设计和最优运营问 题。前者属于静态问题,它是在输入和服务参数给定的情 况下,确定系统的设计参数,以使服务设施达到最大效益 或者服务机构实现最为经济。后者属于动态问题,它是指 对于一个给定的系统,在系统运行的参数可以随着时间或 状态变化的情况下,考虑如何运营使某个目标函数达到最 优。
cmLiu@shufe
Operations Research
9.1.1 排队系统的描述和组成
一般的排队过程可以这样描述:顾客由顾客源出发,到达 服务机构(服务台、服务员)前,按排队规则排队等待接 受服务,服务机构按服务规则给顾客服务,顾客接受完服 务后就离开。
cmLiu@shufe
Operations Research
9.1.1 排队系统的描述和组成
尽管排队系统是多种多样的,但所有的排队系统都是由输入过程、排 队规则、服务机构及服务规则三个基本部分组成的。 (1)输入过程 描述顾客来源以及顾客到达排队系统的规律。 一般从以下几个方面对输入过程进行描述:顾客源中顾客的数量是 有限还是无限;顾客到达的方式是单个到达还是成批到达;顾客的到 达是否相互独立(以前到达的顾客对以后达到的顾客没有影响,则称 顾客的达到是相互独立的,否则就是有关联的);顾客相继到达的间 隔时间分布是确定型的还是随机型的(如果是随机分布,需要知道单 位时间内的顾客到达数或者顾客相继到达时间间隔的概率分布);输 入的过程是平稳的还是非平稳的(若相继到达的间隔时间分布参数 (如期望值、方差等)都是与时间无关的,则称输入过程是平稳的, 否则称为非平稳)。 本章主要讨论顾客的到达是相互独立的、输入过程是平稳的情形。
运筹优化(十六)--排队论基础及其最优化求解

运筹优化(⼗六)--排队论基础及其最优化求解排队过程的⼀般表⽰下图1就是排队过程的⼀般模型。
各个顾客由顾客源(总体)出发,到达服务机构 (服务台、服务员)前排队等候接受服务, 服务完成后就离开。
排队结构指队列的数⽬和排列⽅式 , 排队规则和服务规则是说明顾客在排队系统中按怎样的规 则、次序接受服务的。
我们所说的排队系统就指图中虚线所包括的部分。
排队系统的组成和特征⼀般的排队系统都有三个基本组成部分 : 1输⼊过程 ; 2排队规则 ; 3服务机构。
1. 输⼊过程输⼊即指顾客到达排队系统 , 可能有下列各种不同情况 , 当然这些情况并不是彼此排斥的。
(1) 顾客的总体(称为顾客源)的组成可能是有限的,也可能是⽆限的。
上游河⽔流⼊⽔库可以认为总体是⽆限的 , ⼯⼚内停机待修的机器显然是有限的总体。
(2) 顾客到来的⽅式可能是⼀个⼀个的, 也可能是成批的。
例如到餐厅就餐就有单个到来的顾客和受邀请来参加宴会的成批顾客,我们将只研究单个到来的情形。
(3) 顾客相继到达的间隔时间可以是确定型的, 也可以是随机型的。
(4) 顾客的到达可以是相互独⽴的,就是说,以前的到达情况对以后顾客的到来没有影响 , 否则就是有关联的 。
(5) 输⼊过程可以是平稳的,或称对时间是齐次的,是指描述相继到达的间隔时间分布和所含参数(如期望值、⽅差等)都是与时间⽆关的, 否则称为⾮平稳的。
2. 排队规则(1) 顾客到达时, 如所有服务台都正被占⽤,在这种情形下顾客可以随即离去, 也可以排队等候。
随即离去的称为即时制或称损失制 , 因为这将失掉许多顾客 ; 排队等候的称为等待制。
普通市内电话的呼唤属于前者 , ⽽登记市外长途电话的呼唤属于后者。
对于等待制,为顾客进⾏服务的次序可以采⽤下列各种规则: 先到先服务, 后到先服 务 , 随机服务 , 有优先权的服务等。
先到先服务 , 即按到达次序接受服务 , 这是最通常的情形。
后到先服务,如乘⽤电梯的顾客常是后⼊先出的。
排队模型(掌握mm1,mmc,mm1k)

D——确定型
Ek——k阶爱尔朗分布
GI——一般相互独立的时间间隔分布
G——一般服务时间分布
四、排队模型的数量指标
1、平均队长(Ls): 指在系统中的顾客数(包括正被服务的顾客 和排队等待的顾客)的期望值。 2、平均排队长(Lq): 指系统中排队等候服务的顾客数的期望值。
Ls=Lq+正被服务的顾客数 3、平均逗留时间(Ws):指一个顾客在系统中的停留时间期望值。
λΔt
n
n-2 Pn-2(t) 2
(C)
n-3
…
Pn-3(t) …
3 …
0 P0(t) n
o(Δt)
n n … n
[0, t+Δt ) 概率
Pn(t) ( 1-λΔt+o(Δt)) Pn-1(t)λΔt
o(Δt)
在上述条件下,研究顾客到达数 n 的概率分布 Pn(t+Δt)= Pn(t) ( 1-λΔt+o(Δt)) + Pn-1(t)λΔt + o(Δt)
8 上游河水进入水库 放水,调整水位 水闸管理员
2、排队论的起源与应用领域
1)、20世纪初Bell电话公司为减少用户呼叫, 研究电话线路合理配置问题;
2)、1909年丹麦工程师A.K.Erlang受热力 学统计平衡概念启发发表论文《概率论与电 话交换》,解决上述问题;
3)、应用于:通讯系统、交通运输、机器 维修、库存控制、计算几设计等领域。
Pn(t+Δt)= Pn(t)(1-λΔt )+Pn-1(t)λΔt+ o(Δt) [Pn(t+Δt)-Pn(t)]/Δt =-λPn(t)+λPn-1(t)+[o(Δt)]/Δt
多服务台排队系统的仿真

实验3---多服务台排队系统的仿真姓名:学号:一、目标任务已知一个系统有N个服务员,能力相等,服务时间服从指数分布。
顾客的到达时间间隔服从指数分布。
用Monte-Carlo仿真,分别求按下列方案的总体平均排队时间:① M|M|N。
② N个单通道系统并列,按1/N概率分裂到达流。
③ N个单通道并列,挑选最短的队。
要求:①给出程序设计的过程。
②如果采用固定的N,则要求N>2。
③至少取ρ=0.3和ρ=0.7两种强度运行程序。
④对结果进行分析。
二、编程语言Matlab三、关键代码方案一:N = 3; % 服务员人数r = 6; % 顾客到达流强度u = 20; % 服务员服务强度T = 1000000; % 仿真运行时间avg_wait_time = []; % 平均等待时间for i=1:100% 模拟排队函数server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间time = 0; % 绝对时钟,初始为0client_num = 0; % 顾客总数,初始为0CRTime = 0; % 顾客到达时间间隔ServeTime = 0; % 顾客服务时间server_id = 0; % 当前进入排队窗口的服务员编号total_wait_time = 0;% 系统中到达顾客的总等待时间while 1CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔time = time + CRTime; % 更新系统的绝对时钟if time > Tbreak;endclient_num = client_num + 1; % 顾客数加1ServeTime = exprnd(1/u); % 按指数分布产生顾客服务间隔server_id = mod(client_num, N); % 按1..N的顺序循环排入服务员窗口if server_id ==0server_id = N;endif server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间else % 否则所有服务员都在忙碌,顾客要排队等候total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟server_time(1, server_id) = server_time(1, server_id) + ServeTime;endendavg_wait_time = [avg_wait_time, total_wait_time/client_num];end% 计算平均等待时间mean_avg_wait_time = mean(avg_wait_time);fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间% 绘制每次仿真的平均等待时间和总体平均等待时间线状图x = 1:100;%plot(x, avg_wait_time, x, mean_avg_wait_time);scatter(x, avg_wait_time, '.');方案二:N = 3; % 服务员人数r = 6; % 顾客到达流强度u = 20; % 服务员服务强度T = 1000; % 仿真运行时间avg_wait_time = []; % 平均等待时间for i=1:100% 模拟排队函数server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间time = 0; % 绝对时钟,初始为0client_num = 0; % 顾客总数,初始为0CRTime = 0; % 顾客到达时间间隔ServeTime = 0; % 顾客服务时间server_id = 0; % 当前进入排队窗口的服务员编号total_wait_time = 0;% 系统中到达顾客的总等待时间while 1CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔time = time + CRTime; % 更新系统的绝对时钟if time > Tbreak;endclient_num = client_num + 1; % 顾客数加1ServeTime = exprnd(1/u); % 按指数分布产生顾客服务时间间隔server_id = randi([1 N]); % 按1/N的概率排入服务员窗口if server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间else % 否则所有服务员都在忙碌,顾客要排队等候total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟server_time(1, server_id) = server_time(1, server_id) + ServeTime;endendavg_wait_time = [avg_wait_time, total_wait_time/client_num];end% 计算平均等待时间mean_avg_wait_time = mean(avg_wait_time);fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间% 绘制每次仿真的平均等待时间散点图x = 1:100;scatter(x, avg_wait_time, '.');方案三:N = 3; % 服务员人数r = 6; % 顾客到达流强度u = 20; % 服务员服务强度T = 1000; % 仿真运行时间avg_wait_time = []; % 平均等待时间for i=1:100% 模拟排队函数server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间time = 0; % 绝对时钟,初始为0client_num = 0; % 顾客总数,初始为0CRTime = 0; % 顾客到达时间间隔ServeTime = 0; % 顾客服务时间server_id = 0; % 当前进入排队窗口的服务员编号total_wait_time = 0;% 系统中到达顾客的总等待时间while 1CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔time = time + CRTime; % 更新系统的绝对时钟if time > Tbreak;endclient_num = client_num + 1; % 顾客数加1ServeTime = exprnd(1/u); % 按指数分布产生顾客服务时间间隔temp = min(server_time); % 寻找排队时间最短的服务员窗口[x, y] = find(temp == min(min(server_time)));server_id = y; % 按队伍最短排入服务员窗口if server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间else % 否则所有服务员都在忙碌,顾客要排队等候total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟server_time(1, server_id) = server_time(1, server_id) + ServeTime;endendavg_wait_time = [avg_wait_time, total_wait_time/client_num];end% 计算平均等待时间mean_avg_wait_time = mean(avg_wait_time);fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间% 绘制每次仿真的平均等待时间散点图x = 1:100;scatter(x, avg_wait_time, '.');四、实验结果与分析方案一:图1 方案一仿真的平均等待时间散点图图2 方案一平均等待时间M|M|N1. 输入参数:服务员人数N,顾客到达流强度r,服务员服务强度u,仿真运行时间T;2. 各变量初始值置0:绝对时钟time,服务员下一空闲时刻数组server_time[](其中按顺序保存每一个服务员的下一空闲时刻),顾客总数client_num,顾客到达时间间隔CRTime,顾客服务时间ServeTime,当前进入排队窗口的服务员编号server_id,系统中顾客总等待时间total_wait_time;3. 按照指数分布产生下一顾客到达的时间间隔CRTime,time+=CRTime。
泊松输入—指数服务排队模型

2、 s>1 的情况
该系统的服务强度为
s
则系统的稳定概率可表示为
P0
s-1 k0
1 ( )k k!
1
s!(1
( )s )
1
Pn
n1!(
)n
P0
,1
n
s
1
s!s n s
( )n
P0,n
s
(7-16)
(7 - 17) (7 - 18)
四项主要工作指标为
Lq
s!(1
)2
解:根据题意,这是 M/M/1 系统.先确定参数值.
180辆/60分钟
3辆 / 分钟,
60 辆/分钟 15
4辆 / 分钟,
故服务强度为 0.75,根据公式(7 - 7)到(7 - 15),进行下列计算:
( 1 ) Pwait 1 - P0 1 (1 - ) 0.75,即 收 费 处 有 3/4 时 间 是 繁 忙
L
-
3(人)
Lq
2 1
2.25(人)
Wq
-
7.5(分钟)
W
1
-
10(分钟)
顾客到达后必须等待的概率为
P n 1 1 - P0 0.75
表 7-2 两个排队系统的比较
项目
M/M/3
M/M/1(单队)
空闲的概率
0.0748
0.25(每个服务台)
平均队长
3.95
9(整个系统)
平均等待队长
1、s=1 的情形
服务强度为
稳态概率为
P0
1- 1 - r 1
,
1
r
1
1
,
1
(7 24)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该系统是M/M/2/4混合制排队系统,
其中λ=4(辆/h),μ=5(辆/h), ?
c=2,ρ=λ/cμ=0.4 ;
1 单位顾客服务时间
(12 /
1 60)小时
(5 辆/ 小时)
p0
[1
2
22 ( 2 5 ) ]1 2!(1 )
[1 0.8 2 0.42 0.45 ]1 0.435 1 0.4
Lq
cc c1 p0 c!(1 )2
[1
Nc
(N
c) Nc (1
)]
Wq
Lq
e
Lq
(1 pN )
Ws
Wq
1
例6-4 某汽车加油站有2台油泵为汽车加 油,站内可容纳4辆汽车,当站内停满车 时,后来的汽车只能到别处加油。若需 加油的汽车按泊松流到达,平均每小时4 辆。每辆车加油所需时间服从负指数分 布,平均每辆需12min,试求系统有关 运行指标。
统时,若无空闲服务台,则排队等待服务。
2、系统的状态转移速度图:
0
1
2
…… c-1
c
c+1 ……
2 3 (c-1) c c c
3、 2)
3 ( 3)
c ( c)
c
( c)
( )
2 ( 2)
3 ( 3)
6.3 多服务台指数分布排队系统 ( M/M/C排队模型)
基本的排队模型 M/M/C/N/∞/FCFS混合制排队系统
一. M/M/C/N/∞/FCFS多服务台混合制排队模型
1、系统意义:顾客按泊松流输入,到达率 为λ;服务时间服从负指数分布,服务率为 μ;有C个服务台,先到先服务,系统容量 为N(N>C), 顾客源无限的混合制排队系统。
4、系统的基本数量指标:(公式组(6-16))
c (c )n cc ( c N ) 1
p0 n0
n!
c!(1 )
pn
cn n!
n
p0
cc c!
n
p0
1 n c cnN
N
N 1
e n pn pn 0 pN (1 pN )
n0
n0
Ls
Lq
e
Lq
c(1 PN )
Ws
Wq
1
注意:
要求ρ=λ/cμ小于1。
例6-4 将例6-2改为有两台加油泵的情况, 则该系统转化为M/M/2等待制系统。计算 有关数量指标 .
已知相关参数λ=4(辆/h),
μ=5(辆/h),则ρ=λ/2μ=0.4 ;
p0
1
2
22 2!
2 1
1
1
2 0.4
2
0.42 1 0.4
1
0.4286
P1=2ρP0=0.34288 P2=0.13715 P3=0.05486 P4=0.02194 ┇
Lq
22
0.43 0.4286 2!(1 0.4)2
1.524(辆)
λe =4;
Wq
Lq
e
1.524 0.381(h) 4
Ws
Wq
1
0.381
0.2
0.581(h)
称ρ为系统的负荷强度,它表征了顾客的 服务需求强度与系统服务能力的比值。
M/M/C等待制排队系统特征量计算公式
p0
c1 n0
cn n!
n
cc c!
c
1
(1
)
pn
cn
n! cc
c!
n p0 n p0
nc nc
Lq
cc c1 p0 c!(1 )2
Ls Lq
e
Wq
Lq
3 ( 3)
c ( c)
c
( c)
c c
3、稳态下的状态概率方程:
P ( p0 , p1, p2 ,, pc , pc1,, pN ) 0
由此,可得稳态概率应满足的关系:
当n<c时,
p0
p1
0
p1
p0
p0 ( ) p1 2p2 0
2p2
p0
(
) p1
c ( c)
c
( c)
4、 状态概率方程:
P ( p0 , p1, p2 ,) 0
该系统是M/M/C/N系统当N→∞时的 极端情况,故可利用M/M/C/N系统的数 量指标计算公式取极限N→∞得到相应 的各项数量指标。
注意
由于系统中顾客无限制,考虑到服务与顾 客到达的随机性,在讨论系统达到稳态时 的情况,必须要求ρ=λ/cμ小于1。
Ls Ws e 0.581 4 2.324 (辆)
课堂练习6-2 试画出M/M/2///FCFS 等待制系统的状态转移速度图
λ 0
μ
λ
1
2
2μ
λ
…… n-1
n
2μ
λ
… …
2μ
三、M/M/C损失制排队系统
M/M/C损失制排队系统可以看作M/M/C/N/∞ 混合制排队系统中N=C时的特例。 1、系统意义:
e (1 pN ) 4 (1 0.0222 ) 3.9112 (辆 / h)
Wq
Lq
e
0.0256(h) 1.536(min)
Ws
Wq
1
0.2256(h)
13.536(min)
Ls Ws e 0.082 (辆)
二. M/M/C/∞/∞/FCFS多服务台等待制排队模型
1、系统意义: 顾客按泊松流输入,到达率为λ; 服务时间服从负指数分布,服务率为μ; 有C个服务台; 先到先服务,系统无容量限制,顾客到达系
p1 2p0 0.348 p2 p1 0.1392 p3 p2 0.0556
p4 p3 0.0222
根据(6-16)的一组公式,可以计算出系统的 其他运行指标:
Lq
22 2!(1 0.4)2
0.43
0.4351 0.442
(4 2)0.442 (1 0.4)
22 0.43 0.4351 3 0.42 2 0.43 0.100224 2!(1 0.4)2
顾客到达系统时,若无空闲服务台,系 统中顾客数小于N,则排队等待服务;若系 统中顾客数等于N,则离开系统,另求服务。
2、系统状态转移速度图和状态转移速度矩阵:
λ
λ λλ λ λ λ λ
0
1
2 …… c-1
c …… N-1 N
μ
2μ 3μ (c-1)μ cμ cμ cμ cμ
( )
2 ( 2)
p0
(
)
p0
2 p2 2 2 p0;
令
c
,称为系统负荷强度,可得Pn的
一般表达式:
pn
n
pn1
c n
pn1;
pn
1 ( )n n!
p0
cn n!
n p0
当c<n≤N时,
pn1
cpn1
(
c) pn
pn
cc c!
n
p0
也可以根据“系统处于稳态时,每个状态的 转入率等于转出率”求得Pn的一般表达式。