这是标准的银行柜台问题来说明我的问题:
考虑一个客户随机到达的简单银行。顾客将在两个柜台之一接受服务,每个柜台的服务时间都是随机的。此外,假设等待的顾客形成一个单一的 FIFO 队列。
这是并发症:
假设我们有兴趣从某一天的中午开始建模这个系统,而不是在一天的开始。中午时分,两个柜台都被占满了,已经排起了4个顾客。
有没有办法在 R simmer 中建立这个起始状态?
这是我已经拥有的代码:
library(simmer)
set.seed(1234)
customer <-
trajectory("Customer's path") %>%
log_("Here I am") %>%
set_attribute("start_time", function() {now(bank)}) %>%
seize("counter") %>%
log_(function() {paste("Waited: ", now(bank) - get_attribute(bank, "start_time"))}) %>%
timeout(function() {rexp(1, 1/12)}) %>%
release("counter") %>%
log_(function() {paste("Finished: ", now(bank))})
bank <-
simmer("bank") %>%
add_resource("counter", 2) %>%
add_generator("Customer", customer, function() sample(1:15,1))
bank %>% run(until = 300)