Simulación en procesos de decisión. En procesos de decisión existen distintos
modelos según el tipo de decisión que se quiera tomar. 1.- tomada una sola vez
...
SED en procesos de decisión Facilidades en Computación-Simulación Clase nro. 15
Simulación en procesos de decisión •
El objetivo principal de la simulación es proveer de información que permita tomar alguna decisión.
•
Muchas veces en el proceso de crear el modelo, recolectar y analizar datos y resultados, es común que perdamos las perspectiva de los propósitos para el cual lo estamos diseñando.
•
Por ello no debemos perder de vista el contexto del modelo que estamos usando; observar la necesidad e importancia de plantear: objetivos claros, un modelo creíble, datos confiables y resultados pertinentes.
1
Simulación en procesos de decisión En procesos de decisión existen distintos modelos según el tipo de decisión que se quiera tomar. 1.- tomada una sola vez (one-off models). 2.- tomada una y otra vez durante largos períodos (long term use). 3.- en donde influyen mayormente los costos (cost models).
Modelos para decisiones casuales (puntuales) Se utilizan por ejemplo en los siguientes tipos de problemas: - cuándo y qué equipo se debe comprar, - cuándo y cómo re-acomodar facilidades (ej. número de cajas), - mejora de equipamiento en la producción, o para decidir qué tipo de producción realizar con el mismo equipamiento.
2
Modelos en decisiones puntuales (2) • El que toma la decisión estará muy interesado en los resultados de la simulación y querrá participar en el desarrollo del modelo y su validación. Por eso es importante que el modelo sea creíble y de fácil uso. • Los datos a incluir deben ser confiables y seguros, pero, como se usarán una sola vez, la recolección de datos no tiene porqué ser del todo rigurosa o profesional, pero bien fundamentadas las hipótesis.
Modelos para decisiones repetitivas • Las decisiones se tomarán una y otra vez, en casos como los siguientes: – distribución de presupuestos basados en prestaciones pasadas y proyecciones al futuro. – gestión del tránsito, calles, carreteras, semáforos. – planificación de potencial humano.
3
Modelos para decisiones repetitivas • Estos modelos deben ser flexibles y robustos ante los cambios en a) datos de entrada, b) actividades o c) políticas empresariales.
• Es necesario una actualización muy segura de los datos de ingreso. • El modelo deberá estar integrado a la recolección de datos y al sistema de información propios de la empresa. Estos sistemas son llamados Sistema de Apoyo a la Decisión, Decision Support System (DSS).
Modelos para decisiones basadas en costos • Algunas simulaciones pueden proveer resultados medibles en términos de costos, otras no. Por ejemplo, algunos costos relacionados con salarios son precisos, pero otros costos referentes a los largos de las colas no lo son. • Los costos van a depender del modelo subyacente y del modelo de costos definido. • Aquellos elementos que se se mantienen incambiables durante la simulación (por ejemplo recursos) se usan como base para costos fijos. • Sin embargo las actividades generan costos variables.
4
Modelos para decisiones basadas en costos (2) • Ejemplo: – en el sistema del hospital un costo fijo puede ser el costo por personal asignado a la sala de internaciones, cuyo número dependerá del número de camas. – sin embargo el costo por remedios y exámenes realizados es variable ya que dependerá del número de pacientes internados. – los gastos de mantenimiento edilicio se pueden considerar como fijos ya que no variarán a causa de los distintos niveles de los factores de la simulación.
Modelos para decisiones basadas en costos (3) • Pueden existir distintas opiniones acerca de cuáles son los costos a definir como fijos o variables. • Por ejemplo, la contratación de las nurses para la sala de internación, (y el pago de sus salarios), podría ejecutarse solamente durante los períodos durante los cuales hay pacientes internados en la sala, sin tener en cuenta el número de camas. • Recomendación: seguir las políticas de la organización o empresa que se está simulando, salvo que se demuestre que es errónea.
5
Modelos para decisiones basadas en costos (4) • Estas son las bases que definen el modelo de costos, éste debe estar relacionado con el modelo de la simulación. • El modelo de costos puede estar: – incorporado a la estructura y la lógica del programa de simulación o – aplicado simplemente a la salida del mismo. Para esto último es recomendable utilizar paquetes de específicos de planificación financiera.
• La decisión de cómo aplicar el modelo de costos y cómo obtener los datos, va a depender de las circunstancias y de las decisiones que se deben tomar.
Modelos matemáticos vs. simulación (ventajas ?)
• Definido un problema a resolver, el primer paso en la construcción del modelo es definir objetivos y derivar hipótesis. • A partir de esta etapa se debe definir la técnica de modelado a usar. • Por lo general, cada profesional tiene su preferencia y optará por una técnica en una etapa temprana del proyecto. Inevitablemente la elección de la técnica de modelado, va a afectar la forma en que los objetivos sean expresados. También influirá en cuán ajustada serán, tanto la definición de esos objetivos, como la de las hipótesis que se planteen.
6
Ventajas - modelos de simulación • La simulación es una técnica descriptiva de modelar muy efectiva para explorar sistemas estocásticos. • A diferencia de, por ejemplo, la programación lineal, la simulación no requiere de la definición y solución de una función objetivo. De todos modos, es necesario expresar claramente los objetivos para determinar la estructura del modelo, las entradas y las salidas. • Todo modelo, ya sea matemático o de simulación están basados en hipótesis. Algunas de esas hipótesis son consecuencia de los objetivos planteados otras son consecuencia de la técnica de modelado utilizada.
Ventajas - modelos de simulación (2) • Los modelos matemáticos analíticos, requieren, por lo general, de una mayor cantidad de hipótesis (restrictivas) que un modelo de simulación. Ejemplo: las siguientes hipótesis deben ser tomadas en un modelo matemático, pero no necesariamente en un modelo de simulación: – las distribuciones de arribos y servicios deben ajustarse al molde exacto de una distribución conocida . – las características propias de cada entidad no podrán influir en su pasaje por el sistema. – los eventos suceden en puntos discretos (y equidistantes) de tiempo.
7
Ventajas - modelos de simulación (3) • Sin embargo, debido a su flexibilidad existe el riesgo de que los modelos de simulación resulten muy complicados. Esta complejidad se podría evitar mediante el uso de técnicas de desarrollo en etapas (como la propuesta en el Cap. 8 validación y verificación). • Los modelos de simulación tienen además otras característica que lo hacen ventajoso, ofrece mayor – credibilidad, – robustez, – facilidades de uso.
Siempre que estos aspectos no se descuiden en el desarrollo del sistema.
Credibilidad • Para tenerle confianza a un modelo, el usuario debe poder entender cómo trabaja el modelo, además de tener claras las hipótesis planteadas y sus consecuencias. • El usuario debe poder chequear que el modelo se comporta, en sus aspectos importantes, como el sistema lo hace en la realidad. Esto es especialmente relevante en modelos de decisiones puntuales donde el usuario querrá participar en el desarrollo del modelo. • Los modelos estocásticos más simples (markovianos) y de simulación sincrónica (que se mueven en intervalos de tiempos regulares) son, en general, fáciles de entender.
8
Credibilidad • Aquellos modelos que reflejen pobremente las propiedades del sistema pueden perder credibilidad. (modelo y planteo analítico: mayor cantidad de hipótesis restrictivas, menor comprensión) • La gran ventaja de la simulación a eventos discretos, es que se puede seguir muy de cerca la lógica y el flujo del sistema que se modela. • Si la simulación refleja apropiadamente las propiedades del sistema y además está bien documentada, y entendible desde el punto de vista de usuario, entonces será CREIBLE.
Robustez • Esta propiedad es importante en modelos que serán utilizados muchas veces, en localidades distintas; por lo que debe ser robusto ante cambios, tanto en los datos de entrada como en las distintas estructuras definidas. • La simulación es mucho más flexible que los modelos analíticos, en el sentido de permitir la introducción de cambios en la lógica o el agregado de complejidades al modelo. El método de las tres fases es el más robusto ante este tipo de cambios.
9
Facilidades de uso • Se refiere más a la forma de implementación del método que del modelo en sí. • Los modelos de simulación que proveen facilidades en el ingreso de datos e interacción con el modelo son apropiados para que puedan ser usados fácilmente por el que va a tomar la decisión.
Tipos de simulación y toma de decisión • En la simulación predictiva nos interesamos por los resultados absolutos finales, no por las comparaciones. Determinamos promedios e intervalos de confianza de una corrida de simulación con valores específicos en las variables de decisión (varias corridas, mejores resultados). • Este tipo de simulación se puede utilizar para realizar pronósticos, por lo que es necesario contar con datos históricos de entrada confiables, se utiliza en procesos de decisiones que se repiten, por lo tanto debiera estar integrada en un DSS. (Ejemplo: predecir el número de pacientes que necesitan transplante de riñón).
10
Tipos de simulación y toma de decisión • En la simulación comparativa determinamos cuando una opción es mejor que otra. (1 cola vs. 4 colas). – Se debe especificar detalladamente que significado tiene la palabra "mejor", para definir cuales serán los datos de salida a comparar. ¿Mejor significa mantener las colas lo más cortas posibles o es un compromiso entre tiempo de servicio, largo de cola y costo por servidor? – Si los objetivos no son claros, se proveerá de un rango variado de resultados, que le permitan al usuario definir a posteriori la importancia relativa de cada uno de ellos. – Si los resultados o los datos de salida son claros se puede usar técnicas de hipótesis estadística de los resultados (cap 5.7.5 diferencia entre valores medios). – Se puede usar para tomar decisiones casuales o repetitivas, utilizar datos de entrada y salidas confiables.
Tipos de simulación y toma de decisión • La simulación investigativa indica factores que afectan el flujo de entidades en el sistema pero no requiere de respuestas precisas, por lo que la calidad de los datos de entrada no son críticos. • La técnica de simulación visual interactiva es adecuada para apoyar la toma de decisiones.
11
Simulación como caja negra (para clarificar los objetivos) • Pensando al modelo como parte de un proceso de toma de decisiones, es conveniente, a veces, considerar el modelo como una caja negra, de donde salen flechas con datos, derivados directamente de los objetivos (y que difieren de un problema a otro) y a donde ingresan flechas con datos relacionados estrechamente con las hipótesis de trabajo del modelo. • En la fig 13.1 vemos la representación de un modelo simple de colas y en la fig 13.2 la del sistema del hospital. Las variables de decisión están subrayadas; se omiten aquellos factores no relevantes para la salida del modelo. (ej. características de las entidades).
Planteando objetivos • Estos diagramas colaboran en: – la identificación de los requerimientos de los datos de entrada y de las variables de decisión, – proveen información para requerimientos de la recolección de datos y la validación, – determinar los requerimientos de los datos de salida. • Los objetivos no siempre se formulan de la manera apropiada y requerida por la técnica de simulación. Muchas veces lo que normalmente sería un dato de entrada, se convierte en un dato de salida, y por lo tanto se invierten las flechas de salida y entrada del diagrama.
12
Planteando objetivos Ejemplo: – Un objetivo en el sistema del hospital podría ser: Dado que tenemos asignado una cierta cantidad de dinero, determinar la mejor cantidad de camas y los tiempos de apertura de la sala para tratar la mayor cantidad de pacientes. – Esto requiere de una optimización y además incorpora costos al sistema. • La técnica discutida en este curso no es apropiada para problemas de optimización. Sin embargo se puede obtener una aproximación, mediante la técnica de PROBAR diferente niveles, hasta encontrar uno que cumpla con el criterio solicitado.
Datos de entrada y salida de la simulación • Vimos – lo difícil de la recolección y tratamiento de datos de entrada o de salida. – el tipo de datos de entrada que deben utilizarse en modelos de decisión casual o repetitiva. – cómo tratar los resultados obtenidos según el tipo de decisión que se va a tomar • En la fig 13.4 vemos un diagrama que muestra la simulación como parte de un sistema de apoyo a la decisión, DSS . • La base de datos provee los datos de las entidades, los tiempos de las actividades y las condiciones iniciales.
13
Datos de entrada y salida de la simulación (2) • Por separado se proveen: • Las variables de decisión, • sus niveles, • así como sus políticas de operación. • La simulación provee salida visual, • Los resultados se envían a paquetes estadísticos o financieros para ser analizados.
Recomendaciones: variables de decisión • Proveer valores por defecto (default) y ser robusto ante errores del usuario (el programa permitirá cambiar las variables de decisión). • El usuario debe tener oportunidad de arrepentirse de lo escrito (undo). • Facilidades para el cambio de niveles en simulaciones interactivas. • Factores que comunmente cambian sus valores: – disponibilidad de recursos, tasas de arribo y tiempos de servicio, – probabilidades de tomar diferentes decisiones y caminos en la simulación.
14
Recomendaciones: datos históricos • Existen otros datos que también pueden ser cambiados, como ser prácticas organizacionales. Estas influyen por ejemplo en determinados tiempos de actividades o su elección correspondiente. • En estos casos se recomienda (si se usan lenguajes rudimentarios) tener un sistema específico para el tratamiento de los datos (en archivos, en disco, y tener programas separados que los actualicen y lean, de modo de evitar el recompilado del programa).
Recomendaciones: condiciones iniciales • Algunas simulaciones (predicciones) necesitan partir de un estado inicial de las entidades. Para eso se requiere de la historia individual de cada entidad. Esta se utiliza para establecer las condiciones iniciales, colocando las entidades correspondientes en una lista o en el calendario con la información relativa a los eventos implicados. • Es conveniente tener toda la información en una base de datos y no ingresarla manualmente.
15
Facilidades en Computación Simulación
Facilidades • Lenguajes de Programación – Lenguajes de Simulación (SPL) – Lenguajes genéricos
• Animación • Representación del conocimiento – Reglas – Orientación a objetos
• Simulación prescriptiva. • Desarrollo de herramientas – Lenguaje Natural – generadores de modelos – herramientas descriptivas y/o específicas
• Ambientes de desarrollo
16
Otras facilidades • Ventajas del uso de Pascal como lenguaje de Simulación: – es fácil de enseñar, es portable y fácil de adaptar. – pero es pobre en muchos otros aspectos.
Otras facilidades (2) Facilidades importantes para modelado más ambicioso: – manejo independiente de las instrucciones de visualización y de la lógica de la simulación. – programación modular. – mecanismo de decisión de las entidades más adecuado a la realidad (no deben depender solamente de probabilidades determinadas a partir de observaciones anteriores y/o muestreos). – optimización automática de resultados. – interfaces que permitan al usuario describir y modelar el sistema sin tener que programarlo en lenguaje de programación. – el uso de paquetes de simulación rápidos y eficientes específicos para industria o instituciones. – el uso de un ambiente de modelado y simulación completo que incluya ingreso, análisis y presentación de datos y resultados.
17
Otras facilidades (3) • Desde fines de los 80 y comienzos de los 90, se han hecho accesibles todas estas facilidades de distintas maneras y en diversos paquetes y lenguajes. • Muchas de estas ventajas se han incluido en lenguajes específicos de simulación SPL: ECSL, SIMSCRIPT, GPSS, SIMULA, SLAM II, SIMAN. • Ver pag 233. • Actualmente: Arena, Extend, Promodel.
ANIMACION • Un procedimiento alternativo al de PascalSIM (confunde el código) es el que se muestra en la fig 14.1, en donde modelo y visualización se escriben por separado. • Cuando la simulación corre, produce salida con determinado formato que es interpretado por el animador. • La ventaja de este método es que la salida formateada puede salvarse (en un archivo p.ej) y correrse independientemente de la simulación. • Sistemas comerciales: CINEMA (SIMAN), TESS (SLAM II), MODSIM (SIMSCRIPTII).
18
Representación del conocimiento • Las características propias de las entidades pueden influir en el pasaje de las mismas a traves del sistema. • En muchos sistemas las entidades deben poder tomar decisiones autónomas basadas en mecanismos muy complejos de decisión. P.ej un robot realizará determinada actividad dependiento de los materiales existentes, el orden en el proceso de producción, de un orden de mantenimiento, etc... • Tomar decisiones complejas, se pueden simular mediante métodos basados en conocimientos, metodología de Inteligencia artificial.
Representación del conocimiento • Existen alternativas del tipo desarrollo de paquetes de simulación en lenguajes de inteligencia artificial orientados a objetos. • Las ventajas obtenidas son: – uso de reglas que permiten modelar decisiones complejas. – animación mediante objetos gráficos que son activados mediante el envío de mensajes – se pueden crear clases de entidades para varias simulaciones diferentes, cada simulación puede heredar los atributos de una clase y modificarla si fuera necesaria.
• Ej de paquete SimKit, Intentos de Pascal orientado a objetos: SIMONE (1976). (ver pag. 235)
19
Herramientas de desarrollo • Reducen el tiempo de programación o lo eliminan. • Generadores de programas – CAPS, DRAFT mediante diálogo estructurado (o diagrama de flujo) se genera el programa.
• Herramientas descriptivas – HOCUS, Inter_SIM. No se genera un programa, sino que el diálogo, se interpreta o ejecuta inmediatamente. Interacción permitida, pero no existe posibilidad de cambiar el programa.
Herramientas de desarrollo(2) • Interfaces de lenguaje natural – Existen intentos. El modelo se expresa en L.N. , luego se construye un diagrama de actividades. L.N. es demasiado general como para capturar los niveles de detalles necesarios en simulación. El lenguaje de simulación es necesario así como lo es el lenguaje matemático.
• Herramientas específicas – Se han desarrollado, por sobre todo en el área de producción manufacturera. También existen para la salud, tránsito, redes (TRANSIT, NETSIM, NETWORK, SIMFACTORY).
20
Herramientas de desarrollo(3) • Desventajas: – El rango "tipos de modelos" es limitado. – El lenguaje que utiliza es específico (máquinas, no entidades). – Métodos de análisis particulares a la aplicación y embebidos en el sistema.
• Para desarrollar herramientas de simulación específicas a una aplicación se debe utilizar un paquete basado en un lenguaje de alto nivel, de forma de disponer del código para poderlo adaptar a las necesidades específicas de la aplicación.
Ambientes de desarrollo • Un programa de simulación debe ser parte de un sistema de toma de decisiones • Las etapas de un proceso de simulación son tan importantes como la programación del modelo lógico y también necesitan soporte (software). • Existen muchas ventajas en el uso de un solo ambiente para todo el proceso de simulación. Los datos tienen un solo formato, están en un solo lugar y existe un solo conjunto de comandos para todas las tareas de la simulación.
21
Ambientes de desarrollo(2) • Existen muchas propuestas de ambientes de desarrollo para simulación con herramientas de: – programación (como ser SPL) – análisis de datos, inclusive ajuste de distribuciones. – gestión de datos, que realizan análisis y uso de datos recolectados y generados. – gestión de modelos, provee facilidades de almacenamiento y re-utilización de partes de modelos . – documentación, producción de documentos – animación, diseño, gestión y re-utilización de figuras.
22