首页 > 其他分享 >【转载】基于物料限制逆向实现产品组合的最优规划

【转载】基于物料限制逆向实现产品组合的最优规划

时间:2023-05-14 18:23:18浏览次数:54  
标签:物料 逆向 逻辑 产品组合 MRP 基于 约束

原文:https://www.logclub.com/articleInfo/NTEwNzg=

 

在之前的案例中,我们分享的主要是如何用算法模型来提高决策效率与质量,并以此节约运营成本,整体上是如何把已有的事情做的更快更好。这次给大家分享的是,过去比较少见,但是当前越发频繁的场景,就是关键物料短缺下如何实现资源效率的最大化应用。当前供应链的形态不仅前端需求波动加剧,后端的物料供应也剧烈波动,而且是限量限类别。基于无限供应的传统MRP逻辑已经无法适用,如何基于有限的物料资源,利用运筹优化技术通过逆向寻优实现产品组合的最优规划成为了一个普遍的诉求。

 

 

 

 

 

案例公司传音控股背景介绍

 

 

 

 

 

深圳传音控股股份有限公司,是一家全球知名手机制造商,与传统手机强厂华米OV不同,传音聚焦海外市场,尤其是非洲市场,在国际上有着极大的影响力。公司采用机海战略,取得了不错的市占率,但同时也带来了极大的供应链复杂度,SKU达到上万,物料数量同样上万,是名副其实的超高复杂供应链。公司在2020之前还没有感觉到有明显的协同压力,因为产能充裕,物料充裕,销售需求基本都能满足,主要就是成本控制。但是2020年后供需关系发生了反转,全球爆发了芯片荒,这种不稳定且限量的形态引发了资源合理配置诉求,公司不得不成立了产销协调委员会,其主要工作就是分配货源,做好战略储备。但由于产品结构过度复杂,人脑难以应对,只能凭经验做一个资源分配预估,然后与前端进行沟通确认,导致过程模糊无法追溯,结果因人而异,因时而异,缺失标准,难以优化。公司希望在全盘考虑各种约束前提和优化目标下借助算法建模实现有限资源的最优分配。

 

 

 

 

 

 

 

关键约束与业务逻辑介绍

 

广告

 

 

 

 

在建模过程所需考虑的约束和规则如下图,一共有10项。为了便于大家理解,我们对其中3条关键约束和规则如概要阐述。

 

 

  • 瓶颈物料约束

MRP的逻辑专业人士都非常了解,无论是ERP自带的MRP功能,还是专业计划系统的MRP功能,他都有一个重大前提是,物料的供应是无限制的。但是疫情的发生导致全球发生了各种缺货,芯片荒是其中最著名的缺货,企业的采购提前期已经达到了9个月以上。不仅仅是芯片,目前还进一步扩展到了摄像头等其他关键零部件。如果按照创按照传统MRP逻辑基于成品需求计算物料需求,则会出现芯片等关键物料无法到货,而其他物料超额采购,无法齐套生产导致物料大量转售的情况。所以需要一个模型能基于已有的芯片及其他物料的供应能力,计算能实现多少市场需求,同时还要考虑不同产品的战略定位以及利润水平,以收入或者利润目标最大化来精心规划整个资源分配计划,类似一种以产定销的逻辑。我们需要把这种关键原料供应能力的约束看做运行MPS的另一个约束条件,也就是MPS的约束条件不仅仅是产能约束,供应网络约束,工艺约束,还增加了关键原料供应能力约束,基于上述约束后的MPS运算结果再去跑MRP。

  • 齐套性约束

通常来说,逆向计算并不是一件困难的事情,只需要基于原料供应数量生产对应数量的成品即可。但作为离散制造型企业,齐套性是一个关键的考虑因素,尤其是在多种物料均出现短缺的情况,极易出现产品甲有A缺B,产品乙有B缺A这样的错配情况,所以需要在逆向匹配过程中,遵循最大化齐套的原则进行分配,避免资源错配带来的浪费。

  • 不对称替代约束

其次,手机作为一种高度模块化的电子产品,即便是同款成品,也可能会有大量的可替换物料存在。同一款物料,对有些成品来说可能是专用物料,对有些成品而言可能只是可替换物料中的其中之一。若不加注意,极有可能出现,产品甲可使用ABC三种型号摄像头,而产品乙只能使用A型号摄像头,但产品甲在匹配时将A型号摄像头提前使用殆尽了,导致产品乙无料可用,只能缺货。但其实只要产品假使用BC型号,两种产品均可实现正常生产。

 

 

 

 

 

项目效果

 

 

 

 

 

关键物料约束再叠加齐套性和不对称替代约束下运行MPS计划是个极其挑战的任务,这种复杂的逆向寻优诉求让主要基于正向逻辑,并不支持运筹优化计算的传统MRP系统无所适从。最终,还是基于运筹学线性规划算法为核心的高度定制化建模来帮助这家公司成功的解决这个复杂的逆向优化问题,将整个原来依赖人的经验和沟通能力的黑盒计划过程变成了逻辑清晰,透明量化以及可优化可扩展的白盒计划。并且将这个过程中大量由于沟通不到位、数据传递不到位、经验主义等多种问题也随着模型标准化逻辑的匹配而暴露,为公司规范产销协同流程提供了帮助。

 

 

 

 

 

为何传统MRP逻辑难以支撑这种需求?

 

 

 

 

 

为何会出现这样的逆向优化诉求?主要原因是疫情叠加政治因素导致的贸易争端对供需两端都带来了巨大的波动,不是仅仅需求波动,而是供应也出现了刚性制约,甚至短时间内不是需求驱动,而是供应驱动,不是以客户为中心,而是要以供应商为中心了。所以,现在的计划逻辑不仅仅要能够支持正向推演,也要支持逆向寻优,同时在这多变的商业环境下,能够跟随变化进行快速迭代。为何传统的MRP逻辑难以应对?标准的MRP计划系统以物料需求为无限假设,BOM与产品必须一对一,也不支持运筹优化,结构也更加刚性,其满足个性化管理诉求以及快速迭代的能力非常受限。

我们说计划是体系运作的中枢,所以计划需要承载执行的逻辑变动,策略的调整,战略方向变化,业务逻辑重构等,这也导致了计划的逻辑体系是多变的,也需要能应对这样的变化。我们需要一种松耦合,高弹性,自迭代的轻型算法技术,在专业计划系统基础之上承接个性化与多变的业务场景,与成熟系统相配合,并最终借力流程和业务逻辑的重构最大化专业计划系统的价值。

标签:物料,逆向,逻辑,产品组合,MRP,基于,约束
From: https://www.cnblogs.com/techbudd/p/17399829.html

相关文章

  • 【攻防世界逆向】《re1-100》《EasyRE》《parallel-comparator-200》《simple-check-1
    题目re-100解法exeinfo无壳64位放进ida64上面很多内容,比较冗长,下面这些判断比较吸睛。大概就是进行一些对比后最后和一个字符串进行比较。直接提交,失败的。那我看一下上面的这个函数做了什么。是将这个字符串打乱了,打乱了之后才是下面那个。所以我们将原字符串10位分一个......
  • 【攻防世界逆向】《re-for-50-plz-50》《srm-50》《Mysterious》《Guess-the-Number》
    题目re-for-50-plz-50解法题目不难,先exeinfo32位elf无壳,但是我在做的时候碰到了一些困难,原本用的是低版本的ida,在f5进行反汇编的时候失败了,然后在吾爱下了一个新版本的ida,就反汇编成功了。以下看起来非常简单明了,关键在于有一个字符串和55进行了异或,点进去看看这样一个,好......
  • Crackme逆向分析365例-001
    【Crackme逆向分析365例-001】  表哥是神,误落凡尘说明:本篇练习是表哥逆向分析365系列的第1例,所使用的CrackMe本体来自于网站:https://crackmes.one/,您可在此网站通过作者名或本体名查询下载,也可从本贴中提供的网盘地址下载,其CrackMe本体信息如下所示:本体名称:[EASY]CrackMe......
  • JS逆向基础
    JS逆向基础简单记录一下JS逆向用到的一些知识。一、常见的加密算法及特点MD5:加密后有16位和32位,以0-9和小写a-f组成。其中16位的就是截取中间的第9至第24位,判断是否以MD5加密,主要看一下两点:是否符合16位或32位,加密后的结果是否是0-9,A-F。AES:对称加密算法,加密和解密用同......
  • app逆向之安卓native层安全逆向分析(七):unidbg自尝试某潮流app+dvmObject[]处理
    前言跟着龙哥搞了几次unidbg了,这次也自己尝试用来分析下某潮流app了。分析1.抓包先抓个包 我们要搞的就是这个sign-v1了。  2.调试找参数jadx一顿分析,一搜: 搜出来还不少,往下翻,找找一些特征,很快找到这里 点进去    ok,用objectionhook之后,发现不是......
  • MyBatis逆向工程配置文件及一些配置解释(跑通)
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.d......
  • 逆向常遇问题总结
    FatalJavaScriptinvalidsizeerror169220804问题阐述:内存不足超出了最大内存堆栈。问题解决:其实非常简单如果是平常开发过程中需要检查好自己的列表变量如果是逆向过程中,检查下代码中的格式化校验搜索newregex.test然后后面的tostring的那个函数。重新把前......
  • 【攻防世界逆向】《getit》《no-strings-attached》《csaw2013reversing2》
    题目getit解法先用exeinfo打开看看文件格式无壳elf文件,放进ida64打开看看,并f5查看伪代码耐心的学习了一下。我先学了下面的文件操作fseek修改原指向stream流指针,按照第p【i】个位置从左开始数fputc把前面内容从上面的指针开始编辑不带格式化fprintf把内容写入流文......
  • 逆向-第五次实验-PE文件解析
    #include<stdio.h>#include<string.h>#include<windows.h>charFileName[100]={0}; voidPrintNTHeaders();LPVOIDReadPEFile(); intmain(){ printf("Pleaseinput:(forexample:D:/user/Desktop/PE文件对齐、内存对齐/解析pe头文件/实验.exe)\n"......
  • 【验证码逆向专栏】某验全家桶细节避坑总结
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作......