manual: simulación con arena · 2015. 11. 27. · en arena 12.0 aparecen todos los menus...

19
2015 Galán Rodríguez | Sánchez Palayot Herramientas de Simulación de ]Procesos Industriales 20/11/2015 Manual: Simulación con Arena

Upload: others

Post on 30-Jan-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

  • 2015

    Galán Rodríguez | Sánchez Palayot

    Herramientas de Simulación de ]Procesos

    Industriales

    20/11/2015

    Manual: Simulación con Arena

  • CAPITULO 1.

    OBJETOS Y CONCEPTOS

    BÁSICOS

  • Introducción a la Simulación con Arena

    En el mundo de la computación y la simulación se encuentra una gran variedad de software a

    disposición, todos estos software merecen apreciación y agradecimiento a sus creadores, aquí la

    cuestión es qué tipo de sistemas se desea modelar y experimentar, he allí la elección del software

    que más se adecue a la necesidad. Punto importante a evaluar también es “a quien se le va

    presentar el sistema”, acuérdese que todas las personas no conocen o interpretan las cosas como

    uno las conoce. En este proceso de buscar soluciones más amigables para todos los involucrados

    en el sistema en la elaboración, validación y experimentación de modelos mediante herramientas

    graficas en un entorno de ventanas, se encuentra Arena, desarrollado por Rockwell Software.

    Arena se distingue por ser poseer características distintivas tales como:

    Paquete de Simulación para Windows.

    Simulación Orientada a Eventos Discretos: el estado del modelo cambia ante la ocurrencia

    de determinados eventos.

    Simulación Orientada a Procesos: existe un diagrama de flujo que indica el procesamiento

    que siguen las entidades del modelo.

    El modelo se define orientado al proceso y la simulación se desarrolla bajo orientación a

    eventos.

    SOFTWARE ARENA

    En su esencia Arena es un software que le permite llevar la tecnología de la modelización y

    simulación para el mundo empresarial. Arena está diseñada para analizar el impacto de los

    cambios relativos a rediseños importantes y complejos asociados con la cadena de suministros,

    fabricación, procesos, logística, distribución y almacenamiento y sistemas de servicio. Arena

    también proporciona la máxima flexibilidad y amplitud de cobertura para modelar cualquier nivel

    deseado de detalle y complejidad, detalles que se observarán en el transcurso de los casos. Arena

    es una herramienta orientada al proceso, con el que se puede:

    Modelar procesos, documentar y comunicarlos colaborativamente.

    Simular el futuro de los sistemas entendiendo las relaciones complejas e identificar

    oportunidades de mejora.

    Visualizar las operaciones con gráficos de animación dinámicos.

    Analizar el sistema con el método “Que pasaría si (What-if)” y entender cuáles serían las

    alternativas de soluciones y escoger el mejor camino para hacer cambios en la empresa.

    Es importante mencionar que Arena es un software que esta orientado al proceso por ejemplo al

    tratar de representar un sistema cliente servidor, se daría con los siguientes pasos:

    1. Creación de una nueva entidad (cliente).

    2. Guardar la hora actual en uno de los atributos de la entidad para poder calcular el tiempo

    en fila y el tiempo total de permanencia en el sistema.

    3. Posicionarse al final de la fila.

  • 4. Esperar en fila hasta que el servidor se desocupe (si el servidor estaba desocupado esta

    espera será cero unidades de tiempo).

    5. Salir de la fila y utilizar el servidor.

    6. Calcular el tiempo en fila.

    7. Permanecer utilizando el servidor por el lapso de tiempo requerido.

    8. Liberar el servidor (para que otras entidades puedan utilizarlo).

    9. Incrementar el contador de entidades procesadas y calcular el tiempo de permanencia en

    el sistema.

    10. Eliminación de la entidad.

    Ahora bien, a la hora de ejecutar un modelo de simulación desarrollado orientado al proceso es

    llevada a cabo siguiendo el paradigma de la orientación a eventos. Cuando hablamos de

    orientación a eventos, podríamos considerar como evento a la llegada de un cliente, atención a un

    cliente y salida de un cliente, aquí por ejemplo hay 3 eventos para un cliente. Para ir a más detalle,

    en la simulación de sistemas discretos se considera 2 tipos de enfoques, la corrida a próximo

    evento y a próximo tiempo, pues bien Arena está desarrollado con la orientación a próximo

    evento. Arena es altamente flexible en la construcción de modelos de simulación, en el sentido en

    que puede construirse a alto nivel (asistido gráficamente) o a bajo nivel (directamente código),

    puesto que Arena es desarrollado sobre el lenguaje de programación SIMAN y permite escribir

    código en tal lenguaje.

    Menús

    1 Menú; anteriormente en Arena 9.0 los menús que se activaban en al iniciar el programa eran

    File, View, Tools y Help, y cuando se abría o creaba un modelo, se añadían los menús Edit,

    Arrange, Object, Run y Window. En Arena 12.0 aparecen todos los menus mencionados

    anteriormente puesto que al abrir el programa automáticamente crea un modelo nuevo.

    1.1. Menú File Es donde se crean los nuevos ficheros de modelos de Arena, se abren otros ya

    existentes, se guardan en disco o se crea un modelo de solo lectura. Se puede también importar

    dibujos CAD con formatos DXF (como los de AutoCAD) para usarlos como fondo y, en algunos

    casos, como elementos activos (como caminos para vehículos dirigidos por cable).

    1.2. Menú Edit Se pueden deshacer (Undo) y reanudar (Redo) acciones previas. Existe la

    posibilidad de buscar todos los módulos y objetos de animación a partir de una cadena de texto

    mediante la opción Find. Se puede, además, mostrar las propiedades de los objetos (Properties). Si

    se tienen enlaces en los modelos a otros ficheros, como hojas de cálculo o ficheros de sonido,

    Links los muestra y permite modificarlos. Insert New Object permite introducir objetos de otras

    aplicaciones como graficas u objetos multimedia y Object permite editar lo que se haya traido.

  • 1.3. Menú View Desde aquí se controla como aparece el modelo en la pantalla, así como las barras

    de herramientas mostradas. Este menú permite hacer Zooms sobre el modelo. En Views se puede

    elegir entre una serie de vistas del modelo. Named Views permite definir, cambiar y usar vistas

    propias. Layers permite controlar que tipo de objetos se van a mostrar durante el modo de edición

    o de ejecución.

    1.4. Menú Tools El Input Analyzer encaja distribuciones de probabilidad sobre datos observados

    para especificar entradas al modelo. No Adds-In, lista los programas ejecutables que se han

    instalado en la carpeta Adds-In. Show Visual Basic Editor de Macro, abre una ventana en la que se

    puede escribir código de Visual Basic para completar el modelo. El elemento Options permite

    cambiar y personalizar muchas de las formas en que trabaja Arena y de su aspecto según las

    necesidades.

    1.5. Menú Arrange Las opciones de este menú correspondiente a las posiciones de los módulos

    del modelo y de los gráficos.

    1.6. Menú Object Si Auto-Connect está marcado permite conectar automáticamente un nuevo

    objeto introducido con el que se encontrase seleccionado cuando se ha llevado a cabo la

    operación. Smart Connections permite que las conexiones nuevas que se realicen se dividan en

    tres segmentos en lugar de intentar llevarlas a cabo mediante una única conexión.

    1.7. Menú Run Este menú contiene opciones para ejecutar la simulación, comprobarla y pausarla

    o desplazarla paso a paso a través de ella para depurarla o para comprobar su correcto

    funcionamiento. Proporciona también varias formas alternativas de ver la ejecución, de ver sus

    resultados (o errores), y de especificar y controlar cómo evoluciona la ejecución y se muestra en la

    pantalla. Por último, los menús Window y Help presentan las opciones típicas de este tipo de

    menús para cualquier aplicación Windows.

    2. Barra del proyecto, donde se encuentran todos los módulos y paneles que sirven para diseñar

    los modelos.

  • 2.1. Basic Process Panel.- Contiene los elementos básicos de construcción de modelos, estos

    elementos se denominan módulos.

    2.2. Advanced Process.- Mas módulos para tareas adicionales.

    2.3. Reports Panel.- Contiene la lista de resultados de la simulación después de ejecutarse.

    2.4. Navigate Panel.- Permite mostrar diferentes vistas de un modelo incluyendo diferentes

    submodelos de forma jerárquica.

    2.5. Advanced Transfer.- opciones para mover entidades, ejemplo: trasladar pasajeros de un

    terminal a otro.

    2.6. Block and Elements.- Proporciona acceso completo al lenguaje de simulación SIMAN.

    Para incluir o quitar panales a la barra de proyectos dándole click derecho en el panel – template

    panel – attach.

    Cuando desee agregar un panel, aparecerá una ventana para seleccionar el panel que desea

    agregar, para lo cual debe asegurarse de estar ubicado en la carpeta Template dentro de la

    carpeta donde se ha instalado el Rockwell Arena, puesto que por defecto Arena guarda sus

    paneles en esta carpeta con las extensiones “.tpo”.

  • 3 Barra de herramientas, donde se encuentran todas las herramientas necesarias para completar

    y personalizar el modelo. Mediante “View -Toolbars” puede ocultarse o mostrarse. Arena posee

    varias barras de herramientas con grupos de botones y menús despegables para poder facilitar el

    acceso rápido a actividades comunes. En esta barra se encuentran:

    3.1. La barra de herramientas estándar (abrir, guardar, atrás, adelante, imprimir), elementos

    necesarios para correr, detener, pausar, regular la velocidad de corrida la simulación, conectores

    de módulos y otros elementos.

    3.2. La barra animate, animate transfer, Draw, herramientas necesarias para animar el modelo con

    gráficos, recursos utilizados, reloj de simulación, procesos avanzados. En caso no hubiera algunos

    botones que se vean en el gráfico, solo es necesario ir a view-toolbars, y agregrar las barras que

    considera que necesitara en su proyecto, se sorprenderá al ver las posibilidades que tiene

    escondido ARENA.

    4. Vista de diagrama de flujo, donde se encuentran todos los módulos y animaciones del modelo

    construido.

    5. Vista de hoja de cálculo, donde se contiene la información del modelo, permite el acceso a

    todos los parámetros y elementos del modelo.

    En esta ilustración se observa los recursos existentes en el sistema (“Resource 1”), puesto que se

    hizo click en el módulo resources del Basic Panel.

    ENTIDADES

    En Arena todo lo circula por el modelo son entidades, por lo que es fundamental definir el

    concepto de entidad. Las entidades podrían ser personas u objetos, sus movimientos a través del

    sistema causan un cambio en el estado del sistema.

    Las entidades (automóviles, clientes, productos, cajas, documentos, etc) son aquellas que están

    siendo producidas o atendidas o que de cualquier otra manera influyen en el proceso. Por ejemplo

    clientes entrando a un restaurante, o partes que están siendo producidas en una fábrica, o

    documentos que están siendo atendidos por una secretaria.

    Para ARENA, las entidades son objetos dinámicos en el proceso de simulación, usualmente son

    creadas, circulan por un tiempo y después se van, aunque es posible también tener entidades que

  • nunca se van y que se mantienen circulando en el sistema. Todas las entidades tienen que ser

    creadas ya sea por el modelador o automáticamente por ARENA.

    Las entidades contienen propiedades llamadas atributos que permiten crear diferencias entre

    ellas. Los atributos pueden ser el tiempo de llegada, la prioridad, fecha de vencimiento, color, tipo

    de producto, sexo, Etc.

    Un ejemplo sencillo de interpretar para comprender mejor el concepto de entidad seria si se

    define un sistema de encomiendas (ejemplo: Fedex, Olva Courier, Serpost) pues las entidades

    serían los paquetes que son transportados a través de las personas y vehículos. Además estos

    paquetes podrían tener propiedades (atributos) como la prioridad de envió, tipo de paquete (frágil

    o no frágil), tamaño, etc. Arena asigna atributos automáticamente como:

    Entity.Type.- Es el nombre del tipo de entidad, el cual es asignado cuando son creadas.

    Logicamente permite la diferenciación entre diferentes tipos de entidades que intervienen

    en el sistema (cliente, pieza, etc).

    Entity.Picture.- la imagen que saldrá en la simulación representado a la entidad.

    Entity.Create_time.- El tiempo en la simulación en que la entidad fue creada. se podría

    usar para recolectar información del tiempo de duración en el sistema.

    Antes de iniciar la corrida del sistema puede modificarse los atributos a través del módulo Entity,

    que se encuentra en el Basic Process Panel, cuando se hace clic en este módulo, se podrán ver las

    propiedades de las entidades en la vista de hoja de cálculo.

    Existen entidades que se irán creando en el transcurso de la corrida del sistema, mientras tanto se

    puede modificar desde un inicio ciertos atributos.

    RECURSOS

    Los recursos (resources) pueden ser cosas como personas, equipos, maquinas procesadoras,

    automóviles, etc. Las entidades compiten entre ellas por los servicios que les brindan los recursos.

    Las entidades pueden ocupar (seize) un recurso siempre y cuando este recurso esté disponible,

    también una entidad debe liberar (release) el recurso cuando ya no lo necesita.

    Cuando un recurso este siendo ocupado y otra entidad desea utilizarlo tendrá que esperar en cola

    (queue) hasta que se libere.

    En la próxima sección entraremos a más detalle sobre las colas.

  • FILAS O COLAS

    En Arena una cola es una sección donde las entidades esperan mientras se libera el recurso que

    necesitan. Las colas tienen nombres y también pueden tener capacidades máximas, por ejemplo

    una cola en el banco solo soporta 25 personas.

    VARIABLES

    En ciertas ocasiones por ejemplo en el modelo se necesita mantener valores globales que sirvan

    en diferentes partes de los procesos, pues las variables representan un conjunto de valores

    globales que pueden ser alterados en cualquier lugar dentro del modelo. Arena tiene dos tipos de

    variables: las definidas por el usuario y las variables del sistema.

    Las variables definidas por el usuario pueden ser cambiadas durante el tiempo de simulación, por

    ejemplo tasa de llegada, inventario actual, número de pacientes registrados. Etc. Las variables del

    sistema son características predefinidas de los componentes del modelo que indican el estado del

    componente por ejemplo: número de entidades esperando en una fila (NQ queue name), actual

    valor de un contador (NC counter name).

    Para encontrar la información más exquisita sobre las variables definidas por el sistema no hay

    que buscar mucho, puesto que al instalar Arena se adjuntan también la sección onlineBook, donde

    hay información necesaria para utilizar arena sin embargo el documento que mencionan a todas

    las variables del sistema es “Arena Variables Guide.pdf”.

    MÓDULOS DE FLUJO

    Un módulo es el elemento básico para la construcción de modelos en ARENA, estos módulos están

    ubicados en la barra de proyectos. En este manual se describirán módulos necesarios para el

    diseño de sistemas básicos. Es importante mencionar que la lógica básica se define como una red

    por donde circulan entidades (automóviles, clientes, productos, cajas, documentos, etc) por esta

    red desde un punto inicial hasta un punto final por donde salen

    1.6.1. Módulo CREATE

    Este módulo representa la llegada de entidades al modelo de simulación. Las entidades se crean

    usando una planificación o basándose en el tiempo entre llegadas. En este módulo se especifica

    también el tipo de entidades del que se trata. Podría usarse para:

    Punto de inicio de producción en una línea de fabricación.

    Llegada de documento (p. e. una petición, una factura, una orden) de un proceso de

    negocio.

  • Llegada de un cliente a un proceso de servicio (p.e. un restaurante, una oficina de

    información).

    Otros.

    1.6.2. Módulo PROCESS

    Corresponde al principal método de procesamiento en simulación. Se dispone de opciones para

    ocupar y liberar un recurso. Adicionalmente, existe la opción de especificar un submodelo y

    especificar jerárquicamente lógica definida por el usuario. El tiempo del proceso se le añade a la

    entidad y se puede considerar como valor añadido, valor no-añadido, transferencia, espera u

    otros. Se puede usar para:

    Mecanizado de una parte de un proceso de ensamblado.

    Revisión de un documento para completarlo.

    Rellenar órdenes.

    Servir a un cliente.

    Otros.

    1.6.3. Módulo DISPOSE

    Representa el punto final de entidades en un modelo de simulación. Las estadísticas de la entidad

    se registraran antes de que la entidad se elimine del modelo. Se puede usar para:

    Partes que abandonan el servicio de ensamblado.

    Finalización de un proceso de negocio.

    Clientes abandonando un comercio.

  • 1.6.4. Módulo DECIDE

    Permite a los procesos tomar decisiones en el sistema. Incluye la opción de tomar decisiones

    basándose en una o más condiciones o basándose en una o más probabilidades (p.e. 20%

    verdadero, resto falso). Las condiciones se pueden basar en valores de atributos, valores de

    variables (p.e. numero de rechazados), el tipo de entidad o una expresión. Hay 2 puntos de salida,

    cuando se especifica el tipo “2-way chance” o “2-way-condition”. Hay un punto de salida para las

    entidades “verdaderas” y una para las entidades “falsas”. Cuando se especifica el tipo “n-way

    chance” o “n-way condition” aparecen múltiples puntos de salida para cada condición o

    probabilidad y una única salida “else”. Se puede usar para:

    Envió de partes defectuosas para que se vuelvan a procesar.

    Ramas aceptadas frente a rechazadas.

    Envió de clientes prioritarios a procesos dedicados.

    1.6.5. Módulo BATCH

    Funciona como un mecanismo de agrupación dentro del modelo de simulación. Los lotes pueden

    estar agrupados permanente o temporalmente. Los lotes temporales deben ser divididos

    posteriormente usando el modulo Separate. Los lotes se pueden realizar con un número específico

    de entidades de entrada o se pueden unir a partir del valor de un determinado atributo. Las

    entidades que llegan a un modelo Batch se coloca en una cola hasta que se ha acumulado el

    número necesario de entidades. Una vez acumuladas, se crea una nueva entidad representativa.

    Se puede usar para:

    Recoger un cierto número de partes de empezar a procesar.

    Re ensamblar previamente copias separadas de un formulario.

    Juntar un paciente con los resultados de sus pruebas antes de concederle una cita.

  • 1.6.6. Módulo SEPARATE

    Se utiliza para replicar la entidad entrante en multiples entidades o para dividir una entidad

    previamente agrupada. Se especifican también las reglas de asignación de atributos para las

    entidades miembro. Cuando se segmentan lotes existentes, la entidad temporal que se formó se

    destruye y las entidades que originalmente formaron el grupo se recuperan. Las entidades saldrán

    del sistema secuencialmente en el mismo orden en que originalmente se agregaron al lote.

    Cuando se duplican entidades, se hacen según el número de copias especificado. Se puede usar

    para:

    Enviar entidades individuales que representan cajas eliminadas de un contenedor.

    Enviar un orden tanto a realización y a facturación para un procesamiento paralelo.

    Separar un conjunto de documentos previamente agrupados.

    1.6.7. Módulo ASSIGN

    Se utiliza para asignar valores nuevos a las variables, a los atributos de las entidades, tipos de

    entidades, figuras de las entidades u otras variables del sistema. Se pueden hacer múltiples

    asignaciones con un único módulo Assign. Se puede usar para:

    Acumular el número de subensamblados añadidos a una parte.

    Cambiar el tipo de entidad para representar una copia de un formulario multicopia.

    Establecer una prioridad del cliente.

    1.6.8. Módulo RECORD

    Se utiliza para recoger estadísticas del modelo de simulación. Se dispone de varios tipos de

    estadísticas observables, incluyendo el tiempo entre salidas a través del módulo, estadísticas de

    entidad (tiempo, costo, etc.), observaciones generales y estadísticas de intervalo. Se puede usar

    para:

  • Recoger el número de trabajos realizados cada hora.

    Contar cuantas órdenes han sido realizadas.

    Registrar el tiempo que pasan los clientes prioritarios en línea principal de control.

    1.6.9. Módulo MATCH

    Este es un módulo de sincronización de entidades, es decir espera a que se junte al menos uno en

    cada una de sus colas para recién soltar dichos recursos. Se puede usar para:

    Esperar todas las partes de un producto ensamblado para recién iniciar el ensamblado.

    1.7. MÓDULOS DE DATOS

    La introducción de datos se realizar desde el Basic Process Panel, al seleccionar cualquiera de los

    módulos se muestra los datos configurables en la vista de hoja de cálculo.

    1.7.1. Módulo ENTITY Este módulo representa y muestra las entidades generadas para el sistema (clientes, piezas,

    automóviles, etc), un concepto ampliado de entidad lo tienen en la primera sección de este

    material. Las entidades pueden crearse directamente en el módulo Entity y luego utilizarlas en los

  • módulos o también pueden generarse automáticamente dentro del módulo Create, y luego

    personalizarlas en el módulo Entity.

    1.7.2. Módulo QUEUE Este módulo representa las colas en los servicios, cuando un recurso que se quiere utilizar esta ocupado. Al clicar este módulo se ven las colas que están configuradas en el sistema antes de iniciar la ejecución del modelo. En el módulo QUEUE se configura el tipo de cola (FIFO, LIFO, etc.), presencia en los reportes, etc.

    1.7.3. Módulo RESOURCE Este módulo de dato representa o define los recursos en el sistema, incluyendo información de los

    costos y disponibilidad de recursos. Los recursos pueden tener una capacidad constante o basada

    en una programación, los recursos también podrían fallar y deben configurarse. Por eso que al

    clicar sobre este módulo se ve en la vista de hoja de cálculo todas estas secciones configurables.

  • 1.7.4. Modulo VARIABLE Este módulo de dato se utiliza para representar o definir una dimensión de variable y valores

    iniciales. Las variables pueden ser referenciadas en otro modulo (por ejemplo el modulo DECIDE),

    pueden ser reasignadas con nuevos valores gracias al módulo ASSIGN, y pueden ser usadas en

    alguna expresión. Existen varias formas de ir cambiando los valores de las variables, durante la

    ejecución del sistema. Por ejemplo una variable nos serviría para saber el número de personas

    atendidas por hora.

    1.7.5. Módulo SCHEDULE Este módulo de dato puede ser usado en combinación con el modulo recurso para definir o representar una operación programada para un recurso o con una modulo CREATE para definir la programación de llegadas. 1.7.6. Módulo SET El módulo de dato representa o define varios tipos de fijados, incluyendo recursos, counters,

    tallies, tipo de entidades y figuras de las entidades. Los recursos fijados pueden utilizarse en el

    módulo PROCESS. Counters y Tallies se utilizan en el módulo RECORD.

  • CAPITULO 2.

    UTILIZACIÓN CON EJEMPLOS

  • 1. CASO SISTEMA DE ATENCIÓN AL CLIENTE Se desea estudiar un sistema de atención al cliente mediante dos secretarias, para observar la eficiencia en el servicio, una forma de medir esta eficiencia es medir la cantidad de personas en promedio espera por el servicio, sabiendo que los clientes llegan siguiendo una distribución exponencial de media 2 minutos y también se sabe que la atención es sigue una distribución exponencial de media 2.5 minutos. Se desea simular el sistema por un día de 8 horas de trabajo. a. Análisis Primero debemos identificar las entidades, procesos y restricción del sistema:

    Entidades: para este caso solo estarían los clientes.

    Procesos: el proceso de atención al cliente.

    Recursos: Carmen y Cecilia que cumplen el rol de secretarias.

    Los clientes llegarán al proceso de atención y si no lo pueden atender tendrá que esperar hasta el personal esté disponible para atender.

    b. Modelo En primer lugar debe iniciar el sistema con un módulo Create para generar la llegada de clientes,

    configurado con una media de 2 minutos.

  • Luego arrastramos el módulo Process a la vista de diagrama de flujo, doble clic y configuramos

    seleccionando la acción “Seize, Delay and Release” (ocupar, demorar y soltar), y luego agregando a

    las dos secretarias como recursos del proceso.

    Para finalizar arrastramos un módulo Dispose para finalizar el sistema, el modelo siempre debe

    terminar en un módulo Dispose.

    Con esto termina la construcción básica del modelo, entonces se debe configurar los parámetros

    de corrida con el menú Run->Setup... a 8 horas por día de trabajo y simulando 8 horas. En dicha

    configuración también configuramos como van a ser expresados los resultados con “Unidad de

    tiempo base”.

  • Al correr el sistema, después de terminado el tiempo de corrida saldrá un cuadro de dialogo que preguntará si desea ver los resultados de la simulación. Al aceptar la pregunta veremos los resultados al detalle de la simulación., solo es cuestión de

    buscar e interpretar lo que se busca en los reportes de la simulación.