這學期旁聽老闆上的一門課(其實我已經修過了,只是不同老師教的),關於Monte Carlo Simualtion,聽到一個有趣的例子,在此記下。
假設有兩種工作要完成,Job 1和Job 2,兩種機台(Workshop)都可以處理這兩種工作,而機台一次只能處理一個工作。Job 1由Workshop A處理,Job 2由Workshop B處理(如圖黑線箭頭所示)。假設Job 1和Job 2進來的速度(arrival rate)是相同的,兩機台的處理速度(process rate)也一樣。現在,Job 1處理完後產生的利潤較高,於是經理決定,Workshop B也處理Job 1(紅色箭頭),而且Job 1有優先權使用Workshop B,也就是說Job 1不必跟Job 2一樣排隊等著使用Workshop B。
這是很直觀的想法,讓利潤高的Job 1優先處理完。這種情況下,Job 1可以很快的就處理完畢,但是排隊等著處理的Job 2就會愈來愈多,而且Workshop A的利用率(utilization)遠低於100%的Workshop B。這個系統並不是最佳化(optimization),沒有處理而一直累積的Job 2,無法帶來利潤,經理必須在不添購機台和增加其容量(capacity)的條件下,設法處理不斷累積的Job 2。
讓兩機台都處理兩種工作?這個方法看似可行,但仔細想就會發現,這跟一個機台只負責一項工作是一樣的效果,反而不如經理先前提出的方案有用。目前發現最有效的方式,配置還是如同上面的例子,讓Workshop B可以處理Job 1和Job 2,但是規則稍微改變一下:當等待處理的Job 1,排隊隊伍長度超過某一個定值(這依系統參數算出來),才讓Workshop B去處理Job 1。這樣,就不會有Job 1長期「霸佔」Workshop B而使得Job 2無法處理的問題了,而且也能夠適時的多處理一些利潤高的Job 1。
這或許可以解釋,為什麼夫妻兩人一同分擔家務事時,總是有一位顯得比另一位忙碌。因為其中一位,總是嫌另一半做得不夠好,而過去幫忙,但另一半卻不會回過頭來幫忙。就有如Workshop B同時處理Job 1和Job 2,所以Job 1很快就處理掉,使得只處理Job 1的Workshop A,常常會處於閒置狀態。
"這或許可以解釋,為什麼夫妻兩人一同分擔家務事時,總是有一位顯得比另一位忙碌。因為其中一位,總是嫌另一半做得不夠好,而過去幫忙,但另一半卻不會回過頭來幫忙。就有如Workshop B同時處理Job 1和Job 2,所以Job 1很快就處理掉,使得只處理Job 1的Workshop A,常常會處於閒置狀態。"
ReplyDeletehahahahahah~interesting..久了之後常處於閒置的workshop效率大概就會愈變愈低,最後向我爸一樣,所有的job都要到Workshop B 去排隊了...