Problema 6.1 del libro Small System Dynamics Models for Big Issues: Triple Jump towards Real-World Complexity de Erik Pruyt.

  1. En Vensim, dibuje el diagrama causal del problema

  1. En Vensim, dibuje el diagrama de flujo del problema

  1. Modele el problema para un horizonte de tiempo de 5 años.
library("deSolve")

#Variables exógenas o parámetros
parameters<-c(confiscation.rate=5/100, #10%
              imports=4000, #Kg/month
              used=3000 #Kg/month
  
)

#Condiciones iniciales de las variables de estado (aquí se escriben sin d)
InitialConditions <- c(cocaine=3000 #Kg
  
)

#Tiempo de modelación
times <- seq(0, #initial time, month 0
             5*12, #end of simulation, month 60
             12)#time step, each year

#Método de integración
intg.method<-c("rk4")

#Función del caso
cocaine <- function(t, state, parameters) {
  with(as.list(c(state,parameters)), {
    #Variables endógenas
    
    
    #Variables de flujo
    confiscated<-cocaine*confiscation.rate #Kg/month
     
    #Variables de estado (siempre inician con un d)
    dcocaine<-imports-used-confiscated #Kg
     
    list(c(dcocaine), confiscated=confiscated) #En la lista deben ir las variables que quieres graficar, dentro de la c() las variables de estado (las que inician con d) y fuera de la c(), pero dentro del paréntesis de la lista, las demás variables que se deseen plotear.
  })
}

#Simulación del model
out <- ode(y = InitialConditions,
           times = times,
           func = cocaine, #recuerda actualizar el nombre de tu función para cada caso que resulevas
           parms = parameters,
           method =intg.method )

#Gráficos de resultados del modelo
plot(out)