【问题标题】:How to define different timeouts for resources in Trajectory? simmer/DES如何为 Trajectory 中的资源定义不同的超时时间?煨/DES
【发布时间】:2019-03-25 04:32:54
【问题描述】:

如何在 DES 中为 Trajectory(R 的 simmer)中的各种资源定义不同的超时时间? 下面的代码为“doctor1”、“doctor2”和“doctor3”生成相同的活动时间,即 mean=5, sd=.5 Normal RV。 医生 1 要求 mean=5, sd=.5;医生 2 的 mean=10, sd=.5 和医生 3 的 mean=20, sd=.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 要求 mean=5, sd=.5;医生 2 的 mean=10, sd=.5 和医生 3 的 mean=20, sd=.5。即不同的超时时间显示医生之间的性能差异

【问题讨论】:

  • 虽然 simmer(可能是 Trajectory)可能是 R 的离散事件模拟 (DES) 包,但它不适用于代表数据加密标准 (DES) 的 des。跨度>

标签: r


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2020-01-07
    • 2018-11-13
    • 2011-09-16
    • 1970-01-01
    • 2016-02-18
    • 2018-10-25
    相关资源
    最近更新 更多