This website provides interactive simlations for the discrete-time LPA (larva-pupa-adult) population model.
Use the links on menu to the left to navigate to the different simulation views.
Below is a descriptions of the equations and simulation views for the basic LPA model.
LPA Model
The LPA model describes the population dynamics of flour beetles. The model given by the following three equations:
\begin{align}
L_{t+1} & = b A_t \exp\bigl(-c_{el} L_t - c_{ea} A_t\bigr), \\
P_{t+1} & = L_t \bigl(1-\mu_l\bigr), \\
A_{t+1} & = P_t \exp\bigl(-c_{pa} A_t\bigr) + A_t \bigl(1-\mu_a\bigr).
\end{align}
The first equation is for the number of feeding larvae (L variable), the second is for the
number of large larvae, non-feeding larvae, pupae and callow adults (P variable), and the third is
for the number of sexually mature adults (A variable). The unit of time is two weeks and is, approximately,
the average amount of time spent in the feeding larval stage under experimental conditions.
The time unit is also approximately the average duration of the P-stage.
The quantity \(b > 0\) is the number of larval recruits per adult per unit of time in the absence of cannibalism.
The fractions \(\mu_l\) and \(\mu_a\) are the larval and adult rates of mortality in one time unit.
The exponential functions account for the cannibalism of eggs by both larvae and adults and the cannibalism of pupae
by adults. The fractions \(\exp\bigl(-c_{el} L(t)\bigr)\) and \(\exp\bigl(-c_{ea} A(t)\bigr)\) are the probabilities
that an egg is not eaten in the presence of \(L_t\) larvae and \(A_t\) adults in one time unit. The fraction
\(\exp\bigl(-c_{pa} A_t\bigr)\) is the survival probability of a pupa in the presence of \(A_t\) adults in one time unit.
Simulation Views
The three simulation views are described below.
Time series. This view is a plot of the numbers of the larvae, pupae, and adults over time.
You can hide/show the plots for each life stage by clicking on its legend entry.
State space. This view is a three-dimensional plot of the larvae, pupae, and adults, where the
three axes are the values for the L, P, and A state variables. A time series is created and the L, P, and A
values are plotted. You have the option of discarding initial transient values as the system approaches the attractor.
You also have the options of connecting the time series points with lines and changing the size of the plot symbols.
Bifurcation plot. In this view you can see how the LPA model attractor changes as a bifurcation parameter is varied.
You have options for choosing the bifurcation parameter, its plot range, and the system variable that appears
on the y-axis (larvae, pupae, adults, or total population size).
Links to each of these simulation views can be found at the top of the left column of this page.
Other Model Features
Other features of the LPA Model Simulator include the following:
Stochasticity. Stochastic versions of the LPA model can be simulated in the
time series and state space views. (Bifiurcation plots are inherently deterministic.) Four types of stochastic
models can be explored: (1) logarithmic-scale environmental noise, (2) square-root-scale demographic noise,
(3) a Poisson-binomial model, and (4) a negative binomial model.
Lattice effects. The population dynamics can be constrained to an interger-based
state space lattice. Different algorithms can be chosen to accomplish this.
Habitat size. The size of the habitat (amount of flour medium) can be varied. Habtiat size can be kept constant
or you can choose alternating habitat sizes.
Links to these simulation features are found in the right column of the time series and state space views.
The LPA Model Simulator can be used to explore examples covered
in the book Complex Population Dynamics: Theory and Data (2025, CRC Press). There is a brief description of
each example, a reference to its location in the book, and a link to load the parameter values and other settings
into the simulator. Use the link at the bottom left side of this page to access the examples.
For more detailed information on the LPA Model Simulator, see the pdf manual. A link is provided in the middle of the left column of this page.
Parameters
\(b =\)
\(c_{el} =\)
\(c_{ea} =\)
\(c_{pa} =\)
\(\mu_l =\)
\(\mu_a =\)
Initial Values
\(L_0 =\)
\(P_0 =\)
\(A_0 =\)
Parameters copied.
Parameters pasted.
Iterations
No.:
Stochasticity Options
Deterministic (no stochasticity)
Environmental (logarithmic scale)
Demographic (square-root scale)
Demographic (Poisson-binomial)
Demographic (Negative binomial)
Apply changes to:
Time series view
State space view
No stochasticity is present in the model.
Random noise is added to the changes in the life
stage variables on a logarithmic scale. The noise
variables are selected from a multivariate normal
distribution with a mean vector of zeros and a
symmetric variance-covariance matrix \(\mathbf{\Sigma}\). Set the
values of \(\mathbf{\Sigma}\) below. Use zeros in the last column
to remove randomness from the changes in adult numbers.
\(L\)
\(P\)
\(A\)
\(\large{\mathbf{\Sigma} = }\)
\(L\)
\(P\)
\(A\)
The magnitude of a covariances must be less than or equal to the square root of the
product of the corresponding variances, for example, \(\operatorname{Cov}(L,P) \le \sqrt{\operatorname{Var}(L)\operatorname{Var}(P)}\).
Random noise is added to the changes in the life
stage variables on a square root scale. The noise
variables are selected from a multivariate normal
distribution with a mean vector of zeros and a
symmetric variance-covariance matrix \(\mathbf{\Sigma}\). Set the
values of \(\mathbf{\Sigma}\) below. Use zeros in the last column
to remove randomness from the changes in adult numbers.
\(L\)
\(P\)
\(A\)
\(\large{\mathbf{\Sigma} = }\)
\(L\)
\(P\)
\(A\)
The magnitude of a covariances must be less than or equal to the square root of the
product of the corresponding variances, for example, \(\operatorname{Cov}(L,P) \le \sqrt{\operatorname{Var}(L)\operatorname{Var}(P)}\).
\(L_{t+1}\) is a Poisson random variable with a mean
(and variance) of \(b A_t \exp\left(-\left(c_{el} / V_t\right) L_t -\left(c_{ea} / V_t\right) A_t\right)\).
\(P_{t+1}\) is a binomial random variable where each of
the \(L_t\) larvae has a survival probability \(\left(1 - \mu_l\right)\).
\(A_{t+1} = R_{t+1} + S_{t+1}\). Adult recruits \(R_{t+1}\) is a binomial
random variable where each of the \(P_t\) pupae has
a survival probability \(\exp(-(c_{pa} / V_t) A_t)\). Surviving
adults \(S_{t+1}\) is a binomial random variable where each
of the \(A_t\) adults has a survival probability \(\left(1 - \mu_a\right)\).
Use the checkbox below for nonrandom changes in
adult numbers. \(R_{t+1}\) and \(S_{t+1}\) will be the deterministic
model values rounded to integers.
Deterministic changes in adult numbers
The number of eggs \(E_t\) for each adult is a independent negative
binomial random variable with a mean \(b\) and a
variance \(\sigma^2 b\). You can set value of \(\sigma^2 \gt 1\) below.
\(\sigma^2 =\)
\(L_{t+1}\) is a binomial random variable where each of
the eggs produced by \(A_t\) adults has a survival
probability \(\exp\left(-\left(c_{el} / V_t\right) L_t -\left(c_{ea} / V_t\right) A_t\right)\).
\(P_{t+1}\) and \(A_{t+1} = R_{t+1} + S_{t+1}\) are determined in the
same way as in the Poisson-binomial model.
Use the checkbox below for nonrandom changes in
adult numbers. \(R_{t+1}\) and \(S_{t+1}\) will be the deterministic
model values rounded to integers.
This option is a combination or stochasticity and
lattice effects. It uses the Poisson-binomial model
for demographic stochasticity. The model
gives the probabilities for transitions among
points on the state-space lattice.
Click the “Submit” button in the lower-left to go
to the Poisson-binomial stochasticity option.
This option is a combination or stochasticity and
lattice effects. It uses the negative binomial model
for demographic stochasticity. The model
gives the probabilities for transitions among
points on the state-space lattice.
Click the “Submit” button in the lower-left to go
to this negative binomial stochasticity option.
The habitat size is fixed at a constant value \(V\), where
\(V = 1\) corresponds to 20 g of flour medium. In the LPA
model, cannibalism rates are divided by \(V\).
You can set the value of \(V\) in the field below.
\(V =\)
The habitat size, \(V_t\), oscillates between two values.
\(V_t = 1\) corresponds to 20 g of flour medium.
The values of \(V_t\) are determined using the following
equation:
Random noise is added to the changes in the life
stage variables on a logarithmic scale. The noise
variables are selected from a multivariate normal
distribution with a mean vector of zeros and a
symmetric variance-covariance matrix \(\mathbf{\Sigma}\). Set the
values of \(\mathbf{\Sigma}\) below. Use zeros in the last column
to remove randomness from the changes in adult numbers.
\(L\)
\(P\)
\(A\)
\(\large{\mathbf{\Sigma} = }\)
\(L\)
\(P\)
\(A\)
The magnitude of a covariances must be less than or equal to the square root of the
product of the corresponding variances, for example, \(\operatorname{Cov}(L,P) \le \sqrt{\operatorname{Var}(L)\operatorname{Var}(P)}\).
Random noise is added to the changes in the life
stage variables on a square root scale. The noise
variables are selected from a multivariate normal
distribution with a mean vector of zeros and a
symmetric variance-covariance matrix \(\mathbf{\Sigma}\). Set the
values of \(\mathbf{\Sigma}\) below. Use zeros in the last column
to remove randomness from the changes in adult numbers.
\(L\)
\(P\)
\(A\)
\(\large{\mathbf{\Sigma} = }\)
\(L\)
\(P\)
\(A\)
The magnitude of a covariances must be less than or equal to the square root of the
product of the corresponding variances, for example, \(\operatorname{Cov}(L,P) \le \sqrt{\operatorname{Var}(L)\operatorname{Var}(P)}\).
\(L_{t+1}\) is a Poisson random variable with a mean
(and variance) of \(b A_t \exp\left(-\left(c_{el} / V_t\right) L_t -\left(c_{ea} / V_t\right) A_t\right)\).
\(P_{t+1}\) is a binomial random variable where each of
the \(L_t\) larvae has a survival probability \(\left(1 - \mu_l\right)\).
\(A_{t+1} = R_{t+1} + S_{t+1}\). Adult recruits \(R_{t+1}\) is a binomial
random variable where each of the \(P_t\) pupae has
a survival probability \(\exp(-(c_{pa} / V_t) A_t)\). Surviving
adults \(S_{t+1}\) is a binomial random variable where each
of the \(A_t\) adults has a survival probability \(\left(1 - \mu_a\right)\).
Use the checkbox below for nonrandom changes in
adult numbers. \(R_{t+1}\) and \(S_{t+1}\) will be the deterministic
model values rounded to integers.
Deterministic changes in adult numbers
The number of eggs \(E_t\) for each adult is a independent negative
binomial random variable with a mean \(b\) and a
variance \(\sigma^2 b\). You can set value of \(\sigma^2 \gt 1\) below.
\(\sigma^2 =\)
\(L_{t+1}\) is a binomial random variable where each of
the eggs produced by \(A_t\) adults has a survival
probability \(\exp\left(-\left(c_{el} / V_t\right) L_t -\left(c_{ea} / V_t\right) A_t\right)\).
\(P_{t+1}\) and \(A_{t+1} = R_{t+1} + S_{t+1}\) are determined in the
same way as in the Poisson-binomial model.
Use the checkbox below for nonrandom changes in
adult numbers. \(R_{t+1}\) and \(S_{t+1}\) will be the deterministic
model values rounded to integers.
This option is a combination or stochasticity and
lattice effects. It uses the Poisson-binomial model
for demographic stochasticity. The model
gives the probabilities for transitions among
points on the state-space lattice.
Click the “Submit” button in the lower-left to go
to the Poisson-binomial stochasticity option.
This option is a combination or stochasticity and
lattice effects. It uses the negative binomial model
for demographic stochasticity. The model
gives the probabilities for transitions among
points on the state-space lattice.
Click the “Submit” button in the lower-left to go
to this negative binomial stochasticity option.
The habitat size is fixed at a constant value \(V\), where
\(V = 1\) corresponds to 20 g of flour medium. In the LPA
model, cannibalism rates are divided by \(V\).
You can set the value of \(V\) in the field below.
\(V =\)
The habitat size, \(V_t\), oscillates between two values.
\(V_t = 1\) corresponds to 20 g of flour medium.
The values of \(V_t\) are determined using the following
equation:
Computation method:
L\(\rightarrow\)R
L\(\leftarrow\)R
Same IC
This material is provided under the terms of the Creative Commons Public License. You may copy, adapt, distribute, and transmit the work or its derivatives. You must attribute the work and its derivatives to Robert A. Desharnais, Ph.D. at California State University, Los Angeles. This work may not be used for commercial purposes.
LPA Simulation Examples from Complex Population Dynamics: Theory and Data
+ Chapter 5 The LPA Model
+ §5.4 Predicted dynamics
Description:
Parameters values are estimated from the Desharnais experiment [1] using the method of maximum likelihood (ML)
with environmental (log-scale) stochasticity.
Parameter values and initial numbers:
\(b\)
\(c_{el}\)
\(c_{ea}\)
\(c_{pa}\)
\(\mu_l\)
\(\mu_a\)
\(L_0\)
\(P_0\)
\(A_0\)
11.68
0.009264
0.01097
0.01779
0.5129
0.1108
70
36
64
Stochasticity: environmental (log-scale) with variances and covariances
Model predictions from a transitions experiment [2] as \(\mu_a\) is changed
using the estimated parameter values from the SS genetic strain of Tribolium castaneum.
Model predictions for a route-to-chaos experiment using the estimated
parameter values from the RR genetic strain of Tribolium castaneum [2] and
\(c_{pa}\) as the bifurcation parameter.
Dennis B, Desharnais RA, Cushing JM, Costantino RF (1997) Transitions in population dynamics:
equilibria to periodic cycles to aperiodic cycles. Journal of Animal Ecology 66:704–729.
[3]
Dennis B, Desharnais RA, Cushing JM, Henson SM, Costantino RF (2001) Estimating chaos and
complex dynamics in an insect population. Ecological Monographs 71:277–303.