摘要:华为云擎天调度与算法团队近日刷新PDPTW问题榜单中51项算例的世界最好记录。

华为云擎天调度与算法团队近日刷新PDPTW问题榜单中51项算例的世界最好记录。该榜单自1990年起由科学工业研究院SINTEF发起并管理,该机构被认为是运筹优化领域中VRP问题的全球最权威评测平台。

问题介绍

PDPTW问题属于VRP系列问题,也是经典的NP难问题,已被广泛研究超过50年。 与经典VRP问题相比,该问题扩展了更多的约束,求解难度也更高。 VRP系列问题,简单来讲,就是用来在图网络中寻找满足一系列约束情况下的最优路径问题。该系列问题在物流配送、航路规划、电路设计以及云计算等领域都有广泛应用。

VRP问题示意图

VRP系列问题都属于典型的NP难约束优化问题。 约束优化问题与工业场景优化关系非常密切,众多工业场景下的问题都可以建模为约束优化问题,如网络设计优化、码头作业调度、芯片设计布线、人员和时刻表排班、库存管理等。

什么是约束优化问题?

约束优化问题是一类数学最优化问题,它由目标函数以及与目标函数中的变量相关的约束条件两部分组成,优化过程则为在约束条件下最优化(最大化或最小化)目标函数。

太抽象?我们举个例子:

  • 给定一组物品,每种物品都有自己的重量和价格,在限定总重量的情况下,我们如何选择才能使得物品的总价格最高?这就是经典的背包问题。从约束优化角度来看,目标函数就是选择物品使得总价值最高;约束是不能超过“限定的总重量”,此外,还有一个隐含约束:每个物品都是一个整体,不能切分。
  • 在云场景下,我们同样面临着很多复杂的、大规模、多目标的NP难优化问题,如机型规划、弹性保障、资源/任务调度、资源整理、容量管理等,这些问题也可以建模为一个或多个约束优化问题的组合。背包问题和云上的虚拟机放置问题是同源问题,只是虚拟机放置问题的约束和目标会复杂得多。

求解这些约束优化问题有什么价值?

随着公有云规模越来越大,优化所能带来的价值也越来越高。单个云数据中心的物理主机规模可以达到百万数量级,云服务器规模可达数百万到千万台数量级。如果能够提升1%的资源分配率,这些资源就可以在高峰期为用户提供更强的弹性能力,为客户创造价值。

提升资源分配率仅仅是云场景优化问题中的冰山一角。这是一个庞大的系统层面的问题,其中包含了多种复杂的NP难约束优化问题。这些问题不仅出现在资源调度的层面,而是贯穿云资源的整个生命周期。

云上遇到的约束优化问题有多难?

云上面临的约束优化问题通常有规模大、约束复杂、多目标、NP-困难等特点。

随着问题规模的增大,求解该问题最优解的时间是非多项式级别(比如指数级)增长的,且是计算机无法承受的。

  • 规模大

云上面临的约束优化问题往往规模非常大,决策变量可高达上亿规模,并且通常是离散的组合优化问题而不是单纯的线性规划问题。这么大规模的组合优化问题,求解难度非常高,即使使用号称业界速度最快的商用求解器Gurobi也是无法直接求解的。

  • 约束多

公有云是一个复杂的系统,需要考虑很多复杂的实际约束。以资源调度场景为例,需要考虑的约束可能包括:NUMA结构问题,租户的亲和性与反亲和性、负载的亲和性与反亲和性、离线任务与在线任务的亲和性与反亲和性,生命周期的亲和性、机柜功率约束、故障域约束、网络QoS约束、散热约束、节省电力、SLA约束等等。如此多的约束会大大增加求解难度。

  • 动态性

相较于企业私有云,公有云的客户对资源弹性诉求更高,公有云运营商需要面对突发流量峰谷时急速扩容,弹性调度资源。然而急速弹性会为资源的调度与经营带来高动态性,这意味着求解的状态变化很快,对算法求解时间的要求也更为苛刻,求解时间过长则结果无意义。同时,这种动态性及随机性,使得算法在对解的优度进行评估时,还需避免当前的优化目标对未来的决策产生负面影响。

此外,随着公有云发展,新增了分布式、边缘节点自治、突发型实例等特性,这些都让问题的难度指数级增加。

我们的解决方案:面向云场景的约束规划问题优化求解引擎

为了解决云上遇到的此类复杂的约束优化问题,尤其是资源规划与调度相关问题,华为云擎天架构调度与算法团队设计了面向云场景的约束规划问题优化求解引擎

面向云场景的约束规划问题优化求解引擎的核心是基于元启发式搜索算法框架的,那么为什么我们选择元启发式搜索呢?

在计算复杂性和最优化领域,有个“没有免费的午餐(NFL,No Free Lunch)”理论[i],即对于优化问题,在有限的搜索空间中,当且仅当我们指定了具体的问题的时候,我们才能说一个优化方法要优于另一种优化方法。或者说,理论上,并不存在一个在所有问题上都能获得最优结果的算法。

常用求解NP难约束优化问题的方法,大致可分为精确算法和启发式算法。

精确算法,如Branch-and-cut, Branch-and-bound 等,可以在理论上保证算法朝最优解收敛,但是通常适用于问题规模较小的情况。 对于云上这么大规模(上亿决策变量)与复杂约束的问题,求解时长与资源消耗都是计算机无法接受的,因此并不适合在云场景下使用。

启发式算法,又可以分为简单启发式和元启发式。二者最大的区别就是,简单启发式算法更多的是问题相关的,而元启发式算法更多的是“问题无关”的。或者说,简单启发式算法对于A问题有效,但是对于B问题可能完全无法使用。 但是,元启发式是相对“通用”的搜索框架,几乎可应用到所有的优化问题上面。

这么听起来,元启发式算法是不是违反了NFL理论,在使用一个算法解决所有问题?

并不是。元启发式算法内部一般包含两种关键机制,就是搜索集中性( intensification)的机制和搜索的疏散性(diversification)的机制。前者负责搜索当前解的周围区域,而后者负责逃出局部优陷阱去更有“前途”的搜索区域。而一个完善的搜索策略就是要做二者的折中或者平衡,这里并没有一个“完美策略”可以使得该策略在所有优化问题上的性能都最好,所以也恰恰是符合NFL理论的。

在决定采用什么求解算法之前,我们再来看看云上面临的最优化问题的两个特点:

  1. 云上面临的是不止一个而是一系列的优化问题,问题之间可能具有一定的相似性和关联性。 比如在线资源调度、资源容量管理、资源碎片整理等,都以云资源为核心且具有相似的模型和约束。
  2. 云上的绝大多数优化问题并不要求必须得全局最优解,而是要求在限定的时间内,给出尽可能高质量的解。

结合NFL理论、元启发式算法的特点以及云上优化问题的特点,我们采用基于元启发式的求解框架就顺理成章了。 元启发式算法可以在限定时间内求解问题的“足够好的解”,同时,使用元启发式的问题无关性来适应多种多样的优化的问题。另外,又由于云上系列问题的相似性和关联性,针对某个问题的优化策略很可能也会在其他相近或者关联问题上生效,多个问题又往往可以联合优化。

当然并不是我们只要使用了元启发式框架整个引擎和算法就万事大吉了,求解框架只是第一步。复杂问题的建模、求解的算法集、策略集、参数调教都是我们的重点工作。尤其建模更是重中之重,它关系到问题的复杂度以及解是不是可以被应用到实际的生产环境当中去。我们还尝试引入多种元启发式算法框架,引入和设计多种集中性和疏散性策略包括文献中最好的方法以及团队创新的方法,并尝试创新的组合以及参数优化,包括引导式局部搜索、种群管理甚至是基于机器学习的手段,来丰富我们的策略,使得求解引擎能够对云上一系列的问题生效。比如,新的引导式局部搜索和种群管理策略就是我们刷新本次PDPTW记录的两项关键技术。此外,我们采用了并行化、参数自适应等多种技术来进一步改善我们求解引擎的性能表现和适应能力。

至此,我们取得了一些优秀成果,包括此前获得GECCO2020 OCP&USCP竞赛冠军,以及此次刷新51项PDPTW问题榜单。更为重要的是,面向云场景的约束规划问题优化求解引擎作为华为云擎天架构的一部分,为华为云的资源规划、资源经营保障、资源弹性能力等方面提供了强大的优化算法支持,最终客户也会从弹性能力保障、服务质量等方面获益。在探索云上最优化问题的道路上,我们并非闭门造车,华为云联合ICPC组委会将在12月12日-12月20日在线举办ICPC 2020 NERC华为挑战赛[2],以云上调度挑战问题为题,邀请全球算法精英一同探索云上最优解之道。

参考

  1. https://ieeexplore.ieee.org/document/585893
  2. https://codeforces.com/nerc2020

点击关注,第一时间了解华为云新鲜技术~

破51项国际榜单纪录!解读华为云擎天架构调度求解引擎相关推荐

  1. 广东迅视资管 华为云擎天架构调度求解引擎解读

    PDPTW问题属于VRP系列问题,也是经典的NP难问题,已被广泛研究超过50年. 与经典VRP问题相比,该问题扩展了更多的约束,求解难度也更高. VRP系列问题,简单来讲,就是用来在图网络中寻找满足一 ...

  2. 双榜首!华为云擎天架构刷新进化计算大赛新纪录!

    在刚刚结束的GECCO 2020国际会议中,华为云擎天架构的调度算法团队同时获得OCP与USCP运筹优化算法赛道第一名,且算法运行结果刷新了十个文献算例的已知最好结果.充分展现华为云在云资源调度.多目 ...

  3. 左手自研,右手开源,技术解读华为云如何领跑容器市场

    摘要:云原生浪潮下,容器技术是串联起整个云原生世界的关键一环. 本文分享自华为云社区<左手自研,右手开源,技术揭秘华为云如何领跑容器市场>,作者:华为云社区精选. 近日,IDC 发布的&l ...

  4. 登顶CLUE榜单,腾讯云小微与腾讯AI Lab联合团队提出基于知识的中文预训练模型...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 2018年以来,以BERT.GPT等为代表的大规模预训练模型,带来了 ...

  5. 乌镇发布六大榜单,解读大数据产业全景 !(附2018中国大数据产业地图、企业榜单)...

    来源:软件定义世界(SDX) 本文约4600字,建议阅读10+分钟. 新增中国大数据创新企业亿元俱乐部,同时挖掘出一批领军及新锐企业和创业者. 2018年11月7日-9日,水乡乌镇再次吸引世界目光,2 ...

  6. 亚马逊中国发布年度Kindle阅读榜单,解读2020年数字阅读趋势

    亚马逊中国权威发布2020年度Kindle阅读榜单,盘点和回顾过去一年的数字阅读趋势与阅读行为特征.根据亚马逊Kindle电子书销售大数据,<你当像鸟飞往你的山><坏小孩>和& ...

  7. 2022中国开发者影响力年度榜单揭晓,华为、阿里、腾讯等入选年度开源贡献企业 | 美通社头条...

    美通社消息:CSDN 2022 中国开发者影响力年度榜单正式揭晓."CSDN 2022 中国开发者影响力年度评选"自 2022 年 12 月 1 日启动评选,一个月内,共有数百家企 ...

  8. 阿里云 OAM 入选「2020中国技术力量年度榜单」,定义云原生应用交付标准

    2020 年 11 月 19 日,备受关注的「2020 中国技术力量年度榜单」评选结果终于揭晓.在该榜单设立的「年度开源新锐项目」.「开源杰出贡献人物」.「云原生行业落地典范」三大分项中,阿里云云原生 ...

  9. 9月安卓机性能榜单公布:华为未进前十,第一名有点意外

    今日,测评平台安兔兔公布了9月份Android 旗舰/中端手机性能榜单,令人意外的是华为手机竟然一款未上榜,从榜单来看,iQOO 5 Pro以66w+的分数登顶,成绩斐然. 随后则是iQOO 5手机, ...

最新文章

  1. 详解阿里开源分布式事务框架Seata
  2. Nginx与Serssion一致性问题
  3. 【原创】Quartus II 实验流程说明书
  4. word List44
  5. presto支持标准sql吗_presto技术文档
  6. 南溪的远程桌面软件使用笔记
  7. 判断三个数是否能构成三角形_【内含干货】611. 有效三角形的个数
  8. vs code 开发企业级python_入股不亏!VS Code中最好用的Python扩展插件
  9. 视频转换器怎么用?迅捷视频转换器图文操作教程分享
  10. 英语介词at、in、on常见用法(时间、地点、方位)
  11. 微信语音保存到本地服务器,文件格式由amr转mp3
  12. android安装程序后缀,【单选题】Android安装包文件简称APK,其后缀名是() A. .apk B. .exe C. .txt D. .app...
  13. 在PYNQ-Z2上移植RISC-V
  14. [指南]上海逛街大全
  15. 格式化字符串漏洞及利用_萌新食用
  16. spring boot旧物回收管理系统毕业设计源码221713
  17. 百度区块链狗子四只领取链接
  18. 使用TransMac制作OS X系统安装U盘
  19. 快速添加字幕的方法(开放式字幕与网易见外工作台)
  20. latex导数_latex 中怎样打求导符号du/dx怎么打

热门文章

  1. Number.parseInt(), Number.parseFloat()
  2. Path(1)vrep中的贝塞尔点、控制点的简单区分
  3. ROS笔记(19) 摄像头仿真
  4. mysql硬盘安装方法_Mysql安装教程
  5. 苹果x屏幕出现一条绿线_部分用户反映苹果 iPhone 12 屏幕出现划痕 - iPhone 12
  6. 怎么修改db2服务器名字,服务器创建db2数据库实例名
  7. 计算机管理系统绪论,数据库系统概论 第一章 绪论
  8. bzoj1051: [HAOI2006]受欢迎的牛(tarjan强连通分量)
  9. 解决mysql中表字符集gbk,列字符集Latin1,python查询乱码问题
  10. mysql数据库无限分类_php+mysql数据库实现无限分类的方法