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)
a vector or multiple parameters of times at which to initiate an arrival.
the time at which to launch the initial arrival.
a function modelling the interarrival times.
if set to TRUE
(default) the first arrival will be
generated at start_time
and will follow dist
from then on.
If set to FALSE
, will initiate dist
at start_time
(and the first arrival will most likely start at a time later than
start_time
).
the time at which to stop the generator.
repeat with this time cycle.
Returns a generator function.
at
generates arrivals at specific absolute times.
from
generates inter-arrivals following a given distribution
with a specified start time. to
generates inter-arrivals following
a given distribution with a specified stop time. from_to
is the
union of the last two.
# NOT RUN {
t0 <- trajectory() %>%
timeout(0)
simmer() %>%
add_generator("dummy", t0, at(0, c(1,10,30), 40, 43)) %>%
run(100) %>%
get_mon_arrivals()
t0 <- trajectory() %>%
timeout(0)
simmer() %>%
add_generator("dummy", t0, from(5, function() runif(1, 1, 2))) %>%
run(10) %>%
get_mon_arrivals()
t0 <- trajectory() %>%
timeout(0)
simmer() %>%
add_generator("dummy", t0, to(5, function() runif(1, 1, 2))) %>%
run(10) %>%
get_mon_arrivals()
t0 <- trajectory() %>%
timeout(0)
# from 8 to 16 h every 24 h:
simmer() %>%
add_generator("dummy", t0, from_to(8, 16, function() runif(1, 1, 2), every=24)) %>%
run(48) %>%
get_mon_arrivals()
# }
Run the code above in your browser using DataLab