前言:
如今咱们对“算法领域的现状分析”大约比较关切,同学们都需要分析一些“算法领域的现状分析”的相关知识。那么小编在网络上汇集了一些关于“算法领域的现状分析””的相关内容,希望同学们能喜欢,咱们快快来学习一下吧!导读 决策优化算法利用数学模型和算法来帮助人们在复杂的系统中做出最优或近似最优的决策,在物流、航空、能源、供应链、制造等领域有着广泛的应用和巨大的价值,同时在行业落地中也会遇到很多难点和挑战。因此今天会根据阿里云在各行各业的落地经验,结合一个行业落地案例,介绍决策优化算法在实际生产系统产生业务价值的难点和挑战以及相应的解决方法,并分析决策优化算法在行业应用中的发展趋势与研发思路。
今天的介绍会围绕下面两点展开:
1. 决策优化算法行业落地案例与难点
2.决策优化算法行业落地发展趋势
分享嘉宾|王磊博士 阿里云智能集团 高级算法专家
内容校对|李瑶
出品社区|DataFun
01决策优化算法行业落地案例与难点
首先来看一个行业落地案例:码头设备协同调度与控制
1. 行业落地案例:码头设备协同调度与控制
我们都知道港口码头的作用就是完成集装箱装卸任务,并送往世界各地。集装箱码头在有限的作业空间上布置了多种装卸设备,如桥吊、龙门吊、集卡和吊箱门机等,通过这些设备间的协调作业完成码头的物流任务。在日常运作中工作人员需要对装卸设备进行调度以提高作业效率,但因为人对数据处理能力有限,就会导致难以兼顾全局,而这些调度控制决策又常常相互影响、相互制约,因此针对集装箱码头装卸设备的调度和控制是一个比较复杂、困难的问题。
2. iECS 总体架构
针对上述问题,我们提出了整体解决方案 iECS,由五个层次构建,主要包含:
物联感知层:收集各个设备与堆场信息与实时状态大数据应用层:存储并提供事实状态数据和计划数据调度平台层:使用码头作业操作控制系统来下达指令,对各个设备或者各个相关工作人员进行调度作业核心算法层:把大数据平台里的数据进行分析计算可视化层:数字孪生可视化界面,让作业人员可以直观地看到整体情况
在整体架构上,聚焦“智慧生产大脑”,为实现高效的生产作业链,形成从“接力棒”向“并发共进”的作业模式演进。通过这个算法优化,将会带来三个大变化,接下来将详细说明。
3. 三大变化之一:运营管理的智慧化
第一个大变化就是运营管理的智慧化,主要体现在业务变化,包含以下四个方面:
人工方式->智能方式:工作内容发生变化数据感知:新增舱盖板、解捆箱、暂落箱、箱门朝向、设备故障等数据的感知,依赖高质量的定位数据人机交互:通过预警信息辅助指导船舶策划员、调度员、控制员、集卡司机作业新增行为规范:形成业务规范,约束集卡和龙门吊司机、控制员等行为
因此优化算法要真正落地,尤其是这种基于数据的作业,我们需要对数据质量、人机交互方式以及人的行为规范都有一定的要求,不能仅仅靠算法自身起作用,而是综合作用的结果。
4. 三大变化之二:交互体验的优化
第二个大变化就是交互体验的优化。按照以前人工作业时,虽然场地也安装很多摄像头,但工作人员一般只能关注到局部的状况比如箱子摆放状态、当前控制设备状态等,无法综合考虑机械作业属性、作业忙闲、路网距离、机械作业能力、运输车辆等因素,因此很难估计将来状况,无法提前准备预案。有优化决策算法之后,可以根据现有状态估计未来出现的状况比如拥堵,然后根据严重程度给予工作人员相应的预警,帮助他们提前采取措施,同时可以看到自己工作对其他部分产生的影响。
当算法得出结果产生预警之后,系统就会根据这种情况给出相应的解决方案。从图中我们可以看到预警某个地方将出现繁忙状况,就可以在调度设备的时候,重新规划调度方式,工作人员通过这样的交互体验,可以考虑到自身行为对其他方面产生的影响,并能及时估计将来作业过程中发生的变化,从而帮助他能更好地采取措施,从而保证协同、快速、有效的进行生产作业。
5. 三大变化之三:核心效率指标的提升
第三个大变化就是核心效率指标的提升。由于优化算法的作用,可以对整个作业工程进行全局协调。对于一个码头来说,最关注的两个指标是桥吊单机效率和集卡时效,事实上这个系统已经在某个码头上线将近两年了,通过一段时间的实践,我们发现都可以提升 5%甚至更高,确实带来生产效率的提高。
6. 核心指标拆解
那么这些效果是如何实现的?也就是说算法模型如何建立和实现的呢?首先在进入某一个具体行业的时候,我们需要针对相应问题进行研究分析,进行核心指标拆解,从而建立算法模型。对于码头行业而言,需要考虑的核心指标是桥吊和集卡,而堆场可以制约它们。因为堆场同时服务内外集卡,是集装箱集散中心和效率提升核心,是提高码头生产效率的优化方向。下边我们就会去考虑,什么原因导致了可能产生低效的原因。进一步拆解,我们会发现核心问题,并针对这些问题去改进数据质量,更好地设计优化算法,主要从以下四个方向进行:
资源:设备资源之间的均衡使用,保船舶重点路作业规范:避免不确定事件的多发空间:避免时空拥堵点的产生时间:减少等待时长,遵循集卡多跑、龙门吊少跑的原则7. iECS 智能调度算法-关键堵点
通过分析拆解,iECS 智能调度算法的关键堵点就显现出来了,在四个方向具体内容为:
资源:堆场龙门吊资源配置不足,龙门吊移动范围有限,容易导致龙门吊资源的不均衡使用规范:内部信息未及时共享和传递,外集卡司机未按规定打开定位程序空间:堆场作业空间和龙门吊资源有限,堆场内横路容易形成拥堵点时间:指令之间的协同衔接不合理,导致集卡在箱区内和引桥无效的等待8. iECS 智能调度算法-优化方法
综上,我们就可以通过收集现场数据的分析去判断繁忙程度,做一些资源的动态规划,针对这些关键堵点提出以下优化方案,实现动态平衡:
资源:通过堆场和桥吊繁忙程度、进行资源动态配置,优化船舶分路和自动解封,实现资源之间的平衡使用规范:实现全场指令排程和监控预警,整合堆场计划员、配载计划员、调度员、策划员和控制员的考虑规则,统一输出空间:实现基于时空网络的路径规划,从时间上避免空间上拥堵点的发生时间:通过作业时间的预估,实现衔接指令之间的协同,提高重进重出,避免悬空箱和嵌档箱9. iECS 智能调度算法-算法架构与流程
结合上述优化方案,构建起整个算法架构与流程,其核心功能突出“集卡”的使用,一是实现全局优化,考虑指令的协同衔接,减少等待时间过长,提高整体效率;二是充分利用机会成本,提前计划安排后期指令的串联衔接,避免出现箱区、码头面拥堵和资源不均衡使用。整个算法架构分三层,第一层是资源计划层,主要功能是制定船舶分路计划,实现资源动态配置;第二层是协同调度层,主要功能是收集码头实时数据,实现状态控制与预警、全程指令排程、设备调度和集卡路线规划;第三层是指令执行层,主要功能收集过程数据,做更高维度更细粒度的作业时间预估,分排资源计划后把指令分派给集卡、桥吊和龙门吊。
10. 项目交付难点
我们知道算法落地并交付的时候,会遇到很多执行难点:
业务规则多、逻辑复杂,需求确认阶段难以准确定义干系方较多,问题响应效率慢。如:XX (智能集卡供应商)、YY (桥龙设备供应商)、ZZ (外集卡定位服务商),影响开发测试进度设备定位数据质量差,对算法调度效果和效率影响较大。如内、外集卡位置精度生产系统对算法稳定性、时效性要求高,开发过程中难以评估数据量、计算耗时、明确算法架构
虽然业务规则和逻辑很复杂,但我们会专门跟进并与相关调度人员去沟通了解,然后采取相应克服动作:
在开发阶段使用敏捷方式,迭代细化需求、迭代完善功能;累计完成 2000 多个用例测试。拉专项问题群,小问题及时解决;每周例会推进各方对齐、解决难点问题。多源数据融合,融合集卡手工到达、电子围栏触发、算法路径到达预估数据。构造大量测试数据集,设计极限压测场景;及时跟踪生产环境使用情况,及时响应处理。11. 数据处理难点
另外一个落地难点就是数据处理。人的容错能力很强,然而算法不是,数据质量会对算法效果产生影响,消耗大量精力进行优化。我们对数据问题进行了分类:
基础数据源质量问题:基础数据源存在数据质量问题,影响算法时机;数据一致性问题:从多个数据源采集数据,数据不一致,需要大量反复的数据清洗工作;数据标准化问题:源数据存在标准化问题,导致算法无法支持全部业务和场景;数据实时性问题:数据存在传输延迟和打标耗时问题,影响算法时机。
因此我们不能单纯进行数据存储或者购买一个数据平台,需要由算法人员和数据人员根据具体应用场景一起定义数据标准,统一算法输入输出,最后建设一个专用数据平台。需要按照以下规则进行建设:
统一数据源提供数据,避免多源数据采集数据不一致问题;统一数据清洗工作,避免每次上线新系统重复的数据加工;统一数据标准化,逐步实现业务和场景的全标准化和规范化;基础数据统一实现流处理,减少数据延迟,争取最佳优化时机。12. 计算性能难点
最后一个落地难点就是计算性能。随着不断规模化使用,数据量也由于各种场景不断增加,随之而来的就是计算性能逐步下降。例如一开始算法只考虑几十辆车,计算性能是没有问题的,当突然增加到几百辆车甚至更多,就会导致计算性能下降。针对上述问题,要结合算法逻辑和业务之间的关系去设计相应算法调度部署架构,通常采用方法如下:
调整服务部署分布,减少资源争抢;增加硬件资源,加大计算并行度;优化算法逻辑,减少计算量。13. iECS 智能调度算法上线成果
通过对上述问题一一解决后,我们可以看到iECS智能调度算法上线落地的成果,基本可以覆盖整个码头的调度与控制,实现新手控制员+ iECS算法=熟练控制员,给操作员带了极大的变化,包括:
减轻操作员的工作负担:无需手动选指令、远控龙跳台次数减少、指令拒绝率降低;操作员关注点的改变:关注预警和异常处理,从之前关注每条指令的选取和派发,到集中关注预警和异常情况时的手动干预;操作员增加的工作内容:需要操作员打标数据、配置参数。
因此创造出一个稳定输出的、不会疲倦的“虚拟控制员”。这也会出现一个业界通见问题,熟练的老师傅一般会怀疑算法,同时担心算法会取代他的位置,很难和算法建立信任,但是从长期来看将不会是问题。
14. iECS智能调度算法带来作业效率的提升
整个案例的情况已经完成介绍,表格中详细总结了2022年到2023年超一年多的效果评价,可以看到确实给各个作业效率带来了很大提升,提高了设备有效利用率,可以实现降本增效。
02决策优化算法行业落地发展趋势1. 决策优化算法行业落地发展趋势
我们在实践中进行了总结反思,决策优化算法行业落地的总体发展趋势为从原来基于少量数据的离线辅助决策转变为面向实际生产过程基于大量数据的实时智能决策。具体来说,以前我们会和业务人员进行沟通并收集经验规则,可以得到基于经验规则的简化模型。但随着数据量越来越大,我们就可以从数据挖掘更多信息,得到基于数据驱动的模型,而模型考虑的数据维度会更加复杂,就越来接近于仿真的模型。随之而来的就是问题规模会越来越大,我们就会面临技术挑战,需要更大规模的数据处理能力和更大规模的问题求解能力。同时算法与生产系统对接,必须具有实时感知生产系统的变化,根据不同指标、不同维度去进行预判并给出生产方案,将来需要和机器学习算法深度结合,实现实时智能决策。
2. 决策优化技术产品化
决策优化技术需要进行产品化,投入到不同行业里,形成支撑行业的解决方案,解决资源调度和控制优化类问题,为客户的核心业务降本增效,实现多部门全局协同决策优化。具体来说,针对不同问题建立算法模型之后,实现算法的组件化和模块化,再经过组合实现超大规模问题高效求解。为了增强算法可解释性,我们会把算法里的规则参数全都公开给客户进行打标,在这个过程也可以继续自适应调节。最后经验知识都会积累沉淀下来,形成行业场景知识,我们也可以从中挖掘更多价值。所以我们主要力量会集中在数学建模、求解和模型优化这三个方面,底层与云计算结合,业务会交给生态伙伴,从而形成一个良性循环。我们产品的优势包括:
结合协同计算,孪生仿真等技术,决策优化算法得到高质量的数据输入,充分发挥云计算特点,支撑大规模问题高效求解;运筹优化与机器学习结合,做大规模实时优化和强化学习迭代优化,学习人类专家经验,积累行业业务决策技巧;无缝集成达摩院及商业求解器,沉淀行业场景库及问题场景库,高效支持算法的测试评估和迭代升级03提问环节1. 运筹问题如何进行沙箱仿真?
答:这是一个很好的问题,在落地实践中我们一般都会遇到这个问题,因为真正应用在生产线之前,是需要仿真跟优化结合。仿真程序一般来说考虑的细节特别多和微观的话,物理过程也会特别多,就会占用很多时间。因此一种较好方式是先用优化算法产生各种可能性解决方案,选择其中一个较好的方案去仿真验证,一般会得到更好的效果。通过仿真可以反馈过哪些指标存在问题,我们就根据这些反馈调节约束并优化模型,优化本身也会对仿真起一个很好的指导作用,这就是双互补的过程。
2. 行业里面机器学习与运筹优化结合的实际应用现状是什么样的?
答:目前来说用机器学习直接产生结果去落地使用的情况在行业里是比较少,因为现实中生产系统不是一个全自动过程,生产系统的所有规则和状态不像下棋一样可以提前预测,但凡有人参与的过程都可能存在一些不确定性,所以不能保证机器学习产生的结果完全适用。所以就目前而言,很多场景都是结合机器学习结果做一些方向预测,辅助生产决策。
3. 在实际项目进行过程中获取可用的数据通常需要大量的预研、调研和预处理,作为算法开发人员如何在数据质量较差的时候快速开发?
答:这个就需要用互联网领域快速迭代的方式去解决。首先经验之谈就是不要全部展开,而是选取一个见效最快的问题点建立模型,限制问题范围,建立一个很大的系统模型是很复杂且花费时间的,同时需要考虑数据质量和实际生产系统的情况,最大限度去产生价值。另外一个需要注意的地方是这可能不是一个单纯的算法问题,而是一个项目落地实施过程中的资源协调和调配的问题,也就是说实际项目中必须注意协同,我们算法人员首先得知道数据需要什么样的条件,然后对工作量进行预估分工,找做数据处理的人、前后端的人等等。如果说所有工作都加给算法人员的话,我觉这个行业会很难发展,也就是说没有办法获得更多资源去解决问题。
今天的分享就到这里,谢谢大家。
标签: #算法领域的现状分析