Manual: Simulación con Arena · 2015. 11. 27. · En Arena 12.0 aparecen todos los menus...
Transcript of Manual: Simulación con Arena · 2015. 11. 27. · En Arena 12.0 aparecen todos los menus...
-
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.