应用交叉引力搜索的车辆路径规划方法与流程

文档序号:13161763阅读:173来源:国知局

本发明涉及车辆路径规划领域,尤其是涉及一种应用交叉引力搜索的车辆路径规划方法。



背景技术:

当前,互联网技术正在高速发展,它已经渗透到了人类生活中的每一个部分,并在很大程度上改变了人类的生活方式。由于互联网的高速发展,人们网购的流行程度越来越高,如网上买衣服,网上订外卖等互联网业务已经深入人心。与此同时,网上购物的盛行对现代物流系统提出了更高的要求。在互联网的物流系统中,人们常常会遇到如下车辆路径规划问题:给定了若干个运输点的坐标,需要为一辆运输车规划出一条运输路径,使得运输车从源运输点出发经过每个运输点一次且仅一次后再回到源运输点。这个车辆路径规划问题广泛存在于互联网的物流系统中,它是一个np完全性问题,当问题的规模比较大时,传统的精确算法难以在短时间内规划出有效的路径。鉴于这种现状,人们往往利用模拟自然进化规律的演化算法来解决这个车辆路径规划问题。

引力搜索算法是一种较新的演化算法,它在求解许多工程优化问题中表现出非常有潜力的性能。为此,引力搜索已经广泛应用于来解决各种工程优化问题。例如,李沛和段海滨利用改进万有引力搜索算法的来规划无人机的航路,实验结果表明该方法能够在复杂环境下规划出无人机的最优航路(李沛,段海滨.基于改进万有引力搜索算法的无人机航路规划[j].中国科学:技术科学,2012,42(10):1130-1136.);王宇等利用引力搜索算法来设计船舶舱室,实验结果表明该方法能够求解出较满意的设计方案。(王宇,黄胜,廖全蜜,杨放青.基于引力搜索算法的船舶舱室布置方法[j].上海交通大学学报,2016,50(01):131-139.);李海涛等利用量子引力搜索来优化支持向量机(svm)的训练参数,并利用训练好的svm来实现自动驾驶仪的故障诊断,实验结果表明该方法能够比遗传算法和基本引力搜索算法获得更高的分类准确率。(李海涛,何玉珠,宋平.基于量子万有引力搜索的svm自驾故障诊断[j].北京航空航天大学学报,2016,06:1093-1098.)。

虽然引力搜索已经广泛而深入地应用到了各种工程问题,并在解决许多工程优化问题中获得了较满意的结果,但传统引力搜索在解决车辆路径规划问题时往往存在着收敛速度慢,规划效率不高的缺点。



技术实现要素:

本发明的目的是提供一种应用交叉引力搜索的车辆路径规划方法。它在很大程度上克服了传统引力搜索在解决车辆路径规划问题时收敛速度慢,规划效率不高的缺点,本发明能够加快传统引力搜索的收敛速度,提高车辆路径规划的效率。

本发明的技术方案:一种应用交叉引力搜索的车辆路径规划方法,包括以下步骤:

步骤1,输入车辆所需经过各运输点的坐标,并确定运输点的数量d;

步骤2,用户初始化参数,设置种群大小popsize,最大评价次数max_fes;

步骤3,令当前演化代数t=0,当前评价次数fes=0;

步骤4,随机产生初始种群其中个体下标i=1,2,...,popsize;并且为种群pt中的第i个个体,其中个体按公式(1)进行初始化:

其中维度下标j=1,2,...,d;并且为个体的当前位置,表示d个运输点的顺序权值;为个体中第j个运输点的顺序权值;为个体在每一维度的当前速度,其中为个体在第j维度的当前速度;rand为服从均匀分布的随机实数产生函数;

步骤5,计算种群pt中每个个体的适应值,然后令当前评价次数fes=fes+popsize;

步骤6,保存种群pt中的最优个体bestt,然后设置种群pt中每个个体的交叉率其中个体下标i=1,2,...,popsize;

步骤7,计算种群pt中每个个体的质量;

步骤8,计算种群pt中每个个体所受到的引力;

步骤9,计算种群pt中每个个体的下一代加速度与下一代速度;

步骤10,执行交叉搜索算子计算种群pt中每个个体的下一代位置,具体步骤如下:

步骤10.1,令计数器ki=1;

步骤10.2,如果计数器ki小于或等于popsize,则转到步骤10.3,否则转到步骤11;

步骤10.3,在[0,1]之间随机产生一个实数pcv,如果pcv小于0.1,则设置个体的当前交叉率否则令

步骤10.4,令计数器mj=1;

步骤10.5,如果计数器mj小于或等于d,则转到步骤10.6,否则转到步骤10.13;

步骤10.6,在[0,1]之间随机产生一个实数tr;

步骤10.7,如果tr小于则转到步骤10.8,否则转到步骤10.10;

步骤10.8,令其中为种群pt中第ki个个体在第mj维度的下一代位置,为种群pt中第ki个个体在第mj维度的下一代速度;

步骤10.9,转到步骤10.12;

步骤10.10,按公式(2)计算高斯均值vmu与高斯标准差vsd:

其中组合系数uw为[0,1]之间的随机实数,随机下标rk1为[1,popsize]之间的随机正整数;

步骤10.11,令其中normrand为高斯随机实数产生函数,为最优个体的当前位置,组合权值vw为[0,1]之间的随机实数;

步骤10.12,令计数器mj=mj+1,然后转到步骤10.5;

步骤10.13,计算种群pt中第ki个个体的适应值;

步骤10.14,令当前评价次数fes=fes+1;

步骤10.15,如果个体的下一代位置优于其当前位置,则令否则保持不变;

步骤10.16,令计数器ki=ki+1,然后转到步骤10.2;

步骤11,令当前演化代数t=t+1,然后保存种群pt中的最优个体bestt

步骤12,重复步骤7至步骤11,直至当前评价次数fes达到max_fes后结束,将执行过程中得到的最优个体bestt解码为车辆运输路径,即可实现车辆路径的规划。

本发明采用交叉引力搜索算法来实现车辆运输路径的规划。在交叉引力搜索算法中,以一定的概率执行基本引力搜索算法的位置更新操作算子,同时以一定的概率执行基于当前最优个体的高斯采样操作算子,以此加快算法的收敛速度,提高车辆路径规划的效率。本发明能够在很大程度上加快传统引力搜索算法的收敛速度,提高车辆路径规划的效率。

附图说明

图1为用于车辆路径规划的运输点,图中每个小三角形表示一个运输点。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例:

步骤1,输入车辆所需经过如图1所示的各运输点的坐标,并确定运输点的数量d=55;

步骤2,用户初始化参数,设置种群大小popsize=50,最大评价次数max_fes=300000;

步骤3,令当前演化代数t=0,当前评价次数fes=0;

步骤4,随机产生初始种群其中个体下标i=1,2,...,popsize;并且为种群pt中的第i个个体,其中个体按公式(1)进行初始化:

其中维度下标j=1,2,...,d;并且为个体的当前位置,表示d个运输点的顺序权值;为个体中第j个运输点的顺序权值;为个体在每一维度的当前速度,其中为个体在第j维度的当前速度;rand为服从均匀分布的随机实数产生函数;

步骤5,计算种群pt中每个个体的适应值,然后令当前评价次数fes=fes+popsize;

步骤6,保存种群pt中的最优个体bestt,然后设置种群pt中每个个体的交叉率其中个体下标i=1,2,...,popsize;

步骤7,计算种群pt中每个个体的质量;

步骤8,计算种群pt中每个个体所受到的引力;

步骤9,计算种群pt中每个个体的下一代加速度与下一代速度;

步骤10,执行交叉搜索算子计算种群pt中每个个体的下一代位置,具体步骤如下:

步骤10.1,令计数器ki=1;

步骤10.2,如果计数器ki小于或等于popsize,则转到步骤10.3,否则转到步骤11;

步骤10.3,在[0,1]之间随机产生一个实数pcv,如果pcv小于0.1,则设置个体的当前交叉率否则令

步骤10.4,令计数器mj=1;

步骤10.5,如果计数器mj小于或等于d,则转到步骤10.6,否则转到步骤10.13;

步骤10.6,在[0,1]之间随机产生一个实数tr;

步骤10.7,如果tr小于则转到步骤10.8,否则转到步骤10.10;

步骤10.8,令其中为种群pt中第ki个个体在第mj维度的下一代位置,为种群pt中第ki个个体在第mj维度的下一代速度;

步骤10.9,转到步骤10.12;

步骤10.10,按公式(2)计算高斯均值vmu与高斯标准差vsd:

其中组合系数uw为[0,1]之间的随机实数,随机下标rk1为[1,popsize]之间的随机正整数;

步骤10.11,令其中normrand为高斯随机实数产生函数,为最优个体的当前位置,组合权值vw为[0,1]之间的随机实数;

步骤10.12,令计数器mj=mj+1,然后转到步骤10.5;

步骤10.13,计算种群pt中第ki个个体的适应值;

步骤10.14,令当前评价次数fes=fes+1;

步骤10.15,如果个体的下一代位置优于其当前位置,则令否则保持不变;

步骤10.16,令计数器ki=ki+1,然后转到步骤10.2;

步骤11,令当前演化代数t=t+1,然后保存种群pt中的最优个体bestt

步骤12,重复步骤7至步骤11,直至当前评价次数fes达到max_fes后结束,将执行过程中得到的最优个体bestt解码为车辆运输路径,即可实现车辆路径的规划。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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