天天看點

Arena仿真-基于超市排隊的模組化分析

文章目錄

    • Arena仿真作業
      • 一、問題介紹
        • 1.1 模型假設
        • 1.2 優化目标
        • 1.3 限制條件
      • 二、子產品設計
        • 2.1 Create子產品
        • 2.2 Decide子產品
        • 2.3 Assign子產品
        • 2.4 Process子產品
        • 2.5 Dispose子產品
        • 2.6 Entity
        • 2.7 Resource
        • 2.8 Variable
        • 2.9 Queue
        • 2.10 整體設計
      • 三、仿真結果分析
        • 3.1 初始情況
        • 3.2 改進方法--一個服務員幹兩種任務
        • 3.3 改進方法--直接優化服務員和收銀員的人數
      • 四、總結

Arena仿真作業

一、問題介紹

​ 位于沈陽的某大學的超市在晚上5點到7點處于高峰期,一些同學會來超市購買日用品,也有一些學生去自助販賣機購買熱咖啡或飲料,而該超市的關東煮比較火爆,關東煮需要煮一段時間才能食用,是以關東煮隊伍總是比較長,在選擇了商品後,在結算櫃台統一結算,這兩個櫃台距離較近(因為友善學生出門就直接将食物帶走了)。

1.1 模型假設

  • 人物假設
  1. 員工在該工作時間内一直工作
  2. 每名員工隻為一名同學服務
  3. 同學進入超市分為兩種情況,一人和兩人一起進入超市,設定

    Batch_Size

    來處理這兩種情況。
  4. 每名同學進入超市都會進行消費
  5. 顧客完成後自動離開系統
  • 時間假設
  1. 關東煮和結算櫃台相鄰,忽略關東煮櫃台到繳費櫃台的時間
  2. 自助櫃台較多,且購買熱咖啡時間很短,故不會出現排隊現象

1.2 優化目标

  • 同學在繳費時的排隊時間
  • 同學在關東煮的排隊時間
  • 不同從業人員的利用情況(關東煮從業人員和收銀員)

1.3 限制條件

  • 價格成本,我們希望盡可能少的從業人員來保證相對的人員使用率

二、子產品設計

2.1 Create子產品

Arena仿真-基于超市排隊的模組化分析
Arena仿真-基于超市排隊的模組化分析
Arena仿真-基于超市排隊的模組化分析

其中,

student arrival

分布為正太分布,而

Batch_Size

為泊松分布,其圖像為

x1=0:1:50
x2=0:1:50
p1=poisspdf(x1,0.75)
p2=poisspdf(x2,1)
plot(x1,p1,'r')
hold on 
plot(x2,p2,'b')
legend('1','2')
           
Arena仿真-基于超市排隊的模組化分析

2.2 Decide子產品

Arena仿真-基于超市排隊的模組化分析

其中,它們的選擇機率分别設定為 79 % 79\% 79%, 35 % 35\% 35%和 10 % 10\% 10%。

Arena仿真-基于超市排隊的模組化分析

2.3 Assign子產品

  • 購買日用品

假設服從

(4,16,24)

的三角分布,并且乘以系數

Batch_Size

Arena仿真-基于超市排隊的模組化分析
  • 購買咖啡

假設服從二項分布,而二項分布又可以近似成

Beta

分布

(2 + 3 * BETA(0.532, 0.513))

,并且乘以系數

Batch_Size

Arena仿真-基于超市排隊的模組化分析
  • 購買關東煮

假設服從

(4,6,9)

的三角分布,并且乘以系數

Batch_Size

Arena仿真-基于超市排隊的模組化分析

2.4 Process子產品

前三種Process類型均為

Delay

,在配置設定後進行延時也就表示用了多少時間,而最後一種類型為

Value Added

,其表達式為

1.24 + 2.07 * BETA(1.29, 1.05)

,以便于可以累加它處理實體的各種成本或時間等。

  • 購買日用品
Arena仿真-基于超市排隊的模組化分析
  • 購買咖啡
Arena仿真-基于超市排隊的模組化分析
  • 購買關東煮
Arena仿真-基于超市排隊的模組化分析
  • 收銀台
    Arena仿真-基于超市排隊的模組化分析

2.5 Dispose子產品

該子產品為終點,起名字為

Exit

表示同學離開超市。

Arena仿真-基于超市排隊的模組化分析

2.6 Entity

Arena仿真-基于超市排隊的模組化分析

2.7 Resource

Arena仿真-基于超市排隊的模組化分析

2.8 Variable

Arena仿真-基于超市排隊的模組化分析

2.9 Queue

Arena仿真-基于超市排隊的模組化分析

2.10 整體設計

Arena仿真-基于超市排隊的模組化分析

三、仿真結果分析

我們設定

Replication

為10次,每天運作的時長為 2 2 2小時。

Arena仿真-基于超市排隊的模組化分析

3.1 初始情況

首先檢視一下

Entity

,我們可以看到學生進入整個流程需要約20分鐘的時間,而大部分(17分鐘)都用來了排隊。

Arena仿真-基于超市排隊的模組化分析

然後分析

Resource

後可以得到這樣一個資訊,制作關東煮的裡使用率僅有 18 % 18\% 18%,使用率較低。

Arena仿真-基于超市排隊的模組化分析

而檢視

Queue

也印證了這一結論,在收銀台要等待約2分鐘,而關東煮平均幾乎不需要等待時間(下圖分别為Republication 1和Republication 10的結果)

Arena仿真-基于超市排隊的模組化分析

是以我們考慮一種改進方法,可不可以讓關東煮的服務人員在不忙的時候來幫忙結算呢?(在假設中關東煮和結算位置相鄰)

如果想提高使用率,如何設定關東煮服務人員的人數和收銀員的人數呢?

3.2 改進方法–一個服務員幹兩種任務

首先考慮一個最基本的情況,這一個關東煮的服務人員在不忙的時候來幫忙結算如圖所示。

Arena仿真-基于超市排隊的模組化分析

那麼運作後檢視一下結果,首先檢視一下

Entity

,我們可以看到學生進入整個流程需要約21分鐘的時間,很顯然,做關東煮的服務員在不忙的時候去幹收銀員的活了,學生等待時間就長了

Arena仿真-基于超市排隊的模組化分析
Arena仿真-基于超市排隊的模組化分析

然後分析

Resource

後可以得到這樣一個資訊,由于讓這個關東煮人員多幹活,制作關東煮服務員的裡使用率有 82 % 82\% 82%,遠超過之前 18 % 18\% 18%。

Arena仿真-基于超市排隊的模組化分析

這說明了什麼呢?讓這個關東煮人員忙起來了,老闆讓員工多幹活,實際上并沒有帶來更好的顧客體驗。是以我們換一種思路去繼續優化這個問題。

  • 增加收銀員和服務員的人數

那麼我們嘗試一下增加它們的人數,将收銀員的人數範圍設定為 [ 1 , 5 ] [1,5] [1,5],且服務員的人數設為 [ 1 , 2 ] [1,2] [1,2],目标函數仍為服務員的使用率,可以看出來一個服務員使用率就已經達到 82 % 82\% 82%,而顯然減少收銀員的人數會讓更多的服務員空閑時候過來幫忙幹活,是以使用率會顯著降低。

Arena仿真-基于超市排隊的模組化分析

如果我們換一種優化函數呢,将目标函數設定為關東煮和收銀台排隊的平均排隊人數進行優化。可以看出來考慮到價格最少的情況,雇傭兩個收銀員和兩個服務員就可以實作讓平均排隊人數為 2 2 2左右,這樣顧客的體驗比較好。

Arena仿真-基于超市排隊的模組化分析

3.3 改進方法–直接優化服務員和收銀員的人數

直接雇傭更多的人而不是調用人員,會優化的更好,目标函數仍為關東煮和收銀的平均等待人數。

Arena仿真-基于超市排隊的模組化分析
Arena仿真-基于超市排隊的模組化分析

可以看到,在設定4個收銀員,2個服務人員時候的平均等待人數之和非常的小,遠小于1個人。

而實際上還應該加一點點限制,即考慮成本因素。

那我們在優化函數裡做一點限制,從經驗上來看,關東煮不需要太多技術,且空閑時間比較多,是以我們給它的工資低一些,而收銀員比較忙,我們給的工資高一些,轉換為權重系數後分别為0.2和0.8。我們可以看到此時設定2個收銀員,2個服務人員時候效果較好。

此時的目标函數為 N u m 平 均 關 東 煮 排 隊 人 數 + N u m 平 均 收 銀 台 排 隊 人 數 + 0.8 ∗ N u m 收 銀 員 + 0.2 ∗ N u m 服 務 員 Num_{平均關東煮排隊人數}+Num_{平均收銀台排隊人數}+0.8*Num{收銀員}+0.2*Num{服務員} Num平均關東煮排隊人數​+Num平均收銀台排隊人數​+0.8∗Num收銀員+0.2∗Num服務員

Arena仿真-基于超市排隊的模組化分析

那麼按照此設定運作後檢視相關名額如下,學生的總時間由原來的 21 s 21s 21s平均減少到了 17 s 17s 17s,且結賬排隊時間也從原來的 2 m i n 2min 2min減少到 1.37 m i n 1.37min 1.37min,且結賬的平均等待人數已經由 1.32 1.32 1.32減少至 0.39 0.39 0.39。盡管關東煮的平均等待人數從 0.39 0.39 0.39增加到了 1.95 1.95 1.95,但從某種角度說是一件好事,排隊的人不多不少在 2 2 2人左右可以吸引更多的學生來圍觀排隊,進而讓銷量更多一些。

Arena仿真-基于超市排隊的模組化分析

這樣的限制設計不太合理,經過查閱後可以在

Constrain

處加限制條件。假設收銀員的工資為2000元,服務員的工資為1500元,超市老闆希望一個月最多花費7000元在雇傭員工上,為了使得客戶的總等待時間最少,應該如何雇傭呢?

Arena仿真-基于超市排隊的模組化分析
Arena仿真-基于超市排隊的模組化分析

這樣設計後清晰合理,可以看到設定2個收銀員,2個服務人員時候效果較好,平均總等待人數為1人,客戶體驗非常好。

四、總結

本次作業搭建了超市中的排隊模型,學生在超市中有三種行為,分為購買日用品、自助販賣機、關東煮,而排隊時間主要集中在等待關東煮和最後結賬的過程,針對過程過長的問題,采取兩種思路進行優化,分别為

  • 方案一:服務員在空閑時幫忙結賬提高服務員的使用率
  • 方案二:增加服務員和收銀員的人數來減少平均等待人數

最終發現,方案一可以提高服務員的使用率,讓服務員忙起來,但并不能減少平均等待時間,而方案二可以适當增加關東煮的人數,在控制成本的情況下,顯著減少了收銀員的排隊時間,盡管關東煮的排隊人數适當增加,這會吸引更多的學生來排隊,從某種角度上說也帶來了一定的經濟效益,此外,校園同學的購物體驗好,也會吸引更多的同學來超市購買,而不是選擇網購等待很久或者去外面購買日用品等,是以最終采用改進的方案二作為最終方案,此時雇傭2個收銀員和2個服務人員。