54
TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Simulación Unidad IV: Promodel Material de clase desarrollado para la asignatura de Simulación para Ingeniería en Sistemas Computacionales SIMULACIÓN

Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Embed Size (px)

Citation preview

Page 1: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

TECNOLÓGICO NACIONAL DE MÉXICO

Ingeniería en Sistemas ComputacionalesSimulación

Unidad IV: PromodelMaterial de clase desarrollado para la asignatura de Simulación para Ingeniería en Sistemas

Computacionales

SIMULACIÓN

Page 2: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

Page 3: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Simulación con Promodel

• Simulación es la técnica que permite construir modelos de situaciones reales sujetos a experimentación y optimización.

• Actualmente existen herramientas computacionales que facilitan su construcción ya que al ser virtuales pueden hacerse cambios sobre ellos, sin afectar la realidad de la organización o empresa que se estudie.

SIMULACIÓN

Page 4: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Dentro de los modelos bajo estudio encontramos:

• Empresas de servicio, que en su mayoría experimentan largas colas de clientes esperando para ser atendidos.

• Otro modelo es el de una línea de producción dentro de una fábrica, donde existe una máquina que produce un cuello de botella debido a su insuficiente capacidad de procesar los trabajos que a ella llegan.

SIMULACIÓN

Page 5: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Las dos decisiones implican el riesgo de no producir el efecto deseado.

• En la práctica no es sensato proponer cambios de este tipo, sin poder predecir de antemano el impacto de éstos en base a modelos cuantitativos que permitan ser medidos y validados.

SIMULACIÓN

Page 6: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• ProModel es uno de los paquetes de software comercial de simulación más utilizados. • Cuenta con herramientas de

análisis y diseño que en conjunto con la animación de modelos, permite conocer y visualizar mejor el problema, con resultados más confiables.

SIMULACIÓN

Page 7: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

El software está integrado por los siguientes módulos:

SIMULACIÓN

Módulo DescripciónProModel Es el área de trabajo donde definimos el modelo y todos sus componentes.Editor Gráfico Herramienta para la presentación visual de todos los modelos realizados.Resultados Es una interfaz que facilita la administración, el manejo y el análisis de la

información, permite la interacción con hojas de cálculo de Excel.Stat-Fit Herramienta estadística que permite hacer pruebas de bondad de ajuste y

distribuciones de variables aleatorias.Editor de Turnos Permite asignar turnos de trabajo a los elementos del modelo si así lo requiere. Simrunner Herramienta para el análisis posterior del modelo, para diseñar opciones y conocer

el impacto en factores críticos, permitiendo discernir cual es la mejor opción en beneficio máximo al sistema.

Referencias y Ayuda

Estos módulos facilitan el uso y la programación del sistema.

Page 8: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• ProModel se puede utilizar como un medio muy efectivo para probar y generar nuevas ideas de diseño y mejoramiento, antes de realizar las inversiones y/o modificaciones necesarias para construir o mejorar estos sistemas.

En la misma forma sirve para identificar:• Cuellos de botella.• Seleccionar la alternativa que ofrezca la mejor relación costo-beneficio. • Análisis de sensibilidad.

SIMULACIÓN

Page 9: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Y se fundamenta en 4 pilares básicos:

SIMULACIÓN

Page 10: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Locaciones: Representan lugares físicos en el sistema, donde las entidades son dirigidas para procesamiento, almacenamiento, actividades, o toma de decisiones.

SIMULACIÓN

Page 11: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Entidades: Cualquier cosa que el modelo “procesa” es llamada entidad. Algunos ejemplos son los siguientes: partes, productos, gente y papeles en trámite.

SIMULACIÓN

Page 12: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Recursos: Son los mecanismos que requieren las entidades para completar una operación, pueden clasificarse en recursos estáticos, sin una ruta de movimiento, y dinámicos los que se mueven a través de la red.

SIMULACIÓN

Page 13: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Llegadas: Cada vez que una nueva entidad es introducida al sistema, se le conoce como llegada.

SIMULACIÓN

Page 14: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Otros elementos utilizados en el diseño de modelos son:• DownTimes -- Tiempos muertos: Paros en el sistema por mantenimiento de

maquinaria, ausentismo, hora de comida, fallas, etc.

• Path Networks – Redes físicas de caminos: Redes por donde se mueven las entidades o recursos.

SIMULACIÓN

Page 15: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Otros elementos utilizados en el diseño de modelos son:

• Variables: Tomadores de valores usados para representar valores numéricos (globales y locales).

• Arrival Cycles – Ciclos de llegadas: Patrón de llegadas individuales que ocurre en un período de tiempo.

SIMULACIÓN

Page 16: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Veamos algunos ejemplos de simulación con ProModel:

Mantenimiento a un avión

Entradas a un almacén

Proceso de fabricación

SIMULACIÓN

Page 17: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Construcción de una Simulación

• Para la construcción de modelos utilizando el software de ProModel utilizaremos la versión denominada “para el estudiante”, la cual es posible obtenerla vía Internet, ó bien en la compra del libro Simulación y análisis de sistemas con ProModel, autores: Eduardo García, Heriberto García y Leopoldo E. Cárdenas, incluye el CD para instalación.

• Así mismo identificaremos los recursos básicos para la construcción de modelos, definición y utilización.

SIMULACIÓN

Page 18: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Locaciones universales

• Existen varias opciones disponibles para mejorar las gráficas e incrementar la información en pantalla asociada con locaciones en el modelo.

• Hacer “click” en el botón NEW te permitirá añadir elementos a la locación seleccionada.

SIMULACIÓN

Page 19: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Locaciones universales

SIMULACIÓN

Page 20: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Tiempos de Procesamiento

• Para crear tiempos de proceso en el modelo, utilizamos el estatuto WAIT en la lógica de operación. Con esta instrucción la entidad será procesada por ese tiempo en esa locación. Hay que definir tiempos para cada entidad en cada locación.

SIMULACIÓN

Page 21: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Logic Builder• El constructor de estatutos es una poderosa

herramienta para crear código de simulación sin tener que escribir el código.• Simplemente se abre el constructor de

estatutos al presionar el botón derecho del ratón o presionar el icono de construcción (martillo) en la ventana de lógica.• Aparecerá una ventana estilo plantilla para

escribir comandos en el formato apropiado, según se muestra en la siguiente figura:

SIMULACIÓN

Page 22: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Tiempo de traslado entre sitios• Para especificar la cantidad de tiempo que una entidad invierte para viajar de

una locación a otra, utilizar el estatuto MOVE FOR en la lógica de movimiento o MOVE LOGIC. La entidad se moverá por esa cantidad de tiempo.

SIMULACIÓN

Una vez que el modelo está creado, podemos realizar

escenarios que nos permiten analizar los resultados de acuerdo

al objetivo del proyecto, con la flexibilidad de ajustar, modificar o cambiar los datos e información

en cada uno de los módulos.

Page 23: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Teoría de Colas

• Dados los tiempos actuales en que la competencia es una constante en la vida diaria en el mundo organizacional, tal competencia ya no se centra únicamente en la tradicionalmente conocida “guerra de precios” sino que se enfoca más a otra variable que actualmente está definiendo a los nuevos líderes empresariales, que es el servicio.

SIMULACIÓN

Page 24: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Origen de la Teoría de ColasEl descubrimiento de la teoría de colas se le atribuye a Agner Krarup Erlang (1878-1929), matemático y estadístico oriundo de Dinamarca.

• En 1908 se unió a la Compañía Telefónica de Copenhagen como parte del equipo de científicos colaboradores, comenzando a desarrollar soluciones a problemas basados en llamadas telefónicas.

SIMULACIÓN

Page 25: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Después, para el año de 1909, llevó a cabo su primera publicación denominada Teoría de Probabilidad y Conversaciones Telefónicas. En ella demostraba la existencia de una tendencia en las llamadas telefónicas, cuando éstas se hacían en forma aleatoria, adquirían la forma de la distribución Poisson.

• Posteriormente, para 1919, hizo otra publicación referente a la solución de problemas relacionados con el tráfico de llamadas telefónicas, definiendo las fórmulas para la pérdida y tiempo de espera, que inmediatamente fueron adoptadas por otras telefónicas en el mundo, principalmente en Gran Bretaña.

SIMULACIÓN

Page 26: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Con el pasar de los años, Erlang fue distinguido por muchas organizaciones alrededor del mundo por sus contribuciones a la mejora de sistemas de líneas de espera.

• Una de esas empresas fue Ericsson Communications:Nombró con el apellido del matemático danés su lenguaje del programa

para el Intercambio Electrónico de Datos (Electronic Data Interchange o conocido por sus siglas en inglés “EDI”) para su uso en las industrias.

• La idea primordial para estudiar un sistema de colas es primeramente conocer el estado actual de un sistema de línea de espera.

SIMULACIÓN

Page 27: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Partiendo de ello, podremos elaborar estrategias para mejorar el estado actual, en caso de encontrar lo siguiente:

SIMULACIÓN

Page 28: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Al encontrar evidencia de lo anterior, será necesario que definas estrategias tendientes para agilizar el servicio que se está estudiando.

• Por ejemplo, en el caso de una institución bancaria es importante que el cliente no espere mucho tiempo haciendo fila, como respuesta a un servicio, obteniendo como resultante un cliente satisfecho.

• Entre las razones principales para estudiar un sistema de colas están el conocer los siguientes aspectos:

SIMULACIÓN

Page 29: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

SIM

ULA

CIÓ

N

Page 30: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Papel de la Distribución Exponencial

• Una de las distribuciones continuas más conocidas, la cual se relaciona con el Mantenimiento Productivo Total (TPM) y más directamente con la teoría de colas, es la distribución exponencial:

SIMULACIÓN

Page 31: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

¿De qué forma se relaciona la distribución exponencial con la teoría de colas?

• Si tomamos en cuenta las llegadas de clientes en un sistema, éstas tienen la cualidad de ser aleatorias. Aleatoriedad: probabilidad de que ocurra un evento (llegada de una

pieza o un cliente), no está influida por el tiempo que haya pasado desde el evento anterior.

El tiempo entre llegadas es aleatorio, y se toma en cuenta como variable. Es por ello que se considera la distribución exponencial para tal efecto.

SIMULACIÓN

Page 32: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Supongamos que en un proceso de estampado de puertas automotrices se cuenta con un troquel Komatsu. La última vez que falló fue a las 9:00 pm y queremos conocer la probabilidad de que falle de nuevo a las 9:25 pm.

• Determinar esa probabilidad es aplicar la función entre las 9:00 pm y las 9:25 pm, sin considerar el tiempo que haya transcurrido entre ambos.

• En la distribución exponencial, a esto se le conoce como amnesia o ausencia de memoria.

• Esta distribución se describe bajo la siguiente funcion:

SIMULACIÓN

Page 33: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• En un planta de agroquímicos, la máquina mezcladora tiene un tiempo medio entre fallos de 40 min.

• El operador de la tarde declara que dicha máquina siempre falla a las 7:30 pm.

• Si bien comprobar lo que dice el operador teniendo en cuenta esa información sería difícil, es necesario considerar otro parámetro de tiempo. De esta forma, podríamos conocer lo siguiente:

SIMULACIÓN

Page 34: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Considerando que son las 7:20 pm, ¿cuál sería la probabilidad de que falle la máquina?

• Teniendo en cuenta lo anterior definimos: 𝝀 = /𝑻 𝒕

λ = fallas por horaT= periodo de tiempo

t= tiempo medio entre fallos

• Al estimar lambda obtenemos: 𝜆 𝜆 = 60/40= 1.5 fallas por hora

SIMULACIÓN

Page 35: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Ahora, de acuerdo al parámetro del tiempo actual (siendo las 7:20 pm) comparado con el tiempo que indica el operador (7:30 pm), hay una diferencia de 10 minutos, la cual se plasma en la siguiente fórmula:

P= probabilidad de que falle la máquinaTdif= diferencial de tiempo

T= periodo de tiempo 𝜆 = 𝑓𝑎𝑙𝑙𝑎𝑠 𝑝𝑜𝑟 ℎ𝑜𝑟𝑎

SIMULACIÓN

Page 36: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Si sustituimos los datos en la fórmula obtenemos:

• Entonces, la probabilidad de que la máquina falle a las 7:30 pm (como dijo el operador de la máquina mezcladora), siendo apenas las 7:20 pm, es de 0.22.

Nota: el número e vale 2.7183

SIMULACIÓN

Page 37: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Ejemplo

• Si apenas son las 6 de la tarde, ¿cuál sería la probabilidad de que falle la máquina a las 7:30 pm?• Si tomamos en cuenta que el tiempo medio entre fallos es el mismo:

𝜆 = 60/40= 1.5 fallas por hora.• Sustituyendo en la fórmula obtenemos:

• Por lo tanto, la probabilidad de que la máquina falle a las 7:30 pm (como mencionó el operador), siendo apenas las 6:00 pm, es de 0.90.

SIMULACIÓN

Page 38: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Uso de Stat-Fit

• Al iniciar Promodel, verás una ventana en la que se muestran los alcances del programa de simulación, en cuanto a variables, locations, processing, etc.

SIMULACIÓN

Page 39: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Promodel: Uso de Stat-Fit

• La herramienta Stat-Fit de ProModel se utiliza para analizar y determinar el tipo de distribución de probabilidad de un conjunto de datos.

• Esta utilería permite comparar los resultados entre varias distribuciones analizadas mediante una calificación.

• Entre sus procedimientos emplea las pruebas Chi-cuadrada, de Kolmogorov-Smirnov y de Anderson-Darling.

SIMULACIÓN

Page 40: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Además, calcula los parámetros apropiados para cada tipo de distribución, e incluye información estadística adicional como media, moda, valor mínimo, valor máximo y varianza, entre otros datos.

SIMULACIÓN

Page 41: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Al hacer click en Aceptar aparece la siguiente ventana:

SIMULACIÓN

Page 42: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• En caso de acceder por medio del menú de Promodel, la opción de Stat-Fit se encuentra aquí:

SIMULACIÓN

Page 43: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Algunos usos del Stat-Fit son:

• Básicamente llevar a cabo pruebas de bondad de ajuste en datos que nos interesen de un proceso.

• Seleccionar la distribución que más se ajusta a los datos o aquella que se ajusta pero que nos es más familiar trabajar con ella.

• Generar números que cumplan con una distribución.

SIMULACIÓN

Page 44: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Algunas ventajas del Stat-Fit son:

• Ahorro de tiempo: Stat-Fit permite notablemente ahorrar tiempo en el desarrollo de pruebas de bondad de ajuste, lo cual también conlleva a un ahorro en los costos de desarrollo de un estudio de simulación.

• Precisión: disminuye las oportunidades de error que comete el analista al desarrollar manualmente las pruebas de bondad de ajuste.

• Costo del software: éste ya viene incluido en la versión estudiantil del paquete de simulación Promodel.

SIMULACIÓN

Page 45: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Algunas desventajas del Stat-Fit son:

• Falta de capacitación por parte del analista para el uso de Stat-Fit.

• Dificultad de conseguir el software, dependiendo de las facilidades que se tengan en la empresa u organización donde se desempeña.

SIMULACIÓN

Page 46: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Obtención de datos y prueba de bondad de ajuste

• Stat-Fit nos ayudará a determinar la distribución de probabilidad que representa un sistema.

• El analista de simulación debe de conocer cómo levantar los datos necesarios en la estación de trabajo o proceso en el cual pretende realizar un estudio de simulación.

SIMULACIÓN

Page 47: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Para ello es necesario que el analista cuente con un cronómetro, el cual le permitirá tomar mediciones, las cuales tendrá que ir almacenando, por ejemplo la siguiente información:

Tiempos entre llegadas de clientes. Tiempos entre cada uno de los servicios brindados por un cajero. Tiempos de ciclo de un proceso

SIMULACIÓN

Page 48: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Estos tiempos deben de ir registrados en una lista, y al final éstos se introducirán en el software Stat-Fit, el cual nos ayudará a determinar la distribución de probabilidad que tienen tales eventos.

• Es importante respetar las fracciones de minuto que se registren, y estas deben capturarse tal cual en el programa.

SIMULACIÓN

Page 49: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

Ejemplo:

• Una reconocida institución bancaria en la ciudad de Monterrey, N.L., desea mejorar el servicio que se brinda en una de sus sucursales. • Para esto se toma una muestra de los datos del

tiempo entre llegadas de clientes y del tiempo en que los servidores (ejecutivos de servicio) atienden a cada cliente.

SIMULACIÓN

Page 50: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• El objetivo primordial del presente estudio es conocer la distribución o patrón que siguen tanto la tasa de llegadas como la tasa de servicio para, posteriormente, elaborar un estudio de simulación.

• La información recopilada por el gerente del banco se muestra a continuación:

SIMULACIÓN

Page 51: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

SIMULACIÓN

Page 52: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

•Primero haremos los cálculos para el patrón de las “Llegadas”.

•Para utilizar Stat-Fit para estimar la distribución de probabilidad que sigue este patrón, abre el programa e indica en el Menú file>new.

•Aparecerá una plantilla de captura como la siguiente:

SIMULACIÓN

Page 53: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Esta pantalla te permitirá capturar los datos de “Llegadas”.• Una vez capturados, haz clic en el botón

Auto-Fit:

• Y elige el parámetro unbounded o “sin límites”, para aumentar el número de distribuciones posibles a considerar.

SIMULACIÓN

Page 54: Simulación - Unidad 4 Lenguajes de Simulación (Promodel)

• Resultados (patrón de “Llegadas”): Al dar Ok, aparecerá la lista de distribuciones de probabilidad que la prueba de hipótesis acepta (no rechaza), además de un ranking de las distribuciones que más se ajustan al patrón de llegadas.

SIMULACIÓN