基础课程
- 微积分
- 线性代数
- 编程语言(C,C++,Python等)
-
核心课程
线性规划(最核心课程)
- 非线性规划(机器学习应用广泛)
- 凸优化(工程系的必修课)
- 整数规划(决策问题中变量通常是整数,例如0,1变量)
- 网络流优化 (物流、电网、通讯网络应用)
-
高级课程
多目标优化
- 随机优化
- 鲁棒优化
- 启发式算法
- 近似算法
- 半正定规划等
以上通常是数学系下运筹学专业的必修和选修科目,工业工程、管理科学、物流工程、数据科学、
人工智能等偏应用的专业,可能会额外开一些该方向的偏实际应用的课程,例如管理信媳系统、生
产与运营管理、运营计划和控制、供应链管理、物流仓储技术等。
其次需要注意的是,数学系的课程往往偏理论,有时有非常多的数学证明和算法理论,如线性规划
的单纯型法,整数规划中的Total Unimodular和NP难问题的证明。对于偏运筹应用的学生来说,
则应把注意力放在数学建模以及优化软件的使用上。
数学建模指的是如何把一个实际问题转换成优化模型
例如我们用的GPS导航软件,从一地到另一地的最短路径问题,就是一个典型的运筹学问题。
该问题优化目标是找到最短的驾驶路径(或驾驶时间最短的路径),转化成优化模型时 ,约束条件往往有单行路段以及每条路段的限速等等(都可以写成严格的数学表达式)。
而该优化模型又是建立在一个更为广泛的优化模型(网络流模型Network Flow Problem)基础上的。
优化软件
优化软件(Optimization Solver)指的求解优化模型最优解的软件或算法库(Library) ,其中(混合)整数规划的求解器是最难开发的
面上Top 4求解器9依次为:
IBM Cplex,Gurobi,FICO Xpress,ZIB SCIP。
前三个为商业软件,后一个为柏林ZIB Institute开发的开源软件,但是这四个用作学术或科研用途都是免费的。
除了四个整数规划的求解器,线性规划的求解器有Lindo, Lingo,等等。
非线性规划、二次规划、启发式算法等问题有许多开源软件,另外还有AMPL和GAMS这些商业软件,他们把绝大多数求解器集成在一起并且简易化他们的使用。
推荐俩个网站NEOS Solver和COIN-OR,它们汇总了绝大多数的开源优化软件。