Notas
 
Instituto Mexicano del Transporte
Publicación bimestral de divulgación externa

NOTAS núm. 43, noviembre-diciembre 1998, artículo 2
Sobre modelos de simulación
 

"... una desafortunada idea popular es que los estudios de simulación son tan sólo un complicado ejercicio de programación. En consecuencia muchos 'estudios' se han integrado con la generación de un modelo heurístico, un proceso de programación y codificación y una única corrida para obtener la 'respuesta' buscada. Por desgracia esta actitud, que subestima la importante cuestión de cómo un modelo que ha sido correctamente programado debería usarse para hacer inferencias correctas sobre el sistema de interés, indudablemente ha llevado a sacar conclusiones inválidas en muchos estudios de simulación."

Law, Averril M. y Kelton,
Simulation Modeling and Analysis

Introducción.

La práctica ingenieril trata constantemente con el manejo, diseño y comparación de alternativas en sistemas de producción de gran tamaño. Generalmente, el manejo estos sistemas productivos involucra un buen número de variables de decisión que, debido a la naturaleza del sistema de producción se interrelacionan de forma complicada y diversa. Como una forma de abordar esta clase de problemas se usa frecuentemente el modelado de estos sistemas.

Una forma sencilla de conceptualizar a un sistema productivo es considerar al sistema como un conjunto de entidades (maquinaria, equipo, personal, instalaciones, etc.) que interactúan juntas en el logro de un objetivo común. Una descripción de las interacciones e interrelaciones entre las entidades que forman el sistema, generalmente no se efectúa con la totalidad de detalles de cada una de las partes, sino omitiendo aspectos que no sean esenciales o de interés al objetivo de estudio del sistema, que normalmente tiene que ver con su operación o desempeño. De este modo, el acercamiento al estudio del sistema de interés se hace a través de un modelo del mismo.

La intención fundamental de este breve resumen es reunir una serie de puntos metodológicos comunes en el área de simulación de sistemas estocásticos, pero que conservan validez en general para las tareas de modelado y simulación en casi cualquier nivel de complejidad.

Los modelos y la simulación.

Si las variables de un sistema y sus interrelaciones son lo suficientemente sencillas, es muy probable que se pueda encontrar algún modelo matemático conocido que sirva para representar ese sistema y que diera información exacta sobre los aspectos de interés. En casos como este, se dice que el modelo tiene una solución analítica. Ejemplos típicos son los modelos de investigación de operaciones (programación matemática, cadenas de Markov, redes de flujo, etc.), de estadística (series de tiempo, modelos de regresión, etc.) o las representaciones de sistemas físicos por medio de sistemas de ecuaciones diferenciales. Algunos modelos con solución analítica, sin embargo, pudieran ser de difícil manejo, particularmente en su aspecto computacional. La existencia de una solución matemática exacta a un modelo, que implique invertir matrices de enormes tamaños y con números reducidos de entradas nulas, es un ejemplo común en el cual la obtención de resultados numéricos adecuados está lejos de ser trivial.

En la gran mayoría de casos de sistemas reales, la complejidad de las interacciones e interrelaciones entre las variables es tal que no suele hallarse una solución analítica adecuada. En estos casos una práctica común y muchas veces la única a la mano, es la simulación del sistema de interés.

Una recomendación general de los practicantes de la simulación es que, si para el sistema de interés existe una solución analítica razonable, es decir, un modelo matemático exacto que proporcione las respuestas buscadas y a la vez dichas soluciones se pueden obtener eficientemente desde el punto de vista computacional, entonces la simulación no debería utilizarse.

En una aproximación intuitiva, se puede decir que la simulación es una técnica por medio de la cual se imita la operación o desempeño de un sistema productivo real a lo largo del tiempo. Esta simulación genera una historia artificial del sistema modelado, y con base en dicha historia ficticia se intenta extraer conclusiones válidas sobre el comportamiento o las características del sistema real.

Una primera clasificación de los modelos usados en simulación distingue a los mismos en dos grandes tipos: determinísticos y estocásticos. En los primeros se manejan variables e interrelaciones que no incluyen ninguna medida de probabilidad, mientras que en los segundos se incluye al menos alguna de las variables o relaciones como aleatoria. El uso de representaciones algebraicas, matriciales o de ecuaciones diferenciales o en diferencias es común en los sistemas determinísticos, mientras que las representaciones como procesos estocásticos, cadenas de Markov, o sistemas de colas es común en los sistemas estocásticos.

Ventajas y desventajas de la simulación.

Más allá de considerar a la simulación como "el último recurso" para abordar sistemas complicados, la técnica tiene algunas ventajas per se. Entre las ventajas más comunes están:

  • Permite el estudio y la experimentación de las interacciones o interrelaciones de las variables en sistemas complejos.
  • Permite analizar los efectos que en el sistema modelado producirán cambios en su organización, el medio ambiente que lo influye o los flujos materiales o de información para su desempeño.
  • La observación de los efectos generados por cambios en los datos de entrada al modelo pueden sugerir la importancia relativa de las variables que determinan al sistema real.

La simulación, no obstante, tiene algunos aspectos que de no manejarse con cuidado, conducen a errores. Entre las más usuales fallas al usar esta técnica se tienen:

  • Carecer de objetivos bien definidos al inicio del estudio.
  • Manejar un nivel inadecuado de detalle en el modelo.
  • Carecer del necesario contacto con las personas que habitualmente manejan y/o conocen de cerca al sistema modelado.
  • Enfocar la simulación sólo como un complicado ejercicio computacional.
  • Usar inadecuadamente la técnica de animación sobre los resultados de la simulación.
  • Considerar incorrectamente las fuentes de aleatoriedad que afectan al sistema modelado.
  • Usar injustificadamente ciertas distribuciones de probabilidad en el modelo (por ejemplo, uniforme, normal, etc.)
  • En modelos estocásticos, analizar los resultados de la simulación con técnicas estadísticas que suponen independencia en las variables.
  • En modelos estocásticos, efectuar una sola réplica del sistema modelado considerando los resultados como respuestas definitivas.

La validez de un modelo: verificar, validar y calibrar.

Uno de los problemas más difíciles que enfrenta un analista de simulación es obtener un modelo que sea una representación apropiada del sistema real estudiado; dicho de otro modo, su principal preocupación es la de obtener un modelo válido.

La cuestión de la calidad que tenga el modelo como representación del sistema real tiene dos aspectos claramente separados. Por una parte está la verificación del modelo, por otra parte está la validación del mismo. Verificar es construir correctamente el modelo; validar es construir el modelo correcto.

La verificación del modelo tiene que ver con la construcción de un modelo computacional correcto. Esto es, verificar el modelo significa comparar el modelo conceptual del sistema real, que incluye supuestos sobre sus variables, los rangos de valores que toman, las interrelaciones lógicas y matemáticas, etc., con la representación en computadora que implementa dicho modelo.

Aunque conceptualmente la verificación no tiene gran complicación, el esfuerzo real que se debe efectuar para depurar y dejar listo un programa de cómputo que funcione correctamente, es una labor larga y difícil. En esta etapa es muy conveniente contar con apoyo de ingenieros o especialistas en cómputo o en todo caso, seguir las recomendaciones básicas del desarrollo de sistemas que ofrece la literatura de ingeniería de software.

La validación del modelo se ocupa de determinar si el modelo conceptual en que se basa la simulación es una representación precisa del sistema estudiado. Cuando se tiene un modelo conceptual válido, los resultados obtenidos de la simulación con el mismo deben ser similares a los que se obtendrían experimentando directamente con el sistema que se estudia.

La aceptación de un modelo de simulación y sus resultados como válidos por parte de los usuarios y decisores que habitualmente trabajan con el sistema real, corresponde a lo que en la práctica de simulación se conoce como tener un modelo creíble. Esta cualidad, deseable en un modelo de simulación, es el principal motivo por el cual se han difundido ampliamente y con gran popularidad las técnicas de animación para ilustrar los resultados del modelo; ya que la animación resulta una forma muy eficaz de comunicar los detalles operativos y el comportamiento del modelo a los interesados en el modelo.

En sistemas estocásticos, la validación del modelo no debe confundirse con el análisis de resultados. Esta última tarea, más bien tiene que ver con la capacidad del modelo de estimar eficientemente las medidas de interés en el sistema; es un problema estadístico relacionado con determinar el tamaño de las corridas y el número de réplicas que sustenten un nivel de confianza (95% o 99% usualmente) determinado previamente.

La calibración de un modelo es la técnica iterativa que consiste en comparar el modelo con el sistema real, efectuando ajustes o aún cambios mayores al modelo, comparando el modelo revisado con la realidad, haciendo ajustes adicionales y comparando de nuevo, y así sucesivamente.

Una posible crítica a la calibración es que el modelo se ha validado solamente para un conjunto de datos determinado; es decir, que el modelo se ajusta a ese conjunto particular de datos. Una forma de mejorar el procedimiento es recopilar un nuevo conjunto de datos del sistema, o en todo caso, reservar una parte de datos del conjunto original para usarse al final de la etapa de validación. De este modo, luego que el modelo se ha calibrado con los datos originales, una validación "final" es efectuada con un segundo conjunto de datos del sistema. Si persisten discrepancias importantes, el modelador debe reiniciar el proceso de calibración hasta lograr resultados aceptables. Los datos históricos usados en el sistema real, son muy adecuados para este propósito. Esta idea de usar un conjunto de datos para calibrar y otro conjunto independiente (pero homogéneo con el primero) de datos para la validación final es una forma común de operar en estudios econométricos o de bioestadística.

Una recomendación adicional sobre la validación, es que el modelador evalúe el posible, aunque no garantizado totalmente, aumento en la precisión de su modelo que logrará contra el costo (dinero y tiempo) del esfuerzo  requerido para mejorar la precisión de su ajuste. Por lo general, el modelador y los usuarios y/o decisores del sistema estudiado llegan a un acuerdo sobre cuál es el nivel tolerable de error en los resultados del modelo.

Un enfoque de tres pasos para la validación.

Una guía conocida para el proceso de validación fue introducida por Thomas H. Naylor y J.M. Finger en su artículo "Verification of Computer Simulation Models", de la revista Management Science, octubre de 1967. Las ideas son las siguientes:

1. Construir un modelo con un aspecto sumamente razonable.

 

  Esto significa que el modelo que se construya deberá lucir a los ojos de los usuarios habituales y los expertos conocedores del sistema real como muy razonable. Esto refleja el hecho de que un buen modelo no es una mera ocurrencia o abstracción de un modelador, sino la síntesis de la experiencia y la intuición sobre la operación del sistema bajo estudio que han proporcionado los expertos que lo conocen. Es por tal razón que el desarrollo de un buen modelo implica que el modelador establezca un intercambio continuo y regular de ideas con los expertos que conocen al sistema.

2. Comprobar empíricamente las suposiciones del modelo

 

  Esto significa evaluar cuantitativamente los supuestos del modelo en la fase inicial. Así, por ejemplo, si se han supuesto ciertas distribuciones de probabilidad para describir algunas variables de entrada al modelo, se recomienda usar técnicas de bondad de ajuste, como la Ji-cuadrada o la de Kolmogorov-Smirnov. En el caso de tener varias muestras de observaciones de un "mismo" fenómeno aleatorio, se puede justificar el uso mezclado de dichos datos luego de haber determinado su semejanza estadística con una prueba de Kruskal-Wallis para homogeneidad de poblaciones.
  Otra técnica de gran utilidad en la validación de un modelo es llevar a cabo un análisis de sensibilidad. Con este análisis se puede determinar si los resultados de la simulación tienen cambios importantes cuando los parámetros de entrada al modelo varían, cuando alguna distribución de probabilidad es modificada o cuando se altera el nivel de detalle de algún subsistema en el modelo. Cuando se observe sensibilidad del modelo a algún aspecto del sistema real, se deberá estudiar con más cuidado dicho aspecto.

3. Determinar si los resultados del modelo son representativos

 

  La gran prueba que un modelo de simulación debe pasar es que los resultados que genere sean similares a los que se producen o que cabría esperar en el sistema real. Aún más, si se cambian los niveles de ciertas variables en el modelo, éste debería pronosticar razonablemente lo que le pasará al sistema bajo circunstancias semejantes. Se espera entonces, que la estructura de un buen modelo sea lo suficientemente precisa como para que pronostique el comportamiento del sistema real, no solamente para cierto conjunto de datos, sino para el rango de posibles valores que los datos de entrada puedan tomar.
  La literatura de simulación ha señalado varias pruebas estadísticas para comparar datos reales con datos simulados. Sin embargo, la comparación puede no ser tan simple como parece, puesto que en muchos sistemas estocásticos reales, los procesos son no-estacionarios (es decir, las distribuciones de probabilidad cambian con el tiempo) y además los resultados del modelo presentan autocorrelación. Con esto, las técnicas estadísticas clásicas que suponen variables IID (independientes e idénticamente distribuidas) no son aplicables directamente1
  Otra técnica2 que se puede usar cuando no es posible aplicar procedimientos estadísticos directamente o con relativa facilidad, es la llamada Prueba de Turing, originada en el ambiente de la inteligencia artificial. En esta prueba, se comparan los resultados del modelo y los del sistema real, invitando a un grupo de expertos conocedores del sistema. Los expertos reciben varios conjuntos de datos para examinar, unos generados por el modelo y otros tomados del sistema real. Se usa un formato estandard de presentación, con un documento separado por cada conjunto de datos y no se indica cuáles datos son reales y cuáles simulados. Si los expertos son capaces de distinguir entre los datos reales y los otros, la explicación que proporcionen sobre cómo reconocieron unos y otros resulta de gran valor para mejorar el desempeño del modelo.

Un breve ejemplo: las aerolíneas norteamericanas modeladas con una cadena de Markov.

Una muestra típica de un trabajo de modelado, que se acerca a la metodología mencionada, es el artículo de Lau y Mattheiss, "A Markov Model of the Growth and Profitability of the U.S. Airline Industry" publicado en el Vol. 28, No.2 de Logistics and Transportation Review.

El propósito de ese trabajo, motivado por conocer los efectos de la desregulación de las aerolíneas norteamericanas, es modelar la evolución de las mismas utilizando un proceso estocástico discreto, concretamente definido por una cadena de Markov.

Dos atributos se usaron para identificar a las aerolíneas: a) su inversión en activos fijos en cinco intervalos que cubren el rango de 1.6 a 10,250 millones de dólares y b) su margen de utilidad neta, en 5 intervalos en el rango del -166.8% hasta el 16.6%. Con estos dos atributos se propone un espacio de 26 estados3, descrito con una matriz de probabilidades de transición, donde las filas indican el margen de utilidad neta y las columnas el nivel de inversión en activos fijos en los que se puede encontrar una aerolínea.

Se usaron datos de 66 aerolíneas en el periodo 1979-1989 para fijar las entradas de la matriz de probabilidades de transición. Comparando los estados en los cuales una aerolínea era clasificada en pares de años adyacentes, se calcularon las frecuencias de transición entre estados, y de ahí las probabilidades.

El proceso de estimación de las probabilidades de transición entre estados, se validó con una prueba de bondad de ajuste Ji-cuadrada a un nivel de significación del 5%. En cuanto a la calibración del modelo, se utilizó una versión alternativa que fue generada con los datos del periodo 1979-1986. Este modelo alternativo se usó luego para observar las diferencias entre las predicciones del modelo y los datos reales observados para el periodo 1987-1990. Nuevamente, utilizando una prueba de bondad de ajuste Ji-cuadrada con nivel de significación del 5%, resultó que las frecuencias observadas pudieron considerarse como resultados predecibles a partir del modelo.

Adicionalmente, el artículo hace notar que todos los pronósticos que surjan del modelo necesariamente extrapolan resultados más allá del rango de datos de la muestra original, y por tanto recomienda precaución en la interpretación de pronósticos. Concretamente, los autores reconocen que las proyecciones del modelo se basan en la suposición de que las futuras condiciones políticas y económicas del entorno se mantienen esencialmente igual a las prevalecientes en el periodo estudiado; técnicamente significa que las probabilidades de transición que definen la cadena de Markov no cambian con el tiempo, independientemente del clima social vigente.

Finalmente, Lau y Mattheiss concluyen que el modelo de Markov presentado ofrece una herramienta simple para proyectar la trayectoria del vector de estados (Activo fijo, Margen de utilidad) de las aerolíneas norteamericanas, permitiendo hacer análisis de posibles transiciones y sirviendo de apoyo para la toma de decisiones en el contexto de la compleja dinámica de mercado que determina la evolución de las aerolíneas norteamericanas luego de la desregulación.

Conclusiones.

El manejo de modelos, simulaciones en computadora, graficación y animación de resultados son prácticas cotidianas para abordar diversos problemas de interés en el transporte. Modelos conocidos ya en nuestro ambiente, como el simulador de trenes Train Energy Model and Rail Energy Cost Analysis Package (TEM/RECAP) de la American Association of Railroads, el Vehicle Operating Costs (VOC) del Banco Mundial, los módulos que han integrado al Sistema Mexicano de Administración de Pavimentos (SIMAP) o los tratamientos de diversos problemas con la técnica del elemento finito, son ejemplos de la vigencia de estas técnicas.

La metodología alrededor del modelado de sistemas y su simulación es muy extensa. Sin embargo, el retomar las ideas centrales que han animado diversos desarrollos en ese campo, ayuda mucho en la clarificación del uso de las técnicas que nos ofrecen estos modelos computacionales, tanto para refinar los resultados que generan como para delimitar los alcances y la utilidad potencial de los mismos.


Eric Moreno Quintero, Investigador del IMT

1 En la referencia bibliográfica [1] se da una guía para trabajar al respecto.

2 La referencia bibliográfica [3] describe un ejemplo en el ámbito del transporte.

3 De la matriz de probabilidades de transición resultan 25 posibles estados; el estado 26 es el que modela las entradas y salidas de las aerolíneas al sistema.

 


Bibliografía.

[1] BANKS, Jerry; John S. CARSON II; y  Barry L. NELSON, "Discrete-Event System Simulation"; Prentice-Hall; New Jersey USA; 1996.

[2] LAU R.S.M.; y MATTHEISS, T.H. "A Markov Model of the Growth and Profitability of the U.S. Airline Industry"; Logistics and Transportation Review. Vol. 28, Number 2; 1992.

[3] LAW, Averril M.; y David K. KELTON, "Simulation Modeling and Analysis"; McGraw-Hill, Inc.; 1991.

[4] SPRING, Gary S., "Validating Expert Systems Prototypes Using the Turing Test"; Transportation Research-C. Vol. 1, No. 4; 1993.

 

 
Cerrar ventana