【问题标题】:How to define starting state of queueing model in r simmer?如何在 r simmer 中定义排队模型的起始状态?
【发布时间】:2019-07-23 10:22:04
【问题描述】:

这是一个标准的银行柜台问题来说明我的问题:

假设有一个客户随机到达的简单银行。顾客 将在两个柜台之一送达,随机时间 在每个服务。另外,假设等待的顾客形成一个单一的 先进先出队列。

这里是复杂的:

假设我们有兴趣从某天中午开始对该系统进行建模 特定的一天,而不是一天的开始。中午,两人 柜台被占用,已经有 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)

【问题讨论】:

    标签: r simulation modeling queuing operations-research


    【解决方案1】:

    您可以很容易地设置初始条件:只需添加另一个生成器以在 t=0 处放置 6 个到达。如果您需要进一步自定义他们的服务时间,请为此设置另一个轨迹。

    【讨论】:

    • 我现在问这个问题感觉很傻......非常感谢你的包裹!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多