浙江大学学报(工学版), 2021, 55(2): 259-270 doi: 10.3785/j.issn.1008-973X.2021.02.006

机械工程

基于改进混合蛙跳算法的多约束车辆路径优化

鲁建厦,, 翟文倩, 李嘉丰, 易文超, 汤洪涛

浙江工业大学 机械工程学院,浙江 杭州 310023

Multi-constrained vehicle routing optimization based on improved hybrid shuffled frog leaping algorithm

LU Jian-sha,, ZHAI Wen-qian, LI Jia-feng, YI Wen-chao, TANG Hong-tao

College of Mechanical Engineering, Zhejiang University of Technology, Hangzhou 310023, China

收稿日期: 2020-07-7  

基金资助: 国家重点研发计划资助项目(2018YFB1308100);浙江省重点研发计划资助项目(2018C01003);浙江省自然科学基金资助项目(LY15G010009)

Received: 2020-07-7  

Fund supported: 国家重点研发计划资助项目(2018YFB1308100);浙江省重点研发计划资助项目(2018C01003);浙江省自然科学基金资助项目(LY15G010009)

作者简介 About authors

鲁建厦(1963—),男,教授,博导,从事智能物流、物流装备和精益生产研究.orcid.org/0000-0001-5793-3328.E-mail:ljs@zjut.edu.cn , E-mail:ljs@zjut.edu.cn

摘要

针对多中心分布式企业存在的产品成本差异化问题,建立包括产品成本、多车场、多车型在内的多约束车辆路径模型,并设计求解该模型的改进混合蛙跳算法. 根据问题特性,改进聚类算法并结合邻近矩阵构造初始青蛙种群;提出子群概念,设计自内而外的交流演化模式;定义远离矩阵,对青蛙进行引导性邻域搜索. 将所设计的算法进行多组不同的对比实验,结果表明,所设计的算法通用性强,实用性高,与遗传算法、蚁群算法这类传统经典算法相比,具有更好的收敛速度与求解精度,可以有效解决此类问题;考虑产品成本的调度方案总成本平均减少6%,占产品总成本的13%,可以为企业提供更合理的车辆配送方案.

关键词: 产品成本 ; 混合蛙跳算法 ; 多车场 ; 多车型 ; 车辆路径

Abstract

Aiming at the product cost differentiation problem of multi-center distributed enterprises, a multi-constrained vehicle routing model including product cost, multi-depot and heterogeneous vehicle was established, and an improved hybrid shuffled frog leaping algorithm was designed to solve the problem. The initial frog population was constructed by improved clustering algorithm and adjacency matrix according to the characteristics of the problem. The concept of subgroup was proposed to design the evolution model of communication from inside to outside. The guided local search was performed in the subgroups according to the distance matrix. The designed algorithm was subjected to many different sets of comparative experiments. Results show that the designed algorithm is highly versatile and practical. Compared with traditional classical algorithms such as genetic algorithm and ant colony algorithm, it has better convergence speed and accuracy, which can effectively solve the problems. The total cost of the solution considering the product cost was reduced by an average of 6%, accounting for 13% of the total product cost, which can provide more reasonable vehicle distribution plan for enterprises.

Keywords: product cost ; hybrid shuffled frog leaping algorithm ; multi-depot ; heterogeneous vehicle ; vehicle scheduling

PDF (1763KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

鲁建厦, 翟文倩, 李嘉丰, 易文超, 汤洪涛. 基于改进混合蛙跳算法的多约束车辆路径优化. 浙江大学学报(工学版)[J], 2021, 55(2): 259-270 doi:10.3785/j.issn.1008-973X.2021.02.006

LU Jian-sha, ZHAI Wen-qian, LI Jia-feng, YI Wen-chao, TANG Hong-tao. Multi-constrained vehicle routing optimization based on improved hybrid shuffled frog leaping algorithm. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(2): 259-270 doi:10.3785/j.issn.1008-973X.2021.02.006

车辆路径问题(vehicle routing problem,VRP)由Dantzig等[1]首次提出,是物流交通领域的核心问题,也是一类经典的组合优化问题[2]. 包含产品成本、多车场、多车型在内的多约束车辆路径问题(rich vehicle routing problem,RVRP)是传统VRP问题的延伸,对于多中心分布式企业来说,在进行车辆调度时,不仅要考虑所服务的客户需求,还要综合考虑多个车场的位置、产品成本以及不同类型车辆的属性,在求解难度上较普通VRP问题大大增加,目前仍缺乏成熟且有效的求解算法.

由于实际问题的研究角度不同,不同学者对传统VRP问题添加了各种特定约束,衍生出许多新问题. 针对多车场多车型车辆路径问题[3](multi-depot heterogeneous vehicle routing problem,MDHVRP),Salhi等[4]研究附带拣货作业的多车型车辆路径问题,并提出基于集合划分的启发式算法对其进行求解;Sundar等[5]针对带有燃料限制的多车场多车型问题,设计分支切割算法,但该算法只适用于小规模情形;Luo等[6]在混合蛙跳算法中引入极值优化算法对多车场带时间窗的车辆路径问题进行研究;Dayarian等[7]以牛奶采集系统为例,提出分支定价法对多属性车辆路径问题进行研究;Calvet等[8]考虑不同仓库配送对需求变化的潜在影响,设计统计学习技术与元启发式框架相结合的混合方法;de Oliveira等[9]将MDVRP问题分解成多个经典VRP子问题,提出具有可变长度基因和搜索算子的并行进化算法,通过算例验证所提算法的有效性;Calvet等[10]研究车队数量有限即仓库容量有限的多车场问题,提出结合蒙特卡罗模拟和元启发式算法的模拟启发式框架;杨烨[11]对带时间窗的多车型满载车辆调度问题进行研究,并设计了“扫描-插入-遗传”启发式算法,但是其所得解很依赖扫描情况,往往无法得到全局最优解;叶勇等[12]考虑配送中心的动态启用性,设计了改进狼群算法;马宇红等[13]引入司机工资,包括基本工资和加班费,以最小配送费为目标,对多车场多车型车辆调度问题进行研究,但其在算法验证过程中,案例规模较小,并且将多车型简化为了单车型,降低了求解难度,使得结果不具备充足的信服力;刘丽姣[14]将碳排放引入多车场多车型车辆路径问题中,提出单循环结构综合学习细菌觅食优化算法,通过单峰函数和多峰函数对其进行有效性验证,并证明多车场多车型较单车场单车型的优势;何东东等[15]建立带时间窗的多车型绿色车辆路径模型,并设计了改进的禁忌搜索算法;Baradaran等[16]以实际车辆配送系统为基础,研究具有多个附带优先级的硬时间窗的多车型车辆路径问题,提出3种多目标模型,并利用二进制人工蜂群算法进行求解验证;杨翔等[17]针对模糊需求下的开放式多车场车辆路径问题,采用两阶段禁忌搜索算法进行研究.

多年来,学者们对MDHVRP问题进行了各式各样拓展性的研究,然而较少有学者研究不同产品成本对多车场车辆调度的影响. 2016年,鲁建厦等[18]首次将产品成本考虑到多车场问题中去,不同地区用人成本、原材料成本不同,往往导致其产品成本不同,产品成本低的配送中心理应服务更多的客户,这也是很多大型跨国企业将加工厂建在发展中国家的原因,主要是为了利用发展中国家较为低廉的劳动力、原材料,从而在激烈的国际竞争中获得优势,赢取更大的利润,这也证明了研究产品成本对调度影响的重要性与必要性. 然而,鲁建厦等[18]的初步研究并未证明考虑产品成本对优化调度的必要性,为此,本研究在其基础之上,进一步增加模型复杂度,以最小化总成本为目标,提出考虑产品成本、多车场、多车型在内的多约束车辆路径问题(rich vehicle routing problem,RVRP)模型. 设计改进的混合蛙跳算法(improved hybrid shuffled frog leaping algorithm,IHSFLA)进行求解,并通过实例验证模型和算法的有效性.

1. 问题描述和数学建模

1.1. 问题描述

RVRP问题可以描述为:某调度中心在其服务区内拥有多个分布在不同地点的配送中心,每个配送中心拥有不同类型的车辆,其产品的成本也互不相同;该调度中心要为其所在服务区内的客户进行配送服务,要求在满足客户的需求条件下,安排合理的车辆配送方案使产品总成本及车辆配送成本之和最小.

该问题基于如下假设:1)调度中心指挥多个配送中心,每个配送中心拥有足够多数量的不同型号的车辆;2)每辆车最多只被调度一次,车辆从配送中心出发,完成任务后返回到原配送中心;3)车辆车型不同,承载量不同;4)车辆车型不同,车辆的固定使用成本和行驶单位距离成本不同;5)每一辆车至少可以服务一个客户,即每个客户的需求量不会超过其车辆的最大承载量;6)每一个客户只能由一辆车服务一次;7)每个配送中心产品的成本互不相同.

1.2. 模型建立

RVRP问题可以用加权图G=(VE)来表示,节点集V={C $ \cup D $},C={1,2,···,N}为包含N个客户的客户集,D={N+1,N+2,···,N+H}为包含m个车场共H辆车的车辆集,E={(ij)|i$ j\in V $$i \ne j $}为节点ij之间边的集合. 目标是在满足约束的条件下,确定每辆车的顾客服务顺序,使得产品成本及车辆配送成本之和最小.

决策变量为

$ {x}_{ij}^{h}=\left\{\begin{array}{l}1,\;\;{\text{从节点}}i{\text{到节点}}j{\text{由车辆}}h{\text{配送}},i\ne j;\\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\text{其他}}.\end{array}\right. $

根据以上条件分析,建立RVRP数学模型如下:

$\begin{split} {{Z}} =& {\rm{min}}\;\sum\limits_{h = 1}^H {\sum\limits_{i = 1}^{N + H} {\sum\limits_{j = 1}^N {{r_j}} } } {\alpha _h}x_{ij}^h + \sum\limits_{h = 1}^H {\sum\limits_{i = N + 1}^{N + H} {\sum\limits_{j = 1}^{N + H} {{C_h}} } } x_{ij}^h + \\ &\sum\limits_{h = 1}^H {\sum\limits_{i = 1}^{N + H} {\sum\limits_{j = 1}^{N + H} {{\beta _h}} } } {d_{ij}}x_{ij}^h. \end{split}$

约束条件如下:

$ \sum\limits_{i = 1}^{N + H} {\sum\limits_{j = 1}^N {{r_j}} } x_{ij}^h \leqslant {Q_h};\;{{h}} = {\rm{1}},{\rm{2}}, \cdots ,{{H}}, $

$ \sum\limits_{h = 1}^H {\sum\limits_{i = N + 1}^{N + H} {\sum\limits_{j = 1}^{N + H} {x_{ij}^h} } } \leqslant H, $

$ \sum\limits_{h = 1}^H {\sum\limits_{i = 1}^{N + H} {x_{ij}^h} } = 1;\;{{j}} = {\rm{1}},{\rm{2}}, \cdots ,{{N}}, $

$ \sum\limits_{h = 1}^H {\sum\limits_{j = 1}^{N + H} {x_{ij}^h} } = 1;\;{{i}} = {\rm{1}},{\rm{2}}, \cdots ,{{N}}, $

$ \sum\limits_{i = 1}^{N + H} {x_{i(N + h)}^h} = \sum\limits_{j = 1}^{N + H} {x_{(N + h)j}^h} \leqslant1;\;{{h}} = {\rm{1}},{\rm{2}}, \cdots ,{{H}}, $

$ \sum\limits_{i = N + 1}^{N + H} {\sum\limits_{j = N + 1}^{N + H} {x_{ij}^h} } = 0;\;{{h}} = {\rm{1}},{\rm{2}}, \cdots ,{{H}}. $

式中: $ {r}_{j} $为客户j的需求量, $ {d}_{ij} $为节点i到节点j之间的距离, $ \alpha $h为车辆h所代表的配送中心产品的单位生产成本,Ch为车辆h的固定使用成本, $ {\beta }_{h} $为车辆h的单位距离行驶成本, $ {Q}_{h} $为车辆h的最大承载量. 式(2)表示总成本,第1部分为产品成本,第2部分为配送车辆的固定成本,第3部分为配送车辆的距离成本;式(3)表示每辆车的单次配送总量不能超过其最大承载量;式(4)表示调度中心使用车辆数不超过其各配送中心可用车辆总数;式(5)、(6)表示一个客户只能由一辆车服务一次;式(7)表示车辆从配送中心出发完成任务后返回原配送中心;式(8)表示车辆不能从一个配送中心行驶到另一个配送中心.

2. 改进混合蛙跳算法设计

多约束车辆路径问题属于典型的NP难题[19],在有效时间内,很难利用精确算法进行计算,因此通常采用启发式算法对其进行规划求解. 混合蛙跳算法(shuffled frog leaping algorithm,SFLA)由Eusuff等[20]提出,模仿一群青蛙在觅食时的信息交互行为. 该算法结合模因算法和粒子群算法的优点,概念简单、调整参数少,具有较强的全局搜索能力,已成功在车辆路径规划[21]、柔性车间调度[22]领域内运用. 在混合蛙跳算法中,种群由一群青蛙组成,每一只青蛙代表一种可能的解决方案,将这些青蛙按照某种规则分到不同的族群内,青蛙在各自的族群内部进行交流演化,在一定时间后,所有族群的青蛙会聚集在一起,进行融合,然后再行划分、进化,循环以往,直至满足收敛条件.

为了加快算法的收敛速度,避免陷入局部最优解,本研究提出基于聚类的改进混合蛙跳算法来求解RVRP问题. 采用四标准聚类算法[23]对所有客户进行基于配送中心的聚类;通过客户邻近矩阵产生初始解的方式构造初始种群,将初始种群分为不同族群,各族群内部进行交流、进化;将所有族群进行混合、重排,再次进行分组,循环以往,直至满足收敛条件.

算法通用框架如下所示.

1 输入初始参数

2 对客户进行四标准聚类分析

3 根据聚类结果以及邻近矩阵构造初始解

4 对初始解计算适应度进行升序排列,并按规则分 到Nf个族群内

5 记录全局最优解Pg

6 while 不满足全局收敛条件

7 for i=1∶m

8 While 不满足局部交流次数

9 在族群内部产生子群

10 记录子群内局部最优解Pb,最劣解Pw

11 利用Pb更新最劣解得到 $\scriptsize{P}_{{\rm{w}}}^{'}$

12 if f$\scriptsize{P}_{{\rm{w}}}^{'}$)>fPw

13 Pw= $\scriptsize {P}_{{\rm{w}}}^{'}$

14 else

15 利用Pg更新最劣解得到 $\scriptsize {P}_{{\rm{w}}}^{'}$

16 if f$\scriptsize {P}_{{\rm{w}}}^{'}$)>fPw

17 Pw= $\scriptsize{P}_{{\rm{w}}}^{'}$

18 else

19 随机产生一个解替代Pw

20 end if

21 end if

22 end while

23 记录族群内局部最优解Pb

24 while 不满足邻域搜索次数时

25 对Pb进行邻域搜索产生 $\scriptsize{P}_{{\rm{b}}}^{'}$

26 if f$\scriptsize {P}_{{\rm{b}}}^{'}$)>fPb

27 Pb= $\scriptsize{P}_{{\rm{b}}}^{'}$

28 else

29 以概率选择是否接受新解

30 end if

31 end while

32 end for

33 对m个族群进行混洗融合,然后进行升序分配

34 end while

35 输出最优解PgfPg

2.1. 算法的编码

SFLA的初始模型是用来解决连续问题的,而车辆路径问题属于多维离散性问题,因此必须改变其编码方式使其可以解决离散性问题.

传统的VRP问题多采用一段式的自然数编码方式,即在一段自然数编码中,包含了所有车辆的行驶路线,如由1个配送中心6个客户组成的配送网络,其可能存在的编码方式为0132040650,其中0代表配送中心,数字1~6代表客户编号,对其进行解码为0-1-3-2-0,0-4-0,0-6-5-0,即6个客户分3辆车进行配送服务,然而传统的编码方式在解决多车场多车型问题时,普遍存在表达复杂、难以进行交叉、容易产生非法解等问题,因此,本研究采用多染色体编码方式[24]. 多染色体编码方式就是在进行编码表达时,采用多条染色体的形式,对应到车辆路径问题中来,就是每一辆车都对应一条染色体编码,所有车辆的染色体编码组成一个个体,这样就避免了传统编码方式中难以表达车场、车型的问题,同时,因为每辆车都有自己的编码,所以在不同个体或者不同车辆进行信息交流时,更加方便,且不易产生非法解.

对于一个包含了m个车场、共H辆车、N个客户的RVRP问题,用编号1~N表示客户,N+1~N+H分别表示来自不同车场的共H辆车,分别对每辆车进行编码,每辆车服务客户的顺序称为该车的基因链. 如图1所示,例如2个车场包含2种类型的车共4辆,要为服务区内的9个客户进行服务,分别用数字1~9表示客户,10~13表示来自不同车场的车辆,10~11表示车场1中2种型号的车辆,12~13表示车场2中2种型号的车辆,分别对4辆车进行编码,则其可能存在的编码方式为[10,1,6,4;11,2,7;12,8,5;13,3,9],分别表示车辆10从车场1出发,依次服务客户1、6、4,最后回到车场1;车辆11从车场1出发,依次服务客户2、7,最后回到车场1;车辆12从车场2出发,依次服务客户8、5,最后回到车场2;车辆13从车场2出发,依次服务客户3、9,最后回到车场2.

图 1

图 1   车辆配送示意图

Fig.1   Schematic diagram of vehicle distribution


2.2. 生成初始解

初始解的优劣对算法至关重要,为了提高初始解的优异性,加快算法搜索速度,采取先聚类后根据邻近矩阵生成初始解的方法. 在生成初始解之前,首先对客户进行聚类分析,将客户分给不同的车场,聚类分析可以有效降低计算的规模与复杂度,大幅度提高算法的收敛速度.

2.2.1. 聚类分析

在文献[13]提出的三标准聚类算法的基础上,添加距离中位值的衡量标准,采用四标准聚类算法对所有客户进行聚类,并分配给对应的车场. 四标准指的是中位距离、平均距离、平均距离方差、最小距离,可以更好地反映客户所在地区的情况. 4种计算方式如图2所示。该方法比常用的K-means聚类方法更有效[23],分配结果更加合理,具体流程如下所示.

1 初始化, $ {C}_{{\rm{all}}}={C} $//C为所有客户集

2 while not isempty $ \left({C}_{{\rm{all}}}\right) $

3 每个车场及其所要服务的客户为一个聚类

4 计算 $ {C}_{{\rm{all}}} $[1]与各个聚类中所有点的中位距离

5 If dis_med $ ({C}_{{\rm{all}}} $[1],2 $ )- $ dis_med $ ({C}_{{\rm{all}}} $[1],1 $ ) \geqslant$ $ 0.1\times $dis_med $ ({C}_{{\rm{all}}} $[1],2 $ ) $ // dis_med $ ({C}_{{\rm{all}}} $[1],n $ ) $为客户 $ {C}_{{\rm{all}}} $[1]到第n近聚类的中位距离

6 把客户 $ {C}_{{\rm{all}}} $[1]分给距离它平均距离最短的聚类

7 ${C}_{{\rm{all}}}={C}_{{\rm{all}}}[2:{\rm{end}}]$

8 else

9 计算 $ {C}_{{\rm{all}}} $[1]与各个聚类的平均距离

10 if dis_avg $ ({C}_{{\rm{all}}} $[1],2 $ )- $ dis_avg $ ({C}_{{\rm{all}}} $[1],1 $ ) \geqslant$ $ 0.1\times $dis_avg $ ({C}_{{\rm{all}}} $[1],2 $ ) $ // dis_avg $ ({C}_{{\rm{all}}} $[1],n $ ) $为客户 $ {C}_{{\rm{all}}} $[1]到第n近聚类的平均距离

11 把客户 $ {C}_{{\rm{all}}} $[1]分给距离它平均距离最短的聚类

12 ${C}_{{\rm{all}}}={C}_{{\rm{all}}}[2:{\rm{end}}]$

13 else

14 计算 $ {C}_{{\rm{all}}} $[1]到各个聚类的平均距离方差

15 if dis_var $ ({C}_{{\rm{all}}}\left[1\right],\;{{m}})\leqslant $0.4// dis_var $ ({C}_{{\rm{all}}}\left[1\right],\;{{m}}) $为客户 $ {C}_{{\rm{all}}}\left[1\right] $与第m个聚类的平均距离方差

16 把客户 $ {C}_{{\rm{all}}} $[1]分给第m个聚类

17 ${C}_{{\rm{all}}}={C}_{{\rm{all}}}[2:{\rm{end}}]$

18 else

19 计算 $ {C}_{{\rm{all}}}\left[1\right] $与每个聚类中最近客户的距离

20 将 $ {C}_{{\rm{all}}}\left[1\right] $分给与聚类中最近客户距离最小的聚类

21 end if

22 end if

23 end if

24 end while

图 2

图 2   距离的4种计算方式

Fig.2   Four calculation methods of distance


2.2.2. 邻近矩阵构造初始解

邻近矩阵用来描述2个点的邻近关系[25],通过两点之间的距离构造邻近矩阵,表达式为

$ \lambda \left(i\leftarrow j\right)={\left({\lambda }_{ij}\right)}_{N\times (N+m)};\;i\in C,j\in C\cup M. $

式中:M为包含m个车场的车场集,M={1,2,···,m}; $ {\lambda }_{{{i}}j} $为客户i和客户(或车场)j的邻近程度, $ {\lambda }_{{{i}}j}\in ${0,1,2,3,···,N+m−1},如 $ {\lambda }_{12} $=3表示客户2与客户1邻近度为3,即在所有客户和车场中,客户2距离客户1第3近,当i= j时,定义 $ {\lambda }_{ij} $= 0.

定义概率选择公式为

$ P\left(i,j\right)=\frac{1/{\lambda }_{ij}}{\displaystyle\sum\limits_{j = 1}^{{C_k} + 1} {1/{\lambda _{ij}}}} ;\;i\in {C}_{k},j\in {C}_{k}\cup \left\{k\right\},i\ne j. $

式中: $ {C}_{k} $表示为车场k所要服务的客户,当车辆服务客户i之后,根据概率公式选择将要服务的下一个客户j,客户j距离客户i越近,则被选中的几率越高,为了保证种群的多样性,其他距离较远的客户依然有一定的概率被选中,然后依次选取客户j的下一个客户,直至该车辆饱和,无法承担更多客户为止.

构造初始解的步骤如下所示.

1 初始化,capacity(h)=0, $ {R}_{h}=\left\{{h}\right\} $$ {h}_{c}=H $ //capacity(h)为车辆h的当前装载量, $ {R}_{h} $为车辆h的配送路线, $ {h}_{c} $为车场k的车辆集

2 for k=1∶m

3 while not is empty( $ {C}_{k} $)

4 随机在 $ {h}_{c} $中选择一辆车h

5 $ {h}_{c} $= $ {h}_{c}\backslash h $// 表示将车辆h从车辆hc中移除

6 根据概率公式在 $ {C}_{k} $中选择一个距离车场k较近的客户i分给车h

7 $ {C}_{k}={C}_{k}\backslash i $,将i加到 $ {R}_{h} $尾部

8 While 车辆h没有满载时

9 根据概率公式选择该车的下一个服务客户j

10 if ${\rm{capacity}}\left( {{h}} \right) + {r_j} \leqslant {Q_h}$

11 $ {C}_{k}={C}_{k}\backslash j $,将j加到 $ {R}_{h} $尾部

12 else

13 break

14 end if

15 end while

16 end while

17 end for

2.3. 族群分配

图3所示,将初始种群按照适应度大小进行升序排列,位列第1的青蛙被分配给第1个族群,位列第2的青蛙被分配给第2个族群,以次类推,直至将所有青蛙分别分配到Nf个族群中,每个族群中包含Sf个青蛙.

图 3

图 3   族群分配示意图

Fig.3   Schematic diagram of ethnic group distribution


2.4. 蛙跳策略

在传统的SFLA中,青蛙的学习策略为向族群内最优个体Pb跳跃或者向整个青蛙种群内最优个体Pg跳跃,然而这种进化策略并没有充分利用到其余青蛙个体的信息,无法进行全面有效的搜索,导致算法易提前陷入局部最优解. 为了充分利用族群内部的有效信息,增加算法的搜索宽度,受小生境的启发,在族群内部引入子群的概念,在大小为n的族群内部随机选择s只青蛙组成一个子群(s<n),子群内最优个体为Pb,最差个体为Pw,青蛙种群最优个体为Pg,青蛙在跳跃过程中,信息交流方式借鉴了遗传算法中的交叉模式,同时,为了提高信息交换的质量,保证信息的有效性,车辆只与同车场的车辆进行信息交流,其具体跳跃步骤如下.

1)在族群中随机选择s个青蛙(s<n)形成一个子群,子群内最优个体为Pb,最差个体为Pw,青蛙种群最优个体为Pg

2)PwPb跳跃,具体过程如图4所示.

图 4

图 4   蛙跳搜索示意图

Fig.4   Schematic diagram of leapfrog search


a)在Pb中随机选择某个车场中某辆车h的基因链,记为b,在Pw中也选择相同车辆的基因链,记为w

b)分别将bw这2条基因链中共有的客户基因存放到基因库Fbw中,而将其独有的基因分别存放在基因库FbFw中;

c)交换bw这2条基因链的客户基因;

d)遍历Pw中基因链w以外的其他客户基因,删除所有与Fb共享的基因,以此类推,对Pb个体采取同样的操作;

e)随机选择Fw中的一个客户基因,并将其插入到与车辆h相同车场的车辆的基因链中,若超载,则随机插入到该车场另一辆车的基因链中,如果该客户基因无法被该车场的任意一辆车进行服务,则随机选择该车场的某个客户并将其加入到Fw中,然后继续对该客户进行分配,直至将该客户分配出去. 对Fw中每个客户均执行上述操作,直至Fw为空. 循环若干次,如果仍然有客户无法被分配出去,则跳出循环,保持个体Pw不变;以此类推,对Pb个体采取同样的操作;

f)对其余m−1个车场均执行以上操作;

3)Pb跳跃过后的青蛙命名为 $ {P}_{{\rm{b}}}^{'} $,计算其适应度f( $ {P}_{{\rm{b}}}^{'} $),与f(Pb)进行比较,如果f( $ {P}_{{\rm{b}}}^{'} $)>f(Pb),用 $ {P}_{{\rm{b}}}^{'} $替换Pb,否则保持Pb不变;

4)Pw跳跃过后的青蛙命名为 $ {P}_{{\rm{w}}}^{'} $,计算其适应度f( $ {P}_{{\rm{w}}}^{'} $),与f(Pw)进行比较,如果f( $ {P}_{{\rm{w}}}^{'} $)>f(Pw),用 $ {P}_{{\rm{w}}}^{'} $替换Pw,否则将步骤2)中的Pb替换成Pg重新进行跳跃操作,再次比较跳跃过后的f( $ {P}_{{\rm{w}}}^{'} $)f(Pw),如果跳跃后的适应度有所提高,即f( $ {P}_{{\rm{w}}}^{'} $)>f(Pw),用 $ {P}_{{\rm{w}}}^{'} $替换Pw,否则,随机生成一只青蛙替换Pw.

2.5. 邻域搜索策略

聚类分析并不能完全准确地将客户分配给对应的车场,导致每个车场内部所形成的车辆服务路线从整体来看并不是最优的,因此,车场之间必须进行信息交流,对部分客户进行重新分配,从而提升找到最优解的概率.

同构造邻近矩阵一样,构造远离矩阵,远离矩阵用来描述客户与车场的远离程度,通过客户与车场之间的距离构造远离矩阵:

$ S\left( {x \leftarrow y} \right) = {({S_{xy}})_{m \times {m_x}}};x = 1,\; \cdots ,\;m;\;y = 1, \;\cdots ,\;{m_x}. $

式中: $ {S}_{xy}$为客户y和车场x的远离程度, $ {S}_{xy}\in ${1,2,3,···, $ {m}_{x} $−1},如 $ {S}_{12} $=3表示客户2与车场1的远离度为3,即在车场1所服务客户中,客户2距离车场1第3远; $ {m}_{x} $为车场x所要服务的客户个数.

定义概率选择公式为

$ {{P}}\left( {{{x}},{{y}}} \right) = \frac{{1/s\left( {x,y} \right)}}{\displaystyle\sum\limits_{y = 1}^{{m_x}} {1/s\left( {x,y} \right)} };x = 1,\; \cdots ,\;m;\;y = 1, \;\cdots ,\;{m_x}. $

根据概率公式,选择距离车场x较远的客户y,进行车场之间的信息交流. 在车场在进行信息交流时,主要有以下2种方式:1)客户互换. 分属不同车场的2个客户互换车场,如图5所示,根据式(12)选择距离车场A较远的客户y和距离车场B较远的客户z,互换2个客户. 2)客户搬迁. 将原本属于某个车场的客户重新分配给另一个车场进行服务,如图6所示,根据式(12)选择距离车场A较远的客户y,然后根据式(10)将客户y分配给距离其较近的车场B进行服务.

图 5

图 5   客户互换示意图

Fig.5   Schematic diagram of customer interchange


图 6

图 6   客户搬迁示意图

Fig.6   Schematic diagram of customer relocation


邻域搜索的具体步骤如下.

1 输入:青蛙P

2 for c=1∶m

3 while 不满足搜索次数

4 if rand (0,1)<0.5

5 根据概率公式(12)选择较远客户y

6 根据概率公式(10)将客户y分配给较近车场,形成新解 $\small {P}^{'}$

7 if f$\scriptsize {P}^{'}$)>fP

8 $\scriptsize P={P}^{'}$

9 else if 满足搜索次数

10 以模拟退火的接受准则决定是否接受新解

11 if 接受新解

12 保持P不变,用 $\scriptsize {P}^{'}$替换族群中最差青蛙

13 end if

14 end if

15 else

16 根据概率公式(12)选择较远客户y

17 选择另一车场,根据概率公式(12)选择其较远客户z

18 将yz互换车场,形成新解 $\scriptsize{P}^{'}$

19 if f$\scriptsize {P}^{'}$)>fP

20 $\scriptsize P={P}^{'}$

21 else if 满足搜索次数

22 以模拟退火的接受准则决定是否接受新解

23 if 接受新解

24 保持P不变,用 $\scriptsize {P}^{'}$替换族群中最差青蛙

25 end if

26 end if

27 end if

28 end while

29 end for

2.6. 模拟退火接受策略

为了充分发挥较劣解中的优良信息,采取模拟退火中的接受准则来一定程度上地接受邻域搜索过程中所产生的较劣解,提高算法逃离局部最优解的能力. 最后算法接受的解的表达式如下:

$ {P_{{\rm{new}}}} = \left\{ {\begin{array}{*{20}{l}} {P',\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;f\left( {P'} \right) < f\left( {{P}} \right)}\\ \;\;\;\;\;\;\;{{\text{或}}\;\min\; \left( {1,\exp\; \left( {\dfrac{{ - \left( {{{f}}\left( {P'} \right) - {{f}}\left( {{P}} \right)} \right)}}{{{T_g}}}} \right)} \right) \geqslant \gamma ;}\\ {P,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\text{其他}}.} \end{array}} \right. $

式中:P为邻域搜索前的解, $ {P}^{'} $为邻域搜索后的解, $ f\left(P\right) $为个体P的适应度, $ {T}_{g} $为第g次迭代时的温度, $ \gamma $为[0,1.0]的随机数.

2.7. 混合种群

将所有族群内的青蛙进行混合,删除其中完全相同的青蛙,只保留一只在种群中,然后随机生成若干只青蛙,使蛙群的总数量保持不变.

2.8. 收敛性分析

在IHSFLA中,将每一代种群看作一种状态,种群的进化则可以看作状态间的转移,由蛙跳策略可知,当前种群的状态仅和上一代种群状态有关. 设总体状态空间为G,则在算法迭代过程中,每一代种群Gt)对应马尔科夫链模型中的一种状态,种群更新则对应马尔科夫链模型中不同状态的转移. 由混合蛙跳算法的收敛性[26]可知,当族群内出现最佳个体时,子代个体将不断靠近最优个体:

$\mathop {{\rm{lim}}}\limits_{{{t}} \to \infty } P\left\{ {{X_{\rm{b}}} \in G(t)} \right\} = 1.$

式中:Xb为全局最优解。 式(14)表示IHSFLA将最终收敛于全局最优.

3. 实例分析

为了充分验证本研究算法的有效性,对MDHVRP问题以及RVRP问题分别进行求解验算,利用MATLAB R2014b仿真实验平台进行2组实验测试,测试环境为Intel(R)Core(TM)i7-4712MQ CPU 2.30 GHz,8 GB RAM.

3.1. MDHVRP问题实例验证

参照文献[27]的例子进行求解验算,具体描述如下:有一个包含了3个车场、3种类型共10辆车的配送中心要为其服务区内的30位客户进行相关配送服务,要求安排合理的车辆配送路线,使得所有车辆的总成本最小.

根据文献[28]设置改进混合蛙跳算法参数如下. 蛙群规模F=300,族群数Nf=20,族群中的青蛙数目Sf=15,每个族群的局部搜索次数Ns=10,邻域搜索次数Nn=5,子群规模Sz=12,种群最大迭代次数G=300,初始温度θ=1000 °C,降温速率q=0.9.

根据文献[27]设置对比算法参数如下. 多染色体遗传算法:种群规模Pop_size=400;个体间交叉概率Pc1=0.5;个体内交叉概率Pc2=0.1;变异概率Pm=0.03. 单染色体遗传算法:种群规模Pop_size=100;交叉概率Pc=0.6;变异概率Pm=0.2,精英选择比率Ps=0.1.

利用Matlab软件对该问题进行计算求解,车辆最优配送方案如表1所示,最优路径如图7所示,配送总费用为8 019元,车辆平均利用率为79%,算法的进化曲线如图8所示,在第142代开始收敛. 图中,I为迭代次数,C为总费用. 韩胜军[27]利用多染色体遗传算法对该问题进行求解,最优路径如图9所示,配送总费用为8306元,算法在第591代收敛. 对比得出,本研究IHSFLA求解质量更高,同时在收敛速度上较多染色体遗传算法更快. 将算法运行100次,将其结果与文献[27]结果比较,如表2所示. 可以看出,与多染色体遗传算法相比,解的平均质量提高了11%,与单染色体遗传算法相比,解的平均质量提高了42%,与粒子群算法相比,解的平均质量提高了33%. IHSFLA 不仅有着更高的求解质量,而且算法的波动性更小,稳定性更高,充分说明了IHSFLA在求解此类问题上的优异性.

表 1   最优车辆配送方案

Tab.1  Optimal vehicle delivery solution

车辆编号 车辆路径 装载率/% 费用 总费用
31 A-A 0 0 8019
32 A-8-7-16 72.31 794 8019
33 A-A 0 0 8019
34 B-6-14-10-11-3-B 94.62 1586 8019
35 B-15-17-5-21-B 73.85 830 8019
36 B-13-24-19-29-9-B 95.38 1322 8019
37 C-12-25-22-1-C 86.92 1178 8019
38 C-23-18-27-26-C 96.67 1303 8019
39 C-28-C 23.00 200 8019
40 C-2-20-4-30-C 92.31 806 8019

新窗口打开| 下载CSV


图 7

图 7   IHSFLA最优路径计算结果

Fig.7   Calculation results for optimal path of IHSFLA


图 8

图 8   IHSFLA计算进化曲线

Fig.8   Evolution curve of IHSFLA


图 9

图 9   多染色体遗传算法计算结果

Fig.9   Calculation results for optimal path of multi-chromosome genetic algorithm


表 2   不同算法求得的最优路径的费用比较

Tab.2  Comparison of cost of optimal path obtained by different algorithms

算法 均值/元 标准差/元
多染色体遗传算法[22] 9178 563
单染色体遗传算法[22] 11804 790
粒子群算法[22] 11015 612
改进混合蛙跳算法 8290 173

新窗口打开| 下载CSV


3.2. RVRP问题实例验证

某石油企业有A、B、C、D共4个配送中心,产品成本互不相同,共有13辆大型、中型、小型3种不同类型的车辆,现有50位客户需要进行石油配送服务,其具体信息如表34所示,要求安排合理的车辆及其配送的行驶路线,使产品总成本及所有车辆配送成本之和最小,使企业利润最大化.

表 3   客户信息表

Tab.3  Customer information table

客户编号 r X Y 客户编号 r X Y
1 37 52 7 26 27 68 7
2 49 49 30 27 30 48 15
3 52 64 16 28 43 67 14
4 20 26 9 29 58 48 6
5 40 30 21 30 58 27 19
6 21 47 15 31 37 69 11
7 17 63 19 32 38 46 12
8 31 62 23 33 46 10 23
9 52 33 11 34 61 33 26
10 51 21 5 35 62 63 17
11 42 41 19 36 63 69 6
12 31 32 29 37 32 22 9
13 5 25 23 38 45 35 15
14 12 42 21 39 59 15 14
15 36 16 10 40 5 6 7
16 52 41 15 41 10 17 27
17 27 23 3 42 21 10 13
18 17 33 41 43 5 64 11
19 13 13 9 44 30 15 16
20 57 58 28 45 39 10 10
21 62 42 8 46 32 39 5
22 42 57 8 47 25 32 25
23 16 57 16 48 25 55 17
24 8 52 10 49 48 28 18
25 7 38 28 50 56 37 10

新窗口打开| 下载CSV


表 4   配送中心信息表

Tab.4  delivery center information table

配送
中心
X Y h 车辆
类型
Ch βh αh Qh
A 20 20 51 10 7 5 70
A 20 20 52 11 8 5 80
A 20 20 53 12 9 5 90
B 30 40 54 11 8 6 80
B 30 40 55 11 8 6 80
B 30 40 56 10 7 6 70
B 30 40 57 12 9 6 90
C 50 30 58 10 7 7 70
C 50 30 59 11 8 7 80
C 50 30 60 11 8 7 80
D 60 50 61 11 8 8 80
D 60 50 62 12 9 8 90
D 60 50 63 11 8 8 80

新窗口打开| 下载CSV


3.2.1. 初始解构造对比分析

为了验证本研究初始解构造方法的有效性,先后用随机初始解、先聚类后随机方式初始解以及先聚类后邻近矩阵初始解3种不同的初始解构造方式对该问题分别进行求解,确定蛙群规模总数量F=400,族群数Nf=20,族群中的青蛙数目Sf=20,每个族群的局部搜索次数Ns=10,邻域搜索次数Nn=5,子群规模Sz=16,种群最大迭代次数G=400,初始温度θ=1000 °C,降温速率q=0.9.

3种方式产生初始解的平均分布情况如图10所示.可以看出,随机方式产生初始解的成本普遍约为22500,而先聚类后随机方式产生初始解的成本约为15000,较随机方式产生的初始解质量已经有了较大的提升,而先聚类后邻近矩阵产生初始解的方式产生的初始解更优,成本约为12500. 可以看出聚类对初始解质量的提升,同时,构造邻近矩阵的方式会进一步优化初始解,而好的初始解会有效加快算法的迭代速度,减少算法的运行时间.

图 10

图 10   初始解质量分布图

Fig.10   Initial solution mass distribution


运用3种方式分别对该问题进行多次求解,其平均进化曲线如图11所示.随机产生初始解的方式因为初始解质量较差,收敛速度较慢,在400次的迭代过程中,并没有进行收敛,而先聚类后产生初始解的方式明显更优,其中,先聚类后利用邻近矩阵产生初始解的方式所产生的初始解质量最高,收敛速度最快,在约第250代已经收敛,最优解为10 743. 最优配送方案如表5所示,车辆平均利用率为90%,最优配送路线如图12所示,各车辆配送路线基本没有交叉重叠的部分,也间接说明该配送方案的质量较高.

图 11

图 11   3种方式的进化曲线图

Fig.11   Evolution curve of three ways


表 5   最优车辆配送方案

Tab.5  Optimal vehicle delivery solution

车辆编号 车辆路径 装载率/% 费用 总费用
51 A-37-15-33-45-44-A 97.14 856.6 10743
52 A-42-19-40-41-13-A 98.75 1037.4 10743
53 A-4-18-12-17-A 91.11 936.1 10743
54 B-23-24-43-7-26-48-B 100.00 1358.1 10743
55 B-32-22-2-11-46-B 92.50 997.2 10743
56 B-27-8-31-28-1-B 100.00 993.4 10743
57 B-6-14-25-47-B 98.89 1162.5 10743
58 C-34-21-50-16-9-C 100.00 908.7 10743
59 C-10-39-30-C 47.50 693.2 10743
60 C-38-5-49-C 67.50 689.7 10743
61 D-29-20-3-36-35-D 91.25 1110.1 10743
62 D-D 0 0 10743
63 D-D 0 0 10743

新窗口打开| 下载CSV


图 12

图 12   考虑产品成本的最优路线图

Fig.12   Optimal roadmap considering product costs


3.2.2. 不同调度方案对比分析

为了验证所研究问题的实际意义,在不考虑产品成本的情况下,对该问题进行求解,在重复求解100次后,平均总成本为11467元,而在考虑产品成本时,平均总成本为10860元,相对于不考虑产品成本的最优调度方案,考虑成本的最优调度方案总成本减少了6%,占产品成本的13%.

图13所示为不考虑产品成本的最优调度方案. 当不考虑产品成本时,配送成本为5937元,总成本为10979元;当考虑产品成本时,最优调度方案如图12所示,配送成本为6002元,总成本为10743元. 对比可知,不考虑产品成本的最优调度方案虽然比考虑产品成本的最优调度方案配送成本略少,但是,总成本却多了236元,占产品成本的5%,也就是说,考虑产品成本的调度方案更符合公司的利益要求,可以取得更大的经济效益. 同时,随着客户订单的增多,调度次数的增加,考虑产品成本的调度方案的优越性会体现的更加明显,说明所研究问题具有较强的现实意义.

图 13

图 13   不考虑产品成本的最优路线图

Fig.13   Optimal roadmap without considering product costs


3.2.3. 不同算法对比分析

为了充分验证所提算法的有效性以及优越性,将其测试结果与传统蛙跳算法(SFLA)、单循环结构综合学习细菌觅食优化算法[14](SRCLBFO)、增强蚁群算法[29](EACO)进行比较分析,SFLA参数与本研究所提算法的一致,SRCLBFO、EACO参数如下. SRCLBFO[14]:菌落数S=30,趋向操作次数Nc= 5,复制操作数Nre= 5,迁徙操作数Ns= 5,惯性因子ω= 0.9,学习概率Pc= 0.1,加速因子c1= 1.2,c2= 0.6. EACO[29]:信息素挥发系数控制因子γ=1,信息素挥发系数初始值ρ0=0.9,残留信息素重要程度α= 1.25,启发信息素重要程度β= 2.5,初始化信息素浓度参数Pm= 1.1,信息素增量常数W= 500.

将4种算法分别运行100次,求其最优解的平均值、标准差以及算法所用时间,其中算法时间以最优解连续100代没有变化或者迭代次数达到1000来计算. 输出其1000次的平均进化曲线,各算法比较结果如表6所示,平均进化曲线如图14所示.

表6可以看出,相较于其他3种算法,本研究所提出的改进混合蛙跳算法均值和标准差都是最优的,表明所提算法在有着较好寻优能力的同时,又有着较好的稳定性. 同时,由图14可以看出,SFLA和SRCLBFO由于初始解较差,迭代速度较慢,耗时较长,在第600代后才慢慢进行收敛,且结果相对较差,而EACO虽然有着较强的进化能力,收敛速度较快,用时最短,但是通过2层聚类算法简化问题较易陷入局部最优解. 综合来看,本研究所提IHSFLA算法进化速度较快,用时较短,又有较强的全局搜索能力,可以有效求解此类问题.

表 6   4种算法实验结果统计

Tab.6  Statistics of experimental results of four algorithms

算法 最小值/元 最大值/元 均值/元 标准差/元 时间/s
IHSFLA 10743 11140 10860 124 78.2
SFLA 12329 12931 12690 228 90.3
SRCLBFO 11308 11824 11512 189 84.3
EACO 11041 11536 11307 158 66.8

新窗口打开| 下载CSV


图 14

图 14   4种算法的平均进化曲线

Fig.14   Average evolution curve of four algorithms


4. 结 论

(1)针对多中心分布式企业存在的不同配送中心产品成本不同的现实情况,以车辆固定成本、行驶成本、产品成本等综合成本为基础,建立以总成本最小化为目标的多约束车辆路径问题模型.

(2)为了求解该问题模型,设计改进的混合蛙跳算法. 该算法利用四标准聚类方法对客户进行聚类,缩小求解规模;利用邻近矩阵产生质量更高的初始解,加快进化速度;在青蛙族群内部设计子群,弥补了传统蛙跳算法只依靠局部最优解和全局最优解进行进化的缺点,充分利用了族群内部青蛙的有效信息;设计先内后外的交流模式,使车辆之间的信息交流更有方向性;利用远离矩阵进行邻域搜索,在增加算法搜索宽度的同时,使搜索更有针对性,更具有效性;引用模拟退火接受准则,充分利用较劣解中的有效信息,增加算法逃离局部最优解的能力. 算例对比分析表明,改进的混合蛙跳算法收敛速度快、搜索能力强,具有较好的精度与稳定性.

(3)通过对比分析考虑产品成本前、后的调度方案,发现考虑产品成本的调度方案较不考虑之前总成本平均减少6%,占产品总成本的13%,证明考虑产品成本在车辆调度中的必要性,为多中心分布式企业提供了更好的调度思路,更有利于其实现利润的最大化.

节能减排是最近社会一直倡导的,为了响应国家号召,发挥企业的社会价值,同时结合企业自身的效益,未来将会对考虑碳交易成本的车辆调度问题作进一步的研究.

参考文献

DANTZIG G B, RAMSER J H

The truck dispatching problem

[J]. Management Science, 1959, 6 (1): 80- 91

DOI:10.1287/mnsc.6.1.80      [本文引用: 1]

FLORIAN A, KENNETH S

Knowledge-guided local search for the vehicle routing problem

[J]. Computers and Operations Research, 2019, 105: 32- 46

DOI:10.1016/j.cor.2019.01.002      [本文引用: 1]

SALHI S, SARI M

A multi-level composite heuristic for the multi-depot vehicle fleet mix problem

[J]. European Journal of Operational Research, 1997, 103 (1): 95- 112

DOI:10.1016/S0377-2217(96)00253-6      [本文引用: 1]

SALHI S, WASSAN N, HAJARAT M

The fleet size and mix vehicle routing problem with backhauls: formulation and set partitioning-based heuristics

[J]. Transportation Research Part E: Logistics and Transportation Review, 2013, 56: 22- 35

DOI:10.1016/j.tre.2013.05.005      [本文引用: 1]

SUNDAR K, VENKATACHALAM S, RATHINAM S. Formulations and algorithms for the multiple-depot, fuel-constrained, multiple vehicle routing problem [C]// American Control Conference 2016. Boston: ACC, 2016: 66-91.

[本文引用: 1]

LUO J, CHEN M R

Multi-phase modified shuffled frog leaping algorithm with extremal optimization for the MDVRP and the MDVRPTW

[J]. Computers and Industrial Engineering, 2014, 72: 84- 97

DOI:10.1016/j.cie.2014.03.004      [本文引用: 1]

DAYARIAN I, CRAINIC T G, GENDREAU M, et al

A column generation approach for a multi-attribute vehicle routing problem

[J]. European Journal of Operational Research, 2015, 241 (3): 888- 906

DOI:10.1016/j.ejor.2014.09.015      [本文引用: 1]

CALVET L, FERRER A, GOMES M, et al

Combining statistical learning with metaheuristics for the multi-depot vehicle routing problem with market segmentation

[J]. Computers and Industrial Engineering, 2016, 94: 93- 104

DOI:10.1016/j.cie.2016.01.016      [本文引用: 1]

DE OLIVEIRA F B, ENAYATIFA R, SADAEI H J, et al

A cooperative coevolutionary algorithm for the multi-depot vehicle routing problem

[J]. Expert System with Applications, 2016, 54: 398- 402

DOI:10.1016/j.eswa.2016.02.037      [本文引用: 1]

CALVET L, WANG D, JUAN A, et al

Solving the multidepot vehicle routing problem with limited depot capacity and stochastic demands

[J]. International Transactions in Operation Research, 2019, 26 (2): 458- 484

DOI:10.1111/itor.12560      [本文引用: 1]

杨烨. 带时间窗的单车场多车型满载车辆调度问题研究[D]. 淄博: 山东理工大学, 2013.

[本文引用: 1]

YANG Ye. Study on single-depot, multi-type vehicle and full-loads vehicle routing problem with time window [D]. Zibo: Shandong University of Technology, 2013.

[本文引用: 1]

叶勇, 张惠珍

多配送中心车辆路径问题的狼群算法

[J]. 计算机应用研究, 2017, 34 (9): 2590- 2593

DOI:10.3969/j.issn.1001-3695.2017.09.006      [本文引用: 1]

YE Yong, ZHANG Hui-zhen

Wolf pack algorithm for multi-depot vehicle routing problem

[J]. Application Research of Computers, 2017, 34 (9): 2590- 2593

DOI:10.3969/j.issn.1001-3695.2017.09.006      [本文引用: 1]

马宇红, 姚婷婷, 张芳芳

多车场多车型车辆调度问题及其遗传算法

[J]. 数学的实践与认识, 2014, 44 (2): 107- 114

DOI:10.3969/j.issn.1000-0984.2014.02.013      [本文引用: 2]

MA Yu-hong, YAO Ting-ting, ZHANG Fang-fang

Multi-depot heterogeneous vehicle scheduling problem based on genetic algorithm

[J]. Mathematics in Practice and Theory, 2014, 44 (2): 107- 114

DOI:10.3969/j.issn.1000-0984.2014.02.013      [本文引用: 2]

刘丽姣. 考虑碳排放的多车场多车型VRP模型及算法研究[D]. 深圳: 深圳大学, 2017.

[本文引用: 3]

LIU Li-jiao. Considering carbon emission for multi-depot heterogeneous VRP model and algorithmsresearch [D]. Shenzhen: Shenzhen University, 2017.

[本文引用: 3]

何东东, 李引珍

多车型绿色车辆路径问题优化模型

[J]. 计算机应用, 2018, 38 (12): 3618- 3624

[本文引用: 1]

HE Dong-dong, LI Yin-zhen

Optimization model of green multi-type vehicles routing problem

[J]. Journal of Computer Applications, 2018, 38 (12): 3618- 3624

[本文引用: 1]

BARADARAN V, SHAFEEI A, HOSSEINIAN A H

Stochastic vehicle routing problem with heterogeneous vehicles and multiple prioritized time windows: mathematical modeling and solution approach

[J]. Computers and Industrial Engineering, 2019, 131: 187- 199

DOI:10.1016/j.cie.2019.03.047      [本文引用: 1]

杨翔, 范厚明, 徐振林, 等

模糊需求下多中心开放式车辆路径优化

[J]. 计算机集成制造系统, 2019, 25 (2): 469- 479

[本文引用: 1]

YANG Xiang, FAN Hou-ming, XV Zhen-lin, et al

Optimization of open multi-depot vehicle routing problemwith fuzzy demand

[J]. Computer Integrated Manufacturing Systems, 2019, 25 (2): 469- 479

[本文引用: 1]

鲁建厦, 洪欢蕾, 陈青丰

考虑供给商品价格的多车场车辆路径问题

[J]. 浙江工业大学学报, 2016, 44 (5): 553- 558

DOI:10.3969/j.issn.1006-4303.2016.05.017      [本文引用: 2]

LU Jian-sha, HONG Huan-lei, CHEN Qing-feng

Model and algorithm for multiple-depot vehicle routing problem with different supply costs

[J]. Journal of Zhejiang University of Technology, 2016, 44 (5): 553- 558

DOI:10.3969/j.issn.1006-4303.2016.05.017      [本文引用: 2]

ARNOLD F, SORENSEN K

What makes a VRP solution good? The generation of problem-specific knowledge for heuristics

[J]. Computers and Operations Research, 2019, 106: 280- 288

DOI:10.1016/j.cor.2018.02.007      [本文引用: 1]

EUSUFF M M, LANSEY K E

Optimization of water distribution network design using the shuffled frog leaping algorithm

[J]. Journal of Water Resources Planning and Management, 2003, 129 (3): 210- 225

DOI:10.1061/(ASCE)0733-9496(2003)129:3(210)      [本文引用: 1]

LUO J, LI X, CHEN M R, et al

A novel hybrid shuffled frog leaping algorithm for vehicle routing problem with time windows

[J]. Information Sciences, 2015, 316: 266- 292

DOI:10.1016/j.ins.2015.04.001      [本文引用: 1]

杨冬婧, 雷德明

新型蛙跳算法求解总能耗约束FJSP

[J]. 中国机械工程, 2018, 29 (22): 2682- 2689

DOI:10.3969/j.issn.1004-132X.2018.22.005      [本文引用: 4]

YANG Dong-jing, LEI De-ming

A novel shuffled frog-leaping algorithm for FJSP with total energy consumption constraints

[J]. China Mechanical Engineering, 2018, 29 (22): 2682- 2689

DOI:10.3969/j.issn.1004-132X.2018.22.005      [本文引用: 4]

GIOSA I D, TANSINI I L, VIERA I O

New assignment algorithms for the multi-depot vehicle routing problem

[J]. Journal of the Operational Research Society, 2002, 53 (9): 977- 984

DOI:10.1057/palgrave.jors.2601426      [本文引用: 2]

陈呈频, 韩胜军, 鲁建厦, 等

多车场与多车型车辆路径问题的多染色体遗传算法

[J]. 中国机械工程, 2018, 29 (2): 218- 223

DOI:10.3969/j.issn.1004-132X.2018.02.014      [本文引用: 1]

CHEN Cheng-pin, HAN Sheng-jun, LU Jian-sha, et al

Multi-chromosome genetic algorithm for multi-depot and multi-type vehicle routing problems

[J]. China Mechanical Engineering, 2018, 29 (2): 218- 223

DOI:10.3969/j.issn.1004-132X.2018.02.014      [本文引用: 1]

李小川, 刘媛华, 王影歌

求解多目标带时间窗VRP的文化狼群算法

[J]. 计算机应用研究, 2020, 37 (4): 1025- 1029

[本文引用: 1]

LI Xiao-chuan, LIU Yuan-hua, WANG Ying-ge

Cultural wolf pack algorithm for solving multi-objective VRP with time window

[J]. Application Research of Computers, 2020, 37 (4): 1025- 1029

[本文引用: 1]

骆剑平, 李霞, 陈泯融

混合蛙跳算法的Markov模型及其收敛性分析

[J]. 电子学报, 2010, 38 (12): 2875- 2880

[本文引用: 1]

LUO Jian-pin, LI Xia, CHEN Min-Rong

The Markov model of shuffled frog leaping algorithm and its convergence analysis

[J]. Acta Electronica Sinica, 2010, 38 (12): 2875- 2880

[本文引用: 1]

韩胜军. 多车场多车型车辆路径问题的多染色体遗传算法[D]. 杭州: 浙江工业大学, 2017.

[本文引用: 4]

HAN Sheng-jun. Multi-chromosome genetic algorithm for multi-depot and multi-type vehicle routing problems [D]. Hangzhou: Zhejiang University of Technology, 2017.

[本文引用: 4]

孟凯露, 尚俊娜, 岳克强

混合蛙跳算法的最优参数研究

[J]. 计算机应用研究, 2019, 36 (11): 3321- 3324

[本文引用: 1]

MENG Kai-lu, SHANG Jun-na, YUE Ke-qiang

Research on optimal parameters of shuffled frog leaping algorithm

[J]. Application Research of Computers, 2019, 36 (11): 3321- 3324

[本文引用: 1]

胡蓉, 李洋, 钱斌, 等. 结合聚类分解的增强蚁群算法求解复杂绿色车辆路径问题[J/OL]. 自动化学报, 2020: 1-16 [2020-08-14]. https://doi.org/10.16383/j.aas.c190872.

[本文引用: 2]

HU Rong, LI Yang, QIAN Bin, et al. An enhanced ant colony algorithm combined with clustering decomposition for solving complex green vehicle routing problem [J/OL]. Acta Automatica Sinica, 2020: 1-16 [2020-08-14]. https://doi.org/10.16383/j.aas.c190872.

[本文引用: 2]

/