Como projetar uma simulação multiagente acionada por relógio

Eu quero criar um modelo de simulação multiagente para um processo de manufatura de palavras reais para avaliar algumas regras de despacho. A simulação precisa produzir logs de eventos para avaliar o efeito do tempo das regras de dispatch em comparação com os logs reais de eventos de manufatura.

Como posso incorporar o 'tempo de simulação atual' a esse tipo de simulação intensiva de passagem de mensagens com vários agentes?

Fundo:
A simulação de eventos discretos clássica (que manipula bem o avanço do tempo) não pode ser aplicada aqui, pois os agentes no sistema representam um comportamento relativamente complexo e requisitos de roteamento, mais as regras de despacho exigem que eles se comuniquem com frequência. Essa e outras complexidades do processo também excluem uma abordagem de programação centralizada.

Na ciência de fabricação, existem milhares de artigos usando uma simulação multiagente para a solução de algum problema relacionado à fabricação. No entanto, ainda não encontrei um documento que descreva o funcionamento interno ou os detalhes de implementação dessas simulações nos detalhes necessários.

Infelizmente, usar o menor tempo de processo para escalonamento de tempo discreto em um sistema pode ser inviável, já que a faixa de tempo do processo é entre 0,1s e 24 horas. Existe a possibilidade de minha simulação ser usada para avaliações futuras em um projeto, para que a simulação seja executada o mais rápido possível - nenhuma opção para execuções de simulação durante a noite.

O tamanho do problema é de cerca de 500 recursos e de 1000 a 10000 agentes de produto, a maioria deles está acabada e não participa de nenhuma outra comunicação ou ocupação de recursos.

Consequentemente, em resultado da comunicação, novos eventos podem acionar um agente para fazer algo antes que o evento original 'na próxima vez' chegue. Por exemplo, um agente está atualmente bloqueado em um recurso com duração de uma hora. No entanto, outro agente de prioridade mais alta precisa desse recurso imediatamente e solicita ao primeiro agente que libere esse recurso.

De certa forma, eu preciso de uma maneira de criar um híbrido de simulação de agente de passagem de mensagem clássica e a simulação de evento discreto.

Eu considerei um agente mediador envolvido em cada mensagem - um roteador de mensagens e um reforçador de tempo que envia as mensagens e os eventos de escala do temporizador. Além disso, o agente mediador mantém uma lista dos próximos tempos de evento para vários agentes. No entanto, sinto que deve haver uma maneira melhor de resolver meu problema, pois o conceito coloca uma pressão enorme no agente mediador.

Atualizar

Demorou um pouco, mas parece que consegui criar um mini-framework e combinei o conceito DES e Agent em um. Tenho certeza que não é nada novo, mas pelo menos exclusivo:http://code.google.com/p/tidra-framework/ se você estiver interessado.

questionAnswers(1)

yourAnswerToTheQuestion