530 likes | 702 Views
Simulación Dr. Ignacio Ponzoni. Clase XVIII: Construcción de Modelos de Simulación de Eventos Discretos usando VIMS Parte 2 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Año 2005. Procesos, Prioridades y Ruteo.
E N D
Simulación Dr. Ignacio Ponzoni Clase XVIII: Construcción de Modelos de Simulación de Eventos Discretos usando VIMS Parte 2 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Año 2005
Procesos, Prioridades y Ruteo • En muchos procesos, una máquina puede ser preferida de entre varios equipos alternativos, estableciéndose así niveles de prioridad. • También puede suceder que algunos de los items producidos por una máquina resulten defectuosos y sea necesario reprocesarlos o incluso, en casos extremos, descartarlos. • Simul8 brinda facilidades para modelar estás cuestiones de manera sencilla.
Procesos, Prioridades y Ruteo • Para ilustrar esto vamos a analizar los siguientes posibles escenarios para nuestro modelo de manufactura de engranajes: • Inicialmente asumiremos que cada molde que ingresa es procesado por la Máquina1 si este está libre, sino por la Máquina2, y ambos están ocupados entonces por la Máquina3. • Luego consideraremos que el 4% de los moldes de engranajes procesados por los operarios se rompen y deben ser descartados. • Después asumiremos que 5% de los engranajes que llegan a inspección son rechazados y reenviados a los pulidores para que mejoren el pulido de la pieza. • Por último, asumiremos que el 2% de los engranajes procesados por los operadores son regresados a la cola de engranajes para reprocesamiento.
Arribos Cola de Engranajes Reciclar (max 25) Máquinas (x3) [capacidad 3x6/hr] Descartar 4% Lavado [capacidad 22/hr] Cola de Pulido (max 20) Volver a Pulir Pulido (x2) [capacidad 2x10/hr] Cola Inspección (max 10) Inspección [capacidad 24/hr] Despacho Descarte
Priorizando Estaciones de Trabajo • En nuestro problema: Prioridad Máq.1 > Prioridad Máq.2 > Prioridad Máq.3 Luego, a la máquina 2 le asignamos prioridad 50, y a la máquina 3 le asignamos prioridad 40.
Separando los DescartesDerivando al Depósito de Descartes Este procedimiento se repite para cada Máquina.
Regresando item a Pulidores • Para incorporar este reflujo hacia atrás, una primera alternativa sería introducir directamente un conector desde Inspeccion a Cola Pulido. • Inconveniente: al incrementarse la cantidad de engranajes en la cola de pulido, la estación de inspección puede quedar bloqueada por saturación de la capacidad de la cola. Esto provocaría que Inspeccion tenga que detener su procesamiento hasta que haya un lugar disponible en la cola para el engranaje rechazado.
Regresando item a Pulidores • Para resolver este problema, podemos crear un nuevo repositorio (Cola de Repulido) y enviar los engranajes rechazados a dicha cola. • Los items en esa cola serán procesados por el Pulidor 2, asignándole mayor prioridad que a los items provenientes de la Cola Pulido.
Regresando item a PulidoresEnviando de Inspeccion a Cola Repulido
Regresando item a PulidoresEnviando de Cola Repulido a Pulidor 2
Ruteando hacia atrás a la misma Estación de Trabajo • El reenvío hacía atrás de items desde una estación de trabajo a su propia cola de espera se realiza mediante la incorporación de una estación de trabajo “ficticia”. • Esta nueva estación de trabajo insume un tiempo 0 en procesar el item y lo reenvía a la cola de espera, de este modo se evita el bloqueo de la estación de trabajo “real”.
Ruteando hacia atrás a la misma Estación de Trabajo La misma acción debe ser llevada a cabo para las Máquinas 2 y 3.
(154/593)*100 = 25,96% Ruteando hacia atrás a la misma Estación de Trabajo • En este punto, pareciera que tenemos resuelto nuestro problema de ruteo. • Sin embargo, si ejecutamos nuestra simulación y analizamos los resultados para la estación ficticia y la cantidad de items generados, observaremos lo siguientes valores:
Ruteando hacia atrás a la misma Estación de Trabajo • Este problema se debe a que cuando una estación de trabajo deriva un item directamente a otra estación de trabajo (sin un repositorio entre ellas), pueden generarse conflictos entre las Disciplinas de Ruteo de entrada y salida de las estaciones. • En este caso en particular, el Routing Out de las máquinas establece un ruteo basado en porcentajes, mientras que el Routing In de las Estaciones de Lavado y Ficticia tienen definida una disciplina de prioridades. • Esta política de prioridades desata en general una competencia entre la estación de Lavado y la Ficticia por capturar los items que salen de las máquinas. En esta competencia, la Estación ficticia logra quedarse con el 25% del trabajo.
Ruteando hacia atrás a la misma Estación de Trabajo • ¿Cómo resolvemos este problema? • Cambiando las políticas de Ruteo de Entrada a modo “pasivo” para que las políticas de Ruteo de Salida prevalezcan. La misma configuración de disciplina se repite en la Estación Ficticia
(9/564)*100 = 1,60% Ruteando hacia atrás a la misma Estación de Trabajo • Si ejecutamos nuevamente la simulación, ahora obtendremos los siguientes resultados:
Recursos • Frecuentemente los recursos son requeridos para inicializar un proceso, reiniciar una máquina luego de que está finalizó de procesar un item, y tareas de este tipo. • Para ilustrar su uso, vamos a modificar nuestro modelo para incorporar un recurso (operario) que se encargará de reiniciar las máquinas antes del procesamiento de cada engranaje.
Recursos Primero Creamos el Recurso
Luego, reducimos de 10 a 9 la media de la distribución para las máquinas. Recursos
Recursos Se repiten estás acciones para las demás máquinas, Generando así las estaciones de trabajo Setup2 y Setup3.
Mejorando el Modelo • Tal como definimos los recursos y las estaciones de trabajo, el setup para una nueva pieza puede efectuarse mientras aún se está procesando la anterior. • Esto puede suceder en algunos procesos de manufactura pero no es el caso más común. • En general, dado que las actividades Setup y Procesamiento del engranaje se hacen sobre la misma máquina, lo ideal es modelar las máquinas como recursos compartidos para estas actividades. • De este modo se elimina la potencial simultaneidad de ambas tareas.
Etiquetas (Labels) • Las etiquetas permiten definir atributos de los items de trabajo. • Estos atributos permiten ejercer un mayor control sobre la operación del modelo de simulación, dado que se puede especificar distintos comportamientos del proceso en función de los valores de etiqueta de los items procesados. • Las etiquetas pueden ser numéricas o de texto: • Numéricas: son usadas para priorizar items dentro de una cola o controlar el ruteo de items a través del proceso. • Texto: son utilizadas cuando se desea especificar diferentes distribuciones a ser usadas dentro de una misma estación de trabajo.
Uso de etiquetas numéricas para priorizar trabajo. • Supongamos que debemos distinguir entre dos tipos de items de trabajo: urgentes y no urgentes. • La creación de estos tipos de items puede ser manejada a través de la definición de distintos puntos de entrada, cada uno con su propia distribución probabilística para la generación de tiempos entre arribos. • En principio podríamos pensar en rutear los arribos a disntintas colas y luego definir prioridades en las estaciones de trabajo para decidir como se toman los elementos de cada cola. • Pero esto tiene sus limitaciones, una vez que las entidades pasan por las estaciones de trabajo, la distinción entre los distintos tipos de items se pierde.
Uso de etiquetas numéricas para priorizar trabajo. • La mejor alternativa es definir una etiqueta numérica para expresar el nivel de urgencia de una tarea. • Asumiremos que el 20% de las tareas son urgentes, mientras que el 80% restante es no urgente. • La tasa combinada de arribos es de 15 por hora (1 cada 4 minutos), luego: • la tasa para los arribos urgentes será de 3 por hora (1 cada 20 minutos), lo cual representa el 20% de los arribos. • La tasa para los arribos no urgentes será de 12 por hora (1 cada 5 minutos), lo cual representa el 80% restante.
Uso de etiquetas numéricas para priorizar trabajo. • \Objects\ Labels • \Objects \Work Item Types
Uso de etiquetas numéricas para priorizar trabajo. • Manteniendo apretada la tecla Crl y moviendo ArribosNoUrgentes generamos el otro punto de entrada.
Uso de etiquetas numéricas para priorizar trabajo. • El siguiente paso es establecer prioridades para la política de la cola que recibe los engranajes.
Uso de etiquetas numéricas para priorizar trabajo. • Lo último que necesitamos hacer es actualizar Despacho para poder registrar estadisticas por tipo de item.
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. • Las etiquetas pueden ser utilizadas para asignar distintas distribuciones de tiempo en las estaciones de trabajo a las diferentes categorías de items. • En este caso, las etiquetas de texto permiten especificar el nombre de la distribución de tiempo. • Supongamos que los items urgentes tienen una superficie más suave que los items no urgentes, y por ende, requieren un tiempo menor de procesamiento. • Asumamos las siguientes distribuciones según la superficie: • Suaves: normal con media 8 y desvío 2. • Duras: exponencial con media 10.
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. • \Objects\Labels
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. • \Objects\ Work Item Types
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. Luego se repite el mismo procedimiento con los ArribosUrgentes usando el valor Suave.
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. • \Objects \Distributions
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo.
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo.
Uso de etiquetas de texto para indicar distintas distribuciones de tiempo. • Luego, hay que indicar a las estaciones de trabajo que procesan las piezas que la distribución es Tipo Superficie.
Otras facilidades de Simul8:Ensamblando items • En ciertas situaciones deseamos construir un nuevo item a partir de otros. • Por ejemplo, supongamos que la sección de embalaje de una planta de producción de jugos posee una actividad que consiste en tomar 6 botellas y embalarlas dentro de una caja. • En este caso podemos considerar 3 tipos de items: • Botellas, • Cajas vacías, • Cajas embaladas.
Otras facilidades de Simul8:Ensamblando items • Primero definimos los tres tipos de Items de Trabajo:
Otras facilidades de Simul8:Ensamblando items • Luego mapeamos el proceso, asumiendo que se fabrica 1 botella por minuto y una caja cada 6 minutos.
Otras facilidades de Simul8:Ensamblando items • Supongamos que el tiempo para embalar una caja sigue una distribución exponencial con media de 5 minutos. • Luego debemos especificar las reglas de ruteo de entrada para la actividad de embalaje: