如何在Simmer环境中编写发电机循环

时间:2018-07-20 20:49:41

标签: r loops queue simulation

在我的排队应用程序中,我有c类服务费率不同的客户。 c可以是5、10、15 ...,并且可能非常大。因此,我将需要在慢炖环境中应用“ add_generator” c次。这个想法在代码中。

env <- lapply(1:100, function(i) { 
simmer("SuperDuperSim") %>%
add_resource("server",capacity=100,queue_size=0) 
%>%
for(j in 1:c){
  add_generator(names[j], class_j_trajectory, 
  at(0)) 
}%>%
run(until=100)
})

内部for循环不起作用。但是写下每个班级的轨迹太繁琐了。有什么有效的方法来添加许多发电机?谢谢。

1 个答案:

答案 0 :(得分:0)

不能通过for循环传递管道。使用辅助变量,如下所示:

envs <- lapply(1:100, function(i) { 
  env <- simmer() %>%
    add_resource("server",capacity=100,queue_size=0)

  for(j in 1:c) env %>%
    add_generator(names[j], class_j_trajectory, at(0))

  env %>% run(until=100)
})