如何在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。即,不同的超时显示医生之间的绩效差异
答案 0 :(得分:0)
您可以使用get_selected()
,但是一般来说,如果您希望发生不同的事情,最好使用带有多个路径的branch()
。