Jak zaprojektować symulację wielu agentów sterowaną zegarem

Chcę stworzyć model symulacyjny dla wielu agentów dla prawdziwego procesu produkcji słów, aby ocenić niektóre reguły wysyłania. Symulacja musi wygenerować dzienniki zdarzeń, aby ocenić efekt czasowy reguł wysyłania w porównaniu z rzeczywistymi dziennikami zdarzeń produkcyjnych.

Jak mogę włączyć „bieżący czas symulacji” do tego rodzaju wieloagentowego przekazu z intensywną symulacją?

Tło:
Klasycznej symulacji zdarzeń dyskretnych (która ładnie radzi sobie z postępem czasowym) nie można tutaj zastosować, ponieważ agenci w systemie reprezentują stosunkowo złożone wymagania dotyczące zachowania i routingu oraz reguły dyspozytorskie wymagają od nich częstej komunikacji. Ta i inne złożoności procesu wykluczają również scentralizowane podejście do planowania.

W nauce o produkcji znajdują się tysiące dokumentów wykorzystujących symulację wieloagentową do rozwiązania niektórych problemów związanych z produkcją. Jednak nie znalazłem jeszcze artykułu, który opisuje wewnętrzne szczegóły lub szczegóły implementacji tych symulacji w wymaganych szczegółach.

Niestety, użycie najkrótszego czasu procesu dla dyskretnego przechodzenia czasu w systemie może być niemożliwe, ponieważ zakres czasu procesu wynosi od 0,1 s do 24 godzin. Istnieje możliwość, że moja symulacja zostanie użyta do oceny „co jeśli” w projekcie później, więc symulacja musi działać tak szybko, jak to możliwe - nie ma możliwości przeprowadzenia symulacji z dnia na dzień.

Wielkość problemu wynosi około 500 zasobów i 1000 - 10000 agentów produktu, większość z nich jest zakończona i nie uczestniczy w żadnej dalszej komunikacji lub zajęciu zasobów.

W rezultacie w wyniku komunikacji nowe zdarzenia mogą spowodować, że agent zrobi coś, zanim nadejdzie jego pierwotne zdarzenie „następnym razem”. Na przykład agent jest obecnie zablokowany na zasobie trwającym godzinę. Jednak inny agent o wyższym priorytecie potrzebuje tego zasobu od razu i prosi agenta pięściowego o zwolnienie tego zasobu.

W pewnym sensie potrzebuję sposobu na stworzenie hybrydy klasycznej symulacji przekazujących komunikaty i symulacji zdarzeń dyskretnych.

Uznałem agenta mediatora, który jest zaangażowany w każdą wiadomość - router wiadomości i narzędzie do wymuszania czasu, które wysyła wokół wiadomości i zdarzenia znacznika czasu. Również agent mediatora przechowuje listę kolejnych czasów zdarzeń dla różnych agentów. Uważam jednak, że powinien istnieć lepszy sposób na rozwiązanie mojego problemu, ponieważ koncepcja wywiera ogromny nacisk na agenta mediatora.

Aktualizacja

Minęło trochę czasu, ale wydaje mi się, że udało mi się stworzyć mini-strukturę i połączyć koncepcję DES i Agenta w jedną całość. Jestem pewien, że to nic nowego, ale przynajmniej wyjątkowe:http://code.google.com/p/tidra-framework/ Jeśli jesteś zainteresowany.

questionAnswers(1)

yourAnswerToTheQuestion