当前位置: 首页 > 专利查询>九江学院专利>正文

一种基于萤火虫算法的双梯队库存路径优化设计方法技术

技术编号:22885160 阅读:22 留言:0更新日期:2019-12-21 07:43
本发明专利技术提出了一种基于萤火虫算法的双梯队库存路径优化设计方法,其实现步骤为:设置运行参数并随机生成实数初始化种群;通过改进的最小位置规则将每个实数个体映射为表示路径信息的离散个体;对每个个体进行可行性检查以及非可行解的修复;计算目标函数值,如果新个体优于最优个体,更新替换;用基于三角学习策略的萤火虫算法对种群进行演化;得到最优的库存路径方案。本发明专利技术解决传统的优化方法针对复杂的双梯队库存路径优化问题存在的优化性能较差的缺点,简单高效,可用于企业供应链中双梯队库存路径优化方案设计。

An optimal design method for inventory path of two echelons based on firefly algorithm

【技术实现步骤摘要】
一种基于萤火虫算法的双梯队库存路径优化设计方法
本专利技术属于企业供应链优化领域,涉及一种基于萤火虫算法的双梯队库存路径优化设计方法。
技术介绍
库存路径问题是对库存和运输进行整合优化以实现物流管理降本增效的一类NP难问题。库存和运输是物流系统中实现“时间效用”和“空间效用”的两大主要功能要素,是现代物流最重要的两个活动环节,二者的耗费约占物流总成本的2/3。库存和运输的“效益背反”关系使得库存路径问题变得愈加复杂,特别是贴近实际需求的大规模库存路径问题求解难度更大。单独的库存控制或运输路径优化不利于从整体上减少物流成本,特别是供应商管理库存模式下,决策者必须从整体上考虑库存策略和运输方案,力求充分应用现有资源控制系统总成本。可以参见有关文献:刘立辉,叶春明.库存路径问题的研究综述[J].工业工程,2009,12(3):1-6。双梯队库存路径问题是对基本库存路径问题的扩展,包含供应商、工厂和经销商三层,第一梯队为供应商运送零部件到工厂,第二梯队为工厂运送产品到经销商。双梯队库存路径问题更贴近企业生产实际需求,但问题结构更复杂也更难于求解。可以参见有关文献:TA,CoelhoLC,SchenekembergCM,etal.Thetwo-echelonmulti-depotinventory-routingproblem[J].Computers&OperationsResearch,2019,101:220-233。萤火虫算法是Yang在2008年受自然界萤火虫生物学特性启发而提出的一种新的群智能算法,并广泛地应用于实际工程和科学领域中。由于萤火虫算法简单易行,具有较强的全局搜索能力和鲁棒性,是一种很有潜力的双梯队库存路径优化设计方法。但与其他群智能算法一样,标准萤火虫算法在求解多峰、高维的优化问题时也同样面临着易陷入局部最优和收敛速度慢的缺点,这容易导致萤火虫算法应用于复杂的双梯队库存路径优化设计方法时,求解精度差且计算时间长。此外作为一种基于实数参数优化的群智能算法,标准萤火虫算法并不能直接用于双梯队库存路径优化设计。
技术实现思路
本专利技术主要是解决上述现有技术所存在的技术问题,提出了一种基于萤火虫算法的双梯队库存路径优化设计方法,主要解决传统的优化方法针对复杂的双梯队库存路径优化问题存在的优化性能较差的普适性和精度的缺点。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于萤火虫算法的双梯队库存路径优化设计方法,包括初始化种群、离散转换、可行性检查与修复、评价与更新、以及基于三角学习策略的萤火虫算法演化。具体包括如下步骤:设置运行参数并随机生成实数初始化种群;具体为:步骤1,用户自定义初始化参数,包括种群大小NP,目标函数最大评价次数MaxFEs,最大和最小吸引度βmax和βmin,初始步长因子α,光吸收系数γ;步骤2,令当前目标函数评价次数FEs=0,最优个体目标函数值f(Xbest)=1010;步骤3,产生实数编码的初始化种群P={X1,X2,…,XNP},其中个体Xi为T行(M+K+N+L)列的矩阵,矩阵中的每一个元素Xi,t,j=L+(U-L)*rand,i=1,2,…,NP,t=1,2,…,T,j=1,2,…,M+K+N+L,T为库存路径问题中的调度周期数,M为供应商的数量,K为供应商运输车辆数量,N为经销商的数量,L为经销商运输车辆数量,rand为在[0,1]之间产生均匀分布的随机数函数,L和U分别为变量取值范围的下界和上界;通过改进的最小位置规则将每个实数个体映射为表示路径信息的离散个体;具体为:步骤4,记数器i=1,其中i表示当前个体的下标;步骤5,如果i大于种群大小NP,则转到步骤12,否则执行以下步骤;步骤6,通过改进的最小位置规则将实数个体Xi映射为表示路径信息的离散个体DXi;对每个个体进行可行性检查以及非可行解的修复;具体为:步骤7,对离散个体DXi进行可行性检查以及非可行解的修复;计算目标函数值,如果新个体优于最优个体,更新替换;具体为:步骤8,通过离散个体DXi计算其对应的个体Xi的双梯队库存路径优化问题目标函数值f(Xi),FEs=FEs+1;步骤9,更新最优个体Xbest,如果f(Xi)小于f(Xbest),则Xbest=Xi;用基于三角学习策略的萤火虫算法对种群进行演化;具体为:步骤10,执行基于三角学习策略的萤火虫算法对个体Xi进行演化计算,产生新的个体Xi;步骤11,令i=i+1后返回至步骤5;得到最优的库存路径方案;具体为:步骤12,重复步骤4至步骤11直至评价次数FEs达到MAX_FEs后结束,计算结束得到的最优个体即为双梯队库存路径优化设计的最优方案。在上述的一种基于萤火虫算法的双梯队库存路径优化设计方法,所述步骤6的具体操作步骤如下:步骤6.1,对个体Xi对应的矩阵的每一行进行逐行处理,每一行的前M+K个变量表示供应商的运输路径方案,先对每一行的前M+K个变量按升序进行排序,然后将大于M的排序结果置为0,得到的结果为前M+K个变量转换后的离散序列。通过0对离散序列进行分割,每一段表示一辆车的供应商运输方案,共K个运输方案,最后一段表示不访问的供应商;步骤6.2,每一行的后N+L个变量表示经销商的运输路径方案,先对每一行的后N+L个变量按升序进行排序,然后将大于N的排序结果置为0,得到的结果为后N+L个变量转换后的离散序列。通过0对离散序列进行分割,每一段表示一辆车的经销商运输方案,共L个运输方案,最后一段表示不访问的经销商;步骤6.3,将每一行变量对应的前M+K和后N+L个离散序列,进行拼接,构成每一行对应的离散序列,对实数个体Xi的每一行进行转换后得到对应的离散个体DXi;步骤6.4,转到步骤7。在上述的一种基于萤火虫算法的双梯队库存路径优化设计方法,所述步骤7的具体操作步骤如下:步骤7.1,逐一计算在离散个体DXi中对应的每个经销商l在每个周期末t的库存量Il,t,依据最大库存补货策略,如果对经销商补货(即在当前周期的车辆运输方案中,a=1),则补货量Ql,t为最大库存Ul与当前库存Il,t的差,每个经销商在每个周期末的库存量Il,t计算公式如下:Il,t=Il,t-1+Ql,t-dl,t,Ql,t=(Ul-Il,t-1)×a,a∈{0,1}步骤7.2,逐一检查离散个体DXi对应的矩阵的每一行的后N+L列的每一个离散值对应的经销商l的库存,如果其库存小于其需求,且经销商l未包含在任何一辆车辆的运输方案中,则将经销商l加入随机选择的一辆车辆的运输方案;步骤7.3,逐一检查离散个体DXi对应的矩阵的每一行对应的前M+K列对应的K个运输方案,每一个方案对应一辆供应商运输车,如果运输方案对应的总运量大于车辆的容量c,则随机删除运输方案中的一个供应商节点v,并将供应商节点v加入其它尚有运输容量的方案中,重复执行本文档来自技高网
...

【技术保护点】
1.一种基于萤火虫算法的双梯队库存路径优化设计方法,包括如下步骤:/n设置运行参数并随机生成实数初始化种群;具体为:/n步骤1,用户自定义初始化参数,包括种群大小NP,目标函数最大评价次数MaxFEs,最大和最小吸引度βmax和βmin,初始步长因子α,光吸收系数γ;/n步骤2,令当前目标函数评价次数FEs=0,最优个体目标函数值f(Xbest)=1010;/n步骤3,产生实数编码的初始化种群P={X1,X2,…,XNP},其中个体Xi为T行(M+K+N+L)列的矩阵,矩阵中的每一个元素Xi,t,j=L+(U-L)*rand,i=1,2,…,NP,t=1,2,…,T,j=1,2,…,M+K+N+L,T为库存路径问题中的调度周期数,M为供应商的数量,K为供应商运输车辆数量,N为经销商的数量,L为经销商运输车辆数量,rand为在[0,1]之间服从均匀分布的随机数,L和U分别为变量取值范围的下界和上界;/n通过改进的最小位置规则将每个实数个体映射为表示路径信息的离散个体;具体为:/n步骤4,记数器i=1,其中i表示当前个体的下标;/n步骤5,如果i大于种群大小NP,则转到步骤12,否则执行以下步骤;/n步骤6,通过改进的最小位置规则将实数个体Xi映射为表示路径信息的离散个体DXi;/n对每个个体进行可行性检查以及非可行解的修复;具体为:/n步骤7,对离散个体DXi进行可行性检查以及非可行解的修复;/n计算目标函数值,如果新个体优于最优个体,更新替换;具体为:/n步骤8,通过离散个体DXi计算其对应的个体Xi的双梯队库存路径优化问题目标函数值f(Xi),FEs=FEs+1;/n步骤9,更新最优个体Xbest,如果f(Xi)小于f(Xbest),则Xbest=Xi;/n用基于三角学习策略的萤火虫算法对种群进行演化;具体为:/n步骤10,执行基于三角学习策略的萤火虫算法对个体Xi进行演化计算,产生新的个体Xi;/n步骤11,令i=i+1后返回至步骤5;/n得到最优的库存路径方案;具体为:/n步骤12,重复步骤4至步骤11直至评价次数FEs达到MAX_FEs后结束,计算结束得到的最优个体即为双梯队库存路径优化设计的最优方案。/n...

【技术特征摘要】
1.一种基于萤火虫算法的双梯队库存路径优化设计方法,包括如下步骤:
设置运行参数并随机生成实数初始化种群;具体为:
步骤1,用户自定义初始化参数,包括种群大小NP,目标函数最大评价次数MaxFEs,最大和最小吸引度βmax和βmin,初始步长因子α,光吸收系数γ;
步骤2,令当前目标函数评价次数FEs=0,最优个体目标函数值f(Xbest)=1010;
步骤3,产生实数编码的初始化种群P={X1,X2,…,XNP},其中个体Xi为T行(M+K+N+L)列的矩阵,矩阵中的每一个元素Xi,t,j=L+(U-L)*rand,i=1,2,…,NP,t=1,2,…,T,j=1,2,…,M+K+N+L,T为库存路径问题中的调度周期数,M为供应商的数量,K为供应商运输车辆数量,N为经销商的数量,L为经销商运输车辆数量,rand为在[0,1]之间服从均匀分布的随机数,L和U分别为变量取值范围的下界和上界;
通过改进的最小位置规则将每个实数个体映射为表示路径信息的离散个体;具体为:
步骤4,记数器i=1,其中i表示当前个体的下标;
步骤5,如果i大于种群大小NP,则转到步骤12,否则执行以下步骤;
步骤6,通过改进的最小位置规则将实数个体Xi映射为表示路径信息的离散个体DXi;
对每个个体进行可行性检查以及非可行解的修复;具体为:
步骤7,对离散个体DXi进行可行性检查以及非可行解的修复;
计算目标函数值,如果新个体优于最优个体,更新替换;具体为:
步骤8,通过离散个体DXi计算其对应的个体Xi的双梯队库存路径优化问题目标函数值f(Xi),FEs=FEs+1;
步骤9,更新最优个体Xbest,如果f(Xi)小于f(Xbest),则Xbest=Xi;
用基于三角学习策略的萤火虫算法对种群进行演化;具体为:
步骤10,执行基于三角学习策略的萤火虫算法对个体Xi进行演化计算,产生新的个体Xi;
步骤11,令i=i+1后返回至步骤5;
得到最优的库存路径方案;具体为:
步骤12,重复步骤4至步骤11直至评价次数FEs达到MAX_FEs后结束,计算结束得到的最优个体即为双梯队库存路径优化设计的最优方案。


2.根据权利要求1所述的一种基于萤火虫算法的双梯队库存路径优化设计方法,其特征在于,所述步骤6的具体操作步骤如下:
步骤6.1,对个体Xi对应的矩阵的每一行进行逐行处理,每一行的前M+K个变量表示供应商的运输路径方案,先对每一行的前M+K个变量按升序进行排序,然后将大于M的排序结果置为0,得到的结果为前M+K个变量转换后的离散序列。通过0对离散序列进行分割,每一段表示一辆车的供应商运输方案,共K个运输方案,最后一段表示不访问的供应商;
步骤6.2,每一行的后N+L个变量表示经销商的运输路径方案,先对每一行的后N+L个变量按升序进行排序,然后将大于N的排序结果置为0,得到的结果为后N+L个...

【专利技术属性】
技术研发人员:彭虎邓长寿董小刚范德斌彭顺旭
申请(专利权)人:九江学院
类型:发明
国别省市:江西;36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1