Clase N°2 Validación de modelos de simulación ICS3723 Simulación Profesor Pedro Gazmuri

Preview:

Citation preview

Clase N°2Validación de modelos de simulación

ICS3723Simulación

Profesor Pedro Gazmuri

Validación de modelos de simulación

1. Conceptos claves2. Principios generales3. Ejemplo: proceso de manufactura4. Más principios generales5. Proceso de desarrollo de un modelo de simulación6. Técnicas de validación/verificación

1. Conceptos claves

i. Verificación: asegurar que el programa computacional haga bien lo que debe hacer

ii. Validación: asegurar que el modelo de simulación es una adecuada representación (o aproximación) del sistema real

iii. Credibilidad: cuando el modelo es aceptado como válido por el usuario, y éste lo utiliza para tomar decisiones

2. Principios generales

• Definir con claridad (al principio del estudio)o Los aspectos que se desea estudiar,o Las medidas de desempeño que se desea obtener del

modelo,o Las configuraciones alternativas que se desea evaluar.

Un modelo puede ser muy válido para ciertas medidas de desempeño de un sistema, pero puede no serlo para otras medidas de desempeño del mismo sistema.

2. Principios generales

• Identificar el usuario final del modelo y la frecuencia con que lo usará (esto impone limitaciones a la velocidad de ejecución del programa).

• Entender bien las realidades del cliente.• Desarrollar la formulación del problema en un

trabajo en equipo con personas claves de la empresa; también la construcción del modelo.

• Usar expertos (con experiencia en el desarrollo de modelos similares) para definir el grado de detalle del modelo y cuáles son las componentes más relevantes.

2. Principios generales

• Introducir en el modelo un grado de detalle “moderado” (no incluir más detalles de los estrictamente necesarios para abordar los aspectos de interés).

• El nivel de detalle de un modelo debe ser consistente con el tipo de datos disponibles.o Ejemplo: un modelo para diseñar un nuevo sistema de

manufactura deberá ser menos detallado que uno orientado a controlar y calibrar un sistema ya existente.

2. Principios generales

• Documentar en forma escrita todos los supuestos del modelo. Esto debe hacerse desde el principio del proyecto; si no, se pueden olvidar algunos.

• Desarrollar un modelo con high face validity, es decir, que en la superficie parezca razonable para personas conocedoras del sistema. Para ello, se debe usar toda la información disponible.

2. Principios generales

• Interactuar con el cliente o el gerente (manager) en forma regular a lo largo de todo el estudio. Existen muchas ventajas de esta interacción:I. Inicialmente el problema que se desea abordar

puede no estar bien definido; a través de la interacción esto se va corrigiendo y afinando.

II. Se mantiene el interés y el grado de compromiso del cliente.

2. Principios generales

III. Se aprovecha el conocimiento del cliente sobre el sistema, lo que contribuye a darle mayor validez al modelo.

IV. El modelo se hace más creíble, ya que el cliente entiende y acepta sus supuestos. El cliente aceptará que el modelo es bueno, ya que él mismo contribuyó a formularlo.

2. Principios generales

• Desarrollar un programa estructurado de trabajo con un equipo de personas claves (no sólo el cliente final).

• Ejemplo: simulación de proceso de manufactura en U.S.A.

3. Ejemplo: proceso de manufactura

• Equipo de personaso 2 modeladores (consultores)o 7 personas de la empresa

o1 Jefe de tallero2 Profesionales del Departamento de Planificacióno3 Ingenieroso1 Gerente

• Cada participante de la reunión recibió un documento escrito con todos los supuestos tentativos del modelo: ¡cerca de 160!

3. Ejemplo: proceso de manufactura

• Cada uno de estos supuestos fue analizado y discutido, en una reunión que duró 5 horas y media.

• Resultado: se detectaron varios supuestos erróneos, se agregaron algunos nuevos, y se resolvieron algunos aspectos relativos al grado de detalle del modelo.

• Al final, las 9 personas sintieron que tenían un modelo válido.

4. Más principios generales

• Una verificación completa del modelo es imposible.• La validación de un modelo debe desarrollarse

durante todo el ciclo de vida del modelo.

5. Proceso de desarrollo de un modelo de simulación

• Se propone una representación en que se interrelacionano Problem entity: el sistema, la situación, la política o el

fenómeno que se desea estudiar.o Conceptual model: la representación

matemática/lógica del problema que se desea estudiar.

o Computerized model: la implementación computacional del modelo conceptual.

5. Proceso de desarrollo de un modelo

• El modelo conceptual se desarrolla a través de una etapa de análisis y modelación.

• El modelo computacional se desarrolla a través de la programación computacional y la fase de implementación.

5. Proceso de desarrollo de un modelo

• La validación y verificación aparecen entonces en el proceso de desarrollo de varias maneras:o Conceptual model validation: determinar si las

teorías y supuestos que sustentan el modelo conceptual son correctas y que la representación lograda por el modelo es razonable para los propósitos declarados para el proyecto de simulación

o Computerized model verification: asegurar que el programa computacional es correcto.

5. Proceso de desarrollo de un modelo

o Operational validation: determinar que el output del modelo muestra la precisión suficiente para los propósitos del modelo en los dominios de aplicabilidad del mismo.

o Data validity: asegurar que los datos necesarios para construir el modelo, y para su evaluación y testeo y para conducir los experimentos que se requieren para resolver el problema son adecuados y correctos.

5. Proceso de desarrollo de un modelo

• Bajo este paradigma de validación se desarrollan varias versiones del modelo antes de declarar una completa satisfacción con el resultado. En cada iteración se desarrolla la validación y verificación.

• La propuesta para representar el proceso de desarrollo de un modelo aparece resumida en la siguiente figura:

Problem Entity(System)

ComputerizedModel

Conceptual Model

Operational Validation

Conceptual Model

Validation

Computerized Model

Verificacion

Data Validity

Experimentation Analysis and

Modeling

Computer Programming

and Implementation

6. Técnicas de validación/verificación

• Existen cinco tipos1. Informales2. Estáticas3. Dinámicas4. Simbólicas5. Formales

6. Técnicas de validación/verificación

1. Informales: procesos de auditoría de todo el proceso de desarrollo del modelo, de auto-inspección del proceso de programación, de chequeo de la documentación, de face validation.

6. Técnicas de validación/verificación

2. Estáticas: análisis de las características del código computacional, antes de correrlo.o Gráficos de causa-efecto.o Análisis de control: control de las llamadas del

programa, control del flujo del programa, etc.o Análisis de datos: se analizan las operaciones que se

aplican sobre los datos (estructuras de datos, listas de eventos, listas ligadas, etc.) y que los datos sean apropiadamente utilizados y definidos .

6. Técnicas de validación/verificación

3. Dinámicas: se trata de validar el modelo haciendo correr el programa y observando sus resultadoso Bottom-up testing: probar la validez de cada módulo

del programa.o Execution tracing: analizar en detalle la ejecución

del programa, recolectando información de detalle de la ejecución.

o Functional Testing: analizar la validez de la transformación input-output del modelo.

6. Técnicas de validación/verificación

4. Simbólicas: en este caso se usan datos simbólicos de entrada al modelo. Se genera un árbol de ejecución del programa, en que cada nodo del árbol es un punto de decisión del modelo y cada rama corresponde a una posible trayectoria del programa.

6. Técnicas de validación/verificación

5. Formales: se utilizan herramientas matemáticas y estadísticas para asegurar de la correctitud del programa computacional.

- Clean Room Development: estrategia de verificación desarrollada en un esquema de trabajo en equipo, en que se usan métodos matemáticos para la especificación de software, y métodos estadísticos. La construcción del programa es mucha más lenta, de modo de asegurar que cada etapa del desarrollo está correctamente realizada, antes de pasar a la siguiente. El objetivo es obtener un programa con 0 defectos (está asociada a 6 Sigma).

Recommended