向萬里, 張靜芳, 胡鯤鵬, 安美清
(蘭州交通大學交通運輸學院,蘭州 730070)
著名供應鏈管理專家馬丁·克里斯多夫教授認為:“21世紀是供應鏈與供應鏈的競爭”,可見供應鏈管理是進一步提升企業核心競爭力的有效手段,然而,在供應鏈中普遍存在著需求不確定性波動的現象,即牛鞭效應[1],這種需求信息的嚴重扭曲給供應鏈管理帶來了諸多困難。牛鞭效應作為《供應鏈管理》課程中一個重要的知識點,感性認識它在不同條件下的產生、傳播及分析具有十分重要的意義。鑒于仿真實驗教學系統的廣泛應用[2-6],以David等開發的一個Windows XP環境下的具有圖形用戶界面的啤酒游戲軟件The Beer Game為原型(該軟件跨平臺能力較差,不能在高版本的Windows系列操作系統上安裝使用),同時考慮到Excel軟件的普遍性和易用性,采用Excel VBA軟件開發了供應鏈牛鞭效應仿真系統。
20世紀60年代,麻省理工學院的斯隆管理學院首創了“啤酒游戲”,用來展現供應鏈庫存管理中普遍存在的一種現象——牛鞭效應。1997年,斯坦福大學知名教授Hau L.Lee(李效良)在頂級期刊Management Science上發表文章首次提出了牛鞭效應的概念,并從信息扭曲的角度,深入探索了牛鞭效應的機理[7-9]。本研究主要是以麻省理工學院的David等開發的啤酒游戲軟件為原型,鑒于其向后兼容性較差,遂以具有廣泛應用背景的Excel VBA為工具[10-12],進行再次開發,目的是為了便于用戶使用和加強學生對于供應鏈牛鞭效應的感性認識及理解。
1.2.1供應鏈模型
在該仿真系統軟件中,供應鏈節點有四個,分別是制造商、批發商、分銷商和零售商,各個節點之間由運輸和通訊環節進行聯系。當客戶向零售商提出自己的需求以后,零售商會通過提供相應數量的商品(啤酒)來滿足客戶的需求,這樣就會使得零售商庫存水平發生變化。零售商根據這個變化,并結合自身的情況及對未來市場的估計,進而向批發商發出一定量的訂貨需求。同樣,批發商也會根據自己的庫存情況以及下游零售商的訂單情況,向其上游分銷商發出相應的訂單,分銷商又會根據自己的庫存情況以及下游批發商的訂單情況,向制造商發出相應的訂單。這就是啤酒游戲的過程,整個過程就簡單地構成了啤酒供應鏈。具體如圖1所示。

圖1 (啤酒)供應鏈模型
1.2.2供應鏈模擬
在供應鏈模擬過程中,涉及如圖1所示的供應鏈節點,為完成供應鏈運營模擬,需要首先選擇玩家希望扮演的角色(Player)(其余角色則由系統自動扮演)。由于涉及系統自動扮演角色,接下來,需要為每個角色制定庫存策略(Policy)以及設置外部需求(Demand)模式等。
具體而言,在模擬過程中,玩家可以扮演供應鏈節點的管理者:零售商,或批發商,或分銷商,或制造商,其被稱為交互式角色,計算機則扮演余下角色(當用戶選擇None角色時,所有供應鏈節點管理者均由計算機扮演,即由計算機自動執行)。在仿真演示過程中,為了便于觀察與區分,交互式角色一般用彩色突出顯示。模擬過程主要由訂貨事件驅動,模擬運行時間是以周(w)為單位的,每周伊始,先是零售商,再是批發商和分銷商,最后是制造商,都會依次運行如下事件,仿真從上游開始,對于每個供應鏈組成部分都會依次運行以下步驟[1]:
(1) 延遲2的內容被移到延遲1,延遲1的內容被移到在庫庫存中。延遲2在此時的狀態是0。
(2) 每個角色盡可能地滿足直接下游的訂單(對于零售商來說,其下游指的是客戶)。切記,訂貨量要包括當前訂貨和所有累積下來的拖欠訂單。將暫時沒有滿足的訂單先記錄下來(相當于當前庫存減去當前訂貨量與拖欠給下游的訂單之和),并在條件允許的情況下盡快滿足。除了零售商把貨物送到系統外部,訂貨都被送到其直接下游的延遲2的位置。
(3) 計算每1周的缺貨和庫存成本,并累加到前1期累計的總成本之中。每1周成本計算如下:在這一機構和運輸到下游機構的總庫存乘以持有成本0.50美元,延遲交貨數目,即拖欠訂單(backorder),乘以缺貨成本1.00美元。
(4) 發出訂單。如果是玩家扮演某一角色,則由玩家指定訂單的需求量;如果是計算機自動運行的工作,即角色工作由電腦扮演執行,則計算機會根據預先設置的庫存控制策略給出訂貨數量。
這一事件順序有幾個需要注意的地方。首先,一旦下游機構在第1周末發出訂單,該訂單將在第3周初之后才能被滿足(也就是說,如果訂單在w周末被發出,物料將會在w+3周初之后才能收到,有2周的延遲)。同樣,一旦1個訂單在某1周末發出,它只能在下周初之后才能被收到。這意味著,比如說零售商在某一時期末發出了訂購5單位的訂單,批發商在下一時期初才能收到該訂單。在這一時期里,批發商盡可能地滿足前一時期的訂單。
牛鞭效應仿真系統是基于Excel VBA來設計與實現的[13-15]。主要包括:主界面、Player(玩家)選擇界面、Policy(策略)選擇界面、Demand(需求)管理界面、圖和表界面以及各個用戶窗體和模塊的設計。
1.3.1主界面設計
供應鏈牛鞭效應仿真系統主界面如圖3所示,主要實現供應鏈訂單事件活動過程的可視化,可以清晰的了解到客戶下達的訂單數量(Demand),以及各個供應鏈節點角色的庫存,延遲1(Delay 1)和延遲2(Delay 2)的庫存(在途庫存),同時可以清晰觀察到各個角色的總成本(Total cost)、缺貨(backorder)數量以及給供應鏈上游下達的訂單(recent order)。整個仿真依賴star按鈕開始,爾后借助next按鈕驅動仿真過程不斷繼續,每點擊一次next按鈕,仿真時鐘向前推進1周,相關信息在week后的單元格里得以不斷變化顯示,同時,庫存、成本、缺貨等信息也會相應地發生變化。值得說明的是,仿真的執行需要按圖2先行選定相關參數設置,不過,系統有缺省設置參數值,依然可以正確執行仿真過程。

圖2 仿真系統運行流程圖

圖3 仿真系統主界面
1.3.2角色(Player)選擇功能模塊
角色選擇功能模塊在名為“Player”的Sheet表單中,顯示如圖4所示,具體由一個下拉列表框存放了供應鏈節點角色零售商Retailer、批發商Wholesaler、分銷商Distributor以及制造商Factory,當選擇某個角色時,該角色由用戶擔當,其余角色由計算機自動模擬。此外,為了便于簡單操作系統仿真過程和便于快速了解仿真結果,可以選擇None角色,即沒有人機交互角色,所有角色統一由計算機扮演。

圖4 角色選擇功能模塊
1.3.3庫存策略選擇功能模塊
為了實現計算機自動扮演供應鏈中的不同角色,需要先行給各個角色設定扮演過程中執行的庫存策略,具體如圖5所示。相關參數具體信息可見文獻[1]。

圖5 庫存策略設置模塊
1.3.4需求管理功能模塊
如同庫存策略設置的初衷,需求管理目的是實現客戶需求的計算機自動產生,這里有確定性需求策略和隨機正態分布需求策略兩種情形,具體如圖6所示。其中,對于確定性需求,包含了初始化需求Initial Demand,以及從第1周到第幾周執行和初始化需求一樣的參數設置,其余仿真時間的需求則對應最終需求Final Demand產生的需求數量。隨機正態分布參數類似,具體描述亦可以參見文獻[1]。
1.3.5仿真記錄功能模塊
在仿真時鐘推進過程中,為了后續可視化牛鞭效應相關現象,供應鏈各節點產生的庫存、缺貨量、訂單以及總成本數據都自動記錄在名為“Record”的Sheet表單里,部分信息顯示如圖7所示。這個仿真記錄對于動態繪制供應鏈各角色相關信息圖形具有重要的基礎作用[15]。

圖6 需求管理功能模塊

圖7 仿真記錄功能模塊
1.3.6可視化模塊
為了多角度直觀分析供應鏈牛鞭效應相關機理,各角色相關仿真記錄采用Excel中的動態圖表技術結合下拉列表框控件實現仿真過程中圖形的實時動態繪制。便于直觀分析相關結果。具體顯示如圖8所示,其中圖8(a)主要顯示的是某一類型(例如訂單數量)仿真記錄不同角色間的對比;而圖8(b)顯示的是某一角色(例如分銷商)不同仿真記錄數據(庫存、缺貨量、訂單量以及總成本)的可視化信息,其中,分銷商的總成本圖形使用的雙縱坐標圖的右縱坐標。此時,從圖8(a)中可以發現各角色訂單數量的無規則變化,尤其是供應鏈上游節點制造商的訂單數量變化最為急劇,這直觀地展示了牛鞭效應現象,為借助供應鏈相關理論進一步分析相關機理提供了有益的可視化輔助。
在物流管理專業的核心專業課程——《供應鏈管理》課程教學過程中,通過相關任課教師和學生的使用、評測,對該仿真軟件進行了教和學的測試,該仿真系統具有如下優點:
(1) 避免了教師在教學過程單純講授庫存策略、需求管理及牛鞭效應等概念和公式的枯燥乏味,通過軟件的演示,甚至是介紹部分Excel公式實現方式以及VBA代碼實現技巧,尤其是相關結果的動態可視化有助于學生感性認識牛鞭效應,獲得了學生的關注和共鳴,有效提升了教學課堂氣氛,同時激發了學生進一步自學的熱情。
(a)

(b)
(2) 方便了學生課外實踐學習。由于需求管理、庫存策略管理中具有多種策略可供相關角色選擇,學生進而可以在課外進一步自主學習、分析不同條件下的牛鞭效應現象。
(3) 鑒于系統的缺省設置以及部分角色甚至于全部角色的計算機自動扮演功能,方便學生單獨、快速實現牛鞭效應的仿真,不像傳統啤酒游戲那樣需要多人組成供應鏈團隊,方能實現模擬過程,新系統提升了學習的方便性。
(4) 鑒于Excel的廣泛性和易用性,以及源代碼和函數公式的開放性,學生可以進一步自學VBA,可在現有仿真系統上進一步開發適合自己需要的,功能更為完善的模擬系統。
參考文獻(References):
[1] David Simchi-Levi, Edith Simchi-levi.供應鏈設計與管理[M]. 季建華,邵曉峰譯.北京:中國人民大學出版社,2014.
[2] 李 霞.材料力學虛擬仿真實驗系統的開發[J].實驗技術與管理,2016,33(12):125-127.
[3] 王建平.基于Multisim與Excel的二極管限幅器仿真實驗[J].實驗技術與管理,2017,34(1):143-145.
[4] 姜高揚,王 超.基于建模仿真的可視化教學模式研究[J].實驗室研究與探索,2017,36(7):192-195.
[5] 陳海泉,林自奎.經濟管理類虛擬仿真實驗教學平臺建設[J].實驗室研究與探索,2017,36(1):265-268.
[6] 張靜芳,向萬里, 馬子剛, 等.延遲策略在課堂理論教學中的實驗仿真[J].實驗室研究與探索,2016,35(10):112-116.
[7] H.L Lee,V Padmanabhan,S Whang. Information distortion in a supply chain: the bullwhip effect[J]. Management Science,1997, 43(4):546-558.
[8] Wang N, Lu J, Feng G, Ma Y, Liang H. The bullwhip effect on inventory under different information sharing settings based on price-sensitive demand[J]. International Journal of Production Research, 2016, 54(13): 4043-4064.
[9] Wang X, Disney S.M. The bullwhip effect: Progress, trends and directions[J]. European Journal of Operational Research, 2016, 250(3): 691-701.
[10] 李曉玫,楊小平. Excel中的VBA程序設計[J].四川師范大學學報(自然科學版),2004,27(4):423-426.
[11] 劉 波,崔 維,陳閎中.用VB和VBA實現動態報表[J].計算機應用研究,2002(6):130-131.
[12] 李宗信,蔣忠金,陳定威.淺談用Excel和VBA實現優化計算與自動繪圖的方法[J].變壓器,2014,51(2):17-24.
[13] Excel Home.別怕,Excel函數其實很簡單[M].北京:人民郵電出版社,2015.
[14] Excel Home.別怕,Excel VBA其實很簡單[M].北京:人民郵電出版社,2016.
[15] 徐軍泰.左手數據,右手圖表——Excel動態圖表制作與職場數據溝通[M].北京:機械工業出版社,2014.