Esta publicación de blog describe una simulación simple de patio de grúas en AnyLogic . Desarrollé este modelo en AnyLogic con fines de demostración. Ya he publicado una serie de entradas de blog sobre modelado de simulación en AnyLogic. A continuación se muestra una lista de algunos de ellos.
- Enlace : Simulación AGV de enrutamiento de piezas en AnyLogic
- Enlace : Simulación de transportadores en AnyLogic
Esta publicación considera un patio de almacenamiento para el almacenamiento de piezas procesadas. No consideraré la tasa de llenado del búfer en sí. Tampoco modelaré el seguimiento de piezas individuales. Es decir, la capacidad de almacenamiento es una caja negra y la atención se centra en evaluar las capacidades de rendimiento de la grúa de patio. Esto asume una matriz de flujo de material específica, que describe las tasas de entrada y salida hacia y desde el búfer.
Descripción general del modelo de simulación del patio de grúas
La siguiente captura de pantalla muestra los componentes principales del modelo de simulación del patio de grúas AnyLogic . El patio de almacenamiento tiene dos transportadores de entrada y tres transportadores de salida. Es operado por una sola grúa de patio horizontal.
Es un modelo simple que se puede construir en 1 hora. Como se indica en la introducción de este artículo, el seguimiento de piezas individuales no forma parte del modelo. Eso significa que una parte se guarda en el búfer donde se destruye. Este es el proceso de producción y almacenamiento en la sección del bloque lógico anterior. Las recuperaciones del patio se implementan como un proceso separado, utilizando la misma grúa del patio. Este es el proceso de recuperación y envío en la sección anterior del bloque lógico. La vivienda de las partes en el patio no está modelada. No se consideran las tasas de llenado. La atención se centra en evaluar el rendimiento máximo posible de la grúa de patio.
Implementación de ranuras de almacenamiento y asignaciones de transportadores
En este modelo de simulación de patio de grúas, se deben tomar dos decisiones de asignación:
- Para una pieza que llega a uno de los transportadores de entrada, se debe decidir en qué parte del patio se debe almacenar la pieza.
- Para una pieza que debe entregarse a un proceso posterior, es decir, que debe recuperarse, se debe decidir en qué transportador se debe colocar la pieza.
Asignación de piezas a una ubicación de almacenamiento para almacenamiento
Comenzando con el proceso de producción – almacenamiento : Esto se implementa en la siguiente secuencia de bloques lógicos.
Una parte es creada por la fuente (agente de parte de clase personalizada ). Esta nueva pieza se ubica en uno de los transportadores de entrada utilizando los bloques lógicos carry_a y carry_b . La probabilidad de cada transportador de entrada es del 50%.
A continuación, se llama a una pequeña función personalizada ( asignación_01 / asignación_02 ). Esta función simplemente decide en qué nodo (1 a 7), denominado «bahía», se debe almacenar la pieza. Lo hace configurando las variables targetbay_01 / targetbay_02 . AnyLogic luego toma la grúa y ejecuta el transporte a un atractor aleatorio dentro del nodo especificado.
Recuperar piezas del patio y asignarlas a un transportador
Para modelar la recuperación de piezas del patio de almacenamiento, se debe especificar una bahía de origen (nodo de origen), desde donde se recuperará una pieza, y un transportador de destino , en el que se colocará la pieza. Para hacerlo más fácil, coloqué estas dos variables dentro de la clase de agente de parte personalizada.
sourcebay y targetconveyor también son variables en el propio modelo principal. Sin embargo, se utilizan simplemente como memoria temporal. A la llegada de un nuevo agente a la fuente de recuperación, se llama a la función de selección() .
La función de selección establece los marcadores de posición temporales de sourcebay y targetconveyor . Los valores de estas variables luego se escriben en el archivo . fuente y . atributos de transportador de destino del agente de pieza recién llegado (instancia de objeto). La siguiente captura de pantalla muestra la función de selección .
Como puede ver en la captura de pantalla anterior del código de función de selección, las ubicaciones de recuperación son completamente aleatorias. El transportador objetivo es entonces siempre el transportador más cercano a la grúa.
Ejecución de la simulación del patio de grúas en AnyLogic
AnyLogic visualiza su marcado en 2D y 3D. La siguiente captura de pantalla muestra una instantánea 2D del modelo de simulación durante el tiempo de ejecución.
Después de una hora de simulación, se enviaron 9 piezas (recuperadas y entregadas al final de uno de los transportadores de salida) y se guardaron 9 piezas. A continuación se muestra una captura de pantalla de bloques relevantes después de una hora de simulación.
Si quiero priorizar las ubicaciones sobre las recuperaciones, o implementar alguna otra lógica relacionada con la priorización de tareas, también podría hacerlo con las funciones de JAVA.
Observaciones finales y contenido relacionado
Presenté un modelo simple de simulación de patio de grúas sin seguimiento de piezas individuales. Un modelo de este tipo es apropiado, por ejemplo, para evaluar el rendimiento del equipo. En este caso, la atención se centró en las capacidades de rendimiento de la grúa de patio horizontal.
Ingeniero industrial especializado en optimización y simulación (R, Python, SQL, VBA)
Leave a Reply