- 數學建模:算法與編程實現
- 張敬信等編著
- 843字
- 2022-11-23 17:01:38
1.2 數學建模算法與實現
1.2.1 數學建模算法分類
數學建模算法非常之多,大體上可以分為八類。
(1)規劃模型
線性規劃、整數規劃、非線性規劃、目標規劃、二次規劃、多目標規劃、動態規劃等。
(2)評價模型
層次分析法、模糊綜合評價、熵權法、TOPSIS法、灰色關聯分析、秩和比法、數據包絡分析等。
(3)預測模型
回歸模型、曲線擬合、灰色預測、時間序列分析、(隱)馬爾可夫預測等。
(4)動態模型
微分方程模型、差分方程模型、偏微分方程模型、蒙特卡羅模擬、元胞自動機、排隊論等。
(5)圖論
最短路徑、最小生成樹、最小費用最大流、指派問題、旅行商問題、社會網絡分析等。
(6)統計分析
分布檢驗、T檢驗、方差/協方差分析、相關分析、卡方檢驗、秩和檢驗、回歸分析、結構方程、聚類分析、判別分析等。
(7)智能優化算法
模擬退火、遺傳算法、蟻群算法、粒子群算法等。
(8)機器學習算法
正則化回歸、Logistic回歸、決策樹、隨機森林、XGBoost、神經網絡、支持向量機、主題模型、關聯分析、深度學習等。
這些算法都可以用于數學建模,在學習和使用算法時,應首先理解算法的原理和適合解決的問題,切記:要根據所解決的具體問題選擇適用的算法,而不是一味地堆砌高大上的算法。
1.2.2 數學建模算法實現語言
軟件或編程語言是工具,應當根據自身的編程知識儲備來選擇合適的工具。
不同類型的算法適合用不同的軟件,大體來說:
●MATLAB(商業軟件)是公認的通用全能的數學建模軟件,近年來很多人也開始轉向免費開源的R語言、Python。
●Lingo(商業軟件)適合用來求解規劃模型、優化模型,最容易實現,代碼與模型公式基本一致;R語言、Python也提供了優化求解器方便接口。
●數據處理、統計分析,適合用R語言、Python或者SPSS。
●時間序列分析,適合用R語言、EViews、Python或者SPSS。
●智能優化算法,適合用MATLAB,或者Python、R語言也有擴展包可以實現。
●機器學習算法,適合用Python、R語言,深度學習適合用Python。
從商業軟件過渡到免費開源軟件是大勢所趨,我們也有計劃開發一個數學建模的R包,以“開發+整合”的方式實現各種常用的數學建模算法,從而降低數學建模領域對MATLAB的依賴。