CN114330870B - 一种基于多种群进化算法的带时间窗的车辆路径规划方法 - Google Patents

一种基于多种群进化算法的带时间窗的车辆路径规划方法 Download PDF

Info

Publication number
CN114330870B
CN114330870B CN202111614801.3A CN202111614801A CN114330870B CN 114330870 B CN114330870 B CN 114330870B CN 202111614801 A CN202111614801 A CN 202111614801A CN 114330870 B CN114330870 B CN 114330870B
Authority
CN
China
Prior art keywords
individual
population
vehicle
individuals
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111614801.3A
Other languages
English (en)
Other versions
CN114330870A (zh
Inventor
田野
孙脉海
项小书
张兴义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN202111614801.3A priority Critical patent/CN114330870B/zh
Publication of CN114330870A publication Critical patent/CN114330870A/zh
Application granted granted Critical
Publication of CN114330870B publication Critical patent/CN114330870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于多种群进化算法的带时间窗的车辆路径规划方法,包括:1为带时间窗的车辆路径问题生成一个辅助问题;2随机初始化生成两个种群,种群1用于优化原始问题,种群2用于优化辅助问题;3基于协同进化算法框架迭代优化两个种群并定期对两个种群执行局部搜索操作,直到满足停止条件,输出最优种群中非支配等级最高的个体作为车辆路径规划以及时间安排的最优方案。本发明能解决带时间窗的车辆路径规划问题,在找到最小使用车辆数目的同时,能得到更短的总行驶距离,从而提高运输效率,并降低运输成本。

Description

一种基于多种群进化算法的带时间窗的车辆路径规划方法
技术领域
本发明涉及物流行业的车辆路径规划领域,具体的说是一种基于多种群进化算法的带时间窗的车辆路径规划方法。
背景技术
车辆路径问题是指一组车辆需要找到一组经济有效的路径来满足不同客户的需求。它是物流管理、车辆调度、交通运输中著名的NP难组合问题。如果同时考虑客户的时间窗需求,那么车辆路径问题就转化为一个带时间窗的车辆路径问题。
近年来,互联网技术的飞速发展,物流管理等行业市场也随之迅速扩大,用户体量激增,同时用户需求各异,为满足不同用户在不同时间段服务的需求,降低行业运行成本,各类路径规划方法层出不穷,但现有的技术大多能缩减在一个服务区域内所使用的车辆数目,无法做到较好的控制行驶总距离成本,或者是能控制好行驶总距离成本,但使用了较多的车辆,在使用车辆数目以及行驶总距离之间无法达到一个平衡。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于多种群进化算法的带时间窗的车辆路径规划方法,以期能解决带时间窗的车辆路径规划问题,在找到最小使用车辆数目的同时,能得到更短的总行驶距离,从而提高运输效率,并降低运输成本。
本发明为解决上述技术问题采用如下技术方案:
本发明一种基于多种群进化算法的带时间窗的车辆路径规划方法的特点是应用于由1个仓库c0、N个客户以及K辆运输车所组成的配送服务区域中,在所述配送服务区域中,将N个客户记为c={c1,c2,…,ci,…,cN},1≤i≤N;ci表示第i个客户,令第i个客户ci的时间窗记为[ei,li],其中,ei和li分别表示对第i个客户ci服务的最早开始时间和最晚结束时间;令第i个客户ci所需要的服务时长记为si,车辆到达第i个客户ci的时间点记为ti,车辆从第i个客户ci到达第j个客户cj的时间记为Tij,wi表示车辆在第i个客户ci的等待时间;
在所述配送服务区域中将所述仓库c0和N个客户分别作为节点,记为点集V={c0,c1,c2,…,ci,…,cN};将所述仓库c0与各个客户之间以及N个客户之间直线路径作为边集E={<i,j>|i,j∈V,i≠j};其中,<i,j>表示任意第i个节点和第j个节点之间的直线路径;记所述直线路径<i,j>的距离矩阵为dij;假设K辆运输车的最大载重量均为Q;假设所有的车辆均是以仓库c0为起点和终点;所述车辆路径规划方法是按如下步骤进行:
步骤1、建立带时间窗的车辆路径规划模型forigin
步骤1.1、利用式(1)建立带时间窗的车辆路径规划的第一目标函数f1
f1=K (1)
步骤1.2、利用式(2)建立带时间窗的车辆路径规划的第二目标函数f2
式(2)表示所有车辆的总行驶路程,其中,aijk表示第k辆运输车是否经过第i个节点和第j个节点之间的直线路径;若aijk=1,则表示第k辆运输车经过第i个节点和第j个节点之间的直线路径,若aijk=0,则表示第k辆运输车不经过第i个节点和第j个节点之间的直线路径;
步骤1.3、利用式(3)建立总目标函数f:
minf=(f1,f2) (3)
步骤1.4、利用式(4)-式(10)构建约束条件:
tj=ti+wi+Si+Tij for i,j∈{1,...,N},i≠j (9)
ei≤ti+wi≤li for i∈{1,...,N} (10)
式(4)表示所述运输车从仓库c0出发后,完成服务任务后必须全部返回仓库c0;当ai0k=1时,表示第k辆运输车经过所述第i个节点和仓库c0之间的直线路径<i,0>;当a0jk=1时,表示第k辆运输车经过所述仓库c0和第j个节点之间的直线路径<0,j>;
式(5)表示在每个客户处的第k辆运输车的出度等于入度;当ajik=1时,表示第k辆运输车经过所述第j个节点与第i个节点之间的直线路径<j,i>;当ajik=0时,表示第k辆运输车不经过所述第j个节点与第i个节点之间的直线路径<j,i>;
式(6)和式(7)表示每个客户都能被访问到并且仅被访问一次;
式(8)表示在所述第k辆运输车行驶路径上的容积约束;在第k辆运输车的服务路线上的所有客户需求之和不能多于运输车的最大载重量Q;
式(9)和式(10)表示时间窗约束,运输车要保证在要求的时间窗口内完成对客户的服务,tj表示车辆到达第j个客户cj的时间点;且ti-ei表示违反程度;
步骤2、从车辆路径规划模型forigin中去除时间窗约束后构成辅助车辆路径规划模型fhelp
步骤3、基于辅助车辆路径规划模型fhelp,利用双种群协同进化算法求解车辆路径规划模型forigin
步骤3.1:初始化大小均为N的两个种群Population1与Population2;其中,两个种群中的每个个体均由所有客户的下标序列组成,并根据运输车的最大载重量在客户的需求达到最大载重量时在下标序列中插入0作为不同路线的分隔符;
步骤3.2、根据式(1)和式(2)计算第一种群Population1中每个个体在车辆路径规划模型forigin下的目标函数值,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度;
步骤3.3、根据式(1)和式(2)计算第二种群Population2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.4、定义当前迭代次数t,并初始化t=1;设置最大迭代次数为tmax;以第一种群Population1作为第t代种群以第二种群Population2作为第t代辅助种群
步骤3.5、交配池选择:
步骤3.5.1、采用NSGA-II算法中的交配池选择方案,对第t代种群中的个体根据其目标函数值和时间窗约束进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;再计算排序后的个体的拥挤距离后进行二元锦标赛选择,直至选出N/2个个体作为第t代父代并记作/>
步骤3.5.2、采用NSGA-II算法中的交配池选择方案,对第t代辅助种群中的个体根据目标函数值进行非支配排序并计算拥挤距离后,再进行二元锦标赛选择,直至选出N/2个个体作为第t代辅助父代并记作/>
步骤3.6、产生子代;
步骤3.6.1、对第t代父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代子代种群/>
步骤3.6.2、对第t代辅助父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代辅助子代种群/>
步骤3.7、合并种群:
步骤3.7.1、将与/>合并组成临时种群Population′1
步骤3.7.2、将与/>合并组成临时辅助种群Population′2
步骤3.8、评价种群:
步骤3.8.1、根据式(1)和式(2)计算临时种群Population′1中每个个体在车辆路径规划模型forigin下的目标函数值,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度,并将违反程度为零的个体作为可行解;
步骤3.8.2根据式(1)和式(2)计算临时辅助种群Population′2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.9、环境选择:
步骤3.9.1、对临时种群Population′1中的每个个体进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;
步骤3.9.2、按照非支配等级从高到低的顺序依次选取每个等级的个体并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.2,否则,执行步骤3.9.3;
步骤3.9.3、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.3、直到所有等级中的个体数量为N为止;
步骤3.9.4、对临时种群Population′2中的个体进行非支配排序;
步骤3.9.5、按照非支配等级从高到低的顺序依次选取每个等级的个体,并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.5,否则,执行步骤3.9.6;
步骤3.9.6、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.6、直到所有等级中的个体数量为N为止;
步骤3.10、判断t与阈值δ的余数是否为“0”,若是执行局部搜索,否则,执行步骤3.11;
步骤3.11、将t+1赋值给t,判断t>tmax是否成立,若成立,则将第tmax代种群中非支配等级最高的个体作为路径规划的最优方案;否则返回到步骤3.5顺序执行。
本发明所述的基于多种群进化算法的带时间窗的车辆路径规划方法的特点也在于,所述步骤3.10中的局部搜索是按如下过程进行:
步骤3.10.1、将每个客户的邻域客户定义为距离自身最近的前n个客户组成的区域;
步骤3.10.2、定义随机数为rand,若rand≤1/3,则执行步骤3.10.3;否则,若2/3≥rand>1/3,则执行步骤3.10.4;否则,执行步骤3.10.5;
步骤3.10.3、对第t+1代种群以及第t+1代辅助种群/>中的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择两条路线,然后依次判断第一条路线上的第i个客户是否与第二条路线上的客户为邻居客户,若是,则在满足车辆最大载重量的情况下将两个客户进行交换,计算交换后的总行驶距离以及约束违反,是否比未交换时的总行驶距离更短且约束违反为0,若是,则将交换后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到第一条路线上的所有客户遍历完毕;
步骤3.10.4、对第t+1代种群以及第t+1代辅助种群/>的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择两条路线,然后依次判断第一条路线上的第i个客户是否与第二条路线上的客户为邻居客户,若是,则在满足车辆最大载重量的情况下在邻居客户后插入第i个客户,并计算交换后的总行驶距离以及约束违反是否比未插入时的总行驶距离更短且约束违反为0,若是,则将插入后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到第一条路线上的所有客户遍历完毕;
步骤3.10.5、对第t+1代种群以及第t+1代辅助种群/>的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择一条路线,然后调换所选择的路线上的第i个客户与第i+1个客户的位置,并计算交换后的总行驶距离以及约束违反,是否比未调换时的总行驶距离更短且约束违反为0,若是,则将交换后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到所选择的路线上的所有客户遍历完毕。
与现有技术相比,本发明的有益效果在于:
1、本发明方法提出的协同进化算法,通过辅助种群Population2优化更为简单的辅助问题forigin,在搜索时不受时间窗约束,能够搜索到具有更好收敛性和多样性的个体,从而使得最终得到的路径规划方案更加多样化。
2、本发明提出的方法可以使用三种局部搜索策略来解决带时间窗的车辆路径优化问题,这三种策略可以通过不同的贪心策略降低个体的目标值。具体地说,第一个搜索策略旨在通过交换不同路线中的客户以提高多样性,在使用相同车辆数目以及总行驶距离的情况下,有多种方案以供选择,第二个策略旨在通过将客户从一个路线转移到另一个减少使用的车辆数目,从而能减少使用车辆数目,第三个搜索策略旨在通过重新分配客户减少同一路线的长度,从而有效减少行驶距离成本。
附图说明
图1为本发明方法的局部搜索策略图;
图2为本发明方法的流程图。
具体实施方式
本实施实例中,一种基于多种群进化算法的带时间窗的车辆路径规划方法,是通过两个种群的弱合作,通过不同种群侧重点不同,相互促进,能够更好的探索到处于可行域边界的解,在满足时间窗约束的情况下,提高搜索到最少使用车辆以及最短总路径的效率。具体的说,该带时间窗的车辆路径规划方法是应用于由1个仓库c0、N个客户以及K辆运输车所组成的配送服务区域中,在配送服务区域中,将N个客户记为c={c1,c2,…,ci,…,cN},1≤i≤N;ci表示第i个客户,令第i个客户ci的时间窗记为[ei,li],其中,ei和li分别表示对第i个客户ci服务的最早开始时间和最晚结束时间;令第i个客户ci所需要的服务时长记为si,车辆到达第i个客户ci的时间点记为ti,车辆从第i个客户ci到达第j个客户cj的时间记为Tij,wi表示车辆在第i个客户ci的等待时间;
在配送服务区域中将仓库c0和N个客户分别作为节点,记为点集V={c0,c1,c2,…,ci,…,cN};将仓库c0与各个客户之间以及N个客户之间直线路径作为边集E={<i,j>|i,j∈V,i≠j};其中,<i,j>表示任意第i个节点和第j个节点之间的直线路径;记直线路径<i,j>的距离矩阵为dij;假设K辆运输车的最大载重量均为Q;假设所有的车辆均是以仓库c0为起点和终点;
本实施例中,参照图2所示,该车辆路径规划方法是按如下步骤进行:
步骤1、建立带时间窗的车辆路径规划模型forigin
步骤1.1、利用式(1)建立带时间窗的车辆路径规划的第一目标函数f1
f1=K (1)
步骤1.2、利用式(2)建立带时间窗的车辆路径规划的第二目标函数f2
式(2)表示所有车辆的总行驶路程,其中,aijk表示第k辆运输车是否经过第i个节点和第j个节点之间的直线路径;若aijk=1,则表示第k辆运输车经过第i个节点和第j个节点之间的直线路径,若aijk=0,则表示第k辆运输车不经过第i个节点和第j个节点之间的直线路径;
步骤1.3、利用式(3)建立总目标函数f:
minf=(f1,f2) (3)
步骤1.4、利用式(4)-式(10)构建约束条件:
tj=ti+wi+si+Tij for i,j∈{1,...,N},i≠j (9)
ei≤ti+wi≤li for i∈{1,...,N} (10)
式(4)表示运输车从仓库c0出发后,完成服务任务后必须全部返回仓库c0;当ai0k=1时,表示第k辆运输车经过第i个节点和仓库c0之间的直线路径<i,0>;当a0jk=1时,表示第k辆运输车经过仓库c0和第j个节点之间的直线路径<0,j>;
式(5)表示在每个客户处的第k辆运输车的出度等于入度;当ajik=1时,表示第k辆运输车经过第j个节点与第i个节点之间的直线路径<j,i>;当ajik=0时,表示第k辆运输车不经过第j个节点与第i个节点之间的直线路径<j,i>;
式(6)和式(7)表示每个客户都能被访问到并且仅被访问一次;
式(8)表示在第k辆运输车行驶路径上的容积约束;在第k辆运输车的服务路线上的所有客户需求之和不能多于运输车的最大载重量Q;
式(9)和式(10)表示时间窗约束,运输车要保证在要求的时间窗口内完成对客户的服务;且ti-ei表示违反程度;
例如,在表1中记录8个客户的需求信息以及表2中记录各个客户之间的距离dij,在本例中Tij=dij,并有5辆车,每辆车的最大载重量为25。
表1客户需求
编号 需求量 时间窗 服务时间
0 0 0 0
1 6 [34,44] 10
2 7 [63,73] 10
3 3 [61,71] 10
4 5 [75,85] 10
5 9 [7,17] 10
6 6 [37,47] 10
7 9 [50,60] 10
8 4 [83,93] 10
表2客户距离
dij 0 1 2 3 4 5 6 7 8
0 0
1 4 0
2 5 4 0
3 6 8 4 0
4 4 10 8 3 0
5 10 14 12 10 4 0
6 4 10 12 8 5 6 0
7 6 8 10 14 8 10 2 0
8 3 2 7 10 11 14 7 6 0
步骤2、从车辆路径规划模型forigin中去除时间窗约束后构成辅助车辆路径规划模型fhelp
步骤3、基于辅助车辆路径规划模型fhelp,利用双种群协同进化算法求解车辆路径规划模型forigin
步骤3.1:初始化大小均为N的两个种群Population1与Population2;其中,两个种群中的每个个体均由所有客户的下标序列组成,并根据运输车的最大载重量在客户的需求达到最大载重量时在下标序列中插入0作为不同路线的分隔符;例如,此处初始化五个个体的决策变量为[8,1,2,3,4,5,6,7,],[4,5,3,2,1,8,7,6],[1,2,3,4,5,6,7,8],[4,3,2,1,8,6,7,5],[3,4,5,1,2,6,7,8]再根据车辆最大载重量插入0,第一个个体中车辆在承载了客户c8至c4后无法继续承载客户c5的需求,故在4后插入0作为路径的分隔。插入0后可得到五个个体最终的决策变量分别为[0,8,1,2,3,4,0,5,6,7,0],[0,4,5,3,2,0,1,8,7,6,0],[0,1,2,3,4,0,5,6,7,0,8,0],[0,4,3,2,1,8,0,6,7,5,0],[0,3,4,5,1,0,2,6,7,0,8,0]。
步骤3.2、根据式(1)和式(2)计算第一种群Populationl中每个个体在车辆路径规划模型forigin下的目标函数值,以第一个个体为例,其第一目标值为使用的车辆数目为2,第二目标值即为车辆行驶路径的总和为44,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度,若车辆在客户时间窗前到达,需在原地等待客户,此时虽然产生额外的时间开销,但仍满足约束,若车辆未在客户时间窗内完成服务,超出的时间即记为该客户的约束违反度,所有客户的约束违反总和即为该个体的约束违反,以上述第一个个体为例,在第一条路线中,车辆满足客户的c8的时间窗,但由于等待c8时间过多,从结束服务到达c1时时间已经来到95,故在c1处的约束违反为61,计算所得第一条路径上对五个客户的约束违反分别为0,61,46,62,61,第二条路线中全部满足时间窗约束故约束违反均为0,求和得到第一个个体总约束违反值为230;对剩余四个个体均进行计算可得表3:
表3
个体 第一目标值 第二目标值 约束违反
1 2 44 230
2 2 43 313
3 3 49 31
4 2 46 256
5 3 60 256
步骤3.3、根据式(1)和式(2)计算第二种群Population2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.4、定义当前迭代次数t,并初始化t=1;设置最大迭代次数为tmax;以第一种群Population1作为第t代种群以第二种群Population2作为第t代辅助种群
步骤3.5、交配池选择:
步骤3.5.1、采用NSGA-II算法中的交配池选择方案,对第t代种群中的个体根据其目标函数值和时间窗约束进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;再计算排序后的个体的拥挤距离后进行二元锦标赛选择,直至选出N/2个个体作为第t代父代并记作/>
其中拥挤距离的计算公式为:
即为第i个个体左右两边个体各目标函数值之差的和,若第i个个体为边界个体(第i+1或者i-1个位置上没有个体),拥挤距离则设置为无穷大。
步骤3.5.2、采用NSGA-II算法中的交配池选择方案,对第t代辅助种群中的个体根据目标函数值进行非支配排序并计算拥挤距离后,再进行二元锦标赛选择,直至选出N/2个个体作为第t代辅助父代并记作/>
步骤3.6、产生子代;
步骤3.6.1、对第t代父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代子代种群/>
步骤3.6.2、对第t代辅助父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代辅助子代种群/>
步骤3.7、合并种群:
步骤3.7.1、将与/>合并组成临时种群Population′1
步骤3.7.2、将与/>合并组成临时辅助种群Population′2
步骤3.8、评价种群:
步骤3.8.1、根据式(1)和式(2)计算临时种群Population′1中每个个体在车辆路径规划模型forigin下的目标函数值,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度,并将违反程度为零的个体作为可行解;
步骤3.8.2根据式(1)和式(2)计算临时种群Population′2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.9、环境选择:
步骤3.9.1、对临时种群Population′1中的每个个体进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;
步骤3.9.2、按照非支配等级从高到低的顺序依次选取每个等级的个体并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.2,否则,执行步骤3.9.3;
步骤3.9.3、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.3、直到所有等级中的个体数量为N为止;
步骤3.9.4、对临时种群Population′2中的个体进行非支配排序;
步骤3.9.5、按照非支配等级从高到低的顺序依次选取每个等级的个体,并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.5,否则,执行步骤3.9.6;
步骤3.9.6、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.6、直到所有等级中的个体数量为N为止;
步骤3.10、判断t与阈值δ的余数是否为“0”,若是执行局部搜索,否则,执行步骤3.11;
步骤3.11、将t+1赋值给t,判断t>tmax是否成立,若成立,则将第tmax代种群
中非支配等级最高的个体作为路径规划的最优方案;否则返回到步骤3.5顺序执行。

Claims (2)

1.一种基于多种群进化算法的带时间窗的车辆路径规划方法,其特征是应用于由1个仓库c0、N个客户以及K辆运输车所组成的配送服务区域中,在所述配送服务区域中,将N个客户记为c={c1,c2,…,ci,…,cN},1≤i≤N;ci表示第i个客户,令第i个客户ci的时间窗记为[ei,li],其中,ei和li分别表示对第i个客户ci服务的最早开始时间和最晚结束时间;令第i个客户ci所需要的服务时长记为si,车辆到达第i个客户ci的时间点记为ti,车辆从第i个客户ci到达第j个客户cj的时间记为Tij,wi表示车辆在第i个客户ci的等待时间;
在所述配送服务区域中将所述仓库c0和N个客户分别作为节点,记为点集V={c0,c1,c2,…,ci,…,cN};将所述仓库c0与各个客户之间以及N个客户之间直线路径作为边集E={<i,j>|i,j∈V,i≠j};其中,<i,j>表示任意第i个节点和第j个节点之间的直线路径;记所述直线路径<i,j>的距离矩阵为dij;假设K辆运输车的最大载重量均为Q;假设所有的车辆均是以仓库c0为起点和终点;所述车辆路径规划方法是按如下步骤进行:
步骤1、建立带时间窗的车辆路径规划模型forigin
步骤1.1、利用式(1)建立带时间窗的车辆路径规划的第一目标函数f1
f1=K (1)
步骤1.2、利用式(2)建立带时间窗的车辆路径规划的第二目标函数f2
式(2)表示所有车辆的总行驶路程,其中,aijk表示第k辆运输车是否经过第i个节点和第j个节点之间的直线路径;若aijk=1,则表示第k辆运输车经过第i个节点和第j个节点之间的直线路径,若aijk=0,则表示第k辆运输车不经过第i个节点和第j个节点之间的直线路径;
步骤1.3、利用式(3)建立总目标函数f:
min f=(f1,f2) (3)
步骤1.4、利用式(4)-式(10)构建约束条件:
tj=ti+wi+si+Tij for i,j∈{1,...,N},i≠j (9)
ei≤ti+wi≤li for i∈{1,...,N} (10)
式(4)表示所述运输车从仓库c0出发后,完成服务任务后必须全部返回仓库c0;当ai0k=1时,表示第k辆运输车经过所述第i个节点和仓库c0之间的直线路径<i,0>;当a0jk=1时,表示第k辆运输车经过所述仓库c0和第j个节点之间的直线路径<0,j>;
式(5)表示在每个客户处的第k辆运输车的出度等于入度;当ajik=1时,表示第k辆运输车经过所述第j个节点与第i个节点之间的直线路径<j,i>;当ajik=0时,表示第k辆运输车不经过所述第j个节点与第i个节点之间的直线路径<j,i>;
式(6)和式(7)表示每个客户都能被访问到并且仅被访问一次;
式(8)表示在所述第k辆运输车行驶路径上的容积约束;在第k辆运输车的服务路线上的所有客户需求之和不能多于运输车的最大载重量Q;
式(9)和式(10)表示时间窗约束,运输车要保证在要求的时间窗口内完成对客户的服务,tj表示车辆到达第j个客户cj的时间点;且ti-ei表示违反程度;
步骤2、从车辆路径规划模型forigin中去除时间窗约束后构成辅助车辆路径规划模型fhelp
步骤3、基于辅助车辆路径规划模型fhelp,利用双种群协同进化算法求解车辆路径规划模型forigin
步骤3.1:初始化大小均为N的两个种群Population1与Population2;其中,两个种群中的每个个体均由所有客户的下标序列组成,并根据运输车的最大载重量在客户的需求达到最大载重量时在下标序列中插入0作为不同路线的分隔符;
步骤3.2、根据式(1)和式(2)计算第一种群Population1中每个个体在车辆路径规划模型forigin下的目标函数值,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度;
步骤3.3、根据式(1)和式(2)计算第二种群Population2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.4、定义当前迭代次数t,并初始化t=1;设置最大迭代次数为tmax;以第一种群Population1作为第t代种群以第二种群Population2作为第t代辅助种群/>
步骤3.5、交配池选择:
步骤3.5.1、采用NSGA-Ⅱ算法中的交配池选择方案,对第t代种群中的个体根据其目标函数值和时间窗约束进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;再计算排序后的个体的拥挤距离后进行二元锦标赛选择,直至选出N/2个个体作为第t代父代并记作/>
步骤3.5.2、采用NSGA-Ⅱ算法中的交配池选择方案,对第t代辅助种群中的个体根据目标函数值进行非支配排序并计算拥挤距离后,再进行二元锦标赛选择,直至选出N/2个个体作为第t代辅助父代并记作/>
步骤3.6、产生子代;
步骤3.6.1、对第t代父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代子代种群/>
步骤3.6.2、对第t代辅助父代中的个体执行基于序列的遗传算子以产生大小为N/2的第t代辅助子代种群/>
步骤3.7、合并种群:
步骤3.7.1、将与/>合并组成临时种群Population'1
步骤3.7.2、将与/>合并组成临时辅助种群Population'2
步骤3.8、评价种群:
步骤3.8.1、根据式(1)和式(2)计算临时种群Population'1中每个个体在车辆路径规划模型forigin下的目标函数值,并根据式(9)和式(10)计算每辆车到达指定客户的时间点以及时间窗约束的违反程度,并将违反程度为零的个体作为可行解;
步骤3.8.2根据式(1)和式(2)计算临时辅助种群Population'2中每个个体在辅助车辆路径规划模型fhelp下的目标函数值;
步骤3.9、环境选择:
步骤3.9.1、对临时种群Population'1中的每个个体进行非支配排序,并对不满足时间窗约束的个体在其每一维的目标值上加上其违反程度后再进行非支配排序;
步骤3.9.2、按照非支配等级从高到低的顺序依次选取每个等级的个体并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.2,否则,执行步骤3.9.3;
步骤3.9.3、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.3、直到所有等级中的个体数量为N为止;
步骤3.9.4、对临时种群Population'2中的个体进行非支配排序;
步骤3.9.5、按照非支配等级从高到低的顺序依次选取每个等级的个体,并判断所选取的所有等级中的个体总数量是否小于N,若小于,则重复执行步骤3.9.5,否则,执行步骤3.9.6;
步骤3.9.6、对当前所选取等级中的个体计算拥挤距离,并删除拥挤距离最小的个体后,判断所有等级中的个体总数量是否等于N,若是,则组成第t+1代种群否则,重复执行步骤3.9.6、直到所有等级中的个体数量为N为止;
步骤3.10、判断t与阈值δ的余数是否为“0”,若是执行局部搜索,否则,执行步骤3.11;
步骤3.11、将t+1赋值给t,判断t>tmax是否成立,若成立,则将第tmax代种群中非支配等级最高的个体作为路径规划的最优方案;否则返回到步骤3.5顺序执行。
2.根据权利要求1所述的基于多种群进化算法的带时间窗的车辆路径规划方法,其特征是,所述步骤3.10中的局部搜索是按如下过程进行:
步骤3.10.1、将每个客户的邻域客户定义为距离自身最近的前n个客户组成的区域;
步骤3.10.2、定义随机数为rand,若rand≤1/3,则执行步骤3.10.3;否则,若2/3≥rand>1/3,则执行步骤3.10.4;否则,执行步骤3.10.5;
步骤3.10.3、对第t+1代种群以及第t+1代辅助种群/>中的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择两条路线,然后依次判断第一条路线上的第i个客户是否与第二条路线上的客户为邻居客户,若是,则在满足车辆最大载重量的情况下将两个客户进行交换,计算交换后的总行驶距离以及约束违反,是否比未交换时的总行驶距离更短且约束违反为0,若是,则将交换后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到第一条路线上的所有客户遍历完毕;
步骤3.10.4、对第t+1代种群以及第t+1代辅助种群/>的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择两条路线,然后依次判断第一条路线上的第i个客户是否与第二条路线上的客户为邻居客户,若是,则在满足车辆最大载重量的情况下在邻居客户后插入第i个客户,并计算交换后的总行驶距离以及约束违反是否比未插入时的总行驶距离更短且约束违反为0,若是,则将插入后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到第一条路线上的所有客户遍历完毕;
步骤3.10.5、对第t+1代种群以及第t+1代辅助种群/>的每个个体执行以下操作:
个体从自身的客户下标序列中随机选择一条路线,然后调换所选择的路线上的第i个客户与第i+1个客户的位置,并计算交换后的总行驶距离以及约束违反,是否比未调换时的总行驶距离更短且约束违反为0,若是,则将交换后的个体替换原来的个体并退出局部搜索;否则,对第一条路线上的第i+1个客户进行判断,直到所选择的路线上的所有客户遍历完毕。
CN202111614801.3A 2021-12-27 2021-12-27 一种基于多种群进化算法的带时间窗的车辆路径规划方法 Active CN114330870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111614801.3A CN114330870B (zh) 2021-12-27 2021-12-27 一种基于多种群进化算法的带时间窗的车辆路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111614801.3A CN114330870B (zh) 2021-12-27 2021-12-27 一种基于多种群进化算法的带时间窗的车辆路径规划方法

Publications (2)

Publication Number Publication Date
CN114330870A CN114330870A (zh) 2022-04-12
CN114330870B true CN114330870B (zh) 2024-04-16

Family

ID=81012648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111614801.3A Active CN114330870B (zh) 2021-12-27 2021-12-27 一种基于多种群进化算法的带时间窗的车辆路径规划方法

Country Status (1)

Country Link
CN (1) CN114330870B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489146B (zh) * 2022-04-14 2022-06-28 成都慧简联信息科技有限公司 一种多无人机数据收集系统的调度与轨迹规划方法
CN116337084B (zh) * 2023-05-25 2023-08-08 湖南大学 一种部分同路段多机器人配送包裹的路径规划方法
CN117129000B (zh) * 2023-09-21 2024-03-26 安徽大学 一种基于种子优化算法的多目标货运车辆路径规划方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049805A (zh) * 2013-01-18 2013-04-17 中国测绘科学研究院 基于改进粒子群优化的带时间窗约束的车辆路径优化方法
CN110657816A (zh) * 2019-09-20 2020-01-07 上海海事大学 一种基于烟花算法的带硬时间窗的车辆路径问题规划方法
CN113343575A (zh) * 2021-06-21 2021-09-03 太原科技大学 基于改进蚁群算法的多目标车辆路径优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049805A (zh) * 2013-01-18 2013-04-17 中国测绘科学研究院 基于改进粒子群优化的带时间窗约束的车辆路径优化方法
CN110657816A (zh) * 2019-09-20 2020-01-07 上海海事大学 一种基于烟花算法的带硬时间窗的车辆路径问题规划方法
CN113343575A (zh) * 2021-06-21 2021-09-03 太原科技大学 基于改进蚁群算法的多目标车辆路径优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
带时间窗的同时取送货车辆路径问题建模及模因求解算法;张庆华 等;计算机应用;20200410;40(第04期);1098-1103 *

Also Published As

Publication number Publication date
CN114330870A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN114330870B (zh) 一种基于多种群进化算法的带时间窗的车辆路径规划方法
CN110084512B (zh) 一种面向智能仓储系统的多机器人任务分配方法
CN112561194B (zh) 一种混合流水车间生产与物流集成调度方法及系统
CN111144568A (zh) 一种多目标城市物流配送路径规划方法
Thangiah et al. Algorithms for the vehicle routing problems with time deadlines
CN109800910B (zh) 一种基于禁忌搜索的超启发式算法的车辆路径优化方法
CN109559062B (zh) 一种合作式物流问题的任务分配与路径规划方法
CN107909228B (zh) 基于模因计算的动态车辆收发货路径规划方法及装置
Ting et al. Multi-vehicle selective pickup and delivery using metaheuristic algorithms
Zhao et al. Particle swarm optimization for vehicle routing problem with time windows
Golmohammadi et al. A multi-objective location routing problem using imperialist competitive algorithm
CN110750079A (zh) 一种允许工序跳跃的混合流水车间调度优化方法
CN111340303B (zh) 基于新型混合蛙跳算法的旅行商路线规划方法
Subbaiah et al. Scheduling of AGVs and machines in FMS with makespan criteria using sheep flock heredity algorithm
CN113569483A (zh) 基于人工蜂群算法求解多目标柔性作业车间调度的方法
CN117075545A (zh) 一种多目标柔性作业车间调度方法、电子设备、介质
CN116957177A (zh) 一种柔性车间产线规划方法、系统、设备及介质
Chen et al. A hybrid two-stage sweep algorithm for capacitated vehicle routing problem
CN113361813A (zh) 一种圆晶设备排产系统优化调度方法
CN109754121A (zh) 双机器人协同巡检路径优化方法
CN113792989A (zh) 一种需求驱动的共享观光车区域间并行优化调度方法
CN113887782A (zh) 一种面向维修资源配送调度的遗传-烟花混合方法及系统
CN112990716A (zh) 一种双资源约束柔性车间调度和布局集成优化方法及系统
CN117077975A (zh) 基于混合初始化模因算法的分布式异构流水车间调度方法
Wang et al. A tailored NSGA-III for multi-objective flexible job shop scheduling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant