上一篇写的很多朋友批评我标题党,所以你看,这一篇的标题朴实无华,什么重磅,什么明珠统统拿掉了。
但是吃饭么,不是也有很多花样,所以先给大家加个菜:网络优化和比特币,有什么共同之处?
大家去网上搜一下“网络优化”,搜出来的图大概是这样的,是不是看起来很高级?
我们用一个三级的供应链网络来解释一下。在这个三级供应链网络里,假设有三家工厂,两个仓库,5家客户,一种产品。任何一个客户的需求,都必须从仓库来满足,而任何一个仓库的补货都可能来自三家工厂中的任何一家。用一个简单的网络图来表达下:
在实际运营中,客户是逐步积累的,门店是一家家开的,生意是慢慢做大的,工厂是逐步扩产的,所以在这个逐步发展的过程中,当业务量发展到足够大的时候,企业回过头来看自己的供应链,就是一张巨大无比的网。当老总对着报表给供应链部门派KPI:“今年要节省15%的供应链成本!”,就会引发一些思考,我们目前的分配模式是否合理?
在前面那个简单的3x2x5的三级模型里,假如没有任何限制,就有30种可能的供应路径和配送组合。这30种选择对应着不同的供应链成本,工厂是不是都需要?仓库选在那里?那个厂像那个仓库配送?那个是最优方案?而解决这个问题背后所用到的工具,就是线性规划。
对,就是让你大学差点不及格的线性规划。
跟上次讲的EOQ问题一样,我们老师只教你解题,不教你用。导致现在在供应链职场里会做网络优化的人非常少。而不是吹牛的话,任何一个大学毕业的工科学生花点时间都能搞清楚这门手艺。线性规划在excel里就有自带的求解工具叫solver,当然solver只能求解200个变量之内的优化问题。如果你的模型要解决更多的变量,你就需要能力相对强一点的工具,比如IBM的CPLEX算法。
而线性规划,作为网络优化的底层技术,则有着更广泛的应用。这就是跟比特币的共通之处,区块链作为比特币的底层技术,也非常可能在未来颠覆我们供应链管理的方方面面。(我们以后会讲的!)
数字货币,你想想看嘛,是怎么做到不让你拷贝复制的?没有一个中央的发行和清算机构,你怎么证明你有一块钱?
好了,我们继续讲网络优化。怎么做?
设定目标
网络规划的目标是成本最优。如果我们将成本公式细化的话:
总物流成本 = 工厂仓库物流成本+仓库客户物流成本+工厂固定成本+仓库固定成本
工厂仓库物流成本:工厂到仓库不同线路上物流量和物流单价的乘积总和
仓库客户物流成本:仓库到客户不同线路上物流量和物流单价的乘积总和
需求整合
工厂,仓库,和量的分配都是变量,而客户需求在网络优化问题中则是定量。也就意味着网络优化是在一定量的客户需求下来求解的。如果客户需求发生大的变化,比如客户C1的需求翻了10倍,毫无疑问将颠覆整个网络的规划。
而在实际网络优化问题中,我们知道如果有多少客户就对应多少选择(变量)的话,这个模型则会非常大。很多行业则可能面临客户需求不稳定,当然了,如果你是项目型的业务,明年的客户取决于明年中的标,那你也没有什么网络优化可以做。所以针对需求需要做一定的整合,一般有几个常见的整合操作:
根据城市整合,好处是如果运价是按照城市到城市来定价的,后面会比较好操作
根据邮编,有些城市非常大,比如上海浦东新区和宝山就是两个概念,邮编更加精准
假如我们整合好的需求如下:
决定运输单价
而模型的另外一个非常重要的输入,就是运输单价。运输价格一般会受到很多影响,整车或配载,运输时效,转运,等等。这里的处理办法有很多,也很难讲哪一种最好,你可以用历史实际数据,可以用公里数以及每公里运价做估算。在这里我们假设每件产品的运输单价如下:
仓库和工厂成本
在这个简单模型里,我们假定只要使用一个工厂/仓库,不管多少量,就会有一个固定成本必须支付:
限制条件
限制条件是线性规划的重要组成部分,只有在限定的条件之内,寻求最优解才有意义。我们这个模型就有如下限制条件:
所有的变量都要是整数:因为前面的产品都是个,不可能为了某个客户的需求,从仓库1发0.5个,从仓库2又发0.5个,所以所有的分配两都要是整数;
所有的变量都要大于零:没有任何运输就是0,不可能是负数;
要满足所有客户的需求:所有路径的量之和要大于等于客户的需求数量;
仓库库存为0:因为在这个模型里,仓库是作为中转,意味着进多少就要出多少,所以留存库存数是零;
开关逻辑限制:我们前面讲了,如果要用某一个工厂/仓库,就要出发相应的固定成本,哪怕只有一个产品。
这些限制条件在建模的时候,就要用数学语言表达进公式,这样程序才能帮你去运行。前面四个限制条件大家在excel里面实现都不成问题,第五个比较难。
首先要对工厂/仓库定义一个逻辑开关变量,设定成binary,也就是非0即1。然后用一个公式,来达到只要有一个产品是从这个仓库走的,这个逻辑变量就是1,公式表达如下:
产出量之和– 逻辑变量*100000000000 <=0
嗯,自己好好体会体会。
以上所有,本来应该都用公式表达的,但是我有点嫌word公式编辑器麻烦,如果觉得需要的朋友很多我就再贴上来。
好了,这个模型就建好了。
在excel里面大概长这样:
在solver里面设置的约束是这样:
求解的话,最优的策略得到工厂只用P1,仓库只用W1。
你也可以加上更多的限制条件,比如产能等等,看看不同的策略结果。
需要注意的是,算法只是算法,算法会为了多省一分钱,而去做人可能认为是不合适的决策。
如果有更进一步的问题,可以给我发消息。
相关好文如下,点击即可阅读
网络规划中的启发式算法--数学化的经验
网络规划中的重心法--人人能懂的算法
如何用Excel做供应链网络优化(通俗易懂)
一文读懂供应链网络模型:最短运输距离和重心法
供应链神人:不用系统也能处理海量订单
物料计划中如何使用Excel实现一对多反向查询功能
有了ERP 软件,供应链人为什么还依赖 Excel 表格?
Excel新技能 -- 产能与销售策略最优决策分析
用Excel进行库存数据分析(一)文字版
用Excel进行供应链数据分析:指数平滑和线性回归(附视频)
用Excel进行供应链数据分析:时间序列模型之移动平均(附视频)
用Excel进行供应链数据分析:获取外部数据(附视频)
Excel函数中有个落寞的绝顶高手,如今却只使用其最基础的用法或装13
如何通过EXCEL建立采购成本的分析表
ABC分类库存控制法:不手动排序,如何用Excel进行ABC分类
为什么很多公司的ERP系统用得还不如Excel

