simulacion unidad4.docx

33
INSTITUTO TECNOLÓGICO SUPERIOR DE MOTUL Asignatura: “SIMULACIÓN” Investigación Unidad 4 Lenguajes de Simulación y Simuladores de Eventos Discretos Docente: Integrantes: Miledy Beatríz Pérez Can José Antonio Alonzo Pacheco Gerónimo Rivera Méndez Motul, Yucatán Mayo de 2013 - 6 “B”

Transcript of simulacion unidad4.docx

INSTITUTO TECNOLÓGICO SUPERIOR

DE MOTUL

Asignatura:

“SIMULACIÓN”

Investigación

Unidad 4 Lenguajes de Simulación y Simuladores de Eventos Discretos

Docente:

Integrantes:

Miledy Beatríz Pérez Can

José Antonio Alonzo Pacheco

Gerónimo Rivera Méndez

Motul, Yucatán

Mayo de 2013 - 6 “B”

4. Lenguajes de Simulación y Simuladores de Eventos Discretos

4.1 Antecedentes de los lenguajes de simulación y simuladores. En un principio, los programas de simulación se elaboraban utilizando algún

lenguaje de propósito general, como ASSEMBLER, FORTRAN, ALGOL o PL/I. A

partir de la década de 1960 hacen su aparición los lenguajes específicos para

simulación como GPSS, GASP, SIMSCRIPT, SLAM. En la última década del siglo

pasado la aparición de las interfaces gráficas revolucionaron el campo de las

aplicaciones en esta área, y ocasionaron el nacimiento de los simuladores.

 En lo práctico, es importante utilizar la aplicación que mejor se adecúe al

tipo de sistema a simular, ya que de la selección del lenguaje o simulador dependerá

el tiempo de desarrollo del modelo de simulación. Las opciones van desde las hojas

de cálculo, lenguajes de tipo general (como Visual Basic, C++ o Fortan), lenguajes

específicos de simulación (como GPSS, SLAM, SIMAN, SIMSCRIPT, GAS y

SSED), hasta simuladores específicamente desarrollados para diferentes objetivos

(como SIMPROCESS, ProModel, Witness, Taylor II y Cristal Ball).

Un ejemplo de lenguaje de simulación: GPSS

El GPSS es uno de los primeros lenguajes de simulación que se desarrolló,

así que se ha probado durante mucho tiempo. (Gordon lo implementó en 1962). 

Sin embargo tiene la desventaja de que no incluye una animación incorporada,

aunque sus resultados se pueden animar por otros paquetes tales como el Proff

1

Annimation. 

Antecedentes 

El GPSS (General Purpose Simulation System) lo implemento Gordon en 1962 y

fue J. O. Henrikesen quien hizo la primera liberación para la Wolverine Sofware en

1977, desde entonces se ha mantenido como un lenguaje capaz de simular

adecuadamente una gran cantidad de entornos de interés practico y teórico.

Existen diferentes versiones de GPSS, cada una con sus variantes

particulares, pero la filosofía operativa es semejante en todas las versiones. En el

ITESM-CEM se dispone de dos: el GPSS/H para plataforma DOS y compatibles, y

el GPSS/C para Plataforma UNIX. En este curso se presentan las instrucciones de

manera que sean aceptadas por ambos compiladores de GPSS (en lo

posible) ,marcando siempre que lo amerite, las diferencias entre una y otra versión.

Sin embargo es conveniente recordar que las versiones de los lenguajes y programas

cambian continuamente por lo que, si dispone de una versión de GPSS en donde no

corran las instrucciones tal y como aparecen en este curso, consulte su manual de

referencia donde, seguramente, encontrará la sintaxis apropiada para su versión. 

Elementos básicos

Como se menciona en la subsección anterior la simulación mediante GPSS

se realiza con dos elementos básicos conocidos como transacciones y bloques. Una

transacción es aquello que fluye a través del sistema de manufactura, y que puede

2

ser: información, piezas, ordenes de producción, fallas, operarios, mecánicos, etc.,

mientras que un bloque se define como cualquier operación que realiza una

transacción dentro de un sistema: procesamiento, entrada a un almacén, salida de un

almacén, inicio de proceso, fin de proceso, salida del sistema, ensamble,

desensamble, etc.

Conceptos de programación

Un programa en GPSS puede ser visualizado desde dos puntos de vista; el

primero, dentro del contexto de programación por bloques ya descrito; el segundo,

dentro del contexto de cadenas de eventos. Por lo general es más sencilla la

visualización de la simulación dentro del primero de ellos, y es posible programar

modelos validos sin considerar el concepto de cadenas de eventos. Se entiende por

cadena de eventos el lugar donde se envían las transacciones que durante su

recorrido a través del modelo o bloques encuentra una condición de bloqueo que les

impide seguir un cambio libremente.

Existen dos tipos de bloqueo:

Bloqueo de retraso: consiste en la entrada de una transacción a un bloque

que retardara su tiempo de avance; en otras palabras la transacción estará en el

tiempo t1 y saldrá del bloque en el tiempo t2, en el intervalo entre estos dos

tiempos, la transacción permanece, a los ojos de un programador, por bloques en el

bloque retardante, sin embargo, a los ojos de un programador por eventos, la

transacción para formar parte de la cadena de eventos futuros, a la que entra en t1 y

sale en t2. En GPSS existen solo dos bloques retardantes: el GENERATE, que

coloca la transacción en la cadena de eventos futuros hasta el tiempo que deba de

entrar al sistema, y el ADVANCE, que coloca la transacción en la cadena de

eventos futuros hasta que haya cumplido con su retraso asignado. 

Bloque condicional: ocurre cuando una transacción intenta entrar a un

bloque y encuentra un impedimento físico o una condición no cumplida en el

bloque; por ejemplo, una transacción que intenta entrar a un bloque que simula una

máquina, y dicha maquina se encuentra trabajando con otra transacción o está

descompuesta. Entonces la transacción queda bloqueada hasta que la maquina se

desocupe o quede reparada. Hablamos en programación por bloques, en apariencia

la transacción queda suspendida en el espacio esperando su entrada al bloque que se

lo impide. Sin embargo, esa transacción es enviada a esperar su destino a la cadena

de eventos actuales, hasta que la condición de bloques desaparezca y pueda

continuar su camino. En este sentido en GPSS existen muchos bloques que actúan

sobre las transacciones; por mencionar algunos, SEIZE, GATE, TEST y ENTER.

4.2. Aprendizaje y uso de un Simulador como: ProModel, Arena, entre otros.

ProModelEs un simulador con animación para computadoras personales. Permite

simular cualquier tipo de sistemas:

Manufactura,

Logística,

Manejo de materiales, etc.

Puedes simular bandas de transporte, grúas viajeras, ensamble, corte,

talleres, etc.

4

a) Características del software: Generalidades de ProModel

Para hacer una simulación con ProModel se deben cumplir dos

eventos

Los elementos que conforman el modelo han de estar correctamente

definidos, porque el programa antes de hacer la simulación

comprueba la corrección en la definición del modelo.

El modelo debe contener al menos los siguientes elementos:

Locaciones, entidades, arribos y proceso.

b) Elemento del modelo: Esquema de funcionamiento

La simulación con ProModel es la forma como se animan las interacciones

entre los elementos (locaciones, entidades...) y la lógica definida.

c) Menús principales y construcción del modelo

Locaciones Representan los lugares fijos en el sistema a dónde se dirigen las entidades

por procesar, el almacenamiento, o alguna otra actividad o fabricación.

Deben usarse locaciones para modelar los elementos como las máquinas,

áreas de espera, estaciones de trabajo, colas, y bandas transportadoras.

Editor de locaciones El Editor de locaciones consiste en tres ventanas: La ventana de Gráficos ubicada hacia la esquina inferior izquierda de la pantalla, La tabla de edición de locaciones a lo largo de la parte superior de la pantalla, y

6

La ventana de Layout (Esquema) ubicada hacia la esquina inferior derecha de la pantalla.

EntidadesTodo lo que el sistema procesa es llamado "Entidad", también puede pensarse en ellas como las partes en los sistemas de manufactura, personas, papeles, tornillos, productos de toda clase.

Editor de EntidadesConsiste en:

Una tabla de edición para especificar las propiedades de la entidad en el sistema, y Una ventana grafica para seleccionar uno o más gráficos para representar la entidad.

Path NetworksSe pueden conceptualizar como rutas, rieles o caminos fijos por los cuales se mueven los recursos (operarios, maquinas, etc.) para transportar entidades.

Editor de Path Networks

En ésta tabla se reúne la información básica de la "ruta"

Recursos Un recurso es un operario, o una máquina que sirve para transportar, realizar

operaciones puntuales, mantenimientos o asistencias complementarias para el procesamiento de entidades.

Hay recursos dinámicos y estáticos.

Editor de Recursos Consiste de la tabla de edición de recursos y la ventana de gráficos; las dos se usan para definir las características de los recursos.

Proceso Define las rutas y las operaciones que se llevaran a cabo en las locaciones para las

entidades en su viaje por el sistema. También puede decirse que generalmente se conocen o hacen parte de la

información recolectada del sistema, los diagramas de proceso u operación, estos se transcribirán al computador para formar el proceso.

Editor de ProcesoConsta de cuatro ventanas que se despliegan simultáneamente.

8

Arribos Al transcurrir la simulación nuevas entidades entran al sistema, esto es un arribo. Un arribo puede consistir en personas, materia prima, información, los sistemas

necesitan una entrada para activar el funcionamiento de los procesos al interior de ellos.

Editor de Arribos El editor de arribos consta de tres ventanas que aparecen la pantalla juntas, La tabla de edición, La ventana de herramientas y ventana de layout o esquema.

Información GeneralPermite especificar información básica del modelo como el nombre; las unidades por defecto de tiempo y distancia, así como la librería grafica de la cual se toman las imágenes para crear locaciones, entidades, etc.

Construcción de la lógicaDentro de los elementos que conforman los modelos en ProModel, existen cuadros o ventanas de lógica.

Ejemplo Fabricación de Engranes (notas) Modelo original Con tiempos constantes (1 ) Con tiempos aleatorios ( 2 ) Modelo con recursos ( 2 ) Modelo con bandas transportadoras ( 2 ) Modelo con preparación de cajas y traslado a un almacén ( 5 ) Analizar Utilización del equipo Probar escenarios

10

4.3. Características del software.

Elementos del modeloMenús principales

Lo cual nos abrirá el constructor de RED (Network Builder).

4.4 Construcción del modelo

Nodo CREATEAhora nos concentraremos en la llegada de clientes al sistema, vemos como las entidades (clientes) son insertadas a la red. Visual SLAM utiliza el nodo CREATE (crear) para insertar entidades el símbolo y los parámetros utilizados se muestran abajo.

Nodo QUEUEEn la secuencia de la red ahora necesitamos un lugar en donde almacenar las entidades, esto se puede lograr a partir de un nodo QUEUE y cuya estructura y configuración se muestra abajo.

12

Nodo SELECTCuando existen más de una actividad de servicio después de un nodo QUEUE, y las actividades no son idénticas, entonces tiene que efectuarse una selección. Esto se logra a través del nodo SELECT.

Nodo TERMINATEEste nodo se utiliza para destruir o borrar entidades de la red. El nodo funciona con un contador que al llegar al límite, elimina la entidad.

Nodo ASSIGNAsigna valores a los atributos de una entidad.

Actividades ACTIVITYBranches o ramas son utilizadas para modelar actividades. Solamente en las ramas se pueden especificar retrasaos de tiempos de las entidades que fluyen a través de la red. Las actividades que salen de nodos QUEUE o SELECT son referidos como actividades de servicio.

4.5 Consideraciones económicas en la simulación.

En las consideraciones económicas en la simulación se tiene que a veces es más barato la elaboración de un modelo digital en un software que el llevarlo a cabo en la realidad

4.6. REALIZAR PRÁCTICAS UTILIZANDO EL SIMULADOR PARA PROCESOS PRODUCTIVOS, DE TRANSPORTE, LÍNEAS DE ESPERA, CALIDAD, INVENTARIOS, ENTRE OTROS.

4.7. INTERPRETACIÓN DE LOS RESULTADOS OBTENIDOS Y GENERACIÓN DE PROPUESTAS DE MEJORA PARA EL MODELO ANALIZADO.

Ejercicio. 1

En el ejercicio número 1 se pide lo siguiente.

Este ejercicio se pudo dar solución primeramente utilizando el programa Arena.

Se empezó poniendo un créate este mismo tiene Posibles Usos los cuales son:

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

14

Llegada de un documento (por ejemplo, una petición, una factura, una orden) en un proceso de negocio.

Llegada de un cliente a un proceso de servicio.

El créate quedo de la siguiente forma:

Es de tipo expresión y de tipo llegadas de entidades, las entidades arriban de uno en uno y su número es infinito es decir no hay una cantidad conocida del número de entidades que llegan o llegaran al sistema cabe señalar que siguen una forma tipo exponencial y llegan 15 cada hora es decir 15 entidades (clientes cada 60 minutos)

Luego se procede a poner:

Este assing nos permite saber la cantidad de trabajo en proceso.

Prosiguiendo con la resolución del ejercicio se pone el process que en este caso sería el “Banco”

El process es un tipo standard que tiene como recursos un solo servidor.

Para la longitud máxima de simulación se recomienda 5000 minutos para ver qué es lo que pasa con el sistema.

16

Entonces al final de cuentas el sistema queda de la siguiente forma.

Y se llega a la conclusión que hay que poner más empleados para que los clientes no tengan que esperar en la fila con un 95% de certeza.

Ejercicio 2

Solución.

Se tiene que en el proceso existen 3 diferentes tipos de entidades estos elementos son las tapas, el elemento interno y el producto terminado.

Entonces se utiliza 3 atributos tapa, interior y producto final, así mismo cada uno de estos productos pasan por su propio proceso el cual cuenta con sus características específicas.

Para empezar la simulación se pudo observar que cuenta con 2 entradas uno para las entradas y otro para el cuerpo interior.

Para las tapas se utiliza un assig para definir sus características:

18

Luego ponemos un process para que las tapas sean procesadas y asi mismo con los recursos con los cual cuenta el proceso.

Una vez ya definido el procesos con las características que competen a la resolución del problema se procede a poner un decide.

Esto es por que del process anterior salen las tapas superior e inferior y hay que separarlas decidiendo cual es cual para que cada cual continua a la estación donde le corresponde al proseguir con el sistema de producción. Del decide se las entidades (tapas) pasan a ser diferenciadas por medio de 2 assign que a continuación se muestran.

20

Ahora se procese a con la otra entidad que es el elemento interior para este se asigna el valor 2 al atributo tipo y utilizando el mismo bloque assing se cambia el dibujo de la entidad a una caja ya que nos dicen que llega al proceso empacado en cajas de 3 unidades entonces se debe de simular el proceso de desempaquetado y para este se utiliza un recurso denominado desempaquetadora, para esto se puede simular por medio de un separador (separade).

Luego entonces mediante un bloque assing se cambia el dinujo de la entidad para que el color sea diferente a las tapas.

En el proceso de desempaquetado se desechan el 10% de las tapas entonces nuevamente utilizamos un decide para que este mande el 10% de estas a un dispose denominado chatarra es decir los desperdicios. Entonces el 90% restante están listos para poder ser ensamblados y convertirse en el producto final.

El ensamblado se simula poniendo un match es decir que junte los tres elementos y tenga una salida para luego entran a un batch este agrupa las entidades por lo que ya después de este bloque solamente tiene de salida una entidad, luego se agrega otro assing en este cambiaremos de nuevo la forma que representa el producto final, además de asignar los valores es decir recursos necesarios para todo el proceso de ensamblado. Para que al final se ensamble en un process.

A continuación se muestra como quedaron cada uno de los bloques.

Y el resultado final de proceso se manda a un almacén para este se crea un dispose.

Entonces el diagrama del proceso queda de la siguiente forma.

22

Analizando los resultado en la simulación que se elaboró se obtuvo que: 465 unidades son elaboradas en un mes con jornadas laborales de 8 horas.

Ejemplo 3.

24

Este problema se trata de transporte se comienza a simular el proceso primeramente definiendo las piezas por medio de un bloque créate, después ponemos un assing para definir atributos en este caso color que podrá adquirir valores de 1 si es rojo, 2 si es azul, se pone posteriormente un decide para poder separar las entidades en azules y rojas.

Luego se ponen los procesos correspondientes y las estaciones.

Para poder simular el transporte luego de que las entidades ya hayan pasado por los procesos se utiliza un transporte por lotes que requiere de 3 bloques, un request para llamas un transporte, un transport que mueva el transporte hacia su destino y un free que deja libre el transporte para poder seguir con sus tareas. Cabe señalar que en el PDF no se ponía las distancias del process 1 al process 2 el cual tuve que poner para que se pueda simular.

El diagrama de flujo del proceso en el programa arena queda de la siguiente forma.