用R语言模拟混合制排队随机服务排队系统

简介: 用R语言模拟混合制排队随机服务排队系统

M / M / 1系统

该系统的基本参数::

使用M / M / 1系统进行仿真非常简单 。

lambda <- 2
mu <- 4
rho <- lambda/mu # = 2/4


例如, 可以快速可视化随时间变化的资源使用情况。在下面,我们可以看到仿真如何收敛到系统中理论上的平均客户数。

# Theoretical value
mm1.N <- rho/(1-rho)
graph + geom_hline(yintercept=mm1.N)


例如,还可以通过使用参数items和来可视化各个元素的瞬时steps


我们可以获取系统中每个客户花费的时间,并将平均值与理论表达式进行比较。

## [1] 0.5## [1] 0.5012594

看来它与理论值非常吻合。

 并行化的缺点是,当每个线程完成时,我们会丢失基础的C ++对象 。让我们执行一个简单的测试:

library(dplyr)

t_system <- get_mon_arrivals(envs) %>%
  mutate(t_system = end_time - start_time) %>%
  group_by(replication) %>%
  summarise(mean = mean(t_system))

t.test(t_system$mean)
##
##  One Sample t-test
##
## data:  t_system$mean
## t = 348.23, df = 999, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  0.4957328 0.5013516
## sample estimates:
## mean of x
## 0.4985422

最后,M / M / 1满足了系统中所用时间的分布,而该分布又是具有平均值的指数随机变量。

qqplot(mm1.t_system, rexp(length(mm1.t_system), 1/mm1.T))
abline(0, 1, lty=2, col="red")


M / M / c / k系统

M / M / c / k系统保持指数到达和服务时间,但通常具有不止一台服务器和有限的队列,这通常更现实。例如,路由器可能有多个处理器来处理数据包,而输入/输出队列必定是有限的。

这是M / M / 2/3系统(2个服务器,队列中1个位置)的模拟。

lambda <- 2
mu <- 4

mm23.trajectory <- create_trajectory() %>%

在这种情况下,队列已满时会有拒绝。

##   rejection_rate
## 1     0.02009804

尽管如此,与M / M / 1情况一样,系统中花费的时间仍遵循指数随机变量,但平均值有所下降。

# Comparison with M/M/1 times
qqplot(mm1.t_system, mm23.t_system)
abline(0, 1, lty=2, col="red")

相关文章
|
2月前
用R语言模拟随机服务排队系统
用R语言模拟随机服务排队系统
|
2月前
R语言中如何使用排队论预测等待时间?
R语言中如何使用排队论预测等待时间?
|
2月前
用R语言模拟M / M / 1随机服务排队系统
用R语言模拟M / M / 1随机服务排队系统
|
MySQL 关系型数据库
基于MYSQL、R语言、SHINY的中型企业电子商务中心业务分析周报系统
基于MYSQL、R语言、SHINY的中型企业电子商务中心业务分析周报系统
2285 0
|
数据挖掘
《R语言数据分析》——1.5 从其他统计系统导入数据
本节书摘来自华章出版社《R语言数据分析》一书中的第1章,第1.5节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘怡 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.5 从其他统计系统导入数据 在最近一些学术项目中,我的任务是在R中实现一些金融模型。
1419 0
|
2月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
2月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为

热门文章

最新文章