【发布时间】:2017-10-19 18:35:56
【问题描述】:
我试图使用 R 的 Simmer 包模拟排队网络。但是,我在主轨迹中加入循环时遇到了麻烦。一个简单的单节点队列代码如下:
to_queue_1 <- trajectory() %>%
for(i in 1:100){
seize("nurse", 1) %>%
timeout(1) %>%
release("nurse", 1)
}
env <- simmer()
add_resource("nurse",1)
env %>%
add_generator("arrival1_", to_queue_1, function() rexp(1, 1),mon=2) %>%
run(200)
运行轨迹函数后,它显示“错误 in for (.in i) 1:100 : 4 个参数传递给 'for' 需要 3”。
实际的网络更复杂,需要不同节点通信的循环。例如,我希望节点 1 流向节点 2 和节点 3。节点 2 流向节点 1 和 3。节点 3 流向节点 1 和 2。唯一可能的出口是节点 3。
提前致谢。
【问题讨论】:
标签: r loops queue simulation