Nothing
## ---- echo = FALSE, message = FALSE-------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>",
fig.width = 6, fig.height = 4, fig.align = "center")
## ---- message=FALSE-----------------------------------------------------------
library(simmer)
patient.1 <- trajectory("patients' path") %>%
## add an intake activity
seize("nurse", 1) %>%
timeout(function() rnorm(1, 15)) %>%
release("nurse", 1) %>%
## add a consultation activity
seize("doctor", 1) %>%
timeout(function() rnorm(1, 20)) %>%
release("doctor", 1) %>%
## add a planning activity
seize("administration", 1) %>%
timeout(function() rnorm(1, 5)) %>%
release("administration", 1)
## ---- message=FALSE-----------------------------------------------------------
library(simmer.bricks)
patient.2 <- trajectory("patients' path") %>%
## add an intake activity
visit("nurse", function() rnorm(1, 15)) %>%
## add a consultation activity
visit("doctor", function() rnorm(1, 20)) %>%
## add a planning activity
visit("administration", function() rnorm(1, 5))
## -----------------------------------------------------------------------------
patient.1
patient.2
## -----------------------------------------------------------------------------
env <- simmer() %>%
add_resource("res1") %>%
add_resource("res2", preemptive=TRUE)
t <- trajectory() %>%
seize("res1") %>%
log_("res1 seized") %>%
seize("res2") %>%
log_("res2 seized") %>%
# inoperative for 2 units of time
delayed_release("res1", 2) %>%
log_("res1 released") %>%
# inoperative for 5 units of time
delayed_release("res2", 5, preemptive=TRUE) %>%
log_("res2 released")
env %>%
add_generator("dummy", t, at(0, 1)) %>%
run() %>% invisible
## ---- error=TRUE--------------------------------------------------------------
t <- trajectory() %>%
seize("room") %>%
clone(
n = 2,
trajectory("doctor") %>%
timeout(1),
trajectory("nurse") %>%
timeout(2)) %>%
synchronize(wait = TRUE) %>%
timeout(0.5) %>%
release("room",1)
simmer() %>%
add_resource("room") %>%
add_generator("visit", t, at(0)) %>%
run()
## -----------------------------------------------------------------------------
env <- simmer()
t <- trajectory() %>%
seize("room") %>%
log_("room seized") %>%
do_parallel(
trajectory("doctor") %>%
timeout(1) %>%
log_("doctor path done"),
trajectory("nurse") %>%
timeout(2) %>%
log_("nurse path done"),
.env = env
) %>%
timeout(0.5) %>%
release("room",1) %>%
log_("room released")
env %>%
add_resource("room") %>%
add_generator("visit", t, at(0)) %>%
run() %>% invisible
## -----------------------------------------------------------------------------
t <- trajectory() %>%
interleave(c("A", "B"), c(1, 2))
t
## -----------------------------------------------------------------------------
simmer() %>%
add_resource("A", 3, 1) %>%
add_resource("B_token", 2, Inf) %>%
add_resource("B", 1, 1) %>%
add_generator("dummy", t, at(rep(0, 3))) %>%
run(4) %>%
get_mon_arrivals(per_resource = TRUE)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.