© The McGraw-Hill Companies, Inc., 2009
第 第 12 12 章章電腦模擬:基本概念電腦模擬:基本概念
學習目標 12.2
電腦模擬的本質( 12.1 節) 12.3
範例 1 :投擲硬幣遊戲( 12.1 節) 12.4–12.8
範例 2 : Heavy Duty 公司( 12.1 節) 12.9–12.15
個案研究:賀爾理髮店( 12.2 節) 12.16–12.24
個案研究的分析( 12.3 節) 12.25–12.32
主要電腦模擬研究的概要( 12.4 節) 12.33–12.35
12-2
© The McGraw-Hill Companies, Inc., 2009
學習目標學習目標
在讀完本章後,你應該能夠:
1. 描述電腦模擬的基本觀念。
2. 描述電腦模擬在管理科學研究裡扮演的角色。
3. 利用亂數從簡單的離散分配中產生隨機事件。
4. 利用 Excel 進行電腦模擬。
5. 利用等候模擬器進行基本等候系統的電腦模擬並能解讀結果。
6. 描述和使用模擬模型的最小組成單元於隨機系統中。
7. 摘要出電腦模擬研究的主要步驟。
12-3
© The McGraw-Hill Companies, Inc., 2009
電腦模擬的本質電腦模擬的本質
隨機系統( stochastic system )是一種根據單一或是多個機率分配且隨著時間而演化的系統。
電腦模擬( Computer simulation )藉由應用相關的機率分配隨機產生不同的事件來模仿此系統的操作(例如:在等候理論中,到達和服務的完成)。
不同於物理系統的實際執行,電腦只記錄了模擬事件的發生和模擬系統的結果。
當所涉及的隨機系統過於複雜,以致於分析模式無法得到令人滿意的結果,此時就會考慮利用電腦模擬。
12-4
© The McGraw-Hill Companies, Inc., 2009
範例 範例 11 :投擲硬幣遊戲:投擲硬幣遊戲
遊戲規則:1.每局比賽必須重複投擲硬幣直到擲出正面的總數和擲出反面
的總數相差 3 。2.當你決定參加比賽,每投擲一次必需付 1 美元,且比賽中途
不可退出。3.當每局比賽結束時,你可以獲得 8 美元。
例子:
12-5
© The McGraw-Hill Companies, Inc., 2009
投擲硬幣遊戲之電腦模擬投擲硬幣遊戲之電腦模擬
電腦沒辦法投擲硬幣,但是它可以藉由產生一連串的亂數( random number )來模擬投擲的結果。
數字是一個介於 0 與 1 的亂數,若在這區間的每一個數字都有相同發生的機率。
產生亂數的簡單方法可以藉由 Excel 中的 RAND() 功能。
為了模擬投擲硬幣,電腦可以將亂數的一半與正面對應,另一半則與反面對應。– 0.0000 至 0.4999 對應到正面– 0.5000 至 0.9999 對應到反面
12-6
© The McGraw-Hill Companies, Inc., 2009
投擲硬幣遊戲之電腦模擬(續)投擲硬幣遊戲之電腦模擬(續)
12-7
© The McGraw-Hill Companies, Inc., 2009
重複模擬投擲硬幣遊戲重複模擬投擲硬幣遊戲 1414 回的資料表回的資料表
12-8
© The McGraw-Hill Companies, Inc., 2009
重複模擬投擲硬幣遊戲重複模擬投擲硬幣遊戲 1,0001,000 回的資料表回的資料表
12-9
© The McGraw-Hill Companies, Inc., 2009
維修 維修 v.s. v.s. 維護維護
Heavy Duty 公司最近為新的製程添購了一台大型機器。 機器是由馬達來驅動的,但是馬達偶爾會發生故障需要
檢修。因此,機器製造商提供一個備用的馬達,這兩個馬達交替使用。
故障總是發生在使用後的第 4 、 5 、或 6 天。幸運地,檢修機器的時間不會超過三天,所以當故障情況發生的時候,備用馬達通常都已在堪用狀態。
12-10
© The McGraw-Hill Companies, Inc., 2009
故障的機率分配故障的機率分配
12-11
© The McGraw-Hill Companies, Inc., 2009
維修之電腦模擬維修之電腦模擬
12-12
© The McGraw-Hill Companies, Inc., 2009
一些維護的選擇一些維護的選擇
維護政策( preventive maintenance policy )為縱使故障沒有發生馬達仍需在特定時間做例行性的拆解(和替換)以進行檢修。
主要的目的在於預防故障情況的發生。 可排定機器沒有使用的時間進行拆解、替換和檢修,如此就
不會有產能的損失。
12-13
© The McGraw-Hill Companies, Inc., 2009
33 天後進行替換的檢修方案天後進行替換的檢修方案
更換週期的成本為 $6,000 (替換時總是無故障發生)。
更換週期為每三天進行替換。
E( 每天成本 ) = ($6,000) / (3 天 ) = $2,000 / 天。
12-14
© The McGraw-Hill Companies, Inc., 2009
44 天後進行替換的檢修方案天後進行替換的檢修方案
12-15
© The McGraw-Hill Companies, Inc., 2009
55 天後進行替換的檢修方案天後進行替換的檢修方案
12-16
© The McGraw-Hill Companies, Inc., 2009
賀爾理髮店賀爾理髮店
賀爾是一位德國理髮師,獨自經營一家理髮店。他週一到週五每天早上八點開始營業。顧客以每小時兩位的平均速率隨機低達,而每位顧客的平均理髮時間為 20 分鐘。
隨著生意愈加興隆,他的顧客時常必須等候一些時間(有時會超過半小時)。雖然老主顧大多願意等待,賀爾意識到新的客戶很少像以前一樣再回到店裡消費,特別是在當他們需要等待一大段時間的時候。
在 The Barber’s Journal 期刊中的一篇文章指出– 在一間經營績效好的理髮店,為了剪髮,忠實的顧客平均願意等
待 20 分鍾。新顧客則平均願意花上 10 分鐘的等待時間來剪髮。(等待得愈久,他們愈有可能在未來選擇其他理髮店。)
問題:賀爾理髮師是否應該僱用一位助手來分擔工作量?
12-17
© The McGraw-Hill Companies, Inc., 2009
機率分配機率分配
賀爾發現他的剪髮時間大概需要 15~20 分鐘,他的最佳估計是介於 15 至 20 分鐘任何時間出現的機會是均等的, – 估計的服務時間分配:服務時間為介於 15 到 20 分鐘的均勻
分配 ( uniform distribution )。
產生介於 a 到 b 之間均勻分配的隨機觀測值, Excel 中的方程式為
=a + (b–a)*RAND()
例如:產生介於 15 到 25 間的均勻分配的隨機觀測值,Excel 中的方程式為
= 15 + 10*RAND()
12-18
© The McGraw-Hill Companies, Inc., 2009
機率分配機率分配
顧客隨機到達理髮店,平均每小時二位。 – 到達間隔時間估計的分配:平均值為 30 分鐘的指數分配。
從指數分配產生隨機觀測值:
= –(mean) * LN(RAND())
平均值為 30 分鐘的指數分配之隨機觀測值:
= –30*LN(RAND())
12-19
© The McGraw-Hill Companies, Inc., 2009
模擬模型的最小組成單元模擬模型的最小組成單元
1.系統組成元件的描述,包含假設它們是如何運作以及相互關連。
2.模擬鐘( simulation clock )。
3.系統狀態的定義。
4.隨著時間產生隨機(模擬)事件的方法。
5.當事件發生時,改變系統狀態的方法。
6.模擬鐘時間推進的程序。
12-20
© The McGraw-Hill Companies, Inc., 2009
賀爾理髮店模擬模式之最小組成單元賀爾理髮店模擬模式之最小組成單元
1.系統組成元件的描述,包含假設它們是如何運作以及相互關連。• 組成元件包括顧客、等候(理髮)的隊伍,和服務提供者賀
爾。
2.模擬鐘( simulation clock )。• t = 到目前為止模擬的時間
3.系統狀態的定義。• N(t) = 在時間為 t 時理髮店的顧客數
4.隨著時間產生隨機(模擬)事件的方法。• 使用逆轉換法( inverse transformation method )來產生到達
間隔時間和服務時間。
12-21
© The McGraw-Hill Companies, Inc., 2009
賀爾理髮店模擬模式之最小組成單元(續)賀爾理髮店模擬模式之最小組成單元(續)
5.當事件發生時,改變系統狀態的方法。• 重新設定 N(t) = N(t) + 1 若一位顧客在時間 t 時抵達• 重新設定 N(t) = N(t) – 1 若一位顧客在時間 t 時完成服務
6.模擬鐘時間推進的程序。• 下次事件時間推進程序( next-event time advance procedure )
下次事件時間推進程序
1.觀測模擬鐘上現在的時間 t 以及將發生的任何一個事件類型的隨機時間。決定哪一個事件將先發生。
2.將模擬鐘上的時間推進到下一個事件發生的時間。
3.根據這個事件的結果來更新系統狀態,以及隨機產生在此狀態下可能發生的任何一個事件類型的隨機時間(若該事件尚未事先產生的話)。並且記錄有關於系統績效的資訊,然後返回步驟 1 。
12-22
© The McGraw-Hill Companies, Inc., 2009
賀爾理髮店之電腦模擬賀爾理髮店之電腦模擬
12-23
© The McGraw-Hill Companies, Inc., 2009
前前 100100 分鐘系統顧客人數的變化情形分鐘系統顧客人數的變化情形
12-24
© The McGraw-Hill Companies, Inc., 2009
模擬有助手時的理髮店運作情況模擬有助手時的理髮店運作情況
唯一的相異點發生於下一個事件時間推進程序將決定哪一個事件將在下一個時間點發生。
在此有三種可能的事件,而非之前的二種。1.賀爾服務完畢時的顧客離開。2.助手服務完畢時的顧客離開。3.顧客到達。
12-25
© The McGraw-Hill Companies, Inc., 2009
個案研究分析個案研究分析::財務因素財務因素
收入 = $15 每次剪髮
平均小費 = $2 每次剪髮
維持店面的成本 = $50 每個工作天(無論有無助手)
助手的薪水 = $120 每個工作天
助手的佣金 = $5 助手每次剪髮
除了他的薪水和佣金,助手會保留他的小費,而其他收入將歸給賀爾。
理髮店從早上 8點營業至下午 5點,所以它可以為顧客服務 9 個小時。
12-26
© The McGraw-Hill Companies, Inc., 2009
沒有助手情況下之分析沒有助手情況下之分析
目前到達間隔時間分配的平均值為 30 分鐘。因此,賀爾每個工作天會擁有 18位顧客。
所以,減掉每日維持店面的成本後,每個工作天的平均淨收入為:
每日淨收入 = ($15 + $2)(18位顧客 ) - $50
= $306 - $50
= $256
12-27
© The McGraw-Hill Companies, Inc., 2009
等候模擬器的特色等候模擬器的特色
1.可以對不同種類的基本等候系統進行電腦模擬。2.允許擁有多位服務者,最多至 25位。3.對於到達間隔時間或服務時間分配,可以採用下列的任一分配:
a)固定的時間(也可以稱為退化分配)。
b)指數分配。 c)轉換指數分配(固定時間與指數分配時間的和)。d)均勻分配。 e)厄朗分配。
4.提供各種主要績效測量的估計:L = 系統中的總顧客人數(包含正在接受服務的顧客)
Lq = 系統中正在等待的顧客人數(不包含正在接受服務的顧客)
W = 每位顧客在系統中的平均等待時間(包含服務時間)
Wq= 每位顧客在等候線中的平均等待時間(不包含服務時間) Pn = 系統中有 n位顧客的機率( n = 0, 1, 2,…, 10 )
12-28
© The McGraw-Hill Companies, Inc., 2009
等候模擬器模擬賀爾理髮店(沒有助手)等候模擬器模擬賀爾理髮店(沒有助手)
12-29
© The McGraw-Hill Companies, Inc., 2009
測試模擬模型的有效性測試模擬模型的有效性
12-30
© The McGraw-Hill Companies, Inc., 2009
選擇聘用一位助手的分析選擇聘用一位助手的分析
聘用助手後將會 – 剪髮前的平均等候時間小於 10 分鐘 – 逐漸地吸引新的客源直到平均等候時間達到 10 分鐘
等候模擬器產生的結果:
12-31
© The McGraw-Hill Companies, Inc., 2009
等候模擬器模擬賀爾理髮店(一位助手)等候模擬器模擬賀爾理髮店(一位助手)
12-32
© The McGraw-Hill Companies, Inc., 2009
選擇聘用一位助手的財務分析選擇聘用一位助手的財務分析
賀爾認為 14.3 分鐘提供有助手時平均到達間隔時間一個合適且保守的估計值。
這相當於平均到達率為每天 37.8位顧客。
每日淨收入 = 37.8 ($15) (店面收入)+ 18.9 ($2) (他的小費)– $50 (維持店面的成本)– $120 (助手的薪水)– $18.9 ($5) (助手的佣金)
合計 $340.30
這與賀爾目前的每日淨收入 $256 相比,每日淨收入明顯增加了 $84.30 。
12-33
© The McGraw-Hill Companies, Inc., 2009
主要電腦模擬研究之概要主要電腦模擬研究之概要
步驟 1 :架構問題與規劃研究 – 管理階層主要想要研究的問題?– 研究的主要目標?– 是否有特別的議題需要提出?– 需要考慮選擇哪一種系統結構?– 管理階層對於系統的哪些績效測量有興趣?– 研究的時間限制為何?
步驟 2 :蒐集資料並架構模擬模型 – 需要相關數量的機率分配。 – 一般而言,我們只能去估算這些分配。– 模擬模型通常會用流程圖( flow diagram )來表示。
步驟 3 :檢查模擬模型的準確性 – 在主要核心人物面前,有系統地將概念模型從頭到尾地帶過。
12-34
© The McGraw-Hill Companies, Inc., 2009
主要電腦模擬研究之概要(續)主要電腦模擬研究之概要(續)
步驟 4 :選擇軟體與建構電腦程式 – 軟體類別
• 試算表軟體(例如: Excel 、 Crystal Ball )• 泛用程式語言( general-purpose programming language )(例如: C 、
FORTRAN 、 PASCAL 、 BASIC 等)• 泛用模擬語言( general-purpose simulation language )(例如:
GPSS 、 SIMSCRIPT 、 SLAM 、 SIMAN 等)• 應用導向模擬器( applications-oriented simulators )
步驟 5 :測試模擬模型的有效性 – 若真實系統目前正在運作,實際績效資料應該和模擬結果做比較。– 利用現場測試( field test )來蒐集資料,並和模擬模型做比較。– 請具有相關知識的人員來檢驗當模擬系統結構改變時模擬結果會
如何變化。 – 觀察模擬過程的動畫( animations )。
12-35
© The McGraw-Hill Companies, Inc., 2009
主要電腦模擬研究之概要(續)主要電腦模擬研究之概要(續)
步驟 6 :規劃即將進行的模擬 – 決定模擬時間的長度。– 必須知道電腦模擬無法提供系統真實的績效衡量。可以將每
次的模擬視為一種統計實驗,可以產生系統績效的統計觀測值。
步驟 7 :執行模擬和分析結果 – 獲得點估計值( point estimates )以及信賴區間( confidence
intervals )以便了解衡量可能數值的範圍。
步驟 8 :向管理階層提出建議