Fork me on GitHub

【布道师系列】周晓凌——乘风而来,利用数据科学平台解决运筹学问题

DataCanvas布道师团队成员

首席解决方案架构师

周晓凌

此番呈上

利用数据科学平台解决运筹学问题

不仅仅是机器学习

近年来机器学习与深度学习快速发展,极大地吸引了人们的眼球,甚至有将人工智能(AI)等价于深度学习的趋势。然而人工智能的范畴相较于机器学习与深度学习要大得多,吴恩达在其深度学习课程中指出,除了人们熟知的机器学习Machine Learning和深度学习Deep Learning,人工智能还包含了概率图模型Probabilistic Graphical Models、运筹学Operations Research与组合优化Combinatorial Optimization、知识表达Knowledge Representation,搜索Search,时间序列分析Time Series Analysis等领域。

这些技术之间并不是完全孤立的,它们在不同场景下也会交织组合,比如:

  1. 从某种微观角度来看各种深度学习和机器学习的网络和模型结构就是概率图的模型结构;
  2. 将组合优化问题或者知识表达问题的传统方法与深度学习方法相结合,比如图神经网络GNN;
  3. 贝叶斯深度神经网络本身就是统计机器学习、深度学习与图模型的结合;
  4. 著名的AlphaGo主要使用了深度学习和基于树的搜索技术。

本文主要介绍一下DataCanvas在运筹学上的一些应用。

运筹学的研究对象

运筹学的研究目标是运用数学工具解决包含大量决策变量的复杂问题,其过程是先确定业务目标与约束条件,制定方案,建立模型并制定解法。如机器学习一样,运筹学也形成了一些抽象模型可以解决实际问题。运筹学是一个略大的概念,线性规划、非线性规划、整数规划、组合最优化、图论、网络流、决策分析、排队论、可靠性数学理论、库存论、博弈论、搜索论以及模拟等都是运筹学的分支。

运筹学的应用领域

运筹学广泛运用在生产生活领域中,人们的购物、出行、外卖、医疗等等,企业的生产计划、人力调度、运输安排、设备维修等等都应用了运筹学相关的技术,下面举几个实际例子。

1、电力行业

电力行业广泛的使用优化技术来优化其物资管理,人员安排、电网调度等场景。

DataCanvas的某个用户利用APS构建起面向电网仿真分析的模型管理工具。除了大规模开发训练并管理其机器学习模型之外,他们还要解决电网的最优潮流问题,提供潮流与暂态稳定仿真结果,保证整个电力系统的损耗最小,实现AI辅助的调度中心调控。结合机器学习与运筹学技术,通过模型与数据双驱动技术解决潮流收敛的难题,在TB级仿真数据上实现了高速仿真计算。此外他们通过APS实现混合整数非线性规划,为电网提供负荷控制、线路维护、发电机组的停机/启动等方案。

2、航空业

航空业也存在大量的组合优化的场景,DataCanvas的航空合作伙伴利用APS实现定价与收益管理,即在合适的时间将合适的产品以合适的价格推荐给合适的客户,航空客户需要评估客座率、客公里数、座公里数、平均折扣、仓位等级,同时考虑需求预测、超售管理、座位控制、竞争分析等指标作出最优的决策,更好的细分旅客、差别定价、响应竞争、增加收益。该合作伙伴为航司提供1-5%的整体收入增加。

另一个项目是机场航线停靠优化,某机场修建T3号航站楼并即将交付使用,根据各航空公司的计划书,三个航站楼预计新增25%的航路,需要针对各航空公司的等级,班次,起降时间段,起降线路,停靠时间,停靠点,花费预算等重新制定起降和停靠的可选时间段,可用时间段,停靠点,停靠费用进行分析建模,为各航空公司提供一份优化方案。该企业利用运筹学技术在优化现有航线的基础上根据各航空公司计划需求进行扩容升级,满足25%的新增航线预期,实现每周近8000个航班,飞往全球380个城市,平均90秒就有一个航班起降的总体目标。同时为各航空公司制定包含班次,航线,起降时间,停靠时间,停靠点在内的优化方案。

3、制造企业

DataCanvas的客户运用APS实现制造企业的排班、排程、调度决策优化场景。其中的排班问题不仅仅在制造型企业,在如医院的护士排班、航空公司的机组排班、呼叫中心的坐席排班、审计部门的审计排班场景下都有应用。确定人员排班的商业目标,获取工作量输出、劳动法与人员技能、产线要求、班次安排等外部条件,自动产生最优的班表。实施排班模型后,企业能比较稳定的实现提升效率,降低成本、提升员工满意度的目的,并且对HR的招聘与技能储备也能提供一部分指导建议。

此外制造与物流企业的物流运输车辆智能调度系统、产线排程系统、仓储堆场管理系统、库存管理系统都将运用到相关技术。

常用的算法

由于运筹涉及场景多,存在大量的方法解决不同的问题,传统解决方法有:

  1. 规划模型,考虑到实际问题的复杂程度,常为非线性规划模型或者混合整数规划模型。对于规划模型的求解方法有很多,比如商用求解器CPLEX,Gurobi或一些开源求解器等,以及分支定界算法、Benders分解法、列生成法、拉格朗日松弛法等经典求解方法。
  2. 动态规划,在求解隐马尔科夫、条件随机场的预测以及seq2seq模型的概率计算等中应用的Veterbi算法就是经典的动态规划算法。
  3. 启发式算法,启发式算法主要分为两类,一类是对业务知识直接建模的方法,比如贪婪算法(Greedy Algorithm)就是经典的启发式算法,对这一类启发式算法的求解经常使用邻域搜索(Local Search),禁忌搜索(Tabu Search),迭代前向搜索等(Iterative Forward Search)技术。另一类启发式算法又称智能算法,如遗传算法(Genetic Algorithm),模拟退火算法(Simulated Annealing Algorithm),蚁群算法(Ant Colony Algorithm),粒子群优化算法(Particle Swarm Optimization)等。
  4. 图论方法,我们可以将问题转化为图或网络上的问题,运用图论的经典方法进行求解,如转化为求解最小生成树问题,最短路问题,最大匹配问题或者网络流上的最小费用流问题等。

上述抽象的方法均可以用于解决具体问题,以排班问题为例,常见的算法如下:

使用DataCanvas的优势

DataCanvas提供一个平台解决AI模型的开发、训练、服务生产化的目标,利用APS将原先固化在业务系统的模型解放出来,作为一个可独立升级并提供系统外模型调用的服务组件形式存在,成为新的智能应用的架构之一。同时在这个架构上可以组合多种跨领域的人工智能技术,并运用大规模并行计算能力、GPU集群算力解决复杂的业务问题。


本文地址:https://www.6aiq.com/article/1594207338189
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出