11 DE AGOSTO AL 5 DE SEPTIEMBRE DE 2014
11 DE AGOSTO AL 5 DE SEPTIEMBRE DE 2014
SIMULACIÓN
Ing. Alberto M. LópezAsesor en Mejora de Productividad IndustrialINTI Mar del Plata
AGENDA DE TRABAJO
OBJETIVOS
• Brindar una introducción a la simulación
• Construir modelos de simulación simples
Teoría Práctica
Introducción
Conceptos básicos de simulación
Desarrollo de un modelo de simulación
Ejercicio 1: Ajuste de distribucionesEjercicio 2: Introducción a Simio. Modelo de una heladería
Simulación y optimización Ejercicio 3: Utilización de OptQuest para Simio
Teoría de Colas o Sistemas de espera Ejercicio 4: Sistemas de espera y simulación
INTRODUCCIÓN
La complejidad de los sistemas es una regla y no
una excepción
Tipos de modelos:
•Físicos•Analíticos•De Simulación
SISTEMA MODELO
PARÁMETROS
Características o
atributos del sistema
PARÁMETROS
Características o
atributos del modelo
SALIDASALIDA
CORRESPONDENCIA
ENTRADA
INFERENCIA
ENTRADACORRESPONDEN
CIA
¿QUÉ ES LA SIMULACIÓN?
Imitar la operación de un proceso o sistema real
Generación de una historia artificial de un sistema
¿Para qué se usa?
Inferir, describir y analizar el comportamiento de un sistema
Diseñar nuevos sistemas
VENTAJAS DE LA SIMULACIÓN
Modelar sistemas complejos, reales y con elementos estocásticos
Estimar la performance de un sistema existente considerando un conjunto de condiciones de operación proyectadas
Comparar diseños alternativos de un sistema para determinar cuál se ajusta mejor a los requerimientos
Mantener un mejor control sobre las condiciones experimentales
Estudiar un sistema con horizonte de tiempo largo en tiempos reducidos
Permite probar diferentes maneras de operar el sistema sin necesidad de experimentar en el sistema real y, lo mejor de todo, sin riesgo alguno.
Ámbitos de aplicación
Apoyo a la toma de decisiones
Decisiones Estratégicas:Construcción de un Centro de Distribución.Ampliación de una flota de camiones.Instalación de una línea de producción.Aumento de la capacidad de un Puerto.
Decisiones Tácticas:Políticas de inventario en un Centro de Distribución.Asignación de rutas para una flota de camiones.Programación de producción en una línea.Política de almacenamiento de containers
Decisiones Operativas:Despacho diario de camiones de reparto de productos.Ruta óptima de entrega de pedidos.Calendarización de recursos humanos.Ubicación óptima de recursos
RIESGO
Proceso de negocio
Apoyo a la toma de decisiones
Proceso de negocio
Complejidad
Falta de
informació
n
Incertidumbre
Aleatoriedad $
Decisiones poco acertadas
Incertidumbre:Ocurrencia de fallasEventos inesperadosMercado y demanda
inciertas
Aleatoriedad:Tiempos de procesos
variableDemanda variableVariabilidad en
general
Falta de información:Información histórica no
utilizadaPronósticos deficientesFalta de estudio e
investigación
Complejidad:Muchas variablesMuchas decisionesCorrelación e
interdependencia entre variables del procesos
Apoyo a la toma de decisiones
Proceso de negocio
SIMULACIÓN
Complejidad
Falta de
información
Incertidumbre
Aleatoriedad
Incertidumbre:Modelación de todo tipo de
eventos inciertosPredicción adecuada de la
demandaDisminución del riesgo
Modelación de la aleatoriedad:Modelos incorporan la
aleatoriedad existenteSe toma en cuenta la
variabilidadAnálisis sofisticado
Uso de información:Uso de información histórica de
la empresaRecolección y toma de datosAjuste y análisis de datos
Modelo de simulación:Incorpora complejidad de la
realidadModelo hecho a la medida del
procesoGran capacidad para
incorporar variables y procesos Decisiones
acertadas
Ahorros Indirectos de Dinero:Asignación adecuada de recursos aumenta la
productividadDisminución del tiempo de espera del cliente,
aumento de su satisfacciónDetección de actividades que no agregan valor
¿Cuándo conviene usar un modelo de simulación?
Inestabilidad y variabilidad del sistema
Existencia de diversos objetivos de análisis
Flujo dinámico del proceso
Funciones y restricciones no lineales
Carencia de datos certeros
Estudios de diferentes escenarios
Complejidad
Necesidad de visualización
Etapas del desarrollo de un modelo de simulaciónFormular el problema y planificar el estudio
Recolectar los datos y definir el modelo conceptual
¿Válido?
Desarrollar el programa computacional y verificar
Hacer corridas piloto
¿Quién es el cliente final?¿Quiénes tomarán las decisiones?¿Cuáles son los Problemas? ¿Cuáles son los Objetivos? ¿Cuáles son las características? ¿Cuáles son los recursos? ¿Qué se quiere responder con
Simulación?
¿Cómo se valida?
¿Cómo se valida?
NO
NOSÍ
SÍ
Diseñar experimentos Hacer corridas de producción
Analizar los resultadosDocumentar, presentar los resultados, implementar
¿Válido? Propuesta de ProyectoComponentes del Modelo Límites y Alcances Input y Output Tiempo de desarrollo
Proceso de desarrollo del modelo
Sistema
Modelo computacional
Modelo conceptual
Validación operacional
Validación del modelo
conceptual
Verificación del modelo computacional
Validación de datos
Experimentación Análsis y modelado
Programación computacional
Modelo de simulación. Conceptos y terminología
Entidades: objetos o individuos cuyas actividades modelamos. En un modelo puede haber diferentes clases.
Procesos: actividades en las que intervienen las entidades.
Recursos: elementos que actúan como restricciones en las actividades de las entidades. Son usados y liberados por otros objetos.
Atributos: son las propiedades o características de las entidades. Permiten describir cuantitativamente al sistema.
Modelo de simulación. Conceptos y terminología
Variables de estado: describen el estado del sistema en un instante dado.
Estado (de una entidad, un proceso o un recurso): situación en la que se encuentra en un momento determinado (ocupado, en cola, desocupado, bloqueado, fuera de turno, fallado, entre otros).
Evento: situación o hecho que hace cambiar el estado del sistema. Pueden ser seguros (ocurrirá indefectiblemente) o condicionales (sujeto al cumplimiento de condiciones).
Rutinas (código): dadas las variables de estado y los eventos es necesario definir la forma como los eventos modifican las variables de estado.
Modelo conceptual
Describir sistema a modelar
• Diagrama de flujo
• Supuestos
• Alcance
• Horizonte de la simulación
Modelo computacional
Programar los mecanismos que ejecuten los eventos en el orden correcto.
• Procesos a modelar
• Variables de input
• Variables de output
• Medidas de desempeño
Software específico de simulación
Variables de input
Los elementos aleatorios son modelados mediante variables aleatorias con sus distribuciones de probabilidades.
Ejemplos:-tiempos de procesos -demanda de los clientes.
Distribuciones de probabilidad (ejemplos)
Distribuciones de probabilidad (ejemplos)
Ejercicio 1Ajuste de distribuciones de probabilidad
Objetivo:•A partir de un conjunto de datos, generar variables aleatorias de entrada para utilizar en los modelos de simulación.
Ejercicio 1: Ajuste de distribuciones de probabilidad
Paso 1: Procesar los datos
Paso 2: Generar archivos de texto
Tiempo entre fallas Tiempo de reparación
Paso 3: Ajustar las distribuciones
Ejercicio 1: Ajuste de distribuciones de probabilidad
Random.Lognormal(2.11, 0.911) 1.+Random.Lognormal(1.96, 0.731)
Variables de outputLos resultados se miden a través de variables de salida o de output.
Los tipos de resultados que se obtienen de un modelo de simulación pueden ser:
•Conteos: durante un período determinado. Ejemplo: Cantidad producida en un mes•Recolección de valores: interesa el promedio, desviación estándar, máximo, mínimo o en general la distribución (histograma). Ejemplo: Tiempo de permanencia en el sistema•Variables en función del tiempo: en general interesa el promedio ponderado por el tiempo. También puede interesar el máximo o el mínimo. Ejemplos: Cantidad de productos en la fila de espera, Porcentaje de utilización de un recurso
Medidas de desempeñoPara evaluar el sistema y tomar una decisión.
Introducción al software SIMIO
SImulation Modeling framework based on Intelligent Objetcs = SIMIO
•Modelación en base a objetos inteligentes.
•Objetos inteligentes en SIMIO:– Objetos predefinidos incluidos en simio: librería estándar– Objetos creados por un usuario:
• Reutilización de un objeto predefinido• Composición de varios objetos predefinidos
•Un proyecto SIMIO es un conjunto de objetos.
SIMIO - Objetos
• Cada objeto en SIMIO tiene sus propios:– Procesos: lógica adicional para una modelación avanzada.– Elementos: componentes adicionales que entregan inteligencia al objeto.– Propiedades: parámetros fijos del objeto.– Estados: variables o atributos del objeto que cambian durante la
simulación.– Eventos: listado de “sucesos” que gatillan la ejecución de procesos u otros.
• Cada objeto en SIMIO es:– Definido: definición de comportamiento, propiedades, estados,
símbolo gráfico de un objeto.– Instanciado: ocurrencia de un objeto ya definido. símbolo(s)
gráfico(s), valor de las propiedades antes definidas.– Realizado (runspace): representaciones en la simulación de un
objeto instanciado. Cada realización de una instancia es única.
SIMIO – Tipos de objetosObjeto
inteligente
NodosLinksFijosAgentes
Entidades
Transportes
• Nodos: representan uniones, intersecciones, estaciones, etc.
• Links: representan vías, caminos, rutas, líneas, cables, etc.• Fijos: objetos que tienen una ubicación fija en el modelo• Agentes: objetos que se pueden crear y destruir durante la
simulación y que pueden moverse en un espacio continuo o discreto dentro del modelo:• Entidades: objetos que pueden tener un
comportamiento a través de un flujo de trabajo. Pueden moverse entre objetos.
• Transportes: Tipo de entidad que tiene la capacidad de mover y transportar otros objetos.
SIMIO – Entorno de trabajo
File
Cintas de opciones
Solapas del Model (objeto seleccionado)
Panel Librería
Panel Navigation
Panel PropiedadesFacility
SIMIO – Librería estándar de objetos
SIMIO – Objeto Source
Propiedades:•Entity Type•Arrival Mode•Time Offset•Interarrival Tme•Entities per Arrival•Maximum Arrivals•Maximum Time•Stop Event Name
SIMIO – Objeto Server
Propiedades:•Capacity Type•Initial Capacity•Ranking Rule•Dynamic Selection Rule•Transfer-in Time•Processing Time•Input Buffer•Output Buffer
Ejercicio 2Introducción a Simio. Modelo simple de una heladería
Objetivos:•Familiarizarse con el entorno de trabajo del software Simio•Construir un modelo de simulación simple a partir de la descripción de un sistema•Incorporar elementos de animación a un modelo de simulación•Analizar los resultados de un modelo de simulación
Ejercicio 2: Introducción a Simio. Modelo simple de una heladería
Sistema a modelar
Llegada de clientes
Atención del cliente
Pago del helado
Salida de clientes
Exponencial (0.5) minutos
2 empleados Triangular (0.4, 0.9, 1.5)
minutos
1 cajero Triangular (0.3, 0.4, 0.6)
minutos
Ejercicio 2: Introducción a Simio. Modelo simple de una heladería
Construcción del modelo Incorporación de animación
Ejercicio 2: Introducción a Simio. Modelo simple de una heladeríaAnálisis de resultados
12
13
15
14
17
16
18
Simulación y optimización
Consiste en encontrar el valor de una o más variables que
maximizan o minimizan una determinada función.
Existen restricciones que limitan los posibles valores que pueden tomar las variables.
¿Qué es optimización o programación matemática?
Ejemplo de optimización
REDDY MIKKS COMPANY
Reddy Mikks Company posee una pequeña fábrica de pinturas para interiores y exteriores de casas para su distribución mayorista. Se utilizan dos materiales básicos, A y B, para producir las pinturas. La disponibilidad máxima de A es de 6 toneladas diarias; la de B es de 8 toneladas por día. La necesidad diaria de la materia prima por tonelada de pintura para interiores y exteriores se resumen en la siguiente tabla:
Toneladas de materia prima por tonelada de pintura
Exterior InteriorDisponibilidad de máxima
(toneladas)
Materia prima A 1 2 6
Materia prima B 2 1 8
Un estudio de mercado ha establecido que la demanda diaria de pintura para interiores no puede ser mayor que la pintura para exteriores en más de una tonelada. Asimismo, el estudio señala que la demanda máxima de pintura para interiores está limitada a dos toneladas diarias.
El precio por tonelada es $3,000 para la pintura de exteriores y $2,000 para la pintura de interiores.
¿Cuánta pintura para exteriores e interiores debe producir la compañía todos los días para
maximizar el ingreso bruto?
Ejemplo de optimización
Ejemplo de optimización
Construcción del modelo matemático
La construcción de un modelo matemático se puede iniciar respondiendo las tres siguiente preguntas:
1.¿Qué busca determinar el modelo? Dicho de otra manera, ¿cuáles son las variables (incógnitas) del problema?
2.¿Qué restricciones deben imponerse a las variables a fin de satisfacer las limitaciones del sistema representado por el modelo?
3.¿Cuál es el objetivo (meta) que necesita alcanzarse para determinar la solución optima (mejor) de entre todos los valores factibles de las variables?
Ejemplo de optimización
Variables de decisión
Función objetivo
Ejemplo de optimización
RestriccionesEl problema impone restricciones sobre el uso de materias primas y sobre la demanda.
Ejemplo de optimización
El modelo matemático completo para el problema se puede resumir como:
Ejemplo de optimización
Solución gráfica
Cada punto contenido o situado en la frontera del espacio de soluciones ABCDEF satisface todas la restricciones y por consiguiente, representa un punto factible.
Simulación y optimización
Se deben definir los siguientes elementos:
•Controls: son variables o recursos del modelo, que son manipulados para cambiar el desempeño.
•Responses: son las variables de output del modelo, que se usarán para medir el desempeño del modelo de simulación.
•Constraints: relaciones analíticas entre Controls y/o Responses, que representan las restricciones del sistema y ayudan a acotar el espacio factible de soluciones.
•Objetive: expresión a maximizar o minimizar, que incluye una o más Responses y/o Controls.
Paquete OptQuest (viene incluido en muchos software de simulación)
Permite construir un modelo de optimización basado en la dinámica de un modelo de simulación
Ejercicio 3Simulación y optimización. Utilización de
OptQuest en Simio
Objetivo:•Plantear y resolver un modelo de optimización basado en un modelo de simulación.
Ejercicio 3. Simulación y optimización. Utilización de OptQuest en Simio
¿Cuál es la solución óptima?μ1 = 27 órdenes/horaμ2 = 16 órdenes/hora
Costo = $ 9900
Si elevar el cumplimiento del tiempo de entrega de las órdenes a un 95% implica un beneficio adicional de $3500, ¿es conveniente aumentar la capacidad de los puestos?
μ1 = 31 órdenes/horaμ2 = 21 órdenes/hora
Costo = $ 12550Beneficio adicional $ 3500Costo adicional $ 2650Neto $ 850
Teoría de colas
Es una formulación matemática empleada para optimizar sistemas en los que interactúan dos procesos normalmente aleatorios: un proceso de “llegada” y un proceso de “servicio”, en los que existen fenómenos de “acumulación de clientes en espera del servicio”, y donde
existen reglas definidas (prioridades) para la “prestación del servicio”.
¿Ejemplos?
Costos asociados a un sistema de colas
Los costos asociados a la espera de los clientes Los costos asociados a la expansión de la capacidad de servicio Los costes totales del sistema de servicio
Capacidad
Costo
Espera
Capacidad
Total
Costo óptimo
Modelo M/M/1
• Proceso de llegadas de Poisson (tiempo entre llegadas con distribución exponencial)• Tiempos de servicio con distribución exponencial• Un único servidor
Ejercicio 4Sistemas de espera y Simulación
Objetivos:•Resolver un problema de sistemas de espera.•Construir un modelo de simulación sencillo.•Comparar los resultados utilizando un modelo analítico (teoría de colas) y simulación.
Ejercicio 4. Sistemas de espera y Simulación
Resolución por Teoría de Colas
Indicador Modelo M/M/1
a. Porcentaje de utilización de la máquina [%] 75
b. Número promedio de partes en la fila de espera [u] 2,25
c. Número promedio de partes en el sistema [u] 3
d. Tiempo promedio de espera en la fila [horas] 0,15
e. Tiempo promedio de espera en el sistema [horas] 0,2
Llegadas Atención Salidas
Ejercicio 4. Sistemas de espera y Simulación
Comparación Teoría de Colas y Simulación
Indicador Modelo M/M/1
Modelo de simulación
a. Porcentaje de utilización de la máquina [%] 75 75,55
b. Número promedio de partes en la fila de espera [u] 2,25 2,64
c. Número promedio de partes en el sistema [u] 3 3,39
d. Tiempo promedio de espera en la fila [horas] 0,15 0,17
e. Tiempo promedio de espera en el sistema [horas] 0,2 0,22
Ejercicio 4. Sistemas de espera y Simulación
Comparación Teoría de Colas y Simulación
• Los resultados por simulación no concuerdan con los resultados de colas.
• Posibles razones por las que los resultados no concuerdan con lo esperado:
1. El modelo en Simio tiene errores en la programación;
2. Nuestra expectativa es incorrecta, es decir nuestra hipótesis de que los resultados por simulación deben concordar con la teoría de colas es falsa; y/o
3. Error de muestreo, es decir los resultados por simulación concuerdan en un sentido probabilístico, pero, o bien no hemos corrido el modelo por un tiempo suficiente, o bien estamos interpretando mal los resultados.
Ejercicio 4. Sistemas de espera y Simulación
Aumento de la cantidad de réplicas
Indicador
Modelo M/M/1
Modelo de simulación(1 réplica)
Modelo de simulación
(50 réplicas)
Modelo de simulación
(100 réplicas)
Modelo de simulación
(200 réplicas)
Promedio Promedio Promedio Mitad IC Promedio Mitad IC Promedio Mitad IC
a. Porcentaje de utilización de la máquina [%] 75 75,55 74,11 0,83 74,51 0,63 74,64 0,40
b. Número promedio de partes en la fila de espera [u] 2,25 2,64 2,11 0,15 2,22 0,13 2,21 0,08
c. Número promedio de partes en el sistema [u] 3 3,39 2,85 0,15 2,96 0,13 2,96 0,08
d. Tiempo promedio de espera en la fila [horas] 0,15 0,17 0,14 0,01 0,15 0,01 0,15 0,01
e. Tiempo promedio de espera en el sistema [horas] 0,2 0,22 0,19 0,01 0,20 0,01 0,20 0,01
Ejercicio 4. Sistemas de espera y Simulación
Estado transitorio y estado estable
• Periodo inicial transitorio: tiempo entre el inicio de la corrida y el tiempo en que el modelo “alcanza” el estado estable.
• Modelo en estado estable: el interés radica en el desempeño de largo plazo del modelo.– Desearíamos ignorar el periodo inicial transitorio. Opciones:
• Usar período de calentamiento • Empezar modelo “cerca” del estado estable• Tiempo de corrida grande para “limpiar” el sesgo inicial causado por la
inclusión del período de calentamiento
• Modelo transitorio: deseamos incluir el periodo inicial transitorio en nuestro análisis.
Ejercicio 4. Sistemas de espera y Simulación
Desestimar el período transitorio
IndicadorModelo M/M/1
Modelo de simulación
(50 réplicas)
Modelo de simulación
(100 réplicas)
Modelo de simulación
(200 réplicas)Promedio Promedio Mitad IC Promedio Mitad IC Promedio Mitad IC
a. Porcentaje de utilización de la máquina [%] 75 75,09 0,71 74,98 0,54 75,03 0,37
b. Número promedio de partes en la fila de espera [u] 2,25 2,23 0,14 2,27 0,11 2,25 0,08
c. Número promedio de partes en el sistema [u] 3 2,98 0,15 3,02 0,12 3,00 0,08
d. Tiempo promedio de espera en la fila [horas] 0,15 0,15 0,01 0,15 0,01 0,15 0,005
e. Tiempo promedio de espera en el sistema [horas] 0,2 0,20 0,01 0,20 0,01 0,20 0,005
Ejercicio 4. Sistemas de espera y Simulación
Comparación Final
Indicador Modelo M/M/1 Modelo de simulación
a. Porcentaje de utilización de la máquina [%] 75 75,03 ± 0,37
b. Número promedio de partes en la fila de espera [u] 2,25 2,25 ± 0,08
c. Número promedio de partes en el sistema [u] 3 3 ± 0,08
d. Tiempo promedio de espera en la fila [horas] 0,15 0,15 ± 0,005
e. Tiempo promedio de espera en el sistema [horas] 0,2 0,2 ± 0,005
Bibliografía complementaria
• Banks, J. (1998). Handbook of Simulation. New York: John Wiley and sons.
• Joines, J. A., & Roberts, S. D. (2012). Simulation modeling with SIMIO: a workbook (2nd ed.): Simio LLC.
• Kelton, W. D., Smith, J. S., & Sturrock, D. T. (2013). Simio and simulation: Modeling, analysis, applications. Third edition. Learning Solutions.
• Law, A. M. & Kelton, W. D. (2000). Simulation modeling and analysis: McGraw Hill Boston, MA.
• Law, A. M. (2008). How to build valid and credible simulation models. Paper presented at the Proceedings of the 40th Conference on Winter Simulation.
• Law, A. M., & McComas, M. G. (2002). Simulation-based optimization. Paper presented at the Proceedings of the 34th conference on Winter simulation.
• OptTek Systems, Inc.'s (2011). The OptQuest Engine Java and .NET Developer's Guide. Version 6.6. Disponible en: http://www.opttek.com/documentation/ v66engine/OptQuest %20Engine% 20Documentation/Default.htm
• Taha, Hamdy A. (2004). Investigación de operaciones. México: Alfaomega
11 DE AGOSTO AL 5 DE SEPTIEMBRE DE 2014
Instituto Nacional de Tecnología Industrial
Av. General Paz 5445
B1650WAB San Martín
Buenos Aires, Argentina
Ing. Alberto M. López
Muchas gracias por su atención!!!