如何为弹道中的资源定义不同的超时时间?慢炖/ DES

时间:2019-03-23 20:06:00

标签: r

如何在DES中的轨迹(R的Simmer)中为各种资源定义不同的超时时间? 以下代码为“ doctor1”,“ doctor2”和“ doctor3”生成活动时间,即均值= 5,sd = .5正常RV。 要求平均数= 5,医生1的标准差= .5;医生2的均值= 10,标准差= .5,医生3的均值= 20,标准差= .5如何实现?

patient_traj <- trajectory(name = "patient_trajectory") %>%
  select(resources = c("doctor1", "doctor2", "doctor3")) %>%
  set_capacity_selected(1) %>%
  seize_selected(amount = 1) %>%
  timeout(function() rnorm(1, 5, .5)) %>%
  release_selected(amount = 1)

env <- simmer() %>%
  add_resource("doctor1", capacity = 0) %>%
  add_resource("doctor2", capacity = 0) %>%
  add_resource("doctor3", capacity = 0) %>%
  add_generator("patient", patient_traj, function() rnorm(1,2,.8),mon = 2) %>%
  run(500)

arrival <- get_mon_arrivals(env, per_resource = T)

医生1的均值要求= 5,标准差= .5;医生2的平均值= 10,标准差= .5,医生3的平均值= 20,标准差= .5。即,不同的超时显示医生之间的绩效差异

1 个答案:

答案 0 :(得分:0)

您可以使用get_selected(),但是一般来说,如果您希望发生不同的事情,最好使用带有多个路径的branch()