一种基于免疫优化的垃圾车路径获取方法与流程

文档序号:13447012阅读:513来源:国知局
一种基于免疫优化的垃圾车路径获取方法与流程
本发明属于路径优化
技术领域
,尤其涉及一种基于免疫优化的垃圾车路径获取方法。
背景技术
:垃圾回收是现实生活中的一个重要问题,对方便居民生活水平起到了重要的作用。高效的运送路径有利于减少工人的劳动时间,同时也可以减轻交通压力。因此,如何有效的规划垃圾车问题的路径,最大程度上的降低服务车辆多走路、走弯路的可能性,具有非常重要的理论和实际意义。垃圾车路径问题即从一个运送点停车场出发,对所有需要服务的道路进行运送作业。从本质上看,此问题是一个带容量约束的弧路径优化问题,具有np-hard特点。传统的数学优化方法,如二次规划、线性规划、拉格朗日等,由于对目标函数的特点有比较严格的要求,导致求解复杂度较高,智能优化算法是求解此类问题的有效方法。一种基于基本演化算法的求解方法,取得了较好的效果,但求解效果还有待进一步优化。免疫优化是一种模拟生物免疫系统的优化方法,在工程应用领域得到了广泛应用。综上所述,现有技术存在的问题是:现有的技术多是采用传统的数学优化方法求解,当需要服务的道路较多时,复杂度较高,很难得到较优的结果。技术实现要素:针对现有技术存在的问题,本发明提供了一种基于免疫优化的垃圾车路径获取方法。本发明是这样实现的,一种基于免疫优化的垃圾车路径获取方法,所述基于免疫优化的垃圾车路径获取方法将垃圾车运输路径问题建模为容量约束的弧路径问题,给出优化的目标函数和约束条件;根据问题特点进行抗体编码,生成初始化种群;对种群中的个体进行亲和度评价,选出亲和度高的个体;对个体进行克隆,交叉,变异操作,生成新的抗体种群;算法达到迭代次数后,输出亲和度最高的抗体;对抗体进行解码输出,得到最优的垃圾车路径方案。进一步,所述编码与种群初始化具体包括:(1)预处理输入的数据,生成两个数组:两点之间最短距离数组和前驱数组,运用floyd算法对任意两点之间的长度进行求解;(2)个体编码,一条个体表示一辆服务车的服务路径,则该问题的解为若干条个体的集合;采用二进制编码,服务道路为1,空驶道路为0,个体为1时,其对应一条弧的编号;个体的编码长度代表一次服务路径经过弧的条数,包括服务路段和空驶路段,生成的个体chrom(k)={2,5,6,12,...,15,4,5,18},个体表示运送车依次对弧编号为2,5,6,12,...,15,4,3,18的弧进行运送作业,其中约定每条个体不加入车场;(3)种群的亲和度函数为fitness(pop(k)),迭代公式为:(4)种群初始化,步骤1:对道路中的弧进行编号,车场默认为1;步骤2:随机生成一条个体{r1,r2,...,rn},代表服务路段的弧编号,并且满足约束条件:∑ri≤q;步骤3:如果∑ri<q,且存在某一条弧可以加入个体集合,使得∑ri+1≤q,则将ri+1加入初始个体,并重复此操作直至无法再加入弧;步骤4:完成一条个体的填充后,接着进行其他个体的填充,具体步骤同步骤2和步骤3所示;步骤5:所有个体初始化完毕,构成一个初始的种群。进一步,采用锦标赛选择法进行个体的选择,随机挑选若干个体,筛选出最好的个体作为父代个体,锦标赛的规模为[2,nind],其中nind表示个体数目。进一步,个体的交叉采用顺序交叉的方法对选择出的父代个体进行交叉操作,取父代个体p2的第二交叉处开始的排列,顺次取值,到达个体尾部时,从个体首部开始取值,得到一个全新的排列顺序,记为p′2=(934521876);同时父代个体p1中第一交叉处和第二交叉处之间的元素为(4567),去除p′2中的(4567),得到子式(93218),再将这个子式传递给父代个体p1,从第二交叉处开始复制,达到个体尾部时,转向首部继续复制,得到o1=(218456793),同理得到o2=(345187692)。进一步,个体的变异,取变异概率pm=0.03为基准,采用分段变异率,前一段为恒定变异率pm=0.03,后一段变异率则跟遗传代数成反比,pm=0.03-0.000006*gen,其中gen为当前遗传代数。进一步,局部搜索采用简化的密母策略,当前个体中的弧对为(i,j),通过对以下四个条件进行处理,如果个体的适应度提高则保留改变,并完成局部搜索;(1)判断(i,j)和(j,i)是否为同一条路径,互为相反、端点相同的弧路径,如果个体的适应度降低,i和j的值互相交换;(2)在弧j后插入弧i;(3)在弧j后插入弧对(i,x),x的位置随机产生,但是满足x∈[i+1,j-1]。(4)将i后面的一条弧和j前面的一条弧之间的所有弧颠倒顺序。进一步,个体解码,个体为s=(241365),容量q=9,则车辆分配k=(111223),路径分别表示为(σ241σ)、(σ5σ),其中σ为车场。本发明的另一目的在于提供一种使用所述基于免疫优化的垃圾车路径获取方法的垃圾车。本发明的优点及积极效果为:保证在垃圾车路径规模较大时候,算法复杂度较低,能找到开销较小的运输路径,减少人力财力的浪费。将垃圾车路径路径问题转化为带容量约束的弧路径优化问题,并建立相应的数学模型;根据问题的np难特性,提出了一种免疫算法进行求解。设计了适合问题求解的锦标赛选择法、顺序交叉法、自适应变异等免疫算子,并设计了局部搜索策略,避免算法陷入局部最优。实验结果表明,所提算法能得到代价最小的运送路径。附图说明图1是本发明实施例提供的基于免疫优化的垃圾车路径获取方法流程图。图2是本发明实施例提供的个体编码方式示意图。图3是本发明实施例提供的个体解码初始路线图。图4是本发明实施例提供的个体解码最终路线图。图5是本发明实施例提供的道路图样例示意图。图6是本发明实施例提供的样例二道路网路图。图7是本发明实施例提供的样例三道路网络图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。垃圾回收是现实生活中的一个重要问题,对方便居民生活水平起到了重要的作用。高效的运送路径有利于减少工人的劳动时间,同时也可以减轻交通压力。因此,如何有效的规划垃圾车问题的路径,最大程度上的降低服务车辆多走路、走弯路的可能性,具有非常重要的理论和实际意义。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例提供的基于免疫优化的垃圾车路径获取方法包括以下步骤:s101:将垃圾车运输路径问题建模为容量约束的狐路径问题,给出优化的目标函数和约束条件;s102:根据问题特点进行抗体编码,生成初始化种群,即为候选方案;s103:对种群中的个体进行亲和度评价,选出亲和度高的个体;s104:对个体进行克隆,交叉,变异操作,生成新的抗体种群;s105:算法达到迭代次数后,输出亲和度最高的抗体;s106:对抗体进行解码输出,即可得到最优的垃圾车路径方案。下面结合附图对本发明的应用原理作进一步的描述。1垃圾车路径路径问题建模已知某市有且只有一个车场(depot)为运送车的始发站,该车场内有若干辆运送车(服务车),每辆运送车只能装载定量的物资,现在要对城市内的若干条道路进行运送作业。城市内的道路可以分为需求服务道路和非需求服务道路,分别称之为服务道路和空驶道路;所有服务道路均需要消耗运送量和燃油的行驶成本;空驶道路车辆只消耗燃油的行驶成本;要求每辆服务车从车场出发,只访问一次需求服务道路并最终回到车场,且服务道路需求的物资不能超过服务车装载的最大量。因此,问题即为:已知运送车进行每条道路运送时的消耗,设计算法求解消耗最少、使用运送车数量最少的解决方案。经过分析,将其建模为容量约束的弧路径问题。具体如下:在无向连通图中,设置一个顶点作为车场,从车场作为发车点,发送若干有容量限制的服务车辆。从车场确定一条路径,在该路径上的所有需求边的非负需求量之和不能超过服务车辆的容量,并且服务车返回车场。设图g=(v,e,a),其中v代表图中的顶点,e代表图中的边(双向道路),a代表图中的弧(单向道路),其中需求服务边集er∈e,需求服务弧集ar∈a。顶点dep∈v为车场点,每辆服务车的容量是q。问题转换为:已知在图g中找出m条路径(分别由m辆服务车运行),求解车辆路径总费用最小。其中,各个符号定义如下:g=(v,e,a)表示道路图;q表示每辆车的容量,即最大服务量;k表示运送车辆总数;n表示道路中服务道路总数;v={v1,v2,...,vn}表示图中顶点的集合,其中σ表示车场(depot);e={ei,i∈v}表示图中边的集合;a={ai,i∈v}表示图中弧的集合,其中边可以看作双向弧;r={ri∈a,i∈v}表示图中需要服务的弧的集合;ti表示第i辆车的服务路径;|ti|表示路径ti中服务道路的数量;si,j表示第i辆车服务路径中的第j条弧;cost(ti)表示路径ti的服务成本;demand(ti)表示路径ti的服务需求量;sc(si,j)表示的路径ti中第j条弧的服务成本,其中si,j∈a;de(si,j)表示的路径ti中第j条弧的服务需求量,其中si,j∈r;scmin(si,j,s1,j+1)表示在第i辆车服务路径中,第j条弧的终点到第j+1条弧的起点之间的最小服务成本,其中si,j,si,j+1∈a。根据上面的分析,问题建模为:(1)垃圾车路径问题目标:(2)约束条件:根据以上模型,做出如下说明:式(1)为垃圾车路径问题的目标函数,是问题中所有运送车消耗的最小值。式(2)表明每辆运送车完成一次运送作业所携带的量不能超过问题规定的运送车容量q。式(3)计算了运送车路线的消耗,其成本包括服务道路成本和空驶道路成本。式(4)表明需求运送作业的路段数量之和必须为n,即每条服务道路均需要服务。式(5)和式(6)保证了服务道路路径不会出现重复访问,即每条服务道路只会被一辆运送车服务。2基于免疫优化的实现2.1算法基本步骤算法基本步骤如下:(1)将垃圾车运输路径问题建模为容量约束的狐路径问题,给出优化的目标函数和约束条件;(2)根据问题特点进行抗体编码,生成初始化种群,即为候选方案;(3)对种群中的个体进行亲和度评价,选出亲和度高的个体;(4)对个体进行克隆,交叉,变异操作,生成新的抗体种群;(5)算法达到迭代次数后,输出亲和度最高的抗体;(6)对抗体进行解码输出,即可得到最优的垃圾车路径方案。2.2编码与种群初始化(1)预处理首先预处理输入的数据,生成两个数组:两点之间最短距离数组和前驱数组。可以运用floyd算法对任意两点之间的长度进行求解。floyd算法利用了单源最短路径的思路,不断地进行松弛处理,求得道路图中每对结点之间的最短路径。由于服务路段需求的运送量不可能为负数,所以可以使用floyd算法来进行求解。(2)个体编码设一条个体表示一辆服务车的服务路径,则该问题的解为若干条个体的集合。本发明采用二进制编码的方法,设服务道路为1,空驶道路为0,个体为1时,其对应一条弧的编号,如图2所示:其中,个体的编码长度代表一次服务路径经过弧的条数,包括服务路段和空驶路段,生成的个体chrom(k)={2,5,6,12,...,15,4,5,18},该个体表示运送车依次对弧编号为2,5,6,12,...,15,4,3,18的弧进行运送作业,其中约定每条个体不加入车场(编号为1)。为了保证解的可行性与正确性,个体编码的长度取决于运送车的容量q,即每条弧编号的需求量之和不能超过运送车的容量,除此之外,个体长度也要等于需求服务路径的总数量n。(3)亲和度函数这里将待求解的函数直接作为亲和度函数。设种群的亲和度函数为fitness(pop(k)),则可得构造函数的迭代公式为:亲和度函数求得的数值越大,则个体的亲和度越高,表明该个体在种群中更适宜生存。(4)种群初始化种群初始化(包括个体初始化)均为随机生成的,步骤如下:步骤1:对道路中的弧(包括服务路段和空驶路段)进行编号,车场默认为1;步骤2:随机生成一条个体{r1,r2,...,rn},代表服务路段的弧编号,并且满足约束条件:∑ri≤q;步骤3:如果∑ri<q,且存在某一条弧可以加入个体集合,使得∑ri+1≤q,则将ri+1加入初始个体,并重复此操作直至无法再加入弧;步骤4:完成一条个体的填充后,接着进行其他个体的填充,具体步骤同步骤2和步骤3所示;步骤5:所有个体初始化完毕,构成一个初始的种群。(5)约束条件的处理问题需要满足五个约束条件,在上述操作中均进行了编码实现:对于式(2),满足该约束条件,使每辆运送车运送作业的总量不超过容量q,可以在生成路径线路时,添加判定条件,当加入的服务路径超过剩余容量时,舍弃该路径,并选择其他符合该条件的路径。对于式(3),运送车的总消耗为服务路径和空驶路径的消耗之和,由于本问题研究的变量有两个,sc(si,j)表示车辆的行驶成本,de(si,j)表示车辆的服务需求量,服务路径包括sc(si,j)与de(si,j),而空驶路径只含有sc(si,j),此时对空驶路径,设sc(si,j)=0,即可将两类路径统一成一类。式(3)使用的算法是floyd求最短路径。对于式(4)、(5)、(6),要求服务路径数量之和必须为n,即每条服务路径均被访问。使用免疫算法,将个体长度定为n(服务路径的总数量),即可保证每次生成的车辆线路必定包含n个不相同的服务路径,详见个体编码。2.3免疫算子(1)个体的选择这里采用锦标赛选择法进行个体的选择。在该方法中,首先随机挑选若干个体,然后筛选出最好的个体作为父代个体,锦标赛的规模为[2,nind],其中nind表示个体数目(numberofindividuals),选择强度与锦标赛规模的关系如表1所示。表1锦标赛规模与选择强度关系表可见锦标赛选择与其他选择方法不同之处在于,随着规模的增加,选择强度也同样增加,而其他方法规模与强度成反比。对于解决carp问题,锦标赛选择法更合适。(2)个体的交叉这里采用顺序交叉的方法对上一步选择出的父代个体进行交叉操作,经过大量的实验数据验证可得,对于carp问题,根据实验分析与验证,取最适交叉概率pc=0.8。顺序交叉流程如下所示:对该样例进行顺序交叉操作的解释为:取父代个体p2的第二交叉处开始的排列,顺次取值,到达个体尾部时,从个体首部开始取值,从而得到一个全新的排列顺序,记为p′2=(934521876);同时父代个体p1中第一交叉处和第二交叉处之间的元素为(4567),去除p′2中的(4567),可以得到子式(93218),再将这个子式传递给父代个体p1,从第二交叉处开始复制,达到个体尾部时,转向首部继续复制,可以得到o1=(218456793),同理可以得到o2=(345187692)。(3)个体的变异在进行变异个体操作前,必须要判断子代个体的可行性,即编码是否符合需求量之和不超过车辆水容量。如果不判断可行性条件,则会将已经失败的个体计算,降低处理效率。根据实验分析与验证,取最适变异概率pm=0.03为基准,采用分段变异率,前一段为恒定变异率pm=0.03,后一段变异率则跟遗传代数成反比,pm=0.03-0.000006*gen,其中gen为当前遗传代数,系数可自行调整。以此概率随机对个体的编码进行突变,即将两个位置的编码进行交换。交换的过程是随机的。(4)局部搜索为了避免算法陷入局部最优,本发明采用一种局部搜索策略进行性能提升。本发明采用简化的密母策略,更适合问题的求解。本发明采用的局部搜索的思想是:先假设当前个体中的弧对为(i,j),通过对以下四个条件进行处理,如果个体的适应度提高则保留改变,并完成该次局部搜索。(1)判断(i,j)和(j,i)是否为同一条路径,即互为相反、端点相同的弧路径,如果个体的适应度降低,i和j的值互相交换;(2)在弧j后插入弧i;(3)在弧j后插入弧对(i,x),x的位置随机产生,但是满足x∈[i+1,j-1]。(4)将i后面的一条弧和j前面的一条弧之间的所有弧颠倒顺序。(5)个体解码完成以上操作,可以挑选出适应度更高的个体,同时去除性能较差的个体,来形成新的种群,经过一定规模的进化次数逐步达到最优解。最后一步对已经形成的种群和个体进行解码操作,并得到carp的总花费。假设个体为s=(241365),容量q=9,则车辆分配k=(111223)。路径分别表示为(σ241σ)、(σ5σ),其中σ为车场。图3和图4表示车辆路径的方案。上例所示,由三辆运送车完成道路网络,其中carp总花费为51+40+50=141,得到消耗的最优解。下面结合实验对本发明的应用效果作详细的描述。1实验结果分析与对比实验数据集为通用测试集—egl数据集中的三个实例。假设x市某区域春季需求运送作业,现在制定一个构造最优解的方案,使运送作业总花费(车辆行驶总里程)最小,如果总花费最小有多种情况,则选择使用运送车最少的那一种方案。现在做出如下约定:(1)每米运送量均为常量,即运送总量只和车辆行驶里程成正比,假设运送车在服务道路上每行驶一米,运送车消耗一单位的物资量;(2)所有运送车均有相同的容量限制,假设运送车最多能容纳1500单位的物资量;(3)运送车的消耗只和行驶里程有关,不考虑其他干扰因素。迭代次数为100,种群规模为100;变量的二进制数目与个体位数相等,即该样例中弧的总数30个,本算例设每辆运送车的容量均为1500单位。该区域道路图如图5所示:根据上图,可以得到道路图中弧的关系,如下表2所示,根据floyd算法,可以求得每个顶点之间的最短路径,如下表2所示。表2道路图中弧的关系编号12345678910起点1122233445终点2535624381弧长158166132228162142105105191166编号11121314151617181920起点5666667777终点625791036811弧长144173145130220174202124112185编号21222324252627282930起点888991010111112终点411125106771011弧长183145192195150174233185138115表3floyd求解样例12345678910111210158290395166310440552530484625744239401322372281622924043823364759635361420105370304434296524478441488464124710504754095211916294743363835166317449554014427438636431845957863111733054101450130242220174315434743529720229526912401123552981853048765430288183599454330067428314519293614975856781953243834950150568687104853474355283191742333453940418537116204823874804543091852975291380489127355975025955694243004126442531150本例中,6943是该样例的最优解。最优解初始个体为:5-16-26-25-27-17-6-10-2-11-15-24-1-3-7-9-23-30-18-12-4-14-19-21-8-22-28-20-29-13,平均计算时间为15.98s。为了说明本发明算法的有效性,与文献[要婷婷.基于模因演化算法的有限容量弧路径问题研究[d].北京交通大学,2016.]进行了对比分析,实验结果如下所示。表4相关算法对比为了进一步说明本发明算法,这里额外添加了两组测试样例进行对比。将样例一中的弧路径和消耗量做出了适当的调整得到样例二与样例三,图6和图7分别为样例二和样例三的道路网络图。其中,样例二解的结果对比见表5。可以发现本发明算法在最优解数值、迭代次数、运行时间上均有较好的表现。表5相关算法对比(样例2)表6相关算法比较(样例3)根据以上三个实验样例,可知算法在最优解数值、迭代次数、运行时间上均有所优化,并且均能得到问题的最优解。本发明对垃圾车路径路径问题的设计与实现,将具体的实际应用问题抽象成带容量约束的弧路径问题,建立了相应的数学模型,并利用免疫算法进行求解,实验结果表明了算法的有效性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1