基于分布熵多目标粒子群的物流车辆配送规划方法及系统与流程

    专利2022-07-08  107


    本发明涉及车辆路径规划领域,特别是一种基于分布熵多目标粒子群的物流车辆配送规划方法及系统。



    背景技术:

    汽车物流是物流领域的重要组成部分,具有与其他物流种类所不同的特点,是一种复杂程度极高的物流活动,随着中国汽车工业的飞速发展,在成本控制变得越来越重要的今天,汽车物流的成本控制也日益成为人们关注的焦点,通过资源概述整合来降低物流成本以及缩短物流时间已经成为汽车企业所必须面对和亟待解决的问题,通过合理规划物流运输线路达到降低物流成本以及缩短物流时间的问题是一个多目标优化问题。

    近年来,多目标粒子群优化、多目标蚁群算法和多目标差分进化算法被用来求解多目标优化问题。其中,通过粒子群优化算法而发展起来的多目标粒子群优化算法是目前最流行的优化技术之一。粒子群优化算法的显著特点是群体中所有个体之间的协作,其中每个粒子都被吸引向群体中的全局最优和自己的个人最优,因此协同的搜索策略使得粒子群优化算法可以获得更好的全局开发能力。

    然而,除了在多目标粒子群优化中的档案维护外,还有两个问题有待进一步解决。第一个是全局最优和个人最优的更新,在多目标粒子群优化中,可以根据全局最优和个人最优的不同策略从非支配集中选择不同的候选对象。然而,选择全局最优和个人最优会导致粒子的不同光向,这对多目标粒子群优化的收敛性和多样性有重要影响。第二个特别的问题是在进化过程的早期阶段快速收敛,会导致多目标粒子群优化的过早收敛或局部最优。综上所述,多目标粒子群优化面临的挑战是如何有效、有效地管理收敛性和多样性,获得精确、分布均匀、有用的pareto最优前沿近似。



    技术实现要素:

    本发明的一个目的就是提供一种基于分布熵多目标粒子群的物流车辆配送规划方法,它可以用于物流车辆配送路径的规划。

    本发明的目的是通过这样的技术方案实现的,它包括有以下步骤:

    1)数据采集:获取待配送目的地数量m,第i个目的地的配送货物的重量为qi(i=1,2,...,m),采集待配送目的编号信息、地理坐标信息及相互之间的距离信息;

    2)构建模型:以若干物流车辆完成m个客户配送为条件,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;

    3)寻找最优解:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径。

    进一步,步骤2)中构建模型的具体步骤如下:

    2-1)构建运输成本模型:

    式(1)中,k为配送车辆数量,其容量分别为gk(k=1,2,...,k)且maxgi≥maxqk,表示每公里车辆行驶的成本,dij为从客户点i到j的距离,若xijk=1,表示车辆k从i到j,g为引入的惩罚项,c为最小化的目标—车辆的运输成本,即每公里的运输费用加上车辆超重时的惩罚项;

    2-2)构建时间成本模型:

    式(2)中,vk为每辆车的速度,t为最后一个被配送的用户的等待时间,即车辆的运输总时长。计算方法为每段路程的时间之和加上车辆超重的惩罚;

    2-3)车辆路径vrp的约束条件为:

    表示每辆车的载重大于它所配送的客户点的需求总和;

    表示每个客户都有且只有一辆车进行配送;

    表示每辆车仅经过客户点一次;

    g为当车辆配送重量超重时的惩罚,其中gk为每辆车的最大载重,g的值为超重车所载的货物的重量比上其最大载重;若yik=1,表示客户i由车辆k配送,引入惩罚项g,若配送车辆在配送过程中超载,在目标函数中加入惩罚项。

    进一步,步骤3)中寻找最优解的具体步骤为:

    3-1)初始化粒子:初始化种群中粒子数量,外部档案规模,设置多项式变异分布指数,粒子位置及速度,将粒子加入外部档案;

    3-2)划分进化状态:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;

    3-3)选择全局最优解:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;

    3-4)更新个体最优解:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;

    3-5)局部扰动:利用多项式变异对粒子的位置进行局部扰动;

    3-6)更新外部档案:将更新后的粒子加入外部档案,并对外部档案进行维护;

    3-7)迭代判断:若未到达最大迭代次数则转至3-2),若已达到最大迭代次数,则输出外部档案。

    进一步,步骤3-2)中计算当前外部档案中的粒子分布熵,计算差熵并划分进化状态的具体步骤为:

    3-2-1)计算粒子的分布熵:将每个解的密度函数定义为其他所有解的影响函数的集合,每两个解之间的影响函数用高斯函数可以很好的拟合如下:

    式(4)中,r是任意两个粒子之间的欧式距离,σ为标准差,选择为目标数量的三分之一,根据影响函数定义粒子的密度函数如下:

    式(5)中,q为外部档案中的粒子数量;

    根据密度函数求最终的粒子的分布熵如下:

    3-2-2)计算差熵△h:

    △h=h(t)-h(t-1)(7)

    当外部档案发生变化时差熵也发生变化,△h越大,则外部档案中更多的粒子被替换,可以判断种群处于开发状态,反之△h越稳定可以判断种群趋于开采状态,通过替换外部档案中的单个解增加解集的多样性;

    设置△h的阈值u,u为替换单个解的情况时:当所有外部档案中的解距离很近时,其中一解被替换,替换到距离其余解的位置,当所有解距离很近时,可以近似认为彼此之间距离相等;此时的分布熵为:

    h1≈ln(q)(8)

    剩余解的密度函数值可以近似计算为:

    单个解的密度函数值计算为:

    可得:

    粒子被代替之后的种群的分布熵为:

    此时的差熵为:

    3-2-3)根据差熵划分进化状态:根据△h与阈值u的比值对种群进化状态进行分类:

    (1)若|△h|≥u时:表示种群处于开发状态,此时应加速收敛定位到解空间,此时全局最优解要选择侧重于粒子的收敛性;

    (2)若|△h|<u且|a|<n时:表示种群处于开采阶段,粒子正在探索潜在的解空间,全局最优解侧重与粒子的多样性;

    (3)若|△h|<u且|a|=n时:表示种群处于停滞阶段,多样性和收敛性同等侧重。

    进一步,步骤3-3)中,根据进化状态和粒子的多样性、收敛性选择全局最优解的具体步骤如下:

    3-3-1)计算粒子的多样性:利用归一化的基于位移的密度估计距离定义粒子的多样性:

    pd(pi)=(sde(pi)-sdemin)/(sdemax-sdemin)(16)

    式(16)中,sdemax,sdemin分别是种群种sde距离的最大值和最小值,sde距离越大粒子越分散,多样性越好,sde距离的计算方法如下:

    式(17)、(18)中,f’k(pi)是pi在第k个目标上归一化后的目标值;

    3-3-2)计算粒子的收敛性:

    式(19)、(20)中,m为目标数量,dis(pi)表示粒子在目标空间距离理想参考点的距离,pc的值越大粒子越接近理想参考点,粒子的收敛能力越好;

    3-3-3)选择全局最优解:根据进化状态和粒子的多样性收敛性选择全局最优解:

    (1)若种群处于开发状态:全局最优解侧重于收敛性,在m-1个多样性最大的粒子和m 1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (2)若种群处于开采状态:全局最优解侧重于多样性,在m 1个多样性最大的粒子和m-1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (3)若种群处于停滞状态:全局最优解则要兼顾收敛性和多样性,在m个多样性最大的粒子和m个收敛性最大的粒子构成的集合里随机选择一个粒子作为全局最优解。

    进一步,步骤3-4)中更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解的具体步骤如下:

    3-4-1)更新粒子的速度和位置:

    式(21)中,xi=[xi1,xi2,...,xin]∈rn为位置,vi=[vi1,vi2,...,vin]∈rn为速度,t为迭代次数,ω为惯性权重,c1,c2为大于0的加速系数,r1,r2为在[0,1]上的随机数,pbesti为粒子历史到达的最优解,gbesti表示整个群体的最好位置,ω和c1、c2影响算法的搜索能力;

    3-4-2)对粒子的速度进行限制:

    式(22)中,χ为速度限制系数,将迭代完的粒子速度乘以χ,然后再判断粒子是否到达边界,达到限制粒子速度的目的;

    3-4-3)更新个体最优解:根据支配关系更新个体最优解,若新解和旧解不相互支配则新解替换旧解;对于任意两个向量a,b∈x,称a支配b,当且仅当式(20)成立,记作

    进一步,步骤3-5)中利用多项式变异对粒子的位置进行局部扰动的具体方法如下:

    对x=(x1,x2,..,xn)的第j个维度,在其取值范围[uj,zj]内,原维度上的值被x'j代替,计算x'j的方法为:

    x'j=xj δ(zj-uj)(25)

    其中δ为:

    式(26)中,β1=(xj-uj)/(zj-uj),β2=(zj-xj)/(zj-uj),α是[0,1]之间的随机数,η为分布指数,η越大,则变异后的值越接近变异前的值。

    进一步,步骤3-6)中将更新后的粒子加入外部档案,并对外部档案进行维护的具体方法如下:

    在每一次的迭代时都会产生一组解,将这些解中的非支配解保存起来,就构成了外部档案,当外部档案解满时,若迭代还没有结束,此时的新解和之前迭代搜索到的解进行取舍,其中a为待更新的外部档案;z为外部档案的最大容量;p为进化算法获得的一个新解;a'为更新后的外部档案,则:

    (1)若则a'={p},返回a';即当外部档案中没有解时,新解直接进入外部档案;

    (2)若p被a中的任意一个成员占优,则a'=a;即当更新之后的解被原有的解支配时,更新后的解不进入外部档案。

    (3)若对任意一个粒子ai∈a,如果ai被p占优,则a=a/{ai},a'=au{p};即当新解支配旧解时,从外部档案中移除旧解加入新解。

    (4)若新解和旧解不相互支配,令b=au{p},根据2)中计算出的进化状态和3)中计算出粒子的收敛性和多样性进行维护:若种群处于开发状态,删除收敛性最差的解。若种群处开采状态,删除多样性最差的解。若种群处于停滞状态,与开采状态策略相同。

    本发明的另一个目的就是提供一种基于分布熵多目标粒子群的物流车辆配送规划系统,它可以用于物流车辆配送路径的规划。

    本发明的目的是通过这样的技术方案实现的,它包括有以下模块:

    数据采集模块:获取待配送目的地数量m,第i个目的地的配送货物的重量为qi(i=1,2,...,m),采集待配送目的编号信息、地理坐标信息及相互之间的距离信息;

    构建模型模块:以若干物流车辆完成m个客户配送为条件,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;

    寻找最优解模块:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径。

    进一步,所述寻找最优解模块包括以下子模块:

    初始化粒子模块:初始化种群中粒子数量,外部档案规模,设置多项式变异分布指数,粒子位置及速度,将粒子加入外部档案;

    划分进化状态模块:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;

    选择全局最优解模块:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;

    更新个体最优解模块:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;

    局部扰动模块:利用多项式变异对粒子的位置进行局部扰动;

    更新外部档案模块:将更新后的粒子加入外部档案,并对外部档案进行维护;

    迭代判断模块:若未到达最大迭代次数则将更新后的粒子加入外部档案继续迭代,若已达到最大迭代次数,则输出外部档案。

    由于采用了上述技术方案,本发明具有如下的优点:

    1、本发明通过基于分布熵多目标粒子群算法对物流车辆路径进行规划,求解出更好的路径规划,能够减少物流成本以及缩短配送时间;2、本发明通过计算当前外部档案中的粒子差熵并划分进化状态,根据当前进化状态和粒子的多样性收敛性选择全局最优解,能够有效兼顾最终解集多样性和算法收敛性。

    本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和权利要求书来实现和获得。

    附图说明

    本发明的附图说明如下。

    图1为本发明的流程图。

    具体实施方式

    下面结合附图和实施例对本发明作进一步说明。

    实施例1:

    一种基于分布熵多目标粒子群的物流车辆配送规划方法,包括有以下步骤:

    1)数据采集:获取待配送目的地数量为14个,配送目的的配送货物的重量及相关信息如表1所示,仓库的坐标为(143,242);

    表1配送目的地信息表

    2)构建模型:以7个物流车辆完成14个配送目的地的配送为条件,车辆信息如表2所示,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;具体步骤如下:

    表2车辆信息

    2-1)构建运输成本模型:

    式(27)中,k为配送车辆数量,其容量分别为gk(k=1,2,...,k)且maxgi≥maxqk,表示每公里车辆行驶的成本,dij为从客户点i到j的距离,若xijk=1,表示车辆k从i到j,g为引入的惩罚项,c为最小化的目标—车辆的运输成本,即每公里的运输费用加上车辆超重时的惩罚项;

    2-2)构建时间成本模型:

    式(28)中,vk为每辆车的速度,t为最后一个被配送的用户的等待时间,即车辆的运输总时长。计算方法为每段路程的时间之和加上车辆超重的惩罚;

    2-3)车辆路径vrp的约束条件为:

    表示每辆车的载重大于它所配送的客户点的需求总和;

    表示每个客户都有且只有一辆车进行配送;

    表示每辆车仅经过客户点一次;

    g为当车辆配送重量超重时的惩罚,其中gk为每辆车的最大载重,g的值为超重车所载的货物的重量比上其最大载重;若yik=1,表示客户i由车辆k配送,引入惩罚项g,若配送车辆在配送过程中超载,在目标函数中加入惩罚项,这样这个问题就变成了一个无约束的多目标优化问题。

    3)寻找最优解:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径,具体步骤为:

    3-1)初始化粒子:初始化种群中粒子数量,外部档案规模,设置最大迭代次数设置100,进化算法的交叉率设置为0.9,分布指数设置为20,初始化粒子位置及速度,将粒子加入外部档案;

    3-2)划分进化状态:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;具体步骤为:

    3-2-1)计算粒子的分布熵:将每个解的密度函数定义为其他所有解的影响函数的集合,每两个解之间的影响函数用高斯函数可以很好的拟合如下:

    式(30)中,r是任意两个粒子之间的欧式距离,σ为标准差,选择为目标数量的三分之一,根据影响函数定义粒子的密度函数如下:

    式(31)中,q为外部档案中的粒子数量;

    根据密度函数求最终的粒子的分布熵如下:

    3-2-2)计算差熵△h:

    △h=h(t)-h(t-1)(33)

    当外部档案发生变化时差熵也发生变化,△h越大,则外部档案中更多的粒子被替换,可以判断种群处于开发状态,反之△h越稳定可以判断种群趋于开采状态,通过替换外部档案中的单个解增加解集的多样性;

    设置△h的阈值u,u为替换单个解的情况时:当所有外部档案中的解距离很近时,其中一解被替换,替换到距离其余解的位置,当所有解距离很近时,可以近似认为彼此之间距离相等;此时的分布熵为:

    h1≈ln(q)(34)

    剩余解的密度函数值可以近似计算为:

    单个解的密度函数值计算为:

    可得:

    粒子被代替之后的种群的分布熵为:

    此时的差熵为:

    3-2-3)根据差熵划分进化状态:根据△h与阈值u的比值对种群进化状态进行分类:

    (1)若|△h|≥u时:表示种群处于开发状态,此时应加速收敛定位到解空间,此时全局最优解要选择侧重于粒子的收敛性;

    (2)若|△h|<u且|a|<n时:表示种群处于开采阶段,粒子正在探索潜在的解空间,全局最优解侧重与粒子的多样性;

    (3)若|△h|<u且|a|=n时:表示种群处于停滞阶段,多样性和收敛性同等侧重。

    3-3)选择全局最优解:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;具体步骤如下:

    3-3-1)计算粒子的多样性:利用归一化的基于位移的密度估计距离定义粒子的多样性:

    pd(pi)=(sde(pi)-sdemin)/(sdemax-sdemin)(42)

    式(42)中,sdemax,sdemin分别是种群种sde距离的最大值和最小值,sde距离越大粒子越分散,多样性越好,sde距离的计算方法如下:

    式(43)、(44)中,fk'(pi)是pi在第k个目标上归一化后的目标值;

    3-3-2)计算粒子的收敛性:

    式(45)、(46)中,m为目标数量,dis(pi)表示粒子在目标空间距离理想参考点的距离,pc的值越大粒子越接近理想参考点,粒子的收敛能力越好;

    3-3-3)选择全局最优解:根据进化状态和粒子的多样性收敛性选择全局最优解:

    (1)若种群处于开发状态:全局最优解侧重于收敛性,在m-1个多样性最大的粒子和m 1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (2)若种群处于开采状态:全局最优解侧重于多样性,在m 1个多样性最大的粒子和m-1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (3)若种群处于停滞状态:全局最优解则要兼顾收敛性和多样性,在m个多样性最大的粒子和m个收敛性最大的粒子构成的集合里随机选择一个粒子作为全局最优解。

    3-4)更新个体最优解:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;具体步骤如下:

    3-4-1)更新粒子的速度和位置:

    式(47)中,xi=[xi1,xi2,...,xin]∈rn为位置,vi=[vi1,vi2,...,vin]∈rn为速度,t为迭代次数,ω为惯性权重,c1,c2为大于0的加速系数,r1,r2为在[0,1]上的随机数,pbesti为粒子历史到达的最优解,gbesti表示整个群体的最好位置,ω和c1、c2影响算法的搜索能力;

    3-4-2)对粒子的速度进行限制:

    式(48)中,χ为速度限制系数,将迭代完的粒子速度乘以χ,然后再判断粒子是否到达边界,达到限制粒子速度的目的;

    3-4-3)更新个体最优解:根据支配关系更新个体最优解,若新解和旧解不相互支配则新解替换旧解;对于任意两个向量a,b∈x,称a支配b,当且仅当式(20)成立,记作

    3-5)局部扰动:利用多项式变异对粒子的位置进行局部扰动;具体方法如下:

    对x=(x1,x2,..,xn)的第j个维度,在其取值范围[uj,zj]内,原维度上的值被x'j代替,计算x'j的方法为:

    x'j=xj δ(zj-uj)(51)

    其中δ为:

    式(52)中,β1=(xj-uj)/(zj-uj),β2=(zj-xj)/(zj-uj),α是[0,1]之间的随机数,η为分布指数,η越大,则变异后的值越接近变异前的值。

    3-6)更新外部档案:将更新后的粒子加入外部档案,并对外部档案进行维护;具体方法如下:

    在每一次的迭代时都会产生一组解,将这些解中的非支配解保存起来,就构成了外部档案,当外部档案解满时,若迭代还没有结束,此时的新解和之前迭代搜索到的解进行取舍,其中a为待更新的外部档案;z为外部档案的最大容量;p为进化算法获得的一个新解;a'为更新后的外部档案,则:

    (1)若则a'={p},返回a';即当外部档案中没有解时,新解直接进入外部档案;

    (2)若p被a中的任意一个成员占优,则a'=a;即当更新之后的解被原有的解支配时,更新后的解不进入外部档案。

    (3)若对任意一个粒子ai∈a,如果ai被p占优,则a=a/{ai},a'=au{p};即当新解支配旧解时,从外部档案中移除旧解加入新解。

    (4)若新解和旧解不相互支配,令b=au{p},根据2)中计算出的进化状态和3)中计算出粒子的收敛性和多样性进行维护:若种群处于开发状态,删除收敛性最差的解。若种群处开采状态,删除多样性最差的解。若种群处于停滞状态,与开采状态策略相同。

    3-7)迭代判断:若未到达最大迭代次数则转至3-2),若已达到最大迭代次数,则输出外部档案,其车辆路径规划如表3所示。

    表3本发明提出方法规划的车辆路径

    表4本发明提出的方法优化结果

    本发明利用mopso算法对车辆路径进行规划,设置种群规模为50,迭代次数为100次,求解得到车辆路径规划方案及价格成本如表5及表6所示。

    表5mopso算法规划的车辆路径

    表6mopso方法的优化结果

    实验结果表明,本发明提出的算法求得的解方案无论是在运输费用和用户等待时间熵都比mopso算法求得的解有优势,在运输费用目标上优势较大,在用户等待时间上优势较小。可以看出这两个目标是相互矛盾的,当用户等待时间较短时,运输成本就要增加,当用户等待时间较长时用户成本略低。综上,在实际应用中,相比于mopso算法,本发明提出的算法可以提供更好的路径规划。

    实施例2:

    一种基于分布熵多目标粒子群的物流车辆配送规划系统,包括有以下模块:

    数据采集模块:获取待配送目的地数量为14个,配送目的的配送货物的重量及相关信息如表1所示,仓库的坐标为(143,242);

    构建模型模块:以7个物流车辆完成14个配送目的地的配送为条件,车辆信息如表2所示,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;

    寻找最优解模块:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径。

    所述寻找最优解模块包括以下子模块:

    初始化粒子模块:初始化种群中粒子数量,外部档案规模,设置多项式变异分布指数,粒子位置及速度,将粒子加入外部档案;

    划分进化状态模块:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;

    选择全局最优解模块:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;

    更新个体最优解模块:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;

    局部扰动模块:利用多项式变异对粒子的位置进行局部扰动;

    更新外部档案模块:将更新后的粒子加入外部档案,并对外部档案进行维护;

    迭代判断模块:若未到达最大迭代次数则将更新后的粒子加入外部档案继续迭代,若已达到最大迭代次数,则输出外部档案。

    本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。


    技术特征:

    1.一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,包括有以下步骤:

    1)数据采集:获取待配送目的地数量m,第i个目的地的配送货物的重量为qi(i=1,2,...,m),采集待配送目的编号信息、地理坐标信息及相互之间的距离信息;

    2)构建模型:以若干物流车辆完成m个客户配送为条件,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;

    3)寻找最优解:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径。

    2.如权利要求1所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤2)中构建模型的具体步骤如下:

    2-1)构建运输成本模型:

    式(1)中,k为配送车辆数量,其容量分别为gk(k=1,2,...,k)且maxgi≥maxqk,ckp表示每公里车辆行驶的成本,dij为从客户点i到j的距离,若xijk=1,表示车辆k从i到j,g为引入的惩罚项,c为最小化的目标—车辆的运输成本,即每公里的运输费用加上车辆超重时的惩罚项;

    2-2)构建时间成本模型:

    式(2)中,vk为每辆车的速度,t为最后一个被配送的用户的等待时间,即车辆的运输总时长。计算方法为每段路程的时间之和加上车辆超重的惩罚;

    2-3)车辆路径vrp的约束条件为:

    表示每辆车的载重大于它所配送的客户点的需求总和;

    表示每个客户都有且只有一辆车进行配送;

    表示每辆车仅经过客户点一次;

    g为当车辆配送重量超重时的惩罚,其中gk为每辆车的最大载重,g的值为超重车所载的货物的重量比上其最大载重;若yik=1,表示客户i由车辆k配送,引入惩罚项g,若配送车辆在配送过程中超载,在目标函数中加入惩罚项。

    3.如权利要求2所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3)中寻找最优解的具体步骤为:

    3-1)初始化粒子:初始化种群中粒子数量,外部档案规模,设置多项式变异分布指数,粒子位置及速度,将粒子加入外部档案;

    3-2)划分进化状态:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;

    3-3)选择全局最优解:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;

    3-4)更新个体最优解:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;

    3-5)局部扰动:利用多项式变异对粒子的位置进行局部扰动;

    3-6)更新外部档案:将更新后的粒子加入外部档案,并对外部档案进行维护;

    3-7)迭代判断:若未到达最大迭代次数则转至3-2),若已达到最大迭代次数,则输出外部档案。

    4.如权利要求3所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3-2)中计算当前外部档案中的粒子分布熵,计算差熵并划分进化状态的具体步骤为:

    3-2-1)计算粒子的分布熵:将每个解的密度函数定义为其他所有解的影响函数的集合,每两个解之间的影响函数用高斯函数可以很好的拟合如下:

    式(4)中,r是任意两个粒子之间的欧式距离,σ为标准差,选择为目标数量的三分之一,根据影响函数定义粒子的密度函数如下:

    式(5)中,q为外部档案中的粒子数量;

    根据密度函数求最终的粒子的分布熵如下:

    3-2-2)计算差熵△h:

    △h=h(t)-h(t-1)(7)

    当外部档案发生变化时差熵也发生变化,△h越大,则外部档案中更多的粒子被替换,可以判断种群处于开发状态,反之△h越稳定可以判断种群趋于开采状态,通过替换外部档案中的单个解增加解集的多样性;

    设置△h的阈值u,u为替换单个解的情况时:当所有外部档案中的解距离很近时,其中一解被替换,替换到距离其余解的位置,当所有解距离很近时,可以近似认为彼此之间距离相等;此时的分布熵为:

    h1≈ln(q)(8)

    剩余解的密度函数值可以近似计算为:

    单个解的密度函数值计算为:

    可得:

    粒子被代替之后的种群的分布熵为:

    此时的差熵为:

    3-2-3)根据差熵划分进化状态:根据△h与阈值u的比值对种群进化状态进行分类:

    (1)若|△h|≥u时:表示种群处于开发状态,此时应加速收敛定位到解空间,此时全局最优解要选择侧重于粒子的收敛性;

    (2)若|△h|<u且|a|<n时:表示种群处于开采阶段,粒子正在探索潜在的解空间,全局最优解侧重与粒子的多样性;

    (3)若|△h|<u且|a|=n时:表示种群处于停滞阶段,多样性和收敛性同等侧重。

    5.如权利要求4所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3-3)中,根据进化状态和粒子的多样性、收敛性选择全局最优解的具体步骤如下:

    3-3-1)计算粒子的多样性:利用归一化的基于位移的密度估计距离定义粒子的多样性:

    pd(pi)=(sde(pi)-sdemin)/(sdemax-sdemin)(16)

    式(16)中,sdemax,sdemin分别是种群种sde距离的最大值和最小值,sde距离越大粒子越分散,多样性越好,sde距离的计算方法如下:

    式(17)、(18)中,f′k(pi)是pi在第k个目标上归一化后的目标值;

    3-3-2)计算粒子的收敛性:

    式(19)、(20)中,m为目标数量,dis(pi)表示粒子在目标空间距离理想参考点的距离,pc的值越大粒子越接近理想参考点,粒子的收敛能力越好;

    3-3-3)选择全局最优解:根据进化状态和粒子的多样性收敛性选择全局最优解:

    (1)若种群处于开发状态:全局最优解侧重于收敛性,在m-1个多样性最大的粒子和m 1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (2)若种群处于开采状态:全局最优解侧重于多样性,在m 1个多样性最大的粒子和m-1个收敛性最大的粒子构成的集合里,随机选择一个粒子作为全局最优解;

    (3)若种群处于停滞状态:全局最优解则要兼顾收敛性和多样性,在m个多样性最大的粒子和m个收敛性最大的粒子构成的集合里随机选择一个粒子作为全局最优解。

    6.如权利要求5所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3-4)中更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解的具体步骤如下:

    3-4-1)更新粒子的速度和位置:

    式(21)中,xi=[xi1,xi2,...,xin]∈rn为位置,vi=[vi1,vi2,...,vin]∈rn为速度,t为迭代次数,ω为惯性权重,c1,c2为大于0的加速系数,r1,r2为在[0,1]上的随机数,pbesti为粒子历史到达的最优解,gbesti表示整个群体的最好位置,ω和c1、c2影响算法的搜索能力;

    3-4-2)对粒子的速度进行限制:

    式(22)中,χ为速度限制系数,将迭代完的粒子速度乘以χ,然后再判断粒子是否到达边界,达到限制粒子速度的目的;

    3-4-3)更新个体最优解:根据支配关系更新个体最优解,若新解和旧解不相互支配则新解替换旧解;对于任意两个向量a,b∈x,称a支配b,当且仅当式(20)成立,记作a>b;

    7.如权利要求6所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3-5)中利用多项式变异对粒子的位置进行局部扰动的具体方法如下:

    对x=(x1,x2,..,xn)的第j个维度,在其取值范围[uj,zj]内,原维度上的值被x'j代替,计算x'j的方法为:

    x'j=xj δ(zj-uj)(25)

    其中δ为:

    式(26)中,β1=(xj-uj)/(zj-uj),β2=(zj-xj)/(zj-uj),α是[0,1]之间的随机数,η为分布指数,η越大,则变异后的值越接近变异前的值。

    8.如权利要求1所述的一种基于分布熵多目标粒子群的物流车辆配送规划方法,其特征在于,步骤3-6)中将更新后的粒子加入外部档案,并对外部档案进行维护的具体方法如下:

    在每一次的迭代时都会产生一组解,将这些解中的非支配解保存起来,就构成了外部档案,当外部档案解满时,若迭代还没有结束,此时的新解和之前迭代搜索到的解进行取舍,其中a为待更新的外部档案;z为外部档案的最大容量;p为进化算法获得的一个新解;a'为更新后的外部档案,则:

    (1)若则a'={p},返回a';即当外部档案中没有解时,新解直接进入外部档案;

    (2)若p被a中的任意一个成员占优,则a'=a;即当更新之后的解被原有的解支配时,更新后的解不进入外部档案。

    (3)若对任意一个粒子ai∈a,如果ai被p占优,则a=a/{ai},a'=au{p};即当新解支配旧解时,从外部档案中移除旧解加入新解。

    (4)若新解和旧解不相互支配,令b=au{p},根据2)中计算出的进化状态和3)中计算出粒子的收敛性和多样性进行维护:若种群处于开发状态,删除收敛性最差的解。若种群处开采状态,删除多样性最差的解。若种群处于停滞状态,与开采状态策略相同。

    9.一种基于分布熵多目标粒子群的物流车辆配送规划系统,其特征在于,包括有以下模块:

    数据采集模块:获取待配送目的地数量m,第i个目的地的配送货物的重量为qi(i=1,2,...,m),采集待配送目的编号信息、地理坐标信息及相互之间的距离信息;

    构建模型模块:以若干物流车辆完成m个客户配送为条件,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;

    寻找最优解模块:基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径。

    10.如权利要求9所述的一种基于分布熵多目标粒子群的物流车辆配送规划系统,其特征在于,所述寻找最优解模块包括以下子模块:

    初始化粒子模块:初始化种群中粒子数量,外部档案规模,设置多项式变异分布指数,粒子位置及速度,将粒子加入外部档案;

    划分进化状态模块:计算当前外部档案中的粒子分布熵,根据分布熵计算差熵并划分进化状态;

    选择全局最优解模块:根据当前的进化状态和粒子的多样性收敛性选择全局最优解;

    更新个体最优解模块:更新粒子的速度并对粒子的速度进行限制,更新粒子的位置,并计算目标值,根据支配关系更新个体最优解;

    局部扰动模块:利用多项式变异对粒子的位置进行局部扰动;

    更新外部档案模块:将更新后的粒子加入外部档案,并对外部档案进行维护;

    迭代判断模块:若未到达最大迭代次数则将更新后的粒子加入外部档案继续迭代,若已达到最大迭代次数,则输出外部档案。

    技术总结
    本发明公开了一种基于分布熵多目标粒子群的物流车辆配送规划方法及系统,步骤如下:1)获取待配送目的地数量M,第i个目的地的配送货物的重量为qi(i=1,2,...,M),采集待配送目的编号信息、地理坐标信息及相互之间的距离信息;2)以若干物流车辆完成M个客户配送为条件,以配送时间、运输成本为优化目标,构建多目标粒子群的物流车辆配送路径规划模型;3)基于分布熵寻找多目标粒子群的物流车辆配送路径规划模型的全局最优解,得出最优的物流车辆配送路径;本发明通过基于分布熵多目标粒子群算法对物流车辆路径进行规划,求解出更好的路径规划,能够减少物流成本以及缩短配送时间。

    技术研发人员:刘切;王玙;杨桂彬;曾建学;柴毅
    受保护的技术使用者:重庆大学
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18391.html

    最新回复(0)