Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 6
Tema 6
- Verificacin y Validacin
6.1.- Introduccin
Dado que el modelo es una abstraccin del sistema real debemos preguntarnos si existe una
correspondencia entre el sistema real y el modelo.
Los trminos ms usados para describir el proceso mediante el cual el modelo es una
representacin creble del sistema real son verificacin y validacin del modelo.
La verificacin se refiere a la construccin correcta de un modelo. Se puede definir
verificacin como el proceso de determinar si la lgica operacional del modelo (programa de
ordenador) se corresponde con la lgica del diseo. En trminos ms simples, consiste en determinar
si hay errores en el programa.
La validacin se refiere a la construccin de un modelo correcto. La validacin es el proceso
de determinar si el modelo, como abstraccin, es una buena representacin del sistema.
Usualmente la validacin se consigue a travs de la calibracin del modelo, en un proceso
iterativo de comparacin del comportamiento del modelo con el del sistema y usar las diferencias
entre ambos para mejorar el modelo. Este proceso se repite hasta que el modelo se considera
aceptable.
Verificacin y Validacin
En este captulo vamos a describir mtodos que han sido recomendados y usados en la
verificacin y validacin del modelo. La mayora de los mtodos son comparaciones subjetivas
informales mientras que unos pocos son procesos estadsticos formales.
94
Verificacin y Validacin
Para construir el modelo conceptual se necesita identificar aquellos elementos del sistema real
que van a ser incluidos en el modelo, as como los sucesos que ocurren. En esta etapa se deben
identificar las variables exgenas y endgenas, sucesos externos, variables de estado y medidas de
ejecucin. Despus de identificar dichos elementos se han de presentar a los usuarios y
administradores del sistema para establecer que el modelo contiene los aspectos necesarios del sistema
para responder a las cuestiones planteadas. Vemos que la validacin comienza desde la primera etapa
de desarrollo del modelo.
Una vez que se tiene el modelo conceptual se pasa a desarrollar el modelo lgico, el cual
incorpora los elementos, sucesos y variables incluidas en el modelo anterior. Puede ocurrir que durante
esta etapa se descubran fallos en el modelo conceptual, lo cual implicara una nueva revisin del
modelo.
El proceso de comprar el modelo lgico con modelo conceptual implica validacin y
verificacin. El modelo lgico debe ser una representacin adecuada de la lgica del modelo
conceptual.
Una vez que el modelo ha sido programado, se ha de verificar que como tal programa no
contiene errores y que es una correcta representacin del modelo lgico. Para terminar se ha de validar
el modelo comprobando que es una correcta representacin del sistema real y por tanto puede
responder de forma fiable a las cuestiones planteadas en la fase de construccin del modelo
conceptual.
No existen un mtodo o un conjunto de tcnicas para verificar y validar el modelo de
simulacin y el proceso es ms un arte que una ciencia.
En la Tabla 6.1 podemos resumir el papel que la verificacin y la validacin desempean en
la simulacin.
Nivel de Modelizacin
Verificacin
Modelo Conceptual
Modelo Lgico
Modelo de ordenador/Modelo
de Simulacin
Validacin
Contiene el modelo todos los
elementos, sucesos, y relaciones
relevantes?
Podr el modelo responder a
las cuestiones planteadas?
Incluye el modelo todos los
elementos considerados en el
modelo conceptual?
Contiene todas las relaciones
del modelo conceptual?
Es el modelo una
representacin vlida del
sistema real?
Puede el modelo duplicar el
comportamiento del sistema
real?
Es creble el modelo para los
expertos del sistema?
95
Verificacin y Validacin
Suceso i
Conexin Incondicional
Conexin Condicional
96
Verificacin y Validacin
Sucesos
1. Llegada del Cliente.
4. Cajero termina.
5. Empaquetador empieza.
6. Empaquetador termina.
7. Salida del Cliente.
~ =Enlace condicional.
La representacin grfica puede ser til como un puente entre el modelo conceptual y el
modelo lgico y adems puede servir como una poderosa herramienta de ayuda a la comunicacin
entre analistas y las personas que tratan el sistema. De forma similar al grafo de sucesos se puede
utilizar el diagrama de flujo del modelo, que representa el flujo de entidades a travs del sistema
(segn la aproximacin elegida en el desarrollo del modelo).
Incluir todos los aspectos del sistema real que parecen influir en su comportamiento y
luego simplificar el modelo para quedarse slo aquellos elementos que son ms
relevantes.
Empezar con un modelo simple del sistema real e ir aadiendo complejidad a ste hasta
llegar a tener elementos suficientes para responder a las cuestiones planteadas.
Hacer un gasto inicial de esfuerzo y tiempo tratando de identific ar los elementos del
sistema que tienen mayor importancia para responder a las cuestiones planteadas.
Antes de pasar a construir el modelo lgico se ha de estar seguro que el modelo conceptual es
una buena abstraccin del sistema real.
En el ejemplo del supermercado se pueden identificar los siguientes elementos, para ser
incluidos en el modelo conceptual:
Sucesos
Llegada del Cliente.
Cliente selecciona caja.
97
Verificacin y Validacin
Cajero empieza.
Cajero termina.
Empaquetador empieza.
Empaquetador termina.
Salida del Cliente.
Facilidades
Cajeros
Empaquetadores
Variables de estado
Nmero de clientes en cada cola
Estado de los cajeros (libre, ocupado)
Estado de los empaquetadores (libre, ocupado)
Medidas de ejecucin
Tiempo de espera de los clientes
Utilizacin de los cajeros
Utilizacin de los empaquetadores
Variables de decisin
Nmero de cajeros
Nmero de empaquetadores
Nmero de cajas rpidas
Nmero mximo de productos para poder utilizar una caja rpida
Reglas de operacin
Los clientes seleccionan siempre la caja que tenga menos clientes en cola
No existen movimientos de clientes de una cola a otra
Aspectos del sistema real que no se han incluido
Desplazamientos de los clientes de una cola a otra
Qu ocurre cuando no se cumple las reglas de las cajas rpidas
Picos en las llegadas de los clientes
Fallos en los equipos
Absentismo de los cajeros o de los empaquetadores
98
Verificacin y Validacin
conexiones entre ellos. Por ltimo se ha de verificar que todas las variables de estado cambian
correctamente ante la ocurrencia del suceso que las afectan.
Un mtodo que se puede utilizar para la verificacin y validacin del procesamiento de los
sucesos dentro del modelo lgico es una revisin en la que el desarrollador del modelo lgico debe
explicar con detalle la lgica del modelo a los otros miembros del proyecto de simulacin.
Verificacin y Validacin
modelo de ordenador es una de las pocas actividades en el proceso de simulacin en la que el analista
no recibe ayuda por parte de los administradores y usuarios del sistema.
Las siguientes aproximaciones se pueden utilizar para verificar el modelo de ordenador:
Trazas de simulacin
Diseo descendente: el programa se disea comenzando por el nivel ms alto, que est
descompuesto en mdulos los cuales a su vez se pueden volver a descomponer.
Refinamiento por pasos: cada mdulo se desarrolla usando un refinamiento paso a paso
de la funcin final que tendr dicho mdulo.
Estructuras de control: todo el cdigo se debe poder escribir con las estructuras IFTHEN-ELSE, WHILE, REPEAT-UNTIL, FOR y CASE.
6.5.3.- Tests
Pasar tests al programa consiste en realizar una serie de pruebas controladas sobre l. Los dos
tipos de tests ms comunes son los tests ascendentes y los descendentes. En los tests ascendentes se
comienza por comprobar los mdulos bsicos y luego se pasa a probar las interrelaciones entre ellos
hasta que el modelo ha sido probado como un nico sistema.
En el diseo descendente las pruebas comienzan con el mdulo principal y van bajando hasta
los mdulos bsicos.
100
Verificacin y Validacin
Una vez que el modelo ha sido probado, se debe ejecutar bajo condiciones extremas. En el
ejemplo del supermercado, se debe probar el modelo cuando la proporcin de llegadas de clientes es
mayor que la capacidad de servicio por parte de los cajeros. De forma similar se puede simular el
supermercado con una razn de llegada muy baja.
101
Verificacin y Validacin
Ha de quedar claro que la validacin no es algo que se ha de hacer cuando el modelo ha sido
desarrollado, sino que ha de hacerse desde el principio.
Vamos a ver una serie de mtodos de validacin como:
Comparacin de los resultados de salida del modelo con los del sistema real.
Mtodo Delphi.
Test de Turing.
6.6.1.- Comparacin de los resultados de salida del modelo con los del
sistema real
Este mtodo se podr aplicar en aquellos casos en los que el sistema exista y se pueda
experimentar con l de forma que se obtengan datos de salida del mismo.
Este mtodo consiste en ejecutar el modelo y obtener una serie de datos de salida y comparar
stos, mediante algn mtodo estadstico, con resultados que se tengan del sistema.
Debemos comparar dos conjuntos de datos, de alguna forma, para determinar si el modelo es
una representacin adecuada del sistema real.
Una primera aproximacin sera utilizar uno de los test estadsticos clsicos (como Chicuadrado o Kolmogorov-Smirnov para dos muestras) para determinar si las distribuciones subyacentes
a los dos conjuntos de datos se pueden ver como la misma. Sin embargo, los procesos de salida de la
mayora de los sistemas reales y simulaciones no son estacionarios y son autocorrelados, de forma que
ninguno de estos tests es directamente aplicable.
Hay distintos mtodos de comparacin, a continuacin vamos a ver uno de ellos:
El modelo es una aproximacin del sistema real por lo que H0 es claramente falsa en la
mayora de los casos.
102
Verificacin y Validacin
Construir un intervalo de confiaza para es un caso especial del problema de comparar dos
sitemas. Podemos construir el intervalo de confianza utilizando la aproximacin Paired-t o la
aproximacin Welch.
La aproximacin de paired-t requiere que m=n pero permite que xj est correlada con yj. La
aproximacin de Welch se puede usar para cualesquiera valores de m=2 y n=2, pero requiere que los
xj s sean independientes de los yj s.
Suponemos que construimos un intervalo de confianza del 100(1-a)% para usando alguna
de las aproximaciones y obtenemos un lmite superior s(a) y un lmite inferior i(a) del intervalo
correspondiente. Si 0 [i ( ), s( )] , entonces la diferencia observada entre x y y se dice que es
estadsticamente significativa. Esto equivale a rechazar la hiptesis nula H 0 : x = y a favor de la
hiptesis alternativa H1 : x y .
Los nuevos cuestionarios se envan al grupo junto con las respuestas obtenidas a las
cuestiones en rondas anteriores.
Estos tres pasos se repiten hasta que el analista consiga de los expertos una prediccin de la
respuesta de sistema.
Una crtica de este mtodo es que consume mucho tiempo. No necesariamente debe suponer
un tiempo adicional en el proyecto de simulacin, ya que se puede ir realizando paralelamente al
desarrollo del modelo. Su costo puede resultar caro, pero no mucho ms que otros mtodos de
103
Verificacin y Validacin
validacin. En general, aunque se critique que los mtodos de validacin son caros y consumen
tiempo, ms costoso es construir un modelo que no sea vlido.
Otra crtica que se hace al mtodo es que si el grupo de expertos lo que va a hacer es predecir
el comportamiento del sistema por qu no usar el mtodo en lugar del modelo de simulacin? En
algunas situaciones este mtodo puede ser utilizado, sin embargo, normalmente no es prctico
mantener el grupo de expertos para predecir el comportamiento del sistema ante los posibles cambios
que se planteen. Incluso si se pudiera mantener el tiempo de respuesta podra ser muy largo.
104
Verificacin y Validacin
Observacin del sistema: Si existe el sistema real que se intenta simular o uno similar al
l debemos obtener datos de ste para usarlos en nuestro modelo. Estos datos puede que
estn disponibles en registros histricos o por el contrario puede que sea necesario
recolectarlos. Se ha de tener cuidado a la hora de recolectar datos de forma que se haga
correctamente, y que los datos que se recojan tengan un formato adecuado y sean
representativos del sistema que va a ser modelado. Por ejemplo si se recolectan datos de
un campo de pruebas militares, las condiciones de combate son diferentes a las de un
enfrentamiento real, por lo que los datos recogidos no van a ser representativos en el
caso de querer modelar un combate real. Si queremos simular un banco y observamos el
funcionamiento de uno para poder obtener la distribucin del tiempo entre llegadas, s
que estaramos recogiendo datos representativos.
105
Verificacin y Validacin
Teora existente: Por ejemplo si estamos simulando un banco, la teora existente nos
dice que la razn de llegada de los clientes, con bastante probabilidad, sigue una
variable exponencial.
En resumen podemos decir que para que el modelo que vamos a construir tenga una alta
apariencia de credibilidad y validez es necesario obtener toda la informacin posible acerca del
sistema y para esto es necesario interactuar con el administrador/cliente de forma regular durante todo
el transcurso del estudio de la simulacin y realizar una serie de revisiones de la informacin obtenida
para as comprobar que las informaciones locales obtenidas no son contradictorias.
En esta segunda etapa se ha de comprobar que las suposiciones hechas en las etapas anteriores
son ciertas.
Es importante que se usen datos representativos en la construccin del modelo y es igualmente
importante poner cuidado cuando se estructuran dichos datos. Por ejemplo, si para un mismo
106
Verificacin y Validacin
fenmeno aleatorio observamos varios conjuntos de datos, podemos utilizar todos estos conjuntos de
datos como una nica muestra slo si se comprueba la homogeneidad de dichos conjuntos (para ello su
puede utilizar el test de Kruskal-Wallis).
Otra herramienta til durante esta segunda fase es el anlisis del impacto de los valores de
entrada sobre las salidas. Si una salida es muy sensible a los cambios en ciertos aspectos del modelo,
dichos aspectos deben ser modelados ms cuidadosamente y se necesitar una mejor especificacin de
los mismos.
Verificacin y Validacin
Modelo
Inicial
Comparacin
Sistema
Real
1 Revisin
Modelo
2 Revisin
Modelo
Esta comparacin del modelo con el sistema real, se puede realizar a travs de conjuntos de
test, que pueden ser subjetivos u objetivos. Los primeros implican a personas que conocen aspectos
del sistema y pueden hacer juicios sobre el modelo. Los test objetivos necesitan datos sobre el
comportamiento del sistema para poder compararlos con los datos sobre el comportamiento del
modelo. Una posible crtica en este proceso de calibracin es que se llegue a validar el modelo con el
mismo conjunto de datos con el que se ha ido calibrando, lo cual puede significar que el modelo se
ajusta bien a ese conjunto de datos en particular. Para evitar este problema se puede recolectar un
nuevo conjunto de datos para ser usado en la etapa final de validacin. Si se descubren discrepancias
inaceptables entre el modelo y el sistema en la etapa de validacin, el modelador debe volver a la fase
de calibracin hasta que el modelo sea aceptable.
Las revisiones pueden ser formales o informales. Las informales son ms espontneas
mientras que las formales son ms estructuradas y necesitan ms planificacin y
preparacin. Ambas deben ser usadas durante el desarrollo de un producto software
grande.
Los miembros que han de formar parte del equipo de la revisin estructura son:
108
Verificacin y Validacin
No hay una demarcacin estricta de las responsabilidades de los miembros del equipo
de revisin y cualquier miembro puede manifestar cuestiones sin que pertenezcan a su
funcin especial en el equipo.
Durante la revisi n no se corrigen errores, sino que son anotados para que
posteriormente los desarrolladores puedan corregirlos.
Las revisiones estructuradas no deben ser muy largas, tpicamente suelen durar como
mucho una hora.
La misin principal de las revisiones es enc ontrar fallos que los desarrolladores no
hayan detectado.
6.10.- Conclusiones
Para realizar la simulacin se ha de determinar qu aspectos del sistema real necesitan
incorporarse al modelo y qu aspecto se deben ignorar.
Vamos a describir algunas lneas para determinar el nivel de detalle necesario en el modelo de
simulacin:
Definir cuidadosamente, al principio del estudio, las cuestiones de inters tales como las
medidas de ejecucin, la forma en la que el modelo va a ser usado y las configuraciones
alternativas del sistema de inters. Los modelos no son universalmente vlidos, sino que
son diseados para propsitos especficos. Si las cuestiones de inters no se especifican
no se puede saber si se ha conseguido el nivel de detalle deseado en el modelo.
109
Verificacin y Validacin
Uno de los errores puede ser incluir una excesiva cantidad de detalles en el modelo. Es
mejor empezar con un mode lo moderadamente detallado y posteriormente incluir ms
detalles si se considera necesario.
Si son muchos los aspectos de inters que hay que estudiar, es conveniente usar un
modelo sin refinar o un modelo analtico para identificar los factores importantes antes
de desarrollar un modelo de simulacin detallado.
Para incrementar la credibilidad en el modelo y conseguir que este sea usado, es conveniente
que participen en el proceso de su construccin los administradores del sistema.
110