generators | R Documentation |
These convenience functions facilitate the definition of generators of arrivals for some common cases.
at(...)
from(start_time, dist, arrive = TRUE)
to(stop_time, dist)
from_to(start_time, stop_time, dist, arrive = TRUE, every = NULL)
when_activated(n = 1)
... |
a vector or multiple parameters of times at which to initiate an arrival. |
start_time |
the time at which to launch the initial arrival (numeric or function). |
dist |
a function modelling the interarrival times. It is supposed to be
an infinite source of values |
arrive |
if set to |
stop_time |
the time at which to stop the generator (numeric or function). |
every |
repeat with this time cycle (numeric or function). |
n |
an integer or a callable object (a function) which must return a number of arrivals to generate when activated. |
at
generates arrivals at specific absolute times.
from
generates inter-arrivals following a given distribution
with a specified start time.
union of the last two.
to
generates inter-arrivals following a given
distribution with a specified stop time.
from_to
is the union of from
and to
.
when_activated
sets up an initially inactive generator
which generates n
arrivals each time it is activated from any
trajectory using the activity activate
.
Returns a generator function (a closure).
add_generator
.
## common to all examples below
# some trajectory
t0 <- trajectory() %>%
timeout(0)
# some distribution
distr <- function() runif(1, 1, 2)
# arrivals at 0, 1, 10, 30, 40 and 43
simmer() %>%
add_generator("dummy", t0, at(0, c(1,10,30), 40, 43)) %>%
run(100) %>%
get_mon_arrivals()
# apply distribution starting at 5 (and no end)
simmer() %>%
add_generator("dummy", t0, from(5, distr)) %>%
run(10) %>%
get_mon_arrivals()
# apply distribution until 5 (starting at 0)
simmer() %>%
add_generator("dummy", t0, to(5, distr)) %>%
run(10) %>%
get_mon_arrivals()
# apply distribution from 8 to 16 h every 24 h:
simmer() %>%
add_generator("dummy", t0, from_to(8, 16, distr, every=24)) %>%
run(48) %>%
get_mon_arrivals()
# triggering arrivals on demand from a trajectory
t1 <- trajectory() %>%
activate("dummy")
simmer() %>%
add_generator("dummy", t0, when_activated()) %>%
add_generator("trigger", t1, at(2)) %>%
run() %>%
get_mon_arrivals()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.