一种改进的解决带约束车辆路径问题的方法与流程

文档序号:23135227发布日期:2020-12-01 13:10阅读:132来源:国知局
一种改进的解决带约束车辆路径问题的方法与流程

本发明涉及控制和系统工程技术领域,尤其涉及一种改进的解决带约束车辆路径问题的方法。



背景技术:

车辆路径问题(vrp)一般定义为,对有需要的装货点和卸货点,组织合乎实际的行车线路,使车辆有序地通过它们,在满足所要求的约束条件(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等)下,达到问题的目标(如路程最短、费用最少、时间尽量少、使用车辆数尽量少等)。

组合优化是优化领域的一个重要分支,其中车辆路径问题(vrp)是一类典型的组合优化问题。该问题最初是由dantzig等在1959年提出的,目的是构造最短的车辆行驶路径来实现运输成本的最小化。目前,用于求解此类车辆路径问题的方法较多,经典的方法有割平面法、分支定界法、动态规划方法等。由于该问题是一个np难题(非多项式算法难题),因此,多种启发式算法不断地在求解中应用,如粒子群算法、遗传算法、蚁群算法、禁忌搜索算法等智能优化算法。然而,对于这些算法来说,这些算法的收敛速度慢,精确度比较差,并且比较容易陷入局部最优。

原始的灰狼算法大体上包括以下的四个部分,分别是环绕猎物,围补猎物,攻击猎物,寻找猎物。在原始的灰狼算法中,通过模拟灰狼种群围捕猎物的行为来实现候选解的更新,其他灰狼通过判断前三匹优质狼的位置来决定前进的方向和距离,然后听从优质狼的指挥对猎物进行寻找和围捕,确定剩余灰狼的下一位置。改进的灰狼算法所应用的难点在于,

(1)对于距离公式来说,但针对路径问题中的离散性,对距离判断公式进行重新描述;

(2)其次,就是对于位置更新公式来说,相较于自身优势,灰狼应该更加关注优质狼中没有的信息,接下来灰狼会根据自身与优质狼之间的差距进行位置更新。



技术实现要素:

针对现有技术中存在的问题,本发明提供一种改进的解决带约束车辆路径问题的方法,对已有的灰狼算法进行改进,通过引入集合的方法,重新定义距离判断公式和位置更新公式,然后重新对问题的解进行构造,实现配送总成本最小化和顾客满意度最大化。

本发明所采取的技术方案是:

一种改进的解决带约束车辆路径问题的方法,包括以下步骤:

步骤1:建立适应于带容量约束的车辆路径问题的数据集,包括配送中心与客户信息,所述客户信息包括客户编号、客户坐标以及客户需求量;

步骤2:建立路径网络图,对灰狼算法和路径问题参数进行初始化;

设置向图g=(v,e)为配送网络,其中v=(0,1,2,…n)为节点的集合,节点0为物流配送中心;v/{0}为客户节点;e={{i,j}|i,j邻接,i∈v,j∈v,i≠j}表示为配送路段集合;k表示配送中心拥有配送车辆数量,车辆k∈[0,k],分别记为1,2,3…k,n为节点数,包括n-1个客户点和一个配送中心,i,j表示客户,且i≠j;

步骤3:通过基于总路径长度最短和客户时间满意度最高的带容量约束的车辆路径问题的数学模型计算各个灰狼的适应度的值,并进行适应度值从高到低排序,确定前三匹优质狼的位置;

所述数学模型如下:

maxf=maxfj(tij)

minz=wd+(1-w)f

其中d表示配送过程中所有车辆的总路径长度,f表示客户对送达时间的满意度,z表示适应度,dij为客户i与j之间的距离,表示状态变量,如果车辆k从客户i直接到达客户j,则为1,否则为0,w表示目标权重,w∈[0,1];

上述模型满足的约束条件如下:

(1)表示每辆车配送的客户总货物量不超过车辆最大运载货物量;

(2)表示每辆车必须从物流配送中心出发;

(3)表示每辆车的行驶距离不超过该车的最大行驶距离;

(4)表示每条路径有且仅有一辆车为该路径每个客户服务,同时每辆车从配送中心出发,在完成所负责的所有客户的配送任务后回到配送中心;

(5)表示所有客户都必须得到服务;

(6)表示当第k辆车到达客户j时,则必须为客户j提供服务;

(7)表示车辆k服务完客户i后,必须从该点离开前往下一个客户;

其中qmax为车辆的最大载重量,qi为客户i的需求量。dk为车辆k的最大行驶距离,mk表示车辆k参与配送的客户总数,若车辆k没有参与配送,记mk=0;都表示状态变量,如果客户i由车辆k配送,则为1,否则为零;如果车辆k从客户i直接到达客户j,则为1,否则为0;如果车辆k从配送中心0直接到达客户j,则为1,否则为0;

所述客户时间满意度函数fj(t)分为耐心等待期[0,et]和焦躁等待期[et,lt];如果客户在耐心等待期[0,et]内收到产品,则时间满意度为100%;如果客户在焦躁等待期[et,lt]内收到产品,则时间满意度为货物收到时间与最晚服务时间的差和等待时间[et,lt]之比;如果收到货物的时间长于焦躁等待期,客户的时间满意度为0,对应的客户时间满意度函数下式所示。

其中,tij表示车辆从客户i到客户j的行驶时间,tij=dij/v,v表示配送车辆的平均速度;

步骤4:进行灰狼算法的距离计算,如下式所示;

其中,t表示当前迭代的次数,表示猎物与灰狼的距离,表示猎物的位置,即算法运行中的最优解,表示灰狼l的位置,即为算法运行中的候选解,dl表示第l匹狼与当前猎物的距离,是系数向量;

步骤5:通过位置更新公式,进行灰狼算法的位置的更新;

系数向量具体的计算公式如下所示:

其中,在迭代过程中从2到0线性递减,为[0,1]区间内的两个随机数。

步骤6:通过灰狼位置解的重新构造公式完成解的迭代。

灰狼位置解的重新构造公式如下所示:

其中,xl(t+1)表示灰狼omega下一时刻的位置,表示最好的优质狼的位置,表示次好优质狼的位置,表示第三好优质狼的位置,e代表全体边集,e={{i,j}|i,j邻接,i∈v,j∈v,i≠j}表示为配送路段集合;

步骤7:判断是否已经达到最大的迭代次数,如果没有达到最大的迭代的次数,则返回步骤3继续进行计算。

步骤8:达到了最大迭代次数之后,此时获得的最优解即是配送路径的最短总长度和客户对送达时间的最优满意度。

采用上述技术方案所产生的有益效果在于:

本发明提出一种改进的解决带约束车辆路径问题的方法,与现有技术相比,本方法能够较好地弥补原始灰狼算法求解精度的不足,收敛速度更快,精确度更高,能有效避免算法陷入局部最优,实现配送总成本最小化和顾客满意度最大化。

附图说明

图1为本发明基于车辆路径问题流程图;

图2为本发明实施例运行距离的迭代曲线图;

图3为本发明实施例客户满意度的迭代曲线图;

图4为本发明实施例最优方案路径图。

具体实施方式

下面结合附图对本发明具体实施方式加以详细的说明。

一种改进的解决带约束车辆路径问题的方法,如图1所示,包括以下步骤:

步骤1:建立适应于带容量约束的车辆路径问题的数据集,包括配送中心与客户信息,所述客户信息包括客户编号、客户坐标以及客户需求量;

数据集选取tsplib里的基准算例,并对基准算例中的载重量进行合理的修改。算例中,车辆提供货物配送服务客户数量为20,设所有车辆最大载重量为15t,车辆的最大数量为10,车辆行驶速度为40km/h。各客户信息如附表1所示;在所有客户被服务完毕后,所选路径需要达到的目标为:车辆总行驶里程最少。客户满意度最高;配送中心与客户信息详见表1。

表1配送中心与客户信息

注:编号0表示配送中心;1~20表示客户

步骤2:建立路径网络图,对灰狼算法和路径问题参数进行初始化;

设置向图g=(v,e)为配送网络,其中v=(0,1,2,…n)为节点的集合,节点0为物流配送中心;v/{0}为客户节点;e={{i,j}|i,j邻接,i∈v,j∈v,i≠j}表示为配送路段集合;k表示配送中心拥有配送车辆数量,车辆k∈[0,k],分别记为1,2,3…k,n为节点数,包括n-1个客户点和一个配送中心,i,j表示客户,且i≠j;

灰狼的初始种群数量为200;最大迭代次数为200;最早服务时间窗口et=0.5,最晚服务时间窗口lt=1.5。车辆最大载重量为15t,车辆行驶速度为40km/h。

步骤3:通过基于总路径长度最短和客户时间满意度最高的带容量约束的车辆路径问题的数学模型计算各个灰狼的适应度的值,并进行适应度值从高到低排序,确定前三匹优质狼的位置;

所述数学模型如下:

maxf=maxfj(tij)(2)

minz=wd+(1-w)f(3)

其中d表示配送过程中所有车辆的总路径长度,f表示客户对送达时间的满意度,z表示适应度,dij为客户i与j之间的距离,表示状态变量,如果车辆k从客户i直接到达客户j,则为1,否则为0,w表示目标权重,w∈[0,1]。

所述客户时间满意度函数fj(t)分为耐心等待期[0,et]和焦躁等待期[et,lt];如果客户在耐心等待期[0,et]内收到产品,则时间满意度为100%;如果客户在焦躁等待期[et,lt]内收到产品,则时间满意度为货物收到时间与最晚服务时间的差和等待时间[et,lt]之比;如果收到货物的时间长于焦躁等待期,客户的时间满意度为0,对应的客户时间满意度函数下式所示。

其中,tij表示车辆从客户i到客户j的行驶时间,tij=dij/v,v表示配送车辆的平均速度上述模型满足的约束条件如下:

(1)表示每辆车配送的客户总货物量不超过车辆最大运载货物量;

(2)表示每辆车必须从物流配送中心出发;

(3)表示每辆车的行驶距离不超过该车的最大行驶距离;

(4)表示每条路径有且仅有一辆车为该路径每个客户服务,同时每辆车从配送中心出发,在完成所负责的所有客户的配送任务后回到配送中心;

(5)表示所有客户都必须得到服务;

(6)表示当第k辆车到达客户j时,则必须为客户j提供服务;

(7)表示车辆k服务完客户i后,必须从该点离开前往下一个客户;

其中qmax为车辆的最大载重量,qi为客户i的需求量。dk为车辆k的最大行驶距离,mk表示车辆k参与配送的客户总数,若车辆k没有参与配送,记mk=0;都表示状态变量,如果客户i由车辆k配送,则为1,否则为零;如果车辆k从客户i直接到达客户j,则为1,否则为0;如果车辆k从配送中心0直接到达客户j,则为1,否则为0;

步骤4:进行灰狼算法的距离计算,如下式所示;

其中,t表示当前迭代的次数,表示猎物与灰狼的距离,表示猎物的位置,即算法运行中的最优解,表示灰狼l的位置,即为算法运行中的候选解,dl表示第l匹狼与当前猎物的距离,是系数向量;由距离判断公式(5),定义集合a,b。假设两个集合a和b,则|a-b|为集合a和b的交集,即保留集合a中集合b中公共的元素,其数学表达式如下式所示:

a-b={e|e∈aande∈b}(6)

事实上,集合a的信息具备更大的潜力,通过寻找集合b中与a集合相同的元素来说明集合b中的优质信息。在路径问题中具体描述为保留优质解xp与距离di中公共的边。

步骤5:通过位置更新公式,进行灰狼算法的速度的更新;

系数向量具体的计算公式如下所示:

其中,在迭代过程中从2到0线性递减,为[0,1]区间内的两个随机数。由位置更新公式(5),假设两个集合a和b,且b是a的子集,则a-b为集合b在集合a的补集,即保留集合a中集合b中没有的元素,其数学表达式如下式所示:

事实上,集合a的信息具备更大的潜力,通过寻找集合b中与a集合相同的元素来说明集合b中的优质信息。在路径问题中具体描述为剔除优质解xp与可行解xi中公共的边。

步骤6:通过灰狼位置解的重新构造公式完成解的迭代。

灰狼位置解的重新构造公式如下所示:

其中,xl(t+1)表示灰狼omega下一时刻的位置,表示最好的优质狼alpha的位置,表示次好优质狼beta的位置,表示第三好优质狼delta的位置,e代表全体边集,e={{i,j}|i,j邻接,i∈v,j∈v,i≠j}表示为配送路段集合;

关于灰狼位置解的重新构造公式作解释如下:

为了获取灰狼omega下一时刻的位置,从最好优质狼alpha获取的优质信息中选取边,在中无法找到从一个客户到其余剩余客户的边时,则从次好优质狼beta获取的优质信息中选取边,在中也无法找到从一个客户到其余剩余客户的边时,则需要从第三好优质狼delta获取的优质信息中去寻找,若根据前三匹狼获取的信息都没有可用的边,则从上一代解xi(t)中寻找,最后,当优质边和当前边都无法构造出完整的路径时,在全体边集e中补全剩余边。从而构造出一条完整的路径。

步骤7:判断是否已经达到最大的迭代次数,如果没有达到最大的迭代的次数,则返回步骤3继续进行计算。

步骤8:达到了最大迭代次数之后,此时获得的最优解即是配送路径的最短总长度和客户对送达时间的最优满意度,配送路径的最短总长度为240.65m,客户对送达时间的最优满意度为98.5%;最优方案路径如图4所示;最优安排路径为

车辆1:0→5→19→4→0

车辆2:0→1→9→0

车辆3:0→18→13→8→0

车辆4:0→10→0

车辆5:0→20→12→2→15→14→0

车辆6:0→6→3→16→0

车辆7:0→11→7→17→0

所以应分配7辆配送车完成此次配送任务。

本实施例中采用matlabr2016a对原始灰狼算法、改进的灰狼算法进行编程实现,这2种算法均在intelcorei5-8250u3.6ghz(8gbram)、操作系统为win10的环境下运行。2种算法均随机运行15次,优化结果如附表2所示,

表2两种算法计算结果比较

运行距离和客户满意度的迭代曲线分别由附图2,附图3所示。基本灰狼算法求出的最优路径中,车辆总行驶距离为258.33km,最大客户满意度为93.8%;改进的灰狼算法求出的最优路径中,车辆总行驶距离为240.65km,最大客户满意度为98.5%;可见改进的灰狼算法均优于基本灰狼算法。尤其在改进的灰狼算法中,相比于基本灰狼算法,平均长度均减少超过7%,平均客户满意度提高了5%,验证了算法的有效性和稳定性。

最优路径如附图4所示,最优路径各车辆配送路径为

车辆1:0→5→19→4→0

车辆2:0→1→9→0

车辆3:0→18→13→8→0

车辆4:0→10→0

车辆5:0→20→12→2→15→14→0

车辆6:0→6→3→16→0

车辆7:0→11→7→17→0

所以应分配7辆配送车完成此次配送任务达到最优方案。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1