Introducción al Modelo Logístico

El modelo logístico de crecimiento poblacional fue desarrollado por Pierre Verhulst y Alfred Pearl para describir el crecimiento poblacional con límites ambientales. A diferencia del modelo de crecimiento exponencial, el cual no considera restricciones de recursos, el modelo logístico asume que existe una capacidad de carga, \(K\), que limita el tamaño de la población.

La ecuación diferencial que describe este modelo es:

\[ \frac{dN}{dt} = rN \left(1 - \frac{N}{K} \right) \]

Donde: - \(N\) es la población en el tiempo \(t\), - \(r\) es la tasa de crecimiento intrínseca, - \(K\) es la capacidad de carga.

Deducción de la Solución Analítica

Partimos de la ecuación diferencial:

\[ \frac{dN}{dt} = rN \left(1 - \frac{N}{K} \right) \]

Para resolverla, primero separamos las variables:

\[ \frac{1}{N \left(1 - \frac{N}{K} \right)} dN = r dt \]

Simplificamos el término de la izquierda:

\[ \frac{1}{N \left(1 - \frac{N}{K} \right)} = \frac{K}{N(K-N)} \]

Entonces la ecuación se transforma en:

\[ \frac{K}{N(K - N)} dN = r dt \]

Ahora integramos ambos lados:

\[ \int \frac{K}{N(K - N)} dN = \int r dt \]

La integral en el lado izquierdo se resuelve usando fracciones parciales:

\[ \frac{K}{N(K - N)} = \frac{1}{N} + \frac{1}{K - N} \]

Esto nos lleva a:

\[ \int \left(\frac{1}{N} + \frac{1}{K - N} \right) dN = \int r dt \]

Resolviendo ambas integrales:

\[ \ln |N| - \ln |K - N| = rt + C \]

Agrupando los logaritmos y exponenciando ambos lados:

\[ \ln \left(\frac{N}{K - N} \right) = rt + C \]

\[ \frac{N}{K - N} = e^{rt + C} = Ae^{rt} \quad ext{donde } A = e^C \]

Finalmente, despejamos \(N\):

\[ N(t) = \frac{K}{1 + \frac{K - N_0}{N_0}e^{-rt}} \]

Esta es la solución analítica del modelo logístico de crecimiento poblacional, donde \(N_0\) es la población inicial en \(t = 0\).

Ejercicio 1: Ejemplo Resuelto

Vamos a aplicar esta fórmula con los siguientes parámetros: - Población inicial \(N_0 = 100\), - Tasa de crecimiento \(r = 0.3\), - Capacidad de carga \(K = 1000\), - Simularemos durante 50 unidades de tiempo.

Cálculo Analítico

Sabemos que la solución analítica es:

\[ N(t) = \frac{K}{1 + \frac{K - N_0}{N_0}e^{-rt}} \]

Sustituyendo los valores:

\[ N(t) = \frac{1000}{1 + \frac{1000 - 100}{100}e^{-0.3t}} = \frac{1000}{1 + 9e^{-0.3t}} \]

Ahora vamos a calcular el valor de la población en diferentes tiempos \(t\) con R.

Código en R

# Definimos los parámetros
r <- 0.3  # Tasa de crecimiento
K <- 1000  # Capacidad de carga
N0 <- 100  # Población inicial
t <- 0:50  # Intervalo de tiempo

# Solución analítica del modelo logístico
logistic_solution <- function(t, N0, r, K) {
  return(K / (1 + ((K - N0) / N0) * exp(-r * t)))
}

# Calculamos la población para cada tiempo t
N_t <- logistic_solution(t, N0, r, K)

# Mostramos los resultados en una tabla
data.frame(Time = t, Population = N_t)
##    Time Population
## 1     0   100.0000
## 2     1   130.4229
## 3     2   168.3699
## 4     3   214.6325
## 5     4   269.4875
## 6     5   332.4279
## 7     6   401.9793
## 8     7   475.7130
## 9     8   550.5209
## 10    9   623.1113
## 11   10   690.5679
## 12   11   750.7798
## 13   12   802.6239
## 14   13   845.8969
## 15   14   881.0882
## 16   15   909.1066
## 17   16   931.0400
## 18   17   947.9835
## 19   18   960.9386
## 20   19   970.7666
## 21   20   978.1781
## 22   21   983.7419
## 23   22   987.9048
## 24   23   991.0115
## 25   24   993.3256
## 26   25   995.0469
## 27   26   996.3259
## 28   27   997.2756
## 29   28   997.9803
## 30   29   998.5030
## 31   30   998.8905
## 32   31   999.1779
## 33   32   999.3908
## 34   33   999.5486
## 35   34   999.6656
## 36   35   999.7522
## 37   36   999.8164
## 38   37   999.8640
## 39   38   999.8993
## 40   39   999.9254
## 41   40   999.9447
## 42   41   999.9590
## 43   42   999.9697
## 44   43   999.9775
## 45   44   999.9833
## 46   45   999.9877
## 47   46   999.9909
## 48   47   999.9932
## 49   48   999.9950
## 50   49   999.9963
## 51   50   999.9972

Gráfico de la Población en Función del Tiempo

Ahora graficamos la evolución de la población a lo largo del tiempo:

# Graficamos la solución analítica
plot(t, N_t, type="l", col="blue", lwd=2,
     xlab="Tiempo", ylab="Población", 
     main="Crecimiento Poblacional Logístico")
abline(h = K, col="red", lty=2)  # Línea que muestra la capacidad de carga

Interpretación

Como se puede observar en el gráfico, la población crece rápidamente al principio pero se estabiliza cerca de la capacidad de carga \(K = 1000\) a medida que pasa el tiempo.

Ejercicio 2: Comparación con el Crecimiento Exponencial

Veamos cómo difiere el modelo logístico de Verhulst-Pearl con el modelo de crecimiento exponencial. El modelo de crecimiento exponencial tiene la siguiente forma:

\[ N(t) = N_0 e^{rt} \]

Cálculo Analítico

Usando los mismos parámetros (\(r = 0.3\), \(N_0 = 100\)):

\[ N(t) = 100 e^{0.3t} \]

Ahora compararemos ambas curvas, la del modelo logístico y la del modelo exponencial.

Código en R

# Modelo exponencial
exponential_solution <- function(t, N0, r) {
  return(N0 * exp(r * t))
}

# Calculamos el crecimiento exponencial
N_exp <- exponential_solution(t, N0, r)

# Graficamos ambos modelos
plot(t, N_t, type="l", col="blue", lwd=2, 
     xlab="Tiempo", ylab="Población", 
     main="Comparación: Crecimiento Logístico vs Exponencial")
lines(t, N_exp, col="purple", lwd=2)
legend("bottomright", legend=c("Logístico", "Exponencial"), col=c("blue", "purple"), lwd=2)

Observación

El crecimiento exponencial sigue creciendo indefinidamente, mientras que el crecimiento logístico se estabiliza debido a la capacidad de carga \(K\).

Conclusión

El modelo logístico de Verhulst-Pearl es fundamental para modelar poblaciones limitadas por recursos. A través de su deducción analítica y ejemplos numéricos, hemos visto cómo la población se ajusta a la capacidad de carga y cómo difiere del crecimiento exponencial.