Asegurando la Fiabilidad de Modelos de Simulación: Validación, Verificación y Credibilidad
El objetivo principal de este documento es resumir las líneas generales más significativas en un ejercicio de síntesis de ideas propias y de otros autores, como Kleijnen.
Conceptos Fundamentales: Sargent, Law y Kelton
Sargent puntualiza en su artículo que el modelo conceptual es una representación matemática, lógica o mímica del problema, formulado para un estudio particular. Por otro lado, el modelo computarizado es la implementación del modelo conceptual en un ordenador. Es importante destacar que el modelo computarizado se desarrolla en la fase de traducción del modelo conceptual a un programa de computador.
Este criterio sirve a Law y Kelton para establecer las siguientes definiciones, compartidas por la mayoría de los autores citados:
- Verificación: Es determinar que el programa de computador se comporta como es debido, es decir, que está libre de errores de programación (debugging del programa). La verificación comprueba que se ha realizado una traducción correcta del modelo conceptual a un programa de computador que trabaja correctamente.
- Validación: Se refiere a determinar si el modelo conceptual es una representación adecuada del sistema, es decir, si nuestro conocimiento del sistema se ha traducido en hipótesis de modelización que reproducen correctamente el comportamiento del sistema en los aspectos relevantes para los objetivos del estudio.
- Credibilidad: Este es un aspecto complementario, pero no menos importante en lo que se refiere a la práctica. Los resultados del modelo han de ser aceptados por el decisor para ser utilizados en el proceso de toma de decisiones, es decir, los resultados del modelo han de ser creíbles.
Validación de Modelos de Simulación
Un modelo validado es aquel que proporciona una representación adecuada de los aspectos de la realidad relevantes para el analista. La primera fase de validación implica, en consecuencia, determinar si de todos los aspectos del sistema hemos incorporado al modelo aquellos que son de real interés y aquellos que podemos ignorar sin consecuencias para nuestro estudio.
El modelo de simulación de un sistema, especialmente si es complejo, solo será una aproximación del sistema real. Los aspectos de coste-eficiencia pueden hacer que se descarte llevar la validez más allá de un cierto grado, debido a los costes de obtención de la información suficiente.
Para sistemas muy complejos, es recomendable seguir un procedimiento jerárquico en su modelización. Es decir, en lugar de intentar abarcar de golpe toda su complejidad, es preferible empezar por construir un modelo rudimentario que nos ayude a entender mejor el sistema y a identificar los factores relevantes.
Verificación de Modelos de Simulación
La verificación determina si el programa de computador tiene errores o si, por el contrario, trabaja correctamente. En consecuencia, las primeras reglas a observar en el proceso de verificación son:
- En esencia, son las mismas que tienden a asegurar la corrección de un programa de computador.
- Hace referencia a la manera en que se estructura el programa. Se recomienda, para programas largos y complejos, organizarlos en módulos o subprogramas con una clara estructura de interrelaciones, de manera que cada uno de ellos pueda verificarse por separado.
- La verificación del programa final resultante puede realizarse paso a paso, añadiendo en cada uno subprogramas previamente verificados.
- Una vez comprobado que el programa de computador está libre de errores de programación, hay que establecer si trabaja correctamente o no.
Una primera posibilidad puede consistir en ejecutar el programa bajo hipótesis simplificadoras para las cuales sea conocido o se pueda calcular fácilmente, por otros medios, cómo se comporta el sistema modelizado.
Uno de los aspectos más importantes de un modelo de simulación es comprobar si reproduce adecuadamente la lógica de los procesos que tienen lugar en el sistema. Verificar la corrección con que el programa de computador emula esa lógica es, pues, otro punto clave de la verificación.
Herramientas de Verificación: Debuggers y Animación Gráfica
La tendencia actual en la mayoría de los lenguajes avanzados para la simulación es incluir un debugger interactivo que permita al analista detener la simulación en cualquier instante y examinar el estado del sistema para proceder al seguimiento paso a paso de los cambios de estado.
El desarrollo tecnológico de los computadores, especialmente en lo que se refiere a las técnicas de computación gráfica, ha hecho posible en muchos casos una animación gráfica del proceso de simulación. Simuladores como SIFACTORY o WITNESS permiten una visualización animada de los procesos de producción simulados con ellos.
AIMSUN2: Un ejemplo destacado de animación gráfica para la simulación de tráfico.
La animación gráfica permite, de una manera directa y a partir de una simple ojeada, comprobar si el modelo se comporta como se supone que se ha de comportar la realidad, identificando afinidades y discrepancias.