视觉中国 |
在过去30余年中,世界领先的商业求解器一直掌握在一些海外企业及财团手中。对国内企业而言,长期以来只能购买海外进口产品。
近日,我国自主研发的“杉数数学规划求解器”在世界知名求解器公测平台、米特尔曼教授的测试集上位列第一,成为我国第一个自主研发的商业级别求解器,我国求解器的测试速度跻身世界顶尖商业求解器之列。
“其速度比第二名快了40%多。”中国运筹学会理事长、研究员胡旭东告诉科技日报记者,由美国亚利桑那州立大学汉斯·米特尔曼教授所维护的这一测试平台,提供了多个商业和开源的数学规划求解器的测评数据,这一测评成为人们了解和选择求解器的窗口,也被求解器业界奉为软件性能排名的事实标准。
求解器像是运筹学里的“芯片”
对于求解器,很多人都很陌生。那么到底什么是求解器?
“在运筹学里,对于数学规划求解器的定义是,针对多种已经建立的线性、整数及各种非线性规划模型,进行算法优化的求解器,可以看作一个‘黑盒子’软件系统。”胡旭东说,求解器就像是运筹学里的“芯片”,绝大多数复杂系统的决策问题都需要用到数学规划求解器,来寻求最优化的解决方案。
“求解器就好比是电脑的操作系统,解决不同问题的数学模型就是一个个软件。一个求解器可以衍生出很多垂直的场景,尽管这些场景看上去差别很大,但本质上相通。救护车调度、航班规划、库存优化……这些从数据到决策的转化工作,都可以利用运筹学模型与机器学习将实际问题转化为数学模型求解。”胡旭东说。
国计民生都需要用到“黑盒子”
“大规模数学规划求解器关系到国计民生的众多方面。”制造杉数数学规划求解器的杉数科技公司创始人葛冬冬表示。
连锁快餐店应该如何选址,才能覆盖尽可能多的人口?几百个物流机器人的行进路线该如何实时设计,才能实现最高工作效率,又不发生碰撞?在打车系统中,乘客发出叫车需求,把这位乘客分配给哪个司机,才能实现路线最优,让司机和乘客全满意……这些问题的解决都需要求解器来帮忙。而且问题求解规模越大,就越依赖于求解器这一神秘“黑盒子”。
葛冬冬举例说,永辉超市现在在上海已经有300多家店。此前,他们与杉数科技合作,用选址软件做智能选址。“比如,今年计划开50家店,明年开100家店,后年开150家店,利用求解器就可以算出这50家店该怎么开、开在哪,明年100家店该怎么开、开在哪,互相之间不会产生恶性竞争。”
斯坦福大学李国鼎工程讲座教授、运筹学专家叶荫宇曾表示,云计算、大数据与人工智能的井喷,出现了超大规模的大数据,这正是优化算法繁荣的基础,人工智能想要进入新阶段,也离不开优化算法的进一步发展。而优化算法想要实现自身作用,求解器是不可缺少的一个环节。
进口产品无法定制、存在安全隐患
但是,在过去30余年中,这种高精度求解器高度依赖进口。世界领先的商业求解器一直掌握在一些海外企业及财团手中。对国内企业而言,长期以来只能购买海外进口产品。
胡旭东表示,对于各大企业而言,购买的进口商业求解器不仅价格高昂,而且通常都是已经经过封装、无法自主调整的算法代码的“黑盒子”。
“以国家发展为例,基础设施建设中的电网、水利系统、铁路、高速公路建设等都涉及到类似的大规模优化算法问题,使用国际上成熟的商业求解器就意味着难以做出针对性改良,得到最优结果。”胡旭东说,“由于不了解国外求解器系统,此前许多企业遇到特定问题时,常常得不到最好的答案,‘黑盒子’永远是封闭的,甚至不知道数据的传输是否安全。”此外,军事上的战略资源调度、航空领域的战略部署等关乎国家安全的问题,也对自主知识产权的软件有着根本性需求。无论从何种角度来说,这样的软件,国内必须得有自己的核心技术知识积累。
耗时长、人才少制约自主求解器发展
求解器研发是一项耗时长、见效慢,不能发论文的基础性工作。
“由于开发难度大、开发周期长、资金需求高等种种原因,国内的优化算法求解器此前几乎处于空白状态。因为这就好像研发一枚芯片,要想做出可以供企业使用的芯片,有相当的技术门槛,需要千百次的试验。求解器的开发也是一样。”胡旭东说,求解器在技术层面要求非常高,将一个数学上高度复杂的系统,以百万行级别的代码工程化地实现出来,是很多国外求解器团队走了30年的求索之路。计算速度和精度的每一点提升都需要无数的思考和尝试,凝聚着研发团队的辛勤汗水和思维火花。
“要做可靠的求解器,时间是必须要投入的。整数求解器部分我们做了2年以上,但整个预期是3—4年。国外的那些企业做的都是迭代的求解器,大家公认就需要这么长时间。”葛冬冬称,国内做求解器,大多数公司往往等不了这么长的时间。“投入几千万、十来个人去做一个软件,但3年后还不一定能出结果,面临的现实压力是很大的。”
除了时间投入外,人才也成为制约求解器国产化的因素。葛冬冬认为,开发求解器的人才需要具备3个特点。第一是数学功底好,优化算法功底扎实;第二是代码能力强,有系统工程开发能力;第三是最好具有求解器开发经验。“高校培养的学生,最大的弱点是解决多方面问题的综合能力不足。另外高校团队欠缺承续性,虽然代码都会写,但是一旦一位核心人才离开团队,研发就会受到较大影响。而国内企业培养人才又有点急功近利,等不起一个人才慢慢成熟。”葛冬冬说。