基于多智能体遗传算法的灾害救援救护车路径规划方法与流程

文档序号:12035339阅读:720来源:国知局
基于多智能体遗传算法的灾害救援救护车路径规划方法与流程
本发明属于计算机应用
技术领域
,涉及一种灾害救援救护车路径规划,具体是基于多智能体遗传算法的灾害救援救护车路径规划方法。可用于设计灾害救援过程中救护车的路径方案,以便更大限度的保存人民生命安全。
背景技术
:近年来,随着工业化加剧,各种突发事件包括自然灾害等越来越频繁地发生,影响到人们的生活,甚至会威胁到人们的生命。突发公共事件发生的诱因越来越多,预测难度不断增强,而应对突发事件变得越来越困难。应急救援作为一门新兴学科,要求应急主体必须在信息高度缺失的情况下做出及时的、迅捷的反映,尽可能的采取合理、有效的措施,协调各种资源来达到有效处理突发事件,减少损失的目的。国务院通过了《中华人民共和国突发事件应对法》,用来控制、减少突发事件造成的社会危害,消除突发事件引发的负面影响,同时该法案还可以规范人们的救援行动,达到保护人民生命财产安全,维护国家安全和社会秩序等的目的。虽然灾难本身便会造成人员的伤亡,但是更大一部分受害者通常是由于缺乏有效的援助而造成的。在事故发生的第一时间科学有效的救援操作将会在很大程度上减小事故发生地的次生灾害程度。但是,灾后救援是在条件极为有限的情况下进行的,因此迅速的响应,及时的物流输送和好的救援计划将会事半功倍。灾害救援中的救护车的路径规划问题,被看作一个灾难后的动态的、实时的车辆路径问题。在突发灾难后会有很多请求在短时间内发生,当灾难发生时,原有的路径可能中断,一旦出现很多位于不同位置的不同的伤员同时需要救援,现有的各种手机地图软件,如高德等,无法对其进行规划。而且一些道路信息、医院容量或者其他信息也在不断变化,伤员到达的医院未必就能立即得到相应的治疗。但是在灾难救援中时间就是生命,如何尽快救援到更多的伤员是十分重要的。事先的救护车的路径规划方法可以对救护车进行统一的指挥,合理规划医疗资源,避免造成资源的浪费。大规模突发事故救援中的救护车的路径规划问题,被看作一个事故发生后的动态的、实时的车辆路径问题。关于灾害救援救护车的路径规划,早期,研究人员经常将该问题与位置覆盖问题相结合来解决,andersson使救护车就近进行呼叫请求的回应,但是并没有考虑道路状况或者医院十分还有容量。wex针对该问题给定需要救助的灾害地点,对总的救援时间进行优化,并使用启发式算法解决这个问题。但是wex将所有病人送往医院,一些轻伤病人实际上只要进行一些急救,并不需要到达医院,如果所有的病人都送往医院则会浪费一些医疗资源,降低其他伤员获救的几率。luca等人在ambulanceroutingfordisasterresponsewithpatientgroups中提出一种救护车的路径规划方法,将病人区分为红绿标记病人,只有红色标记病人需要送往医院,并采用启发式算法解决这个问题,存在容易陷入局部最优的缺点。国内外对救护车的路径规划问题提出许多可行的算法,主要有蚁群算法、遗传算法、禁忌搜索算法等。其中,遗传算法作为一种随机搜索算法,是根据达尔文的自然选择和孟德尔的基因遗传学原理来设计的群智能体优化算法。遗传算法通过迭代对种群不断进行搜索,可以搜索到全局最优解却不需要任何初始化信息,但是其也存在着在运算速度慢、容易陷入局部最优的缺点。在灾害救援中,时间就是生命,如何更好更快的帮助更多人员是十分有意义的。技术实现要素:本发明的目的是针对现有技术的不足,提出了一种收敛更快的基于多智能体遗传算法的灾害救援救护车路径规划方法。本发明是一种基于多智能体遗传算法的灾害救援救护车路径规划方法,其特征在于,涉及到救护车、轻重程度不同的病人、医院、救护车的救援时间、救护车路径的规划与选定,包括有如下步骤:(1)针对救护车路径规划进行设定:(1a)标记设定:采用红色标记标记重伤病人,采用绿色标记标记轻伤病人;(1b)救护车救援时间的设定:到达时间是指救护车从医院到达灾害地点的时间;服务时间是救护车从医院出发接到病人,并将病人送达目的地的时间;最迟服务时间为从医院出发对所有病人救护完成的时间,起点为医院,终点完成所有病人的救助;(1c)用多智能体遗传算法进行救护车路径规划参数设定:包括有多智能体遗传算法参数设置:具体包括智能体网格,迭代次数g,交叉概率pc和变异概率pm;救护车参数设置:救护车数目在大中小规模中分别为6、6、3;救护车在医院放下病人的时间;救护车对病人的急救时间;病人参数设置,病人总数为n,在大中小规模中分别为50、25、10,病人地点;其他参数设置:医院地点、医院总数、红绿标记病人的权重系数;(2)采用多智能体遗传算法产生初始的救护车路径规划方案:(2a)通过编码初始化救护车的路径:编码产生初始的救护车路径,救护车规划方案的智能体中包含有一种初始路径方案序列、初始路径方案目标函数值和智能体在智能体网格中的位置信息;一种初始路径方案序列包含有多条救护车路径,所有的初始路径方案序列随机生成,不需要任何的额外的约束;(2b)计算救护车路径的目标函数值:对每种初始路径方案序列,采用适应度函数公式得到初始路径方案序列的目标函数值,根据目标函数值选取花费时间最短的救护车路径规划方案,得到初始的全局最优的路径方案;(3)采用遗传算子在原来输入的基础上产生新的路径规划方案:(3a)交叉算子:随机生成0和1之间的随机数,如果该数小于交叉概率pc,对智能体网格中一种救护车路径执行交叉算子;采用一点交叉,选取个体邻域中最优秀的智能体,也就是该智能体的邻域中最优秀的路径和该路径进行一点交叉,尽可能保留优秀的基因信息,并采用适应度函数计算其适应度值;(3b)变异算子:随机生成0和1之间的随机数,如果该数小于变异概率pm,对智能体网格中救护车路径执行变异算子;采用基于中心位置的变异的方法:在一种救护车路径方案序列上随机选择两个等位基因点也就是标记点或者救护车的起始地点,交换两个基因值形成新的染色体,两个等位基因点的位置和为染色体的长度,并采用适应度函数计算其适应度值;(4)通过迭代在智能体网格中寻找当代最优的路径方案和全局最优的路径方案:采用适应度函数计算每个路径方案的加权和,选取当代最优路径方案;采用局部搜索算子继续优化当代最优路径方案;与当代最优路径方案进行对比寻找全局最优路径方案;如果满足终止条件,则执行步骤(5),否则执行步骤(3)进行新一轮的迭代优化;(5)输出本次寻找到的全局的最优的灾害救援救护车的路径规划方法。本发明在ambulanceroutingfordisasterresponsewithpatientgroups的基础上进行改进,也将将病人分为红绿标记病人,只有红色标记病人需要送往医院,绿色标记病人可以就地进行治疗。本发明中出现多辆救护车,可以将救护车路径序列分为多条路径,便于更好的救助更多的病人。在本发明中,最迟服务时间,也就是救助完所有病人的最晚的时间,被分为红色标记病人的最迟服务时间和绿色服务病人的最迟服务时间。本发明目的是求红绿标记病人最迟服务时间的加权和的最小值,也就是全局最优路径方案。本发明与现有技术相比具有如下优点:第一,本发明针对救护车的路径规划问题设计的过程中,设计了相应的实数编码方式提高了解空间的搜索效率,使得收敛和运行速度都有相应的提高;采用了改进的多智能体遗传算法设计灾难救援过程中的救护车的救护路径,使得算法收敛迅速,运算收敛的结果也有所提高。第二,本发明在进行救护车的路径规划设计的过程中,根据问题特性对多智能体遗传算法进行了改进,并引入了一种局部搜索方法,以提高算法的全局搜索能力。从而有效避免过早收敛,提高了算法性能。并通过不同规模的具体实例验证了算法的有效性。附图说明图1是本发明的流程图;图2是本发明用局部搜索算子搜索当代最优路径的流程图。具体实施方式下面结合附图对本发明作详细的描述。实施例1随着经济发展,各种突发灾害,包括自然灾害频繁发生不断侵袭我们的生活,威胁人们的生命。灾害中大规模的病人同时出现,均需要医疗救助,合理的救护车路径规划方法可以更快的救助更多的病人,这在灾害救援中是十分有意义的。多智能体遗传算法作为一种基于智能体的对环境感知与反作用的能力提出的优化算法,用智能体网格替代种群形式进化,每个个体只能感知到它的局部环境,只可以和邻域相互作用。多智能体遗传算法的主要优点是种群规模小、算法的稳定性高,但是也存在着容易陷入局部最优的缺点。针对上述容易陷入局部最优的问题,本发明提出一种基于多智能体遗传算法的灾害救援救护车路径规划方法(ambulanceroutingfordisasterresponsebasedonmulti-agentgeneticalgorithm,简称maga_am),本发明在运行过程中涉及到救护车、轻重程度不同的病人、医院、救护车的救援时间、救护车路径的规划与选定等,参见图1,包括有如下步骤:(1)针对救护车路径规划进行设定:(1a)标记设定:采用红色标记标记重伤病人,将病人按照轻重程度分为红色标记病人和绿色标记病人,红色标记的重伤病人必须马上带往医院进行治疗。采用绿色标记标记轻伤病人,救护车可以直接在原地进行急救后直接前往下一个标记点,不用返回医院。(1b)救护车救援时间的设定:到达时间是指救护车从医院到达灾害地点的时间;具体是指不仅到达灾害地点还到达病人所在地点的时间。服务时间是救护车从医院出发接到病人,并将病人送达目的地的时间;即救护车离开某病人的时间,绿色标记病人的目的地仍是原地,但是要在服务时间的基础上加上对其进行急救的时间,故绿色标记病人的服务时间是救护车到达某标记病人并对其进行急救的时间,红色标记病人的目的地是医院,红色标记病人的服务时间是救护车到达该病人并对其进行急救后,再将其送往医院病并放到医院的时间。最迟服务时间为从医院出发对所有病人救护完成的时间,起点为医院,终点完成所有病人的救助。本发明中将最迟服务时间区分为红色标记病人的最迟服务时间和绿色病人的最迟服务时间,红色标记病人的最迟服务时间是所有红色标记病人都送达医院的时间,绿色病人的最迟服务时间是所有绿色标记病人都完成急救的时间,每个路径方案中仅有一个红色标记病人的最迟服务时间和绿色标记病人的最迟服务时间。(1c)用多智能体遗传算法进行救护车路径规划参数设定:包括有多智能体遗传算法参数设置:具体包括智能体网格大小lsize为5,迭代次数g为100,交叉概率pc和变异概率pm均为0.1;救护车参数设置:救护车数目在大中小规模中分别为6、6、3;救护车在医院放下病人的时间和救护车对病人的急救时间详见说明书表1;病人参数设置,病人总数为n,在大中小规模中分别为50、25、10,病人地点;其他参数设置:医院地点、医院总数、红绿标记病人的权重系数详见说明书表2。(2)采用多智能体遗传算法产生初始的救护车路径规划方案,也就是初始化智能体网格信息:(2a)通过编码初始化救护车的路径:给救护车和红绿标记病人赋数字,以实数编码,通过实数编码将实际问题转为数学问题。编码产生初始的救护车路径,救护车规划方案的智能体中包含有一种初始路径方案序列、初始路径方案目标函数值和智能体在智能体网格中的位置信息,或者说一种初始路径方案和其目标函数值包含在一个智能体中。一种初始路径方案序列包含有多条救护车路径,所有的初始路径方案序列随机生成,不需要任何的额外的约束。群智能算法最重要的就是编码方法,一种优秀的编码方法可以事半功倍;本发明的编码用来解决救护车的路径规划问题可以提高搜索效率。(2b)计算救护车路径的目标函数值,也就是红绿标记病人的最迟服务时间的加权和:对每种初始路径方案序列,采用适应度函数得到初始路径方案序列的目标函数值,根据目标函数值选取花费时间最短的救护车路径规划方案,得到初始的全局最优的路径方案。(3)采用遗传算子在原来输入的基础上产生新的路径规划方案:(3a)交叉算子:随机生成0和1之间的随机数,如果该数小于交叉概率pc,对智能体网格中一种救护车路径则执行交叉算子;采用一点交叉,选取个体邻域中最优秀的智能体,也就是该智能体的邻域中最优秀的路径和该路径进行一点交叉,尽可能保留优秀的基因信息,并采用适应度函数计算其适应度值;(3b)变异算子:随机生成0和1之间的随机数,如果该数小于变异概率pm,对智能体网格中救护车路径序列执行变异算子;采用基于中心位置的变异的方法:在一种救护车运行方法上随机选择两个等位基因点也就是标记点或者救护车的起始地点,交换两个基因值形成新的染色体,两个等位基因点的位置和为染色体的长度,并采用适应度函数计算其适应度值;新的染色体和留的染色体长度相等的,染色体的长度始终是不变的。(4)通过迭代在智能体网格中寻找当代最优的路径方案和全局最优的路径方案:采用适应度函数计算每个路径方案的红绿标记病人的最迟服务时间的加权和,根据加权和来选取当代最优路径方案。采用局部搜索算子继续优化当代最优路径方案;与当代最优路径方案进行对比寻找全局最优路径方案;如果满足终止条件,则执行步骤(5),否则执行步骤(3)进行新一轮的迭代优化。(5)输出本次寻找到的全局的最优的灾害救援救护车的路径规划方法。本发明采用了多智能体遗传算法解决灾难救援过程中的救护车的救护路径规划,针对救护车的路径规划问题设计设计的编码方式提高了解空间的搜索效率,使得算法收敛迅速,收敛到的结果也十分优秀。实施例2基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1,步骤(2a)中通过编码初始化救护车的路径,包括有如下步骤:(2a-1)智能体的基础规定:救护车初始规划方案的智能体网格l的种群规模为lsize×lsize,智能体网格中的每个格点代表一个智能体,智能体不能进行移动,且只可以感知其邻域的信息,也就是说其只可以与其相邻的智能体发生相互作用。一个智能体包含有一种路径方案序列,智能体网格中的每个路径方案序列各是一条染色体,但是染色体不等于智能体,仅是一种救护车的路径方案序列,一种救护车的路径方案序列种包含多条救护车路径。(2a-2)初始化智能体中的染色体信息:用0到m–1表示救护车,m为救护车总数,用m到m+r–1表示红色标记病人,r是红色标记病人总数,用m+r到m+r+g-1表示绿色标记病人,g为绿色标记病人总数。每条染色体是一组从0到m+n–1的互不重合的序列,即救护车的路径方案序列;救护车的路径方案序列中救护车的标记信息是从0到m–1,每一辆救护车的标记点在染色体中的位置表示该救护车的起始位置,就是说针对第一辆救护车从自己的标记点位置开始,到紧相邻的下一辆救护车的标记位置之间表示第一辆救护车的路径,以此类推,第m辆救护车的路径是从其标记点开始到染色体结尾之间的路径,这样救护车的路径信息形成一个序列来表示,即救护车的路径方案序列。每条救护车路径中包含许多红绿标记病人,这些标记病人出现的顺序就是这些标记病人得到救助的顺序,也就是救护车救护病人的路径。染色体的第一位基因的值小于m,即所有救护车路径必须以救护车的地点为起点。红色标记病人的位置信息:从m到m+r–1代表是红色标记病人,红色标记病人在该地得到救护车救助;具体的说,上一个点标记点是救护车的标记点,则表示救护车出发后第一个到达该标记点,上一个点是红色标记点则救护车运输上一个红色标记病人返回医院后又从医院出发到达该标记点,上一个标记点是绿色标记点则表示从绿色标记病人出发直接到达该标记点;碰到红色标记病人需要返回医院,然后从医院出发赶往下一个标记点。绿色标记病人的位置信息:从m+r到m+r+g–1代表绿色标记病人,绿色标记病人在该点得到救助;碰到绿色标记病人可以直接在原地对绿色标记病人进行急救后赶往下一个标记点。本发明的这种编码方式可以有效减少运算代价,同时不需要进行解码,大大提高了搜索效率同时减少运行时间,加速收敛速度。实施例3基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1,步骤(4)中的通过迭代在智能体网格中寻找当代最优的路径方案和全局最优的路径方案,具体包括有:(4a)采用适应度函数公式,计算每个路径方案序列的红绿标记病人的最迟服务时间的加权和;选取这一代寻找到的最优秀的路径方案;(4b)执行局部搜索算子优化当代最优路径;本发明的局部搜索算子也可以称作自学习算子,包括有2-opt算子、2-swap算子和1-insertion算子3个算子;局部搜索算子通过自身的优化学习,尽可能的搜索到更多的优秀的路径方案;如果新生成的方案优于当代最优的路径方案,则新生个体成为新的当代最优的路径方案。局部搜索算子只对当代最优方案进行搜索,减少了计算代价,节省了计算时间,与全部智能体都进行局部搜索相比在中小规模实验中结果并不逊色,在大规模中虽然结果略差,但是大大节省了计算时间和计算成本,但是也提高了工程应用的价值。(4c)将当代最优路径方案的目标函数值与全局最优最优方案的目标函数值进行对比,如果当代最优路径方案获胜,则当代最优方案成为新的全局最优的路径方案。(4d)判断当前迭代次数是否满足最大迭代次数g为100,若满足,执行步骤(5),输出灾害救援救护车全局最优路径规划,否则,执行步骤(3)开始新一轮的迭代优化。实施例4基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1-3,本发明步骤(4b)从生成的新一代智能体网格中找出当代最优解;本发明的局部搜索算子分别包括是:2-opt算子是指随意生成两个基因座a和b(a<b),将a点后的救护车路径交换到b点后,同时将b点后路径换到a点后,直到原来指向a后的指针移动到b,或者原来指向b的指针移动到染色体的结尾。2-swap算子是指随意生成两个基因点a和b,将a点的标记点或者救护车起点与b点的标记点或者救护车起点进行交换。1-insertion算子是指随机生成基因座a和基因b,将标记点或者救护车起点b放于位置a,染色体上原来路径顺序移动;如果新生成的救护车路径方案由于优于输入的当代最优方案,则新生个体成为当代最优解。本发明的局部搜索算子使得算法收敛非常迅速,算法运行10000代的结果与100代结果相同,证明其在100代就已经完全收敛,且收敛结果与遗传算法相比也十分优秀;实施例5基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1-4,步骤(2)、(3)、(4)所述的适应度函数的公式表述如下:f(a)=wr×er+wg×ega∈senergy(a)=-f(a)其中,a为智能体个体,f(a)为目标函数,为红绿标记病人的最迟服务时间的加权和的值,s为搜索空间代表所有的救护车路径规划方案序列;energy(a)表示智能体的能量,也称为适应度函数,其值为目标函数的负值。本发明的目的是通过尽可能地增大的智能体能量来寻找最优秀的救护车路径方案。下面给出一个更加详尽的例子,对本发明进一步说明实施例6基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1-5,参照图1,本发明的具体实现步骤如下:步骤1,针对救护车路径规划进行设定:(1a)标记设定:采用红色标记标记重伤病人,将病人按照轻重程度分为红色标记病人和绿色标记病人,红色标记的重伤病人必须马上带往医院进行治疗。采用绿色标记标记轻伤病人,救护车可以直接在原地进行急救后直接前往下一个标记点,不用返回医院。(1b)救护车救援时间的设定:到达时间是指救护车从医院到达灾害地点的时间;具体是指不仅到达灾害地点还到达病人所在地点的时间。服务时间是救护车从医院出发接到病人,并将病人送达目的地的时间;即救护车离开某病人的时间,绿色标记病人的目的地仍是原地,但是要在服务时间的基础上加上对其进行急救的时间,故绿色标记病人的服务时间是救护车到达某标记病人并对其进行急救的时间,红色标记病人的目的地是医院,红色标记病人的服务时间是救护车到达该病人并对其进行急救后,再将其送往医院病并放到医院的时间。最迟服务时间为从医院出发对所有病人救护完成的时间,起点为医院,终点完成所有病人的救助。本发明中将最迟服务时间区分为红色标记病人的最迟服务时间和绿色病人的最迟服务时间,红色标记病人的最迟服务时间是所有红色标记病人都送达医院的时间,绿色病人的最迟服务时间是所有绿色标记病人都完成急救的时间,每个路径方案中仅有一个红色标记病人的最迟服务时间和绿色标记病人的最迟服务时间。(1c)用多智能体遗传算法进行救护车路径规划参数设定,包括有:多智能体遗传算法参数设置:具体包括智能体网格大小lsize为5,迭代次数g为100,交叉概率pc和变异概率pm均为0.1。智能体网格大小、迭代次数g等的设定和经验有关,和救援规模有关,具体和救护车辆、病人数有关,一般取5,大致在5到10之间取值;交叉概率pc大致在0.1到0.9之间取值,和变异概率pm的大致在0.01到0.1之间取值。救护车参数设置:救护车数目在大中小规模中分别为6、6、3;救护车在医院放下病人的时间和救护车对病人的急救时间根据路径长度和车辆速度等因素确定,实验数据详见说明书表2。病人参数设置,病人总数为n,在大中小规模中分别为50、25、10,病人地点。其他参数设置:医院地点、医院总数根据实际情况输入、红绿标记病人的权重系数根据实际需求设定,实验数据详见说明书表2。步骤2,采用多智能体遗传算法产生初始的救护车路径规划方案,也就是初始化智能体网格信息;读入步骤1中设定的各个参数,通过编码初始化救护车的路径:智能体网格中的每个路径方案序列是一条染色体,但是染色体不能等于智能体,仅是一种救护车的路径方案序列;染色体中的路径信息:每条染色体是一组从0到m+n–1的互不重合的序列,即救护车的路径方案序列;救护车的路径方案序列中救护车的位置信息是从0到m–1,代表救护车的起始位置,到下一辆救护车的标记点或者染色体结束为止就是该救护车的路径;染色体的第一位基因的值小于m,m为救护车数目,即所有救护车路径必须以救护车的地点为起点;红色标记病人的位置信息:从m到m+r–1代表是红色标记病人,碰到红色标记病人需要返回医院,然后从医院出发赶往下一个标记点;绿色标记病人的位置信息:从m+r到m+r+g–1代表绿色标记病人,碰到绿色标记病人可以直接在原地对其进行急救后赶往下一个标记点。采用适应度函数公式,计算种群中每个方案的适应度值,也就是每种路径方案序列的目标函数值。适应度函数公式具体如下:minwr×er+wg×eg(1)s.t.eg≥bi+di(8)式中的符号在表1中,式(1)为目标函数,也称为适应度函数,求红色标记病人的服务时间和绿色标记病人的服务时间的加权和的最小值。式(2)确保从每家医院出发的救护车总数小于该医院的停留救护车数目;式(3)确保每位病人都被服务到,且每人只有一次机会;式(4)和式(5)确保每位红色标记的病人都被送往医院,且送往的医院有空位;式(6)和式(7)保证了在某个病人后面病人的到达时间不小于某个病人到其下个病人的旅行时间;式(8)决定了某个绿色标记病人的最迟服务时间大于等于所有绿色标记病人的服务时间和到达时间之和;式(9)决定了红色标记病人的最晚服务时间大于等于所有红色标记病人的所有红色标记病人的服务时间和到达时间及其到达医院的时间和在医院停留的时间的和;式(10)保证了每个点的服务时间不小于0;式(11)定义了这些二进制变量。本发明采用适应度函数公式,计算每个路径方案序列的适应度值,也就是红绿标记病人最迟服务时间加权和的负值;选取初始的全局最优路径方案,也就是花费时间最短的救护车路径规划方案。表1如下:表1各符号含义步骤3,采用遗传算子在原来输入的基础上产生新的路径规划方案,在算法第一次进入到步骤3时输入的是初始的救护车路径方案,以后输入的均为步骤5中优化的救护车路径方案:(3a)交叉算子:随机生成0和1之间的随机数,如果该数小于交叉概率pc,对智能体网格中一种救护车路径方案执行交叉算子;采用一点交叉,选取该智能体邻域中最优秀的智能体maxi,j,也就是该智能体的邻域中最优秀的路径和该路径li,j作为父代进行一点交叉,选取智能体的邻域中最优秀的路径进行交叉可以尽可能保留优秀的基因信息以促进结果的优化;随机生成交叉点cross_point(1到n+m-2),子代1在cross_point点之前路径和li,j的路径一样,之后从maxi,j的路径中顺序查找子代1中未出现的标记点和救护车起始点。子代2在cross_point点之前的路径和maxi,j的路径一样,之后从li,j的路径顺序查找子代2中未出现的标记点和救护车起始点,并采用适应度函数计算两个子代的适应度值和能量。如果两个子代的能量大于li,j的能量,能量大的子代取代原来的li,j成为新的li,j。在交叉算子中的交叉点不是第一个救护车的起点,在生成子代2时子代2的第一个必须确保找到的是救护车的标记点。(3b)变异算子:随机生成0和1之间的随机数,如果该数小于变异概率pm,对智能体网格中救护车路径执行变异算子;采用基于中心位置的变异的方法:在救护车路径序列上随机选择两个等位基因点也就是标记点或者救护车的起始地点,交换两个基因值形成新的染色体,两个等位基因点的位置和为染色体的长度,并采用适应度函数计算其适应度值;新的染色体和留的染色体长度相等的,染色体的长度始终是不变的。步骤4,通过迭代在智能体网格中寻找当代最优的路径方案和全局最优的路径方案:采用适应度函数计算每个路径方案的红绿标记病人的最迟服务时间的加权和,选取当代最优路径方案;对当代的最优路径方案执行局部搜索算子:本文的局部搜索算子分别由2-opt算子、2-swap算子和1-insertion算子3个算子组成,这3个算子分别为:(4a)2-opt算子是指随意生成两个基因座a和b(a<b),将a点后的救护车路径交换到b点后,同时将b点后路径换到a点后,直到原来指向a后的指针移动到b,或者原来指向b的指针移动到染色体的结尾;(4b)2-swap算子是指随意生成两个基因点a和b,将a点的标记点或者救护车起点与b点的标记点或者救护车起点进行交换;(4c)1-insertion算子是指随机生成基因座a和基因b,将标记点或者救护车起点b放于位置a,染色体上原来路径顺序移动;由上述3个算子生成3个新的救护车路径方案序列,采用适应度函数分别计算3个新的救护车路径方案序列的适应度值,并进行对比寻找其中的最优救护车路径方案序列,将与当代最优路径方案进行对比,如果最优救护车路径序列获胜则成为新的当代最优路径方案;将当代最优路径方案与全局最优路径方案进行对比,如果获胜,则当代最优路径方案成为新的全局最优路径方案。步骤5,判断当前迭代次数是否满足最大迭代次数,如满足迭代次数,得到最优的救护车路径方案并输出此次运算的最优路径方案序列和其目标函数值,否则,迭代还未完成,执行步骤3进行新一轮的迭代优化。终止条件为迭代次数g,本实施例中最大迭代次数取为100。本发明的效果可以通过以下仿真实验作进一步说明。实施例7基于多智能体遗传算法的灾害救援救护车路径规划方法同实施例1-6,仿真实验运行环境:本发明的仿真实验选择的处理器为intel(r)core(tm)i3-2350mcpu@2.30ghz2.30ghz,内存为8g,硬盘为500g,操作系统为microsoftwindows7,编程环境为visualstudio2013。实验条件设置:本发明的仿真实验中测试了三个不同规模实验,小规模各地点位置坐标:1家停留了2辆救护车医院位置坐标(78,65),1家停留了1辆救护车医院位置坐标(61,94);3个红色标记病人位置坐标(65,70)(84,68)(47,95);7个绿色标记病人位置坐标(56,37)(113,92)(55,139)(184,186)(85,18)(11,45)(23,65);中等规模各地点位置坐标:1家停留了6辆救护车医院地址(97,147);18个红色标记病人位置坐标(174,19)(40,53)(59,172)(74,30)(115,85)(193,145)(129,78)(46,146)(10,111)(32,8)(113,103)(155,169)(20,68)(179,111)(63,123)(129,145)(95,154)(29,125);7个绿色标记病人位置坐标(65,76)(68,28)(188,189)(116,143)(85,158)(62,81)(98,188);大规模各地点位置坐标:1家停留了6辆救护车医院地址(139,93);12个红色标记病人位置坐标(54,98)(85,189)(76,38)(109,152)(144,167)(103,66)(178,168)(124,82)(155,43)(33,147)(162,96)(83,165);38个绿色标记病人位置坐标(93,30)(194,29)(83,41)(99,154)(192,165)(83,153)(112,10)(144,172)(135,33)(170,46)(137,173)(106,74)(5,21)(154,181)(175,25)(22,145)(23,99)(9,27)(164,185)(27,116)(64,65)(186,128)(179,181)(177,132)(11,184)(96,165)(137,77)(5,118)(34,24)(119,4)(4,171)(87,33)(96,158)(120,11)(14,83)(67,18)(172,194)(161,199)小规模中有3辆救护车,10个病人,分别为3个红色标记的病人,7个绿色标记的病人。中等规模为6辆救护车,25个标记病人,分别为18个红色标记病人,7个绿色标记病人。大型规模为6辆救护车,50个病人,12个红色标记病人,38个绿色标记病人。其它各实验参数设置详见表2。表2:大中小规模实验参数设置表小规模中等规模大规模救护车在医院放下病人的时间000红色标记病人的急救时间30135绿色标记病人的急救时间101733红色标记病人的总数31812绿色标记病人的总数7718病人总数102550医院总数211救护车总数366权重系数1,11,11,1搜索空间上界123055搜索空间下界000实验内容和结果分析:本发明的仿真实验采用多智能体遗传算法进行实验,考虑到算法的随机性,重复运行10次求目标函数平均值和最优值,其测试结果如表3所示。表3:实验测试结果表中的最优值是运行10次取得的最优值,最优值越大适应度越差,结果越差,最优值越小适应度越好,所需的红绿标记病人的最迟服务越短,结果越好;平均值是运行10次取得的平均值,和最优值效果等同。从表3的实验结果可以看出,本发明提出的基于多智能体遗传算法的灾害救援救护车路径规划方法是很有效的,无论是小规模、中等规模还是大规模的,本发明设计的方法都能得出较好的救护车路径方案,而且更加快速和高效。本发明是一种有效的救护车路径规划方案,如实验结果所示,本发明的基于多智能体遗传算法的灾害救援救护车路径规划方法是稳定的,高效的。本发明运用多智能体遗传算法,设计出合适的编码、交叉、变异和局部搜索算子,来更新种群,这是一个创新点。综上所述,本发明公开的一种基于多智能体遗传算法的救护车路径规划方法。解决了灾害救援过程中救护车路径规划容易陷入局部最优的问题,其实现步骤为:(1)针对救护车路径规划进行设定;(2)采用多智能体遗传算法产生初始的救护车路径规划方案;(3)采用遗传算子在原来输入的方案的基础上产生新的路径规划方案;(4)通过迭代在智能体网格中寻找当代最优的路径方案和全局最优的路径方案;(5)判断是否满足终止条件,满足则执行步骤(5),否则执行步骤(3)进行新一轮的迭代优化;(6)输出本次寻找到的全局最优的灾害救援救护车的路径规划。本发明在设计救护车的路径规划是,将最迟服务时间作为个体的评价标准,设计了有效的编码方式和局部搜索算子等操作,采用了多智能体遗传算法的框架,能够设计出具有高效率的救护车路径规划方案。提高了救护车路径规划的效率,用于灾难救援中的救护车的车辆路径规划。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1