[閱讀筆記] 商業系統動力學 - 系統思考及複雜世界的模型建構

Title: Business Dynamics - Systems Thinking and Modeling for a Complex World
Author: John D. Sterman, Sloan School of Management, Massachusetts Institute of Technology

本書之基本資料。

第五項修練》(中文版:1994年,英文版:1990年)提到了系統動力學,其中舉了經典的例子--啤酒銷售遊戲,在系統中,每個人盡力扮演好他的角色(零售商、大盤商、經銷商、工廠),但愈努力,卻反而離目標愈來愈遠,令人印象深刻(這個遊戲是由Jay Forrester在1950年代後期所設計的)。

本書對於系統動力學做了更深層次的說明及闡述,書中包含了非常多的case study,讓我們可以從中學習如何將理論應用在實際的情況中。本書共有22章、982頁。

Preface

系統動力學(system dynamics)是一種觀點(perspective)及一組工具,使我們能夠瞭解複雜系統的結構及動態行為。

Chapter 1 Learning in and about Complex Systems

動態複雜(Dynamic complexity)的成因,是因為系統具有下列特性:

1. 動態(dynamic). 系統中的每個元素都隨時間而變化。

2. Tightly coupled. 系統中的每個元素彼此密切地互相影響。

3. Governed by feedback. 我們的行動會影響系統的狀態,影響系統中的每個元素,又使得系統狀態改變,我們的行動又隨著改變。

4. 非線性(nonlinear). 果和因不直接相關。

5. History-dependent. 選擇了一個做法,就排除了其他的做法,同時也決定了最後的結果。許多行動造成的影響是不可逆轉的。

6. Self-organizing. 系統的動態來自於系統的內部結構。

7. 自我調適(adaptive). 系統中的個體,其能力及決策方式,會隨時間而改變。

8. 違反直覺的(counterintuitive). 因和果在時間上及空間上的距離是很遙遠的,但我們傾向在事件發生的附近去找尋造成的結果。我們把注意力放在棘手的症狀,而不是背後的根本原因。

9. Policy resistant. 許多看似明顯的解決方法,事實上是無效的,甚至會使情況惡化。

10. Characterized by trade-offs. 回饋結構內的時間延遲會經常使得某個行動的長期效應和短期效應是相反的。因此,某種決策可能會導致短期情況惡化,但長期情況改善;或反之。

Chapter 2 System Dynamics in Action

舉三個成功案例。

第二個案例。在1970年,Ingalls造船公司贏得美國海軍的合約,要建造30艘驅逐艦。而Ingalls在1969年剛拿下另一個合約,要建造9艘航空母艦(LHA)。到了1970年代中期,Ingalls成本超支了500萬美元。Ingalls認為成本超支的主要原因是美國海軍在設計過程中所要求的數千個設計變更所導致,向美國海軍提出500萬美元(相當於1999年的15億美元)的求償。美國海軍承認設計變更,但認為設計變更只影響到修改規格及重新製作受影響的部份的工程圖稿的直接成本,只是求償金額的一小部份。Ingalls原本花了好幾年試圖推算合理的成本,但採取傳統的專案管理工具,無法計算因為設計變更導致的一連串效應所造成的影響。後來找顧問公司,採用system dynamics的方式來建立模型,模型中包含了數千個方程式,推算出合理的成本。美國海軍認為Ingalls為了自己的利益而調整模型及參數,因此採取不信任的態度,也試圖說服法院不把模型作為推論的依據。但當美國海軍以自認有利的方式調整了模型的參數,結果反而是對自己不利的,瞭解模型的複雜度,以及實際上不可能為了特定的目的去操弄模型,開始接受模型的有效性。在1978年,雙方合解,美國海軍賠償了447萬美元。

成功導入系統動力學(system dynamics)的原則:

1. 為了解決特定問題而建立模型(modeling)。不要試圖為某個系統建立通用的模型。

2. 在計劃開始時,就應該把模型整合進來,並且專注在如何把模型套用在執行層面。。

3. 對於模型的價值要保持懷疑的態度,在專案開始時,就要討論清楚為什麼需要模型。

4. 系統動力學並不是獨立存在。需要善用其他的工具及方法搭配之。

5. 要讓模型發揮最大的效益,需要客戶及顧問共同進行持續反覆地討論。

6. 儘早建立初步的模型並開始運用。有必要時,再加入更多的細節。

7. 模型的適用範圍比細節重要。重要的是參數間的交互作用。

Chapter 3 The Modeling Process

建立模型的步驟:

1. Problem Articulation (Boundary Selection)

Theme Selection
Key variables
Time horizon: 應該儘可能地回溯到過去,以便呈現問題是如何浮現出來的以及其症狀;也應該儘可能地延伸到未來,以便觀察延遲效應以及決策造成的間接效應。
Dynamic problem definition (reference modes: 圖表及其他資料,用以呈現問題如何隨著時間而變化。)

2. Formulation of Dynamic Hypothesis

Initial hypothesis generation
Endogenous (arising from within) focus
Mapping System Structure

Model boundary diagrams: 藉由列出系統內部的變數(endogenous)、系統外部的變數(exogenous)、以及模型不包含的變數(excluded),總結模型的範圍。
Subsystem diagrams: 呈現模型的整體架構。
Causal loop diagrams (CLD): 呈現變數之間的關連性。重點在feedback structure。
Stock and flow maps: 追蹤變數的累積量。重點在系統內部的physical structure。 stock: inventories. flow: rate of increase or decrease in stocks.
Policy structure diagrams: 呈現因果結構(causal structure)及特定決策的時間延遲效應。
Other facilitation tools

3. Formulation of a Simulation Model

Specification of structure, decision rules.
Estimation of parameters, behavioal relationships, and initial conditions.
Tests for consistency with the purpose and boundary.

4. Testing

Comparison to reference modes
Robustness under extreme conditions
Sensitivity: how does the model behave given uncertainty in parameters, initial conditions, model boundary, and aggregation?

5. Policy Design and Evaluation

Scenario specification
Policy design: create entirely new strategies, structures, and decision rules.
"What if ..." analysis
Sensitivity analysis
Interactions of policies

Chapter 4 Structure and Behavior of Dynamic Systems

建模者可觀察系統的行為,推測出背後的可能結構。

Fundamental Modes of Dynamic Behavior

指數成長 Exponential Growth

Positive feedback loops.

指數成長。

舉例:複利、人口成長。

特性:每次數量加倍的時間是固定的。

ExponentialGrowth1

ExponentialGrowth2

目標追蹤 Goal Seeking

Negative feedback loops.

達到穩定態、平衡態。

特性:當系統狀態和目標的差距變小時,系統狀態的變化率會隨之變小。

GoalSeeking1

GoalSeeking2

振盪 Oscillation

Negative feedback loops.

因為時間延遲(觀察到系統狀態改變的時間延遲、從觀察到系統狀態改變到採取修正行動的時間延遲、從採取修正行動到修正行動發生效用的時間延遲),導致overshoot及undershoot.

Oscillation1

Oscillation2

Interactions of the Fundamental Modes

S-shaped Growth

起初呈指數成長(positive feedback loop dominates),到了轉折點之後(negative feedback loop dominates),因為每人可用的資源變少,成長逐漸緩慢,直到系統達到平衡狀態。

假設條件:Carrying Capacity是固定的。

S_ShapepGrowth1

S-Shaped Growth with Overshoot

在negative feedback loop存在時間延遲,因此在接近平衡態之後,呈現overshoot及oscillation的效應。

S_ShapedGrowthWithOvershoot

Overshoot and Collapse

起初呈指數成長(positive feedback loop dominates)。隨著成長,兩個negative feedback力量逐漸增強,減少每人可用的資源,同時也減少整體可用的資源。

當Net Increase降為0時,系統達到最高點。隨後開始衰退,剩餘的人口持續消耗Carrying Capacity,每人可用的資源持續不足,人口持續下降。

如果Carrying Capacity無法恢復,系統的平衡態會是0;如果Carrying Capacity可以恢復,則可以維持在某個非0的平衡態。

OvershootAndCollapse1

Other Modes of Behavior

Stasis, or Equilibrium

可能的成因:

1. 對於觀測的時間尺度內,變化率太慢

2. negative feedback作用特強

Randomness

大部份的情況是由於觀察者的無知,而不是系統的本質。

也有例外,例如量子力學,基本粒子的運動是random,無法預測的。

有時,random noise會激發系統潛伏的行為模式。

Chaos

特性:不規律的波動、對初始狀態非常敏感。

Chapter 5 Causal Loop Diagrams

X → +Y

All else equal, if X increases (decreases), then Y increases (decreases) above (below) what it otherwise would have been.

In the case of accumulations, X adds to Y.

X → -Y

All else equal, if X increases (decreases), then Y decreases (increases) below (above) what if otherwise would have been.

In the case of accumulations, X subtracts from Y.

Determining Loop Polarity

快速的判斷方式(The Fast Way)

如果有奇數個negative link,則loop是negative;如果有偶數個negative link, 則loop是positive。

缺點:如果link的正負號判斷錯誤,這個方法就會失效。

正確的判斷方式(The Right Way)

在loop內,trace變數改變造成的結果,如果最後的結果造成此變數同方向的改變,則loop是positive;如果最後的結果造成此變數反方向的改變,則loop是positive。

優點:可以檢查出link的正負號是否判斷錯誤。

All Links Should Have Unambiguous Polarities

有時候,我們會說,某個link可能是正號或負號,視其他變數或系統的狀態而定。

通常,這表示這兩個變數之間,存在不只一個link/loop。

Name Your Loops

為loop命名,有助於理解及討論。當系統有多個loop時,也較容易標明目前在討論哪一個loop。

Variable Names

應該以名詞名詞片語為變數命名。

變數的命名必須使得增加或減少的意義是明確的。

變數名的意含應該與正號方向的意義一致。舉例來說,如果變數命名為不快樂,不快樂增加或不快樂減少,是較不容易理解的;不如把變數命名為快樂,快樂減少或快樂增加,是比較容易理解的。

Indicate Important Delays in Causal Links

Distinguish between Actual and Perceived Conditions

在適當的地方加入時間延遲的因素。

Chapter 6 Stocks and Flows

StockAndFlowDiagram1

Stock對dynamics的影響:

1. Stock描繪系統的狀態,並成為行動的依據。

2. Stock為系統提供了慣性及記憶。

3. Stock是時間延遲的來源。

4. Stock吸收flow的變化,並造成不平衡的動態。在平衡狀態,inflow等於outflow,使得stock維持不變。但大部份的情況,inflow和outflow由不同的單位決定,因此往往是有差異的。如此,系統就注定不可能處於穩定的平衡態。

Chapter 7 Dynamics of Stocks and Flows

Static and Dynamic Equilibrium

當stock維持不變,stock處於平衡狀態。

當系統中的每個stock維持不變,系統處於平衡狀態。

當inflow等於outflow,且不等於0,是動態平衡。

當inflow等於outflow,且等於0,是靜態平衡。

Chapter 8 Closing the Loop: Dynamics of Simple Structures

本章講linear first-order system。

order: 系統內的state variable(即stock)的個數。

linear: net inflow是state variable的線性組合。

Positive Feedback and Exponential Growth

FirstOrderLinearPositiveFeedbackSystem1

Negative Feedback and Exponential Decay

FirstOrderLinearNegativeFeedbackSystem1

 

參考資料