Está en la página 1de 9

METODOLOGÍA DE LA SIMULACIÓN.

• 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

• 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).

• 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.

• 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.
• 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.

• 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:
o Propósito del modelo.
o 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.

• 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.
• 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.
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.
o ·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.
o 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.

• 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.

• 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.

• 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.

• 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.
• 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.
• 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:
o Existe un vacío de comunicación entre el analista de la simulación y los
encargados y usuarios del sistema.
o Falta de entendimientos por parte de los encargados del sistema debido a
los tecnicismos utilizados.
o El compromiso de implementación es tardío.
o Resistencia al cambio.
o 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.

También podría gustarte