清華大學肖勇波教授
1. 運籌優化學習資料整理——從小白到入坑
為了幫助剛接觸運籌優化的朋友們更好地入門並深入學習,我整理了一些適合新手的資源和建議。主要分為四部分:啟發式演算法、精確解演算法、機器學習演算法入門和編程與計算機基礎。希望以下內容能成為你學習路上的指南。
### 啟發式演算法
為了讓你更容易上手,我推薦以下資源:
- **書籍**:《matlab智能演算法30個案例分析》和《現代優化技術》。這兩本書講解了演算法實現,適合新手學習。
- **在線課程**:香港中文大學和墨爾本大學合辦的「離散優化建模」課程,通過Coursera平台提供。課程內容通俗易懂,特別推薦「從局部搜索到大鄰域搜索」的部分。
- **公眾號**:推薦「數據魔術師」和「運籌OR帷幄」這兩個公眾號。它們提供了豐富的學習資源,涵蓋啟發式演算法、精確解演算法、機器學習演算法等。
### 精確解演算法
學習精確解演算法,可以參考以下資源:
- **經典教材**:《整數規劃》(孫小玲老師)、《凸優化》(Stephen Boyd,王書寧譯)、《運籌學》(清華大學肖勇波老師譯)、《線性與非線性規劃》(葉蔭宇老師)。適合初學者入門。
- **網課推薦**:台灣交通大學孫小玲老師和方述誠老師的課程,以及中科大的凸優化網課。
學習過程中,直接使用求解器(如cplex和gurobi)來實現精確解演算法,需要重點關注模型分解技巧,如列生成、Benders分解、分支定價等。這些技巧對於處理大規模優化問題尤為關鍵。
### 機器學習演算法入門
對於機器學習演算法入門,可以參考以下資源:
- 經典書籍:《統計學習方法》(李航)、《西瓜書》(周志華)、《深度學習花書》。
除了書籍,還可以參考在線資源,例如《機器學習與深度學習》系列教程、唐宇迪的《python數據分析與機器學習實戰》等。
### 編程與計算機基礎
編程與計算機基礎的建議如下:
- **網課**:慕課網提供編程必備基礎知識課程。
- **刷題平台**:牛客網和LeetCode等平台提供題庫,如劍指offer的78道題、LeetCode的常見數據結構與演算法題等。
建議選擇一門編譯性語言(如C++)和一門腳本語言(如Python)作為學習重點。C++運行速度快,適合編寫演算法,而Python則方便調用求解器和機器學習庫。
運籌優化領域正在不斷發展,雖然資源可能不如其他熱門領域豐富,但通過上述資源和建議,相信你能夠順利入門並深入學習。歡迎各路大佬分享更多資源和經驗,幫助更多人加入運籌優化的行列!