Está en la página 1de 56

Stella, software para modelacin

dinmica en Biologa

Stella, software para modelacin dinmica


en Biologa

Armando Cervantes Sandoval


Xavier Chiappa Carrara
Nuno Simes Dias Marques

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO


Facultad de Estudios Superiores Zaragoza
UMDI-Sisal, Facultad de Ciencias

Mxico 2009

Primera edicin: 2009

D.R. Facultad de Estudios Superiores Zaragoza


UMDI-Sisal, Facultad de Ciencias
ISBN: 978-607-00007-0

Impreso y hecho en Mxico


Formacin, Diseo editorial y portada: Armando Cervantes Sandoval
Desarrollado con apoyo de los proyectos PAPIME PE201106 y PE101606
Material de uso libre para fines acadmicos, con la cita o referencia
bibliogrfica correspondiente.
Prohibida su reproduccin total o parcial con fines de lucro.

Contenido

Pg.
Presentacin

iii

Captulo 1
Aspectos generales

1.1.

13

STELLA. El entorno de trabajo

Captulo 2
Modelos ms comunes, con STELLA
2.1. Exponencial

13

2.2. Modelo logstico

14

2.3. Otra versin del modelo logstico

16

2.4. Cuatro modelos bsicos, en la modelacin dinmica


2.4.1. Modelo estmulo-respuesta

2.4.2. Modelo auto-referencia

19
19
21

2.4.3. Modelo buscando objetivo

22

2.4.4. Modelo Goal-Setting

24

Captulo 3
Experimentacin (simulacin) en Stella

27

3.1. El Bio-Bomb

27

3.1.1. Formulacin

28

3.1.2. Anlisis del modelo

28

3.1.3. Conjunto direccin

29

3.1.4. Solucin del problema en Stella

29

3.1.5. Puntos fijos y estabilidad

30

3.2. Lmites al crecimiento: la ecuacin logstica

31

3.2.1. Formulacin del modelo

31

3.3. Vida en la fase plana

3.3.1. Introduccin a los sistemas 2-D, conceptos bsicos

33
34

3.4. Una miscelnea de puntos fijo

35

3.5. Comentarios sobre Stella

36

Captulo 4
Comentarios finales sobre la modelacin dinmica

Bibliografa comentada

ii

37

41

Presentacin

Esta es una gua prctica para conocer y manejar el software de modelacin visual Stella.
De manera grfica se revisa el entorno de trabajo, su manejo y se desarrollan algunos
ejemplos de modelos bsicos en biologa y ecologa, todo ello sin escribir una sola
ecuacin, aunque si se requieren conocimientos mnimos de matemticas.
El material se presenta como un curso de auto-aprendizaje, cuya lectura se recomienda
con el software Stella en pantalla y re-haciendo cada uno de los pasos que se presentan
en el escrito.
Se conceptualiz como un material en-lnea (on-line), con la enorme ventaja de la
revisin, correccin y actualizacin inmediata, lo que permite la participacin de todos sus
lectores para detectar errores u omisiones, as como para agregar temas o ejemplos que
le permitan cumplir su funcin de apoyo didctico.
Se pretende sea un primer acercamiento, completamente amigable, a quienes se inician
en la modelacin matemtica de procesos biolgicos.

Los autores

iii

iv

Captulo 1
Aspectos generales
Cuntame y olvidare
Mustrame y puede que recuerde
Involcrame y entender

Stella es un programa de simulacin por computadora, que proporciona un marco de referencia


y una interfase grfica de usuario para la observacin e interaccin cuantitativa de las variables
de un sistema.
La interfase se puede utilizar para describir y analizar sistemas biolgicos, fsicos, qumicos o
sociales muy complejos. Complejidad que se puede representar muy bien, con slo 4 elementos
o bloques de construccin: stock, flujo, conector y convertidor.

Stock

Flujo

Convertidor 1

Conector

Convertidor 2
Figura 1.1. Elementos bsicos en Stella.

Aspectos generales

Stock: Es un smbolo genrico para cualquier cosa que acumula o consume recursos. Por
ejemplo. Agua acumulada en una tina de bao. En cualquier tiempo, la cantidad de agua en la
tina refleja la acumulacin del agua que fluye desde la llave, menos

lo que fluye haca el

drenaje. La cantidad de agua es una medida del stock de agua.

Flujo: Un flujo es la tasa de cambio de un stock. En el ejemplo de la tina de bao, los flujos son
el agua que entra y el agua que sale.

Convertidor: Un convertidor se utiliza para tomar datos de entrada y manipularlos para


convertir esa entrada en alguna seal de salida. En el ejemplo de la tina de bao, si se toma el
control de la llave que vierte el agua al interior, el convertidor toma como entrada esta accin
en la llave y convierte la seal en una salida que se refleja en la salida de agua.

Conector: Un conector es una flecha que le permite a la informacin pasar entre:


convertidores; stocks y convertidores; stocks, flujos y convertidores. Un conector cuya direccin
va de un convertidor 1 a un convertidor 2 significa que el convertidor 2 es funcin del
convertidor 1. En otras palabras, el convertidor 1 afecta al convertidor 2.

El cuadro 1 proporciona ejemplos de variables que se pueden clasificar como stocks y flujos
(entre muchas otras).
Flujos de entrada
Nacimientos
Plantacin
Alimentacin
Incremento
Contratacin
Aprendizaje
Produccin
Prestamos
Recobrar
Acumular
Construir
Flujo de entrada

Stocks
Poblacin
Abetos
Alimento en el estomago
Autoestima
Empleados
Conocimiento
Inventario
Deuda
Salud
Presin
Construcciones
Agua en la tina de bao

Flujos de salida
Muertes
Tala
Digestin
Decremento
Despidos
Olvido
Envos
Pagos
Declinar
Disipar
Demolicin
Flujo de salida

Cuadro 1.1. Ejemplos de stocks, con sus flujos de entrada y salida.

Aspectos generales

1.1.

STELLA. El entorno de trabajo

Esta herramienta de modelacin presenta tres grandes capas:


1. La de mapeo, que permite definir valores iniciales de stocks, flujos o conectores,
donde tambin se muestra una elegante presentacin del modelo ya terminado. Se
podra considerar la fase de dibujo del sistema, donde se definen la estructura y el
aspecto que presenta cada componente.
2. La capa de construccin del modelo, que en conjunto con la capa anterior constituyen
la verdadera rea de trabajo, ya que aqu se definen los valores iniciales de las
variables y de las tasas de cambio.
3. La capa de ecuaciones matemticas utilizadas en el modelo, que el usuario puede evitar
si no le interesa mucho la parte matemtica del modelo.
Los bloques de construccin son los 4 conos con los que se construye los diagramas de un
sistema.
Las herramientas y objetos permiten posicionar, definir, duplicar y eliminar bloques de
construccin en el diagrama.

Bloques de
Construccin

Objetos

Herramientas

Figura 1.2. Capa de construccin de modelos,


ventana que se presenta al entrar a STELLA.

Aspectos generales

Para mostrar cmo se trabaja en el entorno Stella: navegar entre las diferentes capas y el uso
de cada una de ellas, se desarrolla un ejemplo de ecologa.
E.1.1. Representar la variable poblacin, mediante un bloque de construccin stock. Este tipo
de variables representa cualquier cosa que se acumula o declina y que puede ser fsica o
conceptual (cuadro 1).

Figura 1.3. Modelo con un stock.

Para esto, seleccionar el icono de stock (

) y hacer un arrastre haca el centro de la pantalla

El bloque stock tiene el nombre Noname 1, el cual se puede cambiar al dar un clic sobre el
nombre y como en cualquier procesador de palabras dar el nombre poblacin. En este momento
la poblacin no cambia, ya que no presenta flujos de entrada o salida.
E.1.2. Agregar un flujo, en este caso de entrada. Seleccionar el icono de flujo (

) dando

un clic sobre l. Posicionar el mouse a la izquierda del bloque que ya se tiene y hacer un
arrastre hasta hacer contacto con dicho bloque (asegurarse que el stock se coloree al contacto).

Aspectos generales

Si no se hace contacto los dos bloques quedan desconectados, en cuyo caso se recomienda
eliminar el flujo con la herramienta cartucho de dinamita. Para esto dar un clic sobre esta
herramienta (la tercera), despus ir al centro del bloque a eliminar y dar un clic, presionado el
Mouse hasta que desaparezca.
Ponerle el nombre de nacimientos a este flujo.

Figura 1.4. Modelos con un stock y flujo.

El flujo consiste de un tubo hueco con una flecha en un extremo y una nube en el otro. El tubo
es para representar el acarreo del flujo de materia o de informacin, estos son regulados por las
pequeas espitas en la parte superior de cada tubo (simbolizado por una estructura en forma de
T). El crculo colgado al fondo de la espita es el receptculo para especificar la lgica que
deber regular la posicin de la espita y de ah el volumen del flujo. De manera conjunta, el
crculo y la espita controlan la tasa de flujo.
Con respecto a las nubes que se presentan, estas se utilizan para indicar que nada viene o va a
parar a las nubes, es una forma de indicarle al modelador que debe cuidar los orgenes o
destinos del flujo. Tambin sirven para delimitar las fronteras del sistema.

Aspectos generales

Faltan dos bloques de construccin, el crculo al que se le llama convertidor ya que


comnmente se utiliza para convertir cosas que van a entrar de alguna forma. Dependiendo
de la seal generada por el convertidor, una espita se puede abrir o cerrar. Y la otra es el
conector, que se platicaran conforme aparezcan en la modelacin.
3. Definir las relaciones algebraicas del modelo. Como ya se dijo, en STELLA hay dos formas de
visualizar un modelo: en el modo de mapeo (dibujo) y en el de datos. Para cambiar de modo
basta con dar un clic sobre el globo

o sobre la

como un

switch.

Arriba

de

estos smbolos se encuentran unas flechas (hacia arriba y hacia abajo), que permiten navegar
entre las diferentes capas o niveles de Stella.
Al dar clic sobre el globo aparece la siguiente pantalla

Figura 1.5. Interfaz de datos.

Se debe notar el signo ? en el stock y en el flujo. Esto indica que no se han dado valores
iniciales o que no se han definido las correspondientes relaciones matemticas. Para esto se
debe establecer el escenario a modelar. Para este ejemplo se propone una pequea ciudad con
5000 habitantes, donde cada ao, por lo menos en los ltimos aos, nacen unos 150 nios al
ao. La tarea es estimar que le sucede a esta poblacin en los siguientes aos.
Dar un doble-clic sobre el flujo nacimientos, con lo que aparece la siguiente caja de dilogo

Aspectos generales

Figura 1.6. Valores iniciales o ecuaciones de un flujo.

En la esquina superior izquierda se tiene el nombre del flujo, despus aparece la opcin para
hacer el flujo bi-direccional (por default, estos son unidireccionales). Algunos autores
consideran buena prctica manejar todos los flujos como bidireccionales, lo que garantiza que
no se tomen valores negativos en el flujo (en este ejemplo, es absurdo pensar en nacimientos
negativos).
En el lado izquierdo al centro se tiene una lista titulada Required Inputs. Que contiene una
lista de los elementos que se pueden utilizar en la ecuacin (en esta caso todava esta vaca). Al
centro se tiene una calculadora que permite ingresar nmeros u operadores aritmticos para
generar ecuaciones, aunque tambin se puede hacer con el teclado. A la derecha de la
calculadora se tiene una lista de funciones (simples o complejas), Builtins, que se pueden
utilizar en la definicin de ecuaciones.
Al fondo se tiene una caja de dilogo para definir la ecuacin de este flujo. En este ejemplo se
teclea el valor de 150.
Dar un clic sobre el botn Document, para que aparezca un campo texto donde se puede
documentar el flujo, de manera que otros puedan seguir la lgica de modelacin.
Despus de hacer esto desaparece el signo de interrogacin, lo que indica que la variable o flujo
estn definidos.

Aspectos generales

Considerar, ahora, la variable poblacin, para esto dar un doble clic sobre ella, para que
aparezca la siguiente pantalla.

Figura 1.7. Valores iniciales de un stock.

Es importante notar la diferencia con relacin al dilogo del flujo. En la parte superior hay una
lista de los posibles tipos de stock, los tres ltimos son variaciones del primer tipo. La opcin
Non-negative obliga a que la variable tome valores positivos o cero. Luego se tiene la lista
Allowable Inputs que lista las variables que se pueden o no utilizar en la definicin de los
valores iniciales del stock.
Al fondo de la pantalla se tiene una caja de dilogo que solicita el valor inicial del stock (no se
pide una ecuacin como en el flujo). Los stocks solo pueden cambiar por flujos de entrada o
salida. En este caso se tiene un valor inicial de 5000. Entonces hay que dar el valor de 5000,
tambin se puede (o se debe) documentar la definicin dando un clic sobre el Document.
Cuando ya no se tienen signos ? el modelo est listo para correr. Sin olvidarse de generar un
bloque donde se vean los resultados, en este caso seleccionar el icono de grficos y ponerlo
en el rea de trabajo. Una vez que se tiene el grfico dar un doble clic sobre l para editar sus
opciones, apareciendo la siguiente pantalla.

Aspectos generales

Figura 1.8. Caractersticas de un grfico.

En la caja de la izquierda aparece una lista de todas las variables en el modelo. La caja de la
derecha contiene todas las variables que se hayan seleccionado para incluir en el grfico. Las
variables se pueden mover fcilmente de Allowable a Selected, ya sea con un doble clic o
seleccionando la variable y dando un clic sobre el botn de las flechas de direccin. Tambin se
le puede dar un ttulo al grfico, en la caja Title.
El modelo ahora est listo para correr. Para esto, dar un clic sobre el corredor de la esquina
inferior izquierda de la ventana de trabajo y luego seleccionar el botn play.
Como resultado aparece la siguiente grfica

Figura 1.9. Resultados, modelo con un flujo de entrada.

Aspectos generales

Se observa que nacimientos, identificado por el nmero 1 es constante, en un valor de 150,


mientras que la poblacin crece de manera constante, aparentemente sin lmite. Entonces, hace
falta una variable de salida, para lo cual se le agrega al modelo un flujo que salga del stock
poblacin.

El modelo queda como se muestra en la figura 1.10.

Figura 1.10. Modelo con flujo de entrada y salida.

Se debe notar el signo ? en el flujo muertes. Pero se tiene el dato de que 75 personas
(principalmente ancianos) mueren cada ao.

En las propiedades del flujo definirlo como biflow y en la caja de ecuacin teclear el valor 75,
adems de documentar la variable con la opcin Document.

El siguiente paso es dar un doble clic sobre el grfico para agregarle la variable muertes (como
se mostr en la figura 8). Entonces se tiene un grfico con 3 variables, cada una identificada por
un color diferente y con su propia escala, figura 1.11.

10

Aspectos generales

Figura 1.11. Resultados, modelo con un flujo de entrada y uno de salida.

Es importante notar que por cuestiones de escala no se diferencian los nacimientos de las
muertes, por lo que se recomienda cambiar la escala.
Para esto, dar un doble clic sobre la grfica y despus seleccionar las dos variable a escalar (con
clic y con Ctrl o Shift clic). Despus dar un clic sobre la doble flecha vertical que se presenta a la
derecha de alguna de las variables seleccionadas, con lo que se permite definir la escala de las
variables, en este caso Min = 0 y Max = 200.

Figura 1.12. Dilogo para modificar la escala de las variables


en un grfico.

11

Aspectos generales

Al correr el modelo nuevamente se aprecia el cambio de escala, figura 1.13.

Figura 1.13. Resultados, con cambio de escala.

En esta ltima grfica se puede apreciar que el valor de nacimientos es mayor que el de
muertes, de ah la tendencia de la poblacin a crecer.

12

Captulo 2
Modelos ms comunes, con STELLA
En este captulo, a manera de ejercicio se muestran algunos de los modelos ecolgicos ms
comunes. Algunos de los cuales se revisan con ms detalle en el siguiente captulo.
2.1. Exponencial

Figura 2.1. Modelo exponencial en Stella.

13

Modelos ms comunes

Poblacin(t) = Poblacin(t - dt) + (nacimientos) * dt


INIT Poblacin = 10
INFLOWS:
nacimientos = Poblacin*Tasa_de_nacimientos
Tasa_de_nacimientos = 0.03
Cdigo en Stella del modelo exponencial

Este es un modelo con tendencia a crecer de manera no lineal, ya que la entrada se construye
con el producto de la poblacin y de la tasa de nacimientos.

Figura 2.2. Curva de crecimiento exponencial.

2.2. Modelo logstico

La modificacin del modelo anterior conduce a una versin del modelo logstico, como se
muestra a continuacin.

14

Modelos ms comunes

Figura 2.3. Modelo logstico.

En este modelo hay un autocontrol del crecimiento, por efecto del mismo tamao poblacional,
cuyo comportamiento se aprecia en el siguiente grfico.

Figura 2.4. Grfico de crecimiento logstico

Poblacin(t) = Poblacin(t - dt) + (nacimientos) * dt


INIT Poblacin = 10
INFLOWS:
nacimientos = Poblacin*Tasa_de_nacimientos
Tasa_de_nacimientos = GRAPH(Poblacin)
(2.00, 0.06), (21.8, 0.0573), (41.6, 0.0549), (61.4, 0.0534), (81.2, 0.0507), (101, 0.0468), (121,
0.0423), (141, 0.036), (160, 0.0273), (180, 0.0198), (200, 0.00)
Cdigo del modelo logstico.

15

Modelos ms comunes

Figura 2.5. Valores de Tasa de nacimiento. Hay que seleccionar


la variable Poblacin y despus dar un clic en el botn To
Graphical Function.

Cuando aparece el dilogo del grfico se definen los lmites de poblacin de 2 a 200 y la tasa
de 0 a 0.06. Se puede hacer un arrastre de la esquina superior izquierda a la esquina inferior
derecha, o teclear los valores directamente. Es importante considerar el valor de Data Points.

Figura 2.6. Definicin de valores en Graph.

2.3. Otra versin del modelo logstico, se obtiene a partir de su definicin

N = R*N*(1 -

N
)
K

Figura 2.7. Logstico segunda versin.

16

Modelos ms comunes

N(t) = N(t - dt) + (DN) * dt


INIT N = 10
INFLOWS:
DN = R*N*(1-N/K)
K = 100
R = 0.1

Cdigo del modelo logstico, segunda versin.

Figura 2.8. Grfico de la ecuacin logstica

Notar la escala del eje X, que va de 0 a 120. Esto se logra con RUN.

Figura 2.9. Seleccionar especificaciones de corrida.

La opcin Run Specs despliega una caja de dilogo que permite modificar los 12 tiempos
(meses) que por omisin se ejecutan.

17

Modelos ms comunes

Figura 2.10. Opciones de corrida. Notar los


valores de From, To y DT.

Para este modelo se definen los valores From: 0, To: 120 y DT =1.

Se pueden comparar diferentes valores de las variables incluidas en el modelo. En este caso
diferentes valores de R (0, 0.5, 1.0, 1.5 y 2.0)

Figura 2.11. Resultado de 4 corrida a la


vez.

Esto se logra con la opcin Sensi Specs de RUN. Desplegndose la siguiente caja de dilogo

18

Modelos ms comunes

Figura 2.12. Dilogo de especificaciones de


sensibilidad.

Es importante seleccionar las variables a trabajar, definir el # de corridas, el tipo de


variacin, definir el valor inicial (Start) y el final (End), y asegurarse de dar un clic en el botn
Set. Para ver los resultados es importante mandarlos a una grfica (Graph) o a un cuadro
(Table).

2.4. Cuatro modelos bsicos, en la modelacin dinmica


Estos modelos se repiten constantemente en diversos procesos de reas tan diferentes como la
ingeniera, biologa e incluso en ciencias sociales. De ah la importancia de revisarlos a detalle.

2.4.1. Modelo estmulo-respuesta


En este caso, un flujo de entrada proporciona un estmulo para el cambio en el stock. En el
ejemplo, la variable de estado Poblacin tiene un flujo de entrada Inmigracin neta que no
depende de ninguna de ninguna variable de estado
La poblacin se mide en nmero de individuos. La inmigracin neta es una medida del nmero
de personas por perodo de tiempo. Las unidades del factor de inmigracin aqu son iguales a
los de inmigracin neta.

19

Modelos ms comunes

Figura 2.13. Modelo estmulo-respuesta.

Figura

2.14.

Grfico

del

Modelo

estmulo-

respuesta.

Poblacin(t) = Poblacin(t - dt) + (Inmigracin_neta) * dt


INIT Poblacin = 10
INFLOWS:
Inmigracin_neta = Factor_de_inmigracin
Factor_de_inmigracin = GRAPH(time)
(0.00, 0.00), (8.33, 0.16), (16.7, 0.328), (25.0, 0.496), (33.3, 0.672), (41.7, 0.84), (50.0,
0.976), (58.3, 1.12), (66.7, 1.27), (75.0, 1.38), (83.3, 1.47), (91.7, 1.53), (100.0, 1.59)
Cdigo del modelo estmulo-respuesta.

NOTA: La variable tiempo es una variable del sistema que se puede teclear directamente, al
definir el conjunto de valores de la variable Inmigracin_neta.

20

Modelos ms comunes

Un aspecto interesante es revisar la consistencia de las unidades en el modelo. De la ecuacin:


Poblacin(t) = Poblacin(t - dt) + (Inmigracin_neta) * dt ,y considerando que las unidades de
inmigracin neta son iguales a las del factor de inmigracin se tiene entonces.
Nmero de individuos = nmero de individuos + numero de individuos por periodo de tiempo *
periodo de tiempo
Individuos = individuos + individuos/tiempo * tiempo = individuos + individuos = individuos

2.4.2. Modelo auto-referencia


En este modelo el stock influye en su propio flujo de entrada

Figura 2.15. Modelo de auto-referencia.

Figura 2.16. Grfico del modelo de


auto-referencia.

21

Modelos ms comunes

Poblacin(t) = Poblacin(t - dt) + (Tasa_nacimiento) * dt


INIT Poblacin = 10
INFLOWS:
Tasa_nacimiento = Poblacin*Tasa_neta_de_nacimiento
Tasa_neta_de_nacimiento = GRAPH(Poblacin)
(0.00, 0.06), (8.33, 0.053), (16.7, 0.045), (25.0, 0.04), (33.3, 0.037), (41.7, 0.032), (50.0,
0.027), (58.3, 0.021), (66.7, 0.018), (75.0, 0.012), (83.3, 0.008), (91.7, 0.003), (100.0, 0.00)
Cdigo del modelo auto-referencia.

2.4.3. Modelo buscando objetivo


En este caso una poblacin destino es el objetivo y la diferencia entre la poblacin actual y la
destino conduce la poblacin hacia el destino. Aqu explcitamente se busca llegar a un valor
predefinido. Por ejemplo, el decaimiento de una sustancia radioactiva (el destino es radiacin
cero), el enfriamiento de un tabique caliente (el destino es la temperatura ambiente) o la
difusin de un gas concentrado (el destino es la concentracin de un cuarto, para controlar el
escape del gas de su contenedor).

Figura 2.17. Modelo buscando objetivo.

22

Modelos ms comunes

Figura

2.18.

Grfico

del

modelo

buscando objetivo.

Poblacin(t) = Poblacin(t - dt) + (Tasa_nacimiento) * dt


INIT Poblacin = 10
INFLOWS:
Tasa_nacimiento = Tasa_neta_de_nacimiento*(Poblacin_destino-Poblacin)
Poblacin_destino = 100
Tasa_neta_de_nacimiento = 0.03

Cdigo del modelo buscando-objetivo.

Aqu el flujo de entrada depende no slo del stock sino tambin de la poblacin destino definida
exgenamente. En este modelo, conforme la poblacin crece, la diferencia entre la poblacin y
la destino se aproxima a cero.

NOTA: En este modelo, como en cualquier otro, es importante cuidad la congruencia de


unidades.

23

Modelos ms comunes

2.4.4. Modelo Goal-Setting


Este es el ms sofisticado de los cuatro modelos bsicos. Aqu la variable de estado Poblacin se
involucra en la definicin de la densidad poblacional, junto con otras fuerzas externas. Donde la
densidad poblacional se calcula simplemente como el cociente de nmero de individuos por
rea.
Densidad poblacional = Poblacin/rea variable

Figura 2.19. Goal-Setting.

Figura 2.20. Grfico del modelo Goal-Setting.

24

Modelos ms comunes

Poblacin(t) = Poblacin(t - dt) + (Tasa_nacimiento) * dt


INIT Poblacin = 10
INFLOWS:
Tasa_nacimiento = Tasa_neta_de_nacimiento*(Poblacin_destino_variale-Poblacin)
Densidad_Poblacional = Poblacin/Area_variable
Tasa_neta_de_nacimiento = 0.03
Area_variable = GRAPH(time)
(0.00, 42.9), (8.33, 43.1), (16.7, 43.5), (25.0, 44.4), (33.3, 45.5), (41.7, 46.7), (50.0, 48.1),
(58.3, 49.9), (66.7, 51.7), (75.0, 53.3), (83.3, 55.5), (91.7, 58.0), (100.0, 60.0)
Poblacin_destino_variale = GRAPH(Densidad_Poblacional)
(0.00, 99.5), (0.833, 96.5), (1.67, 93.5), (2.50, 90.0), (3.33, 86.5), (4.17, 82.0), (5.00, 77.5),
(5.83, 68.5), (6.67, 59.0), (7.50, 50.0), (8.33, 37.0), (9.17, 21.0), (10.0, 0.00)

Cdigo del modelo goal-setting.

25

Modelos ms comunes

26

Captulo 3

Experimentacin (simulacin) en Stella

Es comn que al desarrollar un modelo surjan preguntas del tipo: qu pasa si ? Y entonces se
pruebe o experimente con el modelo, cambiando los valores iniciales, las tasas de cambio o
inclusive viendo que pasa si se hace que los valores de una variable cambien en un intervalo
definido. A esto actualmente se le conoce como experimentacin, aunque en al algn tiempo se
le llam simulacin. Aspecto que se revisa en este captulo mediante algunos ejemplos.

3.1. El Bio-Bomb
Cada especie por si misma es un potencial bio-bomb, ya que si se le da suficientes recursos la
poblacin puede simplemente crecer hasta cubrir la tierra.

27

Experimentacin (simulacin) en Stella

3.1.1. Formulacin
La mayora de los modelos poblacionales son simplemente materia de vida y muerte. Esto es, la
tasa de crecimiento del nmero de miembros de la especie depende solamente del balance de
las tasas de nacimiento y de muerte. En el primer problema estas tasas se consideran
constantes. Por ejemplo, considere una poblacin de conejos, si del 25% de la poblacin nace
un solo descendiente al ao, entonces la tasa de crecimiento debido a nacimientos ser del
0.25*N por ao, donde N es el nmero de conejos. De hecho, la muerte tambin es importante
y la tasa de muerte puede depender de otra constante. Por ejemplo, si el 5% de los conejos
muere por ao la tasa ser -0.25*N.
De manera ms general, se puede asumir que la tasa de nacimientos constante es b y la tasa
constante de muertes es d, por lo tanto el cambio total por ao en la poblacin es.
dN
= bN dN
dt

. . . . . . (1)

3.1.2. Anlisis del modelo


Las constantes b y d son parmetros de control del sistema. En la ecuacin (1) se ve que lo
nico que afecta el crecimiento poblacional es la diferencia entre las tasas de natalidad y
mortalidad, (b-d)*N. De aqu que el modelo se puede escribir como.
dN
= rN
dt

. . . . . . (2)

donde r = b d. De tal forma que ahora se tiene un solo parmetro, la tasa neta de
crecimiento, r. En modelacin siempre es til reducir el nmero de parmetros verdaderos a su
nmero ms pequeo, para no malgastar esfuerzo en soluciones aparentemente diferentes.
Una vez que se simplifica el modelo se tiene la pregunta crucial: cul es el comportamiento del
sistema entero para diferentes valores de r y de la poblacin inicial No?
Para contestar esta pregunta se requiere un grfico que muestre el significado de la ecuacin 2.

28

Experimentacin (simulacin) en Stella

3.1.3. Conjunto direccin


Para sistemas de una sola variable, una representacin til est dada por el conjunto direccin.
El mensaje importante de la ecuacin 2 es que si se conoce la poblacin en cualquier
tiempo entonces se conoce como cambia localmente en el tiempo.
La inspeccin de conjuntos direccin da una visin inmediata de cmo el sistema evoluciona.

3.1.4. Solucin del problema en Stella


Stella es un software que permite resolver sistemas de ecuaciones diferenciales sin ver las
ecuaciones y cuenta con una sintaxis propia. En Stella, el modelo (1) queda como

Figura 1. Modelo con b y d

Para resolver se necesita un valor inicial de poblacin, as como las tasas constantes de
natalidad y mortalidad (b y d).
El modelo (2) requiere solamente de la tasa r (b-d), por lo que su representacin es ms
sencilla, como se muestra a continuacin.

Figura 2. Modelo con r

29

Experimentacin (simulacin) en Stella

Poblacin(t) = Poblacin(t - dt) + (Tasa_crecimiento) * dt


INIT Poblacin = 10
INFLOWS:
Tasa_crecimiento = Poblacin*Tasa_crecimiento_constante
Tasa_crecimiento_constante = 0.2
En este modelo se resuelve el conjunto direccin con r = 0.2 y No = 0, 8, 16, 24, 32 y 40.

Figura 3 Corridas mltiples con r = 0.2.

3.1.5. Puntos fijos y estabilidad


Otra forma de visualizar este problema es a travs de puntos fijos y estabilidad. Un punto
interesante es No = 0, ya que no se genera nada (en otras palabras, no se puede sacar algo de
la nada). El punto interesante es, hasta dnde el punto fijo es estable o no, la estabilidad se
aprecia cambiando un poco las condiciones iniciales: 1) se regresa al punto fijo (estable) o 2) se
aleja del punto fijo (inestable).
As que la forma de investigar estos sistemas consiste en primero encontrar todos los puntos
fijos en el problema (esto es, los valores de N donde todas las ecuaciones se igualan a cero) y
entonces se investiga su estabilidad.

30

Experimentacin (simulacin) en Stella

Para el problema del Bio-bomb es claro que No = 0 es un punto fijo inestable cuando la tasa, r,
es positiva, pero estable si la tasa de crecimiento es negativa. Para el problema de decaimiento
todas las soluciones terminan en N = 0 sin importar donde inicien.
Para esto se muestra el modelo con r = -0.2 y No = 0, 8, 16, 24, 32 y 40.

Figura 4 Corridas mltiples con r = 0.2. y r = -0.2.

3.2. Lmites al crecimiento: la ecuacin logstica


3.2.1. Formulacin del modelo
En una poblacin real se puede esperar que la poblacin se incremente hasta un valor de
capacidad de carga, donde la tasa de crecimiento se hace ms lenta y la tasa de mortalidad se
empareja a la tasa de nacimientos, cmo sucede esto no es muy claro pero sucede. Una forma
simple de modelar esto es modificar la tasa de crecimiento, quedando como:

r ( N ) = r0 (1

N
)
K

Donde:
r0 = tasa que se puede esperar para poblaciones pequeas
K = capacidad de carga

31

Experimentacin (simulacin) en Stella

Complicando un poco ms el modelo se tiene

dN
K
= r0 (1 ) N
N
dt

Donde se nota que la tasa de crecimiento depende tanto de la poblacin como del cuadrado de
la poblacin. Este es ya un problema no-lineal y ms difcil de resolver analticamente.
La solucin es Stella se presenta a continuacin

Figura 5. Lmites al crecimiento.

Figura 6. Grfico de lmites al crecimiento.

N(t) = N(t - dt) + (Cambio) * dt


INIT N = 10
INFLOWS:
Cambio = r0*(1-N/K)*N
K = 100
r0 = 0.1

32

Experimentacin (simulacin) en Stella

Este modelo tiene algunas interrogantes interesantes, como:


a. Son N = 0 y N = K dos puntos fijos?
b. Visualizar el conjunto direccin para este modelo con r = 0.2 y K = 100, discutiendo la
estabilidad de los dos puntos fijos. Recomendacin: realizar un grfico con t de 0 a 40 y
N de 0 a 150
c. Cmo se esperan las variaciones del modelo si se cambia la tasa de crecimiento, r, y la
capacidad de carga K?

Figura 7. Grfico con K diferente.

Figura 8. Grfico con N y K diferente.

3.3. Vida en la fase plana


Al extender los problemas a sistemas donde interactan dos variables, por ejemplo: problemas
presa-depredador, competencia de dos especies, modelos epidemiolgicos, osciladores nolineales, lsers y encuentros amorosos; se pueden agregar uno o ms grados de libertad
generando ms comportamientos.

33

Experimentacin (simulacin) en Stella

Por otro lado, las herramientas desarrolladas para entender sistemas 1-D ayudan a entender los
sistemas 2-D, por la belleza de la fase plana nunca ms se querr hacer grficos contra el
tiempo, sino que al estar en 2-D el truco es hacer grficos de las variables entre ellas.

3.3.1. Introduccin a los sistemas 2-D, conceptos bsicos


En un sistema 2-D se consideran sistemas dinmicos que se observan como:

dx
= f 1 ( x, y )
dt
dy
= f 2 ( x, y )
dt

donde x e y son las dos variables de inters. Los ejemplos pueden incluir: conejos-hierba;
huspedes-parsitos o pueden ser Romeo y Julieta. Los conceptos ms importantes a entender,
con respecto a los sistemas 2-D (y los sistemas dinmicos en general), son:
-

La fase plana

Flujo(s) sobre la fase plana

Retratos de fase

Puntos fijos

Estabilidad

La fase plana es un grfico donde los ejes son justo las variables x e y, de manera que en vez
de hacer grficos de conejos o hierbas contra el tiempo, es ms importante ver el
comportamiento de conejos vs hierba.
Si se tienen 3 variables, el volumen a obtener se conoce como un espacio fase. El flujo sobre
la fase plana es exactamente la misma idea de la construccin de conjuntos direccin. Las
soluciones individuales simplemente trazan trayectorias en el espacio fase.
En general, donde las funciones de cambio no son cero el sistema evoluciona en el tiempo sobre
varias trayectorias, aspecto ms interesante que el comportamiento alrededor de los puntos fijos

34

Experimentacin (simulacin) en Stella

donde las cosas no cambian. En un punto fijo el aspecto ms interesante es ver que sucede si al
empezar cerca de un punto fijo si se pueden tener atractores estables o repeledores inestables,
en problemas 2-D se puede analizar aspectos como los que se presentan en las siguientes reglas
bsicas
1. Formular un problema 2-D interesante
2. Encontrar los puntos fijos y categorizar su estabilidad
3. Esquematizar una imagen de fase
4. Usar Stella para resolver para unas pocas trayectorias cruciales
Cuando se hace esto, se cuenta con un pintura que dice exactamente como el sistema entero
evoluciona en el tiempo. Muchas veces se puede conjeturar qu suceda an sin resolver las
ecuaciones.

3.4. Una miscelnea de puntos fijo


En general hay cuatro comportamientos cualitativos diferentes (ms uno que no es un punto
fijo), estos son:
-

Nodos estables y espirales

Nodos inestables y espirales

Centros neutrales

Puntos silla

Nodos estables o espirales estables

Centro neutral

35

Experimentacin (simulacin) en Stella

(Atractores)

Nodos o espirales inestables

Punto silla

(Repeledores)

3.5. Comentarios sobre Stella


Es una herramienta de modelacin, por computadora, que capacitan virtualmente a cualquier
persona para desarrollar sistemas complejos, para efectivamente comunicar diferentes
supuestos entre todos los participantes.
Adems, ayuda a transladar modelos mentales en rigurosos modelos computacionales, que
enganchen al modelador y a otros en el proceso de aprendizaje. Este proceso es dinmico
tambin en el intercambio de datos e informacin entre el grupo de modelacin y los usuarios.
Con el incremento en la experiencia del modelador, para una amplia de problemas, la
semejanzas entre estructuras de diferentes sistemas pueden ser aparentes al modelador. Por
ejemplo muchos modelos exitosos de la dispersin de enfermedades se han desarrollado
utilizado analogas con la qumica. Entonces, el uso de analogas puede reducir el esfuerzo para
desarrollar modelos. Para esto se identifica la estructura de un problema y se compara con la
estructura de otros sistemas, notando sus diferencias y semejanzas.

36

Captulo 4
Comentarios finales sobre la modelacin
dinmica

El objetivo es proporcionar las herramientas bsicas para modelar y entender los sistemas
dinmicos lineales simples y algunos no tan simples.
Es una gua para adquirir prctica y guiarse en los trucos bsicos, de tal forma que se adquiera
capacidad para:

Reconocer un sistema dinmico al verlo

Visualizar el comportamiento del sistema entero con pocos trucos

Resolver instancias especficas utilizando Stella

Entender los puntos fijos de un sistema y su estabilidad

Sentirse a gusto en el espacio fase

Darle una probadita al caos real

37

Comentarios finales

De hecho muchos sistemas cambian con el tiempo y en el espacio, aunque en este caso slo se
considera el cambio en el tiempo. Por ejemplo, se habla del nmero de animales en una
poblacin, pero no de cmo estos se distribuyen en el espacio.
En concreto, cuando se habla de sistemas dinmicos se hace referencia a sistemas de
ecuaciones que describen como cada variable (digamos cada especie) cambia con el tiempo.

dx1
= f1 ( x1 , x 2 , . . . , x n , t)
dt

dx 2
= f 2 ( x1 , x 2 , . . . , x n , t)
dt

.
.
.
dx n
= f n ( x1 , x 2 , . . . , x n , t)
dt

Supngase que las especies estn dadas por las x1, x2, . . ., xn y las f1, f2, . . ., fn indican qu tan
rpido cambian las variables con el tiempo.
En general, las tasas de cambio dependen de los valores de otras variables y esto es lo hace
interesante este tema. Y si la dependencia es de forma no-lineal esto hace las cosas realmente
ms interesantes.
Un aspecto importante es que plantear las ecuaciones, an sin contar con su solucin siempre
dice algo de cmo funciona y evoluciona un sistema.
Por ltimo, es importante recordar los pasos bsicos requeridos para crear y entender modelos
cuantitativos.

38

Comentarios finales

1. Formular el modelo
2. Analizar el modelo
3. Resolver el modelo (ecuaciones, valores iniciales, etc.)
4. Entender el modelo
5. Aceptar (o en algunos casos rechazar) el modelo

39

Comentarios finales

40

Bibliografa comentada

Bruce Hannon and Matthias Ruth, 1997, Modeling Dynamic Biological Systems, Springer
Verlag, New Cork, Inc, 399 pp.
Este es un libro enfocado al manejo de Stella, con ejemplos de aplicacin en Biologa general,
todos ellos relativamente simples. Incluye un CD con los archivos en formato Stella (.STM) de
todos los ejemplos presentados.

Bruce Hannon and Matthias Ruth, 2001, Dynamic Modeling, 2 edicin, Springer Verlag,
New Cork, Inc, 409 pp.
Este es un libro enfocado al manejo de Stella, con ejemplos de aplicacin en diferentes reas
del conocimiento. Incluye un CD con los archivos en formato Stella (.STM) de todos los
ejemplos presentados.

41

Comentarios finales

Hall, A. S. Ch., and Day, W. J., 1977, Ecosystem Modeling in Theory and Practice: An
introduction with Case Histories, John Wiley and Sons, U.S.A., 684 pp.
Es un clsico de la modelacin, est enfocado a los principios tericos y por su fecha de
publicacin no se apega a ningn software especfico, lo cual es ms que ser un defecto es una
virtud. Es lectura obligada para quienes se inician en el maravilloso mundo de la modelacin
matemtica.

Leslie A. M., 1997, The First Step, Prepared for the MIT System Dynamics in Education
Project under the supervisin of Dr. Jay W. Forrester., 59 pp.
Material accesible desde el sitio oficial de Stella, que describe de manera sencilla como
empezar a trabajar con Stella, si hay algn pero es que est enfocado al rea de la educacin.

Levins, R., 1966. The strategy of model building in population biology, Amer, Sci.,
54:421-431
Tambin e sun clsico que vale la pena revisar como informacin general de cmo se enfocaba
este vasto campo de la modelacin, hace un poco ms de 40 aos.

Matthias Ruth and James Lindholm, 2002, Dynamic Modeling for Marine Conservation,
Springer Verlag, New Cork, Inc, 449 pp.
Este es un libro enfocado al manejo de Stella, con ejemplos de aplicacin en sistemas marinos,
los modelos no son muy sencillos pues en su mayora manejan arreglos de variables de estado
y el cdigo que presenta no permite re.hacer los ejemplos sin problemas.

42

Comentarios finales

Voinov, A., 1999, Simulation Modeling. On-Line Course,


http://www.likbez.com/AV/Simmod.html
En este sitio se encuentra un curso on-line donde se revisan los aspectos tericos bsicos de la
modelacin matemtica, incluye tareas y actividades que le permiten al usuario monitorear su
propio grado de avance y aprendizaje.

Wiegert, G. R., 1996, Compartment Models, pp. 345-379, en Fry, J.C.(editor), Biological
Data Analysis, Oxford University Press.
Es un libro que en cada captulo revisa un tema diferente del anlisis de datos biolgicos, lo
interesante de este captulo es la forma en que maneja el concepto de dividir un problema
grande en pequeos compartimientos o mdulos.

enlinea.zaragoza.unam.mx/biomat
Este es un sito desarrollado en la FES Zaragoza, donde se presentan aspectos bsicos de la
modelacin y se rehacen varios ejemplos de la literatura, en software como: Stella, Octave y
Netlogo.

43

Comentarios finales

44

Stella , software para modelacin dinmica en Biologa

1. Edicin

Se imprimi en el Laboratorio de Aplicaciones


Computacionales de la FES Zaragoza

Con un tiraje de 50 ejemplares y su edicin en formato


electrnico para difundirlo en los sitios:

www.sisal.unam.mx
enlinea.zaragoza.unam.mx/biomat

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO


FACULTAD DE ESTUDIOS SUPERIORES ZARAGOZA
UMDI-SISAL, FACULTAD DE CIENCIAS

También podría gustarte