Вы находитесь на странице: 1из 8

1.

3 METODOLOGIA DE LA SIMULACION

1.3 METODOLOGÍA DE SIMULACIÓN


Aunque se van a presentar una serie de pasos de forma secuencial, realmente es un
proceso iterativo.

1.3.1.- Formulación del problema

Se definen las cuestiones para las que se buscan las respuestas, las variables
implicadas y las medidas de ejecución que se van a usar.
Esta fase es muy importante para poder alcanzar un modelo válido, se puede dividir a
su vez en 5 fases

1.3.1.1.- Identificación del Problema


Se hace una abstracción del tipo de problema que se va a tratar. Se identifican los
recursos a utilizar, los requisitos que se van a exigir (relaciones a establecer).

1.6.1.2.- Reconocer las variables del sistema


Se han de identificar las variables que interviene en el sistema y que son de interés
para nuestro modelo, éstas se pueden clasificar en:

Variables exógenas: son variables externas al modelo y existen con independencia de


él.

Se consideran variables de entrada. Éstas a su vez se pueden dividir en dos grupos:

• Variables controlables o de decisión (factores): son aquellas sobre las que el analista
puede decidir su valor dentro de ciertos límites.

• Variables incontrolables o parámetros: sus valores no se pueden decidir sino que


vienen fijados. Las variables serán controlables o incontrolables dependiendo de quién
las defina.

• Variables endógenas: son variables internas y las variables de salida del modelo.
Son función de las variables exógenas y de la estructura del modelo.

1.3.1.3.- Especificación de las restricciones de las variables de decisión

Incluso en el caso de que las variables sean controlables, están limitadas o


restringidas a ciertos límites dentro de los cuales se pueden modificar.
Es importante considerar cuidadosamente las restricciones sobre las variables de
decisión, ya que definen el posible espacio de soluciones dentro del cual se buscará
una buena solución o la óptima usando el modelo de simulación.
1.3.1.4.- Desarrollar una estructura preliminar del modelo que interrelacione las
variables del sistema y las medidas de ejecución.

Para evaluar la efectividad de un sistema, se debe identificar una medida o medidas


de comportamiento (o ejecución) para juzgarlo. Estas medidas se seleccionan del
conjunto de variables endógenas. La medida o medidas que se pretenden optimizar se
conocen como función objetivo.

Hay veces en las que existe una única función objetivo dominante y entonces se
intenta optimizar ésta sin tener en cuenta las otras variables, aunque siempre
considerando las restricciones. En otras ocasiones existe más de una función
dominante, en este caso, hay que estudiar las distintas funciones objetivo e intentar
encontrar valores para los cuales las funciones son óptimas.

Cuando se quiere tener en cuenta varias medidas de comportamiento, a menudo no


se podrán optimizar simultáneamente. Lo ideal sería hacer mínimas ambas medidas,
el tiempo de espera y el costo de tener los empleados, pero si se minimiza una de
ellas la otra aumenta. Se tienen tres formas de abordar este problema:

• Establecer compromisos implícitos entre las medidas. Esta aproximación es


muy subjetiva y no se va a considerar. Se dan los resultados a quién tenga que
tomar la decisión y él será quien establezca la relación entre las variables
conflictivas.

• Establecer compromisos explícitos, realizando una combinación de todas las


medidas usando una dimensión común tal como el costo. A estas técnicas se
les suele conocer como análisis de toma de decisiones multiatributo o
multiobjetivo. Para realizar esta técnica se tiene que decidir una dimensión
común para todas las medidas, factores pesos, y formar una función que las
combine.

• Restricción y corte: seleccionar una medida como la que más interesa


optimizar y hacer que las otras estén dentro de un rango de valores aceptable.
Esto reduce la posibilidad de encontrar un óptimo, o al menos las mejores
soluciones.

1.3.1.5.- Desarrollo de un modelo apropiado


Los modelos son abstracciones de las partes esenciales del sistema. Se ha de intentar
ver si con las variables que se han especificado se tiene suficiente para describir estos
aspectos importantes del sistema (si no se tienen suficientes entonces el modelo no
será una buena representación del sistema), o por el contrario se han definido más de
las necesarias (esto puede oscurecer las relaciones entre las variables realmente
importantes). En resumen, lo que se tiene que fijar en este paso es el nivel de detalle
al que se debe llegar en el modelo. El nivel de detalle depende de:
• Propósito del modelo.
• Contribución de las variables al modelo.

No es igual si lo que se desea hacer es un modelo para una previsión a largo plazo, en
cuyo caso la precisión puede ser menor, debido a que al transcurrir el tiempo las
variables van a cambiar e incluso podrán aparecer otras nuevas, que si se desea una
previsión a corto plazo, entonces se deberá profundizar más en el nivel de detalle.
1.3.2.- Colección de datos y Análisis
Aunque la recogida de datos se va a ver como el segundo paso, es bastante posible
que se hayan tenido que recoger datos para la formulación del problema. Sin
embargo, durante este paso se recoge el mayor volumen de datos, se reduce y se
analiza.

Los métodos de recogida de datos son tan variados como los problemas a los que
éstos se pueden aplicar. Si se clasifican por su sencillez, se puede ir desde las
aproximaciones manuales hasta las técnicas más sofisticadas de alta tecnología. En la
selección de un método se pueden tener en cuenta los siguientes factores:

• Capacidad de quien recoja los datos.


• El impacto que pueda producir el proceso de recolección sobre el comportamiento
del sistema real. Puede producir perturbaciones reales o físicas en el sistema o
psicológicas.
• La facilidad de conversión de los datos a una representación procesable por el
ordenador.
• El coste del método.

En muchas situaciones es suficiente con la observación directa y la recogida manual


de los atributos de interés. Pero si la medida que se quiere observar depende de una
persona, su comportamiento se puede ver afectado por estar siendo observada. Otras
veces puede ocurrir que la acción que se quiere observar sea muy rápida y que no sea
posible realizar una observación humana.

Para decidir el número de muestras necesarias, se ha de establecer una relación


costo-exactitud y hacer una optimización de dicha relación.

Una vez realizado el muestreo, los datos se han de analizar e introducir en el modelo.
Los datos usados para definir el modelo pueden ser de dos tipos:

• Deteminísticos: son datos conocidos con certeza. Éstos se pueden introducir


fácilmente en el modelo.
• Probabilísticos: hay dos formas de incluirlos en el modelo:
• Usar la muestra de datos recogida para representar la distribución de probabilidades.
• Determinar una distribución probabilística teórica que se comporte como la
muestra y usar ésta en el modelo. Esto permite tener una mejor comprensión
(generalización) del modelo.

1.3.3.- Desarrollo del modelo


Incluye la construcción y depuración del modelo del sistema real, incluyendo la
selección de un lenguaje de programación, codificación del modelo. Esta etapa se va a
dividir en dos partes:
Comprensión del sistema y Construcción del modelo.

1.3.3.1.- Comprensión del sistema

Una de las tareas más difíciles en el análisis de simulación es adquirir el suficiente


conocimiento del sistema para poder desarrollar un modelo apropiado, es decir,
conocer el comportamiento del sistema. Dos técnicas comúnmente usadas son la
aproximación de flujo físico y la aproximación de cambio de estado.

• Aproximación de Flujo Físico. Se ha de identificar las entidades cuyo


procesamiento o transformación constituye el propósito principal del sistema.
Estas entidades pueden tomar diferentes caminos en el sistema, las rutas que
siguen se determinan mediante reglas de decisión. La representación del
sistema vendrá dada mediante un diagrama de flujo de entidad y los elementos
de procesamiento del sistema.

• Aproximación de Cambio de Estado. Para describir esta aproximación, se


debe definir unas variables endógenas adicionales que son las variables de
estado e introducir un nuevo concepto, el de suceso o evento. Las variables de
estado describen el estado del sistema en cada momento. Dados los valores
actuales de las variables de estado, las variables exógenas y la estructura del
modelo, se puede determinar el estado futuro del sistema. Un evento es un
instante particular en el tiempo en el que el sistema cambia de estado. La
evolución del sistema se puede representar mediante un grafo de sucesos.

1.3.3.2.- Construcción del Modelo


Las tareas principales en la construcción de un modelo son:
Elección Mecanismo de avance del tiempo. Este dependerá de la aproximación
elegida para describir el comportamiento del sistema. Si se eligió la aproximación de
flujo físico, este diagrama de flujo podría refinarse para convertirse en el diagrama de
flujo del programa. Si se siguió la aproximación de cambio de estado, el diagrama de
flujo desarrollado debería describir el procedimiento que efectúa los cambios de
estado en el tiempo. Otros dos factores inciden en la construcción del diagrama de
flujo del programa: elegir un mecanismo de avance del tiempo y el lenguaje de
programación que se seleccione. Hay fundamentalmente dos formas de considerar el
avance del tiempo en un modelo de simulación:

• Incrementos fijos de tiempo: se considera un intervalo fijo de tiempo y el


estado del modelo se comprueba después de transcurrido cada uno de estos
incrementos constantes.

• Incrementos por los eventos (N.E.T.A., Next Event Time Advance): las
comprobaciones y modificaciones de las variables afectadas se realizan sólo
después de la ocurrencia de un evento. Aquí el incremento de tiempo es
variable, va desde la ocurrencia de un evento a otro.

El avance del tiempo de simulación depende de cuál de las aproximaciones se elija. Si


se elige el incremento por eventos, el reloj se inicializa a 0, y se incrementa al
siguiente tiempo en que vaya a ocurrir un suceso, en ese momento, en este momento
de actualización del reloj se modifican las variables que se vean afectadas por la
ocurrencia del suceso. Si por el contrario se elige un incremento de tiempo fijo, el reloj
se inicia a 0 y se va actualizando cada vez que pase el incremento de tiempo fijado.
En esos instantes se observará el sistema para realizar los cambios. En ese momento
puede ocurrir que no haya sucedido ningún cambio o que por el contrario que hayan
ocurrido más de un suceso con lo cual se tendrá que decidir cuál atender antes (por
ejemplo dando prioridad a los sucesos). En esta aproximación pueden ocurrir “errores
de redondeo”, que hacen referencia a la diferencia de tiempo que pasa desde que
sucede un suceso hasta que éste se computa (cuando el reloj se incrementa).

Hay que tener cuidado en la elección del incremento de tiempo. Si éste es demasiado
pequeño se realizará trabajo inútil, ya que se comprobarán cambios cuando en
realidad no ha ocurrido ningún suceso. Por el contrario si es demasiado grande se
producirán muchos errores de redondeo y la dinámica del modelo será ineficiente.
Elección de un Lenguaje de programación. Hay un creciente número de lenguajes de
programación disponibles para la implementación de modelos de simulación.

Entre los lenguajes de simulación destacan: GPSS (General Purpose Simulation


System), SLAM (Simulation Language for Alternative Modeling), SIMAN (Simulation
Analysis), y SIMSCRIPT. Muchos lenguajes de propósito general son completamente
adecuados para la simulación, por ejemplo, FORTRAM, PASCAL,…, pero los
lenguajes de simulación proporcionan una serie de características que hacen la
programación, depuración y experimentación más eficientes en tiempo y esfuerzo,
aunque consuman más tiempo en la ejecución. Quizás la más importante ventaja de
los lenguajes de simulación es la correspondencia entre los elementos del sistema y
los elementos del lenguaje. Por ejemplo, en GPSS hay bloques de diagramas de flujo
y conjuntos de sentencias de programa llamados QUEUE que procesan entidades a
través de una cola de espera y acumulan datos de variables de salida tales como
tiempo de espera en la cola.

El lenguaje seleccionado puede influir en la forma exacta del diagrama de flujo del
programa de computador.

Generación de números y variables aleatorias. Se van a necesitar muestras aleatorias


para representar valores de variables de entrada probabilísticas. Utilizando estos
números aleatorios podemos obtener valores de variables aleatorias que sigan ciertas
distribuciones de probabilidad.

Aunque se ha hecho referencia a que los números usados en simulación son


aleatorios, no lo son totalmente, ya que se producen a partir de algoritmos
determinísticos. Sin embargo las propiedades de los números producidos se pueden
hacer lo suficientemente cerradas de forma que éstos sean completamente utilizables
para la simulación. Si el modelo se implementa con un lenguaje de propósito general,
se puede seleccionar e incluir algoritmos necesarios para generar las variables
aleatorias requeridas. Pero si se utiliza un lenguaje de simulación estos algoritmos
están incluidos y pueden ser fácilmente accesibles por el usuario.
Implementación y depuración del modelo. La facilidad o dificultad en esta etapa
dependen en gran medida del lenguaje de programación que se haya elegido.

1.3.4.- Verificación y Validación del modelo

La Verificación del modelo consiste en ver cuál es la consistencia interna del modelo.
La Validación consiste en asegurar que existe la una correspondencia entre el sistema
real y el modelo. Un buen método para la validación es hacer un test para ver cómo el
modelo predice el comportamiento del sistema ante determinadas entradas.

La verificación y validación del modelo se realiza en todas los niveles de modelización:


modelo conceptual, modelo lógico y un modelo de ordenador. La verificación se centra
en la consistencia interna del modelo, mientras que la validación se interesa por la
correspondencia entre el modelo y la realidad.

Se dice que un modelo es válido si sus medidas de salida tienen una correspondencia
apropiada con las mismas medidas en el sistema real. La comprobación última para la
validez de un modelo es ver cómo el modelo puede predecir un comportamiento futuro
del sistema ante unas determinadas entradas.

1.3.5.- Experimentación y Análisis de las salidas

Se han de diseñar los experimentos que se van a llevar a cabo sobre el modelo y
luego analizar las salidas obtenidas, de forma que podamos responder a las
cuestiones que se plantearon.

1.3.5.1.- Experimentación con el modelo

El propósito último de la experimentación con el modelo es obtener información acerca


del comportamiento del sistema para que esto nos ayude en la toma de decisiones.
Cuando consideramos la ejecución de un sistema se puede desear conocer cómo se
comporta dicho sistema en sentido absoluto, o comparativamente, para poder
contrastar varias configuraciones alternativas del sistema. O se podrían considerar dos
medidas simultáneamente.

Es evidente que el número de exploraciones que se tendrían que realizar es


extremadamente largo. Hasta para los diseños de experimentos más modestos, la
exploración de todas las posibles soluciones en la búsqueda de la mejor solución, no
es algo factible. Se necesita una aproximación estructurada más directa para
encontrar una solución que merezca la pena. Podemos considerar dos aproximaciones
diferentes para abordar este problema: conjunto predeterminado de experimentos y
técnicas de búsqueda de óptimos.

Conjunto de experimentos predeterminado: esta aproximación impone identificar


factores que podrían afectar a la medida de salida y ejecutar los experimentos con los
factores puestos a determinados valores. Una vez realizados los experimentos se
aplicarían unas técnicas estadísticas denominadas análisis de la varianza (ANOVA),
para decidir cuál o cuáles de los factores seleccionados tiene realmente algún impacto
en la medida de salida. Las medidas de salida se pueden adaptar de forma que las
suposiciones estadísticas de esta técnica se satisfagan de forma razonable y puedan
ser aplicadas en la experimentación del modelo.

Un diseño experimental particularmente general es el diseño factorial. Se consideran


dos o más factores pudiendo estar cada uno a dos o más niveles.
El uso de un conjunto predeterminado de experimentos es efectivo para encontrar
buenas soluciones si se puede aproximar una región de optimalidad con experimentos
previos o con la experiencia que se tenga sobre el problema. Sin embargo esta técnica
no puede conducir a la mejor solución global, ni siquiera puede garantizar un óptimo
local.

Técnicas de búsqueda de óptimos: un conjunto de estas técnicas se conoce como


Metodología de Superficie de Respuesta (RSM). La superficie de respuesta es la
función que describe las relaciones de las medidas de ejecución con los factores o
variables de decisión. Dos factores definen una superficie de 3 dimensiones, la cual
puede ser vista como un terreno en donde se puede escalar. De hecho, la
representación en 2 dimensiones de la respuesta de superficie es como las líneas de
contorno de un mapa topográfico. Usando varias estrategias se pueden alcanzar
puntos altos en el terreno, y quizás llegar a la cumbre. Una estrategia es el método de
escalado ascendente. Esta requiere que el modelo se ejecute suficientemente para
hacer que se pueda determinar qué dirección (qué cambios en los valores de los
factores) parece conducir a un incremento en la altitud (incremento en la medida de
salida). Las variables de decisión se van cambiando de esta forma y el proceso
continúa hasta que ya no se puede llegar más alto, en ese momento se ha alcanzado
un óptimo local o global.

1.3.5.2.- Análisis de las salidas


En la interpretación de las salidas del modelo, hay algunos aspectos que son únicos
de la simulación. Mientras que los modelos analíticos proporcionan soluciones con
medidas de ejecución completamente definidas, los modelos de simulación producen
estimaciones de las medidas que están sujetas a error.

Las salidas del modelo de simulación se consideran muestras. Las principales


cuestiones en la obtención de estimaciones útiles a partir de muestras son: que la
muestra sea representativa del comportamiento del sistema, y que el tamaño de la
muestra sea lo suficientemente grande para que las estimaciones de las medidas de
ejecución alcancen un buen nivel de precisión. El tamaño de la muestra es algo que
está bien definido, pero la representatividad del comportamiento del sistema depende
de la naturaleza de las cuestiones que tienen que ser contestadas por el modelo.

Se pueden realizar dos tipos de análisis con un modelo de simulación:


Análisis para sistemas con final definido: la ejecución del modelo finaliza cuando
ocurre un evento específico. Se tomaría una muestra por ejecución.
Análisis para sistemas con final no definido (sistemas en estado de equilibrio o
estacionario): el interés está en medias de las medidas de comportamiento de
ejecuciones largas, después de que el sistema ha pasado por algún periodo de
comportamiento transitorio. Las medidas en estado estacionario se pueden definir
como el valor de las medidas en el límite, cuando la longitud de la ejecución tiende a
infinito.

En ambos casos, las condiciones inicia les (estado del sistema el empezar la
ejecución) pueden influir en la estimación de las medidas de comportamiento.
El tamaño de la muestra es importante ya que la precisión de las estimaciones
depende de la varianza de la media de la muestra, y la varianza cambia de forma
inversamente proporcional al tamaño de la muestra (si se cuadriplica el tamaño de la
muestra la desviación estándar se reduce a la mitad). La definición de tamaño de
muestra para simulación depende del tipo de análisis que se haya hecho. Para el
análisis de un sistema con final definido se podría reproducir el periodo de interés, con
las condiciones iniciales apropiadas, un determinado número de veces hasta
conseguir la precisión deseada de la estimación. En cada ejecución de obtendrá un
elemento de la muestra. Con un análisis en estado estacionario el tamaño de la
muestra está estrechamente enlazado con el tamaño de la ejecución del modelo o
cantidad de tiempo de simulación.

1.3.6.- Implantación de los resultados de la Simulación

Se ha de asegurar que los resultados son aceptados por el usuario.

Este paso final es uno de los más importantes y el que más se descuida de todo el
proceso. Parece obvio que los beneficios de un largo y costoso análisis no se
realizarán sin una implementación apropiada y una aceptación por parte de los
usuarios.
Entre las razones por las que los esfuerzos de implantación son a menudo inútiles, se
incluyen las siguientes:

• Existe un vacío de comunicación entre el analista de la simulación y los


encargados y usuarios del sistema.
• Falta de entendimientos por parte de los encargados del sistema debido a los
tecnicismos utilizados.
• El compromiso de implementación es tardío.
• Resistencia al cambio.
• Falta de coincidencia entre el personal disponible y los objetivos marcados
por el modelo.

Hay aproximaciones que tratan estos obstáculos potenciales. Estas aproximaciones


requieren que los usuarios y los analistas estén implicados desde el comienzo en el
proyecto simulación.

Вам также может понравиться