2009-06-24 27 views
3

我想創建一個真實的文字製造過程的多智能體模擬模型來評估一些調度規則。模擬需要生成事件日誌以評估調度規則與真實製造事件日誌相比的時間效應。如何設計一個時鐘驅動的多智能體模擬

如何將'當前模擬時間'合併到這種多代理消息傳遞密集模擬中?

背景:
經典的離散事件仿真(這很好地處理時間推進)不能應用在這裏,作爲系統的座席代表相對複雜的行爲和路由需求,加上調度規則,要求他們頻繁溝通。這個和其他流程複雜性也排除了集中調度方法。

在製造科學中,有數以千計的論文使用多智能體模擬解決一些製造相關問題。但是,我還沒有找到一篇論文,它在詳細描述這些模擬的內部工作或實施細節。

不幸的是,使用系統中離散時間步進的最短處理時間可能是不可行的,因爲處理時間範圍在0.1s到24小時之間。有一種可能性,我的模擬將用於稍後的項目中的假設評估,因此模擬需要儘可能快地運行 - 沒有選擇在一夜之間模擬運行。

問題規模約爲500個資源和1000-10000個產品代理,其中大多數已完成且未參與任何進一步的通信或資源佔用。

因此,在通訊結果中,新事件可以觸發代理在其原來的「下一次」事件到達之前執行某些操作。例如,代理當前被阻塞在持續一個小時的資源上。但是,另一個更高優先級的代理需要立即使用該資源並要求第一代理釋放該資源。

從某種意義上說,我需要一種方法來創建經典消息傳遞代理仿真和離散事件仿真的混合。

我認爲每個消息都有一個介體代理 - 一個消息路由器和時間執行器,它發送消息和計時器滴答事件。中介代理還爲各種代理保留下一個事件時間的列表。不過,我覺得應該有更好的方法來解決我的問題,因爲這個概念給調解員代理人帶來了巨大的壓力。

更新

過了一段時間,但似乎我設法建立一個小型的框架,並結合DES和代理的概念融入其中。我相信它沒有新的東西,但至少是獨一無二的:http://code.google.com/p/tidra-framework/如果你有興趣。

回答

4

這個問題聽起來好像應該通過使用並行離散事件模擬 - 您計劃實施的中介代理('參與每條消息','發送消息和計時器滴答事件')似乎正在做一個離散事件模擬器的工作。通過並行使用更多此類模擬器,然後使用同步算法來維護因果關係等,可以將此比例縮放到所需的問題大小(有關詳細信息,請參閱this book)。當然,這需要付出相當大的努力,通過首先真正嘗試順序算法,您可能會更好。

增加經由事件相互通信的邏輯進程(=代理)的經典DES視圖的一個好方法可能是混合用於描述離散事件系統的其他形式的一些想法,例如DEVS。在DEVS中,每個實體可以指定它將處於特定狀態的持續時間(例如,代理阻塞資源),並且將僅被傳入消息中斷(然後相應地改變其狀態,例如釋放資源的代理)。

順便說一句你認爲代理過於複雜而無法用離散事件模擬進行處理?如果你認爲每個代理人都是一個邏輯過程,從模擬的角度來看它有多複雜並不重要 - 或者我在這裏出錯了嗎?

+0

謝謝。你說得對,這個問題更接近於DES。我可能誤解了這句話。我的工作是一個研究項目的一部分,在這個項目中,我的學院進行基於DES的模擬。我有任務找出並實施基於代理的方法來解決潛在的問題。然而,DES的人不打算包含我想通過仿真實現的那種類型的決策或優化。 – akarnokd 2009-06-25 12:34:06