排队论入门学习 (for 数学建模)

2023-05-16

排队论入门学习 (for 数学建模)

文字部分引用了很多浙大数学建模排队论ppt中的内容,本人做个总结和代码实现

为什么研究排队论?

研究排队问题,就是要把排队的时间控制到一定的程度内,在服务质量的提高和成本的降低之间取得平衡,找到最适当的解。

image

排队系统的组成:

1.输入过程: 输入过程是说明顾客按照怎样的规律到达系统,分为三个方面:

  • 顾客总数:有限与无限

  • 顾客到达的方式:单个或者成批

  • 顾客相继到达的时间间隔:确定型或者随机型

2.排队规则与服务规则:

  • 排队规则:损失制、等待制、混合制
  • 服务规则:先到先服务、后到先服务、随机服务、有优先权的服务

3.服务机构:

  • 服务台数量及结构形式:数量上服务台有单台和多台之分,结构形式上服务台有单队-单服务台式、多队-多服务并列式、单队-多服务台并列式、单队-多服务台串列式、多服务混合式
  • 服务方式:单个服务和成批服务
  • 服务时间:确定型和随机型

排队模型的分类

记X:顾客到达的时间间隔分布;Y:服务时间的分布;Z:服务台数。
则排队模型为:X/Y/Z。

常用的记号:M—负指数分布;D—确定型;Ek—k阶Erlang分布;GI—一般相互独立的随机分布;G—一般随机分布。这里主要讨论M/M/1,/M/M/C。

泊松流与指数分布

设x(t)为时间[0,t]内流事件发生的次数。例如[0,t]时间内到来的顾客数,[0,t]时间内服务台收到呼叫的此时。那么我们一般假定x(t)满足泊松过程,也称为poisson流或最简单流,表示[0,t]时间内事件发生次数为k次的概率服从泊松分布:

\(P( x(t)=k ) = \frac{(\lambda k)^k}{k!}e^{-\lambda t} \)

其中参数\(\lambda\)表示单位时间内事件发生次数的平均数。

当流过程为泊松过程时,设流发生的时刻依次为t1,t2,…tn,发生时间的间隔记为dn=tn - tn-1 (n=1,2,…),其中t0=0。

定理: 事件流x(t)为泊松流的充要条件是x(t)流发生的时间间隔dn相互独立,且服从相同的负指数分布,即

image

(负)指数分布满足以下性质:

\(P(T<=t0+x | T>=t0)=P(T<=x) \)

如果把T解释为寿命,上式表名:如果已知年龄大于t0岁,则再活x年的概率与以前的t0无关。所以有时又风趣地称指数分布是“永远年轻”。

请看下面例题(来自另一份ppt):

image

image

排队系统的运行指标:

  1. 绝对通过能力A:单位时间内被服务被服务顾客的数学期望

  2. 相对通过能力Q:被服务顾客的顾客数与请求服务顾客的顾客数的比值

  3. 系统损失概率\(P_损\):服务系统满员的概率

  4. 队长\(L_系\):系统内顾客数量的数学期望值

  5. 排队长\(L_队\):系统内排队顾客数的数学期望值

  6. 逗留时间\(W_系\):顾客在系统内逗留时间的数学期望值

  7. 排队时间\(W_队\):系统内顾客排队等待服务时间的数学期望

损失制排队模型

  • 多通道损失制系统
  • 单通道损失制系统

下面以多通道损失制系统为例

设系统内有n个服务员,顾客来到服务系统时如果服务员正在忙,顾客不能立即得到服务,则顾客离去。

案例1:

某电话总机有3条中继线,平均每分钟有0.8次呼唤。如果每次通话时间平均为1.5分钟,试求:系统状态的极限概率;绝对通过能力和相对通过能力;损失概率和占用通道的平均数。

原理分析:

image
解释一下,这里\(\mu\)是1.5的倒数。

#include <iostream>
#include <cmath>
using namespace std;
const int maxn = 1007;
double jc(int k) { //阶乘
    double ans = 1;
    for (int i = 2; i <= k; i++) {
        ans *= i;
    }
    return ans;
}
int main() {
    double n = 3, lamda = 0.8, u = 0.667;
    double miu = lamda / u;
    double p0 = 1, cur = 0;
    for (int i = 0; i <= n; i++) {
        cur += pow(miu, i) / jc(i);
    }
    p0 /= cur;
    double p_sun = pow(miu, n) * p0 / jc(n);
    double Q = 1 - p_sun;
    double A = lamda * Q;
    double K = miu * (1 - p_sun);
    double zyl = K / n;
    cout<<"-----输入各项参数:-----\n";
    cout<<"服务员个数:"<<n<<endl;
    cout<<"顾客流强度:"<<lamda<<endl;
    cout<<"服务台能力:"<<u<<endl;
    cout<<"-----系统效率指标:-----\n";
    cout<<"损失概率= "<<p_sun<<endl;
    cout<<"系统的相对通过能力= "<<Q<<endl;
    cout<<"系统的绝对通过能力= "<<A<<endl;
    cout<<"占用服务员的平均数= "<<K<<endl;
    cout<<"通道占用率= "<<zyl<<endl;
    return 0;
}

运行结果

-----输入各项参数:-----
服务员个数:3
顾客流强度:0.8
服务台能力:0.667
-----系统效率指标:-----
损失概率= 0.08969
系统的相对通过能力= 0.91031
系统的绝对通过能力= 0.728248
占用服务员的平均数= 1.09183
通道占用率= 0.363942

对于单通道损失制系统,只需将上面程序的n改成1即可。

等待制排队模型

  • 多通道等待制模型
  • 单通道等待制模型

下面以多通道等待制模型为例

设本系统顾客到达流为泊松流,其强度为\(\lambda\)。系统内有n个服务员,服务员具有相同服务时间且服从指数分布,其强度为\(\mu\)。当顾客到达时,如果服务员忙着,顾客排队等待服务,一直等到有服务员为他服务为止。

对于多通道等待制系统有:

\(p_0=1-\lambda\) (此处ppt上没说清楚,这个p0是猜测,待验证)
image

对于单通道等待制系统有:

image

案例2:

某临时假设的公路简便桥,桥上不容许同时又两辆汽车通过。若汽车到达流为泊松流,其强度为\(\lambda\)=2.1辆/分钟。通过时间为指数分布,平均每辆的通过时间为0.4分钟,试求系统的效率指标。

#include <cmath>
#include <iostream>
using namespace std;
const int maxn = 1007;
double jc(int k) { //阶乘
    double ans = 1;
    for (int i = 2; i <= k; i++) {
        ans *= i;
    }
    return ans;
}
int main() {
    double n = 1, lamda = 2.1, u = 2.5;
    double miu = lamda / u;
    double p0 = 1-miu;
    double p_sun = 0;
    double Q = 1 - p_sun;
    double A = lamda * Q;
    double L_dui = pow(miu, n + 1) *p0 / (n * jc(n)) ;
    L_dui /= (1 - miu / n) * (1 - miu / n);
    double W_dui = L_dui / lamda;
    double K = miu * (1 - p_sun);
    double L_xi = L_dui + miu;
    double W_xi = L_xi/lamda;
    cout << "-----输入各项参数:-----\n";
    cout << "服务员个数:" << n << endl;
    cout << "顾客流强度:" << lamda << endl;
    cout << "服务台能力:" << u << endl;
    cout << "-----系统效率指标:-----\n";
    cout << "损失概率= " << p_sun << endl;
    cout << "系统的相对通过能力= " << Q << endl;
    cout << "系统的绝对通过能力= " << A << endl;
    cout << "系统内排队顾客的平均数= " << L_dui << endl;
    cout << "顾客的平均排队时间= " << W_dui << endl;
    cout << "占用服务员的平均数= " << K << endl;
    cout << "系统内顾客的平均数= " << L_xi << endl;
    cout << "顾客在系统中平均逗留时间= " << W_xi << endl;
    return 0;
}

运行结果如下:

-----输入各项参数:-----
服务员个数:1
顾客流强度:2.1
服务台能力:2.5
-----系统效率指标:-----
损失概率= 0
系统的相对通过能力= 1
系统的绝对通过能力= 2.1
系统内排队顾客的平均数= 4.41
顾客的平均排队时间= 2.1
占用服务员的平均数= 0.84
系统内顾客的平均数= 5.25
顾客在系统中平均逗留时间= 2.5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排队论入门学习 (for 数学建模) 的相关文章

  • 用python进行FamaMacBeth回归

    from linearmodels import FamaMacBeth import pandas as pd import numpy as np 生成所用面板数据集 该数据集在不同的日期有不同的个体 期望回归模型 Y 3 6 X1 4
  • 数学建模常用的四大模型

    目录 1 评价模型 2 优化模型 3 分类模型 4 预测模型 本文主要介绍数学建模的四大模型分类 分别是评价模型 优化模型 分类模型 预测模型 关注公众号 数模乐园 回复 买 获得更多数模教程 1 评价模型 评价模型可以处理难于完全定量分析
  • 2023高教社杯全国大学生数学建模竞赛C题思路模型代码

    2023高教社杯全国大学生数学建模竞赛C题思路模型代码 一 国赛常用的模型算法 1 蒙特卡罗算法 该算法又称随机性模拟算法 是通过计算机仿真来解决问题的算法 同时可以通过模拟可以来检验自己模型的正确性 比较好用的算法 2 数据拟合 参数估计
  • 2020美赛建模F题思路和理解

    2020 MCM ICM 美国大学生数学建模竞赛 MCM ICM F题 2020 ICM Weekend 2 Problem F The Place I Called Home 思路和理解 问题中心 设计模型研究海平面上升对相关国家的人口
  • 卡尔曼滤波算法 C语言实现 示例

    1 概念 卡尔曼滤波 Kalman filtering 是一种利用 k时刻 状态预测值 先验估计值 k 1时刻 状态最优估计值 后验估计值 k时刻 状态预测协方差 先验预测协方差 真实值与预测值之间的协方差 k时刻 状态最优估计协方差 后验
  • 全国大学生数学建模竞赛——大赛介绍与赛后总结

    全国大学生数学建模竞赛 训练过程及赛后总结 前言 今天是2018年9月18日 一个特殊的日子 距离全国大学生数学建模大赛已经过去两天了 三天两夜的比赛 每天晚上几乎做到凌晨 确实很辛苦 但是现在回过头来看看 无论成绩如何 一切的辛苦与努力都
  • MATLAB实现函数拟合

    目录 一 理论知识 1 拟合与插值的区别 2 几何意义 3 误差分析 二 操作实现 1 数据准备 2 使用cftool 拟合工具箱 三 函数拟合典例 四 代码扩展 一 理论知识 1 拟合与插值的区别 通俗的说 插值的本质是根据现有离散点的信
  • 时间序列预测之ARMA、ARIMA序列及季节性序列matlab实现

    ARMA是一种平稳时间序列模型 即均值和协方差不随时间的平移而改变 ARMA有三种类型 AR序列 MA序列 ARMA序列 但是由于ARMA只能处理平稳序列 而现实中的问题往往有趋势性或周期性等 为了得到平稳序列 我们对数据进行差分运算 使得
  • 机器学习(三)K-means聚类(手肘法、轮廓系数、可视化代码)

    K means聚类 聚类是无监督学习当中非常重要的一部分 能够在没有标签的情况下将数据分类 说到聚类 最常用也是最重要的一个算法就是K means算法 算法介绍 K means是一种非常简单快速高效的算法 只需要迭代几次即可 其原理用一句话
  • 排队论(Queuing Theory)

    目录 简介 一 基本概念 1 1 排队过程的一般表示 1 2 排队系统的组成和特征 1 2 1 输入过程 1 2 2 排队规则 1 2 3 服务过程 1 3 排队模型的符号表示 1 4 排队系统的运行指标 二 输入过程与服务时间的分布 2
  • 数学建模的六个步骤

    一 模型准备 了解问题的实际背景 明确其实际意义 掌握对象的各种信息 以数学思路来解释问题的精髓 数学思路贯彻问题的全过程 进而用数学语言来描述问题 要求符合数学理论 符合数学习惯 清晰准确 理解实际问题后 搜集资料 快速阅读和理解参考文献
  • 2023年深圳杯数学建模A题影响城市居民身体健康的因素分析

    2023年深圳杯数学建模 A题 影响城市居民身体健康的因素分析 原题再现 以心脑血管疾病 糖尿病 恶性肿瘤以及慢性阻塞性肺病为代表的慢性非传染性疾病 以下简称慢性病 已经成为影响我国居民身体健康的重要问题 随着人们生活方式的改变 慢性病的患
  • “华为杯”研究生数学建模竞赛2019年-【华为杯】D题:汽车行驶工况构建(附获奖论文和MATLAB代码实现)

    目录 摘 要 1 问题重述 2 模型假设 2 1 题目对模型给出的假设
  • 2022亚太数学杯数学建模竞赛C题(思路、程序......)

    目录 一 英文题目及数据 二 中文翻译题目参考 2 1 题目 2 2 题目 三 思路 程序参考 四 参考文献 一 英文题目及数据 Canada s 49 6 C has set a new temperature record for re
  • 2020美赛A题解题方法

    题目 问题A 向北移动 全球海洋温度影响某些海洋生物的栖息地质量 当温度变化太大 它们无法继续繁荣时 这些物种就会迁移到其他更适合它们现在和未来生活和繁殖成功的栖息地 其中一个例子就是美国缅因州的龙虾种群 它们正缓慢地向北迁移到加拿大 那里
  • Latex各种矩阵的输入方法

    代码顺序同上顺序 导言区 documentclass ctexart usepackage amsmath 正文区 begin document begin Bmatrix 1 2 4 5 end Bmatrix begin matrix
  • 2023年小美赛认证杯A题太阳黑子预测(Sunspot Forecasting)思路模型代码解析

    2023年小美赛认证杯A题 太阳黑子预测 Sunspot Forecasting 请电脑打开本文链接 扫描下方名片中二维码 获取更多资料 一 问题重述 太阳黑子是太阳光球上的现象 呈暂时性斑点 比周围区域更暗 它们是由磁通量浓度引起的表面温
  • 开关电容转换器的合成器研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现
  • 开关电容转换器的合成器研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现
  • 【老生谈算法】matlab实现基于粒子群算法的多目标搜索算法——多目标搜索算法

    Matlab实现基于粒子群算法的多目标搜索算法 1 文档下载 本算法已经整理成文档如下 有需要的朋友可以点击进行下载 说明 文档 点击下载 本算法文档 老生谈算法 matlab实现基于粒子群算法的多目标搜索算法 doc 更多matlab算法

随机推荐

  • 软件工程论述题:衡量模块独立性的两个标准是什么?各表示什么含义?

    8 衡量模块独立性的两个标准是什么 各表示什么含义 内聚和耦合 内聚 又称为块内联系 指模块内部各成分之间相互关联的程度 以高内聚为设计目标 耦合 也称块间联系 模块之间相互联系程度的度量 联系越紧密 耦合性越强 独立性越差 以低耦合为设计
  • linux如何查看wifi信号强弱

    在linux中观察wifi信号强弱 xff0c 可以通过dBm数值来判断 现在来看这个所谓的dBm xff0c 数值范围在 XX 0之间 这个数越大 xff0c 信号强度越高 50dBm 0dBm范围内 xff0c 恭喜你 xff0c 你的
  • Edge浏览器的书签(收藏夹)文件夹地址在哪?

    最近因为工作电脑经常重装系统 xff0c 所以每次重装系统之前都要备份一些数据 xff0c Edge浏览器这两年突然香了起来 xff0c 插件yyds xff01 所以平时生活还是使用Edge会多一点 xff0c 但是收藏夹备份却吃了大亏
  • CCS5.4+Proteus8的F28027实践课二、定时器0控制LED流水灯

    刚游泳回来 xff0c 看到昨晚那篇博客访问量比较高 xff0c 对我是莫大的鼓励 xff0c 所以马不停蹄的去找了相关的手册准备我们今天的课程 今天我们要说的是用定时器0产生的定时中断让LED闪烁 大家都是大部分都是工科出身 xff0c
  • dns2tcp搭建DNS隧道绕过校园网

    1 问题场景 在学校是如果校园网没钱了 xff0c 难道就不能上网了 xff1f xff1f xff1f xff1f 对于从事技术的人来说尤其是学计算机出身的人来说这是不能容忍的 我们看下面场景 xff1a 当我们校园网没有认证时 xff0
  • 关闭浏览器的跨域

    无损关闭浏览器的跨域 关闭浏览器的安全模式 注意 xff01 这样会导致一些网站无法访问 xff0c 比如谷歌无法登录等 所以建议使用一个非主要的浏览器开启 编辑桌面的chrome 或者 edge 浏览器快捷方式 右键快捷方式 xff0c
  • CentOS安装MySQL(YUM源安装)

    安装mysql主要分为两种方式 xff0c 本次简单介绍使用YUM源进行安装mysql xff0c 如果不是使用docker xff0c 可以跳过步骤1 2 1 docker环境准备 在安装mysql之前 xff0c 请先确认使用的cent
  • 将门禁卡写入到手机、手环,加密卡也能写

    前言 准备材料 IC卡操作 读取IC卡数据 xff08 必看 xff09 写入到小米手环 写入到带有NFC的手机 复制IC卡 ID卡操作 读取ID卡数据 复制ID卡 前言 门禁卡大多以IC卡 ID卡为主IC卡又分为UID CUID等等只有I
  • Ubuntu中开启ssh服务的方法

    我们可以在网上看到很多关于Ubuntu开启SSH服务的文章 xff0c 但是介绍的有很多方法都是不够理想的 xff0c 这些方法都无法实现远程登录到Ubuntu上 xff0c 那么下面就让小编为大家分享Ubuntu中开启ssh服务的方法 s
  • fedora 的kde桌面无法输入中文问题

    简单三步 xff1a xff08 1 xff09 xff1a sudo yum y install ibus 安装ibus拼音库 xff08 2 xff09 xff1a sudo yum y install im chooser 安装拼音切
  • go切片常见错误

    x1f447 下面代码会输出什么 xff1f slices span class token operator 61 span span class token function make span span class token pun
  • OpenVINO的部署和使用

    现在几乎每家硬件或互联网公司都推出了自家的机器学习框架 xff0c 小米的mace 谷歌的TensorFlow Facebook的Torch等等 今天要介绍的是Inter公司出品的OpenVINO OpenVINO主要分为Model Opt
  • Mybatis-Plus分页插件

    引言 xff1a MyBatis Plus自带分页插件 xff0c 只要简单的配置即可实现分页功能 1 添加Configuration配置类 64 Configuration 64 MapperScan 34 com atguigu myb
  • 关于manjaro命令行界面方块乱码

    通常情况下这些方块乱码是中文 xff0c 其实这篇文档讲的很清楚 xff0c 如果 etc locale conf中有设置LANG 61 zh CN UTF 8就会导致tty乱码 解决办法也如文档所说有两个 xff1a 首先是修改 etc
  • 如何安装arm交叉工具链及问题解决

    在进行基于arm的嵌入式linux开发时 xff0c 首先要安装交叉工具链 要按照交叉工具链首先要获得交叉工具链的压缩包 xff0c 我这里用的是开发板上自带的压缩包 xff1a arm linux gcc 4 5 1 v6 vfp tgz
  • 04)go语言使用优化 启动时不打开CMD控制台,后台运行

    一 生成没有cmd窗口的exe程序 1 目前go语言生成exe我是在goland运行时设置了输出路径 xff0c 运行时就会产生exe可执行文件 2 默认是执行的go bulid指令 xff0c 生成的ext双击打开是有CMD窗口的 xff
  • C#使用RDP远程桌面

    由于本人是做数据库维护经常使用到远程桌面 xff0c 但是windows自带的远程桌面难以区分很不方便 xff0c 所以我自己写了一个RDP RDP一共修改了两次 第一种思路就是使用windows自带的RDP xff0c 保存成RDP文件
  • 【Altium秘籍】room 复制报错的解决办法

    在使用多通道绘图时 nbsp 有时会出现 nbsp 后加的通道 无法拷贝room格式 nbsp 仔细看会发现 是由于新建的 room 不属于原来的 类中 这个原因 个人觉得是 软件的bug nbsp 更新数据时遗漏导致 数据不同步 目前 n
  • 将多边形点按照逆时针排序

    Point center bool PointCmp const Point amp a const Point amp b if a x gt 61 0 amp amp b x lt 0 return true if a x 61 61
  • 排队论入门学习 (for 数学建模)

    排队论入门学习 xff08 for 数学建模 xff09 文字部分引用了很多浙大数学建模排队论ppt中的内容 xff0c 本人做个总结和代码实现 为什么研究排队论 xff1f 研究排队问题 xff0c 就是要把排队的时间控制到一定的程度内