排队论入门学习 (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 数学建模) 的相关文章

  • Keras和Tensorflow(CPU)安装、Pytorch(CPU和GPU)安装以及jupyter使用虚拟环境

    微信公众号 数学建模与人工智能 Keras和Tensorflow CPU 安装 Pytorch CPU和GPU 安装 Keras和Tensorflow CPU 安装 一 安装我用的是清华大学源 二 深度学习模型保存与加载 三 错误 Tens
  • 2022年第十四届电工杯赛题分析

    作为2022年上半年最后一场建模比赛的电工杯 为期72个小时 在众多建模比赛中 电工杯属于难度大 比赛时间短 知名度大的比赛 在我个人看来 电工杯可以作为美赛国赛之下第二梯队建模比赛里的头号比赛 因此 为了更好选题比赛 本次比赛我将在本篇文
  • 数学建模之灰色关联分析(GRA)

    本文参考的是司守奎 孙兆亮主编的数学建模算法与应用 第二版 灰色关联分析不仅能够用做关联分析 也能够用于评价 其具体分析步骤如下 第一步 需要确定评价对象和参考数列 评价对象一般指的就是待分析的各个特征组 例如需要评价一个同学的成绩 那么他
  • maven打包内存溢出,或者打包时间太长导致未知错误

    在idea中使用maven打包内存溢出问题 qq 27607447的博客 CSDN博客
  • 【已更新代码图表】2023数学建模国赛E题python代码--黄河水沙监测数据分析

    E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河 研究黄河水沙通量的变化规律对沿黄流域的环境治理 气候变 化和人民生活的影响 以及对优化黄河流域水资源分配 协调人地关系 调水调沙 防洪减灾 等方面都具有重要的理论指导意义 附件 1 给出
  • 什么是思维导图?6 个开源免费的思维导图软件

    目录 15款思维导图工具推荐 什么是思维导图 6 个开源免费的思维导图软件 当前推荐 Freeplane 离线应用 有免安装版本 跨平台 目前 2023年 还在更新中 下载 https sourceforge net projects fr
  • 使用扩展卡尔曼滤波(EKF)融合激光雷达和雷达数据(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 大多数自动驾驶汽车都配备了激光雷达和雷达
  • 时间序列预测之ARMA、ARIMA序列及季节性序列matlab实现

    ARMA是一种平稳时间序列模型 即均值和协方差不随时间的平移而改变 ARMA有三种类型 AR序列 MA序列 ARMA序列 但是由于ARMA只能处理平稳序列 而现实中的问题往往有趋势性或周期性等 为了得到平稳序列 我们对数据进行差分运算 使得
  • 数学建模的LINGO基础

    LINGO是Linear Interactive and General Optimizer的缩写 即 交互式的线性和通用优化求解器 由美国LINDO系统公司 Lindo System Inc 推出的 可以用于求解非线性规划 也可以用于一些
  • 数学建模的六个步骤

    一 模型准备 了解问题的实际背景 明确其实际意义 掌握对象的各种信息 以数学思路来解释问题的精髓 数学思路贯彻问题的全过程 进而用数学语言来描述问题 要求符合数学理论 符合数学习惯 清晰准确 理解实际问题后 搜集资料 快速阅读和理解参考文献
  • ABAP动态编程-动态生成报表、动态屏幕

    目录 前言 一 动态生成报表并调用 二 动态生成屏幕并调用 总结 前言 本文主要讲述ABAP编程中根据逻辑自动生成报表及屏幕 依托语句GENERATE DYNPRO 的实现示例及简单说明 一 动态生成报表并调用 代码示例 Create re
  • 主成分分析法(PCA)的理解(附python代码案例)

    目录 一 PCA简介 二 举个例子 三 计算过程 公式 3 0 题干假设 3 1 标准化 3 2 计算协方差矩阵 3 3 计算特征值和特征值向量 3 3 多重共线性检验 可跳过 3 4 适合性检验 可跳过 3 5 计算主成分贡献率及累计贡献
  • chatgpt赋能python:Python写一个抽奖程序:从随机数生成到实现

    Python写一个抽奖程序 从随机数生成到实现 Python是当今最热门的编程语言之一 无论是开发网站 进行数据分析 实现机器学习 还是进行游戏开发 Python都可以胜任 在本文中 我们将介绍如何使用Python编写一个简单的抽奖程序 程
  • 【数学建模】线性规划模型基本原理与案例分享

    1 1 线性规划问题 在人们的生产实践中 经常会遇到如何利用现有资源来安排生产 以取得最大经济效益的问题 此类问题构成了运筹学的一个重要分支 数学规划 而线性规划 Linear Programming 简记LP 则是数学规划的一个重要分支
  • 2020美赛A题解题方法

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

    遗传算法 Genetic Algorithm GA 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型 是一种通过模拟自然进化过程搜索最优解 所找到的解是全局最优解 的方法 参数编码 初始群体的设定 适应度函数的设计 遗传
  • 开关电容转换器的合成器研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现
  • 【ortools源码系列11】 time_limit h头文件功能和源码分析

    ortools源码系列 time limit h头文件功能和源码分析 文章目录 ortools源码系列 time limit h头文件功能和源码分析 TimeLimit 功能 TimeLimit 源码 SharedTimeLimit 功能
  • 【老生谈算法】matlab实现基于粒子群算法的多目标搜索算法——多目标搜索算法

    Matlab实现基于粒子群算法的多目标搜索算法 1 文档下载 本算法已经整理成文档如下 有需要的朋友可以点击进行下载 说明 文档 点击下载 本算法文档 老生谈算法 matlab实现基于粒子群算法的多目标搜索算法 doc 更多matlab算法
  • 2018年第七届数学建模国际赛小美赛C题共享单车对城市交通的影响解题全过程文档及程序

    2018年第七届数学建模国际赛小美赛 C题 共享单车对城市交通的影响 原题再现 共享自行车改变了许多城市的交通状况 许多大城市引入共享自行车来解决交通问题 我们需要定量评估共享自行车对城市交通的影响 以及相关的经济 社会和环境影响 解决这一

随机推荐

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

    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 就是要把排队的时间控制到一定的程度内