Este caso debe ser documentado con precisión, pues la información proporcionada será esencial para realizar el análisis de flujos y evaluar la efectividad de las políticas de mitigación de escasez de agua en una región ficticia denominada “La Seca”. El objetivo de esta simulación es comprender cómo las intervenciones en infraestructura y cultura del agua influyen en la reducción del déficit hídrico a largo plazo. Para personalizar el análisis, es crucial considerar el último dígito de tu número de matrícula como la variable [X], la cual determinará los parámetros iniciales de la simulación. Por ejemplo, si tu matrícula termina en 5, ese valor sustituirá a la variable [X] en todas las ecuaciones del problema; si termina en 0, el valor será cero. Esta variable ajustará los niveles iniciales de demanda en los tres sectores principales en los que se divide la región: el sector industrial, el agrícola y el doméstico. Inicialmente, la demanda anual de agua, medida en hectómetros cúbicos, se distribuye con [X+5] millones para el sector industrial, [X+10] millones para el sector agrícola y [X+3] millones para el sector doméstico. Para efectos de simplificación del modelo, se asumirá que no existen variaciones en las fuentes de recarga natural de los acuíferos por causas climáticas externas, manteniendo una base constante de comparación. El déficit hídrico inicial —es decir, la cantidad de agua necesaria que no alcanza a ser cubierta por las fuentes actuales— se establece en 20 unidades para la zona industrial, 50 para la agrícola y 15 para la doméstica. Se proyecta que, debido al crecimiento desmedido, este déficit se incrementará de forma constante a una tasa de 2 unidades por cada millón de habitantes o unidades de demanda establecidas en los parámetros iniciales de cada sector. A partir de la implementación de una nueva Política de Gestión Integral del Agua, se abre un periodo de observación de 12 años para evaluar su efectividad. Se espera que, gracias a la tecnificación y modernización de los sistemas, la incidencia del déficit disminuya anualmente un 6% en el sector industrial, un 9% en el agrícola y un 4% en el doméstico. El modelo debe programarse para ejecutarse a lo largo de un período total de 40 años, analizando el desarrollo del sistema cada 4 meses. La variable fundamental a monitorear será el déficit hídrico total de la región, además de las variables de estado y flujo que se identifiquen durante la construcción del modelo.
# A01734507
X <- 7
Variables de Estado (Stock variables)
Variables de flujo (Flow variables)
Variables auxiliares endógenas (Endogenous auxiliary variables)
Parámetros de simulación (Variables exógenas / frontera del sistema)
InitialConditions <- c(
deficit_hidrico_industrial = 20,
deficit_hidrico_agricola = 50,
deficit_hidrico_domestico = 15
)
times <- seq( 0, # tiempo inicial (años)
40, # tiempo final (años)
1/3 ) # paso de simulación: 4 meses
function.name <- function(t, state, parameters) {
with(as.list(c(state, parameters)), {
# Variables auxiliares endógenas
deficit_total_hidrico <- deficit_hidrico_industrial +
deficit_hidrico_agricola +
deficit_hidrico_domestico
# Variables de flujo
incremento_deficit_industrial <- tasa_crecimiento_deficit * demanda_agua_industrial
incremento_deficit_agricola <- tasa_crecimiento_deficit * demanda_agua_agricola
incremento_deficit_domestico <- tasa_crecimiento_deficit * demanda_agua_domestico
reduccion_deficit_industrial <- tasa_reduccion_industrial * deficit_hidrico_industrial
reduccion_deficit_agricola <- tasa_reduccion_agricola * deficit_hidrico_agricola
reduccion_deficit_domestico <- tasa_reduccion_domestico * deficit_hidrico_domestico
# Variables de estado (derivadas)
d_deficit_hidrico_industrial <- incremento_deficit_industrial - reduccion_deficit_industrial
d_deficit_hidrico_agricola <- incremento_deficit_agricola - reduccion_deficit_agricola
d_deficit_hidrico_domestico <- incremento_deficit_domestico - reduccion_deficit_domestico
list(
c(d_deficit_hidrico_industrial,
d_deficit_hidrico_agricola,
d_deficit_hidrico_domestico),
c(
deficit_total_hidrico = deficit_total_hidrico,
incremento_deficit_industrial = incremento_deficit_industrial,
incremento_deficit_agricola = incremento_deficit_agricola,
incremento_deficit_domestico = incremento_deficit_domestico,
reduccion_deficit_industrial = reduccion_deficit_industrial,
reduccion_deficit_agricola = reduccion_deficit_agricola,
reduccion_deficit_domestico = reduccion_deficit_domestico
)
)
})
}
parameters <- c(
demanda_agua_industrial = X + 5,
demanda_agua_agricola = X + 10,
demanda_agua_domestico = X + 3,
tasa_crecimiento_deficit = 2,
tasa_reduccion_industrial = 0.06,
tasa_reduccion_agricola = 0.09,
tasa_reduccion_domestico = 0.04
)
intg.method <- c("rk4")
out <- ode(
y = InitialConditions,
times = times,
func = function.name,
parms = parameters,
method = intg.method
)
plot(out,
col=c("hotpink"))
# Gráfica de las variables de estado con ggplot2
out <- as.data.frame(out)
out_long <- out %>%
select(
time,
deficit_hidrico_industrial,
deficit_hidrico_agricola,
deficit_hidrico_domestico,
deficit_total_hidrico
) %>%
pivot_longer(
cols = -time,
names_to = "variable",
values_to = "valor"
) %>%
mutate(
variable = recode(
variable,
deficit_hidrico_industrial = "Industrial",
deficit_hidrico_agricola = "Agrícola",
deficit_hidrico_domestico = "Doméstico",
deficit_total_hidrico = "Total"
)
)
ggplot(out_long, aes(x = time, y = valor, color = variable)) +
geom_line(linewidth = 1.2) +
geom_vline(xintercept = 12, linetype = "dashed") +
annotate("text", x = 12.5, y = max(out_long$valor), label = "Año 12", hjust = 0) +
labs(
title = "Evolución del déficit hídrico en La Seca",
x = "Tiempo (años)",
y = "Déficit hídrico",
color = "Sector"
) +
theme_minimal(base_size = 12)
ggplot(out, aes(x = time, y = deficit_total_hidrico)) +
geom_line(linewidth = 1.2) +
labs(
title = "Déficit hídrico total en La Seca",
x = "Tiempo (años)",
y = "Déficit hídrico total"
) +
theme_minimal(base_size = 12)
# Vector de tiempo para los primeros 12 años
times_12 <- seq(0, 12, 1/3)
# Escenario con política pública
out_con_politica_12 <- ode(
y = InitialConditions,
times = times_12,
func = function.name,
parms = parameters,
method = "rk4"
)
out_con_politica_12 <- as.data.frame(out_con_politica_12)
# Escenario sin política pública
parameters_sin_politica <- c(
demanda_agua_industrial = X + 5,
demanda_agua_agricola = X + 10,
demanda_agua_domestico = X + 3,
tasa_crecimiento_deficit = 2,
tasa_reduccion_industrial = 0,
tasa_reduccion_agricola = 0,
tasa_reduccion_domestico = 0
)
out_sin_politica <- ode(
y = InitialConditions,
times = times_12,
func = function.name,
parms = parameters_sin_politica,
method = "rk4"
)
out_sin_politica <- as.data.frame(out_sin_politica)
comparacion_12 <- bind_rows(
out_con_politica_12 %>%
select(time, deficit_total_hidrico) %>%
mutate(escenario = "Con política pública"),
out_sin_politica %>%
select(time, deficit_total_hidrico) %>%
mutate(escenario = "Sin política pública")
)
ggplot(comparacion_12, aes(x = time, y = deficit_total_hidrico, color = escenario)) +
geom_line(linewidth = 1.2) +
labs(
title = "Comparación del déficit hídrico total en los primeros 12 años",
x = "Tiempo (años)",
y = "Déficit hídrico total",
color = "Escenario"
) +
theme_minimal(base_size = 12)
# Política inicia en el año 10
function.name_year10 <- function(t, state, parameters) {
with(as.list(c(state, parameters)), {
# Variables auxiliares endógenas
deficit_total_hidrico <- deficit_hidrico_industrial +
deficit_hidrico_agricola +
deficit_hidrico_domestico
# Variables de flujo: incremento
incremento_deficit_industrial <- tasa_crecimiento_deficit * demanda_agua_industrial
incremento_deficit_agricola <- tasa_crecimiento_deficit * demanda_agua_agricola
incremento_deficit_domestico <- tasa_crecimiento_deficit * demanda_agua_domestico
# Activación de política a partir del año 10
tasa_reduccion_industrial_eff <- ifelse(t >= 10, tasa_reduccion_industrial, 0)
tasa_reduccion_agricola_eff <- ifelse(t >= 10, tasa_reduccion_agricola, 0)
tasa_reduccion_domestico_eff <- ifelse(t >= 10, tasa_reduccion_domestico, 0)
# Variables de flujo: reducción
reduccion_deficit_industrial <- tasa_reduccion_industrial_eff * deficit_hidrico_industrial
reduccion_deficit_agricola <- tasa_reduccion_agricola_eff * deficit_hidrico_agricola
reduccion_deficit_domestico <- tasa_reduccion_domestico_eff * deficit_hidrico_domestico
# Variables de estado (derivadas)
d_deficit_hidrico_industrial <- incremento_deficit_industrial - reduccion_deficit_industrial
d_deficit_hidrico_agricola <- incremento_deficit_agricola - reduccion_deficit_agricola
d_deficit_hidrico_domestico <- incremento_deficit_domestico - reduccion_deficit_domestico
list(
c(d_deficit_hidrico_industrial,
d_deficit_hidrico_agricola,
d_deficit_hidrico_domestico),
c(
deficit_total_hidrico = deficit_total_hidrico,
incremento_deficit_industrial = incremento_deficit_industrial,
incremento_deficit_agricola = incremento_deficit_agricola,
incremento_deficit_domestico = incremento_deficit_domestico,
reduccion_deficit_industrial = reduccion_deficit_industrial,
reduccion_deficit_agricola = reduccion_deficit_agricola,
reduccion_deficit_domestico = reduccion_deficit_domestico
)
)
})
}
# Ejecutar escenario alternativo
out_year10 <- ode(
y = InitialConditions,
times = times,
func = function.name_year10,
parms = parameters,
method = "rk4"
)
out_year10 <- as.data.frame(out_year10)
# Comparación entre modelo base y escenario con política desde año 10
comparacion_final <- bind_rows(
out %>%
select(time, deficit_total_hidrico) %>%
mutate(escenario = "Política desde año 1"),
out_year10 %>%
select(time, deficit_total_hidrico) %>%
mutate(escenario = "Política desde año 10")
)
# Gráfica comparativa
ggplot(comparacion_final, aes(x = time, y = deficit_total_hidrico, color = escenario)) +
geom_line(linewidth = 1.2) +
geom_vline(xintercept = 10, linetype = "dashed") +
annotate("text", x = 10.5, y = max(comparacion_final$deficit_total_hidrico),
label = "Inicio política alterna: año 10", hjust = 0) +
labs(
title = "Comparación del déficit hídrico total: modelo base vs política desde año 10",
x = "Tiempo (años)",
y = "Déficit hídrico total",
color = "Escenario"
) +
theme_minimal(base_size = 12)
# Valores al año 40
base_40 <- out %>% filter(time == 40) %>% pull(deficit_total_hidrico)
year10_40 <- out_year10 %>% filter(time == 40) %>% pull(deficit_total_hidrico)
# Diferencia porcentual respecto al modelo base
diferencia_porcentual <- ((year10_40 - base_40) / base_40) * 100
# Mostrar resultados
cat("Déficit hídrico total al año 40 - modelo base:", round(base_40, 2), "\n")
## Déficit hídrico total al año 40 - modelo base: 1136.43
cat("Déficit hídrico total al año 40 - política desde año 10:", round(year10_40, 2), "\n")
## Déficit hídrico total al año 40 - política desde año 10: 1169.2
cat("Diferencia porcentual respecto al modelo base:", round(diferencia_porcentual, 2), "%\n")
## Diferencia porcentual respecto al modelo base: 2.88 %
Retrasar el inicio de la Política de Gestión Integral del Agua hasta el año 10 incrementa el déficit hídrico total al final de la simulación, en comparación con el modelo desde el año 1 donde la intervención inicia desde el principio. Esto muestra que la intervención temprana es crucial, porque evita la acumulación sostenida del déficit durante los primeros años y reduce el tamaño del problema antes de que el sistema entre en una trayectoria más difícil de corregir.