CodeHighlight

2013年5月4日 星期六

[Queueing theory]系統描述與一般性穩定態計算(General Equilibrium Solution)

是說最近在上Queueing Theory,除了概念要多想多模擬才能理解外,
最困擾的是基礎數學功力不夠呀!
果然出來混總是要還的

----------------------------碎碎念結束---------------------------

在一個系統中,不同狀態的轉換都是根據機率決定是否發生,
不過,要將一個系統轉換成數學可以處理的模式,
則需要我們「定義」這個系統,以便符合我們可用的數學模型

以火車站為例:一個車站內會有很多人來搭火車,
乘客的目的是希望可以搭到車,就以「到車站 -> 等車 -> 上車」這個流程來看。
根據Kendall notation,我們可以定義:

  • State(系統狀態):車站內的人數
  • Transition rate(狀態往前的機率):乘客到車站的機率
  • Departure rate(狀態往後的機率):乘客上車的機率
  • Queue Size/Buffer Size(系統內的上限);車站可以容納等車人數的多寡
  • Number of parallel server(同時有多少Server提供服務):一次會有多少車來
  • Queueing discipline(提供服務的順序):大家上車的順序
當然,上述是簡化後的例子,實際情況會比描述得更為複雜,
不過這邊做一定程度的簡化,使其可以利用數學工具做一定程度的評估。


在上面的例子中,每個State代表車站內的人數,對於要關注這個系統的人來說,
我們感興趣的部分可能會有:
  • 這個車站平均有多少人?
  • 平均每個乘客要等多久?
  • 車站大多數時候會有多少人在等車?
  • 要如何調整發車才可以減少等候時間?
  • ......
為了要計算這些,我們可以從「在某狀態下的機率」作為起點,
假設在一個穩定的系統中,單一狀態的機率在觀察時間夠長的話,
其機率會固定在一個特定的值,我們稱之為pk

以上述式子來說,代表「狀態k機率的穩定態,其機率等於在無窮遠的時間下,得到之狀態k的機率」。

而我們假設,進入這個系統的機率是λ;離開這個系統的機率是µ
以上面的例子(Birth-Death系統)為例,會有以下特性:
  • 車站內的人數最小為0,不會有負數
  • 所有狀態的機率和為1(表示所有狀況都考慮在內)
而一個系統在穩定態時,系統的Flow in = Flow out,代表該系統進出的機率會是相同的,
這樣系統內的人數才會維持一定。也就是說:

Flow in = Flow out

→ 進入該狀態的機率 = 離開該狀態的機率

前個狀態下的進入率+下個狀態的離開率 = 現在狀態下的進入與離開率和

→ 


根據以上特性,我們可以推出在狀態K的機率為:

狀態0的機率是:


利用這兩個關係式,就可以針對我們定義的系統,計算在不同情境下,在穩定態的機率。
根據這些機率,配合上Little's Law,就可以方便的算出相關的系統表現了!



參考資料:

沒有留言:

張貼留言