文章目录

  • 1 概述
  • 2 模型介绍
    • 2.1 排队服务过程
    • 2.2 排队系统的要素
    • 2.3 顾客输入过程
    • 2.4 排队结构与排队规则
    • 2.5 服务机构与服务规则
  • 3 代码实现

1 概述

生活中需要排队的地方很多,本模型用于分析和仿真现实生活中的排队现象。
排队论发源于上世纪初。当时美国贝尔电话公司发明了自动电话,以适应日益繁忙的工商业电话通讯需要。这个新发明带来了一个新问题,即通话线路与电话用户呼叫的数量关系应如何妥善解决,这个问题久久未能解决。
1909年,丹麦的哥本哈根电话公司A.K.埃尔浪(Erlang)在热力学统计平衡概念的启发下解决了这个问题。1917 年,爱尔朗发表了他的著名的文章—“自动电话交换中的概率理 论的几个问题的解决”。排队论已广泛应用于解决军事、运输、维修、生产、服务、库 存、医疗卫生、教育、水利灌溉之类的排队系统的问题,显示了强大的生命力。

2 模型介绍

(1)由于顾客到达和服务时间的随机性,
现实中的排队现象几乎不可避免;
(2)排队过程,通常是一个随机过程,
排队论又称“随机服务系统理论”;

2.1 排队服务过程

2.2 排队系统的要素

(1)顾客输入过程;
(2)排队结构与排队规则;
(3)服务机构与服务规则;

2.3 顾客输入过程

顾客源(总体):有限/无限;
顾客到达方式:逐个/逐批;(仅研究逐个情形)
顾客到达间隔:随机型/确定型;
顾客前后到达是否独立:相互独立/相互关联;
输入过程是否平稳:平稳/非平稳;(仅研究平稳性)

2.4 排队结构与排队规则

顾客排队方式:等待制/即时制(损失制);
排队系统容量:有限制/无限制;
排队队列数目: 单列/多列;
是否中途退出: 允许/禁止;
是否列间转移: 允许/禁止;
(仅研究禁止退出和转移的情形)

2.5 服务机构与服务规则

服务台(员)数目;单个/多个;
服务台(员)排列形式;并列/串列/混合;
服务台(员)服务方式;逐个/逐批;(研究逐个情形)
服务时间分布;随机型/确定型;
服务时间分布是否平稳:平稳/非平稳;(研究平稳情形)

3 代码实现

设顾客到达速率服从参数为lambda的负指数分布,服务速率为mu的负指数分布,服务强度rho = lambda / mu

则当lambda <= mu时,则rho <= 1,队伍的长度L会逐渐增长并收敛至L = lambda/(mu - lambda),平均等待时间会收敛至W = 1 / (mu - lambda)

反之若lambda > mu,rho > 1,L和W会随着到达的顾客数的增加而增加,不会收敛。

采用MATLAB生成服从负指数分布的随机数,并对队长以及等待时间进行统计,最后画图展示出排队的过程

eg:
lambda = 0.1493
mu = 0.1587

模拟结果如下
PCU也称当量交通量。


ave_t = zeros(10,100);
p = zeros(10,100);
nn = 10:10:5000;    %到达路口的车数
count = zeros(size(nn,2),100);    %队列长度for d = 1:length(nn)for s = 1:100 n = nn(d);    %模拟车辆数目dt = exprnd(6.7,1,n);    %模拟到达时间间隔st = exprnd(6.3,1,n);    %每辆车经过路口所用的时间a = zeros(1,n);    %每辆车到达时刻b = zeros(1,n);    %每辆车到达路口的时刻c = zeros(1,n);    %每辆车离开时刻a(1) = 0;for i = 2:na(i) = a(i-1) + dt(i-1);endb(1) = 0;c(1) = b(1) + st(1);for i = 2:n
%如果第i辆车到达路口比前一辆离开的时间早,则其到达路口停车线的时间为前一辆车离开时间if(a(i) <= c(i-1))b(i) = c(i-1);
%如果第i辆车到达路口比前一辆离开的时间晚,则其到达路口停车线的时间为其到达时间elseb(i) = a(i);end
%第i辆车离开时间为其到达路口停车线的时刻+通过路口需要的时间c(i) = b(i) + st(i);endfor i = 2:nif(a(i) <= c(i-1))count(d,s) = count(d,s) + 1;elsebreak;endendcost = zeros(1,n);for i = 1:ncost(i)=c(i)-a(i);    %第i辆车在队列中等待的时间endT = c(n);    %总时间p(d,s) = sum(st)/T;ave_t(d,s) = sum(cost)/n;end
end
pc = sum(p,2)/100;    %服务强度
aver_tc = sum(ave_t,2) / 100;    %在队列中耗费的平均时间
count = sum(count,2) / 100;%画图部分
figure;
subplot(2,1,1)
plot(nn,aver_tc);
grid on;
title('平均等待时间随到达路口车辆总数变化曲线  单位:秒')
xlabel('到达路口车辆总数')
ylabel('平均等待时间')   subplot(2,1,2)
plot(nn,count);
grid on;
%ylim([0,2])
title('队列中的交通量数随到达路口车辆总数变化曲线  单位:pcu')
xlabel('到达路口车辆总数')
ylabel('队列中的车辆数')
set(gcf,'color','w');
%p = fig2plotly(gcf,'offline',true);  

机器学习(MACHINE LEARNING)MATLAB模拟排队论相关推荐

  1. 机器学习(Machine Learning)基础

    机器学习(Machine Learning)基础 概念及用途 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.它是人工智能的核心,是使计 ...

  2. 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总

    本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  3. 机器学习(Machine Learning)深度学习(Deep Learning)资料集合

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...

  4. (转)机器学习(Machine Learning)深度学习(Deep Learning)资料

    原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  5. Re:从零开始的机器学习 - Machine Learning(一) 线性回归

    从我对整个职业生涯的规划出发,我不仅想做一些高质量的应用(软件工程的角度),还想做一些激动人心的应用,所以我希望能在机器学习的方向走,尽管我在大学粗浅的学了些皮毛,但如果要把机器学习作为职业发展的话这 ...

  6. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

  7. 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现

    网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...

  8. fprom预测结果内容_预测模型之机器学习 Machine Learning结果解读篇

    原标题:预测模型之机器学习 Machine Learning结果解读篇 学友提问:对于机器学习出来的只有图形,我怎么解释呢?怎样才能在临床使用呢? 论文的实例:2013年发表在The American ...

  9. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

  10. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

最新文章

  1. Android SDK Manager 的介绍
  2. 【推荐】MySQL Cluster报错及解决方法(不断更新中)
  3. 把委托说透(4):委托与设计模式
  4. nyoj 720 项目安排(dp+二分优化)
  5. 在洛谷开了一个邀请赛
  6. [html] 说说你对html中的置换元素和非置换元素的理解
  7. 1TB存储版iPhone 13 Pro机型预计交付时间已被推迟至10月
  8. 新宠混血儿诞生记--Java+PHP整合
  9. python读取并可视化npy格式的深度图文件以及将其保存为jpg图片的方法
  10. 批量生成hive建表语句
  11. 输出星期名缩写python_python练习题5.1输出星期名缩写
  12. 23王道——中序线索树
  13. 足浴按摩预约下单小程序开发制作功能介绍
  14. 聊聊手机之--小米6
  15. 【喷嚏图卦】 委内瑞拉崩溃的背后:渐行渐近的石油危机
  16. 深圳南山区学位申请特殊住房需要的材料有哪些
  17. 几种基本的数字正则表达式[转]
  18. 前端能获取用户网速吗_js实现的非常简单的网速测试方法
  19. CSDN日报190318:简单爬虫:给女友定时发送睡前小故事
  20. php查询google pr值接口api介绍,最新 google pr值查询 接口 php版 示例

热门文章

  1. Gradle Sync: Wait for the other thread to finish acquiring the distribution
  2. PyObject_CallMethod
  3. pytorch iou计算
  4. torch动态学习率代码
  5. win nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are depr
  6. python数组中变化最大的值
  7. 【7】青龙面板系列教程之任务消息定时推送
  8. 五、MySql索引基本介绍
  9. mhk科技计算机报名时间,2021计算机等级考试报名时间
  10. mysql 表名 参数化_我可以在准备好的语句中参数化表名吗?