Leo Yeh's Blog

SAS 優化研究 (4)

教學目標

初步了解如何進行 SAS 優化研究的實作練習和實務應用之基本概念。

重點概念

首先若我們想了解 SAS Optimization 和如何充分利用 SAS 進行優化研究,則除了透過 SAS 程式碼之外,我們更能夠像使用開源程式碼一樣輕鬆地使用開源技術與 SAS 技術進行互動,並且在進行優化的過程中我們能夠將開源程式碼和 SAS 環境部署為容器,並且僅透過與 Python 程式碼來使用 SAS 優化的功能,像是我們能夠透過 SAS 優化的功能為企業組織帶來最大利潤的行銷策略,更多實作練習資訊,請參考官方部落格文章

接著除了透過 SAS Optimization 為企業組織帶來最大利潤的行銷策略的實作練習之外,我們還有透過 SAS 優化的功能進行哪些實作練習,此時建議參考「SAS/OR 15.1 User’s Guide: Mathematical Programming Examples」官方文件。其中主要包括 H. Paul Williams 的經典著作「Model Building in Mathematical Programming」專業書籍中的所有 29 個範例,像是食物製造工廠規劃農場規劃經濟規劃市場共享人力資源、… 等優化研究的實務應用範例,對於每個範例皆能夠使用 SAS Optimization 中的 OPTMODEL 程序來解決問題,至於每個範例主要包含五個部分,分別為:

  1. 問題陳述:主要逐字重複問題描述,其中包括所有表格和數字。
  2. 數學公式:主要描述問題的一種公式的索引集,參數,決策變數,目標和約束。
  3. 輸入資料:主要建立要由 OPTMODEL 程序使用的輸入資料集和相關變數。
  4. 模型程序:主要討論 OPTMODEL 程序的宣告和參數,讀取資料,數學公式,並且輸出解決方案。
  5. 其它功能:主要列出本範例中重要的 OPTMODEL 程序的功能。

再來除了透過 SAS 程式碼以 SAS 優化的功能進行實作練習之外,是否能夠透過 Python 程式碼以 SAS 優化的功能進行實作練習呢?答案是肯定的,我們主要先學習 Python 軟體套件,套件名稱為 sasoptpy,其主要為 SAS/OR 優化求解器提供了建立優化模型的介面,並且為使用者提供了一種快速的方法來部署優化模型並使用SAS Viya Optimization Action Set 的解決方案,其中 sasoptpy 可以用於處理線性優化,混合整數線性優化和非線性優化問題。更進一步我們就能夠透過官方網站所提供的 sasoptpy 套件範例教學,其主要透過 Python 程式碼以 SAS 優化的功能進行實作練習,像是腎臟交換婚禮規劃運動分析… 等優化研究實務應用的範例。

最後在於企業組織的解決方案應用方面,也能夠透過 SAS Optimization 進行數學優化的方法找到基於風險的客戶風險評級模型的最佳模型參數,這種資料驅動方法的好處主要為使用數學而不是依靠專家意見可以將能夠證明並確信所使用的模型參數是有效且合理地最佳的,同時適用於大量的資料,當資料越多時,則越適合模型參數,以利更深入的優化,如果有足夠的資料就能夠在優化過程成生合理的模型參數,更多實務應用資訊,請參考官方部落格文章。此外若沒有練習環境,則建議申請免費試用 14 天的「SAS Optimization on SAS Viya」線上練習環境,並且能夠參考「學習 SAS 平台」書籍中「優化研究」的開始使用 Step by Step 圖文說明進行實機操作應用。

相關資源

⬅️ Go back