运筹学 — 概述

概述

  • 概述
  • 主要研究人类对各种资源的运用及筹划,在满足一定约束的条件下,以期发挥有限资源的最大效益,达到总体最优的目标--所谓运筹帷幄
  • 最初由钱学森老先生引入中国,据说最开始的用途是优化航空/军工等领域。
  • 别名
  • 数学规划 (math programming)、优化 (optimization)、最优化理论、决策科学(Decision Science)等。
  • 历史An Annotated Timeline of Operations Research - An Informal History | Saul I. Gass
  • 1979年
  • 电子表格和OR插件问世
  • 世界上第一个电子表格软件VisiCalc于1979年10月问世,从那时起,OR相关插件也被引进,可以做例如线性、非线性和整数规划。随后,Excel、Lotus和Quattro Pro等电子表格也引入OR插件。
  • Computers and Intractability; A Guide to the Theory of NP-Completeness 巨著问世
  • 整数规划等问题被归类到NP难问题。
  • 1980年
  • Constraint Programming 引起运筹学重视
  • 源于计算机科学和人工智能领域,被发现可以用来高效地求解优化问题,特别是排序和调度问题。
  • Total Unimodular矩阵的分解定理
  • TU矩阵被证明有很好的性质,当整数规划的系数矩阵为TU并且系数为整数时,其线性规划松弛解被证明与原问题等价(即多项式时间可解)。
  • LINDO软件问世
  • LINDO软件由Linus E. Schrage主要开发,可以解线性及整数规划问题。
  • 1981年
  • 模拟褪火(Simulated annealing)算法面世
  • 该算法是以统计物理为原理的优化算法,用来解决NP难的组合优化问题。
  • 分离问题(Separation Problem)和优化问题的等价性
  • 定理概述:如果分离问题可以被多项式时间可解,那么原优化问题也是。
  • 1982年
  • 数学建模软件GAMS面世
  • 优化求解器在此之前已经存在,但是需要较深的运筹学背景才能高效使用。由J. Bisschop研发的GAMS解决了这一痛点,让运筹学建模平民化。
  • 单纯型法(Simplex method)的平均运算时间
  • 虽然单纯型法是一种指数级复杂度的算法,但是在实际使用中被发现特别高效。
  • 1984年
  • 线性规划经典算法内点法(interior method)的证明
  • 不同于单纯型法从一个极点跳到另一个极点,内点法从多面体的内部点进行搜索。
  • 神经网络模型(Neural networks)被用来解优化问题
  • NN被J.J. Hopfield和D.W. Tank用来解决组合优化经典问题旅行商问题(Travelling Salesman Problem)。
  • 1985年
  • 组合优化经典算法:分支分割法(Branch and cut)被世人熟知
  • M. Padberg和他的共同作者证明B&C方法是解决旅行商问题最promising的方法。
  • 1986年
  • 元启发经典算法Tabu search问世
  • 这个算法不断得修改搜索区域以试图跳出局部最优解,由Fred Glover在1986年的论文率先提出了该名词“Tabu search”。
  • Theory of Linear and Integer Programming著作问世
  • 1989年
  • 供应链管理(Supply chain management)及运筹学的作用被世人熟知
  • 运筹学顶刊之一的Informs Journal on Computing建刊
  • Stochastic modeling and the theory of queues, by R. W. WOE, Rentice Hall, Engle 出版
  • 随机优化和排队论的巨著。
  • 1990年
  • 运筹学在金融工程、市场的应用被熟知
  • 运筹学早就被应用于资产配置优化问题,但是数学规划和蒙特卡罗模拟等方法开始被应用于例如衍生品定价、交易策略、对冲基金策略等问题。
  • Operations Analysis in the United States Army Eighth Air Force in World War II (History of Mathematics) : Charles W. McArthur 著作问世
  • 1993-1994
  • NETWORK FLOWS Theory, Algorithms,and Applications 1993年问世
  • 网络流的经典教材,作者James B. Orlin, Ravindra K. Ahuja, and Thomas L. Magnanti,我在Clemson上该门课的参考书籍。
  • NEOS (Network-Enabled Optimization System) 1994年问世
  • NEOS是一个开源免费的网络优化系统,集合了众多优化求解器。
  • Markov Decision Processes: Discrete Stochastic Dynamic Programming 著作1994年问世
  • 1995-1996
  • ORSA和TIMS 于1995年合并为INFORMS
  • Scheduling - Theory, Algorithms, and Systems | Michael L. Pinedo 著作于1995年问世
  • Monte Carlo - Concepts, Algorithms, and Applications | George Fishman 于 1996年问世
  • 1999-2004
  • INFORMS旗下期刊Manufacturing & Service Operations于1999年建刊
  • Foundations of Inventory Management (January 24, 2000 edition)著作于2000年问世
  • Combinatorial Optimization - Polyhedra and Efficiency | Alexander Schrijver 著作于2003年问世
  • 2004年MIT运筹学中心(ORC)建立50周年

流程

  • 问题定义、搜集Data
  • 决策者
  • 目标
  • 限制
  • 建立数学模型
  • 决策变数
  • 目标函数
  • 限制条件
  • 发展解法
  • 有系统的求解过程
  • 测试修正
  • 解是否合理
  • 准备应用
  • 开发软件
  • 人事安排
  • 建立资料库
  • 正式实施

运筹学学科、专业

  • 数学系运筹学专业–(非)线性规划,整数规划,多目标优化,最优化理论等
  • 工商管理学院(School of Management)管理科学(Management Science)与工程专业–管理决策、供应链等
  • 工程学院工业工程(Industrial Engineering)、物流工程专业–生产流程优化、物流、运输等
  • 计算机学院理论计算机专业–偏算法方向,近似算法、遗传算法等
  • 另外电子工程,通信,化工,自动化等专业往往也会开凸优化或数值优化(Numerical Optimization)等课程

运筹学分支

  • 线性规划(Linear Programming)-- 最简单和基础的优化问题
  • 非线性规划 (Nonlinear Programming)–目标函数或约束条件为非线性,例如2次函数;
  • 凸优化 (Convex Optimization)–约束条件形成的可行域(feasible region)是凸的;
  • (混合)整数规划 (Mixed Integer Programming)–自变量有整数变量,NP难问题(指数级算法复杂度)。
  • 半正定规划 (Semi-definite Programming)–每一个自变量x代表一个矩阵;
  • 网络流问题(Network Flow Problems)–一个特殊的混合整数规划问题,满足一个节点流出流量=流入流(或许你听说过最大流最小割定理);
  • 动态规划(Dynamic Programming)、近似算法(Approximation Algorithms)、启发式算法(Heuristic Algorithms, Meta Heuristics)、遗传算法 (Genetic Algorithms)–用来解例如整数规划等NP难优化问题的算法,后俩个通常只能得到局部最优解,最经典的当属最大流最小割定理衍生出来的一些最大流算法(全局最优)。
  • 鲁棒优化(Robust Optimization)–目标函数或约束条件有扰动(不确定性)的情况下,求解其最坏情况下的最优解;
  • 多目标优化 (Muti-objective Optimization)–优化的目标函数是一个向量,通常通过引入权重权衡个目标函数,转化成单目标优化,或者寻找帕累托最优(Pareto Optimality) ;
  • 双层优化(Bilevel Optimization)–和复合函数的概念类似,比如Max-Min Problem,在一个优化问题外嵌套另一个优化问题,通常用迭代法;
  • 随机优化(Stochastic Programming)–加入了不确定的因素(通常以概率形式表现,目标函数变成求期望最大化);
  • 最优控制(Optimal Control):严格说属于控制论的范畴,可以简单地把它理解为,优化问题中的变量由x变为f(x),并且通常f是时间t的函数(或者状态state的函数),约束条件常有偏微分方程。也就是说,控制论期望通过解一个优化问题,得到一个最优的函数f(t),使得这个函数在全局(空间+时间)上是最优的。而运筹学通过解一个优化问题,得到的是最优解x,使得目标函数在一个确定性(deterministic,通常与t无关,或者可以理解为在t的某一时刻)的环境下是最优的。

应用

  • 路径优化问题(Routing Problem)–交通领域(GPS导航)
  • 仓储、运输等物流(Logistics)以及供应链(Supply chain)领域
  • 制造业里的生产流程优化(Process Optimization)
  • 电力领域的电网的布局以及分配(Power Grid)
  • 电子工程里的设施部件分配问题(Facility Layout Problem)
  • 能源领域的优化,如:如何铺设输油管道
  • 火车、课程、飞机时刻表安排问题等调度问题 (Scheduling Problem)
  • 资产配置 (Asset Allocation)、风险控制 (risk management)等经济金融领域的应用;
  • 作为优化或运筹学模型,在其他各个学科的应用,如统计、生物、博弈论、压缩感知(近十年很火)、稀疏问题、人工智能(能量函数能量最小化)等等;

运筹学的就业

  • 滴滴算法工程师(高精尖高薪)–车辆路径规划及叫车资源匹配和调度;
  • 顺丰、京东物流工程师(高精尖高薪)–仓储问题、快递寄送问题;
  • 投资银行、大型企业工程师–资产配置、成本优化、利润最大化;
  • 国家电网、中石油技术工程师–电力调度、石油管道最优化铺设;
  • 铁路、航空公司–时刻表安排、定价策略、航班安排;