系統採用離散事件模擬(discrete-event simulation)主要是因為該系統在時間歷程上,在某些時間點上會有個別事件(event)發生,某一事件發生代表系統的狀態參數在該時間點產生改變。由於離散事件模式的動態特性,在模擬過程中均必須記錄經歷的時間,因此必須有某種前進機制使模擬時間能往前推進,此機制稱為模擬時鐘(simulation clock),模擬的時間與實際電腦的執行時間並不一定具相關性。
模擬時鐘前進的機制有兩種:下一事件時間前進與定量時間前進。第一種方式普遍應用於現行模擬方式,因為後者僅是前者之特例。下一事件時間前進是將模擬時鐘設定為零,並決定未來事件發生之時間,然後將時鐘時間指向即將發生的第一個事件,所有系統狀態參數亦依據該事件進行更新。此過程將連續進行,直到系統的停止條件符合為止。在離散事件模擬中,由於所有狀態參數均在事件發生點改變,模擬時鐘將跳過事件間不活動的部份;這點與定量時間前進不同,因為定量時間前進會產生無事忙的現象,浪費電腦的運算資源。當系統呼叫離散事件模擬程序會執行下列三項工作:
1. 擷取事件佇列第一個事件;
2. 依據事件更新系統狀態;
3. 產生新事件發生之時間,並加入事件清單中。
沒有留言:
張貼留言