排队理论简介

news2024/11/24 0:44:30

排队理论简介

  • 1. 理论背景
  • 2. 研究的数学方法
  • 3. 拒绝型排队系统与等候型排队系统
  • 4. 拒绝型排队系统

本文参考文献为Вентцель Е. С.的《Исследование операций》。

1. 理论背景

排队理论又称大众服务理论,顾名思义指的是在有限的服务条件下服务大量人员的一种理论情景。日常生活中常见的场景如,排队的电话亭、等待理发的顾客、售票窗口、商店结账处等等。

显然,这些排队情景中都有一些共性。如:

  1. 每个排队情景必然包括若干“服务人员”,称之为服务通道。一个排队情景中可以有一个或多个服务通道。
  2. 每个排队情景中必然也包括若干申请流(或称请求流),这些请求在某个随机时刻进入该排队系统。
  3. 当前正在处理的申请会占据一定的时间,在这段时间之后,处理该申请的通道会“放空”并等待处理下一个申请。
  4. 当有多余的申请等待处理时,该申请有2种情况:要么等待被处理,形成“队列”(即排队),要么离开该服务通道。
  5. 除4中的情况外,一个服务通道还可能处于非满载状态或停工状态。

一个服务通道能够成功处理的申请数,称为通过性。而排队理论研究的正是申请流、服务通道数量、服务通道的工作能力、排队系统的工作规则、工作效率等问题。

一般地,衡量一个排队系统的效率特征可以用以下的方式:

  • 单位时间内可以处理的申请平均数量;
  • 无法被满足、使排队系统无法服务的申请所占的百分比;
  • 提交的申请能及时被处理的概率;
  • 排队等候的平均用时;
  • 等候用时的时长的分布律;
  • 申请队列中的申请平均数量;
  • 队列中申请数量的分布律;
  • 单位时间内排队系统带来的平均收入。

2. 研究的数学方法

如果排队系统中的随机过程是马尔科夫过程,那么对排队系统的数学建模将会很简单。而如果排队系统中的过程确实是马尔科夫过程,那么逐个发生的事件流必须是泊松过程,即每个单独的事件都没有相应的后果或后续动作。对于排队过程来说,即需要申请流和服务流都满足泊松过程。然而业已证明,排队系统越复杂,服务通道越多,则越可以近似于马尔科夫过程。因此,采用马尔科夫过程研究排队理论并无大碍。

在研究排队过程之前,需要知道系统中的几个基本参数。
n n n – 服务通道数量;
λ \lambda λ – 申请流的强度;
μ \mu μ – 每个服务通道的处理能力(工作产能),即每个服务通道单位时间内可处理的申请的平均数量;
形成排队的条件(若存在)。

设排队系统中的申请流和服务流都是泊松过程,且为定常的,参数不随时间变化。而每2个事件之间的时间间隔 T T T是随机变量,其分布满足如下概率分布密度函数:
f ( t ) = λ e − λ t ( t > 0 ) f(t) = \lambda {\rm e}^{-\lambda t} \quad (t > 0) f(t)=λeλt(t>0)

3. 拒绝型排队系统与等候型排队系统

排队系统分为2类:

  • 拒绝型。当所有服务通道都被占用时,新的申请会被拒绝,离开排队系统并之后不再参与进来。
  • 等候型。当所有服务通道都被占用时,新的申请加入等候队列。当某个通道处理完上一个申请变为空时,就从等候队列中转移一个申请至该通道并处理。

接下来将着重讲解拒绝型排队系统的数学模型。

4. 拒绝型排队系统

对于拒绝型排队系统来说,衡量其效率的指标称为绝对通过性,指的是单位时间内系统可以处理的申请的平均数量。与之对应的概念是相对通过性,指单位时间内被系统处理的申请的平均数,与该时间段内新增的申请数之比值

设系统中有 n n n个服务通道。根据被占用的通道的个数,将系统的状态分为如下几类:
S 0 S_0 S0 – 所有服务通道都空;
S 1 S_1 S1 – 只有一个服务通道被占用,其他通道都空;
⋯ \cdots
S k S_k Sk – 有 k k k个通道被占用,其他通道都空;
⋯ \cdots
S n S_n Sn – 所有 n n n个通道都被占用。

如下图所示是拒绝型排队系统的示意图。
拒绝型排队系统示意图
一开始系统中没有申请,所有服务通道为空,系统状态为 S 0 S_0 S0。当有一个申请加入时,占用一个服务通道,系统状态从 S 0 S_0 S0变为 S 1 S_1 S1,即 S 0 → S 1 S_0 \rightarrow S_1 S0S1,此过程的强度(或密度)为 λ \lambda λ,可以理解为单位时间内新增了 λ \lambda λ个申请。以此类推,直到所有 n n n个通道均被占用。从低占用向高占用转化的过程中,每个状态转化的强度都是 λ \lambda λ

当系统处于 S 1 S_1 S1状态,而该申请被完成时,系统将变成 S 0 S_0 S0状态,即 S 1 → S 0 S_1 \rightarrow S_0 S1S0。此过程的强度(或密度)为 μ \mu μ,可以理解为一个被占用的服务通道单位时间内可以服务 μ \mu μ个申请。值得注意的是,从高占用向低占用转化的过程的强度并非全是 μ \mu μ,如图所示, S k + 1 → S k S_{k+1} \rightarrow S_k Sk+1Sk过程的强度为 ( k + 1 ) μ \left( k+1 \right) \mu (k+1)μ

利用柯尔莫哥洛夫方程,对图中每个状态的“入量”和“出量”进行描述,可以得到每个状态的柯尔莫哥洛夫方程。如,对于某个状态 S k S_k Sk来说,其“出量”(即图中从方块 S k S_k Sk发出的箭头)有两个,分别是方块 S k S_k Sk右上的 λ \lambda λ和左下的 k μ k \mu kμ;而“入量”(即图中进入方块 S k S_k Sk的箭头)也有2个,分别是方块 S k S_k Sk左上的 λ \lambda λ和右下的 ( k + 1 ) μ (k+1) \mu (k+1)μ。那么,状态 S k S_k Sk概率可以描述为
d p k d t = − ( λ + k μ ) p k + λ p k − 1 + ( k + 1 ) μ p k + 1 \frac{ {\rm d} p_k }{ {\rm d} t } = -\left( \lambda + k \mu \right) p_k + \lambda p_{k-1} + (k+1) \mu p_{k+1} dtdpk=(λ+kμ)pk+λpk1+(k+1)μpk+1上式的含义是:

  1. 所有方块 S k S_k Sk的出量均为负项,而入量为正项;
  2. 出量有2个:1) 右上的 λ \lambda λ S k S_k Sk出发,其概率为 p k p_k pk,故该项是 − λ p k -\lambda p_k λpk;2) 左下的 k μ k \mu kμ也从 S k S_k Sk出发,其概率也是 p k p_k pk,故该项是 − k μ p k -k \mu p_k kμpk
  3. 入量有2个:1) 右下的 ( k + 1 ) μ (k+1) \mu (k+1)μ从上一个状态 S k + 1 S_{k+1} Sk+1出发,其概率对应是 p k + 1 p_{k+1} pk+1,故该项是 ( k + 1 ) μ p k + 1 (k+1) \mu p_{k+1} (k+1)μpk+1;2) 左上的 λ \lambda λ从上一个状态 S k − 1 S_{k-1} Sk1出发,其概率对应是 p k − 1 p_{k-1} pk1,故该项是 λ p k − 1 \lambda p_{k-1} λpk1
  4. 注意:从哪个方块 S i S_i Si出发,概率 p i p_i pi的下标就要和方块的下标对应!概率 p i p_i pi取决于箭头的出发地而不是指向地!

由此可以写出图中的微分方程关系:
d p 0 d t = − λ p 0 + μ p 1 d p 1 d t = − ( λ + μ ) p 1 + λ p 0 + 2 μ p 1 ⋮ d p k d t = − ( λ + k μ ) p k + λ p k − 1 + ( k + 1 ) μ p k + 1 ⋮ d p n d t = − n μ p n + λ p n − 1 (1) \begin{aligned} \frac{ {\rm d} p_0 }{ {\rm d} t } &= - \lambda p_0 + \mu p_1 \\ \frac{ {\rm d} p_1 }{ {\rm d} t } &= - \left( \lambda + \mu \right) p_1 + \lambda p_0 + 2\mu p_1 \\ \vdots \\ \frac{ {\rm d} p_k }{ {\rm d} t } &= - \left( \lambda + k\mu \right) p_k + \lambda p_{k-1} + (k+1) \mu p_{k+1} \\ \vdots \\ \frac{ {\rm d} p_n }{ {\rm d} t } &= - n\mu p_n + \lambda p_{n-1} \\ \tag{1} \end{aligned} dtdp0dtdp1dtdpkdtdpn=λp0+μp1=(λ+μ)p1+λp0+2μp1=(λ+kμ)pk+λpk1+(k+1)μpk+1=nμpn+λpn1(1)上述方程称为艾拉姆咖方程。初始条件为
p 0 ( 0 ) = 1 , p 1 ( 0 ) = p 2 ( 0 ) = ⋯ = p n ( 0 ) = 0 p_0 (0) = 1, \qquad p_1(0) = p_2(0) = \cdots = p_n(0) = 0 p0(0)=1,p1(0)=p2(0)==pn(0)=0艾拉姆咖方程往往无法手解,需要通过计算机辅助求解,得到结果 p i ( t ) p_i(t) pi(t)每种状态出现的概率

另外,在实际运用中往往还感兴趣状态的边界概率,指系统的稳态模式下的概率。这里不加推导地给出公式:
p k = λ k μ ⋅ 2 μ ⋯ k μ p 0 = ( λ / μ ) k k ! p 0 p 0 = 1 1 + λ / μ 1 ! + ( λ / μ ) 2 2 ! + ⋯ + ( λ / μ ) n n ! p_k = \frac{\lambda^k}{\mu \cdot 2\mu \cdots k\mu} p_0 = \frac{ \left( \lambda / \mu \right)^k}{k!} p_0 \\ p_0 = \frac{1}{ 1 + \frac{\lambda / \mu}{1!} + \frac{ \left( \lambda / \mu \right)^2}{2!} + \cdots + \frac{ \left( \lambda / \mu \right)^n}{n!} } pk=μ2μkμλkp0=k!(λ/μ)kp0p0=1+1!λ/μ+2!(λ/μ)2++n!(λ/μ)n1 λ / μ = ρ \lambda / \mu = \rho λ/μ=ρ称为换算强度,其物理意义是:在处理一个请求的平均时长内,到来(新增)的请求的平均数量

则上述边界概率公式可改写为
p k = ρ k k ! p 0 p_k = \frac{\rho^k}{k!} p_0 pk=k!ρkp0 p 0 = 1 1 + ρ 1 ! + ρ 2 2 ! + ⋯ + ρ n n ! (2) p_0 = \frac{1}{ 1 + \frac{\rho}{1!} + \frac{ \rho^2}{2!} + \cdots + \frac{ \rho^n}{n!} } \tag{2} p0=1+1!ρ+2!ρ2++n!ρn1(2)式(2)同样称为艾拉姆咖方程。

显然,所有通道都被占用的概率是 p n p_n pn,那么“新增申请能够被处理”的概率为
q = 1 − p n q = 1 - p_n q=1pn进而绝对通过性
A = λ q = λ ( 1 − p n ) A = \lambda q = \lambda \left(1 - p_n \right) A=λq=λ(1pn)则繁忙通道的平均个数 k ˉ \bar k kˉ可以表示为加权和:
k ˉ = 0 ⋅ p 0 + 1 ⋅ p 1 + ⋯ + n ⋅ p n \bar k = 0 \cdot p_0 + 1 \cdot p_1 + \cdots + n \cdot p_n kˉ=0p0+1p1++npn即为数学期望。
另一方面,由于绝对通过性表示单位时间内处理的申请的平均数量,而一个被占用的服务通道在单位时间内可以处理 μ \mu μ个申请,故繁忙通道的平均个数亦可表示为
k ˉ = A μ = λ ( 1 − p n ) μ = ρ ( 1 − p n ) \bar k = \frac{A}{\mu} = \frac{ \lambda \left(1 - p_n \right) }{\mu} = \rho \left( 1 - p_n\right) kˉ=μA=μλ(1pn)=ρ(1pn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

防风固沙功能重要性评价

1.3 防风固沙功能重要性评价 1.3.1 评估模型 以生态系统防风固沙服务能力指数作为评估指标,计算公式为: 式中:Sws为防风固沙服务能力指数,NPPmean为多年植被净初级生产力平均值,K 为土壤可蚀性因子,Fq为多…

算法(1)

位运算 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 快速计算1比特数 x x&(x-1) 将数字的最后一位变成0直到x0,就可以计算出每一个数字中的1比特数。不过要求O(N) 动态规划 奇数:二进制表示中,奇数一定比前面那个偶数多一个 1&…

从 axios 源码学习设计模式

文章目录 一、源码分析1.1 axios 为什么可以多种方式调用1.2 拦截器实现注册使用:promise链式调用 二、从 axios 看设计模式axios 的精髓在哪2.1 抽象工厂axios.create -- 创建新实例的工厂 2.2 微内核设计2.3 适配器思想2.4 责任链模式2.5 桥接模式举例&#xff1a…

elevation mapping学习笔记1之Ubuntu18.04+ROS-melodic编译安装elevation mapping高程图及示例运行

文章目录 0 引言1 安装依赖1.1 grid map1.2 Eigen1.3 kindr1.4 Point Cloud Library (PCL) 2 编译和问题解决3 运行示例3.1 turtlesim3_waffle_demo3.2 simple_demo 和 Ground Truth Demo 0 引言 苏黎世开源的elevation mapping指的是苏黎世联邦理工学院(ETH Zuric…

TypeScript -- 类

文章目录 TypeScript -- 类TS -- 类的概念创建一个简单的ts类继承 public / private / protected-- 公共/私有/受保护的public -- 公共private -- 私有的protected -- 受保护的 其他特性readonly -- 只读属性静态属性 -- static修饰ts的getter /setter抽象类abstract TypeScrip…

【ArcGIS Pro二次开发】(53):村规制表、制图【福建省】

这篇算是村规入库的一个延续。 村庄规划中有一些图纸是需要严格按照规范制图,或形成一定规范格式的。 这些图纸的制作基本算是机械式的工作,可以用工具来代替人工。 一、要实现的功能 如上图所示,在【村庄规划】组,新增了两个工…

虚拟机中的win10连不上网怎么办?

安装VMware 16和在其中安装win10系统参考这篇,很有详细且有用。 这篇主要记录我安装后发现虚拟机中win10连不上网了,查了好多,终于有一个方法弄好了。 1.打开主机的网络连接 双击所连接的网络的属性——>共享 ,将小勾勾全部勾…

UE5 动画蓝图模板(Animation Blueprint Template)

文章目录 前言准备内容创建动画蓝图使用动画蓝图模板示例1示例2总结前言 本文基于虚幻5.2版本介绍制作动画蓝图模板,本教程要求使用虚幻5.0及以上版本。 准备内容 使用第三人称游戏内容包,已添加可忽略。 选择第三人称游戏,添加到项目。 创建动画蓝图 在 Characters 文件…

前端vue2 全局水印效果

最近写项目遇到一个需求,全局显示水印,不管在哪个路由都要显示。 想要实现的效果: 新建shuiyin.js文件 // 定义水印函数 const addWatermark ({container document.body, // 水印添加到的容器,默认为 bodywidth "200px&…

java代码审计6之ssrf

文章目录 1、java支持的网络请求协议:2、Java 中能发起⽹络请求的类2.1、仅⽀持 HTTP/HTTPS 协议的类2.2、⽀持 sun.net.www.protocol 所有协议的类2.3、审计关键词 3、靶场3.1、漏洞代码13.2、ftp协议读取技巧3.3、无回显之探测内网3.4、无回显之探测文件 之前的文…

代码随想录额外题目| 链表 ●234回文链表●143重排链表 ●141环形链表

#234回文链表 简单方法很简单&#xff08;转成vector判断&#xff09;&#xff0c;难的方法有点难, 很巧妙 简单方法&#xff1a; bool isPalindrome(ListNode* head) {vector<int> vec;ListNode* curhead;while(cur){vec.push_back(cur->val);curcur->next;}i…

Window和linux使用samba实现文件共享

开发环境 开发平台&#xff1a;IMX6 虚拟机环境&#xff1a;Ubuntu16.04 Samba版本&#xff1a;3.4.17 目的 实现无论IMX6作为客户端还是服务端&#xff0c;IMX6系统下与window系统、ubuntu系统文件共享。 Samba移植 下载Samba源码,这个网上一搜大把&#xff0c;我用的版本…

C++ | 构造与析构

目录 普通构造 构造函数基础 显示调用与隐式调用 explicit关键字 初始化列表 拷贝构造 拷贝构造的写法 深拷贝和浅拷贝 拷贝构造的调用时机 返回值优化 析构函数 析构函数基础 析构函数的作用 注意事项 如果无法调用构造函数&#xff0c;那么就无法实例化出对象…

python进阶书籍的推荐 知乎,python入门后如何进阶

本篇文章给大家谈谈python进阶书籍的推荐 知乎&#xff0c;以及python入门后如何进阶&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1、Python应该怎么学_python应该怎么学 想要学习Python&#xff0c;需要掌握的内容还是比较多的&#xff0c;对于自学的同…

java设计模式之模板模式(结合示例)

文章目录 &#x1f4cb;模板模式概念&#x1f4d6;组成要素&#x1f516;代码示例 &#x1f4c8;总结 &#x1f4cb;模板模式概念 在Java中&#xff0c;模板模式&#xff08;Template Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法框架&#xf…

Unity游戏源码分享-街机捕鱼2017版本

Unity游戏源码分享-街机捕鱼2017版本 完整的单机游戏 功能玩法&#xff0c;积分系统都已经齐全的了。 项目源码地址&#xff1a;https://download.csdn.net/download/Highning0007/88105459

音视频——帧内预测

H264编码(帧内预测) 在帧内预测模式中&#xff0c;预测块P是基于已编码重建块和当前块形成的。对亮度像素而言&#xff0c;P块用于44子块或者1616宏块的相关操作。44亮度子块有9种可选预测模式&#xff0c;独立预测每一个44亮度子块&#xff0c;适用于带有大量细节的图像编码&…

C语言中的函数(超详细)

C语言中的函数&#xff08;超详细&#xff09; 一、函数概述二、C语言中函数的分类1.库函数2.自定义函数三、函数的参数1.实际参数&#xff08;实参&#xff09;2.形式参数&#xff08;形参&#xff09;四、函数的调用1.传值调用2.传址调用五、函数的嵌套调用和链式访问1.嵌套调…

【手机】三星手机刷机解决SecSetupWizard已停止

三星手机恢复出厂设置之后&#xff0c;出现SecSetupWizard已停止的解决方案 零、问题 我手上有一部同学给的三星 GT-S6812I&#xff0c;这几天搞了张新卡&#xff0c;多余出的卡就放到这个手机上玩去了。因为是获取了root权限的&#xff08;直接使用KingRoot就可以&#xff0…

C++ 提高编程

C 提高编程 主要针对C泛型编程和STL技术 一、 模板 1、 概念 模板就是建立通用的模具&#xff0c;大大提高代码的复用性 模板特点 模板不可以直接使用&#xff0c;它只是一个框架 ​ 模板的通用并不是万能的 2、 函数模板 C 另一种编程思想为泛型编程&#xff0c;主要利用的…