Simulação de pátio de guindaste

Esta postagem no blog descreve uma simulação simples de pátio de guindastes em AnyLogic . Desenvolvi este modelo em AnyLogic para fins de demonstração. Já publiquei uma série de posts sobre modelagem de simulação em AnyLogic. Abaixo está uma lista de alguns deles.

Este post considera um pátio de estocagem para estocagem de peças processadas. Não vou considerar a taxa de preenchimento do buffer em si. Nem vou modelar o rastreamento de peças individuais. Ou seja, a capacidade de armazenamento é uma caixa preta e o foco está na avaliação das capacidades de rendimento do guindaste de pátio. Isso pressupõe uma matriz de fluxo de material especificada, descrevendo as taxas de entrada e saída de e para o buffer.

Visão geral do modelo de simulação de pátio de guindastes

A captura de tela abaixo mostra os principais componentes do modelo de simulação de pátio de guindastes AnyLogic . O pátio de estocagem possui dois transportadores de entrada e três transportadores de saída. É operado por um único guindaste de pátio horizontal.

Visão geral do modelo de simulação de pátio de guindaste no AnyLogic

É um modelo simples que pode ser construído em 1 hora. Conforme declarado na introdução deste artigo, o rastreamento de peças individuais não faz parte do modelo. Isso significa que uma parte é guardada no buffer onde é destruída. Este é o processo de produção – armazenamento na seção do bloco lógico acima. As recuperações do pátio são implementadas como um processo separado, utilizando o mesmo guindaste de pátio. Este é o processo de recuperação – enviado na seção do bloco lógico acima. A habitação de peças no pátio não é modelada. As taxas de preenchimento não são consideradas. O foco é avaliar o rendimento máximo possível do guindaste de pátio.

Implementação de alocações de slot de armazenamento e transportador

Neste modelo de simulação de pátio de guindastes, duas decisões de alocação devem ser tomadas:

  1. Para uma peça que chega em um dos transportadores de entrada, deve-se decidir onde no pátio a peça deve ser armazenada
  2. Para uma peça que deve ser entregue a um processo a jusante, ou seja, que deve ser recuperada, deve ser decidido em qual transportador a peça deve ser colocada

Atribuir peças a um local de armazenamento para armazenamento

Começando com o processo de produção – entrada em estoque : Isso é implementado na sequência abaixo de blocos lógicos.

Blocos lógicos para produção para armazenamento

Uma parte é criada pela fonte (agente da classe personalizada part ). Esta nova peça está localizada em um dos transportadores de entrada usando os blocos lógicos transport_a e transport_b . A probabilidade de cada transportador de entrada é de 50%.

Em seguida, uma pequena função personalizada é chamada ( alocação_01 / alocação_02 ). Esta função simplesmente decide em qual nó (1 a 7), denominado “bay”, a peça deve ser armazenada. Ela faz isso configurando as variáveis ​​targetbay_01 / targetbay_02 . AnyLogic então captura o guindaste e executa o transporte para um atrator aleatório dentro do nó especificado.

Recuperar peças do pátio e atribuí-las a um transportador

Para modelar a recuperação de peças do pátio de armazenamento, um sourcebay (nó de origem), do qual uma peça deve ser recuperada, e um targetconveyor , no qual a peça deve ser colocada, devem ser especificados. Para tornar isso mais fácil, coloquei essas duas variáveis ​​dentro da classe de agente de peça personalizada.

classe de agente de peças, personalizado

sourcebay e targetconveyor também são variáveis ​​no próprio modelo principal. No entanto, eles são usados ​​apenas como memória temporária. Na chegada de um novo agente na fonte de recuperação, a função selection() é chamada.

fonte de recuperação

A função de seleção define os espaços reservados temporários de sourcebay e targetconveyor . Os valores dessas variáveis ​​são então gravados no arquivo . fonte e . atributos targetconveyor do agente parcial recém-chegado (instância do objeto). A captura de tela abaixo mostra a função de seleção .

functino para atribuir a recuperação ao transportador de saída e para decidir de qual nó recuperar (aleatório)

Como você pode ver na captura de tela acima do código da função de seleção, os locais de recuperação são completamente aleatórios. O transportador de destino é sempre o transportador mais próximo do guindaste.

Executando a simulação de pátio de guindastes no AnyLogic

AnyLogic visualiza sua marcação em 2D e 3D. A captura de tela abaixo mostra um instantâneo 2D do modelo de simulação durante o tempo de execução.

Simulação de pátio de guindaste em 2D

Após uma hora de simulação, 9 peças foram enviadas (recuperadas e entregues no final de uma das esteiras de saída) e 9 peças foram guardadas. Abaixo está uma captura de tela dos blocos relevantes após uma hora de simulação.

Status da simulação de pátio de guindaste após 1 hora de tempo de execução

Se eu quiser priorizar os depósitos sobre as recuperações ou implementar alguma outra lógica relacionada à priorização de tarefas, também posso fazer isso com funções JAVA.

Considerações finais e conteúdo relacionado

Apresentei um modelo simples de simulação de pátio de guindastes sem rastreamento de peças individuais. Um modelo deste tipo é apropriado para, por exemplo, avaliar o rendimento do equipamento. Neste caso, o foco estava nas capacidades de produção do guindaste de pátio horizontal.

You May Also Like

Leave a Reply

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.