跳到主要內容

發表文章

目前顯示的是 10月, 2020的文章

OR|作業研究與資料科學 其一

『 作業研究(Operations Research,OR),是一門應用數學學科,其是利用統計學,數學模型和資料科學等方法,去尋找複雜問題中的最佳或近似最佳的解答。作業研究經常用於解決現實生活中的複雜問題,特別是改善或優化現有系統的效率。 』 Photo source :  Data Science Milan 上面這一段文字,是源自「 作業研究 」(以下簡稱為 OR)的中文維基百科的首段文字介紹,乍看之下,OR 跟資料科學(Data Science,以下簡稱為 DS)看起來似乎很雷同?都是將資料扔進各種數學工具當中,藉以解決一些困難的問題。 大方向而言的確如此,但兩者在目的與手段上仍存有一些差異,因此,我們就來聊聊兩者之間的同異之處。本文將先從「目的」的部份談起,並且先聚焦在 OR 的部分。 # 最佳化 我們回顧一下維基百科的那段描述: 『 它是利用統計學,數學模型和資料科學等方法,去尋找複雜問題中的最佳或近似最佳的解答。 』 這段描述當中,直接把 DS 給含括在 OR 裡面了,但是有個關鍵字:「最佳」。在相關學術及應用領域當中,OR 的問題,往往也被稱作「 最佳化 」(Optimization)的問題, 要最佳化什麼呢? 利潤、成本、時間、距離、或者 任何可以被明確定義的計量單位。 舉一些更完整的例子: 「求解一個物流配送車輛的路徑最佳化問題,使其移動的距離或者花費的時間 最小化 。」 「求解一間新開設的電信門市店址選擇問題,使其能夠涵蓋的服務範圍 最大化 。」 「求解一個家航空公司的機組人員排班問題,使其人力成本 最小化 。」 # 目標與限制 這些需要被「最佳化」的東西,就可以被轉譯成一堆數學公式,對應到各種的應用情境,它們就可能利潤函數、成本函數、距離函數等等,在 OR 當中,通通被稱作為「目標函數」。 但是 OR 當然不是只有目標函數,另一個重要的東西就作「限制式」,或被稱作「約束條件」(Constraints)以上述的例子來說,在求解物流配送車的路徑最佳化問題時,可能要滿足至少要送達多少個配送地點、或者要考慮到配送地點的先後順序。求解家航空公司的機組人員排班問題時,除了最小化成本之外,還須考慮到排班結果必須符合勞基法。 這些限制式亦會被轉譯成一堆數學公式,在求解目標函數的時候,一並納入。以數學的角度來說,也就是將這些條件化做各種變數,並限制其值域、變數類