我正在模拟乘客到达机场,在那里他们必须通过具有均匀分布(runif(1,1,3))(以秒为单位)的验证机。
然后,他们必须通过X射线机,在那里我们使用两个三角形分布,一个用于准备时间,另一个用于扫描时间(都以秒为单位)(rtri(1,min = 5,max = 15,mode = 10和rtri(1,min = 5,max = 30,mode = 10))。
乘客到达符合泊松分布,平均每小时有2965名乘客到达。
验证机3台,X光机22台
但是也有VIP乘客,对应于其他乘客的20%,并且根据泊松分布lambda = 0.125秒到达。他们也有4台X光机。准备时间和扫描时间是相同的
我很确定我必须使用分支但我不知道如何我的代码到目前为止:
library(triangulr)
library(simmer)
rm(list = ls())
env <- simmer("Security control")
env
passageiro <- trajectory("passageiro' path" ) %>%
seize("MV") %>%
timeout(function() runif(1,1,3)) %>%
release("MV", 1) %>%
seize("MC") %>%
timeout(function() rtri(1, min = 5, max = 15, mode = 10)) %>%
timeout(function() rtri(1, min = 5, max = 30, mode = 10)) %>%
release("MC")
env %>%
add_resource("VM", 3) %>%
add_resource("CM", 22) %>%
add_generator("passageiro", passageiro, function() rpois(1,lambda = 2965/3600))
env %>%
run(until = 10800)
MC -控制机VM -验证机
1条答案
按热度按时间t2a7ltrp1#
如果您有一个单一的到达流程,那么您可以使用
branch
将VIP与其他乘客分开(20-80分割):但是如果你有两个独立的发生器,一个是给普通乘客的,一个是给VIP乘客的,那么我只需要为他们定义不同的轨迹,就这样,这就简单多了。