优化算法应用:别让好算法死在落地最后一公里
上个月跟一个做电商仓储的老朋友喝酒,他拍着大腿吐槽,说花了大价钱从高校挖了团队搞路径优化,上线之后拣货效率反而掉了两个点。
我听完一点都不奇怪。这几年见过太多类似的案子,牛逼的算法,死在落地环节。
电商仓储拣货优化算法路径对比图
去年看清华交叉信息院发的一篇工业优化调研,里面统计了国内127个制造企业的优化算法落地项目,七成以上项目要求算法必须给出全局最优,最终落地效果达标率不到三成。优化算法应用的核心从来不是找最优,是在有限时间、有限数据里找到能直接用的满意解。
遗传算法、模拟退火这些启发式算法,为啥在工业界比精确解算法吃香?不是精确解不好,是精确解算十个小时得到的结果,比启发式算法十分钟算出来的结果好0.2%,业务里这点差距根本感知不到,你多等的十个小时,订单都发走了。
哦对了,还有人跟我抬杠,说现在云计算算力够啊,随便扩。算力不要钱吗?老板掏百万级算力预算就为了那0.2%的提升?疯了吧。
钢铁厂轧制排产优化算法操作界面图
那正确的优化算法应用应该是啥样?上个月去东莞一个做注塑的工厂参观,人家玩得就明白。他们没搞什么全自动排产,把优化算法做成了调度员的辅助工具。
算法根据原料库存、机台负载、订单交期,自动生成三个可选方案,每个方案标出来哪个交期可能延误、哪个能省能耗、哪个换料时间最少,调度员五分钟就能选完,不满意还能自己拖拽调整。就这,工厂整体能耗降了8%,换料时间省了12%,老板开心,调度员也开心,皆大欢喜。
大部分传统行业的优化算法应用,根本不需要替代人,只需要帮人省时间。别信那些什么“全流程自动化无人”的噱头,真能做到全无人的场景,万中无一。
不过话说回来,互联网行业不也一样吗?你看短视频的推荐算法,本质也是用户停留时长优化,不也留出来运营调整的口子,遇到热点事件还能手动推流对吧?
小数据也能做优化,别天天喊着要大数据
现在行业里有个歪风,好像做优化算法必须几个T的标注数据,没有大数据就做不了优化。
扯什么淡。
优化算法本身就是用来解决信息不完备的问题的,真要是所有数据都全了,那叫查表,不叫优化。
去年我看浙大控制系的一个落地成果,针对中小化工厂的蒸汽能耗优化,很多中小厂连全覆盖的传感器都装不起,数据只有每班工人的手工记录,样本量也就几百个,人家怎么搞?用基于生产机理模型结合小样本贝叶斯优化的方法,照样把吨产品能耗降了6%,一年给工厂省几十万,这就是实实在在的价值。
很多老板一听做优化,先砸钱上IoT系统拉大数据,拉了大半年,业务需求都变了,数据还没整理完,项目早就黄了。我就纳闷了,就不能先拿现有数据跑个小版本,验证了效果再慢慢投钱扩吗?
还有一个很容易被忽略的点:优化的目标一定要跟企业的核心目标对齐。你优化的是生产节拍,提升了单位时间产量,老板要的是利润,结果优化完节拍,成品库存涨了三千万,占用的资金利息比你省的加工费还多,那这优化有啥用?
很多算法团队就犯这个错,盯着自己的算法指标,比如收敛速度、最优值偏差,就是不看对企业来说真正有用的结果,最后项目做完,钱花了,落不了地,还说业务方不懂技术,这不是甩锅吗。
最近大模型火了,好多人说大模型能颠覆优化算法应用,我看了不少落地案例,确实有惊喜,比如大模型能自动把业务方说的模糊约束转换成算法能读懂的形式,原来工程师要跟业务聊一周才能整理完的约束,现在大模型几个小时就弄完了,这个确实省了大把的时间。
但也别吹得太神,核心逻辑还是没变:你得懂业务,得知道算法该放在哪里用,得知道你要解决的到底是什么问题,不是说把数据扔给大模型就能自动出效果。那天刷朋友圈,看到一个咨询公司发的广告,说大模型优化能帮企业降本30%,我笑了,真要是那么神,为啥他们自己不先优化优化自己的咨询费,降个30%给客户?
其实优化算法不是什么高高在上的黑科技,就是个帮你解决问题的工具。这么多年见了这么多项目,成的都是那些一开始就盯着具体业务问题,不贪多不贪完美,一点点磨出来的。败的都是上来就喊着要做全球最顶尖的算法,要拿全局最优,结果就是空中楼阁,钱花完,项目烂尾,挺可惜的。
对吧。
别盯着最优解,你要的是够用解
很多人对优化算法的误区,就是从根上错的。总觉得算法越牛,就越能算出全局最优解。 那都是教科书里的理想情况。 实际业务里,约束条件时时刻刻在变啊。就说刚才那个仓储拣货,你算法算出来的最优路径,前提是所有货位都空着没人、所有拣货台都空闲,现实呢?上午十点刚到一批补货,通道堵了一半,你算出来的最优路径根本走不通啊。
电商仓储拣货优化算法路径对比图
去年看清华交叉信息院发的一篇工业优化调研,里面统计了国内127个制造企业的优化算法落地项目,七成以上项目要求算法必须给出全局最优,最终落地效果达标率不到三成。优化算法应用的核心从来不是找最优,是在有限时间、有限数据里找到能直接用的满意解。
遗传算法、模拟退火这些启发式算法,为啥在工业界比精确解算法吃香?不是精确解不好,是精确解算十个小时得到的结果,比启发式算法十分钟算出来的结果好0.2%,业务里这点差距根本感知不到,你多等的十个小时,订单都发走了。
哦对了,还有人跟我抬杠,说现在云计算算力够啊,随便扩。算力不要钱吗?老板掏百万级算力预算就为了那0.2%的提升?疯了吧。
把算法嵌进业务流,别让算法当孤魂野鬼
我见过太多项目,算法本身精度没问题,准确率收敛速度都达标,就是没跟业务的现有流程嵌对地方,最后成了摆设。 去年接触一个做钢铁排产的项目,算法优化的是轧制顺序,理论上能省15%的换辊时间,结果上线之后调度员根本不用。为啥?算法输出的排产计划,没考虑销售部天天临时插的加急单,调度员每天要改三四个小时,还不如自己凭着经验排来得快。 说实话,很多做算法的人,从来没去一线待够三天,不知道业务里有多少乱七八糟的突发情况。你按理想约束算出来的结果,到现场全是变数,谁会用?
钢铁厂轧制排产优化算法操作界面图
那正确的优化算法应用应该是啥样?上个月去东莞一个做注塑的工厂参观,人家玩得就明白。他们没搞什么全自动排产,把优化算法做成了调度员的辅助工具。
算法根据原料库存、机台负载、订单交期,自动生成三个可选方案,每个方案标出来哪个交期可能延误、哪个能省能耗、哪个换料时间最少,调度员五分钟就能选完,不满意还能自己拖拽调整。就这,工厂整体能耗降了8%,换料时间省了12%,老板开心,调度员也开心,皆大欢喜。
大部分传统行业的优化算法应用,根本不需要替代人,只需要帮人省时间。别信那些什么“全流程自动化无人”的噱头,真能做到全无人的场景,万中无一。
不过话说回来,互联网行业不也一样吗?你看短视频的推荐算法,本质也是用户停留时长优化,不也留出来运营调整的口子,遇到热点事件还能手动推流对吧?
小数据也能做优化,别天天喊着要大数据
小数据也能做优化,别天天喊着要大数据
现在行业里有个歪风,好像做优化算法必须几个T的标注数据,没有大数据就做不了优化。
扯什么淡。
优化算法本身就是用来解决信息不完备的问题的,真要是所有数据都全了,那叫查表,不叫优化。
去年我看浙大控制系的一个落地成果,针对中小化工厂的蒸汽能耗优化,很多中小厂连全覆盖的传感器都装不起,数据只有每班工人的手工记录,样本量也就几百个,人家怎么搞?用基于生产机理模型结合小样本贝叶斯优化的方法,照样把吨产品能耗降了6%,一年给工厂省几十万,这就是实实在在的价值。
很多老板一听做优化,先砸钱上IoT系统拉大数据,拉了大半年,业务需求都变了,数据还没整理完,项目早就黄了。我就纳闷了,就不能先拿现有数据跑个小版本,验证了效果再慢慢投钱扩吗?
还有一个很容易被忽略的点:优化的目标一定要跟企业的核心目标对齐。你优化的是生产节拍,提升了单位时间产量,老板要的是利润,结果优化完节拍,成品库存涨了三千万,占用的资金利息比你省的加工费还多,那这优化有啥用?
很多算法团队就犯这个错,盯着自己的算法指标,比如收敛速度、最优值偏差,就是不看对企业来说真正有用的结果,最后项目做完,钱花了,落不了地,还说业务方不懂技术,这不是甩锅吗。
最近大模型火了,好多人说大模型能颠覆优化算法应用,我看了不少落地案例,确实有惊喜,比如大模型能自动把业务方说的模糊约束转换成算法能读懂的形式,原来工程师要跟业务聊一周才能整理完的约束,现在大模型几个小时就弄完了,这个确实省了大把的时间。
但也别吹得太神,核心逻辑还是没变:你得懂业务,得知道算法该放在哪里用,得知道你要解决的到底是什么问题,不是说把数据扔给大模型就能自动出效果。那天刷朋友圈,看到一个咨询公司发的广告,说大模型优化能帮企业降本30%,我笑了,真要是那么神,为啥他们自己不先优化优化自己的咨询费,降个30%给客户?
其实优化算法不是什么高高在上的黑科技,就是个帮你解决问题的工具。这么多年见了这么多项目,成的都是那些一开始就盯着具体业务问题,不贪多不贪完美,一点点磨出来的。败的都是上来就喊着要做全球最顶尖的算法,要拿全局最优,结果就是空中楼阁,钱花完,项目烂尾,挺可惜的。
对吧。