93
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

DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Diseño e Implementación de un Algoritmo que permitarealizar el Análisis RAM de Procesos Industriales Simples

basado en Simulación de Eventos Discretos

Daniela Rojas LeónJohan Esteban Sosa Camelo

Universidad Distrital Francisco José de CaldasFacultad de Ingeniería

Proyecto Curricular de Ingeniería Electrónica

Bogotá D.C.

2018

Page 2: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 3: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Diseño e Implementación de un Algoritmo que permitarealizar el Análisis RAM de Procesos Industriales Simples

basado en Simulación de Eventos Discretos

Daniela Rojas León Código: 20122005081Johan 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 GradoPasantía

Universidad Distrital Francisco José de CaldasFacultad de Ingeniería

Proyecto Curricular de Ingeniería ElectrónicaBogotá D.C.

2018

Page 4: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 5: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Resumen

El presente documento describe el proyecto de pasantía llevado a cabo, en el cualse desarrolla una primera versión de una herramienta simulación aplicada a pro-cesos industriales y basada en simulación de eventos discretos, para obtener elanálisis RAM (de sus siglas en inglés, Reliability, Availability and Manteinability;es decir, confiabilidad, disponibilidad y mantenibilidad) de estos. Lo anterior, conel 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 deherramientas de software comerciales que presentan grandes limitaciones de fle-xibilidad y velocidad de ejecución. El rol desempeñado en el desarrollo de estaprimera versión, se enmarca en la simulación de eventos discretos de procesosindustriales de muy baja complejidad, y su diseño parte desde un contexto deinvestigación y aplicación de teorías ya conocidas. Mediante un plan de trabajoestablecido, y descrito en el documento, se busca la construcción gradual de unaherramienta de simulación que permita al usuario (ya sea la empresa directamen-te, o un usuario del contexto cliente de esta), obtener resultados de desempeño delos procesos industriales que le permitan realizar un diagnóstico de este y, de sernecesario, sugerir cambios en su estructura para mejorar dichos resultados.

El desarrollo de esta pasantía, permite, además de reducir la brecha entre el ám-bito laboral y el académico, implementar habilidades adquiridas en el procesode formación de pregrado a contextos industriales, contemplando el impacto quetienen estos desarrollos en el desenvolvimiento de problemas reales, mediante lacomercialización de proyectos en los que la ingeniería presenta un rol mayoritario.

Page 6: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 7: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Contenido

Resumen v

Lista de Figuras ix

Lista de Tablas xi

Introducción xiii

1. Generalidades 11.1. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . 11.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . 51.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . 5

1.4. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Marco Teórico 92.1. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1. Dinámica de Sistemas . . . . . . . . . . . . . . . . . . . . 132.1.2. Simulación Basada en Agentes . . . . . . . . . . . . . . . . 142.1.3. Simulación de Eventos Discretos . . . . . . . . . . . . . . . 152.1.4. Comparación entre Paradigamas de Simulación . . . . . . 17

2.2. Procesos Estocásticos y Métodos de Monte Carlo . . . . . . . . . 172.2.1. Métodos de Monte Carlo . . . . . . . . . . . . . . . . . . . 20

2.3. Intervalo de Confianza . . . . . . . . . . . . . . . . . . . . . . . . 202.4. Análisis RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 8: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

viii Contenido

3. Contextualización del Proyecto 233.1. Etapa Preliminar: Etapa de Modelamiento . . . . . . . . . . . . . 24

4. Plan de Trabajo 274.1. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2. Etapa 1: Definición de eventos y Selección de Paradigma . . . . . 284.3. Etapa 2: Lenguaje de Programación . . . . . . . . . . . . . . . . . 284.4. Etapa 3: Características Mínimas de la Herramienta . . . . . . . . 284.5. Etapa 4: Desarrollo del Algoritmo . . . . . . . . . . . . . . . . . . 294.6. Etapa 5: Pruebas y Verificación . . . . . . . . . . . . . . . . . . . 29

5. Desarrollo y Resultados 315.1. Etapa 1: Definición de Eventos y Selección de Paradigma . . . . . 31

5.1.1. Definición de Eventos de un Proceso Industrial . . . . . . . 315.1.2. Selección del Paradigma de Simulación de Eventos Discretos 33

5.2. Etapa 2: Selección del Lenguaje de Programación . . . . . . . . . 375.2.1. Selección del Lenguaje de Programación . . . . . . . . . . 375.2.2. Selección Editor de Código Fuente . . . . . . . . . . . . . 405.2.3. Librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.3. Etapa 3: Herramientas de Análisis RAM . . . . . . . . . . . . . . 415.3.1. TARO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.3.2. Características Mínimas de la Herramienta . . . . . . . . . 44

5.4. Etapa 4: Desarrollo del Algoritmo . . . . . . . . . . . . . . . . . . 455.4.1. Interpretación del Modelo . . . . . . . . . . . . . . . . . . 475.4.2. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.5. Pruebas y Verificación . . . . . . . . . . . . . . . . . . . . . . . . 625.5.1. Experimento 1 . . . . . . . . . . . . . . . . . . . . . . . . 635.5.2. Experimento 2 . . . . . . . . . . . . . . . . . . . . . . . . 66

6. Análisis de Resultados 71

7. Evaluación de Cumplimiento de los Objetivos 73

Conclusiones 75

Bibliografía 77

Page 9: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Lista de Figuras

2-1. Formas de estudiar un sistema. (Fuente: [1]). . . . . . . . . . . . . 102-2. Fases de un Estudio de Simulación. (Fuente: [2]). . . . . . . . . . 112-3. Interacción de Agentes. (Fuente: [3]). . . . . . . . . . . . . . . . . 152-4. Proceso Estocástico- Familia de Variables Aleatorias vs Tiempo.

(Fuente: [4]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3-1. Estructura General del Proyecto. . . . . . . . . . . . . . . . . . . 233-2. Jerarquía Conceptual Definida. . . . . . . . . . . . . . . . . . . . 243-3. Características de los Entes de la Jerarquía. . . . . . . . . . . . . 25

4-1. Etapas de Desarrollo de la Pasantía. . . . . . . . . . . . . . . . . 27

5-1. Sistema de Colas con Paradigmas de SED. (Fuente: [3]). . . . . . 345-2. Diagrama de Flujo - Programación de Eventos. (Fuente: Traducido

de [5]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355-3. Flujograma- Interacción de Procesos. (Fuente:Traducido de [5]). . 365-4. Aspectos a Evaluar TIOBE index. (Fuente: [6]). . . . . . . . . . . 385-5. Tabla pruebas de velocidad. (Fuente: [7]). . . . . . . . . . . . . . . 385-6. Benchmark Julia. (Fuente: [7]). . . . . . . . . . . . . . . . . . . . 395-7. Vita de Resultados de TARO: Cuantificación de la disponibilidad

y utilización de las unidades. (Fuente: [8]). . . . . . . . . . . . . . 435-8. Vista de Resultados TARO: Número previsto de almacenamiento.

(Fuente: [8]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445-9. Sintaxis Método IDEF0 . . . . . . . . . . . . . . . . . . . . . . . 465-10.Estructura de Actividades generales mediante IDEF0. . . . . . . . 465-11.Estructura de Actividades de la Interpretación del Modelo mediante

IDEF0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485-12.Diagrama de Flujo- Diseño Interpretador del Modelo. . . . . . . . 505-13.Estructura resultante de Variable eventListConfig- Ejemplo. . . 52

Page 10: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

x Lista de Figuras

5-14.Estructura resultante de Variable configGroupMant- Ejemplo. . 525-15.Estructura de Actividades de la Simulación mediante IDEF0. . . . 535-16.Diagrama de Flujo- Diseño con Equipos en Serie. . . . . . . . . . 545-17.Estructura resultante de Variable eventList- Ejemplo. . . . . . . 555-18.Estructura resultante de Variable timeLineList- Ejemplo. . . . . 565-19.Estructura resultante de Variable RelationSeries- Ejemplo. . . . 595-20.Comparación Disponibilidad Experimento 1 . . . . . . . . . . . . 665-21.Comparación Costos de No Producción Experimento 1 . . . . . . 665-22.Comparación Disponibilidad Experimento 2 . . . . . . . . . . . . 685-23.Comparación Costos de No Producción Experimento 2 . . . . . . 69

Page 11: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 . . . . . . . . 515-2. Descripción de Variables - Función numAlea . . . . . . . . . . . . 555-3. Descripción de Variables- Función instanceEvents . . . . . . . . . 565-4. Descripción de Variables - Función fillTimeLine . . . . . . . . . . 575-5. Descripción de Variables - Función instAssociatedFails . . . . . . 585-6. Descripción de Variables- Función RelationSeries . . . . . . . . . . 595-7. Descripción de Variables- Función dataConfidenceInterval . . . . 605-8. Descripción de Variables- Función DataRelationSeries . . . . . . 615-9. Configuración de Eventos- Experimento 1 . . . . . . . . . . . . . . 635-10.Resultados de Simulación- Experimento 1 . . . . . . . . . . . . . . 645-11.Resultados Disponibilidad Experimento 1 -Comparación con TARO 655-12.Resultados Costos Experimento 1 -Comparación con TARO . . . 655-13.Configuración de Eventos- Experimento 2 . . . . . . . . . . . . . . 675-14.Resultados de Simulación- Experimento 2 . . . . . . . . . . . . . . 675-15.Resultados Disponibilidad Experimento 2 -Comparación con TARO 685-16.Resultados Costos Experimento 2 -Comparación con TARO . . . 685-17.Coeficiente de Correlación de Pearson Aplicado a los Resultados . 695-18.Comparación de Tiempos de Simulación- Experimento 1 . . . . . 695-19.Comparación de Tiempos de Simulación- Experimento 2 . . . . . 70

7-1. Tabla Evaluación de Cumplimiento de los Objetivos . . . . . . . 74

Page 12: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 13: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Introducción

El presente documento contiene la descripción del proceso llevado a cabo en eldesarrollo de la pasantía. Teniendo en cuenta el amplio campo de aplicación de laingeniería electrónica y las diferentes habilidades adquiridas, se busca principal-mente, dar solución a los problemas técnicos que presenta Knar S.A.S. al utilizarherramientas de simulación con diversas limitaciones de cómputo, además de darinicio a la ruptura de la dependencia de tecnología exterior. La principal limita-ción que presentan estas herramientas para describir el desempeño de procesosindustriales en el contexto de las petroleras y refinerías, es la reducida velocidadde 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 funcio-namiento. Se plantea entonces, el desarrollo de una nueva herramienta planeadapara dar solución a esta limitación mediante la implementación de diversas etapascon un rol determinado dentro de esta.

La etapa dentro del desarrollo de esta pasantía, consiste en la Simulación de Even-tos Discretos y sus implicaciones conceptuales y de programación para llevarla acabo. Este desarrollo está subdivido en fases graduales de trabajo, que se enlazancon los objetivos planteados y que permiten finalmente, completar la labor de laetapa dentro de la herramienta de simulación. Una de las fases implícitas en estaetapa consiste en la exploración teórica de los conceptos tratados dentro del desa-rrollo y que permitieron confinar los alcances y las aplicaciones de la ingenieríaelectrónica dentro de estos.

La metodología llevada a cabo consiste en la definición del enfoque de progra-mación ejecutado, la elección de las herramientas de programación en el que seimplementará dicho enfoque, la definición de las características de la herramien-ta de simulación, partiendo de las características de herramientas de simulaciónexistentes; el desarrollo del algoritmo para el tratamiento de los eventos discretos

Page 14: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

xiv Introducción

de los procesos industriales simples y, por último, las pruebas y verificación de susresultados.

El principal resultado obtenido de la metodología llevada a cabo, es una herra-mienta que, mediante la lectura de un modelo que describe procesos industrialessimples, obtiene el desempeño de estos en el tiempo, arrojando resultados para unprimer acercamiento al análisis RAM y financieros de dichos procesos. En térmi-nos del análisis RAM, se establecen resultados de Disponibilidad y, en términosfinancieros, se entregan resultados concernientes a los costos del proceso indus-trial y de la implicación de la presencia de sus eventos discretos en determinadointervalo temporal.

El documento se presenta en el siguiente orden: El primer capítulo presenta lanecesidad de la nueva herramienta de simulación mediante el Planteamiento delProblema, Justificación y los Objetivos planteados para llevarla a cabo, tambiéncontiene los alcances y Limitaciones definidos para esta. El segundo capítulo con-tiene 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. Elcuarto Capítulo contiene el plan de trabajo planteado para el cumplimiento de losobjetivos. El quinto capítulo presenta el desarrollo de dicho plan de trabajo. Elsexto capítulo contiene el análisis de los resultados obtenidos. El séptimo capítulocontiene la evaluación del cumplimiento de los Objetivos y por último, se presen-tan las conclusiones obtenidas en todo el desarrollo de este trabajo de grado y losposibles trabajos futuros de la herramienta.

Page 15: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 1

Generalidades

1.1. Planteamiento del Problema

En Colombia, la implementación de sistemas industriales ha permitido a la ingenie-rí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 evalua-ción de su diseño que permita mediante sus resultados, determinar el desempeñode dicho sistema en una línea de tiempo. Esto permite, además de una buenatoma de decisiones, ahorrar los costos que implican la evaluación del sistema enfuncionamiento y los cambios que se deban realizar para mejorar su rendimiento.

Cuando se implementa un sistema sin tener certeza de su óptimo comportamientoen el tiempo destinado, se impide tener una buena gestión de activos que repre-sentan gran impacto en el desarrollo de una empresa, puesto que las consecuenciaspueden llegar a ser catastróficas, en el sentido en que estas, pueden significar seriaspé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, pues-to que, mediante recursos computacionales, es posible, desde verificar modelosteóricos vistos desde el punto de vista conceptual, hasta, en el dominio de lo tan-gible, tratarse del funcionamiento de aeronaves o redes de telecomunicaciones [11].Cuando previa a la implementación se realiza la simulación del comportamientodel proceso o sistema, se pueden observar los posibles escenarios a los que se en-frentará de ser implementado, por lo tanto, si uno de estos escenarios no permiteun comportamiento deseado, este se podrá replantear de manera que se obtengala utilidad máxima.

Page 16: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

2 1 Generalidades

En la actualidad, para labores de consultoría en ingeniería, ha sido creciente el re-conocimiento de simuladores como herramientas necesarias [11], ya que, medianteun modelo abstracto del proceso y la relación de sus elementos, arrojan cuantita-tiva y cualitativamente los resultados de desempeño, los cuales se pueden resumiren 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 cuen-ta con más de 10 años de experiencia en el desarrollo de servicios de análisis deriesgo y consultoría en temas de confiabilidad industrial. Esta última, es posiblemediante el uso de una herramienta que, si bien permite obtener el análisis RAMde los procesos modelados, presenta limitaciones a nivel computacional, puestoque la complejidad de los modelos simulados requiere un procesamiento compu-tacional intensivo [11] lo que reduce en gran medida la velocidad de ejecución, quecomo consecuencia implica que no son herramientas que se puedan aprovechar demanera inmediata y, por lo tanto, no son de utilidad en sistemas en funcionamien-to.

Por lo tanto, surge la necesidad de desarrollar una nueva herramienta que permitala evaluación de cualquier proceso industrial en tiempos de ejecución muy cortos,acercándose a resultados inmediatos. De manera preliminar, una herramienta queevalúe modelos dinámicos basados en los eventos discretos del sistema debido asu naturaleza estocástica, permitiendo describir su comportamiento a partir depatrones de comportamiento ya existentes de cada elemento del proceso.

Page 17: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

1.2 Justificación 3

1.2. Justificación

El diseño y desarrollo de una nueva herramienta en el área de ingeniería representaoportunidades de aplicar conceptos y aprendizajes obtenidos, a la resolución deproblemas reales. En el caso particular de esta pasantía, hacer uso de datos realesrecolectados experimentalmente, permite generar modelos estocásticos (mediantedistribuciones de probabilidad) de sistemas y procesos industriales. La aplicaciónde algoritmos y métodos probabilísticos usados en inteligencia computacional enel tratamiento de información inexacta, resultan útiles para realizar análisis ypredicciones del comportamiento de los sistemas o procesos modelados y, por lotanto, 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 resulta-dos 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 sistemascon alta probabilidad de falla, de alto riesgo, inestabilidad o poca durabilidad,evitando la generación de residuos contaminantes con más frecuencia. Teniendoen cuenta que industrias como las petroleras y las refinerías son las que presentanuno de los mayores impactos a nivel ambiental, causando daños irreparables enrecursos hídricos, ecosistemas marinos y terrestres debido a derrames [14] causa-dos principalmente por los motivos antes mencionados; es necesario recurrir a laverificación a priori del diseño del proceso y sus componentes, de tal forma que laimplementación logre un comportamiento esperado con el mínimo riesgo ambien-tal.

La empresa que busca desarrollar el proyecto encuentra una fuerte motivaciónen concretarlo, ya que esta herramienta permitiría a la empresa competir a nivelinternacional en el mercado de consultoría en ingeniería. Actualmente la empresautiliza 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 quela empresa use el capital generado en la evolución de sí misma y ser reconocidafuera 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 ba-ses sólidas para una industria y economía realmente competitiva en el mundo;

Page 18: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

4 1 Generalidades

es necesario impulsar el desarrollo y la concientización en la importancia de laeducación y la relación Universidad- Empresa- Estado [15], puesto que de estamanera, es posible tomar un rumbo más productivo desde el punto de vista dela participación de estudiantes y profesionales en la ruptura de la dependenciaen la industria exterior, permitiendo además, que la economía local se desarrollepotencialmente. La creación de la herramienta, permite, no sólo cerrar la brechaen la relación Universidad- Empresa al hacer partícipes a los estudiantes en larealización del proyecto, sino que, además, deja el campo abierto a profesionalesinteresados en la investigación y desarrollo de nueva tecnología para continuar conel progreso en la construcción de la herramienta para que pueda convertirse en unproducto de uso comercial.

Desarrollar esta pasantía permite desempeñarse en el ámbito laboral de ingenieríaprevio a la formalización como profesionales, dando lugar a adquirir experiencialaboral e investigativa al estar desarrollando y diseñando una herramienta nue-va, mientras se aplican conceptos y habilidades obtenidas durante el proceso depregrado.

Page 19: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

1.3 Objetivos 5

1.3. Objetivos

1.3.1. Objetivo general

Desarrollar un algoritmo que permita hacer el tratamiento de los eventos discretosde 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 industrialy los tipos de relaciones entre estos, y realizar un estudio de los paradigmasde simulación de eventos discretos, con el fin de seleccionar el que permitaobtener 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 elparadigma 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 lascaracterísticas mínimas con las que debería contar la herramienta a desarro-llar.

1.3.2.4 Desarrollar un algoritmo que permita simular sistemas de baja complejidadpara determinar resultados de análisis RAM.

1.3.2.5 Validar los resultados obtenidos por el programa desarrollado, realizando lasimulación del mismo proceso o sistema en una herramienta existente.

Page 20: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

6 1 Generalidades

1.4. Alcances

Teniendo en cuenta que el desarrollo de esta pasantía es una de las etapas delproyecto general, su alcance está enmarcado en la transformación de un modelocomunicativo, proporcionado por el modelo abstracto del sistema industrial demanera tal, que se pueda hacer tratamiento de los eventos discretos del sistemamodelado y sus relaciones, para obtener el análisis RAM mediante el paradigmadefinido.

Este tratamiento consiste en el desarrollo de un algoritmo que cumple con lassiguientes funciones:

Lectura e identificación de los eventos discretos del sistema o proceso mo-delado 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 pro-babilidad 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 de-finidas por el usuario.

1.5. Limitaciones

La intervención de esta etapa en el proyecto presenta diferentes limitaciones res-pecto al resultado final de la herramienta proyectada. Esto se debe principalmentea 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 sepresentan a continuación.

Desarrollo de interfaz de interacción con el usuario.

Desarrollo del modelo conceptual del proceso industrial.

Page 21: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 etapasen conjunto de manera que se tenga un resultado tangible y se observe elcorrecto tratamiento de los eventos discretos del proceso modelado.

Page 22: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 23: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 2

Marco Teórico

Este capítulo consiste en la consolidación de la información teórica de las temáti-cas que conforman el proyecto. La información recopilada se enfocará en algunostemas de gran importancia dentro del proyecto: Simulación con énfasis en simu-lación de eventos discretos para determinar la viabilidad de usar este paradigmay determinar una estructura de esta; procesos estocásticos y métodos de Mon-te Carlo, debido a que estos dos elementos conforman la base del modo en quese trabajan los sistemas reales en la industria debido a su complejidad; y análisisRAM, el cual representa el objetivo final del proyecto en desarrollo por la empresaa largo plazo, sin embargo, es necesario definir el tipo de resultados y tratamientode los datos ingresados del modelo del proceso, por esta razón es necesaria unaprimera investigación en esta área.

2.1. Simulación

Cuando se requiere estudiar un sistema, con el fin de medir desempeño y hacertoma de decisiones, es posible experimentar con el sistema real y cambiar suscondiciones, de manera en que se obtengan los resultados provenientes de la co-tidianidad del sistema en funcionamiento (los cuales no están contemplados deltodo en el diseño de dicho sistema), [16] de manera que no sea necesario realizarun modelo que represente el mismo comportamiento del sistema y además, se ob-tengan 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 desarrollaen aquellos en que los experimentos podrían tener una larga duración [1]. Por

Page 24: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

10 2 Marco Teórico

lo tanto, cuando los sistemas presentan mayor dificultad en su evaluación físi-ca, es necesario y además útil, la creación de un modelo que permita imitar sufuncionamiento y de esta manera evaluar su desempeño ante la variación de suscomponentes, y por ende de las situaciones a las que se enfrentará. Estos modelosdeberán ser construidos con el suficiente detalle para que puedan ser consideradoslos posibles agentes externos (como los cotidianos).

La Figura 2-1muestra un diagrama de las diferentes formas de estudiar un sistemay 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éc-nicas de análisis matemático, las cuales permiten imitar el funcionamiento deprocesos mediante el determinado modelo que los represente.

Según Kelton y Sadowski en [16], la simulación (por computador), se refiere alos métodos para estudiar una gran variedad de modelos de sistemas del mundoreal mediante la evaluación numérica, usando software diseñado para imitar lasoperaciones o características de estos, por lo general, en el transcuso del tiempoy bajo determinadas condiciones. Aunque esta puede ser usada para el estudiode sistemas sencillos, el verdadero sentido de usar esta técnica surge cuando serequiere 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 describena continuación [2]:

Page 25: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 primeramedida, hacer un análisis preliminar del mismo, de manera que se deter-minen las restricciones del sistema, sus variables las relaciones entre estas,las medidas de efectividad y los resultados que se esperan obtener del estu-dio. Además se deben traducir los objetivos cualitativos en términos cuan-titativos, de manera que se introduzcan los criterios de evaluación de losresultados obtenidos.

Elaboración del Modelo Conceptual: En esta fase se elabora una abs-tracció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 quiendefine el modelo Conceptual y los programadores que se encargan del Mo-delo Informático requieren de un modelo que permita su comunicación, esnecesario 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 delproceso, es necesario elegir un lenguaje de programación para el procesa-

Page 26: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

12 2 Marco Teórico

miento del modelo. Para esto, es posible utilizar lenguajes de propósito ge-neral o lenguajes de Simulación, según sean los criterios de selección. Estemodelo 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 formu-lació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 fallaral sistema real.

Experimentación: Generación de los datos deseados y análisis de sensibi-lidad de los índices requeridos. Los análisis típicos consisten en establecerlímites de confianza en los valores obtenidos, comparando los resultados endiferentes casos propuestos.

Elaboración de la Documentación e Implantación de Resultados:Comparación entre supuestos y resultados obtenidos, documentación de re-sultados 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 aplicadosa un sistema según sea la necesidad de sus resultados. Estos modelos puedenclasificarse en: estáticos y dinámicos, determinísticos y estocásticos y, continuos ydiscretos. [1, 3, 17].

Estático: Es una representación de un sistema en un punto particular de tiempoo un sistema que no está basado en el tiempo.

Dinámico: Incluye el paso del tiempo, sus variables de estado se actualizan con-forme el tiempo avanza.

Determinístico: Son definidos los datos de entrada y su estado inicial. Sus es-tados futuros son determinados con certeza (ecuaciones diferenciales porejemplo).

Estocástico: Sus entradas y sus resultados son aleatorios.

Page 27: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 separadosde tiempo.

Para desarrollar un modelo de simulación de sistemas es necesaria la elección de unparadigma 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 conceptossubyacentes 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 modelamientoy 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 dela información para entender el comportamiento dinámico de complejos sistemasfísicos, biológicos e incluso sociales [3]. La idea esencial de DS es que todos loselementos de un sistema interactúan a través de relaciones causales representadaspor bucles de realimentación, los cuales contolan las interrelaciones entre los ele-mentos 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 componentebásico es el bucle de realimentación.

Los objetos almacenados en el mismo nivel se consideran homogéneos, esdecir, se representan las características de los objetos mediante mediantepropiedades promedio.

Page 28: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

14 2 Marco Teórico

Es en esencia, un método determinístico y no maneja variabilidad de maneraefectiva, puesto que no son incluidas funciones de probabilidad.

Los modelos de DS se corren de manera muy rápida y al ser determinísticosno requieren de múltiples repplicaciones.

Los cambios en el tiempo vienen dentro de los límites interno del sistemadebido a las interacciones entre los componentes.

Pertenece a la clasificación de simulación continua, donde se asume que losflujos cambian de forma continua con respecto al tiempo y son regidos porecuaciones 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 con-junto o no se pueden identificar las variables claves y su interrelación, pero sí setiene 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 com-portamientos individuales [3]. Los agentes son objetos que presentan las siguientescaracterísticas [9] y [3]:

Autonomía: Les permite tomar decisiones sin un controlador centra, bajoun conjunto de reglas.

Reactividad: Son capaces de percibir los cambios en el entorno y respondera esos cambis cuando sea necesario.

Pro- actividad: No sólo actúan en respuesta a los cambios que se hanproducido en su entorno, sino también tienen sus propios objetivos.

Habilidad Social: Tienen la capacidad de interactuar y comunicarse entresí.

Adaptabilidad: Pueden tener memoria para aprender y adaptar sus com-portamientos basados en la experiencia.

La forma en que interactúan los agentes se muestra en la Figura 2-3.

Page 29: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 leconsidera una entidad ’activa’ porque puede tomar decisiones autónomas.

Es una técnica adecuada cuando el problema requiere un fuerte modela-miento 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 ycomunicación, puesto que éste es un lenguaje de modelamiento que permiterepresentar sistemas orientados a objetos.

2.1.3. Simulación de Eventos Discretos

La Simulación de Eventos Discretos (SED en adelante) hace referencia al mo-delamiento computacional de sistemas, mediante la evaluación de los cambiosinstantáneos en las variables de estado [3]. Estos cambios ocurren en puntos sepa-rados de tiempo no equiespaciados [1] determinados por eventos. Los eventos sedefinen 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 ha-cia el tiempo de ocurrencia del siguiente evento. Este tipo de modelo permite darflexibilidad 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 lotanto, es útil para problemas que consisten en simulaciones de colas o redes com-plejas con colas en los cuales los procesos pueden ser bien definidos y el énfasisestá en representar incertidumbre a través de distribuciones estocásticas. Muchas

Page 30: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 sonafectados por otras entidades en el estado del sistema. Se mueven duranteel tiempo de la simulación. Todas las entidades deben ser creadas.

Atributos: Son las características comunes de todas las entidades pero conun valor en específico en cada una de manera que se diferencien.

Variables (Globales): Son información que refleja alguna característicadel sistema independientemete de las entidades de este.

Recursos: Representa el objeto que provee un servicio a una entidad. Elrecurso es utilizado por la entidad y lo libera cuando termina de usarlo, demanera que otras entidades utilicen el recurso.

Colas: Cuando un recurso no está disponible para ser utilizado por unaentidad y esta última no puede avanzar en el tiempo, la entidad espera enuna cola. Las colas tienen capacidades y reglas que definen la prioridad delas entidades como FIFO (First In First Out).

Línea de Tiempo: Contiene el tiempo de ocurrencia de los eventos delsistema en el tiempo simulado requerido. El tiempo de ocurrencia está de-terminado según sus atributos, por lo general, determinado por los númerosaleatorios que siguen el comportamiento de la distribución de probabilidadque los caracterizan.

Reloj de Simulación: Mantiene el registro del tiempo. Este reloj no regis-tra el paso del tiempo de forma continua, sino que salta del tiempo de unevento al tiempo del siguiente. Para ello, el reloj de simulación interactúacon 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 laaleatoriedad del sistema a estudiar y por lo tanto se puede decir que SEDes estocástica por naturaleza.

Page 31: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 sis-tema sólo puede cambiar en puntos discretos de tiempo en los que ocurreneventos.

El análisis de los datos de entrada y salida de los modelos de simulaciónrequiere conocimientos de estadística. Representaciones creíbles de paráme-tros estocásticos en simulaciones dinámicas requieren un número extenso dedatos. Por otro lado, también se requiere el uso de métodos estadísticos parael análisis de los resultados.

Se deben tomar decisiones acerca de el número de replicaciones indepen-dientes que se requieren, la duración de la corrida de simulación, el uso deté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 para-digmas 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 losParadigmas para realizar el modelo de un sistema cuyas condiciones de resultadosya han sido definidas.

2.2. Procesos Estocásticos y Métodos de MonteCarlo

Los procesos estocásticos están definidos por una familia o colección de variablesaleatorias que varían con el tiempo, es decir, una sucesión de variables aleatoriascuyas características pueden variar a lo largo del tiempo.

Los estados son los posibles valores que pueden tomar las variables aleatorias, porlo que se puede tener un espacio de estados discreto o un espacio de estados con-tinuo. Las variables aleatorias pueden cambiar con respecto a tiempo discreto ocontinuo. En el caso del tiempo discreto se podría tomar que los cambios de estadoocurran cada día, cada mes, etc.. En el caso del tiempo continuo, los cambios deestado se podrían realizar en cualquier instante.

Page 32: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

18 2 Marco Teórico

Tabla 2-1: Comparación Paradigmas de Simulación. (Fuente: [3, 9]).Aspecto Dinámica de Sistemas Simulación Basada en

AgentesSimulación de EventosDiscretos

Visión delmodelo

Sucesión de niveles y ta-sas interconectados por re-laciones casuales

Conjunto de agentes inter-actuando entre ellos y elentorno

Entidades fluyendo a tra-vés de una red de activi-dades y colas

Causantedel compor-tamientodinámico delsistema

Los bucles de realimenta-ción; la estructura del sis-tema determina su com-portamiento a través deltiempo

La interacciones entre losagentes; simples reglas encada agente dan origen alcomportamiento colectivo

La ocurrencia de los even-tos; éstos cambian el esta-do del sistema.

Naturalezade los datos

Determinístico; los mis-mos datos de entrada ge-neran los mismos resulta-dos

Estocástico; mayormentelas reglas de decisión es-tán basadas en funcionesde probabilidad.

Estocástico; trabaja convariables aleatorias; análi-sis de resultados requierereplicaciones independien-tes.

Manejo deltiempo

Continuo; utiliza el méto-do de avance del tiempopor incremento fijo

Continuo/Discreto; puedeimplementarse en un mo-delo cualquiera de los dosmétodos de avance detiempo: por incremento fi-jo ó del siguiente evento

Discreto; utiliza el métodode avance de tiempo del si-guiente evento.

Formulaciónmatemática

Ecuaciones diferencialesde primer orden; éstas re-presentan a las tasas y losniveles acumulan las tasasmediantes ecuaciones deintegración.

Combinación de expresio-nes matemáticas con ope-radores lógicos y reglas dedecisión

Combinación de expresio-nes matemáticas con ope-radores lógicos

Enfoque je-rárquico

Estratégico; donde es máscomún encontrar proble-mas más relacionados conla complejidad determinís-tica producto de políticas

Operacional/Estratégico.En el caso estratégico,por ejemplo, los agentespueden representar acompañías compitiendopor un nuevo mercado.En el caso operacional dosagentes pueden represen-tar, uno a un operario yel otro a una máquina

Operacional; donde es máscomún encontrar proble-mas asociados con efectosaleatorios interconectados

Page 33: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 definenalgunos tipos de procesos [4]:

Una Cadena es un proceso estocástico en el cual el tiempo y las variablesaleatorias solo toman valores discretos.

Un Proceso de Saltos Puros es un proceso estocástico en el cual los cambiosde estados ocurren en forma aislada y aleatoria pero la variable aleatoriasólo toma valores discretos en el espacio de estados.

En un Proceso Continuo los cambios de estado se producen en cualquierinstante y hacia cualquier estado dentro de un espacio continuo de estados.

Sobre la teoría existen muchas más clasificaciones determinadas por característi-cas específicas del modo en que se describe el tiempo, las variables aleatorias ypor las distribuciones de probabilidad que describen la variables.

Muchos fenómenos de la naturaleza, las finanzas y la ingeniería pueden ser carac-terizados por procesos estocásticos debido a la dificultad de generar un modeloanalítico. Sin embargo, sobre estos cálculos siempre existe incertidumbre. La in-certidumbre se refiere a la situación en que no se tiene completo conocimientosobre un proceso dado, esta falta de conocimiento puede referirse a la descripcióndel proceso, sus causas o sus resultados [19]. En este punto los algoritmos compu-tacionales pueden aportar en gran medida para disminuir el error en los resultadosque provean los modelos estocásticos de procesos reales.

Page 34: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 quepresentan dificultad en generar una solución análitica, son resueltos hoy en díagracias a algoritmos computacionales, es decir, a través de experimentos en unacomputadora [20].

Los Métodos de Monte Carlo proponen la realización de experimentos regidos porvariables aleatorias, en donde se busca reducir el error de los resultados medianteel número de repeticiones (error = 1√

N, N es el número de repeticiones), todo esto

hoy en día facilitado por el avance tecnológico de las computadoras, permitiendoque el error pueda ser llevado a valores mínimos. Luego de obtener las N repeti-ciones, se observan las características estadísticas de los experimentos (resultadosdel modelo), permitiendo que finalmente se puedan realizar conclusiones sobre losresultados del modelo en función de los experimentos estadísticos.

En general la aplicación de este método para obtener resultados de un procesocualquiera se pueden enmarcar en los siquiente pasos [21]:

Generación de números aleatorios siguiendo una distribución de probabilidadpreviamente obtenida de experimentos reales.

Experimentación numérica, es decir la evaluación numérica de funciones dedesempeño para N repeticiones.

Análisis estático de la salida del modelo, es decir, la extracción de la infor-mació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 integralesmultidimensionales 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 descritospor 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 si-mulación, es natural que las variables de salida sean de igual manera, variablesaleatorias, de manera, que en diferentes ejecuciones del modelo (Monte Carlo)

Page 35: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

2.4 Análisis RAM 21

se obtendrán diferentes valores para cada una de las variables. Un valor espe-cialmente interesante es el de la media de dichas variables. Con el cálculo de unintervalo de confianza para la media de una determinada variable de salida, seobtiene un intervalo del que se pude afirmar que la media de la variable de salidaestá 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 decualquier proceso: la confiabilidad, la disponibilidad y la mantenibilidad de cual-quier equipo que forma parte del sistema o proceso, con el fin de optimizar elrendimiento del mismo, minimizar la pérdida de producción debida a fallos y re-querimientos de mantenimiento e inspección, e identificar los equipos más críticospara el funcionamiento óptimo del proceso [23].Por lo tanto, el análisis RAM esuna herramienta que permite calcular o pronosticar el desempeño técnico y fi-nanciero de un proceso, mediante el análisis detallado de cada elemento que locompone. A continución se realiza una pequeña definición de los elementos queconstituyen el anáisis RAM:

Confiabilidad: se entiende como la capacidad del sistema para realizar lasfunciones requeridas bajo las condiciones establecidas, y por un período detiempo específico;

Disponibilidad: la disponibilidad es la capacidad del equipo para estar enuna condición que le permita realizar las funciones requeridas en las condi-ciones 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 carac-terística de la adaptación a la reparación realizada para restaurar la opera-bilidad del objeto bajo las condiciones establecidas con el uso de métodos yrecursos prescritos.

La realización del Análisis RAM también se puede ver por etapas. A continuaciónse muestra un modelo de etapas según Dekra [24]:

Definición de los requerimientos de disponibilidad: inicialmente se define elporcentaje de tiempo durante el que el sistema debe operar correctamente.

Page 36: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

22 2 Marco Teórico

Identificación de los sistemas o equipos críticos: se seleccionan aquellos sis-temas o equipos que tienen, o pueden tener, una importancia crítica sobreel desempeño del proceso.

Recopilación de datos de confiabilidad y mantenibilidad: se investiga, en ba-ses 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 repa-rar (TPPR) de los distintos equipos. También es necesario conocer la filosofíaoperacional y la política de mantenimiento e inspección del establecimiento.

Desarrollo de los diagramas de bloques de confiabilidad (DBC): se creandiagramas lógicos de bloques para cada sistema del proceso, que ilustran lafuncionalidad de un sistema de manera gráfica y simplificada.

Desarrollo de árboles de fallos: se definen árboles de fallo para los distintossistemas, con el fin de determinar las causas de los posibles fallos y susprobabilidades de ocurrencia.

Cálculo de indisponibilidad y jerarquización de equipos: se calcula el tiempodurante el cual se espera que el proceso se encuentre no disponible, y sejerarquizan 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: Disponibi-lidad 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 einformación extra que permita definir una estrategia de mantenimiento.

Teniendo en cuenta que cualquier equipo dentro de un sistema o proceso se degradacon el tiempo, es importante llevar esto a un contexto industial, donde el análisisRAM es una herramienta necesaria para la evaluación y diseño de procesos denivel de procesos industriales de manera que permita tomar las mejores decisionesfinancieras y técnicas que desembocan en consecencias sociales y ambientales.

Page 37: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 3

Contextualización del Proyecto

El desarrollo de una herramienta de simulación requiere, como se menciona enla Sección 2.1., de un conjunto escalonado de fases, encargado de atender a lasnecesidades que surgen en dicho desarrollo. Es por esta razón que el desarrollototal de la herramienta está segmentado en grupos de trabajo, de manera que eltrabajo realizado en cada etapa, sea un recurso para la etapa siguiente. La Figura3-1 describe el conjunto de necesidades presentadas y la solución planteada, encada una de las etapas.

Figura 3-1: Estructura General del Proyecto.

En el caso particular de esta pasantía, las actividades realizadas se enmarcan enlas necesidades atendidas en la Etapa Simulación, y, por lo tanto, las actividades

Page 38: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

24 3 Contextualización del Proyecto

resultantes en la Etapa Modelamiento, (señaladas en la Figura 3-1), se convier-ten en insumos que permiten el desarrollo de las soluciones planteadas.Por lo tanto, es necesario describir dichos insumos, puesto que permiten tenerun punto de partida en el desarrollo de las actividades a realizar en la etapa deSimulación y en el desarrollo de la herramienta, teniendo en cuenta que es laetapa 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 permitetener acceso a los requerimientos del usuario, por lo tanto, a lo largo de su desarro-llo, 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 asimular. 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 herramientaen un lenguaje definido, establecer los entes que compondrán el modelo abstractode los procesos industriales, para ello, es definida la jerarquía entre los elementosy sus relaciones directas. La jerarquía definida en este modelo se muestra en laFigura 3-2 y representa los niveles de profundidad establecidos en el modelo.

Figura 3-2: Jerarquía Conceptual Definida.

Page 39: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

3.1 Etapa Preliminar: Etapa de Modelamiento 25

Como se observa en la Figura, el ente que contiene todos los elementos, se definecomo Proceso, el cual está compuesto de Sistemas, a su vez de estar contenidode Equipos, los cuales se encuentran descritos por Eventos, quienes pueden o noestar relacionados entre sí. Las relaciones entre los equipos de un mismo sistema,pueden ser Serie, Paralelo o relaciones Mixtas que contienen combinaciones de lasdos anteriores. La Figura 3-3 describe las características que se definen para cadauno 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 dichousuario, aunque no conozca la profundidad del proceso de simulación, sí conoz-ca la manera en que está compuesto el proceso a simular y las relaciones entresus elementos, junto con las características definidas en la Figura 3-3. Estas ca-racterí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 demanera abstracta la realidad del proceso modelado.

Page 40: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

26 3 Contextualización del Proyecto

Modelo Comunicativo

Teniendo en cuenta que la Etapa de Modelamiento del proyecto debe ser un puntode partida para el proceso de Simulación, es necesario que el modelo obtenido enla 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 lasimulación del proceso a partir de estos.

Para esto, se hace uso del formato para el intercambio de datos, JSON, el cual esobtenido mediante la generación automática de la interfaz gráfica. Este formatopermite acceder a la información del modelo para posteriormente, mediante unlenguaje de programación, ser convertida en variables que se puedan computar.

Page 41: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 utilizadosen el transcurso de la pasantía, el plan de trabajo a seguir consiste en el estudioy aplicación de dichos referentes en el desarrollo de la nueva herramienta, juntocon 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íase basará en el uso y tratamiiento de estos.

La manera en la que se desarrollará el proyecto de pasantía, se describe en elgrá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

Page 42: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

28 4 Plan de Trabajo

la pasantía.

4.2. Etapa 1: Definición de eventos y Selección deParadigma

Esta es la etapa inicial, en la que a partir de la información recolectada y los avan-ces de la Etapa de Modelamiento de la empresa, se definirán los tipos de eventosque puede tener un proceso industrial y, las relaciones y efectos de estos sobrelos cambios de estado del proceso completo, de manera que el modelo simuladorepresente fielmente la posible implementación.Conocer los tipos de eventos que pueden existir permitirá elegir un paradigmade simulación de eventos discretos, de manera que el algoritmo, a partir de dichoparadigma, permita evidenciar las relaciones definidas en la adquisición eficientey 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 co-menzará 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 lengua-je de simulación. La selección del lenguaje se hará de manera que este facilite elcumplimiento de los objetivos del proyecto.

4.4. Etapa 3: Características Mínimas de la He-rramienta

Actualmente existen otras herramientas tanto de Simulación de Eventos Discretoscomo de Análisis RAM, por lo cual es relevante hacer un análisis de las ventajasy limitaciones de cada una de estas de manera que se tenga una visibilidad delos requisitos mínimos que deberá contener el desarrollo de la herramienta a largoplazo.

Page 43: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

4.5 Etapa 4: Desarrollo del Algoritmo 29

4.5. Etapa 4: Desarrollo del Algoritmo

La idea final de esta pasantía es realizar un algoritmo que integre la teoría recolec-tada y las necesidades generales del proyecto de manera preliminar, es decir, quepueda simular el comportamiento y pronosticar desempeño técnico y financiero deprocesos o sistemas industriales simples haciendo uso de funciones proveídas porel grupo de procesamiento computacional.

4.6. Etapa 5: Pruebas y Verificación

Como proceso de verificación se realizarán las simulaciones de varios procesossencillos en una herramienta comercial y se compararán los resultados con losobtenidos por el algoritmo desarrollado. Como ítems a evaluar se tomarán eltiempo de ejecución y la veracidad de los resultados.

Page 44: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples
Page 45: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 5

Desarrollo y Resultados

En el presente capítulo se mostrará el desarrollo de la cada una de las etapasespecificadas en el capitulo anterior, y que dan cumplimiento a los objetivos plan-teados. En cada una de las etapas se especificarán los resultados obtenidos.

5.1. Etapa 1: Definición de Eventos y Selección deParadigma

5.1.1. Definición de Eventos de un Proceso Industrial

Teniendo en cuenta que el paradigma de simulación seleccionado para determinarel modelo que representa los procesos industriales, es la Simulación de Eventosdiscretos, es necesario definir los tipos de Eventos que pueden contener estos pro-cesos y que, según el contexto de Knar, permiten caracterizar el comportamientode 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, sonlos Mantenimientos Preventivos y las Fallas , estas últimas, trayendo im-plícitamente consigo, la duración de su Mantenimiento Correctivo. Dado elcomportamiento estocástico de los eventos de un equipo, estos son caracteriza-dos mediante distribuciones de probabilidad, las cuales son definidas a partir dela recolección de datos experimentales del comportamiento y presencia de estoseventos en el tiempo.

Por lo tanto, los atributos determinados para cada tipo de Evento, son:

Page 46: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

32 5 Desarrollo y Resultados

Mantenimiento Preventivo:

• Ocurrencia: Debido a que estos son de tipo preventivo, su ocurrenciaes programada, ya sea en Tiempo de Operación del equipo o Tiempotipo Calendario, por lo tanto, el valor de esta característica suele serConstante.

• Duración: Puesto que la duración de la ejecución del Mantenimien-to está sujeto a las condiciones que se requieren para realizarlo, comolas condiciones climáticas o la cantidad de recursos disponibles, estacaracterística se establece como una variable aleatoria que sigue a cier-ta distribución de probabilidad, de manera que pueda representar larealidad con mayor precisión. Los parámetros que contiene este tipode características son: Distribución de Probabilidad y los parámetrosrespectivos a dicha distribución.

Falla:

• Ocurrencia: En este tipo de evento, su ocurrencia está dada por uncomportamiento aleatorio, establecido por la distribución de probabi-lidad que lo representa, por lo tanto, sus parámetros son: Distribuciónde Probabilidad y los parámetros respectivos a dicha distribución.

• Duración: Tal como se menciona anteriormente, la duración de unafalla está dada por la duración de la ejecución de su MantenimientoCorrectivo, por lo tanto, esta característica como en el Mantenimien-to Preventivo, está condicionado a diferentes factores que la conviertenen una característica aleatoria, y así, como la característica de ocurren-cia, sus parámetros son: Distribución de Probabilidad y los parámetrosrespectivos a dicha distribución.

Teniendo en cuenta que los Mantenimientos Preventivos, se establecen como sunombre lo dice, para la prevención de una falla, estos siempre deben estar rela-cionados 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 existirfallas que no tengan asociadas su respectivo mantenimiento preventivo, esto, de-bido a que su naturaleza no permite generar datos históricos recurrentes y puedenpresentarse sin ser previstas.

Page 47: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.1 Etapa 1: Definición de Eventos y Selección de Paradigma 33

5.1.2. Selección del Paradigma de Simulación de EventosDiscretos

Para determinar la construcción de la línea de tiempo en una Simulación de Even-tos Discretos, es necesario tener en cuenta la perspectiva desde la cual el tiempode 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 manerasde construir un modelo de eventos discretos [5] y por lo tanto, distintas formasde realizar la simulación dependiendo del caso. Para dar paso a esta etapa, esnecesario hacer una exploración teórica de las tres alternativas de modelamientode una Simulación de Eventos Discretos existentes, de manera que se seleccioneel que permita más flexibilidad y menos complejidad computacional en el algorit-mo a diseñar y además, permita que el proceso industrial simulado represente demanera más cercana al proceso real.

El enfoque de la Programación de Eventos hace énfasis en la descripción detalladade la implicación de que un evento tome lugar. El enfoque de la Exploración deActividades, realiza una revisión de todas las actividades dentro de una simula-ción, para determinar cuál de estas debe iniciar o terminar en cada avance deltiempo. El enfoque de la Interacción de Procesos hace énfasis en el progreso deuna 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 uti-lizado 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á dadopor 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 Progra-mación de Eventos y de Interacción de Procesos, puesto que la Exploración deActividades a pesar de ser conceptualmente útil, en menos eficiente computacio-nalmente [5], por lo tanto no se realizará especficación de este. A continuación, seespecifica cada los enfoques empleados por los lenguajes de simulación.

Page 48: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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ónde Eventos Discretos basado en este enfoque. En este caso, se debe tener la ca-pacidad de programar y ejecutar cada uno de los eventos que se presentan, y,generalmente se tienen en cuenta aquellos que provocan dicho cambio de estadoal mismo tiempo. La acción de programar crea un registro en el cual se identificael evento que se desea ejecutar y el tiempo de la simulación en que puede este serejecutado. La acción de ejecutar, considera el tiempo entre el inicio y el final delevento elegido. El registro es almacenado en una lista, que suele tomar el nombrede “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 basaen el FES para que la ejecución de los eventos se realice en el orden deseado. Porlo general, se toma el evento o los eventos, cuyo tiempo en llegar a ser ejecutadosea menor. Estos son ejecutados, causando los cambios de estado que los eventosespecifiquen [5] y avanzando en el tiempo de reloj, el tiempo de ejecución de es-tos. En este caso, se incluye la relación directa entre los eventos y, por lo tanto, esposible reprogramar la planificación de eventos que ya estaban definidos en FESsi un evento lo provoca [1].

Una vez registrados y ejecutados los eventos correspondientes, es posible generarnuevamente la programación de los eventos definidos para el sistema hasta queel tiempo de reloj sea mayor o igual al tiempo simulado. Luego, se generan losrespectivos cálculos para obtener los resultados requeridos por el usuario.

Page 49: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

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 lasimulación del sistema mediante Programación de Eventos.

Figura 5-2: Diagrama de Flujo - Programación de Eventos. (Fuente: Traducidode [5]).

Por lo tanto, en este enfoque, el tiempo de Reloj no avanza mientras no existaneventos que lleguen a ejecutarse.

Interacción de Procesos

A diferencia del enfoque anterior, este provee un proceso para cada entidad delsistema y se diferencia de la Programación de Eventos, en la manera en que eltiempo fluye dentro de la simulación. Si dentro de la simulación existen diferentestipos de ejecutores, cada un tendrá una representación como un proceso y ca-da uno tendrá un listado en el que se almacene cada requerimiento de servicio,usualmente llamado “Conjunto de Eventos Condicionales" o CES por sus siglasen inglés.

En este enfoque la Rutina de Tiempo se encargará además de la programación dedichos eventos, de dar manejo al CES. En este caso, tal como en Programaciónde Eventos, se realiza un equivalente a la programación de los eventos, reactivan-

Page 50: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

36 5 Desarrollo y Resultados

do un proceso cuando este requerido. La Rutina de Tiempo evalúa el CES paraidentificar los procesos, ejecutándolos, uno por vez y avanza el tiempo de reloj almomento 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 elprimer 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 en-foque de Programación de Eventos, permite generar la rutina de tiempo demanera flexible y eficiente, considerando las acciones necesarias para obtener losresultados requeridos. Además, debido a que la Interacción de Procesos asumeque se requieren diferentes tipos de ejecución los eventos, se puede prescindir deesta, puesto que los eventos definidos en la sección anterior permiten que el proce-so pueda ser simulado únicamente mediante la programación de sus eventos y laconsideración de las relaciones de estos, lo que reduce la complejidad que establecela 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 deeventos permite implementar el impacto de los Mantenimientos Preventivos sobrelas Fallas que lleguen a presentarse, mediante la reprogramación de su ocurrencia.

Page 51: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.2 Etapa 2: Selección del Lenguaje de Programación 37

5.2. Etapa 2: Selección del Lenguaje de Progra-mación

En la sección anterior se eligió un enfoque de Simulación de Eventos Discretos quefacilita la manera en que se manejarán lo diferentes tipos de eventos del proce-so en cuestión, haciendo ahora necesaria la elección de herramientas de softwarepara realizar el desarrollo. Estas herramientas comprenden: un lenguaje de pro-gramación de propósito general, un IDE o Editor de Código Fuente, que permitael correcto manejo del lenguaje y, librerías o aplicaciones del lenguaje escogidoque 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 depropósito general, la selección del lenguaje de programación se realizará teniendoen cuenta dos aspectos de vital importancia en el desarrollo del proyecto a corto ylargo plazo: velocidad de ejecución, y, acople con las otras etapas que comprendenel proyecto.

Tiobe, que brinda servicios de calidad de software, basa su clasificación en unafórmula que evalúa las búsquedas en idiomas en los motores de búsqueda popula-res, como Google, Bing y Wikipedia, y esta información se toma de partida paraconocer lenguajes de programación enriquecidos de documentación y desarrollo.TIOBE index evalúa diferentes aspectos consecuentes a la ejecución de un códigoen un lenguaje de programación y genera rankings. Los aspectos que evalúa estacompañía se muestran en la Figura [?]. La filosofía de TIOBE considera que, solodespués de que se ha enviado un producto de software, se revela la verdaderacalidad 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 comolenguajes más populares a: Java, C, C++, C# y Python, y reconoce el ascensode lenguajes modernos como: Groovy y Julia.

Page 52: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

38 5 Desarrollo y Resultados

Figura 5-4: Aspectos a Evaluar TIOBE index. (Fuente: [6]).

Como el primer aspecto a revisar del lenguaje es su velocidad de ejecución, serealiza una búsqueda de la comparación de este aspecto entre los lenguajes ante-riormente mencionados.

Julia Lang realiza la comparación de esta característica ejecutando diferentes al-goritmos que evalúan el rendimiento del compilador en un rango de patronesde código comunes, como llamadas a funciones, análisis de cadenas, ordenación,bucles numéricos, generación de números aleatorios, recursión y operaciones dematriz. Los resultados de las pruebas se pueden observar sobre la Figura 5-5.

Figura 5-5: Tabla pruebas de velocidad. (Fuente: [7]).

Estas pruebas fueron realizadas con una de las primeras versiones estables de Ju-lia, por lo que se muestran otros resultados realizados con la versión más reciente

Page 53: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.2 Etapa 2: Selección del Lenguaje de Programación 39

Figura 5-6: Benchmark Julia. (Fuente: [7]).

en la Figura 5-6.

De las imágenes se puede observar que de los lenguajes mencionados inicialmente,resaltan en estas pruebas C y Julia por su uniformidad en tiempo de ejecuciónpara diferentes algoritmos, además de mostrar los tiempo más pequeños, por locual, el enfoque seguirá sobre estos.

Luego de estas pruebas se tiene que observar el factor de trazabilidad para el desa-rrollo del proyecto en las etapas definidas. Para esto se tiene que tener en cuentaque el lenguaje que se seleccione cuente con librerías suficientes para conexiónentre fases con la Etapa de Modelamiento y con la Etapa de Paralelización.El lenguaje de Programación C, cuenta con una de las más extensas fuentes dedocumentación y librerías que dan amplias soluciones, sin embargo, al trabajaren un proyecto con una Etapa de Paralelización, y C al no dar herramientas sufi-cientes para este fin, se vuelve complejo el tratamiento de datos o plataformas dedesarrollo entre etapas.

Page 54: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

40 5 Desarrollo y Resultados

Por su lado, debido a que Julia tiene herramientas de paralelización, ya que en sudiseño fue pensado para este fin y para trabajo en la nube??, permitiría un acoplemás sencillo con la Etapa de Paralelización. Además, Julia cuenta con herramien-tas para darle solución a la lectura del Modelo Comunicativo (Package JSON) yla transmisión de datos para la etapa de Paralelización y Optimización, se podríahacer de manera directa, evitando tiempo de transmisión y traducción de lenguaje.

Por lo tanto, debido a la facilidad en el desarrollo de fácil acople, la gran velocidadde ejecución de los códigos, y, las librerías y documentación con las que cuenta Ju-lia, se elige este como lenguaje para desarrollar la Simulación de Eventos Discretosen el proyecto.

5.2.2. Selección Editor de Código Fuente

Actualmente Juno es el entorno de desarrollo integrado (IDE) para Julia más co-nocido y estable. Proporciona herramientas para ayudar a desarrollar código y,este se basa en Atom, un editor de texto proporcionado por Github. Este constade paquetes de Julia y Atom para agregar mejoras específicas de Julia, como resal-tado de sintaxis, panel de trazado, integración con el depurador de Julia (Gallium)y una consola para ejecutar código [25].

Además, Juno en conjunto con Atom, pueden ser instalados en diferentes sistemasoperativos, permitiendo que el desarrollo del proyecto no sea atado a un sistemaoperativo y sus condiciones.

5.2.3. Librerías

Para el desarrollo del proyecto son necesarias básicamente, librerías que permitanmostrar resultados de manera gráfica, librerías que permitan la lectura del modelocomunicativo y, librerías que permitan aplicar el método Monte Carlo. Para estose realiza la búsqueda en la documentación de paquetes proporcionada por Juliaen su página Web.

Julia cuenta con un paquete para el análisis y manejo de estructuras JSON(JSON.jl) que permitirá generar estructuras de datos computables a partir delos datos recolectados por la Etapa de Modelamiento.

Page 55: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.3 Etapa 3: Herramientas de Análisis RAM 41

Para la presentación de resultados de manera gráfica, Julia se apoya en paquetesde graficación externos, permitiendo hacer uso de paquetes completos y con abun-dante documentación, como es el caso de PyPlot de Python [26].

Y finalmente, como herramienta básica de Simulación de Eventos Discretos, se ha-ce necesaria la generación de números aleatorios a partir de distribuciones de pro-babilidad, para esto Julia cuenta con el paquete Distributions (Distributions.jl).El paquete Distributions es una colección de distribuciones probabilísticas y fun-ciones relacionadas. Particularmente, Distributions implementa:

Momentos (por ejemplo, media, varianza, asimetría y curtosis), entropía yotras propiedades

Funciones de densidad / masa de probabilidad (pdf) y su logaritmo (logpdf)

Funciones de generación de momentos y funciones características

Estimación de máxima verosimilitud Posterior w.r.t. conjugación anterior yestimación de Máximo-A-Posteriori (MAP) [27]

5.3. Etapa 3: Herramientas de Análisis RAM

Múltiples herramientas de simulación y de Análisis RAM se han realizado a nivelmundial, de manera que se puede recopilar las características básicas de estas he-rramientas de manera que se pueda entender las caraterísticas mínimas que unaherramienta de análisis RAM basada en simulación de eventos discretos debe te-ner para estar completa.

A continuación se hace una breve descripción de herramientas que se encuentranactualmente en el mercado y realizan Análisis RAM, centrando el análisis sobreMAROS y TARO ya que estas herramientas son desarrolladas por la misma com-pañía (DNV Software) y TARO, es la herramienta que usa actualmente Knar SAS.Algunas de ellas usan simulación de eventos discretos.

Las herramientas más básicas (como el SuperSMITH) permiten generar “mode-los de probabilidad de falla” basados en data de campo, y una vez logrado elmodelo probabilístico, ofrecen el cálculo del algunos descriptores importantes dedesempeño como el tiempo óptimo de reemplazo de un componente que posee una

Page 56: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

42 5 Desarrollo y Resultados

confiabilidad dada.

Algunas herramientas se enfocan en dimensiones específicas de desempeño (comoRaptor) y ofrecen, por ejemplo, estimados de Confiabilidad de un sistema (en-tendida como la rata de falla o probabilidad de funcionamiento exitoso para untiempo dado).

Otras herramientas ofrecen un mayor alcance (como Availability Workbench) re-presentan la interacción de elementos y sistemas empleando técnicas como los dia-gramas de bloques de confiabilidad(RBD) o los árboles de Eventos (FTA: FaultTree Analysis, STA: Success Tree Analysis) para representar la dinámica de fun-cionamiento y falla del sistema.

Algunas otras herramientas abordan el tema de los costos de operación, adicio-nando la dimensión económica a sus análisis, y ofrecen estimados de desempeñocomo análisis de costo de ciclo de vida para cada alternativa de diseño del sistemaindustrial.

5.3.1. TARO

TARO es una herramienta también desarrollada por DNV Software, que permiteel modelamiento de sistemas complejos de petróleo y gas. Los datos de plantasin procesar, como el balance de masa, la configuración del diseño y los datos deconfiabilidad se pueden integrar en un doble digital de la planta, asegurando queel diseño de la refinería o el proceso de la planta representados, lo que permiteuna predicción de rendimiento. La herramienta desarrolla el análisis de desempeñobasada en simulación de eventos discretos [28].

Como se observa en la pequeña descripción de cada una de estas herramientas, esnecesario ofrecer resultados que permitan realizar el análisis por tipos de eventos,por equipos y/o subsistemas que componen el proceso, además a partir de estosresultados se puede construir resultados financieros basados en reglas ya existentesdentro de la industria. Las herramientas más completas como MAROS y TAROofrecen la capacidad de modelar las redes de flujo de un proceso industrial y apartir de allí permiten desglosar cada nodo de las red de proceso en bloques querepresentan las dependencias de confiabilidad, las rutinas de mantenimiento, loscondicionamientos existentes entre múltiples elementos de la planta y el proceso

Page 57: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.3 Etapa 3: Herramientas de Análisis RAM 43

Figura 5-7: Vita de Resultados de TARO: Cuantificación de la disponibilidad yutilización de las unidades. (Fuente: [8]).

industrial así como la logística de personal, herramientas y equipos asociadas ala ejecución de una intervención de restitución programada o no programada deequipos que han fallado afectando el proceso.

Sin embargo, las herramientas descritas, incluyendo TARO, tienen limitantes deejecución, en términos de tiempo y flexibilidad de los tipos de sistemas que puedensimularse. Las simulaciones de procesos muy complejos toman bastante tiempo,no solo por la velocidad de ejecución sino, también porque la herramienta no tienebloques descriptivos para todos lo elementos existentes en la industria actual, difi-cultando el modelamiento que se ha de ingresar al simulador. Todo esto desembocaen que la simulación hecha por estos mecanismos no puede se de gran utilidad enel análisis de sistemas y equipo que ya se encuentran en funcionamiento.

Aún así, es importante ver el modo en que estas herramientas realizan la pre-sentación de resultados. Las Figuras 5-7 y 5-8 muestran capturas de pantallaproporcionadas por TARO de los resultados principales del análisis de un proce-so.

Page 58: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

44 5 Desarrollo y Resultados

Figura 5-8: Vista de Resultados TARO: Número previsto de almacenamiento.(Fuente: [8]).

5.3.2. Características Mínimas de la Herramienta

Con la descripción hecha de algunas herramientas (y el enfoque en TARO), serequiere que a partir de la información recopilada, para mostrar los resultadossuficientes en la manera apropiada, se definan características mínimas del tipo derelaciones que se tendrán en cuenta y del tipo de datos que se requieren guardardurante la ejecución de una simulación, únicamente desde el punto de vista fun-cional de la simulación, es decir, sin tener en cuenta las interacciones directas conel usuario. Las características son:

Recopilar tipos y cantidad de eventos ocurridos en el proceso en observación.

Recopilar tipos y cantidad de eventos ocurridos en cada equipo, con el finde mostrar resultados de criticidad de equipos.

Relacionar en la lógica de simulación las conexiones físicas de los equipos.

Desarrollo de lógica de cálculo de desempeño técnico del proceso, a partir delos datos recopilados. Los resultado del desempeño técnico se verán reflejadosen la disponibilidad de los elementos que conforman el proceso

Page 59: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 45

A partir de los resultados de desempeño técnico se requiere generar resulta-dos de desempeño financiero, enfocado a costos principalmente basados enlas disponibilidades de los elementos del proceso.

Diseño de estructuras de datos eficientes para realizar los cálculos de lasimulación de manera adecuada.

Uso de tipos de gráficas y modos de presentación de resultados precisos.

La velocidad de ejecución de los algoritmos hechos debe ser alta, de maneraque sea una ventaja sobre las otras herramientas existentes.

5.4. Etapa 4: Desarrollo del Algoritmo

El propósito principal de la pasantía se desarolla en esta etapa, puesto que es laque permite mediante el tratamiento de los eventos discretos de los procesos indus-triales, la obtención de los resultados requeridos por el usuario y, principalmente,obtener el primer acercamiento a la realización de una herramienta de simulación.Puesto que este acercamiento se facilita mediante un aumento escalonado en ladificultad de procesamiento, los procesos simulados constarán de las siguientescondiciones:

1. El proceso industrial contendrá un sólo sistema.

2. El sistema estará compuesto de una red principal de equipos conectados enserie.

3. La ejecución de un evento implicará la indisponibilidad total del equipo alcual pertenece dicho evento y, por lo tanto, la indisponibilidad total delsistema.

4. Varios eventos pueden ocurrir al mismo tiempo.

5. La presencia de un mantenimiento preventivo asociado a una falla, repro-gramará la ocurrencia de dicha falla, es decir, provocará su desplazamientoen el tiempo.

Una vez definidos los requerimientos mínimos de la herramienta y el lenguaje deProgramación a utilizar, se parte con la estructuración de las funciones a realizar,a partir de las soluciones planteadas en la Figura 3-1 del Capítulo 3. Para estruc-turar las actividades llevadas a cabo en el desarrollo de la herramienta, se hace

Page 60: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

46 5 Desarrollo y Resultados

Figura 5-9: Sintaxis Método IDEF0

Figura 5-10: Estructura de Actividades generales mediante IDEF0.

uso del método IDEF0 cuya sintaxis se muestra en la Figura 5-9.

La estructura propuesta para llegar a las soluciones descritas, parten de la divisiónde roles dentro del desarrollo de la herramienta, por lo tanto, la información deentrada y salida de cada uno de los bloques, surgen principalmente, de la infor-mación desarrollada en cada una de las etapas de trabajo. Dicha información entérminos generales, se muestra en la Figura 5-10.

Dentro de esta estructura se pueden definir los siguientes parámetros, partiendode la sintaxis propuesta por IDEF0:

Entradas: Se refiere a la información que, una vez entra a la cada etapa,será transformada bajo las condiciones establecidas.

Page 61: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 47

Recursos: Hace referencia a las herramientas que permiten que el desarro-llo de la herramienta sea posible, puesto que es por medio de las cuales quetodas las funciones se pueden ejecutar. Pueden provenir tanto de otras eta-pas, como de los recursos que se utilizan en todo el proyecto. Para este caso,los recursos definidos se enmarcan en los recursos computacionales definidoscomo herramientas fundamentales, como los lenguajes de programación em-pleados y las propiedades internas del computador, esto, debido a que sonlas herramientas que permiten implementar los algoritmos y que a la vez,a partir de su evaluación, son las que evidenciaron atributos de cómputoeficiente.

Entes de Control: Son los datos que permiten identificar la necesidad re-querida y determinar las órdenes a realizar, es decir, definen las operacionesque permiten obtener los resultados solicitados en las etapas anteriores yposteriores. Esto se realiza mediante comandos que especifican el requeri-miento.

Salidas: Es la información que surge del tratamiento de la informaciónentrante mediante los recursos utilizados y en orden en que los entes decontrol accionan su función.

Las actividades realizadas en esta pasantía son las especificadas en los recuadros“Interpretación del modelo" y “Simulación".

5.4.1. Interpretación del Modelo

Esta subetapa, se encarga principalmente de la comunicación con la Etapa deModelamiento mediante el modelo comunicativo, transformándolo en un modelode variables computables, de manera que puedan ser usadas en la subetapa deSimulación.

Partiendo de las actividades establecidas en la Figura 5-10, se establecen lasactividades específicas a realizar dentro de esta subetapa, que son las que permitenllevar a cabo su función dentro del desarrollo de la herramienta de simulación. Lasactividades determinadas para esta subetapa se muestran en la Figura 5-11.Según la sintaxis de IDEF0 se tienen las siguientes parámetros:

Entradas: La información entrante en este segmento, está dada por la informa-ción de Salida de la Etapa de Modelamiento, es decir, el modelo comunicativo

Page 62: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

48 5 Desarrollo y Resultados

Figura 5-11: Estructura de Actividades de la Interpretación del Modelo medianteIDEF0.

proveniente de la Interfaz Gráfica, el cual está dado por un archivo de tipoJSON que contiene la información de las características de los elementosque componen el proceso industrial a simular.

Entes de Control: El ente de control de esta subetapa consiste en el Comandode Inicio de Traducción que indicará cuándo deberá empezar a ser ejecutadala traducción del modelo comunicativo.

Recursos: El recurso principal en este caso, es el estándar JSON, puesto que esel contiene la información de interés del proceso industrial, y el lenguaje deprogramación Julia, mediante éste y un entorno apropiado, se implementanlas funciones y operaciones respectivas a la traducción del archivo JSON.

Salidas: La información saliente de esta, son las desclaraciones globales del pro-ceso y variables creadas dentro de la subetapa que serán luego utlizadas enla etapa de Simulación.

La interpretación del modelo comunicativo consta, principalmente de la trans-formación a variables computables, de las características correspondientes a loselementos del proceso y a las características de la simulación, la actividad que seencarga de estas últimas, se denomina Declaraciones Globales y no requerirá más

Page 63: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 49

que los comandos que Julia proporciona para realizar esta transformación.

Para que algunas de las variables puedan ser construidas, es necesario realizarel conteo de los elementos del proceso, puesto que dicha cantidad de elementos,representará una relación con el tamaño de estas variables. Estas, además, soncreadas a partir de la lectura de parámetros específicos que se recopilan para unfin específico.

Dentro del conteo, se evalúa la cantidad de sistemas, equipos y eventos (en elsistema en total). Los parámetros evaluados en cada uno de los eventos y quepermiten construir algunas de las variables creadas de salida son:

Tipo de Distribución de probabilidad para la ocurrencia.

Parámetros de la Distribución.

Tipo de Distribución de probabilidad para la duración.

Parámetros de la Distribución.

Tipo de Evento.

Costo del Evento.

Relaciones (eventos asociados a éste).

En caso de que el evento sea un mantenimiento, se establece si éste es deTipo Calendario o Tipo Operación.

La Figura 5-12 muestra el Diagrama de Flujo que representa el diseño llevadoa cabo para la lectura y creación de las variables de salida. En la Tabla 5-1 seestablecen las variables de salida creadas mediante este diseño, junto con una des-cripción de su contenido.

La representación en código resultante en Julia de las variables matriciales seobserva en las Figuras 5-13 y 5-14, en donde se observa la configuración de lainformación para un ejemplo implementado.

Page 64: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

50 5 Desarrollo y Resultados

Figura 5-12: Diagrama de Flujo- Diseño Interpretador del Modelo.

Page 65: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 51

Tabla 5-1: Variables de Salida en la Interpretación del ModeloNombre Variable Tipo Descripción

iterations Float Número de repeticiones que se realiza una simulación.lifeCycleTime Float Tiempo total de la simulación del proceso.numberEvents Float Número Total de eventos configurados en el proceso.numberEquip Float Número Total de equipos configurados en el proceso.costNoFlow Float Costo de Lucro Cesante que se utiliza para todo el proceso.confidenceInterval Float Intervalo de confianza.eventListConfig Array

[N,13]"Matriz con los parámetros de configuración de cada uno de loseventos configurados para todos los equipos de los diferentessistemas del proceso. Es una matriz de Nx13, donde N es elnúmero de eventos configurados para el sistema. La estructura dela matriz es:Columna(1): contiene el tipo de distribución de probabilidad dela ocurrencia del evento.Columna(2): contiene el parámetro 1 de la istribución.Columna(3): contiene el parámetro 2 de la distribución.Columna(4):contiene el parámetro 3 de la distribución.Columna(5): contiene el tipo de distribución de probabilidad dela duración del evento.Columna (6): contiene el parámetro 1 de la distribución.Columna(7): contiene el parámetro 2 de la distribución.Columna(8):contiene el parámetro 3 de la distribución.Columna(9): contiene Costo de ocurrencia del evento.Columna(10): contiene Tipo de evento. Es 1, si es Falla y 2, sies mantenimiento.Columna(11): contiene el ID de identificación del evento.Columna(12): contiene un array que contiene el ID de identifi-cación de las fallas asociadas, para el caso en que el evento sea unmantenimiento.Columna(13): contiene el ID de identificación del equipo al quepertenece el evento.

configGroupMant Array[N,5]

Matriz con los parámetros de configuración de cada uno de losgrupos de mantenimiento configurados para todos los sistemasdel proceso. Esta variable es usada principalmente en la Etapade Optimización. Es una matriz de 5xN, donde N es el númerode grupos configurados. La estructura de la matriz es:Columna(1): contiene el identificador del grupo.Columna (2): contiene un array de longitud m, donde m es elnúmero de mantenimientos asociados al grupo. Este array contie-ne los identificadores de los mantenimientos.Columna(3): contiene el valor inicial (periodo) del rango de bús-queda, definido para el grupo de mantenimiento.Columna(4): contiene el valor final (periodo) del rango de bús-queda para el grupo de mantenimiento.Columna(5): Es el delta cambio (resolución de búsqueda) que seutiliza para recorrer el rango de búsqueda, desde el valor inicial,hasta el valor final del mismo; definido para el grupo de manteni-miento.

Page 66: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

52 5 Desarrollo y Resultados

Figura 5-13: Estructura resultante de Variable eventListConfig- Ejemplo.

Figura 5-14: Estructura resultante de Variable configGroupMant- Ejemplo.

5.4.2. Simulación

La etapa de Simulación tiene como finalidad, establecer el comportamiento delproceso industrial simulado a partir del comportamiento de sus eventos discretosen el intervalo de tiempo determinado por el usuario. Para esto, partiendo de laFigura 5-10, se establecen las actividades específicas dentro de este segmento, lascuales se muestran en la Figura 5-15.

Según la sintaxis de IDEF0 se tienen las siguientes parámetros:

Entradas: La información entrante en este segmento, está dada por la informa-ción de Salida de la Interpretación del modelo, entre estas se encuentran lasvariables y características definidas dentro de esta.

Entes de Control: El ente de control de esta subetapa consiste en el Comandode Inicio de Simulación que indicará cuándo deberá empezar a ser ejecutadala información de entrada.

Recursos: El recurso principal en este caso, es el lenguaje de programaciónJulia, puesto que mediante este y un entorno apropiado, se implementan lasfunciones determinadas en esta subetapa.

Salidas: La información saliente de esta, son los resultados concernientes a Cos-tos y Análisis RAM, como el porcentaje de disponibilidad total del sistema,

Page 67: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 53

Figura 5-15: Estructura de Actividades de la Simulación mediante IDEF0.

entre otros, luego de haberse calculado su intervalo de confianza.

Para llevar a cabo el proceso de simulación, es necesario dividir la subetapa en dossecciones con una determinada labor. Dichas secciones y su función se presentana continuación:

Simulación de Eventos Discretos: Esta sección se encarga de la construcciónde la línea de tiempo, a partir de la cola de eventos establecida y la relaciónentre estos.

Monte Carlo: Esta sección se encarga de la evaluación de las iteraciones espe-cificadas por el usuario, realizando los cálculos estadísticos de los resultadosarrojados por cada iteración, utilizando el intervalo de confianza.

El diseño establecido para el desarrollo de esta etapa, teniendo en cuenta las sec-ciones mencionadas, se muestran en la Figura 5-16.

Para llevar a cabo la implementación del diseño, teniendo en cuenta los roles decada sección, se crean funciones a partir de las variables creadas y recibidas de laInterpretación del modelo, de manera que el código implementado tenga comple-jidad reducida mediante la modularidad.

A continuación, se presenta la descripción de cada una de las funciones creadas,junto con sus variables de entrada y salida correspondientes.

Page 68: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

54 5 Desarrollo y Resultados

Figura 5-16: Diagrama de Flujo- Diseño con Equipos en Serie.

Page 69: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 55

Tabla 5-2: Descripción de Variables - Función numAlea

Función: numAleaDescripción Función: Generación de número aleatorio acorde a la distribución de probabili-dad establecida y sus parámetros.Variables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

eventListConfig Array[N,13]

Variable de entrada prove-niente de la Interpretacióndel modelo.

NumAlea Float Variable que contiene elnúmero aleatorio que res-ponde a la distribución deprobabilidad y sus pará-metros.

Figura 5-17: Estructura resultante de Variable eventList- Ejemplo.

Simulación de Eventos Discretos

Las Tablas, desde la 5-2 hasta la 5-8, muestran la descripción de las funcionescreadas dentro de esta sección y que permitieron cumplir el fin establecido paraesta, junto con las variables de entrada y salida de cada una de estas.

La representación en código obtenida de la variable eventList, se muestra en laFigura 5-17.

La representación en código obtenida de la variable timeLineList, se muestra enla Figura 5-18.La representación en código obtenida del llamado a la función RelationSeries,se muestra en la Figura 5-19.

Page 70: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

56 5 Desarrollo y Resultados

Tabla 5-3: Descripción de Variables- Función instanceEventsFunción: instanceEvents

Descripción Función: Instancia la duración y la ocurrencia del conjunto de eventos(puedeser uno o varios) que se pasan como parámetros, a partir sus configuraciones(caracterizaciónde probabilidad).Variables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

ide Array[N]

Vector unidimensional delongitud N, donde cadaelemento corresponde a unID del evento a instanciar.

eventList Array[N,3]

Es una matriz que alma-cena la instancia de cadauno de los eventos. Cadafila representa un evento ylas columnas representanlos siguientes datos:Columna(1): contiene elnúmero aleatorio generadopara la ocurrencia.Columna (2): contiene elnúmero aleatorio generadopara la duración.Columna(3): contiene elID del evento.

eventListConfig Array[N,13]

Variable de entrada prove-niente de la Interpretacióndel modelo.

Figura 5-18: Estructura resultante de Variable timeLineList- Ejemplo.

Page 71: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 57

Tabla 5-4: Descripción de Variables - Función fillTimeLineFunción: fillTimeLine

Descripción Función: Realiza el registro de los eventos ocurridos durante el tiempo de simu-lación, avanzando en el tiempo de Reloj a medida que estos se presentan.Variables deEntrada

Tipo Descripción Variable Variablesde salida

Tipo Descripción Variable

aux Array[1,3]

Vector que contiene la in-formación correspondientea la instancia de un eventodeterminado.

clock Float Tiempo actual de simula-ción.

Flag Int Bandera que sirve paradiferenciar los diferentestipos de registro sobre lalínea de tiempo.Flag=1, Registra unevento que ocurre de ma-nera única. considerandoque: salto=ocurrencia,duración=duración,afectación=duración,tiempo reloj= ocurren-cia+afectación+tiempoanterior.Flag=2, Registra unevento que ocurre si-multáneamente a otroya registrado y su du-ración es mayor alregistrado. considerandoque: salto=ocurrencia,duración=duración,afectación=duración-duración último evento,tiempo reloj = ocurren-cia+afectación+tiempoanterior.Flag=3, Registra unevento que ocurre si-multáneamente a otroya registrado y su du-ración es menor alregistra. considerandoque: salto=ocurrencia,duración=duración,afectación=0, tiemporeloj=tiempo anterior.

timeLineList Array[N,5]

Matriz en la que sonregistrados los eventosque ocurren en el tiempode simulación definido. N,corresponde al número deeventos que se registrandentro del tiempo desimulación y no es unnúmero definido en lacreación de la matriz. Lascolumnas corresponden a:

Columna(1): Tamaño desalto del evento (unidadesde tiempo).Columna(2): Duracióndel evento(unidades detiempo).Columna(3): Afectacióndel evento(unidades detiempo).Columna(4): tiempo dereloj actual.Columna(5): ID delevento.

Page 72: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

58 5 Desarrollo y Resultados

Tabla 5-5: Descripción de Variables - Función instAssociatedFailsFunción: instAssociatedFails

Descripción Función: Instancia la duración y la ocurrencia del conjunto de eventos de tipofalla asociados al evento tipo mantenimiento en cuestión. También lleva la contabilidad delnúmero de veces que ocurre el evento en la simulaciónVariables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

auxID Integer ID del evento de tipomantenimiento, cuyas fa-llas asociadas serán reins-tanciadas.

eventList Array[N,3]

La descripción de esta va-riable se encuentra en laTabla 5-3.

numberEvents Integer Esta es una variable de sa-lida de la Interpretacióndel Modelo. Su descrip-ción se encuentra en la Ta-bla 5-12

counterEventsArray[N,4]

Matriz que almacena elconteo de los eventosocurridos para una si-mulación. Donde N es elnúmero de eventos delproceso y las columnas sedefinen así:Columna(1): Id delevento.Columna(2): acumulala cantidad de veces queocurre el evento.Columna(3): Id delequipo.Columna(4): Tipo deevento(Falla=1, Manteni-miento=2).

clock Float La descripción de esta va-riable se encuentra en laTabla 5-4

counterEquipsArray[N,2]

Matriz que contiene elconteo de eventos que ocu-rren por equipo. N es lacantidad de equipos delproceso.

lifeCycleTime Float Esta es una variable de sa-lida de la Interpretacióndel Modelo. Su descrip-ción se encuentra en la Ta-bla 5-12

Page 73: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 59

Tabla 5-6: Descripción de Variables- Función RelationSeriesFunción: RelationSeries

Descripción Función: Ejecuta el algoritmo de registro de eventos en la linea de tiempo deuna simulación, para procesos con equipos conectados en serie y obtiene los resultados poriteraciónVariables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

clock Float La descripción de esta va-riable se encuentra en laTabla 5-4

availability Float Retorna el total de ladisponibilidad del sistema,durante la iteración. Estádada en unidades de tiem-po.

eventListConfig Array[N,13]

Variable de entrada prove-niente de la Interpretacióndel modelo.

TotaNoFluxl Float Retorna el total de lano disponibilidad (afecta-ción) del sistema, durantela iteración. Está dada enunidades de tiempo.

eventList Array[N,5]

La descripción de esta va-riable se encuentra en laTabla 5-3.

counterEventsArray[N,4]

La descripción de esta va-riable se encuentra en laTabla 5-5

lifeCycleTime Float Variable de entrada prove-niente de la Interpretacióndel modelo.

counterEquipsArray[N,5]

La descripción de esta va-riable se encuentra en laTabla 5-5.

timeLineList Array[N,5]

La descripción de esta va-riable se encuentra en laTabla 5-4.

numberEquip Integer Variable de entrada prove-niente de la Interpretacióndel modelo.

costNoFlow Float Variable de entrada prove-niente de la Interpretacióndel modelo.

Figura 5-19: Estructura resultante de Variable RelationSeries- Ejemplo.

Page 74: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

60 5 Desarrollo y Resultados

Monte Carlo

La siguiente Tabla muestra la descripción de las funciones creadas dentro de estasección y que permitieron cumplir el fin establecido para esta, junto con las va-riables de entrada y salida de cada una de estas.

Tabla 5-7: Descripción de Variables- Función dataConfidenceIntervalFunción: dataConfidenceInterval

Descripción Función: Cálculo de los valores Máximo, Medio y Mínimo entre los que seencuentran los valores obtenidos en cada de las iteraciones realizadas con el intervalo deconfianza establecido por el usuario.Variables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

confidenceInterval Float Variable de entrada prove-niente de la Interpretacióndel modelo.

dataP Array[1,3]

Vector que contiene los va-lores de Pmínimo, Pmedioy Pmáximo de un vectorde datos específico.

data Array[1,M]

Vector de datos correspon-diente a los resultados delas variables de salida defi-nidas en la Tabla 5-6, ob-tenidos en cada iteración.M es el número de itera-ciones en la simulación.

Los valores Máximo (Pmax ), Medio (Pmed) y Mínimo (Pmin) obtenidos con es-ta función, son los valores referentes al rango de valores entre los que se puedeencontrar veracidad de los valores resultantes de cada iteración, y por lo tanto,entre más grande sea el porcentaje del Intervalo de Confianza establecido por elusuario, mayor será dicho rango. El valor Pmin es el valor mínimo del rango, ypor lo tanto, no se podrá confiar en resultados cuyo valor sea menor a este. Elvalor Pmed es el valor medio encontrado en la recopilación de resultados de lasiteraciones. El valor Pmax es el valor máximo de dicho rango de resultados, eneste caso no se podrá confiar en los resultados cuyo valor sea mayor a este. Estosvalores se calculan de la siguiente manera:

Pmin =Coleccionderesultadosdeltotaldeiteraciones

100∗(50−Intervalodeconfianza

2)

Pmed =Coleccionderesultadosdeltotaldeiteraciones

100∗ 50)

Pmax =Coleccionderesultadosdeltotaldeiteraciones

100∗(50+

Intervalodeconfianza

2)

Page 75: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.4 Etapa 4: Desarrollo del Algoritmo 61

Tabla 5-8: Descripción de Variables- Función DataRelationSeriesFunción: DataRelationSeries

Descripción Función: Realiza el control de la simulación, teniendo en cuenta la cantidadde iteraciones. Hace uso de la función dataConfidenceInterval para obtener los valoresPmin-Pmed-Pmax de: Costos Totales,Disponibilidad del sistema(Tiempo),No disponibili-dad(Puede ser un tiempo(flag=1) o un valor de costo por no disponibilidad(flag=0)),Costosde Falla,Costos de Mantenimiento, de una simulación con N iteraciones.Variables deEntrada

Tipo Descripción Variable Variablesde Salida

Tipo Descripción Variable

iterations Float Variable de entrada prove-niente de la Interpretacióndel modelo.

ans Array[15,1]

Es un Array que alma-cena los resultados dela simulación total de lasiguiente manera:

Filas(1,2,3): Costo totalde todo el sistema ensus valores Pmin, Pmid,Pmax.Filas(4,5,6): Disponi-bilidad total de todo elsistema en su valoresPmin, Pmid y Pmax.Filas(7,8,9): Costo deflujo cesante o tiempocesante de todo el sistema(dependiendo de la varia-ble flag) en sus valoresPmin, Pmid, Pmax.Filas(10,11,12): costodebido a fallas en todoel sistema en su valoresPmin, Pmid y Pmax.Filas(13,14,15): costopor mantenimientos entodo el sistema en suvalores Pmin, Pmid yPmax.

Page 76: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

62 5 Desarrollo y Resultados

5.5. Pruebas y Verificación

La presente etapa consiste en la elaboración de pruebas de simulación correspon-dientes a procesos con características hipotéticas cercanas a parámetros realesmanejados en la industria, y su posterior verificación en la herramienta de simu-lación utilizada por Knar S.A.S., esto, con el fin de comprobar la veracidad delos resultados obtenidos y establecer la funcionalidad de la herramienta como unproducto comercializable.

Para realizar las pruebas correspondientes, se hace uso del modelador de maneraque se establezca un proceso base, cambiando en cada prueba algunos de los pará-metros de los eventos implementados. Los modelos a simular tienen las siguientescaracterísticas en común:

El proceso se compondrá de un único sistema.

El sistema está compuesto de una relación serie de DOS equipos.

Cada equipo tendrá asociados dos eventos: Un mantenimiento preventivo ysu falla asociada.

Las valores establecidos para la simulación son:

Unidad de tiempo: Días

Tiempo de Vida: 3650

Número de Iteraciones: 100

Intervalo de Confianza: 90

Costo de Falla: 50

Costo de Mantenimiento: 10

Costo de Lucro Cesante: 2250

Las pruebas a realizar constan de dos experimentos. En cada uno de estos se fi-jarán los parámetros correspondientes a la Falla (ocurrencia y duración) de cadaequipo, y se hará la evaluación del proceso ante el cambio en los parámetros delos Mantenimientos (ocurrencia y duración), estableciendo estos valores a losmantenimientos de ambos equipos de manera que se obtenga el comportamientode cada uno de los modelos en términos de la Disponibilidad y los Costos Totales.

Page 77: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.5 Pruebas y Verificación 63

5.5.1. Experimento 1

Para este experimento se implementarán 9 modelos de procesos industriales con lascaracterísticas anteriormente descritas. Cada uno de estos modelos presentará unaconfiguración distinta de sus eventos, la Tabla 5-9 muestra dicha configuraciónpara cada modelo.

Tabla 5-9: Configuración de Eventos- Experimento 1Experimento 1

Modelo Eventos Equipo 1 Eventos Equipo 2Modelo 1

FallaOcurrencia:Tipo de Distribución:WeibullParámetros :η :365; β : 15Duración: 2

MantenimientoOcurrencia:Constante: 240Duración: 1

FallaOcurrencia:Tipo de Distribución:WeibullParámetros :η :360; β : 20Duración: 3

MantenimientoOcurrencia:Constante: 240Duración: 1

Modelo 2 MantenimientoOcurrencia:Constante: 268Duración: 1

MantenimientoOcurrencia:Constante: 268Duración: 1

Modelo 3 MantenimientoOcurrencia:Constante: 280Duración: 1

MantenimientoOcurrencia:Constante: 280Duración: 1

Modelo 4 MantenimientoOcurrencia:Constante: 340Duración: 1

MantenimientoOcurrencia:Constante: 340Duración: 1

Modelo 5 MantenimientoOcurrencia:Constante: 390Duración: 1

MantenimientoOcurrencia:Constante: 390Duración: 1

Modelo 6 MantenimientoOcurrencia:Constante: 480Duración: 1

MantenimientoOcurrencia:Constante: 480Duración: 1

Modelo 7 MantenimientoOcurrencia:Constante: 580Duración: 1

MantenimientoOcurrencia:Constante: 580Duración: 1

Modelo 8 MantenimientoOcurrencia:Constante: 680Duración: 1

MantenimientoOcurrencia:Constante: 680Duración: 1

Modelo 9 MantenimientoOcurrencia:Constante: 780Duración: 1

MantenimientoOcurrencia:Constante: 780Duración: 1

Page 78: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

64 5 Desarrollo y Resultados

Resultados

Teniendo en cuenta las variables de salida de la sección Montecarlo del algoritmoimplementado, los resultados obtenidos son: Costo Total, Conteo de Disponibili-dad, Conteo de Flujo Cesante, Costo Falla y Costo Total Mantenimiento. Estosresultados serán recopilados en la Tabla 5-10, en los cuales se presenta el valorP50 de cada uno de dichos resultados.

Tabla 5-10: Resultados de Simulación- Experimento 1Resultados Experimento 1

Modelo Costo Total(Miles de Dóla-res)

Conteo de Disponibi-lidad(Unidades de Tiem-po)

Conteo de Flujo Ce-sante(Unidades de tiempo)

Costo Falla(Miles de Dóla-res)

Costo TotalMantenimiento(Miles de Dólares)

Modelo 1 34050 3635 15 0 300Modelo 2 29510 3637 13 0 260Modelo 3 27240 3638 12 0 240Modelo 4 52200 3627 23 250 200Modelo 5 118030 3596 52 850 180Modelo 6 95340 3608 42 700 140Modelo 7 81720 3614 36 600 120Modelo 8 81700 3614 36 600 100Modelo 9 111230 3601 49 900 80

Verificación

Para realizar la verificación, se simularon los diferentes escenarios del experimentoen la herramienta TARO. Los resultados que resultan comparables entre TAROy el desarrollo de la nueva herramienta son: Disponibilidad y Costos por Pér-dida de Producción, aunque estos se encuentran en dados en diferentes medidasy las simulaciones están sujetas a que los mantenimientos son de tipo “Operación”.

Los resultados de disponibilidad de TARO son dados en porcentaje, y lo costos porpérdida de producción no son dados directamente, sino que resultan de la cantidadde unidades pérdidas de producción, en este caso a Barriles No Producidos quetienen un costo individual de 3 dólares. Por otro lado, los resultados análogos dela nueva herramienta son conteos, es decir, se encuentran medidos en la unidad detiempo de simulación, por lo tanto para poder realizar la comparación de maneralógica, se realiza la transformación de estos conteos a porcentaje y unidades dedinero teniendo en cuenta que la unidad será miles de dólares.

Los resultados de esta transformación se encuentran en las Tablas 5-11 y 5-12,

Page 79: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.5 Pruebas y Verificación 65

en conjunto con los resultados de TARO. Las siguientes, son las ecuaciones detransformación:

Disponibilidad( %) =ConteodeDisponibilidad

T iempodeV ida∗ 100

CostodeF lujoCesante = ConteodeF lujoCesante∗CostoUnidadF lujoCesante∗1000

Tabla 5-11: Resultados Disponibilidad Experimento 1 -Comparación con TARO

ModeloResultados Propios Resultados TARO

P5 P50 P95 P5 P50 P95

Modelo 1 99,5890 99,5890 99,5890 99,589 99,589 99,589Modelo 2 99,5890 99,6438 99,6438 99,639 99,644 99,644Modelo 3 99,5616 99,6712 99,6712 99,589 99,644 99,644Modelo 4 99,1232 99,3424 99,5616 99,233 99,396 99,51Modelo 5 98,5205 98,5205 98,6301 98,521 98,575 98,63Modelo 6 98,8493 98,8493 98,8493 98,849 98,849 98,849Modelo 7 98,9589 99,0136 99,0136 99,014 99,014 99,014Modelo 8 98,8219 98,9863 99,1232 98,904 99,041 99,154Modelo 9 98,6575 98,6575 98,7123 98,658 98,658 98,658

Estos resultados se pueden plasmar de una manera gráfica para observar el com-portamiento de ambas simulaciones a medida que se varía el periodo de manteni-miento, esto se puede observar en las Figuras 5-20 y 5-21.

Tabla 5-12: Resultados Costos Experimento 1 -Comparación con TAROCostos de No Producción

Modelo Resultados Propios Resultados TARO

Modelo 1 33750000 33794999,670Modelo 2 29250000,000 29744999,703Modelo 3 27000000 30356247,51Modelo 4 54000000 51252164,04Modelo 5 121500000 117725882,43Modelo 6 94500000 94612499,07Modelo 7 81000000 80999999,19Modelo 8 81000000 79834962,69Modelo 9 110250000 109881725,37

Page 80: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

66 5 Desarrollo y Resultados

200 300 400 500 600 700 800

Periodo de Mantenimiento(Días)

98.4

98.6

98.8

99

99.2

99.4

99.6

99.8

Co

sto

s T

ota

les(M

iles d

e D

óla

res)

Comparación Disponibilidad(P5)- Experimento 1

Resultados Propios

Resultados TARO

(a) P5

200 300 400 500 600 700 800

Periodo de Mantenimiento(Días)

98.4

98.6

98.8

99

99.2

99.4

99.6

99.8

Dis

po

nib

ilid

ad

(%)

Comparación Disponibilidad(P50)

Resultados Propios

Resultados TARO

(b) P50

200 300 400 500 600 700 800

Periodo de Mantenimiento(Días)

98.6

98.8

99

99.2

99.4

99.6

99.8

Dis

po

nib

ilid

ad

(%)

Comparación Disponibilidad(P95)

Resultados Propios

Resultados TARO

(c) P95

Figura 5-20: Comparación Disponibilidad Experimento 1

200 300 400 500 600 700 800

Periodo de Mantenimiento(Días)

2

4

6

8

10

12

14

Costo

s T

ota

les(M

iles d

e D

óla

res)

107 Comparación Costos- Experimento 1

Resultados Propios

Resultados TARO

Figura 5-21: Comparación Costos de No Producción Experimento 1

5.5.2. Experimento 2

Para este experimento se implementarán 4 modelos, cuyas características, aunquepresentan similitud con el Experimento 1, presentan variación en los parámetrosde los eventos del proceso. La Tabla 5-13 muestra la configuración de los eventosestablecidos.

Resultados

Considerando las mismas variables de salida que en el Experimento 2 como resul-tados de la simulación, se recopilan en la Tabla 5-14 los valores P50 de dichosresultados.

Page 81: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.5 Pruebas y Verificación 67

Tabla 5-13: Configuración de Eventos- Experimento 2Experimento 2

Modelo Eventos Equipo 1 Eventos Equipo 2Modelo 1

FallaOcurrencia:Tipo de Distribución:WeibullParámetros :η :240; β : 10Duración: 3

MantenimientoOcurrencia:Constante: 240Duración: 1

FallaOcurrencia:Tipo de Distribución:WeibullParámetros :η :200; β : 5Duración: 2

MantenimientoOcurrencia:Constante: 240Duración: 1

Modelo 2 MantenimientoOcurrencia:Constante: 200Duración: 1

MantenimientoOcurrencia:Constante: 200Duración: 1

Modelo 3 MantenimientoOcurrencia:Constante: 175Duración: 1

MantenimientoOcurrencia:Constante: 175Duración: 1

Modelo 4 MantenimientoOcurrencia:Constante: 150Duración: 1

MantenimientoOcurrencia:Constante: 150Duración: 1

Tabla 5-14: Resultados de Simulación- Experimento 2Resultados Experimento 2

Modelo Costo Total(Miles de Dóla-res)

Conteo de Disponibi-lidad(Unidades de Tiem-po)

Conteo de Flujo Ce-sante(Unidades de tiempo)

Costo Falla(Miles de Dóla-res)

Costo TotalMantenimiento(Miles de Dólares)

Modelo 1 158930 3580 70 1150 280Modelo 2 111290 3600 49 700 340Modelo 3 88600 3611 39 450 400Modelo 4 77230 3616 34 250 480

Verificación

De la misma manera que con el experimento 1, se realizan unas tablas (Tabla5-15 y Tabla 5-16) comparando los resultados sobre las mismas escalas y poste-riormente de manera gráfica. Las figuras 5-22 y 5-23, muestran estos resultadosde manera gráfica.

Adicional a esto se realiza la comparación de estos resultados por medio del Co-eficiente de Correlación de Pearson, cuya interpretación será útil para medir laveracidad de los resultados propios. Se realizó el cálculo de este coeficiente paracada uno de los resultados encontrados, y el valor de este se puede observar en laTabla 5-17.

Page 82: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

68 5 Desarrollo y Resultados

Tabla 5-15: Resultados Disponibilidad Experimento 2 -Comparación con TARO

ModeloResultados Propios Resultados TARO

P5 P50 P95 P5 P50 P95

Modelo 1 97,8904 98,0821 98,3835 97,863 98,082 98,274Modelo 2 98,4109 98,6301 98,9315 98,466 98,685 98,897Modelo 3 98,6849 98,9315 99,1780 98,74 98,959 99,151Modelo 4 98,8493 99,0684 99,2328 98,915 99,068 99,178

Tabla 5-16: Resultados Costos Experimento 2 -Comparación con TAROCostos de No Producción

Modelo Resultados Propios Resultados TAROModelo 1 155250000 158444897,64Modelo 2 112500000 106985915,67Modelo 3 87750000 85303224,96Modelo 4 76500000 77741702,16

150 160 170 180 190 200 210 220 230 240

Periodo de Mantenimiento(Días)

97.8

98

98.2

98.4

98.6

98.8

99

Co

sto

s T

ota

les(M

iles d

e D

óla

res)

Comparación Disponibilidad(P5)- Experimento 2

Resultados Propios

Resultados TARO

(a) P5

150 160 170 180 190 200 210 220 230 240

Periodo de Mantenimiento(Días)

98

98.2

98.4

98.6

98.8

99

99.2

Dis

po

nib

ilid

ad

(%)

Comparación Disponibilidad(P50)- Experimento 2

Resultados Propios

Resultados TARO

(b) P50

150 160 170 180 190 200 210 220 230 240

Periodo de Mantenimiento(Días)

98.2

98.4

98.6

98.8

99

99.2

99.4

Dis

po

nib

ilid

ad

(%)

Comparación Disponibilidad(P95)- Experimento 2

Resultados Propios

Resultados TARO

(c) P95

Figura 5-22: Comparación Disponibilidad Experimento 2

Page 83: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

5.5 Pruebas y Verificación 69

150 160 170 180 190 200 210 220 230 240

Periodo de Mantenimiento(Días)

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

Costo

s T

ota

les(M

iles d

e D

óla

res)

108 Comparación Costos- Experimento 2

Resultados Propios

Resultados TARO

Figura 5-23: Comparación Costos de No Producción Experimento 2

Tabla 5-17: Coeficiente de Correlación de Pearson Aplicado a los ResultadosResultado Valor del Coeficiente

Disponibilidad P5 Experimento 1 0,99886Disponibilidad P50 Experimento 1 0.99786Disponibilidad P95 Experimento 1 0.99784

Costos Experimento 1 0.99886Disponibilidad P5 Experimento 2 0.99945Disponibilidad P50 Experimento 2 0.99823Disponibilidad P95 Experimento 2 0.99889

Costos Experimento 2 0.99496

Una de las características a comparar es la velocidad de ejecución de la simulación,debido a que esta es una de las limitaciones planteadas de las herramientas desimulación comerciales. Por lo tanto, aunque esta característica no es uno de losresultados que se arroja de la simulación, sí es una característica medible en ambasherramientas. Esta comparación se muestra en las Tablas 5-18 y 5-19 por mediodel tiempo medido para cada una de las pruebas realizadas en cada experimento.

Tabla 5-18: Comparación de Tiempos de Simulación- Experimento 1Modelo Resultados Propios Resultados TAROModelo 1 3,51581 4,29Modelo 2 0,126607 4,78Modelo 3 0,11511 4,42Modelo 4 0,095566 4,13Modelo 5 0,119618 4,31Modelo 6 0,0912144 4,09Modelo 7 0,0842305 4,17Modelo 8 0,0741569 3,80Modelo 9 0,0781512 4,23

Page 84: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

70 5 Desarrollo y Resultados

Tabla 5-19: Comparación de Tiempos de Simulación- Experimento 2Modelo Resultados Propios Resultados TAROModelo 1 0,162885 4,79Modelo 2 0,188181 4,56Modelo 3 0,172006 5,06Modelo 4 0,18252 5,61

Page 85: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 6

Análisis de Resultados

El presente capítulo contiene la síntesis de los resultados obtenidos y de la poste-rior verificación realizada de estos. Esto, con el fin de conseguir una interpretaciónque permita dar una evaluación de la realización de la herramienta de simulación.

Teniendo en cuenta que a partir de la verificación de los resultados se define lautilidad de la herramienta para simular procesos industriales simples con resul-tados veraces, se observa en la verificación de los experimentos a primera vista,que ambas herramientas presentan comportamientos semejantes, sin embargo, esnecesario que dicha relación sea comprobada. Es por esta razón que mediante elCoeficiente de Correlación de Pearson se busca principalmente, corroborar dichasapreciaciones. Dicho valor como se muestra en el capítulo anterior, presenta unvalor muy próximo a uno, lo que significa que ambos valores presentan una rela-ción casi que lineal.

El tiempo de ejecución de ambas herramientas presenta gran diferencia, siendoel tiempo de ejecución de la simulación en la herramienta construida 36.72 vecesmenor(en promedio) al tiempo de ejecución obtenido en la simulación con TARO,lo cual implica que una de las limitaciones definidas por esta última se lograsuprimir.Las variaciones aunque pequeñas, entre los resultados obtenidos de simulación enTARO y en la herramienta propia pueden deberse a diversos factores que influyenen el comportamiento del proceso y por lo tanto, en los resultados de la simulación.

El primero de estos aspectos es que, debido a la naturaleza estocástica del proce-so y que las ocurrencias de los eventos son establecidas por números aleatorios,

Page 86: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

72 6 Análisis de Resultados

estos resultados están sujetos a la incertidumbre que estos proporcionan y aunqueel método de Montecarlo llevado a cabo mitiga dichos efectos, no se remueve laincertidumbre en su totalidad.

Por otro lado, en el desarrollo de la herramienta se define un paradigma de Si-mulación de Eventos Discretos partiendo de la exploración teórica, sin embargo,no se tiene conocimiento de los paradigmas de programación llevados a cabo enTARO para realizar las simulaciones con eventos discretos, por lo tanto, no seconoce la perspectiva desde la cual se construye la línea de tiempo de la cual seobtienen los resultados finales.

Otro de los aspectos influyentes en dichas variaciones, se atribuye a las carac-terísticas de la simulación, puesto que los Mantenimientos en la herramienta desimulación construida, establece su tipo como “Operación”, es decir, la ocurrenciaconsiderará los tiempos en que los equipos se encuentran activos, mientras queTARO considera los Mantenimientos de tipo “Calendario”, es decir, se establecedesde un inicio el tiempo en que dicho evento ocurrirá. Esto puede causar lasvariaciones, debido a que en los Mantenimientos de tipo “Operación” se presentandesplazamientos en la ocurrencia de estos, debido a la ejecución de otros eventos,lo cual puede variar el número total de Mantenimientos y Fallas presentadas du-rante la línea de tiempo.

Partiendo de las anteriores consideraciones se observa que, aunque ambas herra-mientas emplean diferentes métodos para el tratamiento de los eventos discretosdel proceso industrial, la herramienta construida presenta resultados que permi-ten realizar el análisis de Disponibilidad y de Costos de procesos industriales conresultados de alta veracidad, y en tiempos de ejecución considerablemente reduci-dos. Con esto, se puede llegar a que la herramienta además de obtener resultadosque se obtendrían al hacer uso de una herramienta de simulación comercial, se me-joran las características que presentan estas como obstáculos y, que por lo tanto,es una herramienta que dado su desempeño, puede utilizarse para la simulaciónde modelos de procesos simples para uso laboral.

Page 87: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Capítulo 7

Evaluación de Cumplimiento de losObjetivos

De acuerdo con las actividades realizadas para el cumplimiento de los objetivosplanteados plasmados en el Capítulo 5 y, acorde al plan de trabajo establecido,se procede a realizar una evaluación porcentual del cumplimiento de estos. Esto,con el fin de establecer una perspectiva de valoración del trabajo realizado en lapasantía haciendo uso de los recursos adquiridos durante el mismo desarrollo ypor parte de la empresa.

En la Tabla 7-1 se recopilan los aspectos evaluados a partir de los objetivos. Laprimera columna contiene cada uno de los objetivos planteados en el Capítulo 1, lasegunda columna contiene el resumen de cada una de las actividades desarrolladas,y cuya descripción detallada se encuentra en el Capítulo 5; y por último, la terceracolumna presenta la valoración porcentual que refleja qué tan pertinente fuerondichas actividades y que por lo tanto permitieron el cumplimiento de cada uno delos objetivos.

Page 88: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

74 7 Evaluación de Cumplimiento de los Objetivos

Tabla 7-1: Tabla Evaluación de Cumplimiento de los ObjetivosObjetivo Actividades Porcentaje de

Cumplimiento

Determinar los tipos de eventos discretos quecontiene un sistema industrial y los tipos derelaciones entre estos, y realizar un estudiode los paradigmas de simulación de eventosdiscretos, con el fin de seleccionar el que per-mita obtener el análisis RAM de sistemas in-dustriales

- Definir qué características de los procesosindustriales, provenientes del modelo comu-nicativo corresponden a los Eventos Discre-tos, de manera que se haga énfasis en su pa-rámetros.- Estudiar enfoques de SED- Seleccionar enfoque según sus cualidades

100

Hacer un estudio de características de len-guajes de programación de propósito general,con el fin de seleccionar uno en el que se pue-da implementar el paradigma de simulaciónde eventos discretos previamente selecciona-do.

- Búsqueda de lenguajes más usados y conmejor documentación.- Evaluación de criterios de velocidad de len-guajes preseleccionados.- Evaluación criterios particulares del proyec-to.- Selección del lenguaje de programación.- Selección IDE para el lenguaje.- Búsqueda de herramientas dentro del len-guaje escogido.

100

Analizar las herramientas de análisis RAMactuales, con el fin de definir las caracterís-ticas mínimas con las que debería contar laherramienta a desarrollar.

Búsqueda de herramientas comerciales deanálisis RAMRecuento de limitantes de las herramientasactualesDefinición de características mínimas de laherramienta en desarrollo

100

Desarrollar un algoritmo que permita simularsistemas de baja complejidad para determi-nar resultados de análisis RAM.

- Definición de tareas específicas dentro de lasimulación.- Diseño e implementación de un algoritmoalgoritmo para la lectura del modelo comu-nicativo.- Diseño e implementación de un algoritmoque realice Simulación de Eventos Discretos.

100

Validar los resultados obtenidos por el pro-grama desarrollado, realizando la simulacióndel mismo proceso o sistema en una herra-mienta existente.

- Realizar pruebas de simulación de diferen-tes Procesos en la herramienta desarrollada.- Realizar la simulación de estos mismos pro-cesos en una herramienta comercial.- Realizar la comparación de resultados y laverificación de estos por algún método mate-mático.

100

Page 89: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Conclusiones

El desarrollo llevado a cabo en este proyecto de pasantía, el cual se encuentraexpuesto a lo largo de este trabajo, permite llegar a las siguientes conclusiones yconsideraciones:

Modelar los procesos industriales mediante sus eventos discretos, permite, ademásde reducir la complejidad teórica para caracterizar los procesos al no utilizar sumodelo dinámico, la generalización del modelamiento de los procesos a cualquiertipo de proceso, cuya naturaleza sea estocástica. En el caso de los procesos mode-lados para el uso de esta herramienta, los eventos discretos fueron suficientementedescriptivos para evaluar el desempeño técnico y financiero de dichos procesos enel tiempo.

El enfoque de simulación de eventos discretos seleccionado para realizar el dise-ño del algoritmo, permitió que este lograra de la manera más simple, obtener elcomportamiento del proceso en el tiempo desde la perspectiva de la presencia delos eventos en el intervalo de tiempo establecido para el análisis.

La selección del lenguaje de programación y su entorno de desarrollo, permitiósuperar las limitaciones de velocidad de cómputo establecidas por TARO, realizarel desarrollo conjunto de las etapa que componen el proyecto gracias a la compa-tibilidad que se logró a partir de sus librerías y documentación, y desarrollar demanera efectiva el enfoque de simulación de eventos discretos elegido.

Mediante la exploración de los resultados proporcionados por herramientas co-merciales de análisis RAM se definieron los tipos de datos que se requieren en estetipo de aplicaciones, de manera que el algoritmo contemple en el procedimientola adquisición y el procesamiento de estos para lograr lo resultados requeridos ydefinidos en dichas herramientas. En este caso, a partir de la variable que define

Page 90: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

76 Conclusiones

la línea de tiempo del proceso se extraen para los resultados de desempeño técni-co el tiempo que el proceso está disponible, y para los resultados de desempeñofinanciero los costos totales y por eventos.

El desarrollo de la herramienta permitió la medición del desempeño del procesomodelado a partir del comportamiento de sus eventos discretos en un intervalotemporal. Dicha medición es posible mediante los resultados obtenidos en la si-mulación realizada, y cuya verificación permitió abordar su alta veracidad, porlo tanto, la etapa realizada constituye un rol base en la construcción de la he-rramienta de simulación, puesto que es mediante dichos resultados que se defineque esta herramienta es de utilidad en el contexto de la consultoría en ingeniería,al ser utilizada para simular procesos de baja complejidad (sistemas con equiposserie únicamente).

El desarrollo y documentación de este proyecto de pasantía, genera unas bases parael continuo avance de la herramienta de simulación y análisis RAM, abriendo elcamino hacia el análisis de procesos más complejos en los que se pueda incluirmás de un sistema y diferentes configuraciones en las conexiones de los equipos.Además, el desarrollo futuro contará con fundamentación teórica recopilada yaplicada en este trabajo de pasantía, asegurando que los resultados sean veraces.

Page 91: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

Bibliografía

[1] U. M. Alfonso and M. V. Carla, Modelado y simulación de eventos discretos.Editorial UNED, 2013.

[2] Álvaro García Sánchez Miguel Ortega Mier, “Introducción a la simulaciónde sistemas discretos,” tech. rep., Escuela Técnica Superior de IngenierosIndustriales. Universidad Politécnica de Madrid, 2006.

[3] A.-T. Sarmiento-Vásquez, “Análisis comparativo de los paradigmas de simu-lación,” Lima, Universidad de Lima, 2016.

[4] C. R. Abellón, Procesos Estocásticos. Dpto. Matemática Aplicada y Estadís-tica, 2012.

[5] G. S. Fishman, Discrete-event simulation: modeling, programming, and analy-sis. Springer Science & Business Media, 2013.

[6] T. Software, “A pragmatic way of measuring code quality,” in The TIOBEQuality Indicator, 2016.

[7] “Julia micro-benchmarks.” https://julialang.org/benchmarks/.

[8] TARO, Plant wide reliability simulation with Taro software, 2016.

[9] B. Behdani, “Evaluation of paradigms for modeling supply chains as complexsocio-technical systems,” in Simulation Conference (WSC), Proceedings ofthe 2012 Winter, pp. 1–15, IEEE, 2012.

[10] J. Faulin, A. A. Juan, S. S. M. Alsina, and J. E. Ramirez-Marquez, Simulationmethods for reliability and availability of complex systems. Springer Science& Business Media, 2010.

Page 92: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

78 BIBLIOGRAFÍA

[11] D. C. Craig, Extensible hierarchical object-oriented logic simulation with anadaptable graphical user interface. PhD thesis, Memorial University of New-foundland, 1996.

[12] A. K. Palit and D. Popovic, Computational intelligence in time series fo-recasting: theory and engineering applications. Springer Science & BusinessMedia, 2006.

[13] J. Granada, “Nc: Prelude: Especificación conceptual,” tech. rep., Knar S.A.S.,2018.

[14] M. A. Pérez-Rincón, “Conflictos ambientales en colombia: inventario, carac-terización y análisis,” Cali: Universidad del Valle/Instituto de Investigacióny Desarrollo en Abastecimiento de Agua, Saneamiento Ambiental y Conser-vación del Recurso Hídrico-CINARA/Environmental Justice Organizations,Liabilities and Trade (EJOLT), 2014.

[15] J. Forero, “Desarrollo tecnológico en colombia,” tech. rep., Cátedra, El Portalde los Estudiantes, 2014.

[16] W. Kelton, R. Sadowski, and D. Sturrock, “Simulation with arena. 4th,” 2010.

[17] A. M. Law, W. D. Kelton, and W. D. Kelton, Simulation modeling and analy-sis, vol. 3. McGraw-Hill New York, 2007.

[18] B. Dangerfield et al., “Systems thinking and system dynamics: A primer,”Discrete-event simulation and system dynamics for management decision ma-king, pp. 26–51, 2014.

[19] C. Zapata, Análisis Probabilístico y Simulación. Universidad Tecnomógicade Pereira, 2010.

[20] D. P. Kroese and R. Y. Rubinstein, “Monte carlo methods,” Wiley Interdis-ciplinary Reviews: Computational Statistics, vol. 4, no. 1, pp. 48–58, 2012.

[21] X. Du, Monte Carlo Simulation. Department of Mechanical and AerospaceEngineering Missouri University of Science and Technology, 2015.

[22] M. Irvine, “Probabilistic programming: Monte carlo methods,” sempwn, 2017.

[23] P. SWPU, “Reliability Availability Maintainability study on reciprocatingcompressors,” Southwest Petroleum University, 2017.

Page 93: DiseñoeImplementacióndeunAlgoritmoquepermita ...repository.udistrital.edu.co/bitstream/11349/14805/1... · 2019-07-26 · DiseñoeImplementacióndeunAlgoritmoquepermita realizarelAnálisisRAMdeProcesosIndustrialesSimples

BIBLIOGRAFÍA 79

[24] Dekra, “Análisis RAM Reliability Availability Maintainability una herramien-ta de análisis para conocer y maximizar el rendimiento y beneficio de suproceso.”

[25] “The juno ide documentation.” http://docs.junolab.org/latest/.

[26] “Plotting in julia.” https://julialang.org/downloads/plotting.html.

[27] “Distributions in julia.” https://juliastats.github.io/Distributions.jl/latest/starting.html.

[28] “Taro.” https://www.dnvgl.com/services/total-asset-review-and-optimization-for-refinery-and-petrochemical-plant-design-and-operations-taro-1176.