陶永才,杨 晨,马建红,石 磊,卫 琳
1(郑州大学 信息工程学院,郑州 450001)
2(郑州大学 软件学院,郑州 450002)
目前制造业的备件供应仍是焦点问题之一,主要因素为产品更新换代快,大量旧件积压;配件周转率低,增加有效性检测成本;而且不同备件在各个库的分布种类及数量欠缺系统性考虑,为预防紧急事件,不得不采用“备足”方案.备件供应需求预测的准确性不但影响企业对市场的布局,也影响企业的营销策略.
在实际生产中,备件供应的及时性以及库存成本的最小化控制是备件供应策略的重点[1].在备件的供应过程中,将产品运输到客户仍需要一定的时间,在这段时间内仍然会有备件的消耗,因此,备件供应优化问题的研究不能独立于库存问题,而要结合备件库存和供应协同处理研究.库存策略决定了备件的需求和供货时间,供货策略决定了备件的提前期和最优供货时间分配方案.因此,这两个问题是相互关联、相互影响的,只有考虑到库存和供应的共同优化,才能使其更加切合实际需求[2].
随着神经网络在预测问题中的兴起,其中,BP神经网络在预测问题中的应用非常广泛,但是也存在收敛速度慢、迭代次数多、易于陷入局部最优和全局搜索能力差等缺点.因此,往往采用智能优化算法对BP神经网络进行优化,利用智能优化算法在解析空间找出较好的搜索空间,再用BP神经网络在较小的搜索空间内搜索最优解[3].而粒子群优化PSO(Particle Swarm Optimization)算法作为群体智能优化算法的一种,在解决复杂问题时前期的全局搜索能力较强,粒子能快速聚集在局部最优值附近,因此往往使用粒子群算法来优化神经网络的连接权值和阈值[4,5].但标准的PSO优化仍然有一些缺点,比如:参数太多;在求解不同的优化问题时很难确定参数的最优组合等.因此,粒子群算法往往会过早收敛,导致陷入局部最优.
因此,本文将BP神经网络应用到备件供应需求预测模型中,并通过提出的改进的粒子群算法对BP神经网络的连接权重和阈值进行优化,研究基于IPSO-BP神经网络的备件供应需求预测模型.本文的主要贡献为:
1)提出一种以最小化总成本为目标,以订货点的备件需求量为核心的备件供应需求预测模型.
2)将粒子群算法中惯性权重的改进,环境检测策略和自适应最优解跳跃策略结合,提出一种改进的粒子群算法,用来优化BP神经网络的连接权重和阈值,使基于IPSO-BP神经网络模型有更好的预测性能.
3)通过IPSO-BP神经网络模型对备件供应流程中订货时的备件需求量进行预测,实验结果对比表明,IPSO-BP神经网络模型的预测更加精准和稳定.
近些年来,国内外学者在备件供应优化方面的研究都有很大进展.孙林夫[6]通过对制造业产业价值链协同调度平台的建设与研究,提出多产业链超链业务协同的产业协同服务平台发展模式,为产业链上下游的备件供应等问题的提供解决方案.李斌勇等人[7]以云服务思想为依据,提出一种产业链云服务平台总体方案,并构建一种产业链云服务平台信息支撑体系,解决产业链上下游备件供应中的信息流通等问题.吕瑞等人[8]提出一种分布式备件库存协同方法,并应用于汽车产业链云服务平台,优化整个产业链对备件供应的响应时间.Marzio等人[9]通过遗传算法对备件供应中备件数量分组系统进行优化,并以最大化总收益和最小化总备件库存等为目标对备件供应进行多目标优化.Kutanoglu等人[10]以最低总成本为目标对备件供应策略进行优化.Olsson等人[11]则是以最短提前时期为目标进行优化.Hnaien等人[12]研究了两级供应链库存运输管理问,在他们的构建的网络中,设定一个供应商为一组客户服务,客户的需求是已知的,但是需求是周期性变化的.Kang等人[13]研究了一个涉及一个供应商和多个客户的运输——库存联合优化问题,通过优化策略判定某个客户作为配送中心,并将其他客户分配到配送中心,模型设置为每个客户只能使用一个配送中心,并且所有运输周期都是相同的.Zhao等人[14]提出一个单供应商多客户的库存——运输供应模型,他们的模型中客户的需求是固定且已知的,而且,在他们的模型中,提前期被定义为零.
随着神经网络的发展,研究人员在神经网络的基础上融合其他算法,进一步对神经网络的参数,连接权重,阈值等进行有针对性的优化,使备件需求预测模型更加多样,同时预测精度有更大的提升.Zhao等人[15]通过建立工业供应链多产品三梯队库存控制系统的仿真模型,并在模型中应用多种混合库存控制策略,研究结果表明,在订单不确定性的影响下,混合库存控制策略可以使供应链的总熵比和顾客满意度达到最优.Zhou等人[16]针对解决供应链环境动态和规划变量空间较大的问题,将深度学习的方法和局部搜索方法结合,提出一种新的连续评审多梯队的库存动态模型优化方法,仿真结果表明,该方法在适应性和求解时间效率等方面都有显著提升.Achin Srivastav等人[17]研究了订单交叉下的库存问题,提出一种高效的混合库存系统,并采用多目标布谷鸟搜索算法求解库存问题,实验结果表明,提出的多目标交叉库存系统具有更强的可持续性.
粒子群算法本质上是模拟一个生物种群的社会状态,最早是通过研究鸟群觅食过程中的迁徙和群聚行为,进而提出的一种基于群体智能的全局随机搜索算法.算法中每只鸟都被视作粒子群中的一个粒子,通过迭代进行信息共享,结合自己的经验,并通过个体和群体两方面的信息,进而不断改善自己的飞行状态.粒子群粒子群算法首先初始化粒子,每个粒子综合考虑自己的最优前解和种群中找到的最优解来确定自己的位置和速度.假设在D维目标搜索空间中有个粒子,向量xi=(xi1,xi2,…,xid,…,xiD)是粒子的位置,向量vi=(vi1,vi2,…,vid,…,viD)是速度.粒子速度受到如图1所示的3种分量的影响,具体如图1所示.
图1 粒子群算法粒子运动轨迹
a.物理成分:粒子倾向于遵循自己的路通过.
(1)
b.认知成分:粒子倾向于回到它曾经已经达到的最佳位置移动.
(2)
c.社会成分:粒子倾向去它周围粒子已经达到的最佳位置移动.
(3)
因此,每个粒子根据以下公式更新其速度和位置[18]:
(4)
(5)
BP神经网络是一种按误差逆向传播进行算法训练的多层前馈网络,也称反向传播神经网络.它的训练规则是通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出.本文使用一个3层的BP神经网络的结构,如图2所示.并对BP神经网络的参数进行定义,如表1所示.
图2 3层BP神经网络
表1 BP神经网络参数定义
神经网络的激活函数采用Tanh函数,函数表达式如式(6)所示.
(6)
神经网络训练集中的每对样本数据实际输出的值和预期输出的值之间的偏差定义为误差函数,如式(7)所示.
(7)
所有样本数据对的总误差表达式如式(8)所示.
(8)
隐藏层各个神经元的输入表达式如式(9)所示,输出表达式如式(10)所示.
(9)
(10)
输出层各个神经元的输入表达式如式(11)所示,输出表达式如式(12)所示.
(11)
(12)
备件供应策略在制造业服务价值链协同中的本质可以定义为协调资源去优化从制造商到客户之间的货物交付、服务、信息传递、平衡供求关系的一种前瞻性过程.图3描述了3级备件供应链网络,货物流和信息流分别用实线和虚线表示.在这个3级备件供应链中,客户的信息流用来反馈的客户的备件需求,供中转仓判断需求是否会耗尽库存,同时中转仓希望能够维持一个理想的库存水平,当库存不足时,中转仓会向制造商发出预警.而在备件供应的过程中,将备件运送到下一级客户需要一定的时间,而在这段时间内依然会有备件的消耗,这段时间一般被定义为提前期.
图3 3级备件供应链网络
实际上,不同客户厂商根据需求情况不同会有不同的提前期,因此,在(T,St)库存策略下,以时间间隔T作为一个固定的检查周期,对客户的库存数据进行动态查询,并且结合本文的备件供应模型,通过准确的计算出不同客户厂商的订货点和订货量,可以保证在降低库存成本的同时,减少缺货次数.
模型基于以下假设:
1.制造商的生产能力和中转仓库存能力是无限的,因此不考虑制造商的生产中供不应求的问题,不考虑中转仓库存成本的问题.
2.从制造商仓库到中转仓的单位运输成本和运输时间,以及从中转仓到客户厂商的单位运输成本和运输时间是已知和固定的,且不同的客户厂商与各个中转仓的距离是相同的.
3.将提前期定义为供应过程中的运输时间,每个客户厂商具有相同的重要程度,其最大库存能力是已知和固定的,并且设定库存盘点的周期等于备件供应提前期.
对模型中的符号给出定义,如表2所示.
表2 备件供应模型符号定义
该模型的目标是当到达库存盘点节点t时刻时,通过改进的粒子群算法优化的BP神经网络,预测出t时刻的备件需求数量,最终达到的最小化总成本的目标.其中,总成本包括库存成本、缺货损失费用、订货成本和运输成本.本文的目标函数定义如式(13)所示.
(13)
其中,α(t)为客户厂商j在t时刻是否缺货的判定公式,如式(14)所示.
(14)
β(t)为客户厂商j在t时刻是否需要进行订货的判定公式,即客户厂商j是否把t时刻定义为订货点的判定公式如式(15)所示.
(15)
则所有客户厂商在t时刻的总目标成本如式(16)所示.
(16)
上式的约束条件如式(17)所示.
(17)
本文通过使用改进的粒子群算法优化的BP神经网络对在订货点t时刻的备件需求量进行预测,理想预期输出的备件需求量预测最优值如式(18)所示.
(18)
4.2.1 惯性权重的改进
权重函数可以调整算法的整体和局部搜索能力.在标准的粒子群算法中,惯性权重值越大,会使粒子沿其原始方向具有更快的速度,从而到达更远的区域,意味着更好的全局搜索能力.惯性权重值越小,粒子沿其原始方向的速度越小,意味着局部搜索能力越强.通常希望粒子群在迭代开始时具有优秀的全局探索能力,在迭代后期表现出良好的局部搜索能力.所以,通过在前期设置一个较大的权重值,保证粒子可以遍历整个空间;同时,在后期设置较小的权重值,增强局部搜索能力.因此,在初始搜索阶段,通过构造函数使惯性权重系数非线性减小,使得算法在此阶段具有更强的进行全局搜索的能力,并尽快进入局部搜索;经过多次迭代后,惯性权重系数开始直线下降,使得算法能够稳定地找到最优解,以此对粒子群算法进行优化.
构造惯性权重的函数如式(19)所示.
(19)
s1(k)和s2(k)值的推导如式(20)、式(21)所示.
(20)
(21)
其中,k是当前迭代次数,K为迭代次数的最大值,ωmax和ωmin分别表示惯性权重的最大值和最小值,s1(k)是非线性函数,s2(k)是线性函数,ωc是粒子进行搜索后惯性权重的初始值.
4.2.2 环境检测策略的改进
在整个粒子群算法的优化过程中,当参数发生变化时,会直接导致优化环境的变化,所以优化算法应该能够快速检测环境的变化并对新问题进行优化.因此,通过设置一个环境检测器,直接检测模型参数的变化,进而对环境的变化进行检测.
环境检测器算法如式(22)所示.
(22)
当环境检测器检测到环境变化后,便需要对新环境下的优化算法进行求解,一种办法是直接对粒子进行初始化,但这种办法会影响算法的快速收敛;但如果不对粒子位置进行改变,会因为内存机制的原因,进而导致整个优化算法陷入局部最优解.因此,需要在保证不影响算法收敛速度的前提下,对相应粒子的位置进行调整,本文采用自适应最优解跳跃策略来解决该问题.
4.2.3 自适应最优解跳跃策略
在迭代过程中,由于环境的变化,标准的粒子群算法容易陷入局部最优,在这段时间内粒子会失去全局搜索的能力,这也是大多数优化算法所面临的问题.因此,参照遗传算法的“突变”操作,引入一个突变粒子来构造最优解跳跃策略.当环境变化后,则引入突变因子来调节粒子的位置,使其进入其他区域继续搜索,可以有效地避免粒子陷入局部最优,同时扩大全局搜索的区域,使算法获得更好的全局最优解.算法公式如式(23)所示.
(23)
其中,t为陷入局部最优解时的迭代深度,s是所调节的搜索长度,函数表达式如式(24)所示.
(24)
(25)
4.2.4 改进的粒子群算法(IPSO)
通过3.1节对标准粒子群算法的描述,并结合以上3点改进,构造出改进的粒子群算法,如算法1所示.
算法1.IPSO
输入:种群规模P;粒子维度D;最大迭代次数K;粒子初始位置xid;粒子初始速度vid;惯性权重初始值ωc;初始局部最优解Pibest;初始全局最优解Pgbest;
输出:优化后最优的粒子位置和粒子速度;
1.fork≤Kdo
2. update the inertia weight factor use Equation(19)
3. calculate the fitness of each new particle
4. detect whether the environment changes based on Equation(22)
5.ifchangeddo
6. updatexiuse Equation(23)
7. initial thePibestandPgbest
8. calculate the fitness of each new particle
9.endif
10.iff (xi) 11.Pibest=xi 12.endif 13.iff(Pibest) 14.Pgbest=Pibest 15.endif 16. update the position ofxibased on Equation(4)and Equation(5) 17.k=k+1 18.endfor 算法1首先判断迭代次数是否达到目标迭代次数,如果没有,则继续进行迭代(第1行).然后利用公式(19)对惯性权重ω(k)进行更新,并通过构造的适应度函数给粒子进行赋值(第2行-第3行).利用公式(22)检测优化环境是否发生变化,如果判断环境发生变化,则利用公式(23)更新粒子xi的位置,并初始化局部极值和全局极值,通过构造的适应度函数给粒子进行重新赋值(第4行-第9行).最后,通过判断粒子的适应度函数值,如果当前粒子的适应度函数值小于局部极值的适应度函数值,则由该粒子替换局部极值;如果局部极值的适应度函数值小于全局极值的适应度函数值,则该局部极值替换全局极值(第10行-第15行),并利用公式(4)和公式(5)更新粒子的速度和位置(第16行).本次迭代结束,迭代次数加1,进入下一次迭代(第17行-第18行). 结合本文3.2对BP神经网络的构造和描述,由于BP神经网络对连接权重和阈值比较敏感,连接权重和阈值将直接影响到最终的预测结果.因此,利用改进的粒子群算法对BP神经网络的连接权重和阈值进行优化.优化算法流程图如图4所示. 图4 IPSO算法优化BP神经网络流程图 改进的粒子群算法优化BP神经网络的具体步骤为: 步骤1.根据训练样本确定BP神经网络拓扑结构,并用随机数[-1,1]初始化神经网络的连接权值和阈值. 步骤2.结合BP神经网络的结构,确定粒子群算法的种群和维度,并根据BP神经网络初始化的连接权值和阈值设置每个粒子的初始位置和速度. 步骤4.用公式(9)和公式(10)计算隐藏层神经元的输出,用公式(11)和公式(12)计算输出层神经元输出. 步骤5.运行改进的粒子群算法,并用公式(7)作为改进的粒子群优化算法的适应度函数.将通过公式(7)计算所得的适应度函数值,即误差值,作为判定IPSO的终止条件.当该值小于设定值时,终止优化,输出粒子的速度和位置,进入步骤6.如果不满足,则根据改进的粒子群优化算法,利用公式(4)、公式(5)、公式(19)继续迭代优化,直至适应度函数值小于设定值,或者达到最大迭代次数,则输出粒子的速度和位置,进入步骤6. 步骤6.将通过改进的粒子群优化算法获得粒子的速度和位置作为最优的连接权重和阈值分配给BP神经网络. 步骤7.判断训练集中的所有训练样本是否全部完成训练,如果是,则进入步骤8;如果不是,则以当前BP神经网络更新后的连接权值和阈值作为改进粒子群算法的初始速度和位置,返回步骤3继续训练,直到所有训练样本都完成训练. 步骤8.根据公式(8)计算所有训练样本的总误差E,将总误差E是否小于设定值作为终止训练的条件.若满足终止条件,则完成训练;若不满足条件,则以当前BP神经网络更新后的连接权值和阈值作为改进粒子群算法的初始速度和位置,返回步骤3继续训练,直到满足终止条件. 实验环境及其配置如表 3所示. 表3 实验环境配置 通过MATLAB 2019B平台构造1个制造商,3个中转仓,10个客户厂商的备件供应网络,并针对某一设备的备件供应进行模拟仿真,利用得到的连续3个月的日备件供应数据,将整理后将前两个月的数据作为神经网络的训练数据样本,将后一个月的数据作为神经网络的测试数据样本.其中,某客户厂商的部分备件供应数据如表4所示.备件供应过程中的运输时间设置为3天,且由于10个不同客户厂商的单位备件仓储费用标准和单位备件缺货损失费用的标准不同,对相关费用标准进行定义,如表5所示. 表4 部分仿真数据 表5 不同客户的相关费用标准 基于对备件供应模型影响因素的分析,将备件日消耗量、备件库存量、单位备件价格、仓储费用、缺货损失费用作为神经网络输入层的输入,将备件的订货点,订货点的备件需求量作为神经网络输出层的输出.故输入层神经元个数为5,输出层神经元个数为2,确定隐藏层的神经元个数区间为[4,13],实验选取8作为隐藏层神经元个数. 由于备件日消耗量、备件库存量、单位备件价格、仓储费用、缺货损失费用作为神经网络输入层的输入项,但它们的单位和取值范围都不相同,故需要对输入的数据做归一化处理,使输入的所有数据都在[0,1]之间,从而保证在训练和测试过程中输入和输出在同一标准下,并且由于BP神经网络使用的激活函数为Tanh函数,与真实值相比,归一化处理后的数据可以避免输入数据过大导致输出饱和,从而可以更加方便连接权重的调整. 归一化公式如式(26)所示. (26) 其中,xi是神经网络的输入量,xmax=max(xi),xmin=min(xi). 本文选用均方误差(MSE)和标准差(SD)作为判断各预测模型性能的评价指标.MSE和SD的计算公式如公式(27)、公式(28)所示. (27) (28) 其中,n为数据样本个数,f(xi)为模型预测值,yi为理想最优值,μ为模型预测值的平均值.MSE的值越小,说明模型的预测值和理想最优值的误差越小,预测精准度越高.SD的值越小,说明模型预测值偏离预测平均值越少,预测稳定性越高. IPSO-BP模型在标准PSO-BP模型的基础上,结合对惯性权重的改进、环境检测策略和自适应最优解跳跃策略的思想对模型进行改进.因此,为验证IPSO-BP模型预测的精准性和稳定性,本文选取4个相关模型进行对比,分别是:BP模型,PSO-BP模型,蚁群算法优化BP神经网络模型(ACO-BP模型),具备反向学习和局部学习能力的改进粒子群算法优化BP神经网络模型[19](RLPSO-BP模型).并通过以下3个方面进行实验对比: 1)将公式(7)作为IPSO-BP模型和上述4个对比模型的适应度函数公式,通过对比IPSO-BP模型和上述4个模型在迭代过程中的适应度函数值,通过比较各个模型在迭代过程中的收敛速度和收敛精度,收敛精度越小,模型的预测精准度越高. 2)将通过IPSO-BP模型和上述4个对比模型预测所得的订货点的备件需求量输入到第4.1节提出的备件供应需求预测模型中,计算出相应的最小化总成本,通过比较不同模型得到的预测结果对最小化总成本的影响,结合备件供应中的实际问题对各模型的预测性能进行评价. 3)分别将IPSO-BP模型和上述4个对比模型在测试数据集上独立运行20次,通过对比不同模型预测值的平均值、标准差和均方误差,以及将不同模型得到的预测值代入第4.1节提出的备件供应优化模型中,计算出最小化总成本和缺货次数,用上述评价指标来评价不同模型的预测性能. 将BP模型,PSO-BP模型,ACO-BP模型,RLPSO-BP模型,IPSO-BP模型分别在训练数据集上进行训练,并将所得的适应度函数值进行对比,如图5所示. 图5 适应度函数值对比 由图5可以看出,IPSO-BP模型和RLPSO-BP模型相比其他模型的收敛速度较快,收敛精度更好.RLPSO-BP模型凭借其反向学习和局部学习能力,在迭代前期收敛速度较快.而IPSO-BP模型则凭借对粒子群算法的改进,在前期迭代中呈现出非线性递减的下降趋势,使模型可以搜索遍历更多的空间以确保稳定地寻找到全局最优解,当寻找到全局最优值后便会迅速线性递减,进入局部搜索,最终使整个迭代的适应度值稳定在一较低值附近,使模型的预测精度更好. 将通过IPSO-BP模型和上述4个对比模型预测所得的备件需求量代入第4.1节提出的备件供应优化模型中,计算出最小化总成本,部分结果对比如图6所示. 通过对比图6各个订货点的最小化总成本可以得出,相比未优化的神经网络模型,通过优化算法优化后的神经网络模型均可以达到降低最小化总成本的目的.其中,IPSO-BP模型相比其他优化模型使最小化总成本的值更低,且基本趋于一个稳定的值.在实际备件供应过程中,IPSO-BP模型可以有效地降低最小化总成本,进而减少客户厂商在备件供应过程中的资金周转压力. 图6 最小化总成本对比 将IPSO-BP模型和上述4个对比模型分别在测试数据集上独立运行20次,并将得到的预测值代入公式(27)、公式(28),分别得到不同模型的均方误差(MSE),标准差(SD).并将预测值代入第4.1节提出的备件优化供应模型中,进而计算得到备件需求量预测平均值(Q),最小化总成本平均值(Z)和平均缺货次数(Tc).将上述数值作为评价指标值进行汇总,如表6所示. 表6 评价指标对比 由表6可以看出,IPSO-BP模型相比其余4个模型的均方误差值和标准差值都相对较低,说明IPSO-BP模型的预测精准度和稳定性相对较高.通过对比备件需求量预测平均值,最小化总成本平均值和平均缺货次数,可以说明在备件供应过程中,IPSO-BP模型可以使客户厂商在减少订货量,减少最小化总成本的前提下,使缺货次数也有明显的降低.在实际应用场景中,可以降低客户厂商在备件供应中的实际成本,并且有效地降低缺货对生产经营造成的影响. 通过上述实验结果可以得出,IPSO-BP模型相比其他模型在预测精度和预测稳定性上均有明显提升,并且IPSO-BP模型预测的备件需求量更切合备件供应的实际需求.综上,可以证明本文对粒子群算法的改进可以使PSO-BP模型的预测性能有较显著的提升. 本文结合制造业产业链备件供应的实际需求,以终端客户厂商为目标,以备件库存和供应为切入点,通过构造备件供应策略优化模型,并通过IPSO-BP神经网络模型对备件供应流程中订货时的备件需求量进行预测,实验结果表明,通过IPSO-BP神经网络模型得到的预测值更符合备件供应的各项实际需求.在对粒子群算法的改进中,本文分别从粒子群算法的惯性权重、环境检测策略、自适应最优解跳跃策略这3个方面进行融合改进,使改进后的粒子群算法对BP神经网络的连接权重和阈值进行优化,实验结果表明,在和不同神经网络模型对比下,本文提出的IPSO-BP神经网络模型的预测性能有明显的提升. 在对备件供应策略的研究过程中发现,备件故障也是备件需求供应的影响因素,但本文的备件供应策略优化模型并没有将备件故障考虑在内.未来通过采用深度学习等方法,将对备件故障预测进行研究,将进一步完善备件供应优化策略作为下一步深入研究的方向和内容.4.3 改进的粒子群算法优化BP神经网络
5 实验分析
5.1 实验环境
5.2 实验数据
5.3 数据预处理
5.4 评价指标
5.5 对比实验设置
5.6 实验结果分析
6 结 论