Está en la página 1de 104

INTRODUCCIÓN AL

MODELADO Y LA
SIMULACIÓN
Unidad I
Introducción
Definiremos algunos conceptos fundamentales como:

Modelo

Sistema

Experimento y

Simulación.
Introducción
En la teoría de sistemas se diferencian dos aspectos
fundamentales, ortogonales entre sí:

Conocimiento del que se dispone acerca del comportamiento
de un sistema.

Especificación de dicho conocimiento, que puede realizarse
empleando uno u otro tipo de modelo matemático

En este tema se muestra una clasificación en cuatro niveles
del conocimiento que puede poseerse acerca de un sistema.

Esta clasificación facilita la definición de las tres actividades
fundamentales relacionadas con los sistemas: el análisis, la
inferencia y el diseño.

Describimos un marco formal para el modelado y la
simulación, en el cual se establecen unas entidades, como
son el sistema fuente, el modelo y el simulador, y también la
relación entre ellas.

De este marco formal se deriva de forma natural la definición
de conceptos básicos como son marco experimental,
simulador, validez del modelo, correción del simulador,
complejidad del modelo y simplificación del modelo, entre
otros.
Conceptos Fundamentales
Una forma de aproximarse a una disciplina es entendiendo el
significado de los términos que describen sus conceptos
fundamentales. Con este propósito se explica a continuación
el significado de términos que describen conceptos
fundamentales en el ámbito del modelado y la simulación.
Conceptos Fundamentales

Sistema
– Cualquier objeto cuyas propiedades se desean estudiar.
– → cualquier fuente potencial de datos es un sistema.

Experimento
– Proceso de extraer datos de un sistema sobre el cual se ha ejercido
una acción externa
– Una alternativa a la experimentación con el sistema real consiste en
realizar un modelo del sistema y experimentar con el modelo
Conceptos Fundamentales

Modelo
– Representación de un sistema desarrollada para un propósito
específico.
Experimentar con un modelo resulta en ocasiones menos
costoso y más seguro que experimentar directamente con el
sistema real
Formas de estudiar un sistema
Conceptos Fundamentales

Modelo mental
– Pertenecen los modelos que empleamos continuamente en
nuestra vida cotidiana para comprender y predecir el
comportamiento de los sistemas.
Conceptos Fundamentales

Modelo verbal
– El comportamiento del sistema es descrito mediante palabras. Por
ejemplo, un modelo verbal es: sí se aprieta el freno, entonces la
velocidad del coche se reduce. Los sistemas expertos son ejemplos
de modelos verbales formalizados.
Conceptos Fundamentales

Modelos físicos
– Tales como las maquetas a escala que construyen los arquitectos,
diseñadores de barcos o aeronaves, para comprobar las
propiedades estéticas, aerodinámicas, etc
Conceptos Fundamentales

Modelo matemático
– Las relaciones entre las magnitudes de interés del sistema
(distancias, velocidades, flujos, etc.) son descritas mediante
relaciones matemáticas.
Conceptos Fundamentales

Las relaciones matemáticas que constituyen los modelos son
sencillas y puede encontrarse una solución analítica del
modelo.

Sin embargo, en la mayoría de los casos los modelos no
pueden resolverse analíticamente y deben estudiarse con
ayuda del ordenador, aplicando métodos numéricos. Este
experimento numérico realizado sobre el modelo
matemático recibe el nombre de simulación.
Niveles en el conocimiento de los sistemas

El tipo de modelo más adeacuado en cada caso no depende
del sistema en sí, ni del nivel de conocimiento que se posea
sobre él, sino de las preguntas a las que se pretende
contestar mediante la experimentación con el modelo.
Niveles en el conocimiento de los sistemas
Indicaremos qué tipo de conocimiento se posee acerca del
sistema en cada nivel:

Nivel 0 – Fuente
Identificamos la porción del mundo real a modelar y las
maneras mendiante las cuáles vamos a observarlo(Sistema
fuente)

Nivel 1 – Datos
En este nivel disponemos de una base de datos de medidas y
observaciones de nuestro sistema fuente.
Niveles en el conocimiento de los sistemas

Nivel 2 – Generación
Somos capaces de recrear estos datos usando una
representación más compacta. Por ejemplo, mediante
fórmulas matemáticas o algoritmos

Nivel 3 – Estructura
Sabemos cómo recrear los datos observados en el Nivel 1
(datos) de una manera específica: en terminos de
componentes interconectado entre sí
Los modelos constituyen una formalización del conocimiento
en los Niveles 2 (generación) y 3 (estructura). Por otra parte,
esta clasificación permite definir en qué consisten los tres
tipos básicos de problemas relacionados con el conocimiento
de los sistemas: análisis, inferencia y diseño.

Al realizar el análisis de un sistema se intenta comprender el
comportamiento del sistema, existente o hipotético,
empleando para ello el conocimiento que se tiene de su
estructura.

En la inferencia sobre un sistema se intenta conocer la
estructura del sistema a partir de las observaciones que
pueden realizarse del mismo.

En el diseño de un sistema se investigan diferentes estructuras
alternativas para un sistema completamente nuevo o para el
rediseño de uno ya existente.
Entidades básicas del modelado y simulación, y su
relación
Pasos en un estudio de simulación
Pasos en un estudio de simulación
Definir por qué se estudia el sistema, qué objetivos se persigue con ello y cuáles son las
Definición del problema preguntas a contestar.

Estimar qué recursos son necesarios para llevar a cabo el estudio: dinero, personal,
Planificación del proyecto hardware de computación, software, etc.

Definición del sistema Definir qué aspectos de la realidad constituyen el sistema bajo estudio.

Formulación conceptual Desarrollar un modelo preliminar en el que se definan los componentes, sus variables
descriptivas y las interacciones entre los componentes.
del modelo

Diseño experimental Definir qué acción se va a ejercer sobre el modelo y cómo se va a medir su
preliminar comportamiento.
Pasos en un estudio de simulación
Preparación datos entrada Establecer cómo asignar valores a las variables de entrada durante la simulación.

Plantear el modelo. Describirlo empleando un lenguaje o entorno de simulación, o bien


Planteamiento del modelo programar directamente su algoritmo de simulación usando un lenguaje de
y codificación programación. Esta descripción del modelo ya puede ser simulada en el ordenador.

Analizar si el modelo opera como debiera y si la salida del modelo es representativa del
Verificación y validación comportamiento del sistema.

Diseñar un experimento que proporcione la información necesaria para poder contestar


Diseño experimental final, a las preguntas planteadas en el estudio. Ejecutar el experimento de simulación,
experimentación y análisis analizar sus resultados y extraer conclusiones.

Documentar el modelo. Documentar las conclusiones y realizar acciones (si ésta era la
Documentación y actuación finalidad del estudio).
Pasos en un estudio de simulación

Definición del objetivo
El primer paso en un estudio de simulación consiste en definir explícitamente
el objetivo del estudio. Algunos ejemplos de posibles objetivos son:
– Predecir el comportamiento del sistema bajo cierto conjunto de condiciones.
– Comparar el comportamiento de diferentes diseños alternativos del sistema.
– Analizar la sensibilidad de ciertas medidas del comportamiento del sistema
frente a varios factores.
– Calcular qué valores de determinados parámetros del mdoelo proporcionan
un valor óptimo de determinada respuesta.
Pasos en un estudio de simulación

Hipótesis de modelado
– Al plantear el modelo debe tenerse presente que la esencia del arte del
modelado es identificar el pequeño conjunto de características o
propiedades del sistema suficientes para servir los objetivos específicos
del estudio.
– La tarea de modelado implica la búsqueda de un punto de equilibrio:

el modelo debe representar los aspectos del sistema real con el grado
de detalle requerido, pero de modo que sea lo más sencillo posible.

No debe hacerse un modelo demasiado detallado, que incluya
características o propiedades que contribuyan poco o nada a la
comprensión del problema.
Una buena práctica consiste en realizar el modelo de manera
iterativa:
– Comenzar con un modelo muy simple, cuya complejidad puede
posteriormente ir aumentándose fácilmente.
– Este modelo inicial puede construirse muy rápido y puede servir de
punto de discusión sobre posteriores refinamientos en el
modelado, entendiéndose por refinamiento del modelado el
aumento en su nivel de detalle.
– La idea subyacente es que no todos los factores son igualmente
importantes para determinar el comportamiento del sistema. Se
trata de decidir qué factores son críticos (efectos de primer orden)
y cuáles no (efectos de segundo orden).
– Omitir los detalles supone introducir deliberadamente
“imperfecciones” y por tanto podría considerarse que es una mala
práctica. Sin embargo, nada más lejos de la realidad:

Solamente omitiendo los factores de segundo orden puede construirse un
modelo útil.
El aumento en el nivel de detalle debe hacerse atendiendo al impacto
que la complejidad añadida tiene sobre los resultados del estudio.

Es decir, debe emplearse el esfuerzo de modelado en la representación


de aquellos aspectos del sistema que más influencia tienen sobre los
resultados del estudio.

El impacto de las hipótesis de modelado debe estimarse
considerando el propósito específico del estudio de
simulación.
– Si el propósito es estimar de manera precisa el comportamiento
del sistema, deben evaluarse las simplificaciones considerando su
impacto sobre la medida del comportamiento.
– Si el propósito del estudio es comparar diferentes sistemas, debe
evaluarse si la simplificación afecta a todos los modelos
aproximadamente de la misma manera (los errores son
aproximaciones iguales en magnitud).
Pasos en un estudio de simulación

Planteamiento del modelo
– Existen diferentes metodologías de modelado, las cuales son
asociadas al tipo de modelo matemático que vaya a emplearse en
el estudio.
– Una característica común a la mayoría de metodologías de
modelado es que promueven que el modelo se desarrolle de
manera modular y jerárquica.
El modelado modular de un sistema se realiza siguiendo
básicamente los tres pasos siguientes:
1) Analizar la estructura del sistema e identificar sus distintas partes.
2) Describir la interacción entre las partes.
3) Describir el comportamiento interno de cada parte
independientemente de las demás.

Análisis por reducción


Modelado modular facilita:
– el planteamiento, desarrollo, verificación y validación de los
modelos,

ya que es más sencillo llevar a cabo estas tareas sobre
pequeños submodelos que sobre modelos de grandes
dimensiones.
Conceptos relacionados con la modularidad son la
componibilidad y la abstracción.

La modularidad es la capacidad de describir cada una de las
partes del modelo de forma independiente.

La componibilidad es la capacidad de describir y realizar el
ensamblaje entre las partes del modelo.

La abstracción es la posibilidad de usar cada parte del
modelo sin conocer sus detalles internos.
– La interfaz es la parte que describe la interacción del modelo con
su entorno, a la vez que aísla éste de la descripción interna del
modelo, de modo que pueden ser considerados separadamente.

– La descripción interna del modelo contiene la información acerca


de la estructura y el comportamiento.
El encapsulado de la información, consistente
en que sólo las variables pertenecientes a la
interfaz sean accesibles desde el exterior del
módulo por otros módulos (si bien todas las
variables pueden ser observadas en la
simulación del modelo).

La ocultación de la información como criterio


de diseño de los sistemas modulares facilita
las modificaciones, las pruebas y el
mantenimiento de los modelos.

A fin de facilitar su diseño y comprensión, el modelo puede,
además de modularmente, realizarse de forma jerárquica, es
decir, progresando de menor a mayor nivel de detalle en su
descripción:
– el modelo se divide en submodelos y así sucesivamente.

Esta descripción del modelo en diferentes niveles de detalle
facilita además su mantenimiento y reutilización.

La descripción modular y jerárquica del modelo conduce a
dos tipos de submodelos:
– Los submodelos primitivos o atómicos no están compuestos por
otros submodelos y describen mediante ecuaciones el
comportamiento de los componentes del proceso.
– Los submodelos compuestos o moleculares están constituidos por
otros submodelos, primitivos o compuestos, y las conexiones entre
ellos.
Pasos en un estudio de simulación
Diseño de los experimentos
El diseño de los experimentos se realiza en dos pasos diferentes
del estudio de simulación. Pasos en un estudio de simulación
– Diseño experimental preliminar. Tan pronto como sea posible,
deben seleccionarse qué medidas del comportamiento del sistema
van a usarse en el estudio, qué factores van a variarse y qué niveles
de cada uno de estos factores van a investigarse. Esta información
es relevante para el diseño del modelo.
Pasos en un estudio de simulación
Diseño de los experimentos

– Diseño experimental final. Una vez el modelo ha sido


desarrollado, verificado y validado, se revisa el diseño
experimental teniendo en cuenta el conocimiento que se ha
ganado durante el proceso de diseño, construcción, verificación y
validación del modelo.
Pasos en un estudio de simulación
Verificación y validación
– La verificación consiste en comprobar que no se han cometido
errores al describir el modelo usando un lenguaje de modelado o
al programar el algoritmo de su simulación usando un lenguaje de
programación.
– La validación consiste en comprobar que el modelo es una
aproximación “adecuada” (conforme a los objetivos del estudio de
simualción) del sistema.
Si bien la verificación y validación del modelo son análisis
conceptualmente distintos, en la práctica aparecen relacionados:

Cuando los resultados de la simulación parecen “extraños” o


erróneos, debe investigarse si es debido a equivocaciones al codificar
el modelo o a que las hipótesis de modelado no son adeacuadas al
objetivo del estudio.
Existen varios procedimientos de verificación, entre los cuales
cabe destacar los siguientes.
– Comprobar submodelo a submodelo
– Comparar con soluciones conocidas
– Realizar tests de sensibilidad.
La validación del modelo es un proceso continuado No debe perderse de vista que el
durante su diseño, desarrollo y uso. La confianza en objetivo del ingeniero dedicado
la validez del modelo va acumulándose según éste va al modelado es la realización de
demostrando su utilidad para el propósito específico modelos útiles, en un tiempo
para el cual ha sido desarrollado. razonable y con un coste
razonable.

Por este motivo, más que preguntarse en qué medida se ajusta el


comportamiento simulado al comportamiento real del sistema, es
más adecuado preguntarse en qué medida las diferencias entre el
modelo y el sistema son lo suficientemente significativas como
para afectar a las conclusiones derivadas del uso del modelo.
Tipos de modelos y sus simuladores

El planteamiento del modelo implica decidir:

Qué tipo de modelo matemático resulta más adecuado para el propósito


del estudio.
Clasificaciones de los modelos matemáticos
Dos criterios ampliamente empleados son:

Que contenga o no variables aleatorias, y

que el tiempo juegue o no un papel relevante.
Estos dos criterios dan lugar a las dos clasificaciones siguientes:

Determinista o estocástico

Estático o dinámico
Clasificaciones de los modelos matemáticos
Determinista o estocástico

Un modelo es determinista cuando todas sus variables de entrada son
deterministas, lo que equivale a decir que el valor de cada una de ellas es
conocido en cada instante. Las variables de entrada al sistema son
aquellas que describen la interacción que el entorno ejerce sobre el
sistema, entendiendo por entorno la parte del universo que no pertenece
al sistema.

Por el contrario, se dice que un modelo es estocástico cuando alguna de
sus variables de entrada es aleatoria. Puesto que las variables del modelo
calculadas a partir de variables aleatorias son también aleatorias, el
comportamiento de los modelos estocásticos debe ser analizado
empleando técnicas estadísticas.
Clasificaciones de los modelos matemáticos
Estático o dinámico

Los modelos dinámicos son aquellos en los cuales interviene
el tiempo.

Aquellos modelos en los cuales el tiempo no juega ningún
papel se denominan modelos estáticos.
Las dos clasificaciones anteriores son ortogonales entre sí, ya que
se realizan atendiendo a diferentes aspectos del modelo.

Así, pueden plantearse modelos estáticos deterministas y modelos


estáticos estocásticos, como también pueden plantearse modelos
dinámicos deterministas y modelos dinámicos estocásticos.
Clasificaciones de los modelos matemáticos
Los modelos dinámicos pueden clasificarse, atendiendo a en
qué instantes de tiempo pueden cambiar sus variables.
Clasificaciones de los modelos matemáticos

En los Modelos de tiempo discreto y Modelos de eventos
discretos el valor de las variables sólo puede cambiar en
instantes específicos, permaneciendo constante el resto del
tiempo.

A este tipo de variables se las denomina variables de tiempo
discreto.

Los cambios instantáneos en el valor de las variables se
denominan eventos.

Las ecuaciones que permiten calcular en el instante actual el
valor de las variables de tiempo discreto, a partir del valor de
dichas variables en instantes pasados, se denominan
ecuaciones en diferencias.

Los modelos de tiempo continuo se caracterizan por el
hecho de que el valor de sus variables puede cambiar de
manera continua a lo largo del tiempo.

A este tipo de variables se las denomina variables de tiempo
continuo.

La clasificación en variables de tiempo continuo o variable de
tiempo discreto se realiza atendiendo a
– si la variable puede cambiar o no de manera continua en el tiempo,
– no atendiendo al conjunto de posibles valores de la variable.

Tanto las variables de tiempo continuo como las de tiempo
discreto pueden ser de tipo real.

Sin embargo, las variables de tipo entero, Booleano o cadena
de caracteres (string) sólo pueden ser de tiempo discreto.
Los modelos de tiempo continuo pueden a su vez clasificarse
atendiendo a si contienen o no derivadas respecto a las
coordenadas espaciales.
– Modelos de parámetros concentrados
– Modelos de parámetros distribuidos
La clasificación anterior de los modelos dinámicos se
fundamenta en la siguiente clasificación de las ecuaciones.
– Las ecuaciones algebraicas son aquellas en las cuales ninguna de
las variables aparece derivada.
– Una ecuación diferencial ordinaria es aquella en la que aparecen
derivadas respecto a una única variable independiente, la cual
puede ser el tiempo o alguna coordenada espacial.
– Cuando en una ecuación aparecen derivadas respecto a más de
una variable independiente, se dice que se trata de una ecuación
en derivadas parciales.
Modelos de parámetros concentrados
Se clasifican, en función de los tipos de ecuaciones que en ellos
intervienen.
– Modelos algebraicos
– Modelos dinámicos en ecuaciones diferenciales ordinarias, o modelos
dinámicos ODE (del inglés Ordinary Differential Equations)

ODE explícito y ODE implícitos, dependiendo de si es posible o no despejar a
un lado de la igualdad las derivadas respecto al tiempo.
– Modelos de ecuaciones algebraico diferenciales o modelos DAE (del
inglés Differential Algebraic Equations)

DAE semi-explícito, cuando es posible despejar las derivadas, o bien DAE
implícito, cuando no es posible despejarlas

modelos dinámicos híbridos
– Son aquellos que tienen una parte de tiempo continuo, y una parte
de tiempo discreto o eventos discretos.
– Este tipo de modelo tiene variables tanto de tiempo continuo,
como de tiempo discreto.

Modelos de tiempo discreto
– Son el tipo de modelo más fácil de entender de manera intuitiva,
ya que sus variables van cambiando de valor únicamente en
instantes de tiempo equiespaciados.
– Para simular este tipo de modelo, el reloj de la simulación (que
indica el valor del tiempo simulado) avanza saltando un cierto
intervalo de tiempo denominado paso de avance en el tiempo,
que es constante a lo largo de la simulación
● Si el instante inicial de la simulación es t0 y el paso de avance
en el tiempo es Δt, entonces el reloj de la simualción va
saltando sucesivamente a los instantes t0, t1, t2, … , donde
ti+1 = ti + Δt para i = 0, 1, 2, … .

En cada uno de esos instantes, el modelo se encuentra
– en un estado, recibe unas entradas y genera unas salidas.
– El modelo permite calcular, a partir de su estado actual y de sus
entradas actuales, cuáles son sus salidas actuales y cuál será su
estado en el siguiente instante de tiempo.

Una forma de representar el comportamiento de un modelo
de tiempo discreto es indicando su función de transición de
estado y su función de salida.
● Sean xi la entrada, qi el estado e yi la salida del modelo en el
instante ti, donde el índice temporal i toma los valores 0, 1, 2, … .
La función de transición de estado, δ, describe cómo se calcula el
estado siguiente a partir del estado y la entrada actual.
qi+1 = δ(qi, xi ) para i: 0, 1, 2, …

La función de salida, λ, describe cómo se calcula la salida a partir del


estado y la entrada actuales.
yi =λ(qi, xi ) para i: 0, 1, 2, …
Las funciones de transición de estado y de salida permiten
calcular la trayectoria del estado (q1, q2, … ) y la trayectoria de la
salida (y0, y1, y2, … ), conocidos el estado inicial del modelo (q0) y
la trayectoria de entrada (x0, x1, x2, … ).
Algoritmo para un modelo de tiempo discreto que está descrito
mediante las funciones de transición de estado y de salida

iFin = 9 índice temporal final


x(0) = 1, ..., x(9) = 0 trayectoria de entrada
q(0) = 0 estado inicial
i = 0 inicialización del índice temporal
while (i <= iFin) {
y(i) = λ( q(i), x(i) )
q(i+1) = δ( q(i), x(i) )
i = i + 1
}
Modelos de eventos discretos

En los modelos de eventos discretos los instantes en que se
producen los eventos no tienen necesariamente que estar
equiespaciados en el eje temporal.

El tiempo que transcurre entre eventos consecutivos puede ser
cualquiera, siempre que se satisfaga que el número de eventos
en cualquier intervalo finito de tiempo sea finito.

Una consecuencia de esto es que el algoritmo de simulación
de eventos discretos debe mantener un calendario de
eventos donde ir registrando el instante de activación de los
eventos planificados para instantes futuros.

Una manera de definir los modelos de eventos discretos es
especificando qué tipos de eventos pueden ocurrir y cuál es
la relación causal entre ellos.

Un evento puede producir un cambio en el estado del
modelo, planificar eventos para instantes futuros y cancelar
la planificación de eventos.
Algoritmo de la simulación de un modelo de eventos
discretos descrito mediante planificación de eventos

Rutina de inicialización. Asigna valores a las variables de estado, inicializa los
acumuladores estadísticos y planifica eventos añadiéndolos al calendario de
eventos. Los acumuladores estadísticos son varaibles intermedias a partir de las
cuales se calculan las variables de salida de la simulación.

• Rutina de tiempo. Determina cuál es el evento más inminente de los planificados
en el calendario de eventos y avanza el reloj de la simulación hasta ese instante.

• Rutinas de eventos. Son las rutinas, una para cada tipo de evento, que realizan el
flujo de acciones asociado al evento. Entre estas acciones puede estar modificar el
valor de las variables y acumuladores estadísticos, así como añadir o quitar eventos
del calendario de eventos.

• Rutina de informes. Al finalizar la simulación, calcula y muestra el valor de las
variables de salida.
Especificación del modelo y del experimento
Consiste en definir:
MODELO

La estructura lógica y los componentes del modelo.

Los aspectos matemáticos del modelo.
Especificación del modelo y del experimento
Consiste en definir:
EXPERIMENTO

Las variables de entrada y de salida.

Las condiciones iniciales del modelo.

La condición de finalización de la simulación.

Los aspectos numéricos de la simulación.
Estructura lógica del modelo

Consideremos una oficina de atención al cliente en la


que trabaja un único empleado:

Si llega un nuevo cliente y el empleado está ocupado, el
cliente se pone al final de una cola en espera de su
turno. Si el empleado está libre, el cliente es atendido
inmediatamente.

Si el empleado termina de atender a un cliente, éste se
marcha y comienza a ser atendido el primer cliente de la
cola. Si la cola esté vacía, el empleado permanece
desocupado hasta la llegada de un nuevo cliente.
De su estructura lógica se deduce que en el
modelo hay dos tipos de sucesos o eventos que
desencadenan sendas secuencias de acciones.
Estos dos eventos son:

La llegada de un nuevo cliente a la oficina.

La finalización de la atención a un cliente.
Acciones asociadas a cada uno de los dos
tipos de evento
Elementos del modelo

Los modelos de tiempo discreto, en el contexto


que nos ocupa, constan básicamente de los
siguientes 7 tipos de componentes:
Las entidades, sus atributos, las variables, los
recursos, las colas, los contadores estadísticos y
los eventos.
Entidades

Las entidades son objetos dinámicos en la


simulación, que son creados y se mueven por el
sistema, cambiando el valor de sus atributos,
afectados por otras entidades y por el estado del
sistema. Las entidades pueden abandonar el
sistema o bien permanecer indefinidamente
circulando en él.
Atributos

Los atributos permiten individualizar cada


instanciación de una determinada clase de
entidad. Al definir el tipo de entidad, se declaran
sus atributos. Se pueden asignar valores
diferentes a los atributos de cada instanciación de
la clase de entidad, lo cual permite especificar las
características particulares de cada uno de ellos.
Variables

Las variables representan características del


sistema que son independientes de los tipos de
entidades o del número de realizaciones
existentes en determinado instante. Por tanto, las
variables no están asociadas a entidades en
concreto, sino que pertenecen al conjunto del
sistema. Son accesibles desde todas las entidades
y pueden ser modificadas por todas las entidades.
Recursos(Locaciones)

Los recursos pueden ser el personal (en nuestro


caso, el empleado), las máquinas (por ejemplo, si
las entidades son piezas que deben ser
procesadas), el espacio (por ejemplo, en un
almacén), etc. Una entidad captura un recurso
cuando éste está disponible, a fin de obtener un
servicio de él, y lo libera una vez ha terminado.
Colas

Cuando una entidad no puede circular, debido tal


vez a que necesita usar una unidad de un recurso
que en ese momento no se encuentra disponible,
entonces la entidad necesita un sitio donde
esperar: este es el propósito de la cola.
Acumuladores estadísticos

A fin de calcular el valor de las variables de salida,


es preciso calcular durante el curso de la
simulación el valor de determinadas variables
intermedias. Estas se llaman acumuladores
estadísticos.
Eventos

Un evento es un suceso que ocurre en un


determinado instante de tiempo (simulado) y que
puede cambiar el valor de los atributos, las
variables y los acumuladores estadísticos.
Aspectos matematicos del modelo y las
variables de entrada
La definición de la variable de entrada comprende:

La dependencia temporal de las variables de
entrada deterministas.

La distribución de probabilidad de las variables de
entrada aleatorias
Medidas del comportamiento

Otra elección vinculada con el propósito del


estudio es la de las variables de salida
Una variable de salida es aleatoria si y sólo si se
calcula a partir de al menos una variable aleatoria
Cuando las variables aleatorias de salida miden el
comportamiento del sistema a lo largo de toda la
simulación, suele ser preciso definir en el modelo
variables auxiliares, denominadas acumuladores
estadísticos.
El tiempo medio de espera del cliente en la cola,
se define de la forma siguiente:

donde n es el núumero total del clientes que han


abandonado la cola y Di es el tiempo de espera en la cola
delcalcularlo
Para cliente i. es preciso llevar registro, a lo largo de la simulación,
de:
− El número de clientes que han abandonado la cola hasta ese
momento, n.
− La suma del tiempo de espera de los clientes que han abandonado
la cola hasta ese momento.
Condiciones inicial y final de la simulacion

La especificación de las condiciones de inicio y de


finalización de la simulación es una parte obligada
en la definición del experimento. Es preciso
asignar valor inicial únicamente a aquellas
variables del sistema cuyo valor futuro dependa de
su valor presente. Estas variables se denominan
variables de estado.
Descripcion del funcionamiento del sistema

se han descrito:

los componentes del sistema (entidades, recursos
y colas),

las variables que los describen (atributos, variables
y contadores estadísticos), y

la interacción entre ellos (eventos).
...Descripcion del funcionamiento del sistema

todavía falta describir en el modelo los detalles


acerca del funcionamiento del sistema.
Básicamente, puede realizarse desde dos ópticas
distintas:


Modelado orientado a los eventos

Modelado orientado a los procesos
Modelado orientado a los eventos

qué tipos de eventos se producen,

qué condición de activación tiene cada uno, y

cuál es el flujo lógico de acciones asociadas a la
activación de cada evento.
Modelado orientado a los procesos

Una forma alternativa, más natural y sencilla, de


describir el modelo consiste en tomar el punto de
vista de las entidades y describir su circulación a
través del sistema. Este enfoque se centra en los
procesos que llevan a cabo las entidades, por ello
se llama modelado orientado a los procesos.
Se muestra los flujos de acciones correspondientes a los eventos del
modelo de la oficina de atención al público:

Flujo de acciones asociadas a los eventos.


Se muestra los flujos de acciones correspondientes a los eventos del
modelo de la oficina de atención al público:

Flujo de acciones asociadas a los eventos.


Se muestra los flujos de acciones correspondientes a los eventos del
modelo de la oficina de atención al público:

Flujo de acciones asociadas a los eventos.


Eventos del modelo de la oficina de atención al
público: inicialización, llegada de un nuevo cliente;
y marcha de un cliente. La condición de
finalización de la simulación es que el número de
clientes que comienzan a ser atendidos, n, sea
superior a uno establecido.
Por simplicidad, se supone en este ejemplo que
las variables de salida son únicamente:

El tiempo medio de espera en la cola:


El número medio de clientes que componen la
cola:
Dos de las ventajas fundamentales del modelado
orientado a los eventos son:

Permite una flexibilidad total en la descripción del
modelo, y

La realización, empleando un lenguaje de
programación, del código de la simulación a partir
de este tipo de descripción del modelo es
conceptualmente sencilla.
… desventaja

La realización de modelos de grandes


dimensiones, con diferentes tipos de eventos,
entidades y recursos, resulta excesivamente
compleja. Este enfoque requiere que el
programador adquiera el papel de “supervisor
omnisapiente”, llevando el control de todos los
eventos, entidades, atributos, variables y
acumuladores estadísticos.
Modelado orientado a los procesos

Una forma alternativa, más natural y sencilla, de


describir el modelo consiste en tomar el punto de
vista de las entidades y describir su circulación a
través del sistema.

Este enfoque se centra en los procesos que llevan


a cabo las entidades, por ello se llama modelado
orientado a los procesos.
Su práctica es posible gracias al empleo de
lenguajes de simulación, que traducen de manera
automática la descripción orientada a los procesos
a una descripción orientada a los eventos, y ésta
en código escrito en algún lenguaje de
programación.
El modelo orientado a los procesos de la oficina de
atención al público se realiza tomando el punto de
vista de un cliente cualquiera. Como en el caso
anterior, las variables de salida son el tiempo
medio de espera en la cola y el número medio de
clientes que componen la cola.
Los pasos en el proceso de atención son:

Llego a la oficina.

Escribo en mi atributo “Instante de llegada” el valor
que tiene en este momento el reloj de la simulación.
Así más tarde podré calcular el tiempo que he
estado esperando en la cola.

Me pongo al final de la cola e incremento en uno el
valor de la variable “Número de clientes de la cola”.

Espero hasta que yo sea el primero de la cola y el
empleado esté libre (si tengo suerte, el tiempo de
espera será cero).

En el instante en que abandono la cola, calculo mi
tiempo de espera (restando el valor de mi atributo
“Instante de llegada” del valor del reloj de la
simulación), decremento en uno el valor de la variable
“Número de clientes de la cola”, incremento en uno la
variable “Número de clientes que abandonan la cola” y
comienzo a ser atendido por el empleado.

El empleado me atiende durante el tiempo que
requiero.

Finaliza mi tiempo de servicio, con lo que dejo libre
al empleado y abandono la oficina.

También podría gustarte