The logistic growth model is given by dN/dt = rN(1-N/K)
where N
is the number (density) of indviduals at time t
, K
is the carrying capacity of the population, r
is the intrinsic growth rate of the population. We assume r=b-d
where b
is the per capita p.c. birth rate and d
is the p.c. death rate.
This model consists of two reaction channels,
N ---b---> N + N
N ---d'---> 0
where d'=d+(b-d)N/K
. The propensity functions are a_1=bN
and a_2=d'N
.
Define parameters
library(GillespieSSA2)
<- "Pearl-Verhulst Logistic Growth model"
sim_name <- c(b = 2, d = 1, K = 1000)
params <- 10
final_time <- c(N = 500) initial_state
Define reactions
<- list(
reactions reaction("b * N", c(N = +1)),
reaction("(d + (b - d) * N / K) * N", c(N = -1))
)
Run simulations with the Exact method
set.seed(1)
<- ssa(
out initial_state = initial_state,
reactions = reactions,
params = params,
final_time = final_time,
method = ssa_exact(),
sim_name = sim_name
) plot_ssa(out)
Run simulations with the Explict tau-leap method
set.seed(1)
<- ssa(
out initial_state = initial_state,
reactions = reactions,
params = params,
final_time = final_time,
method = ssa_etl(tau = .03),
sim_name = sim_name
) plot_ssa(out)
Run simulations with the Binomial tau-leap method
set.seed(1)
<- ssa(
out initial_state = initial_state,
reactions = reactions,
params = params,
final_time = final_time,
method = ssa_btl(mean_firings = 5),
sim_name = sim_name
) plot_ssa(out)