运筹优化在汽车行业的实践探索
分享嘉宾:林琳 数据分析专家
编辑整理:刘倩 浙江工业大学
出品平台:DataFunTalk
导读: 随着新能源、自动驾驶、人工智能技术的发展,汽车行业的智能化水平也水涨船高。作为人工智能领域“皇冠上的明珠”,决策智能是如何推动汽车行业数字化转型的?决策智能在实际落地中有哪些痛点和解决方案?本文将结合个人十年的数据分析经验,从实战角度介绍运筹优化在汽车行业的实践探索和经验总结,希望为大家的工作带来帮助和启发,此次分享会围绕下面四点展开:
- 汽车产业链简介
- 运筹优化赋能汽车行业
- 运筹优化项目实施难点
- 实践探索和经验总结
01 汽车产业链简介
汽车产业链可以分为核心四块 ,一块是贯穿整个产业链的,从零部件的采购到汽车的制造、销售、售后服务的整个汽车产业链中的研发和技术。另外一块是零部件的采购,一般一个汽车公司会有很多汽车零部件公司的支持,这块非常重要。第三块是整车厂,对于整车厂来说,一般零件是由供应商来支持的,核心部件,像发动机、变速箱,都是由自己来生产的。第四大块是销售和服务,传统的销售模式有一个经销商,然后经销商分销给各个客户,现在还有一种直销的模式。销售之后会有售后和保险服务,包括售后保养、保险、二手车等一系列的售后服务。
汽车产业链是非常长的,所以也会有各种各样的人工智能技术可以发挥作用。比如汽车零件可以构建一些知识图谱,在生产制造和质量方面有预测维护、缺陷检测,以及汽车在销售过程中有票据识别,还有汽车装饰件识别等都有人工智能发挥技术的地方。从数据统计分析、机器学习,到自然语言处理、知识图谱、智能交互、计算机视觉等人工智能领域的各个技术,在汽车产业链上都能够找到非常多的应用场景。随着很多造车公司加入到汽车行业中,以及新能源、自动驾驶技术的推进,汽车行业的智能化水平也会越来越高。
02 运筹优化赋能汽车行业
运筹优化是寻找满足约束条件下,能够使得某一个或几个目标达到最优化的最优决策。 运筹优化分为两个关键的步骤,建模和求解 。第一步建模是将实际的问题变成一个数学优化模型,模型包含一些关键的要素,包括决策变量、目标和约束条件等。下一步就是求解,求解涉及到很多优化算法,其中一些是求精确解,一些是求非精确解,会涉及到不同的优化算法。运筹学的传统应用非常多,比如路径优化、选址优化、供应链优化、网络布局等。
下面介绍一下 运筹优化在汽车供应链的应用 。在终端需求采集方面,比如新能源积分政策影响到汽车长期规划,怎样去规划汽车才能满足国家政策要求。在研发设计方面,比如研发设计中的生产排程、库存管理、订单管理中车辆分配策略以及物流运输中的运输计划、调度等。按照实际应用的决策等级和决策范围来分可以把汽车领域的应用场景分为三个层级:
- 第一个层级是战略层级的优化 ,比如汽车产能的规划、零件加工工艺的规划、库存长期规划、仓储长期规划。战略层级的优化对于时间性和稳定性的要求会比较低,对结果的最优化有较高要求。
- 第二个层级是计划层面的优化 ,像生产计划、分销计划、物流计划、物料计划等,这些对于最优解,时效性和稳定性都有一定的要求,一般是每周或者是每月做一些计划。
- 第三个层面是一个执行层面优化 ,例如车间的调度、拣货路径、物料供应等,这些会涉及到正常生产,优化结果立刻会影响到业务,对于优化系统的时效性和稳定性的要求非常高。
总之,从各个层级来说,战略层级偏向于是做一个最优优化;计划层级在最优性、时效性和稳定性方面都有一定的要求;在执行层对最优性要求相对较弱,对于时效性和稳定性要求较高。
下面分享三个运筹优化的例子。
机加工艺方案优化 ,设计一款发动机的机加工方案时,传统机加工艺需要有几十名资深的工程师,经过几个月的手工编排,才能把一款发动机的编排工作完成,工作量巨大,编排的结果只能找到一个可行解,没有办法找到一个最优解。可以将这个机加工问题进行数学建模,求得一个最优解,在实际应用中可以降低80%的编排工作。这属于中长期规划,目标主要是成本最优,这种目标要求一个精确解。规模比较大,把数学模型建好之后,会用求解器来帮助求解。
第二个例子是生产计划的优化 ,比如零件生产、试验车生产、整车生产,都是需要做生产计划的,汽车领域的生产线都需要生产计划,一般生产计划目标是生产的均衡性,比如颜色的均衡、配置的均衡、日均衡、月均衡等。同时这种生产计划的优化对于性能也有要求,因为工厂特别多,每个工厂可能都会有计划员去做生产计划的编排,他们对于时间的响应也有一定要求,这种一般需要使用基于整数规划模型的解决方案。
第三个例子是库存优化 。仓库库存、经销商库存、整车库存、零件库存的成本都是非常大的,一般是要在满足一定的服务水平下,使得库存尽可能地低。以前的传统模式就是用库存优化模型,综合预测销量、需求均值、满足率目标、缺货成本等构建库存优化模型,最终输出安全库存、目标库存水平、订单计划、再订货点。现在一般会在传统方式的基础上,再结合机器学习算法去做库存优化。
03 运筹优化项目实施难点
运筹优化项目实施的难点按从概念的验证到这个项目实施的过程来看,主要有这几点:
- 业务逻辑比较复杂 :业务逻辑复杂方面就是不同业务中有很多专有名词,业务需求方和建模工程师之间沟通非常困难,建模工程师必须了解每一个细节才能成功建模,这就造成业务需求理解比较复杂。
- 建模困难 :一方面是由于业务目标和约束不可量化,定性的描述会比较多,比如要求加工时间最短,生产计划尽可能均衡的这种需求,尽可能是一种不可量化的约束。另一方面,实际中很多问题都是非线性的,建模实现很难。
- 求解时无解 :求解模型会出现无解的情况,有可能是数据问题,或者是模型的问题,另外求解器的性能可能也会有一些问题,这些都需要很大精力去排查。
- 解决方案的接受度受用户习惯的影响 :运筹优化面临比较大的问题就是求解出的方案结果和用户的习惯不一致,用户会有很多自己的想法,不接受优化方案。
- 项目反复迭代,成本提高 :就是用户需求没有说全,这种情况经常出现,等项目完成了,突然会有提出一个要求,建模工程师有时候业务背景不强的话就会遗漏用户认为是常识而没有沟通到的需求。另外运筹优化的定制化程度非常高,新出来的场景和约束会导致模型反复迭代。
04 实践探索和经验总结
下面从项目的不同阶段做一个总结。
1. POC(Proof of Concept)阶段
POC阶段是项目实施之前做的概念验证。
- 一般项目可能没有概念的验证,只是演示ui界面,提需求就可以了。
- 分析型项目中算法的结果是项目成功的关键因素,比如图像识别项目,图像识别的准确度比较重要,能不能达到这个准确度,对于项目的成败很关键。预测项目的预测准确度也是项目成功的关键要素。在POC阶段需要验证出标准是否合理。
- 对于运筹优化项目,除了具备分析型项目的要素之外,还需要对潜项阶段的功能进行验证,比如验证分析型项目的准确度,用户要求80%,现在已经达到78%,那可能再优化一下,就能达到了。但是由于需求变化对方案的影响,运筹优化项目在POC阶段的验证也只能做参考。比如要求成本最低的最优方案,目前提出来的要求,用这种方案是可以的,可是在项目实施的过程当中,如果提出了更多的要求,更多的约束之后,不一定能够保证poc阶段的验证效果。这是运筹优化项目比较突出的难点和风险点。
2. define阶段
- 一般项目定义现在的流程、将来的流程、报表需求、业务角色、性能要求。
- 分析性项目定义业务痛点、输入、输出、准出标准。比如输入是照片,输出是识别出的字段,准确度。
- 运筹优化项目定义业务的目标、利润最大、效率最高、产能约束、顺序约束等。建模师更要对每一个约束清楚,才能建好模型,谈需求时投入的时间会比其他类型的分析型项目多。
3. 构建阶段
- 一般项目按照需求直接开发就可以,分析人员和开发人员需求可以完全分开,只要把需求说清楚。
- 分析型项目会出现一些数据问题,比如数据不支持define阶段的分析需求,这种很常见。
- 运筹优化项目,会遇到更多的问题,比如约束冲突导致没有解,需要和用户重新定义约束是什么,或者原来理解的约束和用户说的约束不一样,要反向做逻辑检查。还需要有一套完整的数据,去验证模型,要准备一套满足所有约束的一个可行解。
4. 测试阶段
- 一般项目有按功能点测试、正向测试、反向测试、压力测试、用户测试等。
- 分析型项目除了要测一般项目需要的测试之外,还要利用真实数据对算法的结果是不是能够达到标准做测试。
- 运筹优化项目测了发现之前的约束已经满足,结果也能求解,但是用户突然发现有些约束忘了提出来,这时候可能要重新加上这些约束,需要再次进入开发迭代阶段,所以在运筹优化项目测试阶段需要留充足的测试时间。
05 精彩问答
Q:在进行生产计划时的插单计划是如何实现的呢?
A:插单计划是在生产计划的过程中,突然又来了新的计划。生产计划一般都是按周来的,如果一周之内已经过了一个计划点,就不会考虑去插单了。但是像固定的长期需求,比如“某些周的颜色生产量需要提前锁定”是可以放到模型当中的,可以做为约束放在模型中。但是如果这个周度已经按计划生产出来了,生产计划已经生效,只是临时性的插单,就没有必要再放到模型中了,可能需要靠手工去调整了。
Q:目前运筹应用在车企的情况是怎样的?当一般算法得到的结果跟业务员人员经验相违背,还能否推进算法得到的结果?推进后的实际效果。一般如何?
A:这里有两个问题,第一个是运筹应用在汽车行业现在的应用情况是怎么样的?第二个是模型的结果和用户的经验如果有冲突,是怎么去做的经验。
首先说一下第一个问题,我个人认为运筹优化在汽车行业的应用场景是全行业中包括各种电商行业里面最复杂的。其他行业有的各种场景在汽车行业里面都有,落地情况每个厂家不一样,如果是建厂时间比较长,数据积累比较丰富,基础系统化比较成熟的公司的运筹优化落地会更容易,但也可能存在设备老旧的问题,比如一些车间的设备比较老旧,抽取的数据没有及时的反馈,做实时性的调度就会有一定的难度。
第二个问题,如果优化结果和用户有冲突,建模师和用户都是需要妥协的。因为建模也是有一些局限性的,需要把一些复杂的业务场景去做一些简化,才能做成一个数学模型,才能落地的。如果业务用户非常坚持按照他的习惯去做,可能做出来的就和他的习惯是一样,得不到什么优化。另外就是建模师也要从业务的角度去理解一下,用户确实需要这种操作,要尽量多想一些办法去帮助他们。所以基于以上,成功的运筹优化项目需要需求方和实施方一起协调,多方围绕共同的目标一起配合才能够做一个比较成功的项目。
Q:汽车行业的库存管理,补货环节的鲁棒优化应用的情况是怎样的?
A:汽车行业的库存优化不同的情况有不同的处理,比如成熟件、新件、需求量少的零件等。如果是成熟件,基本上是按照时间序列预测的需求,根据需求的分布方差,按照库存理论,去做目标库存水平、安全库存就可以。
需求量少的零件一般一个月或者是半年经销商才会消耗掉一个,一般库存就是一个,基本上不用什么理论了,用掉一个就补一个。实际中并不是直接把所有的理论都用上去,会有更灵活的方式,需要结合业务的限制、宝贵的实际操作经验等多方面去处理这种问题。
分享嘉宾