Python 在工业生产规划中的应用

       在制造业中,往往会因为数据结构的复杂(系统+线下,订单+制造等等)以及对接口的繁多,在进行数据处理、可视化、业务判断方面会消耗大量精力。这点尤其是在当今客户需求多样化的时代显得尤为突出。客户多样的需求,少则小几十条,多则上百条。如何整合现存资源、未来资源、长远资源以满足业务需求,和运营、成本达到平衡显得十分重要。

       在我实际操作的过程中,系统能解决一部分问题。但随着业务量的增长和精细化,很多时候我们需要做出最快的响应,模拟出最优化的解决方案。因这些需求很多情况是新增的,甚至是临时的,因此,若完全依赖系统,会因为开放周期较长、资源等原因,不一定能100%相应到业务的变化和调整。

        相较之下,对数据源方面进行扩充,增加新的数据内容是相对容易很多的,将这些数据根据实际的业务需求,进行处理、筛选、计算,做成相应的模板,可以大大提高工作效率和精准度,通过模拟计算,及时响应到业务需求

        单独拿“生产—销售”来说,我们要关心的问题有,目前的订单现有情况、订单未来情况、现有的资源情况、即将产生的资源情况,在拿到这些信息后,进行匹配、测试、通过调整,演算出可能产生的结果。最传统的模式是通过Excel进行计算和传递。但随着业务量的增长和客户需求的多样化,仅仅用excel很难跟上业务需求,单纯的某一次运算,都会花费大量的时间。但借助Python的运算,能在极短的时间内产生出大量我们想要的结果。

     在用python进行计算时,主要需要的有以下几个步骤。

车同轨书同文

这一点是一切运算的基石和前提。在生产规划中,我们的数据源多种多样,有销售方的,有制造方的,有库存方的等等。这些数据往往是不对称的。比如同一种商品,销售方成为A,制造方称为B,库存方称为C。就好比《海贼王》在不同平台叫法不一是同一个道理,在腾讯就叫《航海王》;比如因翻译不同,《宝可梦》、《宠物小精灵》、《口袋妖怪》、《神奇宝贝》说的实际上是一个东西。在生产—销售中也存在这样的问题。只有统一了名称,我们才能在各个平台间达成共识,以确保信息的对称性。解决这个问题的方法,就是给每一种商品特定的ID,就跟身份证一样。

     只有统一的ID,才能把所有的商品给串起来。

     但有时候,可能会因为产品的更迭,导致同一种商品,在今年和去年拥有2个ID,所以,我们也需要格外注意把新老ID也统一起来。

       以上说的从商品的种类角度出发。当涉及到具体的某个订单对应到某个商品时,我们还需要给每个商品和每个订单给予特定的ID,以进行匹配。

       Again,以上的统一,是可以通过EXCEL来实现的,但会存在运算复杂,而影响效率的情况。尤其是当数据量暴增时,常常会出现excel转圈圈的情况,更别说后面我们还需要进行更加复杂的运算(当然换个电脑也不是不行)。

建立常用数据库

这点和上一步的车同轨书同文其实同样重要,优先级甚至可以说不分先后。在python上统一ID有两种方法。一种是直接写入代码,比如A商品对应的ID是12345678,B商品对应的ID是23345678……。但显然这不是最优解。因为如果要新增另一模块的代码时,就会要求我们在另一个模块把这段代码添加进去,当新增模块多的时候,难免会有疏漏。

因此,在实际操作中,建立自己的数据库是最优化的方式。我们仅仅通过更新数据库,在代码中调用这个数据库就可以了。完全节省每个模块都更新代码的工作量,不仅如此,还能极大的提升准确率。

业务分析的优先级

在进行完上面两个步骤后,我们才能进一步的到业务分析的模块。在对业务进行分析时,同样会有优先级,当然也会有不影响的并行情况存在。但如果是我们要总结所有资源来进行模拟分析时,这种并行的情况就会越来越少,所有的资源可以理解成一个生态系统(订单、商品、库存、生产等等),当一个部分的某一个点发生变化后,都会影响整个生态。只不过是影响多少的问题。当资源盘大时,某一个点变化对生态的影响微乎其微,但当资源有限时,即使蝴蝶扇一下翅膀,都会对整个生态产生巨大影响。1对于1000的影响只是0.1%,但对10的影响就是10%了

因此,在资源有限的情况下,我们要更加关注精确性。

那我们应该如何对资源进行演算和分配优先级呢?先锁定变化比较慢或者相对容易控制的模块,在进一步推进变化稍微快一些的模块,把变化最快的放在最后再进行演算。举个形象的例子,先分析行动最慢的树懒,最后再分析速度最快的猎豹。当然这里的树懒和猎豹是相对的。根据实际情况的不同,树懒有时会是猎豹,猎豹有时会是树懒。

落脚到实际业务,在计算的过程中,优先级便是先库存、再生产、再订单。值得注意的是,这里的优先级并不是指先把库存分析的透透的,过一段时间再分析生产,再分析订单。这里的优先级,是指运算次序上的优先级。先算库存、再算生产、再算订单,实际上,在最后还会通过订单再倒推库存、生产。在时间的维度上,这几方面是可以看成是同时进行的。

那通过运用python,能达到什么效果呢?可以说,想得到什么样的效果完全取决于业务的需求,想达到什么样的效果都可以实现。比如我现在得到的,能通过这一系列的分析,1min就能得到10张想要的报表。这些报价表或独立,或相关。再进一步,我们可以通过可视化软件(如tableau),将这些报表的展现形式做成模板,以实现自动输出。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值