跳到主要內容

OR|作業研究與系統模擬


由於工作的因素,需要對公司內部其他單位,進行作業研究(Operation Research,以下簡稱 OR)相關技術的教育訓練與應用推廣。過去,我就寫了兩篇關於 OR 的簡介文章存放於這個部落格當中:

  1. OR | 作業研究與資料科學 其一
  2. OR | 作業研究與資料科學 其二

OR 的專門技術包山包海,又以所謂的「數學規劃」(Mathematical Programming)最具代表性。而談到數學規劃,就不得不談到另外一門重要的分支技術:「系統模擬」(Simulation)。數年前我還在碩士班修讀【系統模擬】這門課的時候,也寫過一篇簡介文章。


在台灣的 Simulation 課程

在台灣國內的工業工程、運輸管理、土木工程等等科系的大學部課程當中,一般都會有完整上下兩個學期的 OR 必修課程。大學部的學生們通常會在這個時候認識數學規劃。而對於大部分的授課教師而言,能夠在一個學年當中讓學生們認識並熟練主要的數學規劃方法,通常已經是很了不起的成就了。
但是 Simulation 的部份,即便有在 OR 的教科書當中出現,通常也會是被放在非常後面的章節,一般的大學部 OR 課程根本教不到那麼後面去。所以,Simulation 通常會是在大學部的高年級、或者碩博班的選修課當中獨立開一門課出來。


# Simulation 的建模構成

在一個 Simulation 的模型當中,通常由以下理論方法構成:機率與統計、實驗設計、隨機過程、賽局理論、等候理論、排程理論、動態規劃、邏輯引擎、線性與非線性方程…… 如果你是一名學過 OR 的大學生,應當多少聽過上述這些名詞。實際上,一個數學最佳化的模型,通常就是上述某幾項的理論綜合應用。從基礎理論的構成要素來看,數學規劃與 Simulation 根本是親兄弟姊妹的概念。

# 系統模擬與它相似的朋友們

而實務上,系統模擬與數學規劃經常是相輔相成的存在,只是透過不同的途徑,來達成決策輔助的目的,但是對於非相關背景的一般人而言,通常很容易把這兩者搞混,尤其幾個相關詞彙:
Optimization、Simulation、Systems modeling、Scientific modelling、Mathematical model、Computational modeling…… 
你不覺得他們根本就有個 87 成像嗎?以下就透過對照表格的方式,來讓各位更加理解數學規劃與系統模擬的相同與差異之處。

最佳化 OR/MS系統模擬 Simulation
主要
功能
針對已知的系統情境,尋求一組
明確的最佳解,且該結果具有的
可解釋性。模型的運算結果,
通常是決策者所欲求的「答案」
觀察並比較不同的假設情境下,
系統隨著時間遞移的變化。其模擬
結果通常是決策者的「參考依據」。或者用於最佳化建模的結果驗證
適用的
問題情境
系統當中的變數與參數
通常為已知且不具隨機性
系統當中存在隨機性,且難以
將隨機性排除於模擬或者求解過程
方法的
特色優缺
幾乎能保證正最佳解,但
運算成本對求解問題複雜度
的非常敏感。
對決策者的執行風險較低。
但是亦難以驗證模擬結果
的「真實性」。
合適的
決策問題
複雜度
規劃求解的運算成本,
隨著問題規模與複雜度,
呈指數型的變化。
模擬的運算成本主受到
模擬的時間長度的影響,
問題的規模與複雜度,
對運算成本的影響相對小。
合適的
決策規劃
時間規模
通常是單期的規劃求解,
但也能擴展成連續多期
的最佳化求解問題。
通常用於連續一段時間
的模擬分析。
無論短、中、長期的決策問題皆可使用,但一般而言,
兩者皆用於中, 長期的決策規劃。
模型建構
難易度
相對困難,因為各項變數與參數
須經過有條理的設定,限制式
的制定亦須符合真實或假設的
限制,才能求得最佳解。
相對簡單,雖然亦可以
設定模型當中的變數與
參數範圍及關連,但此部份
並非系統模擬的建模重點
模型修正
難易度
相對簡單。因通常能夠明確
知道該如何調整模型當中的變數、
參數、目標函數、與限制式等等
相對困難。由於模型存在隨機性,
故較難確認該從哪個環節來修正模型
模型結構的
可理解性
兩者的模型結構,通常都具備高度可理解性。
但模型的成效好壞以及模型結構的可理解性,十分仰賴
與領域專家與需求方的密切合作。
運算結果的
可解釋性
運算結果具有高度
可解釋性。
由於模型存在隨機性,運算結果的
可解釋性相對較低。但是在模擬時間
夠長、且相關情境參數皆貼近真實情境的情況下,可解釋性仍高。

以上表格內容,整理自作者的自己的求學與業界經驗。若有疑惑之處,歡迎來訊討論!