25
Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Año 2005

Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Embed Size (px)

Citation preview

Page 1: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

SimulaciónDr. Ignacio Ponzoni

Clase XIX: Verificación y Validación de Modelos de Simulación

Departamento de Ciencias e Ingeniería de la Computación

Universidad Nacional del Sur

Año 2005

Page 2: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 2 Prof. Dr. Ignacio Ponzoni

Verificación y Validación• La verificación y validación de un modelo es una de las tareas más

difíciles e importantes para un desarrollador de modelos de simulación.

• El objetivo de estas etapas es mejorar la confianza en los resultados provenientes de la simulación.

• Conceptualmente, este proceso consiste de los siguientes pasos:• La verificación compara el modelo conceptual con la representación

computacional que implementa dicho modelo. En esta etapa se responde a las siguientes cuestiones: ¿está el modelo implementado correctamente en la computadora?, ¿los parámetros de entrada y la estructura lógica del modelo están correctamente representados?

• La validación es utilizada para determinar si el modelo construido representa en forma precisa el sistema real que se desea simular. La validación se logra a través de la calibración del modelo, el cual es un proceso iterativo de comparación entre el modelo y el sistema real que finaliza cuando se alcanza un nivel de precisión apropiado.

Page 3: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 3 Prof. Dr. Ignacio Ponzoni

Construcción del Modelo, Verificación y Validación

• El primer paso en la construcción del modelo consiste en observar el sistema real y la interacción entre sus distintos componentes, y en la recolección de datos sobre su comportamiento. En esta etapa resulta fundamental la opinión e información que pueden brindar las personas familiarizadas con el sistema.

• La segunda etapa consiste en construir el modelo conceptual lo cual consiste en establecer:

Suposiciones sobre los componentes del modelo. Suposiciones estructurales, que definen las interacciones entre los

componentes del sistema. Parámetros de entrada y suposiciones de datos.

• El tercer paso es la traducción del modelo conceptual a un modelo operacional (formato computacional).

Page 4: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 4 Prof. Dr. Ignacio Ponzoni

Esquema del Proceso de Construcción del Modelo

SistemaReal

Modelo Conceptual:1. Suposiciones sobre las componentes del sistema.2. Suposiciones estructurales, que definen las interacciones entre las componentes del modelo.3. Parámetros de entrada y suposiciones de datos.

Modelo Operacional(representación computacional)

Validación Conceptual

Verificación del modelo

Calibración y Validación

Page 5: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 5 Prof. Dr. Ignacio Ponzoni

Verificación de Modelos

• El propósito de verificar el modelo es asegurar que el modelo conceptual es reflejado en forma precisa por la representación computarizada.

• Existen varias sugerencias sobre como llevar adelante el proceso de verificación:

• Chequear la representación computacional por personas ajenas a la implementación del modelo operacional.

• Construir un diagrama de flujo que incluya cada acción, lógicamente posible, que un sistema puede tomar cuando un evento ocurre. Seguir el modelo lógico para cada acción y para cada tipo de evento.

• Analizar cuan razonables son las salidas obtenidas con el modelo operacional para diferentes configuraciones de los parámetros de entrada del modelo. Tomar medidas estadísticas de las salidas.

Page 6: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 6 Prof. Dr. Ignacio Ponzoni

Verificación de Modelos• Efectuar una adecuada documentación del código del programa.• Utilizar controladores de corrida interactivos (IRC) o programas de

debugging. Los IRC asisten en la corrección de errores permitiendo entre otras cosas que la simulación pueda ser monitoreada en progreso.

• Estas herramientas permiten avanzar la simulación hasta que una determinada cantidad de tiempo a transcurrido o hasta que se verifique cierta condición o se ejecute determinado evento. Luego es posible inspeccionar el estado del sistema en dicho momento.

• La interfaces gráficas y las herramientas de animación pueden contribuir a una verificación más ágil del modelo operacional.

• Otras técnicas empleadas en Ingeniería de Software para el testeo de sistemas computacionales.

Page 7: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 7 Prof. Dr. Ignacio Ponzoni

Verificación de Modelos• Además de las reglas anteriores, existen dos tests estadísticos

que indican rápidamente la razonabilidad del modelo operacional:

contenidos actuales y, contador total.

• Contenidos actuales: refiere a la cantidad de items en cada componente del sistema en un dado instante de tiempo.

• Contador total: refiere a la cantidad total de items que han entrado a cada componente del sistema en un determinado instante de tiempo.

• Estas medidas estadísticas en general son calculadas automáticamente por los lenguajes o paquetes de simulación.

Page 8: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 8 Prof. Dr. Ignacio Ponzoni

Verificación de Modelos• Si los contenidos actuales en determinado instante de tiempo son

muy altos, esto indica que hay una gran cantidad de entidades demoradas en el sistema.

• Si en un sistema de colas los contenidos actuales crecen en forma lineal con el tiempo, luego es posible que estemos en presencia de un sistema con colas inestables. Esto puede indicar la necesidad de agregar más servidores al sistema.

• Si el contador total para un determinado componente del sistema es cero, luego ningún item ha entrado en dicha componente.

• Por otra parte, si los contenidos actuales y el contador total son iguales a uno, esto indica la posibilidad de que una entidad haya capturado un recurso y nunca lo haya liberado.

• Una cuidadosa inspección de los valores de estas variables para distintas longitudes de corrida de la simulación puede ayudar a detectar errores lógicos y datos no especificados en el modelo.

Page 9: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 9 Prof. Dr. Ignacio Ponzoni

Calibración y Validación de Modelos

• La calibración es un proceso iterativo de comparación del modelo con el sistema real que mediante pequeños y sucesivos ajustes va refinando el modelo, haciéndolo cada vez más cercano a la realidad.

Page 10: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 10 Prof. Dr. Ignacio Ponzoni

Calibración y Validación de Modelos

SistemaReal

Modelo Inicial

Primera Revisióndel Modelo

Segunda Revisióndel Modelo

Revisión

Revisión

Revisión

Comparar el modelocon la realidad

Comparar el modelocon la realidad

Comparar el modelocon la realidad

Page 11: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 11 Prof. Dr. Ignacio Ponzoni

Calibración y Validación de Modelos

• La comparación entre el modelo y la realidad se lleva adelante mediante varios test, algunos subjetivos y otros objetivos.

• Los test subjetivos usualmente involucran personas, con conocimiento sobre uno o más aspectos del sistema, que emiten juicios de valor sobre el modelo y sus salidas.

• Los test objetivos siempre requieren datos sobre el comportamiento del sistema más los datos correspondientes producidos por el modelo. Luego, varios test estadísticos pueden realizarse para comparar los datos del sistema real con los obtenidos del modelo.

Page 12: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 12 Prof. Dr. Ignacio Ponzoni

Calibración y Validación de Modelos

• Este procedimiento iterativo de comparar el modelo con el sistema, revisando tanto el modelo conceptual como el operacional para ajustar y resolver cualquier deficiencia, se repite hasta que el modelo se considera lo suficientemente preciso.

• Un aspecto criticable de la calibración es que a lo largo de todo el proceso se utiliza un único conjunto de datos para ajustar el modelo.

• Una alternativa es obtener dos conjuntos de valores del sistema, en vez de uno solo, y utilizar el segundo para efectuar la “validación final”. Si el modelo no se ajusta bien para los datos del segundo conjunto, se debe iniciar un nuevo proceso de calibración.

Page 13: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 13 Prof. Dr. Ignacio Ponzoni

Fases de la Validación de Modelos

• Uno de los enfoques más empleados en la validación de modelos es el método formado por las siguientes tres fases:

Construir un modelo que posea una alta face vadility.

Validar las suposiciones del modelo.

Comparar las transformaciones de entrada-salida efectuadas

por el modelo con las transformaciones de entrada-salida

efectuadas por el sistema real.

Page 14: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 14 Prof. Dr. Ignacio Ponzoni

Validación de ModelosFace Validity

• El primer objetivo de un modelador es construir un modelo que resulte razonable para los usuarios del sistema y para aquellas personas con conocimiento sobre el sistema real a ser simulado.

• Los potenciales usuarios de un modelo de simulación deben estar estrechamente involucrados en la construcción del modelo desde su conceptualización hasta su implementación operacional.

• Esto debe asegurar un modelo con alto grado de realismo construido sobre la base de apropiadas suposiciones de la estructura del sistema y datos confiables.

Page 15: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 15 Prof. Dr. Ignacio Ponzoni

Validación de ModelosFace Validity

• Los análisis de sensibilidad pueden ser empleados para chequear la face validity de un modelo.

• Luego, al usuario de un modelo se le pregunta si el modelo se comporta como el sistema real cuando una o más variables de entrada son modificadas.

• Por ejemplo, en un sistema de colas, cuando la tasa de arribos se incrementa, las demoras, porcentajes de utilización y colas también crecen.

• Basándose en la experiencia y observación del sistema real, el modelador tendrá probablemente al menos una noción de la dirección en que cambia una variable de salida del modelo cuando cambia una variable de entrada.

Page 16: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 16 Prof. Dr. Ignacio Ponzoni

Validación de ModelosValidaciones de las Suposiciones del

Modelo

• Suposiciones del modelo pueden clasificarse en: estructurales, y de datos.

• Las suposiciones estructurales involucran cuestiones sobre como opera el sistema, incluyendo simplificaciones y abstracciones de la realidad.

• Las suposiciones de datos se basan en el análisis estadístico de datos confiables obtenidos del sistema.

Page 17: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 17 Prof. Dr. Ignacio Ponzoni

Validación de ModelosValidaciones de las

Suposiciones

• Por ejemplo, para un sistema de colas de un banco, la cantidad de cajeros (servidores), la cantidad de colas, y la disciplina y comportamiento de las colas son ejemplos de suposiciones estructurales, es decir, aspectos vinculados a la estructura y funcionamiento del sistema que se asumen a partir del comportamiento observado y la opinión de quienes conocen la operatoria del banco.

• Por otra parte, las distribuciones probabilísticas que siguen los tiempos entre arribos y los tiempos de servicio constituyen ejemplos de suposiciones de datos. Para estas suposiciones, las técnicas de validación emplean métodos estadísticos de bondad de ajuste tales como Chi-Cuadrado o Kolmogorov-Smirnov.

Page 18: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 18 Prof. Dr. Ignacio Ponzoni

Validación de ModelosTransformaciones de Entrada-Salida

• El último test del modelo, el cual es en definitiva el único test completamente objetivo del modelo, evalúa la capacidad del modelo de simulación para predecir el comportamiento del sistema real.

• Es decir, cuando los valores de entrada del modelo coinciden con los valores de entrada del sistema real, los valores de salida obtenidos por la simulación deberían reflejar la salida del sistema real.

Page 19: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 19 Prof. Dr. Ignacio Ponzoni

• En esta fase del proceso de validación, el modelo es visto como un caja negra que transforma datos de entrada en datos de salida.

• Básicamente, se trabaja comparando las medidas de desempeño del sistema real (datos de salida) para distintas posibles configuraciones de los parámetros y valores de las variables de entrada del sistema generados aleatoriamente o tomados de registros históricos.

• Estos tests consisten en comparar estadísticamente los datos de salida del sistema real con los valores obtenidos por la simulación.

Validación de ModelosTransformaciones de Entrada-Salida

Page 20: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 20 Prof. Dr. Ignacio Ponzoni

• La validación de transformación de entrada-salida del modelo requiere de la existencia de alguna variante del sistema real bajo estudio a fin de contar con datos para efectuar la comparación.

• Si no se cuenta con al menos una versión del sistema real, la validación de transformación de entrada-salida no puede llevarse a cabo.

• En algunas situaciones, cuando se está construyendo un nuevo modelo para un sistema, y si no se cuenta con el sistema real pero si con un modelo validado de dicho sistema, la comparación puede efectuarse entre el modelo validado y el modelo propuesto.

Validación de ModelosTransformaciones de Entrada-Salida

Page 21: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 21 Prof. Dr. Ignacio Ponzoni

Validación de ModelosEntrada-Salida utilizando Datos

Históricos

• En general, cuando uno puede obtener la salida del sistema real para cualquier combinación de valores de entrada, los datos de entrada para efectuar la validación son generados en forma aleatoria.

• Para algunos sistemas, sólo es posible trabajar con datos de entrada y salida históricos.

• En estos casos es necesario asegurar que la comparación entre el sistema real y el modelo de simulación sea justa en términos de las condiciones bajo las cuales se obtuvieron los datos históricos.

Page 22: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 22 Prof. Dr. Ignacio Ponzoni

Validación de ModelosEntrada-Salida utilizando Datos

Históricos

• Por un lado, es necesario asegurarse de que los datos de entrada y salida del sistema recolectados correspondan al mismo período de tiempo.

• Por otra parte, se deben reproducir correctamente las condiciones operativas e identificar situaciones especiales que hayan tenido injerencia en los valores de salida del sistema real en el momento de relevar los datos históricos.

Page 23: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 23 Prof. Dr. Ignacio Ponzoni

Validación de ModelosEntrada-Salida utilizando el Test de

Turing

• Además de los test estadísticos, o cuando los test estadísticos no son aplicables, personas con conocimiento sobre el comportamiento del sistema pueden ser empleadas en el proceso de validación mediante la realización de Tests de Turing.

• Por ejemplo, suponga que 5 reportes correspondientes al funcionamiento de un sistema durante 5 días son efectuados por expertos con acabados conocimiento del sistema y mezclados con otros 5 reportes generados automáticamente por el modelo de simulación.

• Los 10 reportes con el mismo formato.

Page 24: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 24 Prof. Dr. Ignacio Ponzoni

• Se dan dichos reportes a los gerentes y personal de la empresa acostumbrada a leer regularmente este tipo de documentos vinculados con el desempeño del sistema.

• Si estas personas pueden distinguir buena parte de los reportes generados por la simulación de los redactados por los expertos, el modelo necesita ser corregido. Sino, se considera que el modelo es suficientemente preciso y cercano al sistema real.

Validación de ModelosEntrada-Salida utilizando el Test de

Turing

Page 25: Simulación Dr. Ignacio Ponzoni Clase XIX: Verificación y Validación de Modelos de Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad

Simulación 25 Prof. Dr. Ignacio Ponzoni

Recomendaciones

• Lectura sugerida:

Capítulo 10 del libro Discrete-Event System Simulation de Banks, Carson, Nelson y Nicol.

Capítulo 10 del libro Computer Simulation in Management Science de Pidd.