用R语言模拟M / M / 1随机服务排队系统

简介: 用R语言模拟M / M / 1随机服务排队系统

本文中我在R中构造一个简单的M / M / 1队列的离散事件模拟 。

模拟变量

像往常一样,我们从模拟及其检测所需的变量 开始。

t.end   <- 10^5 # duration of sim
t.clock <- 0    # sim time
Ta <- 1.3333    # interarrival period
Ts <- 1.0000    # service period
t1 <- 0         # time for next arrival
t2 <- t.end     # time for next departure
tn <- t.clock   # tmp var for last event time
tb <- 0         # tmp var for last busy-time start
n <- 0          # number in system
s <- 0          # cumulative number-time product
b <- 0          # total busy time
c <- 0          # total completions
qc <- 0         # plot instantaneous q size
tc <- 0         # plot time delta
plotSamples <- 100
set.seed(1)

接下来,我们需要编写R代码以对进入队列和从队列离开进行实际的M / M / 1模拟。


仿真循环

while (t.clock < t.end) {
    if (t1 < t2) {      # arrival event
        t.clock <- t1
        s <- s + n * (t.clock - tn)  # delta time-weighted number in queue


        else {
            t2 <- t.end
            b <- b + t.clock - tb
        }
    }
}

检测指标
在这里,我们 检测数据以形成一些众所周知的性能指标。

队列长度
这是瞬时队列长度- 平均负载数据的曲线图。这就是排队波动的样子。



显示为红色虚线的框具有与阶梯曲线下方相同的面积。


PDQ模型
为了进行分析比较,我们还使用 PDQ-R模型。

是的,这几行代码与上面带工具的仿真代码等效,并且可以保证处于稳定状态。即使在R中运行PDQ本质上也是瞬时的。模拟将花费更长的时间,


结果
最后,我们可以将模拟的M / M / 1队列与相应的PDQ结果进行比较。像往常一样,最好将它们分解为输入和输出。


  1. 输入:

Tsim:1.00e + 05
Ta:1.3333,Ts:1.0000#次
Ar:0.7500,Sr:1.0000#

3.输出:

Usim:0.7477,Updq:0.75
Xsim:0.7495,Xpdq:0.75
Rsim:4.0316,Rpdq:4.00
Qsim:3.0219,Qpdq:3.00

我们可以得出结论,仿真在指定的10 5个时间步长内达到了稳态。

相关文章
|
6月前
用R语言模拟随机服务排队系统
用R语言模拟随机服务排队系统
|
6月前
|
数据可视化 网络架构
用R语言模拟混合制排队随机服务排队系统
用R语言模拟混合制排队随机服务排队系统
|
6月前
Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load
Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load
|
6月前
R语言中如何使用排队论预测等待时间?
R语言中如何使用排队论预测等待时间?
|
Windows Python
windows系统下R语言如何安装rPython包?
windows系统下R语言如何安装rPython包?
316 0
|
MySQL 关系型数据库
基于MYSQL、R语言、SHINY的中型企业电子商务中心业务分析周报系统
基于MYSQL、R语言、SHINY的中型企业电子商务中心业务分析周报系统
2303 0
|
数据挖掘
《R语言数据分析》——1.5 从其他统计系统导入数据
本节书摘来自华章出版社《R语言数据分析》一书中的第1章,第1.5节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘怡 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.5 从其他统计系统导入数据 在最近一些学术项目中,我的任务是在R中实现一些金融模型。
1434 0