清华大学肖勇波教授
1. 运筹优化学习资料整理——从小白到入坑
为了帮助刚接触运筹优化的朋友们更好地入门并深入学习,我整理了一些适合新手的资源和建议。主要分为四部分:启发式算法、精确解算法、机器学习算法入门和编程与计算机基础。希望以下内容能成为你学习路上的指南。
### 启发式算法
为了让你更容易上手,我推荐以下资源:
- **书籍**:《matlab智能算法30个案例分析》和《现代优化技术》。这两本书讲解了算法实现,适合新手学习。
- **在线课程**:香港中文大学和墨尔本大学合办的“离散优化建模”课程,通过Coursera平台提供。课程内容通俗易懂,特别推荐“从局部搜索到大邻域搜索”的部分。
- **公众号**:推荐“数据魔术师”和“运筹OR帷幄”这两个公众号。它们提供了丰富的学习资源,涵盖启发式算法、精确解算法、机器学习算法等。
### 精确解算法
学习精确解算法,可以参考以下资源:
- **经典教材**:《整数规划》(孙小玲老师)、《凸优化》(Stephen Boyd,王书宁译)、《运筹学》(清华大学肖勇波老师译)、《线性与非线性规划》(叶荫宇老师)。适合初学者入门。
- **网课推荐**:台湾交通大学孙小玲老师和方述诚老师的课程,以及中科大的凸优化网课。
学习过程中,直接使用求解器(如cplex和gurobi)来实现精确解算法,需要重点关注模型分解技巧,如列生成、Benders分解、分支定价等。这些技巧对于处理大规模优化问题尤为关键。
### 机器学习算法入门
对于机器学习算法入门,可以参考以下资源:
- 经典书籍:《统计学习方法》(李航)、《西瓜书》(周志华)、《深度学习花书》。
除了书籍,还可以参考在线资源,例如《机器学习与深度学习》系列教程、唐宇迪的《python数据分析与机器学习实战》等。
### 编程与计算机基础
编程与计算机基础的建议如下:
- **网课**:慕课网提供编程必备基础知识课程。
- **刷题平台**:牛客网和LeetCode等平台提供题库,如剑指offer的78道题、LeetCode的常见数据结构与算法题等。
建议选择一门编译性语言(如C++)和一门脚本语言(如Python)作为学习重点。C++运行速度快,适合编写算法,而Python则方便调用求解器和机器学习库。
运筹优化领域正在不断发展,虽然资源可能不如其他热门领域丰富,但通过上述资源和建议,相信你能够顺利入门并深入学习。欢迎各路大佬分享更多资源和经验,帮助更多人加入运筹优化的行列!