Está en la página 1de 8

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA - DEPARTAMENTO DE INGENIERIA INDUSTRIAL DINAMICA DE SISTEMAS Taller tutorial ithink "Un modelo

de poblacin"
Por: Camilo Olaya
Referencias: The First Step. Leslie Martin, 1997 (Road Maps D4694) An Introduction to Systems Thinking. High Performance Systems Inc., 2000 Business Dynamics. Systems Thinking and Modeling for a Complex World. John Sterman. Irwin/McGraw-Hill. 2000.

Este taller tutorial presenta los principios bsicos de modelamiento y simulacin en ithink utilizando un modelo sencillo de dinmica poblacional. Toma como referencia algunas publicaciones del grupo de Dinmica de Sistemas del MIT y el software ithink

Un modelo de poblacin...
Pueblito Viejo es una pequea aldea localizada en la sabana. Realmente no es una gran metrpoli. El ltimo censo realizado registr una poblacin de 5000 Puebloviejanos. Histricamente se ha credo que cada ao nacen 150 bebs en Pueblito Viejo. Igualmente, la registradura del pueblo calcula en 75 las muertes anuales, siempre el mismo nmero, la mayora entre la poblacin anciana. Cmo evolucionar la poblacin de Pueblito Viejo en la prxima dcada?

Cerca de Pueblito viejo hay una aldea llamada "Villa Desolacin". En el mismo ao que se hizo el censo mencionado, Villa Desolacin contaba tambin con 5000 habitantes. Sin embargo, en este pueblo los centros de salud estn vacos, los mdicos y las enfermeras huyeron hace mucho tiempo y el cementerio est lleno. Solo nacen, en promedio, 50 bebs al ao. Y debido a los descuidos en salud, se calculan 125 muertes anuales. Cmo evolucionar la poblacin de Villa Desolacin en los prximos 10 aos? Cmo cambiaran las poblaciones si ampliamos el horizonte a 100 aos? 1. Niveles de trabajo en ithink Definidos mediante cuatro pestaas en la mitad superior izquierda de la pantalla Nivel de interfaz: para crear interfaces de "alto nivel", pensadas en un usuario final, permite definir sectores y subsistemas dentro del modelo general que se est trabajando, desplegar grficas de simulaciones, incorporar controles, etc. Por ejemplo, en una cadena de produccin podramos identificar subsistemas como: fabricacin, ensamble, pruebas y despachos y trabajar con cada uno por separado. Niveles mapa & modelo: aqu es donde "mapeamos" nuestros modelos mentales y los transformamos para poder simularlos en el computador (pasamos de la capa de mapa a modelo con la tecla que tiene un globo terrqueo (modo mapa), En el nivel de modelo es donde se formalizan las relaciones numricas, valores, ecuaciones y se construyen los modelos de simulacin.

Nivel de ecuaciones: podemos ver las ecuaciones de diferencia asociadas al modelo.

2. Los bloques constructores en ithink (nivel mapa/modelo):

Niv el

Conector
Flujo

Convertidor

Niv el

Nivel: representa las acumulaciones los stocks, niveles, lo que se acumula. Ej: poblacin, inventario, empleados, precio_producto. Unidades: No. de individuos, cantidad de tems, etc.

Flujo

Flujo: tasa de cambio de un nivel, llenan o desocupan niveles. Pueden ser de entrada (inflow) o de salida (outflow). Ej: No. de individuos que nacen cada ao, tasa de contratacin mensual. Unidades: No. de items / unidad de tiempo

Convertidor

Convertidor o variable auxiliar: modifica entradas en salidas, son tiles para desagregar y romper en detalles la lgica del modelo, calculan relaciones algebraicas, pueden ser constantes utilizadas para calcular el valor de un flujo. Al contrario de los niveles, los convertidores no acumulan nada. Ej: nmero de individuos que nacen por cada individuo que existe, cada ao. Unidades: No. de individuos/No. de individuos/unidad de tiempo

Conector

Conector: pasan informacin: de niveles a convertidores, de niveles a reguladores de flujos, de reguladores de flujos a reguladores de flujos, de reguladores de flujos a convertidores, de convertidores a reguladores de flujos y de convertidores a otros convertidores.

3. El modelo de poblacin 3.1 Flujos constantes 1) Crear el nivel "Poblacin": Seleccionar el cono de Nivel (un click) Mover el cursor al sitio en donde se va a colocar el nivel Depositarlo (un click) Con el nivel seleccionado ("Noname 1") colocarle el nombre: "Poblacin". 2) Crear el flujo de entrada "Nacimientos": - Seleccionar el cono de flujos (un click) - Mover el cursor hacia la izquierda del nivel "Poblacin", hacer click y arrastrar el flujo hacia la derecha hasta que ste haga contacto con el nivel (lo sombrea). Soltar el botn del mouse. - Con el flujo seleccionado lo nombramos: "nacimientos". 3) Especificar nacimientos y poblacin: - En las pestaas del costado izquierdo de la pantalla pasar de Map a Model - Especificar nacimientos: Doble click en "nacimientos" Seleccionar "Biflow" Reemplazar "{ Place right hand side of equation here... }" por "150" (sin comillas!) Ir a "Document" y escribir "nmero promedio de nacimientos por ao en Pueblito Viejo, Unidades: personas/ao". Esconder el documento ("Hide Document"); aparece un asterisco (*) en el botn de Documento indicando que ya hay texto. Cerrar y confirmar cambios ("OK"). (desapareci el signo de interrogacin (?) en "nacimientos"). - Especificar poblacin: Doble click en "Poblacin" Remover la seleccin de "Non-negative" Los flujos se definen con ecuaciones, en cambio los niveles se definen con valores iniciales, la nica manera en la que pueden cambiar es con flujos de entrada y de salida. Reemplazar "{ Place initial value here... }" por "5000". Ir a "Document" y escribir "Poblacin de la ciudad. Unidades: personas". Esconder el documento Cerrar y confirmar cambios. 4) Una vez tenemos la especificacin ya podemos hacer una primera simulacin. Pero primero, para ver los resultados de la simulacin necesitamos preparar una grfica: - Seleccionar el cono de grfica (un click) - Mover el cursor hacia el modelo y depositar la grfica (un click). Se puede mover la grfica. Se podra asegurar la grfica a la pgina haciendo click en el alfiler que est en la esquina superior izquierda de la grfica, de esta manera la grfica queda siempre por encima en la pgina. - Vamos a seleccionar las variables que queremos ver en la simulacin. Doble click en la superficie de la grfica. Doble click en "Poblacin" y en "Nacimientos". - En "Title" titular la grfica: "Pueblito Viejo". - Cerrar y confirmar cambios. - Ya estamos listos para correr el modelo. Para traer el controlador para correr hacer click en el cono de la esquina inferior izquierda de la pantalla. Doble click de nuevo en la grfica para desplegarla. Correr la simulacin (botn de "Play" CONTROL+R ).

5) Falta ahora modelar y especificar las muertes en Pueblito Viejo. Para crear el flujo de salida "Muertes": Seleccionar el cono de flujos (un click) Mover el cursor hacia el centro del nivel "Poblacin", hacer click y arrastrar el flujo hacia la derecha. Soltar el botn del mouse. Poblacin muertes Con el flujo seleccionado lo nombramos: "muertes". Doble click en muertes Seleccionamos "Biflow" En la seccin de ecuacin colocamos "75". Documentar ("Document"): "nmero promedio de personas que mueren cada ao en Pueblito Viejo, Unidades: personas/ao" y esconder el documento. Cerrar y confirmar cambios.

+ Nacimientos Poblacin muertes

6) Ya podemos volver a simular el nuevo modelo que incluye las muertes: - Primero que todo, falta incluir "muertes" en la grfica: seleccionar (doble click) en el cono de nuestra grfica anterior, hacer doble click en la superficie de la grfica e incluir "muertes". Cerrar y confirmar cambios. - Traer el controlador para correr la simulacin y correrla. - En la grfica las variables tienen diferentes escalas; para interpretar ms fcilmente la grfica se pueden poner las variables en la misma escala. Para esto: Doble click en la superficie de la grfica. Seleccionar nacimientos y muertes al tiempo (con shift o arrastrando con el mouse) Hacer click en una de las fechas dobles que estn justo a la derecha de las variables seleccionadas "nacimientos" y "muertes" (quedan limitadas a un mismo piso y techo). Definir piso y techo a la escala: en la casilla Min colocar "0". En la casilla Max colocar "200". Click en el botn Set Cerrar y confirmar cambios. La grfica automticamente adopta la nueva escala. 7) Ahora se puede trabajar en el caso de Villa Desolacin. La "Poblacin" permanece igual pero hay que cambiar los flujos de nacimientos y muertes: - Doble click en "nacimientos". En la caja de ecuacin colocar "50". Cerrar y confirmar. - Doble click en "muertes". En la caja de ecuacin colocar "125". Cerrar y confirmar. - Antes de correr el nuevo modelo hay que salvar la grfica anterior de Pueblito Viejo: Click en el candado en la esquina inferior izquierda de la grfica. Al cerrar el candado la grfica queda asegurada, no cambiar al volver a simular. - Aadir una nueva hoja a la grfica: doble click en la superficie de la grfica y click en la flecha que seala hacia arriba justo al lado de la palabra "New" (abajo a la derecha). Con esto se pasa la pgina 2 de la grfica. - Titular la grfica: "Villa Desolacin". - Seleccionar las variables a graficar: "Poblacin", "nacimientos" y "muertes".

Como se quiere comparar las grficas entonces hay que ponerlas en la misma escala. Seleccionar "nacimientos" y "muertes" simultneamente y hacer click en una de las flechas dobles correspondientes a la derecha. Definir el mnimo en 0 y el mximo en 200, click en Set, cerrar y confirmar cambios. Correr el modelo. Se pueden ver las dos grficas alternativamente haciendo click en el doblez de la pgina (esquina inferior izquierda). No olvidar guardar el modelo en caso de que no se haya hecho (men File).

3.2. Realimentacin 1) La escala de tiempo: ahora queremos trabajar con una escala de tiempo ms grande. Para cambiar esta escala: - En el men superior se selecciona Run, y seleccionamos la opcin " Run Specs" - En la categora "Length of simulation" cambiamos en "To" de "13" a "100". - En la categora "Unit of time" seleccionamos "Years" - Cerrar y confirmar cambios - Para ver la simulacin con la nueva escala: volvemos a los datos de Pueblito Viejo: colocar en la definicin de ecuaciones de "nacimientos" 150" y en "muertes" "75", confirmar los cambios en ambos flujos. Ir a la grfica titulada "Pueblito Viejo", desbloquearla (con el candado), hacer doble click en la superficie de la grfica, seleccionar "nacimientos" y "muertes" para devolverlos de "Selected" a "Allowable" de manera que solo quedamos en las variables seleccionadas con "Poblacin". Para quitarle el piso y el techo a la escala hacemos click en "Poblacin" y dos veces click en la flecha justo a la derecha de manera que podamos hacer click en el botn "De-set". - Cerramos y confirmamos los cambios. - Correr la simulacin. - Se puede asegurar de nuevo esta grfica (candado) - Repetir lo mismo para Villa Desolacin: cambiar los valores ("nacimientos" con "50" y "muertes" con "125"), ir a la grfica correspondiente, doble click en la superficie y remover "nacimientos" y "muertes" para dejar solo "Poblacin" como variable, seleccionar "Poblacin" para poder quitar techo y piso de la escala (flecha a la derecha y botn de "De-set" , cerrar y confirmar cambios y correr la simulacin. 2) En nuestro primer modelo la escala a 12 aos no permita ver toda la evolucin de la poblacin; con la escala ampliada a 100 aos se vi que la poblacin en Villa Desolacin llega a ser negativa...(algo extrao), esto debido a que los nacimientos y las muertes no dependan del tamao mismo de la poblacin. Ahora se va a tomar el caso de la poblacin como una dinmica de realimentacin incorporando esta dependencia. Realimentacin Vamos a trabajar tomando los nacimientos y las muertes dependientes del tamao de la poblacin (y no como constantes), es decir que, para cualquier ao, el nmero de nacimientos depender del tamao de la poblacin ese ao. Podemos calcular para Pueblito Viejo una fraccin de nacimientos de 150 / 5000 = 0.03 o 3% anual. Igualmente para Villa Desolacin la fraccin de nacimientos sera 50 / 5000 = 0.01 o 1% anual. + +
Nacimientos

Poblacin

Fraccin de nacimientos

3) Primero que todo ampliamos el modelo y lo especificamos con la nueva informacin; primero el conector: - Seleccionar el cono de conector (un click) - Colocar el cursor dentro del nivel "Poblacin". Arrastrarlo hasta que haga contacto con el regulador de flujo de "nacimientos" (crculo). Soltar el botn del mouse. 4) Ahora se puede poner la fraccin de nacimientos estimada utilizando un convertidor: - Seleccionar el cono de convertidor (un click) - Colocar el convertidor abajo y a la izquierda del flujo "nacimientos" (un click). - Nombrar el convertidor: "FRACCION DE NACIMIENTOS" - Ya que el flujo de nacimientos depende de la fraccin de nacimientos con un nuevo conector conectar el convertidor "FRACCION DE NACIMIENTOS" con el regulador de flujo de "nacimientos". - Definir la "FRACCION DE NACIMIENTOS": hacer doble click en el convertidor, escribir "0.03" en la caja de ecuacin, y documentar: "La fraccin de nacimientos se calcul dividiendo los nacimientos promedio anuales y la poblacin inicial; esta fraccin representa la fertilidad de la poblacin. Unidades: (persona/ao)/persona = 1/ao", esconder la documentacin. Cerrar y confirmar cambios. - Definir el flujo "nacimientos": doble click en el regulador de flujo, definir la ecuacin como el producto entre "Poblacin" y "FRACCION DE NACIMIENTOS" (estn en "Required Inputs"). De manera que queda nacimientos = Poblacin * FRACCION DE NACIMIENTOS. Modificar la documentacin: "Los nacimientos dependen de la poblacin actual y de la fraccin de nacimientos que representa la fertilidad de la poblacin", esconder el documento, cerrar y confirmar cambios. 5) Hacer lo mismo para modelar las muertes. Para calcular la fraccin de muertes para Pueblito Viejo podemos calcular: 75 / 5000 = 0.015 o 1.5% anual. Similarmente para Villa Desolacin la fraccin de muertes sera 125 / 5000 = 0.025 o 2.5% anual.

Poblacin

muertes

Incorporamos esto en el modelo: - Seleccionar un convertidor, colocarlo a la derecha del flujo de "muertes", nombrarlo "FRACCION DE MUERTES" y aadir los conectores: uno desde el convertidor FRACCION DE MUERTES al regulador de flujo de "muertes" y otro desde el nivel "Poblacin" hacia el regulador de flujo de "muertes". - Definir FRACCION DE MUERTES como 0.015, documentar :"La fraccin de muertes se calcul dividiendo las muertes promedio anuales entre la poblacin inicial, representa la mortalidad de la poblacin. Unidades: (personas/ao)/personas = 1/ao", ocultar documentacin, cerrar y confirmar cambios. - Definir el flujo de "muertes": doble click en "muertes" y definir la ecuacin como el producto entre la poblacin y la FRACCION DE MUERTES. De manera que queda muertes = Poblacin * FRACCION DE MUERTES. Modificar la documentacin: "Las muertes dependen de la poblacin actual y de la fraccin de muertes que representa la mortalidad de la poblacin", esconder el documento, cerrar y confirmar cambios

Fraccin de muertes

+ +
Nacimientos

B
muertes

Poblacin

Fraccin de nacimientos

Fraccin de muertes

6) Ya se puede simular el nuevo modelo para Pueblito Viejo - Para mayor claridad, seleccionar y abrir una nueva grfica. - Doble click en la superficie de la grfica - Seleccionar "Poblacin" dentro de la lista de "Allowable" inputs a "Selected" - Asegurarse que las primeras grficas con flujos constantes estn aseguradas (candado). - Ir a la nueva grfica definida y correr la simulacin. - La poblacin se dispar a casi 22.000 personas! 7) Actualizar tambin para Villa Desolacin - Primero asegurar la grfica de la simulacin anterior - Doble click en la grfica nueva y seleccionar una nueva hoja - Titularla: "Villa Desolacin" - Seleccionar "Poblacin" de los "Allowable" inputs a "Selected". - Cerrar y confirmar cambios. - Ahora a cambiar el modelo: doble click en FRACCION DE NACIMIENTOS y definirlo como "0.01" (cerrar y confirmar), doble click en FRACCION DE MUERTES y definirlo como "0.025" (cerrar y confirmar). - Correr la simulacin. - La poblacin de Villa Desolacin presenta un decaimiento exponencial (un ciclo de realimentacin negativo -de balance-). 8) En la pestaa del costado izquierdo seleccionar Equation, en esta se puede ver la especificacin del modelo con las ecuaciones asociadas al mismo:
Poblacion(t) = Poblacion(t - dt) + (nacimientos - muertes) * dt INIT Poblacion = 5000 INFLOWS: nacimientos = Poblacion*FRACCION_DE_NACIMIENTOS OUTFLOWS: muertes = Poblacion*FRACCION_DE_MUERTES FRACCION_DE_MUERTES = 0.025 FRACCION_DE_NACIMIENTOS = 0.01

También podría gustarte