• No se han encontrado resultados

Diseño e implementación de un algoritmo que permita realizar el análisis de procesos industriales simples basado en simulación de eventos discretos

N/A
N/A
Protected

Academic year: 2020

Share "Diseño e implementación de un algoritmo que permita realizar el análisis de procesos industriales simples basado en simulación de eventos discretos"

Copied!
93
0
0

Texto completo

(1)Diseño e Implementación de un Algoritmo que permita realizar el Análisis RAM de Procesos Industriales Simples basado en Simulación de Eventos Discretos. Daniela Rojas León Johan Esteban Sosa Camelo. Universidad Distrital Francisco José de Caldas Facultad de Ingeniería Proyecto Curricular de Ingeniería Electrónica Bogotá D.C. 2018.

(2)

(3) Diseño e Implementación de un Algoritmo que permita realizar el Análisis RAM de Procesos Industriales Simples basado en Simulación de Eventos Discretos. Daniela Rojas León Código: 20122005081 Johan Esteban Sosa Camelo Código: 20122005076. Trabajo de grado para optar al título de: Ingenieros en Electrónica. Directora: Diana Marcela Ovalle Martínez. PhD. Co-Director: Jorge Granada Especialista Senior en Gestión de Activos y Confiabilidad Modalidad de Grado Pasantía. Universidad Distrital Francisco José de Caldas Facultad de Ingeniería Proyecto Curricular de Ingeniería Electrónica Bogotá D.C. 2018.

(4)

(5) Resumen El presente documento describe el proyecto de pasantía llevado a cabo, en el cual se desarrolla una primera versión de una herramienta simulación aplicada a procesos industriales y basada en simulación de eventos discretos, para obtener el análisis RAM (de sus siglas en inglés, Reliability, Availability and Manteinability; es decir, confiabilidad, disponibilidad y mantenibilidad) de estos. Lo anterior, con el fin de dar solución a diferentes obstáculos que presenta la empresa Knar S.A.S. al desempeñarse en el ámbito de la consultoría en ingeniería, mediante el uso de herramientas de software comerciales que presentan grandes limitaciones de flexibilidad y velocidad de ejecución. El rol desempeñado en el desarrollo de esta primera versión, se enmarca en la simulación de eventos discretos de procesos industriales de muy baja complejidad, y su diseño parte desde un contexto de investigación y aplicación de teorías ya conocidas. Mediante un plan de trabajo establecido, y descrito en el documento, se busca la construcción gradual de una herramienta de simulación que permita al usuario (ya sea la empresa directamente, o un usuario del contexto cliente de esta), obtener resultados de desempeño de los procesos industriales que le permitan realizar un diagnóstico de este y, de ser necesario, sugerir cambios en su estructura para mejorar dichos resultados. El desarrollo de esta pasantía, permite, además de reducir la brecha entre el ámbito laboral y el académico, implementar habilidades adquiridas en el proceso de formación de pregrado a contextos industriales, contemplando el impacto que tienen estos desarrollos en el desenvolvimiento de problemas reales, mediante la comercialización de proyectos en los que la ingeniería presenta un rol mayoritario..

(6)

(7) Contenido Resumen. v. Lista de Figuras. ix. Lista de Tablas. xi. Introducción 1. Generalidades 1.1. Planteamiento del Problema 1.2. Justificación . . . . . . . . . 1.3. Objetivos . . . . . . . . . . 1.3.1. Objetivo general . . 1.3.2. Objetivos específicos 1.4. Alcances . . . . . . . . . . . 1.5. Limitaciones . . . . . . . . .. xiii. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 2. Marco Teórico 2.1. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Dinámica de Sistemas . . . . . . . . . . . . . . 2.1.2. Simulación Basada en Agentes . . . . . . . . . . 2.1.3. Simulación de Eventos Discretos . . . . . . . . . 2.1.4. Comparación entre Paradigamas de Simulación 2.2. Procesos Estocásticos y Métodos de Monte Carlo . . . 2.2.1. Métodos de Monte Carlo . . . . . . . . . . . . . 2.3. Intervalo de Confianza . . . . . . . . . . . . . . . . . . 2.4. Análisis RAM . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . . . .. 1 1 3 5 5 5 6 6. . . . . . . . . .. 9 9 13 14 15 17 17 20 20 21.

(8) Contenido. viii. 3. Contextualización del Proyecto 3.1. Etapa Preliminar: Etapa de Modelamiento . . . . . . . . . . . . .. 23 24. 4. Plan de Trabajo 4.1. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Etapa 1: Definición de eventos y Selección de Paradigma 4.3. Etapa 2: Lenguaje de Programación . . . . . . . . . . . . 4.4. Etapa 3: Características Mínimas de la Herramienta . . . 4.5. Etapa 4: Desarrollo del Algoritmo . . . . . . . . . . . . . 4.6. Etapa 5: Pruebas y Verificación . . . . . . . . . . . . . .. . . . . . .. 27 27 28 28 28 29 29. 5. Desarrollo y Resultados 5.1. Etapa 1: Definición de Eventos y Selección de Paradigma 5.1.1. Definición de Eventos de un Proceso Industrial . . 5.1.2. Selección del Paradigma de Simulación de Eventos 5.2. Etapa 2: Selección del Lenguaje de Programación . . . . 5.2.1. Selección del Lenguaje de Programación . . . . . 5.2.2. Selección Editor de Código Fuente . . . . . . . . 5.2.3. Librerías . . . . . . . . . . . . . . . . . . . . . . . 5.3. Etapa 3: Herramientas de Análisis RAM . . . . . . . . . 5.3.1. TARO . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2. Características Mínimas de la Herramienta . . . . 5.4. Etapa 4: Desarrollo del Algoritmo . . . . . . . . . . . . . 5.4.1. Interpretación del Modelo . . . . . . . . . . . . . 5.4.2. Simulación . . . . . . . . . . . . . . . . . . . . . . 5.5. Pruebas y Verificación . . . . . . . . . . . . . . . . . . . 5.5.1. Experimento 1 . . . . . . . . . . . . . . . . . . . 5.5.2. Experimento 2 . . . . . . . . . . . . . . . . . . .. 31 . . . . . 31 . . . . . 31 Discretos 33 . . . . . 37 . . . . . 37 . . . . . 40 . . . . . 40 . . . . . 41 . . . . . 42 . . . . . 44 . . . . . 45 . . . . . 47 . . . . . 52 . . . . . 62 . . . . . 63 . . . . . 66. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 6. Análisis de Resultados. 71. 7. Evaluación de Cumplimiento de los Objetivos. 73. Conclusiones. 75. Bibliografía. 77.

(9) Lista de Figuras 2-1. 2-2. 2-3. 2-4.. Formas de estudiar un sistema. (Fuente: [1]). . . . . . Fases de un Estudio de Simulación. (Fuente: [2]). . . Interacción de Agentes. (Fuente: [3]). . . . . . . . . . Proceso Estocástico- Familia de Variables Aleatorias (Fuente: [4]). . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . vs Tiempo. . . . . . . .. 10 11 15. 3-1. Estructura General del Proyecto. . . . . . . . . . . . . . . . . . . 3-2. Jerarquía Conceptual Definida. . . . . . . . . . . . . . . . . . . . 3-3. Características de los Entes de la Jerarquía. . . . . . . . . . . . .. 23 24 25. 4-1. Etapas de Desarrollo de la Pasantía.. . . . . . . . . . . . . . . . .. 27. 5-1. Sistema de Colas con Paradigmas de SED. (Fuente: [3]). . . . . . 5-2. Diagrama de Flujo - Programación de Eventos. (Fuente: Traducido de [5]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3. Flujograma- Interacción de Procesos. (Fuente:Traducido de [5]). . 5-4. Aspectos a Evaluar TIOBE index. (Fuente: [6]). . . . . . . . . . . 5-5. Tabla pruebas de velocidad. (Fuente: [7]). . . . . . . . . . . . . . . 5-6. Benchmark Julia. (Fuente: [7]). . . . . . . . . . . . . . . . . . . . 5-7. Vita de Resultados de TARO: Cuantificación de la disponibilidad y utilización de las unidades. (Fuente: [8]). . . . . . . . . . . . . . 5-8. Vista de Resultados TARO: Número previsto de almacenamiento. (Fuente: [8]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9. Sintaxis Método IDEF0 . . . . . . . . . . . . . . . . . . . . . . . 5-10.Estructura de Actividades generales mediante IDEF0. . . . . . . . 5-11.Estructura de Actividades de la Interpretación del Modelo mediante IDEF0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12.Diagrama de Flujo- Diseño Interpretador del Modelo. . . . . . . . 5-13.Estructura resultante de Variable eventListConfig- Ejemplo. . .. 34. 19. 35 36 38 38 39 43 44 46 46 48 50 52.

(10) x. Lista de Figuras 5-14.Estructura resultante de Variable configGroupMant- Ejemplo. 5-15.Estructura de Actividades de la Simulación mediante IDEF0. . . 5-16.Diagrama de Flujo- Diseño con Equipos en Serie. . . . . . . . . 5-17.Estructura resultante de Variable eventList- Ejemplo. . . . . . 5-18.Estructura resultante de Variable timeLineList- Ejemplo. . . . 5-19.Estructura resultante de Variable RelationSeries- Ejemplo. . . 5-20.Comparación Disponibilidad Experimento 1 . . . . . . . . . . . 5-21.Comparación Costos de No Producción Experimento 1 . . . . . 5-22.Comparación Disponibilidad Experimento 2 . . . . . . . . . . . 5-23.Comparación Costos de No Producción Experimento 2 . . . . .. . . . . . . . . . .. 52 53 54 55 56 59 66 66 68 69.

(11) Lista de Tablas 2-1. Comparación Paradigmas de Simulación. (Fuente: [3, 9]). . . . . .. 18. 5-1. Variables de Salida en la Interpretación del Modelo . . . . . . . . 5-2. Descripción de Variables - Función numAlea . . . . . . . . . . . . 5-3. Descripción de Variables- Función instanceEvents . . . . . . . . . 5-4. Descripción de Variables - Función fillTimeLine . . . . . . . . . . 5-5. Descripción de Variables - Función instAssociatedFails . . . . . . 5-6. Descripción de Variables- Función RelationSeries . . . . . . . . . . 5-7. Descripción de Variables- Función dataConfidenceInterval . . . . 5-8. Descripción de Variables- Función DataRelationSeries . . . . . . 5-9. Configuración de Eventos- Experimento 1 . . . . . . . . . . . . . . 5-10.Resultados de Simulación- Experimento 1 . . . . . . . . . . . . . . 5-11.Resultados Disponibilidad Experimento 1 -Comparación con TARO 5-12.Resultados Costos Experimento 1 -Comparación con TARO . . . 5-13.Configuración de Eventos- Experimento 2 . . . . . . . . . . . . . . 5-14.Resultados de Simulación- Experimento 2 . . . . . . . . . . . . . . 5-15.Resultados Disponibilidad Experimento 2 -Comparación con TARO 5-16.Resultados Costos Experimento 2 -Comparación con TARO . . . 5-17.Coeficiente de Correlación de Pearson Aplicado a los Resultados . 5-18.Comparación de Tiempos de Simulación- Experimento 1 . . . . . 5-19.Comparación de Tiempos de Simulación- Experimento 2 . . . . .. 51 55 56 57 58 59 60 61 63 64 65 65 67 67 68 68 69 69 70. 7-1. Tabla Evaluación de Cumplimiento de los Objetivos. 74. . . . . . . ..

(12)

(13) Introducción El presente documento contiene la descripción del proceso llevado a cabo en el desarrollo de la pasantía. Teniendo en cuenta el amplio campo de aplicación de la ingeniería electrónica y las diferentes habilidades adquiridas, se busca principalmente, dar solución a los problemas técnicos que presenta Knar S.A.S. al utilizar herramientas de simulación con diversas limitaciones de cómputo, además de dar inicio a la ruptura de la dependencia de tecnología exterior. La principal limitación que presentan estas herramientas para describir el desempeño de procesos industriales en el contexto de las petroleras y refinerías, es la reducida velocidad de ejecución que se presenta al realizar la simulación de estas y que por lo tanto, no son herramientas que permitan la corrección oportuna de procesos en funcionamiento. Se plantea entonces, el desarrollo de una nueva herramienta planeada para dar solución a esta limitación mediante la implementación de diversas etapas con un rol determinado dentro de esta. La etapa dentro del desarrollo de esta pasantía, consiste en la Simulación de Eventos Discretos y sus implicaciones conceptuales y de programación para llevarla a cabo. Este desarrollo está subdivido en fases graduales de trabajo, que se enlazan con los objetivos planteados y que permiten finalmente, completar la labor de la etapa dentro de la herramienta de simulación. Una de las fases implícitas en esta etapa consiste en la exploración teórica de los conceptos tratados dentro del desarrollo y que permitieron confinar los alcances y las aplicaciones de la ingeniería electrónica dentro de estos. La metodología llevada a cabo consiste en la definición del enfoque de programación ejecutado, la elección de las herramientas de programación en el que se implementará dicho enfoque, la definición de las características de la herramienta de simulación, partiendo de las características de herramientas de simulación existentes; el desarrollo del algoritmo para el tratamiento de los eventos discretos.

(14) xiv. Introducción. de los procesos industriales simples y, por último, las pruebas y verificación de sus resultados. El principal resultado obtenido de la metodología llevada a cabo, es una herramienta que, mediante la lectura de un modelo que describe procesos industriales simples, obtiene el desempeño de estos en el tiempo, arrojando resultados para un primer acercamiento al análisis RAM y financieros de dichos procesos. En términos del análisis RAM, se establecen resultados de Disponibilidad y, en términos financieros, se entregan resultados concernientes a los costos del proceso industrial y de la implicación de la presencia de sus eventos discretos en determinado intervalo temporal. El documento se presenta en el siguiente orden: El primer capítulo presenta la necesidad de la nueva herramienta de simulación mediante el Planteamiento del Problema, Justificación y los Objetivos planteados para llevarla a cabo, también contiene los alcances y Limitaciones definidos para esta. El segundo capítulo contiene el Marco Teórico de los conceptos abordados en el dearrollo de la pasantía. El tercer capítulo contiene la contextualización del Proyecto en su totalidad. El cuarto Capítulo contiene el plan de trabajo planteado para el cumplimiento de los objetivos. El quinto capítulo presenta el desarrollo de dicho plan de trabajo. El sexto capítulo contiene el análisis de los resultados obtenidos. El séptimo capítulo contiene la evaluación del cumplimiento de los Objetivos y por último, se presentan las conclusiones obtenidas en todo el desarrollo de este trabajo de grado y los posibles trabajos futuros de la herramienta..

(15) Capítulo 1 Generalidades 1.1.. Planteamiento del Problema. En Colombia, la implementación de sistemas industriales ha permitido a la ingeniería dar soluciones a diversas problemáticas en busca de seguir la vía al desarrollo. Dicha implementación requiere de una evaluación a priori, es decir, una evaluación de su diseño que permita mediante sus resultados, determinar el desempeño de dicho sistema en una línea de tiempo. Esto permite, además de una buena toma de decisiones, ahorrar los costos que implican la evaluación del sistema en funcionamiento y los cambios que se deban realizar para mejorar su rendimiento. Cuando se implementa un sistema sin tener certeza de su óptimo comportamiento en el tiempo destinado, se impide tener una buena gestión de activos que representan gran impacto en el desarrollo de una empresa, puesto que las consecuencias pueden llegar a ser catastróficas, en el sentido en que estas, pueden significar serias pérdidas económicas, afectar al ser humano y causar daños al medio ambiente [10]. Es aquí cuando la simulación de un proceso tiene un papel fundamental, puesto que, mediante recursos computacionales, es posible, desde verificar modelos teóricos vistos desde el punto de vista conceptual, hasta, en el dominio de lo tangible, tratarse del funcionamiento de aeronaves o redes de telecomunicaciones [11]. Cuando previa a la implementación se realiza la simulación del comportamiento del proceso o sistema, se pueden observar los posibles escenarios a los que se enfrentará de ser implementado, por lo tanto, si uno de estos escenarios no permite un comportamiento deseado, este se podrá replantear de manera que se obtenga la utilidad máxima..

(16) 2. 1 Generalidades. En la actualidad, para labores de consultoría en ingeniería, ha sido creciente el reconocimiento de simuladores como herramientas necesarias [11], ya que, mediante un modelo abstracto del proceso y la relación de sus elementos, arrojan cuantitativa y cualitativamente los resultados de desempeño, los cuales se pueden resumir en el análisis de Disponibilidad, Confiabilidad y Mantenibilidad o análisis RAM, por sus siglas en inglés. Knowledge and Integration Architects S.A.S. es una empresa colombiana que cuenta con más de 10 años de experiencia en el desarrollo de servicios de análisis de riesgo y consultoría en temas de confiabilidad industrial. Esta última, es posible mediante el uso de una herramienta que, si bien permite obtener el análisis RAM de los procesos modelados, presenta limitaciones a nivel computacional, puesto que la complejidad de los modelos simulados requiere un procesamiento computacional intensivo [11] lo que reduce en gran medida la velocidad de ejecución, que como consecuencia implica que no son herramientas que se puedan aprovechar de manera inmediata y, por lo tanto, no son de utilidad en sistemas en funcionamiento. Por lo tanto, surge la necesidad de desarrollar una nueva herramienta que permita la evaluación de cualquier proceso industrial en tiempos de ejecución muy cortos, acercándose a resultados inmediatos. De manera preliminar, una herramienta que evalúe modelos dinámicos basados en los eventos discretos del sistema debido a su naturaleza estocástica, permitiendo describir su comportamiento a partir de patrones de comportamiento ya existentes de cada elemento del proceso..

(17) 1.2 Justificación. 1.2.. 3. Justificación. El diseño y desarrollo de una nueva herramienta en el área de ingeniería representa oportunidades de aplicar conceptos y aprendizajes obtenidos, a la resolución de problemas reales. En el caso particular de esta pasantía, hacer uso de datos reales recolectados experimentalmente, permite generar modelos estocásticos (mediante distribuciones de probabilidad) de sistemas y procesos industriales. La aplicación de algoritmos y métodos probabilísticos usados en inteligencia computacional en el tratamiento de información inexacta, resultan útiles para realizar análisis y predicciones del comportamiento de los sistemas o procesos modelados y, por lo tanto, para remover la incertidumbre a la que están sometidos [12] y [13]. La simulación de un sistema o proceso industrial debe proporcionar como resultados la viabilidad física de este, por lo tanto, visto desde una perspectiva ambiental, realizar el pronóstico de desempeño de estos, evita la implementación de sistemas con alta probabilidad de falla, de alto riesgo, inestabilidad o poca durabilidad, evitando la generación de residuos contaminantes con más frecuencia. Teniendo en cuenta que industrias como las petroleras y las refinerías son las que presentan uno de los mayores impactos a nivel ambiental, causando daños irreparables en recursos hídricos, ecosistemas marinos y terrestres debido a derrames [14] causados principalmente por los motivos antes mencionados; es necesario recurrir a la verificación a priori del diseño del proceso y sus componentes, de tal forma que la implementación logre un comportamiento esperado con el mínimo riesgo ambiental. La empresa que busca desarrollar el proyecto encuentra una fuerte motivación en concretarlo, ya que esta herramienta permitiría a la empresa competir a nivel internacional en el mercado de consultoría en ingeniería. Actualmente la empresa utiliza una herramienta de simulación para análisis RAM de procesos industriales, cuya licencia tiene un valor elevado. Al crear la herramienta se daría lugar a que la empresa use el capital generado en la evolución de sí misma y ser reconocida fuera del país. Teniendo en cuenta que Colombia, enfocando la mayor parte de sus recursos económicos en la lucha contra el conflicto interno (como el narcotráfico y el terrorismo), aparta el apoyo al desarrollo de ciencia y tecnología no permitiendo fomentar bases sólidas para una industria y economía realmente competitiva en el mundo;.

(18) 4. 1 Generalidades. es necesario impulsar el desarrollo y la concientización en la importancia de la educación y la relación Universidad- Empresa- Estado [15], puesto que de esta manera, es posible tomar un rumbo más productivo desde el punto de vista de la participación de estudiantes y profesionales en la ruptura de la dependencia en la industria exterior, permitiendo además, que la economía local se desarrolle potencialmente. La creación de la herramienta, permite, no sólo cerrar la brecha en la relación Universidad- Empresa al hacer partícipes a los estudiantes en la realización del proyecto, sino que, además, deja el campo abierto a profesionales interesados en la investigación y desarrollo de nueva tecnología para continuar con el progreso en la construcción de la herramienta para que pueda convertirse en un producto de uso comercial. Desarrollar esta pasantía permite desempeñarse en el ámbito laboral de ingeniería previo a la formalización como profesionales, dando lugar a adquirir experiencia laboral e investigativa al estar desarrollando y diseñando una herramienta nueva, mientras se aplican conceptos y habilidades obtenidas durante el proceso de pregrado..

(19) 1.3 Objetivos. 1.3. 1.3.1.. 5. Objetivos Objetivo general. Desarrollar un algoritmo que permita hacer el tratamiento de los eventos discretos de un sistema industrial, para obtener el análisis RAM del sistema.. 1.3.2.. Objetivos específicos. 1.3.2.1 Determinar los tipos de eventos discretos que contiene un sistema industrial y los tipos de relaciones entre estos, y realizar un estudio de los paradigmas de simulación de eventos discretos, con el fin de seleccionar el que permita obtener el análisis RAM de sistemas industriales. 1.3.2.2 Hacer un estudio de características de lenguajes de programación de propósito general, con el fin de seleccionar uno en el que se pueda implementar el paradigma de simulación de eventos discretos previamente seleccionado. 1.3.2.3 Analizar las herramientas de análisis RAM actuales, con el fin de definir las características mínimas con las que debería contar la herramienta a desarrollar. 1.3.2.4 Desarrollar un algoritmo que permita simular sistemas de baja complejidad para determinar resultados de análisis RAM. 1.3.2.5 Validar los resultados obtenidos por el programa desarrollado, realizando la simulación del mismo proceso o sistema en una herramienta existente..

(20) 6. 1.4.. 1 Generalidades. Alcances. Teniendo en cuenta que el desarrollo de esta pasantía es una de las etapas del proyecto general, su alcance está enmarcado en la transformación de un modelo comunicativo, proporcionado por el modelo abstracto del sistema industrial de manera tal, que se pueda hacer tratamiento de los eventos discretos del sistema modelado y sus relaciones, para obtener el análisis RAM mediante el paradigma definido. Este tratamiento consiste en el desarrollo de un algoritmo que cumple con las siguientes funciones: Lectura e identificación de los eventos discretos del sistema o proceso modelado y sus características correspondientes. Identificación de las relaciones entre los elementos. Generación de números aleatorios correspondientes a la distribución de probabilidad definida para cada evento. Definición de la cola de eventos y organización de estos en la línea de tiempo, acorde a la dependencia directa entre ellos. Control de la simulación, teniendo en cuenta la cantidad de iteraciones definidas por el usuario.. 1.5.. Limitaciones. La intervención de esta etapa en el proyecto presenta diferentes limitaciones respecto al resultado final de la herramienta proyectada. Esto se debe principalmente a las funciones que cumple cada una de las etapas dentro de esta, por lo tanto, las funciones que no son cubiertas en el desarrollo de esta etapa en la pasantía se presentan a continuación. Desarrollo de interfaz de interacción con el usuario. Desarrollo del modelo conceptual del proceso industrial..

(21) 1.5 Limitaciones. 7. Presentación al usuario de los resultados de análisis RAM realizado. Ejecución de las operaciones de cómputo definidas en los alcances. La verificación de la veracidad de la herramienta requiere de todas las etapas en conjunto de manera que se tenga un resultado tangible y se observe el correcto tratamiento de los eventos discretos del proceso modelado..

(22)

(23) Capítulo 2 Marco Teórico Este capítulo consiste en la consolidación de la información teórica de las temáticas que conforman el proyecto. La información recopilada se enfocará en algunos temas de gran importancia dentro del proyecto: Simulación con énfasis en simulación de eventos discretos para determinar la viabilidad de usar este paradigma y determinar una estructura de esta; procesos estocásticos y métodos de Monte Carlo, debido a que estos dos elementos conforman la base del modo en que se trabajan los sistemas reales en la industria debido a su complejidad; y análisis RAM, el cual representa el objetivo final del proyecto en desarrollo por la empresa a largo plazo, sin embargo, es necesario definir el tipo de resultados y tratamiento de los datos ingresados del modelo del proceso, por esta razón es necesaria una primera investigación en esta área.. 2.1.. Simulación. Cuando se requiere estudiar un sistema, con el fin de medir desempeño y hacer toma de decisiones, es posible experimentar con el sistema real y cambiar sus condiciones, de manera en que se obtengan los resultados provenientes de la cotidianidad del sistema en funcionamiento (los cuales no están contemplados del todo en el diseño de dicho sistema), [16] de manera que no sea necesario realizar un modelo que represente el mismo comportamiento del sistema y además, se obtengan resultados reales de este. Sin embargo, dicha experimentación directa puede implicar, entre otras cosas, gastos en su ejecución e incluso, consecuencias en el entorno en que se desarrolla en aquellos en que los experimentos podrían tener una larga duración [1]. Por.

(24) 10. 2 Marco Teórico. lo tanto, cuando los sistemas presentan mayor dificultad en su evaluación física, es necesario y además útil, la creación de un modelo que permita imitar su funcionamiento y de esta manera evaluar su desempeño ante la variación de sus componentes, y por ende de las situaciones a las que se enfrentará. Estos modelos deberán ser construidos con el suficiente detalle para que puedan ser considerados los posibles agentes externos (como los cotidianos). La Figura 2-1 muestra un diagrama de las diferentes formas de estudiar un sistema y el tipo de modelos que lo pueden representar.. Figura 2-1: Formas de estudiar un sistema. (Fuente: [1]). La simulación como herramienta computacional, consiste en la utilización de técnicas de análisis matemático, las cuales permiten imitar el funcionamiento de procesos mediante el determinado modelo que los represente. Según Kelton y Sadowski en [16], la simulación (por computador), se refiere a los métodos para estudiar una gran variedad de modelos de sistemas del mundo real mediante la evaluación numérica, usando software diseñado para imitar las operaciones o características de estos, por lo general, en el transcuso del tiempo y bajo determinadas condiciones. Aunque esta puede ser usada para el estudio de sistemas sencillos, el verdadero sentido de usar esta técnica surge cuando se requiere estudiar sistemas con mayor complejidad.. Fases en un Estudio de Simulación Las fases fundamentales en las que consiste un estudio de Simulación, se describen a continuación [2]:.

(25) 2.1 Simulación. 11. Figura 2-2: Fases de un Estudio de Simulación. (Fuente: [2]). Definición de Objetivos y del Sistema: Es necesario hacer en primera medida, hacer un análisis preliminar del mismo, de manera que se determinen las restricciones del sistema, sus variables las relaciones entre estas, las medidas de efectividad y los resultados que se esperan obtener del estudio. Además se deben traducir los objetivos cualitativos en términos cuantitativos, de manera que se introduzcan los criterios de evaluación de los resultados obtenidos. Elaboración del Modelo Conceptual: En esta fase se elabora una abstracción del sistema real. Se definen las variables que conforman el modelo, las relaciones lógicas y los parámetros que los componen. Elaboración el Modelo Comunicativo: Teniendo en cuenta que quien define el modelo Conceptual y los programadores que se encargan del Modelo Informático requieren de un modelo que permita su comunicación, es necesario crear un estándar que permita la transmisión de la información, de manera que sea posible la futura simulación del proceso modelado. Elaboración del Modelo Informático: Una vez validado el modelo del proceso, es necesario elegir un lenguaje de programación para el procesa-.

(26) 12. 2 Marco Teórico miento del modelo. Para esto, es posible utilizar lenguajes de propósito general o lenguajes de Simulación, según sean los criterios de selección. Este modelo permite el tratamiento del modelo Comunicativo según se requiera, para obtener los resultados requeridos en la Fase 1. Validación: Mediante esta fase se encuentran las deficiencias en la formulación del modelo y su veracidad se basa principalmente en: • Resultados esperados analíticamente. • Exactitud de la predicción del futuro. • La comprobación de falla del modelo al utilizar datos que hacen fallar al sistema real. Experimentación: Generación de los datos deseados y análisis de sensibilidad de los índices requeridos. Los análisis típicos consisten en establecer límites de confianza en los valores obtenidos, comparando los resultados en diferentes casos propuestos. Elaboración de la Documentación e Implantación de Resultados: Comparación entre supuestos y resultados obtenidos, documentación de resultados finales como registro del modelo.. El segundo paso hace referencia al modelo matemático que representa al sistema, sin embargo, existen diferentes tipos de modelos, los cuales pueden ser aplicados a un sistema según sea la necesidad de sus resultados. Estos modelos pueden clasificarse en: estáticos y dinámicos, determinísticos y estocásticos y, continuos y discretos. [1, 3, 17]. Estático: Es una representación de un sistema en un punto particular de tiempo o un sistema que no está basado en el tiempo. Dinámico: Incluye el paso del tiempo, sus variables de estado se actualizan conforme el tiempo avanza. Determinístico: Son definidos los datos de entrada y su estado inicial. Sus estados futuros son determinados con certeza (ecuaciones diferenciales por ejemplo). Estocástico: Sus entradas y sus resultados son aleatorios..

(27) 2.1 Simulación. 13. Continuo: Es representado por variables dependientes que cambian en el tiempo, cuyo comportamiento dinámico simula al sistema. Discreto: Sus variables de estado cambian instantáneamente en puntos separados de tiempo. Para desarrollar un modelo de simulación de sistemas es necesaria la elección de un paradigma de simulación [9] para definir la forma en que está descrito el sistema, puesto que el desarrollo conceptual del modelo estará limitado por los conceptos subyacentes de cada paradigma [3]. Los paradigmas de simulación que sobresalen son [9]: Simulación con Dinámica de sistemas. Simulación Basada en Agentes. Simulación de Eventos Discretos.*. 2.1.1.. Dinámica de Sistemas. La dinámica de sistemas (DS en adelante) es una metodología de modelamiento y simulación para el análisis y toma de decisiones de sistemas a largo plazo. Esta, tiene su origen en la ingeniería de control y está basada en la realimentación de la información para entender el comportamiento dinámico de complejos sistemas físicos, biológicos e incluso sociales [3]. La idea esencial de DS es que todos los elementos de un sistema interactúan a través de relaciones causales representadas por bucles de realimentación, los cuales contolan las interrelaciones entre los elementos del sistema. Las principales características de DS son [18]: La manera en que los componentes del sistema se relacionan entre ellos, determina el comportamiento de este como una totalidad. Su componente básico es el bucle de realimentación. Los objetos almacenados en el mismo nivel se consideran homogéneos, es decir, se representan las características de los objetos mediante mediante propiedades promedio..

(28) 14. 2 Marco Teórico Es en esencia, un método determinístico y no maneja variabilidad de manera efectiva, puesto que no son incluidas funciones de probabilidad. Los modelos de DS se corren de manera muy rápida y al ser determinísticos no requieren de múltiples repplicaciones. Los cambios en el tiempo vienen dentro de los límites interno del sistema debido a las interacciones entre los componentes. Pertenece a la clasificación de simulación continua, donde se asume que los flujos cambian de forma continua con respecto al tiempo y son regidos por ecuaciones diferenciales de primer orden.. 2.1.2.. Simulación Basada en Agentes. Este paradigma se utiliza cuando no se conoce cómo funciona el sistema en conjunto o no se pueden identificar las variables claves y su interrelación, pero sí se tiene una idea de cómo los objetos del sistema se comportan de forma individual, por lo tanto, el comportamiento global del sistema emerge de entre muchos comportamientos individuales [3]. Los agentes son objetos que presentan las siguientes características [9] y [3]: Autonomía: Les permite tomar decisiones sin un controlador centra, bajo un conjunto de reglas. Reactividad: Son capaces de percibir los cambios en el entorno y responder a esos cambis cuando sea necesario. Pro- actividad: No sólo actúan en respuesta a los cambios que se han producido en su entorno, sino también tienen sus propios objetivos. Habilidad Social: Tienen la capacidad de interactuar y comunicarse entre sí. Adaptabilidad: Pueden tener memoria para aprender y adaptar sus comportamientos basados en la experiencia. La forma en que interactúan los agentes se muestra en la Figura 2-3..

(29) 2.1 Simulación. 15. Figura 2-3: Interacción de Agentes. (Fuente: [3]). Las principales características de este paradigma son [3]: El componente básico en la construcción del modelo es el agente y se le considera una entidad ’activa’ porque puede tomar decisiones autónomas. Es una técnica adecuada cuando el problema requiere un fuerte modelamiento en aspectos espaciales, ya que los agentes pueden interactuar dinámicamente en espacios multidimensionales. El paradigma se puede beneficiar del uso de UML en la fase de diseño y comunicación, puesto que éste es un lenguaje de modelamiento que permite representar sistemas orientados a objetos.. 2.1.3.. Simulación de Eventos Discretos. La Simulación de Eventos Discretos (SED en adelante) hace referencia al modelamiento computacional de sistemas, mediante la evaluación de los cambios instantáneos en las variables de estado [3]. Estos cambios ocurren en puntos separados de tiempo no equiespaciados [1] determinados por eventos. Los eventos se definen como los sucesos que hacen que el sistema cambie de estado al presentarse [5]. El modelo con SED salta desde el tiempo de ocurrencia de un evento hacia el tiempo de ocurrencia del siguiente evento. Este tipo de modelo permite dar flexibilidad y eficiencia para ser usada en amplia variedad de situaciones reales [3]. Una SED modela el progreso de los sistemas de Colas a través del tiempo, por lo tanto, es útil para problemas que consisten en simulaciones de colas o redes complejas con colas en los cuales los procesos pueden ser bien definidos y el énfasis está en representar incertidumbre a través de distribuciones estocásticas. Muchas.

(30) 16. 2 Marco Teórico. de estas aplicaciones ocurren en las industrias de manufactura y servicio [3]. Las partes que componen una SED se mencionan a continuación [16, 3]. Entidades: Son objetos dinámicos que cambian de estado y afectan y son afectados por otras entidades en el estado del sistema. Se mueven durante el tiempo de la simulación. Todas las entidades deben ser creadas. Atributos: Son las características comunes de todas las entidades pero con un valor en específico en cada una de manera que se diferencien. Variables (Globales): Son información que refleja alguna característica del sistema independientemete de las entidades de este. Recursos: Representa el objeto que provee un servicio a una entidad. El recurso es utilizado por la entidad y lo libera cuando termina de usarlo, de manera que otras entidades utilicen el recurso. Colas: Cuando un recurso no está disponible para ser utilizado por una entidad y esta última no puede avanzar en el tiempo, la entidad espera en una cola. Las colas tienen capacidades y reglas que definen la prioridad de las entidades como FIFO (First In First Out). Línea de Tiempo: Contiene el tiempo de ocurrencia de los eventos del sistema en el tiempo simulado requerido. El tiempo de ocurrencia está determinado según sus atributos, por lo general, determinado por los números aleatorios que siguen el comportamiento de la distribución de probabilidad que los caracterizan. Reloj de Simulación: Mantiene el registro del tiempo. Este reloj no registra el paso del tiempo de forma continua, sino que salta del tiempo de un evento al tiempo del siguiente. Para ello, el reloj de simulación interactúa con la línea de tiempo tiempo de simulación requerido. Las principales características de una SED se muestran a continuación [9]: Casi todos los modelos de SED presentan la necesidad de representar la aleatoriedad del sistema a estudiar y por lo tanto se puede decir que SED es estocástica por naturaleza..

(31) 2.2 Procesos Estocásticos y Métodos de Monte Carlo. 17. Pertenece a la clasificación de simulación discreta, donde el estado del sistema sólo puede cambiar en puntos discretos de tiempo en los que ocurren eventos. El análisis de los datos de entrada y salida de los modelos de simulación requiere conocimientos de estadística. Representaciones creíbles de parámetros estocásticos en simulaciones dinámicas requieren un número extenso de datos. Por otro lado, también se requiere el uso de métodos estadísticos para el análisis de los resultados. Se deben tomar decisiones acerca de el número de replicaciones independientes que se requieren, la duración de la corrida de simulación, el uso de técnicas de reducción de varianza, la selección de los escenarios, etc.. 2.1.4.. Comparación entre Paradigamas de Simulación. La Tabla 2-1 permite abstraer la información obtenida de cada uno de los paradigmas para realizar una comparación entre estas para diferentes items [9]. Este, permite además de resumir la información tratada en las secciones anteriores, abrir el campo a elegir con los diferentes aspectos allí mostrados, alguno de los Paradigmas para realizar el modelo de un sistema cuyas condiciones de resultados ya han sido definidas.. 2.2.. Procesos Estocásticos y Métodos de Monte Carlo. Los procesos estocásticos están definidos por una familia o colección de variables aleatorias que varían con el tiempo, es decir, una sucesión de variables aleatorias cuyas características pueden variar a lo largo del tiempo. Los estados son los posibles valores que pueden tomar las variables aleatorias, por lo que se puede tener un espacio de estados discreto o un espacio de estados continuo. Las variables aleatorias pueden cambiar con respecto a tiempo discreto o continuo. En el caso del tiempo discreto se podría tomar que los cambios de estado ocurran cada día, cada mes, etc.. En el caso del tiempo continuo, los cambios de estado se podrían realizar en cualquier instante..

(32) 18. 2 Marco Teórico. Tabla 2-1: Comparación Paradigmas de Simulación. (Fuente: [3, 9]). Aspecto Visión modelo. del. Causante del comportamiento dinámico del sistema Naturaleza de los datos. Manejo tiempo. del. Formulación matemática. Enfoque rárquico. je-. Dinámica de Sistemas. Simulación Basada en Agentes. Simulación de Eventos Discretos. Sucesión de niveles y tasas interconectados por relaciones casuales Los bucles de realimentación; la estructura del sistema determina su comportamiento a través del tiempo Determinístico; los mismos datos de entrada generan los mismos resultados. Conjunto de agentes interactuando entre ellos y el entorno La interacciones entre los agentes; simples reglas en cada agente dan origen al comportamiento colectivo. Entidades fluyendo a través de una red de actividades y colas La ocurrencia de los eventos; éstos cambian el estado del sistema.. Estocástico; mayormente las reglas de decisión están basadas en funciones de probabilidad.. Continuo; utiliza el método de avance del tiempo por incremento fijo. Continuo/Discreto; puede implementarse en un modelo cualquiera de los dos métodos de avance de tiempo: por incremento fijo ó del siguiente evento Combinación de expresiones matemáticas con operadores lógicos y reglas de decisión. Estocástico; trabaja con variables aleatorias; análisis de resultados requiere replicaciones independientes. Discreto; utiliza el método de avance de tiempo del siguiente evento.. Ecuaciones diferenciales de primer orden; éstas representan a las tasas y los niveles acumulan las tasas mediantes ecuaciones de integración. Estratégico; donde es más común encontrar problemas más relacionados con la complejidad determinística producto de políticas. Operacional/Estratégico. En el caso estratégico, por ejemplo, los agentes pueden representar a compañías compitiendo por un nuevo mercado. En el caso operacional dos agentes pueden representar, uno a un operario y el otro a una máquina. Combinación de expresiones matemáticas con operadores lógicos. Operacional; donde es más común encontrar problemas asociados con efectos aleatorios interconectados.

(33) 2.2 Procesos Estocásticos y Métodos de Monte Carlo. 19. Figura 2-4: Proceso Estocástico- Familia de Variables Aleatorias vs Tiempo. (Fuente: [4]). Bajo las diferencias que puede haber entre un proceso estocástico y otro, se definen algunos tipos de procesos [4]: Una Cadena es un proceso estocástico en el cual el tiempo y las variables aleatorias solo toman valores discretos. Un Proceso de Saltos Puros es un proceso estocástico en el cual los cambios de estados ocurren en forma aislada y aleatoria pero la variable aleatoria sólo toma valores discretos en el espacio de estados. En un Proceso Continuo los cambios de estado se producen en cualquier instante y hacia cualquier estado dentro de un espacio continuo de estados. Sobre la teoría existen muchas más clasificaciones determinadas por características específicas del modo en que se describe el tiempo, las variables aleatorias y por las distribuciones de probabilidad que describen la variables. Muchos fenómenos de la naturaleza, las finanzas y la ingeniería pueden ser caracterizados por procesos estocásticos debido a la dificultad de generar un modelo analítico. Sin embargo, sobre estos cálculos siempre existe incertidumbre. La incertidumbre se refiere a la situación en que no se tiene completo conocimiento sobre un proceso dado, esta falta de conocimiento puede referirse a la descripción del proceso, sus causas o sus resultados [19]. En este punto los algoritmos computacionales pueden aportar en gran medida para disminuir el error en los resultados que provean los modelos estocásticos de procesos reales..

(34) 20. 2 Marco Teórico. 2.2.1.. Métodos de Monte Carlo. Muchos problemas numéricos en ciencia, ingeniería, finanzas y estadísticas que presentan dificultad en generar una solución análitica, son resueltos hoy en día gracias a algoritmos computacionales, es decir, a través de experimentos en una computadora [20]. Los Métodos de Monte Carlo proponen la realización de experimentos regidos por variables aleatorias, en donde se busca reducir el error de los resultados mediante el número de repeticiones (error = √1N , N es el número de repeticiones), todo esto hoy en día facilitado por el avance tecnológico de las computadoras, permitiendo que el error pueda ser llevado a valores mínimos. Luego de obtener las N repeticiones, se observan las características estadísticas de los experimentos (resultados del modelo), permitiendo que finalmente se puedan realizar conclusiones sobre los resultados del modelo en función de los experimentos estadísticos. En general la aplicación de este método para obtener resultados de un proceso cualquiera se pueden enmarcar en los siquiente pasos [21]: Generación de números aleatorios siguiendo una distribución de probabilidad previamente obtenida de experimentos reales. Experimentación numérica, es decir la evaluación numérica de funciones de desempeño para N repeticiones. Análisis estático de la salida del modelo, es decir, la extracción de la información probabilística contenida en los resultados. Los métodos de Monte Carlo se pueden aplicar en diferentes áreas de la ingeniería, estas son en Estimación, Optimización, aproximaciones numéricas e integrales multidimensionales con el uso integradode cadenas de Markov [22], y Simulación. En simulación se usa principalmente en simulación de sistemas que están descritos por eventos (Simulación de Eventos Discretos).. 2.3.. Intervalo de Confianza. Debido al carácter estocástico de las variables de entrada de los modelos de simulación, es natural que las variables de salida sean de igual manera, variables aleatorias, de manera, que en diferentes ejecuciones del modelo (Monte Carlo).

(35) 2.4 Análisis RAM. 21. se obtendrán diferentes valores para cada una de las variables. Un valor especialmente interesante es el de la media de dichas variables. Con el cálculo de un intervalo de confianza para la media de una determinada variable de salida, se obtiene un intervalo del que se pude afirmar que la media de la variable de salida está contenida en él con una determinada probabilidad [2].. 2.4.. Análisis RAM. El análisis RAM se centra en tres parámetros esenciales para el desempeño de cualquier proceso: la confiabilidad, la disponibilidad y la mantenibilidad de cualquier equipo que forma parte del sistema o proceso, con el fin de optimizar el rendimiento del mismo, minimizar la pérdida de producción debida a fallos y requerimientos de mantenimiento e inspección, e identificar los equipos más críticos para el funcionamiento óptimo del proceso [23].Por lo tanto, el análisis RAM es una herramienta que permite calcular o pronosticar el desempeño técnico y financiero de un proceso, mediante el análisis detallado de cada elemento que lo compone. A continución se realiza una pequeña definición de los elementos que constituyen el anáisis RAM: Confiabilidad: se entiende como la capacidad del sistema para realizar las funciones requeridas bajo las condiciones establecidas, y por un período de tiempo específico; Disponibilidad: la disponibilidad es la capacidad del equipo para estar en una condición que le permita realizar las funciones requeridas en las condiciones establecidas, en un momento específico o para un tiempo especificado, suponiendo que se proporcionan los recursos externos requeridos. Mantenibilidad: la capacidad de mantenimiento se define como la característica de la adaptación a la reparación realizada para restaurar la operabilidad del objeto bajo las condiciones establecidas con el uso de métodos y recursos prescritos. La realización del Análisis RAM también se puede ver por etapas. A continuación se muestra un modelo de etapas según Dekra [24]: Definición de los requerimientos de disponibilidad: inicialmente se define el porcentaje de tiempo durante el que el sistema debe operar correctamente..

(36) 22. 2 Marco Teórico Identificación de los sistemas o equipos críticos: se seleccionan aquellos sistemas o equipos que tienen, o pueden tener, una importancia crítica sobre el desempeño del proceso. Recopilación de datos de confiabilidad y mantenibilidad: se investiga, en bases de datos o a través de expertos, información acerca de las tasas de fallo, los tiempos promedio entre fallas (TPEF) y los tiempos promedio para reparar (TPPR) de los distintos equipos. También es necesario conocer la filosofía operacional y la política de mantenimiento e inspección del establecimiento. Desarrollo de los diagramas de bloques de confiabilidad (DBC): se crean diagramas lógicos de bloques para cada sistema del proceso, que ilustran la funcionalidad de un sistema de manera gráfica y simplificada. Desarrollo de árboles de fallos: se definen árboles de fallo para los distintos sistemas, con el fin de determinar las causas de los posibles fallos y sus probabilidades de ocurrencia. Cálculo de indisponibilidad y jerarquización de equipos: se calcula el tiempo durante el cual se espera que el proceso se encuentre no disponible, y se jerarquizan los distintos equipos de acuerdo a su implicación en el proceso.. Los resultados que debe entregar el análisis RAM son básicamente de: Disponibilidad en porcentaje por unidad de tiempo de cada uno de los equipos evaluados, resultados de elementos de alta criticidad en el proceso, pronósticos de fallas e información extra que permita definir una estrategia de mantenimiento. Teniendo en cuenta que cualquier equipo dentro de un sistema o proceso se degrada con el tiempo, es importante llevar esto a un contexto industial, donde el análisis RAM es una herramienta necesaria para la evaluación y diseño de procesos de nivel de procesos industriales de manera que permita tomar las mejores decisiones financieras y técnicas que desembocan en consecencias sociales y ambientales..

(37) Capítulo 3 Contextualización del Proyecto El desarrollo de una herramienta de simulación requiere, como se menciona en la Sección 2.1., de un conjunto escalonado de fases, encargado de atender a las necesidades que surgen en dicho desarrollo. Es por esta razón que el desarrollo total de la herramienta está segmentado en grupos de trabajo, de manera que el trabajo realizado en cada etapa, sea un recurso para la etapa siguiente. La Figura 3-1 describe el conjunto de necesidades presentadas y la solución planteada, en cada una de las etapas.. Figura 3-1: Estructura General del Proyecto. En el caso particular de esta pasantía, las actividades realizadas se enmarcan en las necesidades atendidas en la Etapa Simulación, y, por lo tanto, las actividades.

(38) 24. 3 Contextualización del Proyecto. resultantes en la Etapa Modelamiento, (señaladas en la Figura 3-1), se convierten en insumos que permiten el desarrollo de las soluciones planteadas. Por lo tanto, es necesario describir dichos insumos, puesto que permiten tener un punto de partida en el desarrollo de las actividades a realizar en la etapa de Simulación y en el desarrollo de la herramienta, teniendo en cuenta que es la etapa definida como la inicial del proyecto.. 3.1.. Etapa Preliminar: Etapa de Modelamiento. Tal como se describe anteriormente, la Etapa de Modelamiento es la que permite tener acceso a los requerimientos del usuario, por lo tanto, a lo largo de su desarrollo, es la etapa que se encarga de definir los Modelos Conceptual y Comunicativo, de manera que el usuario pueda realizar una abstracción del proceso industrial a simular. A continuación, se describen los modelos definidos y su estructura.. Modelo Conceptual El modelo conceptual permite, además de comunicar al usuario con la herramienta en un lenguaje definido, establecer los entes que compondrán el modelo abstracto de los procesos industriales, para ello, es definida la jerarquía entre los elementos y sus relaciones directas. La jerarquía definida en este modelo se muestra en la Figura 3-2 y representa los niveles de profundidad establecidos en el modelo.. Figura 3-2: Jerarquía Conceptual Definida..

(39) 3.1 Etapa Preliminar: Etapa de Modelamiento. 25. Como se observa en la Figura, el ente que contiene todos los elementos, se define como Proceso, el cual está compuesto de Sistemas, a su vez de estar contenido de Equipos, los cuales se encuentran descritos por Eventos, quienes pueden o no estar relacionados entre sí. Las relaciones entre los equipos de un mismo sistema, pueden ser Serie, Paralelo o relaciones Mixtas que contienen combinaciones de las dos anteriores. La Figura 3-3 describe las características que se definen para cada uno de estos elementos y que permiten describir el Proceso a ser simulado.. Figura 3-3: Características de los Entes de la Jerarquía.. El modelo conceptual tiene interacción con el usuario mediante una interfaz gráfica, la cual le permite que la interacción sea de manera intuitiva y que dicho usuario, aunque no conozca la profundidad del proceso de simulación, sí conozca la manera en que está compuesto el proceso a simular y las relaciones entre sus elementos, junto con las características definidas en la Figura 3-3. Estas características son definidas de manera tal, que se permita mediante la simulación, obtener los resultados requeridos por el usuario y, que además, sí represente de manera abstracta la realidad del proceso modelado..

(40) 26. 3 Contextualización del Proyecto. Modelo Comunicativo Teniendo en cuenta que la Etapa de Modelamiento del proyecto debe ser un punto de partida para el proceso de Simulación, es necesario que el modelo obtenido en la interfaz de usuario diseñada pueda representarse en un lenguaje informático, de manera que sean fácilmente traducibles sus atributos y así hacer posible la simulación del proceso a partir de estos. Para esto, se hace uso del formato para el intercambio de datos, JSON, el cual es obtenido mediante la generación automática de la interfaz gráfica. Este formato permite acceder a la información del modelo para posteriormente, mediante un lenguaje de programación, ser convertida en variables que se puedan computar..

(41) Capítulo 4 Plan de Trabajo 4.1.. Metodología. A partir de la recolección teórica de los conceptos y temáticas que serán utilizados en el transcurso de la pasantía, el plan de trabajo a seguir consiste en el estudio y aplicación de dichos referentes en el desarrollo de la nueva herramienta, junto con los recursos adquiridos en cada una de las etapas llevadas a cabo. También, considerando los insumos descritos en el Capítulo 3, el desarrollo de la pasantía se basará en el uso y tratamiiento de estos. La manera en la que se desarrollará el proyecto de pasantía, se describe en el gráfico de etapas observado en la Figura 4-1.. Figura 4-1: Etapas de Desarrollo de la Pasantía. A continuación, se describe cada una de las etapas que componen el desarrollo de.

(42) 28. 4 Plan de Trabajo. la pasantía.. 4.2.. Etapa 1: Definición de eventos y Selección de Paradigma. Esta es la etapa inicial, en la que a partir de la información recolectada y los avances de la Etapa de Modelamiento de la empresa, se definirán los tipos de eventos que puede tener un proceso industrial y, las relaciones y efectos de estos sobre los cambios de estado del proceso completo, de manera que el modelo simulado represente fielmente la posible implementación. Conocer los tipos de eventos que pueden existir permitirá elegir un paradigma de simulación de eventos discretos, de manera que el algoritmo, a partir de dicho paradigma, permita evidenciar las relaciones definidas en la adquisición eficiente y veraz de los resultados de análisis RAM requeridos.. 4.3.. Etapa 2: Lenguaje de Programación. Una vez reconocida la composición de una SED y el paradigma a usar, se comenzará con la búsqueda de las herramientas que permitan el desarrollo de esta, incluyendo un lenguaje de programación, ya sea de propósito general o un lenguaje de simulación. La selección del lenguaje se hará de manera que este facilite el cumplimiento de los objetivos del proyecto.. 4.4.. Etapa 3: Características Mínimas de la Herramienta. Actualmente existen otras herramientas tanto de Simulación de Eventos Discretos como de Análisis RAM, por lo cual es relevante hacer un análisis de las ventajas y limitaciones de cada una de estas de manera que se tenga una visibilidad de los requisitos mínimos que deberá contener el desarrollo de la herramienta a largo plazo..

(43) 4.5 Etapa 4: Desarrollo del Algoritmo. 4.5.. 29. Etapa 4: Desarrollo del Algoritmo. La idea final de esta pasantía es realizar un algoritmo que integre la teoría recolectada y las necesidades generales del proyecto de manera preliminar, es decir, que pueda simular el comportamiento y pronosticar desempeño técnico y financiero de procesos o sistemas industriales simples haciendo uso de funciones proveídas por el grupo de procesamiento computacional.. 4.6.. Etapa 5: Pruebas y Verificación. Como proceso de verificación se realizarán las simulaciones de varios procesos sencillos en una herramienta comercial y se compararán los resultados con los obtenidos por el algoritmo desarrollado. Como ítems a evaluar se tomarán el tiempo de ejecución y la veracidad de los resultados..

(44)

(45) Capítulo 5 Desarrollo y Resultados En el presente capítulo se mostrará el desarrollo de la cada una de las etapas especificadas en el capitulo anterior, y que dan cumplimiento a los objetivos planteados. En cada una de las etapas se especificarán los resultados obtenidos.. 5.1.. 5.1.1.. Etapa 1: Definición de Eventos y Selección de Paradigma Definición de Eventos de un Proceso Industrial. Teniendo en cuenta que el paradigma de simulación seleccionado para determinar el modelo que representa los procesos industriales, es la Simulación de Eventos discretos, es necesario definir los tipos de Eventos que pueden contener estos procesos y que, según el contexto de Knar, permiten caracterizar el comportamiento de estos en el tiempo, en términos de costos y análisis RAM. Los sucesos que cumplen con estas características en un proceso industrial, son los Mantenimientos Preventivos y las Fallas, estas últimas, trayendo implícitamente consigo, la duración de su Mantenimiento Correctivo. Dado el comportamiento estocástico de los eventos de un equipo, estos son caracterizados mediante distribuciones de probabilidad, las cuales son definidas a partir de la recolección de datos experimentales del comportamiento y presencia de estos eventos en el tiempo. Por lo tanto, los atributos determinados para cada tipo de Evento, son:.

(46) 32. 5 Desarrollo y Resultados Mantenimiento Preventivo: • Ocurrencia: Debido a que estos son de tipo preventivo, su ocurrencia es programada, ya sea en Tiempo de Operación del equipo o Tiempo tipo Calendario, por lo tanto, el valor de esta característica suele ser Constante. • Duración: Puesto que la duración de la ejecución del Mantenimiento está sujeto a las condiciones que se requieren para realizarlo, como las condiciones climáticas o la cantidad de recursos disponibles, esta característica se establece como una variable aleatoria que sigue a cierta distribución de probabilidad, de manera que pueda representar la realidad con mayor precisión. Los parámetros que contiene este tipo de características son: Distribución de Probabilidad y los parámetros respectivos a dicha distribución. Falla: • Ocurrencia: En este tipo de evento, su ocurrencia está dada por un comportamiento aleatorio, establecido por la distribución de probabilidad que lo representa, por lo tanto, sus parámetros son: Distribución de Probabilidad y los parámetros respectivos a dicha distribución. • Duración: Tal como se menciona anteriormente, la duración de una falla está dada por la duración de la ejecución de su Mantenimiento Correctivo, por lo tanto, esta característica como en el Mantenimiento Preventivo, está condicionado a diferentes factores que la convierten en una característica aleatoria, y así, como la característica de ocurrencia, sus parámetros son: Distribución de Probabilidad y los parámetros respectivos a dicha distribución.. Teniendo en cuenta que los Mantenimientos Preventivos, se establecen como su nombre lo dice, para la prevención de una falla, estos siempre deben estar relacionados a una o más de las fallas que se presenten en cada equipo, por lo tanto, la línea de tiempo determinada debe reflejar que la presencia de mantenimientos, anulen las fallas próximas a dicho mantenimiento. Por otro lado, pueden existir fallas que no tengan asociadas su respectivo mantenimiento preventivo, esto, debido a que su naturaleza no permite generar datos históricos recurrentes y pueden presentarse sin ser previstas..

(47) 5.1 Etapa 1: Definición de Eventos y Selección de Paradigma. 5.1.2.. 33. Selección del Paradigma de Simulación de Eventos Discretos. Para determinar la construcción de la línea de tiempo en una Simulación de Eventos Discretos, es necesario tener en cuenta la perspectiva desde la cual el tiempo de simulación se encuentra avanzando, esto depende, principalmente, de cómo esté modelado el sistema, puesto que dentro de una Simulación de Eventos Discretos, los conceptos eventos, actividades y procesos, dan lugar a tres diferentes maneras de construir un modelo de eventos discretos [5] y por lo tanto, distintas formas de realizar la simulación dependiendo del caso. Para dar paso a esta etapa, es necesario hacer una exploración teórica de las tres alternativas de modelamiento de una Simulación de Eventos Discretos existentes, de manera que se seleccione el que permita más flexibilidad y menos complejidad computacional en el algoritmo a diseñar y además, permita que el proceso industrial simulado represente de manera más cercana al proceso real.. El enfoque de la Programación de Eventos hace énfasis en la descripción detallada de la implicación de que un evento tome lugar. El enfoque de la Exploración de Actividades, realiza una revisión de todas las actividades dentro de una simulación, para determinar cuál de estas debe iniciar o terminar en cada avance del tiempo. El enfoque de la Interacción de Procesos hace énfasis en el progreso de una entidad del sistema desde la llegada hasta el final de un evento [1, 5].. La Figura 5-1 muestra los enfoques de una SED dependiendo del paradigma utilizado para un sistema de colas representado por un cajero y la llegada de clientes.. Se observa en la figura, que el enfoque de cada uno de los pradigmas está dado por una visión diferente de las acciones del evento durante la línea de tiempo.. Los lenguajes de simulación existentes utilizan generalmente los enfoques Programación de Eventos y de Interacción de Procesos, puesto que la Exploración de Actividades a pesar de ser conceptualmente útil, en menos eficiente computacionalmente [5], por lo tanto no se realizará especficación de este. A continuación, se especifica cada los enfoques empleados por los lenguajes de simulación..

(48) 34. 5 Desarrollo y Resultados. Figura 5-1: Sistema de Colas con Paradigmas de SED. (Fuente: [3]).. Programación de Eventos Un evento es el concepto principal en la construcción de un modelo de Simulación de Eventos Discretos basado en este enfoque. En este caso, se debe tener la capacidad de programar y ejecutar cada uno de los eventos que se presentan, y, generalmente se tienen en cuenta aquellos que provocan dicho cambio de estado al mismo tiempo. La acción de programar crea un registro en el cual se identifica el evento que se desea ejecutar y el tiempo de la simulación en que puede este ser ejecutado. La acción de ejecutar, considera el tiempo entre el inicio y el final del evento elegido. El registro es almacenado en una lista, que suele tomar el nombre de “Conjunto de Eventos Futuros" o FES por sus siglas en inglés [5]. La programación basada en este enfoque, crea una Rutina de Tiempo que se basa en el FES para que la ejecución de los eventos se realice en el orden deseado. Por lo general, se toma el evento o los eventos, cuyo tiempo en llegar a ser ejecutado sea menor. Estos son ejecutados, causando los cambios de estado que los eventos especifiquen [5] y avanzando en el tiempo de reloj, el tiempo de ejecución de estos. En este caso, se incluye la relación directa entre los eventos y, por lo tanto, es posible reprogramar la planificación de eventos que ya estaban definidos en FES si un evento lo provoca [1]. Una vez registrados y ejecutados los eventos correspondientes, es posible generar nuevamente la programación de los eventos definidos para el sistema hasta que el tiempo de reloj sea mayor o igual al tiempo simulado. Luego, se generan los respectivos cálculos para obtener los resultados requeridos por el usuario..

(49) 5.1 Etapa 1: Definición de Eventos y Selección de Paradigma. 35. La Figura 5-2 muestra el algoritmo en forma de diagrama de flujo que permite la simulación del sistema mediante Programación de Eventos.. Figura 5-2: Diagrama de Flujo - Programación de Eventos. (Fuente: Traducido de [5]). Por lo tanto, en este enfoque, el tiempo de Reloj no avanza mientras no existan eventos que lleguen a ejecutarse. Interacción de Procesos A diferencia del enfoque anterior, este provee un proceso para cada entidad del sistema y se diferencia de la Programación de Eventos, en la manera en que el tiempo fluye dentro de la simulación. Si dentro de la simulación existen diferentes tipos de ejecutores, cada un tendrá una representación como un proceso y cada uno tendrá un listado en el que se almacene cada requerimiento de servicio, usualmente llamado “Conjunto de Eventos Condicionales" o CES por sus siglas en inglés. En este enfoque la Rutina de Tiempo se encargará además de la programación de dichos eventos, de dar manejo al CES. En este caso, tal como en Programación de Eventos, se realiza un equivalente a la programación de los eventos, reactivan-.

(50) 36. 5 Desarrollo y Resultados. do un proceso cuando este requerido. La Rutina de Tiempo evalúa el CES para identificar los procesos, ejecutándolos, uno por vez y avanza el tiempo de reloj al momento en que se requiere la reactivación de un proceso [5]. La Figura 5-3 muestra el flujograma de las entidades que entran al proceso en el primer paso y lo abandonan en el último paso.. Figura 5-3: Flujograma- Interacción de Procesos. (Fuente:Traducido de [5]).. Selección de Enfoque Partiendo de la descripción de cada uno de los enfoques, se observa que el enfoque de Programación de Eventos, permite generar la rutina de tiempo de manera flexible y eficiente, considerando las acciones necesarias para obtener los resultados requeridos. Además, debido a que la Interacción de Procesos asume que se requieren diferentes tipos de ejecución los eventos, se puede prescindir de esta, puesto que los eventos definidos en la sección anterior permiten que el proceso pueda ser simulado únicamente mediante la programación de sus eventos y la consideración de las relaciones de estos, lo que reduce la complejidad que establece la implementación de la rutina de tiempo mediante este enfoque. Por otro lado, llevando los eventos al contexto de los procesos industriales, la Programación de eventos permite implementar el impacto de los Mantenimientos Preventivos sobre las Fallas que lleguen a presentarse, mediante la reprogramación de su ocurrencia..

(51) 5.2 Etapa 2: Selección del Lenguaje de Programación. 5.2.. 37. Etapa 2: Selección del Lenguaje de Programación. En la sección anterior se eligió un enfoque de Simulación de Eventos Discretos que facilita la manera en que se manejarán lo diferentes tipos de eventos del proceso en cuestión, haciendo ahora necesaria la elección de herramientas de software para realizar el desarrollo. Estas herramientas comprenden: un lenguaje de programación de propósito general, un IDE o Editor de Código Fuente, que permita el correcto manejo del lenguaje y, librerías o aplicaciones del lenguaje escogido que faciliten las funciones y presentación de resultados.. 5.2.1.. Selección del Lenguaje de Programación. Debido a que inicialmente se planteó el uso de un lenguaje de programación de propósito general, la selección del lenguaje de programación se realizará teniendo en cuenta dos aspectos de vital importancia en el desarrollo del proyecto a corto y largo plazo: velocidad de ejecución, y, acople con las otras etapas que comprenden el proyecto. Tiobe, que brinda servicios de calidad de software, basa su clasificación en una fórmula que evalúa las búsquedas en idiomas en los motores de búsqueda populares, como Google, Bing y Wikipedia, y esta información se toma de partida para conocer lenguajes de programación enriquecidos de documentación y desarrollo. TIOBE index evalúa diferentes aspectos consecuentes a la ejecución de un código en un lenguaje de programación y genera rankings. Los aspectos que evalúa esta compañía se muestran en la Figura [?]. La filosofía de TIOBE considera que, solo después de que se ha enviado un producto de software, se revela la verdadera calidad de este, y su calidad está determinada por: La cantidad de defectos encontrados después del lanzamiento La gravedad de estos defectos El esfuerzo necesario para resolver estos defectos?? El ranking generado por TIOBE index para finales de año 2017 muestra como lenguajes más populares a: Java, C, C++, C# y Python, y reconoce el ascenso de lenguajes modernos como: Groovy y Julia..

Figure

Figura 2-2: Fases de un Estudio de Simulación. (Fuente: [2]).
Tabla 2-1: Comparación Paradigmas de Simulación. (Fuente: [3, 9]).
Figura 2-4: Proceso Estocástico- Familia de Variables Aleatorias vs Tiempo. (Fuente: [4]).
Figura 3-3: Características de los Entes de la Jerarquía.
+7

Referencias

Documento similar