我想設計一個事件執行與時間無關的離散事件模擬。選擇接下來發生的事件僅取決於模型的條件(在我的情況下是一個人),並且它們一次執行一個。與時間無關的離散事件模擬
我已經發現一對夫婦設計出有:
事件安排 - 事件的隊列保持和每個事件執行過程中,新的事件定或舊的取消。
活動掃描 - 在每個週期中,所有事件都會迭代,並且如果人員的當前狀態滿足事件的條件以執行,則執行該事件。
事件圖 - 有一個事件圖,並有每個邊代表過渡的條件。
我對每一種方法的注意事項如下:
事件安排 - 應增加整個事件被分配什麼事件的邏輯,使它很難跟蹤的。此外,隊列會發生很大變化,並且由於它不是基於時間的,所以每次想要更改以查找要刪除的事件時,都必須遍歷整個隊列(例如,如果您想要在兩個事件A之前移除事件B)。
活動掃描 - 它的性能可能很差,特別是如果它必須迭代許多事件才能在每個週期中查找下一個要執行的活動。
事件圖 - 如果圖形非常大,則初始化它並設置所有邊可能會變得很麻煩。
我想你的意見哪種方法可能是最合適的,如果是這樣,有什麼辦法,我可以解決的事項說明。也許一個完全不同的設計可能是合適的。