Está en la página 1de 4

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERÍA

ESCUELA PROFESIONAL DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS


CURSO: DINÁMICA DE SISTEMAS
CICLO DE ESTUDIOS: SÉTIMO | SEMESTRE ACADÉMICO: 2020 - VERANO

PRÁCTICA N° 03: “FUNCIONES EN DYNAMO”


I. CONTENIDO

En la presente práctica se presentan ejercicios sobre el uso de funciones en Professional Dynamo, así como
su sintaxis. En la parte final de la práctica se listan una serie de ejercicios propuestos para desarrollar.

II. OBJETIVOS ESPECÍFICOS

 Usar tablas de información para la construcción de modelos de dinámica de sistemas.


 Conocer las funciones no lineales de los modelos de dinámica de sistemas.
 Implementar modelos con funciones en Professional Dynamo.

III. DESARROLLO

Para mostrar la forma como se definen en DYNAMO las funciones no lineales, desarrollaremos el modelo de
Población de ballenas (Tomado del libro de Javier Aracil).

Se trata de estudiar la conservación de una determinada población, por ejemplo la de ballenas, sometida a
una extinción importante por acción de la pesca o de la caza. La evolución de la población de ballenas
depende de los nacimientos, las muertes naturales, y las muertes por pesca.

Por otra parte, y simplificando el modelo, se supone que la mortalidad debida a la pesca es proporcional a la
población total, es decir:

𝑴𝑷𝑬 = 𝑲 × 𝑷𝑶𝑩

En donde MPE representa la mortalidad debido a la pesca, POB es la población de ballenas y K es una
constante de proporcionalidad.

Existe un límite superior para esta mortalidad fijado por la capacidad de procesamientos y almacenaje de los
productos balleneros por parte de la flota pesquera; por lo tanto se tiene que

𝑴𝑷𝑬 = 𝐦𝐢𝐧⁡(𝑲 × 𝑷𝑶𝑩, 𝑩𝑴𝑨𝑿)

Existe una relación no lineal entre los nacimientos y la población total de ballenas, así como también la
relación entre la mortalidad por causas naturales y la población. Esta relación se muestra en la tabla siguiente:

Tabla 1. Relación no lineal entre Población, los Nacimientos y las muertes naturales

POB NAC MNA


0 0 0
5 000 340 86
10 000 993 257
15 000 1 662 514
20 000 2 240 855
25 000 2 701 1 281
30 000 3 054 1 792
35 000 3 317 2 388
40 000 3 509 3 070
45 000 3 649 3 836
50 000 3 750 4 678

Nota: Extraído de Introducción a la Dinámica de Sistemas por Javier Aracil (1983)

Primeramente construimos el diagrama causal y luego el diagrama de Forrester.

Página 1 de 4
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS
CURSO: DINÁMICA DE SISTEMAS
CICLO DE ESTUDIOS: SÉTIMO | SEMESTRE ACADÉMICO: 2020 - VERANO

Figura 1. (a) Diagrama de influencias. (b) Diagrama de Forrester

A continuación definimos los valores de los parámetros y las ecuaciones de las variables presentes en el
modelo. Aquí básicamente nos interesa conocer la forma de definir las ecuaciones los flujos NAC y MNA las
cuales son funciones no lineales, que se obtienen de la siguiente tabla de datos:

r nac.kl=table(nact,pob.k,0,50000,5000)
r mna.kl=table(mnat,pob.k,0,50000,5000)
r mpe.kl=min((fp)*(pob.k),bmax)
n pob=10000
n time=1900
c fp=0.05
c bmax=1350
save pob,nac,mna,mpe
spec length=2000,savper=10,dt=1

FUNCIONES EN DYNAMO

⁡p, si r≥s
 CLIP(p,q,r,s)= {
q, si r<s

Ejemplo: En un modelo ecológico, la tala de árboles de los bosques (TALA.K) debe ir acompañada con
una campaña de sembrío (SEMBRIO.K) con el fin de no producir alteraciones en la naturaleza (FOREST.K).
El incumplimiento de esta regla trae como consecuencia que los bosques queden desolados, afectando
gravemente al medio ambiente (DESFOR.K)

A.CANARB.K=CLIP(DESFOR.K,FOREST.K,TALA.K,SEMBRIO.K)

Ejemplo: En un modelo de narcotráfico, los agricultores que se dedican al sembrío de hoja de coca en la
selva (CULCOCA.K), lo hacen generalmente por el precio que se les paga por su cultivo (PREPROD.K), ya
que lo que se les paga por sus productos: arroz, cacao, café, etc. no es rentable. (PRECPAG.K).

A.CCOCA.K=CLIP(CULCOCA.K,CULNOCO.K,PRECPROD.K,PREPAG.K)

 DELAY1(in, del)

Representa un retraso de material de primer orden. Implica siempre la realización de una acumulación
de material.
in: Puede ser una variable de flujo, auxiliar o de nivel.
del: Representa el tiempo de retraso. Debe expresarse en unidades de tiempo.

Ejemplo: En un modelo de producción de alimentos, un nivel puede representar la cantidad de productos


en la región. La cosecha mensual representa un flujo de entrada de ese nivel. La cosecha de papas, por
ejemplo, conlleva un retraso de material de 5 meses desde la siembra del producto hasta la cosecha.

Página 2 de 4
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS
CURSO: DINÁMICA DE SISTEMAS
CICLO DE ESTUDIOS: SÉTIMO | SEMESTRE ACADÉMICO: 2020 - VERANO

R COSECHA.KL=DELAY(SIEMBRA.KL,5)

 DELAY3(in, del)

Representa un retraso de material de tercer orden implica siempre la acumulación de material. Es


recomendable que “del” tome valores mayores que 3.

Ejemplo: En un modelo de población, una persona desde que nace (NAC.KL) hasta que puede adquirir
la mayoría de edad, pasa por las etapas de infancia, niñez y adolescencia, hasta que se convierte en
ciudadano. Esto constituye un retraso de material de 18 años.

R CIUDA.NL=DELAY3(NAC.KL,18)

 SMOOTH(in, del)

Representa un retraso de información de primer orden.


in: Es una variable auxiliar.
del: Tiempo de retraso.

Ejemplo: En un modelo macroeconómico, para conocer la inflación anual en el país (INFANU.K), es


necesario que transcurra todo un año, entonces existe un retraso de información con una media de 12
meses.

A INFANU.K=SMOOTH(INFMEN.K,12)

 STEP(increm, tinicio)

Se utiliza para representar un incremento definido a partir de un tiempo determinado.


increm: Representa el incremento que se produce en un determinado instante de tiempo.
tinicio: Tiempo a partir del cual se inicia el incremento.

Ejemplo 1: En un modelo macroeconómico, a partir de 1995, en un país empezó a llegar ayuda


económica proveniente de fuentes externas durante tres años.

R EXT.KL=100000+ STEP(300000,1995)-STEP(300000,1998)

Ejemplo 2: En un modelo de comercialización; los pedidos que realizan los clientes (PEDCLI.K) se
incrementaron al año de empezar las operaciones de 15 000 unidades a 20 000 unidades para luego
mantenerse en esa cantidad.

A PEDCLI.K=15000+STEP(5000,12)

 MAX(p,q)

Devuelve p si p≥q o devuelve q si p<q.

 MIN(p,q)

Devuelve p si p≤q o devuelve q si p>q.

 NOISE()

Esta función devuelve números aleatorios de distribución uniforme, en el rango de -0,5 a +0,5.
Ejemplo: En un modelo estadístico, el comportamiento de una variable es aleatoria y de distribución
uniforme, en un rango de 100 a 150.

A AUX.K=100+50*(NOISE()+0.5)

Página 3 de 4
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS
CURSO: DINÁMICA DE SISTEMAS
CICLO DE ESTUDIOS: SÉTIMO | SEMESTRE ACADÉMICO: 2020 - VERANO

⁡p, si r=0
 FIFZE(p,q,r)= {
q, si r≠0

Ejemplo: En un modelo de recojo de basura, la basura producida (BASPROD.K) por la población, es


recogida (BASRECOG.K) por lo camiones recolectores, los cuales recorren la ciudad diariamente. La
diferencia entre la basura producida y la recolectada (DIF.K) indicará que si una ciudad se encuentra
limpia (LIMPIA.K) o sucia (SUCIA.K).

A DIF.K=BASURECOG.K – BASUPROD.K
A CIUDAD.K=FIFZE(LIMPIA.K,SUCIA.K,DIF.K)

 TABLE(tab, x, xmin, xmax, xinc)

Representa una variable de comportamiento no lineal que toma valores de las variables tabla tab
dependiendo de los valores de x, que varía en el rango de xmin a xmax con un incremento de xinc. Para
valores fuera del rango de [xmin, xmax] DYNAMO muestra un mensaje de advertencia (warning).

⁡p, si r=0
 SWITCH(p,q,r)= {
q, si r≠0

Ejemplo: En un modelo de accidentes de tránsito, los accidentes de tránsito (NUMACC.K) son producidos
en la mayoría de los casos por las imprudencias de los choferes, causando irreparables pérdidas
humanas y materiales, por lo tanto esto se podría evitar si los choferes tomaran conciencia de su
responsabilidad (TOMCON.K≤1). Dependiendo de esto, disminuirían el número de accidentes de tránsito
(NUMREACC.K)

A DIF.K=1-TOMCON.K
A NUMREACC.K=SWITCH(0,NUMACC.K,DIF.K)

Ejemplo: En un modelo de seguridad vecinal, la participación de la ciudadanía (PART.K) en la solución


de los problemas que aquejan a su comunidad (PROBLEM.K), es indispensable. Si participasen
activamente en ella, entonces estos problemas disminuirían (PROAQUE.K).

A DIFPART.K=1-PART.K
A PROAQUE.K=SWITCH(0,PROBLEM.K,DIFPART.K)

 RAMP(pendiente, tinicio)

pendiente: Pendiente en el comportamiento de los datos


tinicio: tiempo de inicio de la pendiente

Ejemplo: En un modelo de producción, como consecuencia de las medidas adoptadas en el año 2 005,
la demanda por el producto se ha incrementado en un 10% y se tiene previsto que esta tendencia se
mantendrá en los próximos años.

A VENTAS.K=RAMP(0.1,2005)

Ejemplo: En un modelo de recaudación tributaria, las recaudaciones por concepto de cobro de impuestos
(REGTRI.K) se están incrementando mensualmente en un 3%. Esto debido a que el proyecto que se puso
en marcha para incrementar la recaudación tributaria a partir del 2 000 está dando sus frutos.

A REGTRI.K=RAMP(0.03,2000)

Ejemplo: En un modelo de forestación, el número de árboles plantados en la ciudad (ARBPLAN,L) está


aumentando mensualmente en un porcentaje del 5%, como consecuencia de la importancia que le está
dando la población a la conservación de su medio ambiente a través del “Proyecto de forestación”
implementado por la municipalidad.

A ARBPLAN.K=RAMP(0.05,2005)

Página 4 de 4

También podría gustarte