时间:2024-07-28
赵文丹,韩 雪
(沈阳化工大学信息工程学院,辽宁 沈阳 110142)
自新冠疫情以来,在国内外产业链不稳定的挑战下,企业间的竞争已经逐步转化为供应链成本间的竞争[1]。从物流角度看,供需不匹配是影响供应链成本的主要原因。库存过多会导致成本增加。当库存过少时,供应链有断链的风险。因此,在物资储存和分配方面,特别是对于库存控制,仍需优化以保证成本最小化,同时维持高水平的客户满意度。对于多级库存控制,较多学者从数理模型、应用算法等角度来求解。李卓群[2]将库存成本作为评价供应链性能的指标,建立了复杂非线性供应链系统动力学模型。在联合库存管理的研究下,Yu W[3]将蚁群算法和模糊模型的基本思想应用于供应链库存优化模型。在需求随机条件下,李沁洪[4]建立了3种模式下的库存协同控制模型。陈圣峻[5]在随机需求下选择供应商和库存协同研究。杨欣[6]利用改进的非支配遗传算法(non-dominated sorting genetic algorithms,NSGA-Ⅱ)解决制造服务组合优化问题。
基于随机需求扰动的前提,赵川[7]从控制理论角度推导出库存传递函数建立库存模型,提出基于自抗扰控制的优化模型。群智能算法在求解工程问题时得到了广泛应用,如粒子群算法[8]、蚁群算法[9]和萤火虫算法(firefly algorithm,FA)[10]等。FA易陷入局部最优而且无法逃离。为了提高FA性能,2018年,L.Zhou[11]等提出了1种混合FA,将正交质心对立学习引入FA,并与基准函数进行了比较。赵嘉[12]对萤火虫种群采用双样本学习来寻找全局最优解。
上述改进算法虽然能保证种群以更加高效的方式搜索空间,但是在面对工程问题时没有摆脱局部最优。基于上述分析,本文从萤火虫物理意义角度改进吸引力项和随机项,既保证群体内相互独立,又采用跳出局部最优解的策略,从而提高算法收敛速度。为了验证本文算法性能,使用3组测试函数,将本文算法与一些最新算法进行比较,并运用到工程领域中,证明算法的实用性。
流程工业下多产品多目标生产线建立了三级混合模型。供应链的仿真模型由多个原材料的供应商、工厂、分销商和不同优先级的零售商组成。为考虑现实生活中的加急订单,特设VIP客户模拟紧急订单。其中1个为带有优先级的零售商,遵从订货优先原则。三级供应链模型如图1所示。
图1 三级供应链模型Fig.1 Three-level supply chain model
如图1所示,供应链以客户下游的订单来拉动整个系统的运作。图1中,实线表示物料流,虚线表示订单流。工厂为有资源限制的节点。工厂一条生产线生产A、B、C这3种产品,每次只加工1种产品。一般操作如下。
由零售商总结顾客1 d之内下订单的总量为累积订单,并在截至日期之前比如第二天清点库存,按照时间顺序来满足客户的订单。如果产品有库存,零售商将打包配送给客户,完成订单;否则,将订单视为待完成的订单。由于待完成的订单未能满足顾客的需要,会导致客户满意度 (customer satisfaction, CS)下降。所以零售商需要向分销商进行订货,从而产生订单来满足下游的需要。如果零售商过多地向分销商下订单会导致运输成本 (transportation cost,TC)增加,并且过多的库存会导致储存成本 (store cost,SC)增加。这一过程在供应链系统中重复出现,一直出现到工厂节点。
制定一个系统的决策使整条供应链的利润最大,也就是在保证成本最小化的同时还要维持较高的CS。因此,本文提出了多产品模型来模拟此类型的问题,并制定相应的策略,用不同算法来比较各种策略的优劣。
1.2.1 成本指标
本文建立的模型以供应链多级库存成本最小为目标函数,同时维持高水平的CS。
(1)
式中:T为供应链总成本;k为节点,可表示供应商、分销商、零售商的节点;m为客户的数量;P为单位生产成本;S为单位存储成本;A为单位运输成本;W为分销商向供应商订货的数量,即订货量;M为零售商向分销商订货的数量;U为客户向零售商订货的数量;τ为时间常数。
1.2.2 CS
CS为零售商完成客户订单的比值,具体如式(2)、式(3)所示。
(2)
式中:C为客户对于三种产品的满意度;U为客户向零售商节点的订货量;R为客户收到产品的收货量;N为零售商节点个数。
式中:m为客户的数量;λ为三种产品各自占总产品数目的比例。
在FA中,每只萤火虫个体代表问题的可行解,全局优化的过程实际上是移动每只萤火虫位置的过程。每只萤火虫向着亮度更高的萤火虫飞去,同时亮度正比于萤火虫之间的吸引度。当2只萤火虫距离变远时,由于空气介质的存在,光被吸收,在光减弱的同时吸引力变小。对于1个维度为D,种群个数为N的个体,第i只萤火虫的位置为x1,x2,…,xi。萤火虫之间的亮度和吸引力分别为I和β,萤火虫的相对亮度和吸引力分别如式(4)、式(5)所示。
I=I0×e-γ×rij2
(4)
式中:γ为光强度吸引系数;rij为萤火虫i与萤火虫j之间的欧氏距离;当r=0时,I0为萤火虫的初始荧光亮度。
β=β0×e-γ×rij2
(5)
式中:β0为萤火虫的自我吸引法,由萤火虫之间的亮度决定。
算法的位置更新如式(6)、式(7)所示。
式中:xi、xj为2只萤火虫i、j在维度D中的空间位置。
xi,t+1=xit+β0×e-γ×rij2(xjt-xit)+α×(rand-0.5)
(7)
式中:α为步长因子;rand表示(0,1)之间的随机分布。
2.2.1 萤火虫的吸引力项改进
为了便于研究FA的位置更新方程,将FA分为初始位置项xit、吸引力项Aij和随机项Bij这3项。
Aij=β0×e-γ×rij×rij
(8)
在一维空间中,2只萤火虫xi与xj之间的距离设置为[0,10]。
随着萤火虫之间距离的增加,吸引力项的值从0开始快速增加。当距离大于3时,萤火虫间的吸引力值下降。为了克服这个缺点,在吸引力项中引入了吸引力加强因子,实现全局搜索策略。吸引力项Aij更新如式(10)所示。
式中:K为吸引力加强因子;b、h为待定常数,取值分别为10、100。
式中:γ、β为待定常数,值分别为0.05和1。
2.2.2 萤火虫的随机项改进
当FA进行到后期时,由于萤火虫之间距离逐渐减小,算法趋于局部收敛。引入随机项可以防止FA陷入局部最优,提高FA的搜索效率。为此,本文引入了阻尼振动曲线式(12)。根据振动曲线的优点可知:当萤火虫间距离减小时,式(11)起主要作用;当萤火虫间距离变大时,式(13)起主要作用。重新构建随机模块,如式(13)所示。
Bij=α×(rand-0.5)
(11)
y=A×e-a1×t×sin(a×t)
(12)
Bij=g×k×Ai,j×(rand-0.5)+f×
sin[2π×(rand-0.5)]
(13)
式中:Bij为随机项;k、f、g、a、a1为待定参数,目的是平衡搜索效率和收敛行为。
初值为k=0.8、f=0.89、g=0.62、a=1、a1=1。
2.2.3 自适应光系数
式中:t为当前迭代次数;T为最大迭代次数;s为待定参数,初值设为0.1。
随着迭代次数的增加,萤火虫之间距离减小,介质吸收光变少,改进光吸收系数变为自适应系数,由0.1增大到2。较小的初始值和较快的增加速度,使得算法收敛能力加强。
在本文中定义种群N=10,根据适应度取前70%定义为优解,剩下的称为劣解,概率p为(0,1)均匀的随机数。将优解和依据概率p选择的劣解共同执行改进后的萤火虫飞行策略,将(1-p)概率的劣解引入莱维飞行策略,以保证种群的多样性。其位置迭代式为:
Xi,t+1=Xit+β0×e-γ×rij2×(Xjt-Xit)+α×
sign(rand-0.5)⊗levy(β)
(15)
式中:Xit为t时刻萤火虫所在位置;α为步长控制因子,本文取值为 1;sign()为符号函数;⊗为内积运算。
式中:v和u是服从方差为1、均值为0的标准正态分布的随机变量。
式中:β为常数,本文取β=1.5;Γ为伽马函数。
在算法迭代过程中,对萤火虫局部最优解进行检测。若某个体连续5代未发生变化,说明个体达到局部最优,易陷入局部最优解,则执行以下混沌变异过程。
式中:d为步长;xmax和xmin分别为搜索空间范围的边界值。
xit=xmin+μ×(xmax-xmin)×d×(1-d)
(19)
式中:μ为混沌控制参量。
本文中μ=4,而且种群中的每个粒子的位置都有(1-p)的概率进行混沌变异。这进一步增强了全局的搜索能力,扩大了搜索空间和种群的多样性。
改进萤火虫算法(improve firefly algorithm,IFA)流程如图2所示。
图2 IFA流程图Fig.2 IFA flowchart
仿真试验环境是Matlab2018b,采取3个基准测试函数来验证IFA的优化性能,与FA进行对比。其中F1、F2为单峰函数,F3为多峰函数,取种群数目N=25,迭代次数T=1 000,维度D=10,运行20次。其中,基本测试函数F1为:
式中:x在F1中范围为[-10,10]。
测试函数F2为:
式中:x在F2中范围为[-30,30]。
测试函数F3为:
(22)
式中:x在F3中范围为[-32,32]。
FA与IFA的最优适应度与平均适应度对比如表1所示。
表1 FA与IFA的最优适应度与平均适应度对比Tab.1 Optimal fitness and average fitness compared with FA and IFA
由表1可知,IFA比FA具有更好的适应度值、更优的平均值。由此说明改进后的算法真实有效。
以测试函数F1为例,算法收敛速度对比如图3所示。
图3 算法收敛速度对比图Fig.3 Comparison of algorithm convergence speed
由图3可知,IFA 在70代收敛;FA在90代收敛;和声搜索(harmony search,HS)算法在120代收敛;人工蜂群(artifical bee colomy,ABC)算法在130代收敛。由此可以看出,IFA收敛速度最快。迭代后期可以看出:虽然HS算法、ABC算法、FA都已收敛,但是精度不高;IFA具有更快的速度收敛而且精度最高。
在Matlab2018b中,用正弦信号模拟客户3种产品的订单,按照控制率零售商向上级订货。控制率为:
U1=λ×(R-P)
(23)
式中:U1为零售商节点向分销商节点订货的件数;P为零售商库存;λ为零售商向上级订货的比例。
式中:U为客户订货量;K1、K2为λ对应的参数。
按照控制率零售商向分销商订货,分销商向供应商订货,计算供应链总成本,用IFA进行例证,用ABC算法与HS算法进行对照仿真试验。不同算法成本对比如图4所示。
图4 不同算法成本对比图Fig.4 Cost comparison of different algorithms
将IFA用于实际供应链三级库存模型中,HS算法易陷入局部最优解,ABC算法没有达到最优解还降低了CS。各算法对应指标如表2所示。由表2可知,IFA能够避免陷入局部最优解,同时成本减少10.1%,保持CS 98%以上。
表2 各算法对应指标Tab.2 Corresponding indexes of each algorithm
本文提出了IFA,引入吸引力增强因子和自适应光系数来增加算法全局搜索速度。针对FA在寻优过程中容易陷入局部最优解的问题,采用莱维飞行和混沌变异,在增加种群多样性的同时避免局部最优。数值分析证明,改进后的算法真实有效,应用于供应链库存模型中可减少库存成本98.9万元、提高CS至98.4%。该结果证明了IFA在供应链库存控制上是更优的解决方案 。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!