运筹说 第112期 | M/M/s等待制排队模型

2024-04-15 09:12
文章标签 等待 112 运筹 排队模型

本文主要是介绍运筹说 第112期 | M/M/s等待制排队模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过上期学习,大家已经了解了排队论中的一些基本概念,以及生灭过程和Poisson过程。

那么本期小编将基于这些基本原理,为大家介绍M/M/s混合制排队模型,包括单服务台模型和多服务台模型,介绍模型的概念以及推导过程等内容。M/M/s等待制排队模型有两种机制,分别为单服务台模型M/M/1/∞和多服务台模型M/M/s/∞。 单服务台模型是指顾客的相继到达时间服从参数为λ的负指数分布,服务台数为1,服务时间服从参数为μ的负指数分布,系统空间无限,允许无限排队。多服务台模型是指顾客的相继到达时间服从参数为λ的负指数分布,服务台数为s且服务时间相互独立,服务时间服从参数为μ的负指数分布,系统空间无限,允许无限排队。

单服务台模型

01 队长的分布

设pn=P{N=n}(n=0,1,2,…)为系统达到平衡状态后队长N的概率分布,此时λn=λ,μn=μ。记ρ=λ/μ,且ρ<1,则

\sum_{n=0}^{\infty}{p_{n}}=1,故

其中, \sum_{n=0}^{\infty}{p_{n}}是一个等比数列,所以根据等比数列求和公式S=首项/(1-公比),这里首项为1,公比为ρ,求出

ρ是系统中至少有一个顾客的概率,也就是服务台处于忙的状态的概率,因而也称ρ为服务强度,它反映了系统繁忙的程度。只有ρ<1,即要求顾客平均到达率小于系统平均服务率,才能使系统达到统计平衡,才有

02 几个重要的数量指标

对单服务台等待制排队系统,通过平稳状态下队长的分布(即当系统达到统计平衡时处于状态n的概率为pn)与队长n相乘后加总,可以得到平均队长L

平均排队长Lq为

顾客在系统中的逗留时间为T,由于到达过程和服务时间分别服从参数为λ和μ负指数分布,具有无记忆性;因此T服从参数为μ-λ负指数分布

因此,平均逗留时间W为

可发现平均队长L与平均逗留时间W具有如下关系

同样,可发现平均排队长Lq与平均等待时间Wq。有如下关系

上述两式通常称为Little公式,是排队论中一个非常重要的公式。

03 忙期和闲期

由于忙期和闲期出现的概率分别为ρ和1-ρ,所以可认为在一段时间内两者总长度之比为ρ:(1-ρ)。又因为忙期和闲期是交替出现的,所以在足够长的时间内,它们出现的平均次数应该是相同的。于是,忙期平均长度 和闲期平均长度 之比也为ρ:(1-ρ),即

在到达为Poisson流时,从系统空闲时刻起,到下一个顾客到达时刻止(闲期)的时间间隔仍服从参数为λ的负指数分布,且与到达时间间隔相互独立。故平均闲期为1/λ,可求得平均忙期为

可见,一个顾客在系统内的平均逗留时间=平均忙期。因此,一个顾客在系统内的平均逗留时间应等于服务员平均连续忙的时间。

例题展示

例1:修理店只有一个修理工,顾客到达为Poisson流,平均4人/h。修理时间服从负指数分布,平均需要6min。试求: (1)修理店空闲概率; (2)店内恰有3个顾客的概率; (3)店里至少有1个顾客的概率; (4)店内平均顾客数; (5)每位顾客在店内的平均逗留时间; (6)等待服务的平均顾客数; (7)每位顾客平均等待服务时间; (8)顾客在店内等待时间超过10min的概率。

解:本题为M/M/1/∞问题,λ=4,μ=1/0.1=10,ρ=λ/μ=2/5

(1)修理店空闲概率

(2)店内恰有3个顾客的概率

(3)店里至少有1个顾客的概率

(4)店内平均顾客数

(5)每位顾客在店内的平均逗留时间

(6)等待服务的平均顾客数

(7)每位顾客平均等待服务时间

(8)顾客在店内等待时间超过10min的概率

多服务台模型

01 基本概念

设顾客单个到达,相继到达时间间隔服从参数为的负指数分布,系统中共有s个服务台,服务台的服务时间相互独立,且服从参数为μ的负指数分布。系统空间无限,允许无限排队。 多服务台模型与单服务台模型的区别为:单服务台模型中服务率与系统状态无关,均为μ,服务强度ρ=λ/μ<1;而多服务台模型中服务率与系统状态有关。 02 过程推导

记pn=P{N=n}(n=0,1,2,…)为系统达到平稳状态后队长N的概率分布,对个数为s的多服务台系统,有

引入

列出平衡方程

可推导出

解得平衡条件下系统中顾客数为n的概率:

\sum_{n=0}^{\infty}{p_{n}}=1,得

其中,

是一个等比数列(首项为\frac{\rho ^{s}}{s!} ,公比为 \frac{\rho}{s}),根据等比数列求和公式,求出

当n≥s时,再来的顾客就必须等待,则有

上式也被称为Erlang等待公式,它给出了顾客到达系统时需要等待的概率。对多服务台等待制排队系统,由已得到的平稳分布可得到平均排队长Lq

记系统中正在接受服务的顾客平均数为 \bar{s},显然也是正在忙的服务台平均数,故

平均在忙的服务台个数不依赖于服务台个数s,可得到平均队长L

对多服务台系统,Little公式依然成立,即有

例题展示

例2:急诊病人相继到达时间间隔服从负指数分布,平均每0.5h来一个;医生处理一个病人的时间也服从负指数分布,平均需要20min/人。现已有一个医生,考虑是否需要再增加一个医生?

解:本题可以看作为M/M/s/∞问题,λ=2,μ=3,ρ=λ/μ=2/3,s=1,2

由上表中的结果可知,从减少病人等待时间,提供及时处理来看,需要增加医生。以上就是M/M/s等待制排队模型的全部内容了,通过这一节的学习,大家可以尝试对现实生活中的一些实际问题进行练习了!

作者 | 林若唯 唐京茹

责编 | 王一静

审核 | 徐小峰

这篇关于运筹说 第112期 | M/M/s等待制排队模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905419

相关文章

LabVIEW环境中等待FPGA模块初始化完成

这个程序使用的是LabVIEW环境中的FPGA模块和I/O模块初始化功能,主要实现等待FAM(Field-Programmable Gate Array Module,FPGA模块)的初始化完成,并处理初始化过程中的错误。让我们逐步分析各部分的功能: 1. Wait for FAM Initialization框架 此程序框架用于等待I/O模块成功初始化。如果在5秒钟内模块没有完成配

selenium的webdriver三种等待方式(显式等待WebDriverWait+implicitly_wait隐式等待+sleep强制等待)

隐式等待是等页面加载,不是等元素!!! 1、显式等待  一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。显式等待是等元素加载!!! from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import

log file sync等待事件

概念: 1、REDO组件: redolog buffer=>位于SGA中,是一块循环使用的内存区域,保存数据库变更的相关信息并以重做条目redoentries形式存储,包含DML及DDL语句; LGWR=>通过此进程把redo buffer的内容写到redo log file中; redo log file=>(在归档模式下被ARC n最终写入归档日志)。最少两组重做日志,每组最少

Linux 进程等待与替换

✏️ 代码引入: #include <stdio.h>#include <unistd.h> // _exit()要此头文件,使用方法与 exit()类似#include <stdlib.h> // exit(),要此头文件// int fun()//{// printf("call fun function done!\n");// return 11;// // 任意

【多线程】阻塞,忙等待,睡眠,挂起的简单理解,以及各自优缺点

阻塞(Blocking) 理解:当一个线程或进程执行阻塞操作时,它会暂停执行,直到某个条件满足(例如,I/O操作完成、资源可用等)。在此期间,该线程或进程不会占用CPU资源。 优点: 减少CPU资源浪费,因为阻塞的线程或进程不会占用CPU时间片。简化编程模型,因为不需要处理复杂的轮询逻辑。 缺点: 增加了响应时间,因为线程或进程在条件满足之前无法继续执行。可能导致线程或进程调度延迟,特别

Java源码学习之高并发编程基础——AQS源码剖析之线程间通信之条件等待队列

1.前言&目录 前言: 在Java中,使用synchronized关键字构建的锁,线程间通信可以使用某对象实例的wait/notify机制完成。AQS同样也提供了一套线程间通信的解决方案——条件等待队列。 在AQS源码分析的两篇文章AQS源码分析(上)、AQS源码分析(下)中,我们知道了,无论是独占锁模式还是共享锁模式,AQS提供的能力是将获取不到锁的线程将它们封装成链表节点的形式组织

运筹说 第124期 | 存储论应用研究的一些问题

前面我们学习了确定型、单周期以及其他类型的随机型存储模型,相信大家对存储论的相关知识已经有了一定的了解,本期小编将带大家学习存储论在应用研究中的一些问题。 库存管理的实际需求是非常迫切的,即使是简单的库存策略,也会带来巨大的经济效益。运筹学的任务是建立更实用的库存模型,并用于实际。下面我们一起来了解三种存储论的实际应用情景。 1.多品种多级库存系统的控制 多品种多级库存系统可

sqlite3的db.wait方法:等待所有查询完成

Node.js中sqlite3的db.wait方法深入解析 在Node.js环境中,sqlite3库为开发者提供了一个与SQLite数据库进行交互的简洁API。在处理数据库操作时,有时需要等待直到所有的查询都完成,这时db.wait方法就显得尤为重要。本文将深入解析sqlite3库中的db.wait方法,包括其API函数定义和相应的代码示例解释。 一、db.wait方法简介 db.wait方

【JUC】08-线程等待与唤醒

1. Object wait和notify实现等待与唤醒 没有锁会报错。 public class demo01 {public static void main(String[] args) {Object objectLock = new Object();new Thread(()->{synchronized (objectLock) {try {// 释放当前锁, 等待notify,

Leetcode 112-路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点的节点。 题解 方法一 判断树中是否有某路径,可以判断左子树或右子树中是否有该路径,即采用left== true || right=