一种基于GBP的ACO方法技术

技术编号:25399231 阅读:29 留言:0更新日期:2020-08-25 23:04
本发明专利技术公开了一种基于GBP的ACO方法,上述方法能解决现有技术中的路径寻优方法没有办法结合基因维度进行学习、计算学习时占用大量内存、在进行优化时震荡数值偏大的问题,具有以下几个特点:(1)采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解;(2)每个个体可以通过释放信息素来改变周围的环境,且每个个体能够感知周围环境的实时变化,个体间通过环境进行间接地通讯;(3)搜索过程采用分布式计算方式,多个个体同时进行并行计算,大大提高了算法的计算能力和运行效率;(4)启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优解。

【技术实现步骤摘要】
一种基于GBP的ACO方法
本专利技术属于道路网络的路径寻优领域,尤其涉及一种基于GBP的ACO方法,上述方法能解决现有技术中的路径寻优方法没有办法结合基因维度进行学习、计算学习时占用大量内存、在进行优化时震荡数值偏大的问题。
技术介绍
路径寻优问题是计算机科学、运筹学、地理信息科学等学科的研究热点之一,被广泛应用在在城市停车场泊车、应急救援、GPS导航、兴趣点选址等领域。快速有效的路径寻优算法能够使应用系统迅速得到反馈,提供有价值的资源信息,满足用户需求。目前的路径寻优研究是基于经典图论和不断发展的计算机数据结构及算法的有效性结合,将道路路网抽象为网络模型,实际的路径抽象为网络的一条边,路径长度表征为边的权值,在该网络上求某两点的最短路径,属于非确定性问题。其中,最经典的方法为Dijkstra算法,主要特点是以起点为中心向外层扩展,一层层计算起点到该层的最短路径,直到遍历完所有节点为止。Dijkstra算法的优点是保证能找到最短路径,但是由于它需要遍历网络结构的所有节点,在网络节点数较大情况下,其算法的时间花费成倍甚至幂次增长,较难满足实际运算需求。为了解决算法耗时问题,蚂蚁群算法、遗传算法、蜂群算法等启发式算法应用于路径寻优研究。这类算法均可在设定迭代次数内迅速找到相对满意解,无需遍历整个网络结构,大大减少运算时间。然而这类算法对新空间的探索能力较为有限,容易收敛到局部最优解,同时,这类算法属于随机类算法,需要多次运算,结果的可靠性较差,不能稳定的得到解。蚁群系统(AntSystem或AntColonySystem)是由意大利学者Dorigo、Maniezzo等人于20世纪90年代首先提出来的。他们在研究蚂蚁觅食的过程中,发现单个蚂蚁的行为比较简单,但是蚁群整体却可以体现一些智能的行为。例如蚁群可以在不同的环境下,寻找最短到达食物源的路径。这是因为蚁群内的蚂蚁可以通过某种信息机制实现信息的传递。后又经进一步研究发现,蚂蚁会在其经过的路径上释放一种可以称之为“信息素”的物质,蚁群内的蚂蚁对“信息素”具有感知能力,它们会沿着“信息素”浓度较高路径行走,而每只路过的蚂蚁都会在路上留下“信息素”,这就形成一种类似正反馈的机制,这样经过一段时间后,整个蚁群就会沿着最短路径到达食物源了。本专利技术针对传统的蚂蚁群算法没有办法结合基因维度进行学习、计算学习时占用大量内存、在进行优化时震荡数值偏大的问题;本专利技术在深入研究蚂蚁群算法的基础上,提出了一种基于蚂蚁群效应算法的路径寻优方法,该算法在蚂蚁群的基础上,通过将用户的基因(Gene),行为(Behavior),表型(Phenotypic)这三类信息称之为用户的GBP数据,将这些数据进行标签化,进而形成以用户为基础的GBP标签;本专利技术中将上述算法称为GBP-ACO算法,可见,GBP-ACO具有以下几个特点:(1)采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解;(2)每个个体可以通过释放信息素来改变周围的环境,且每个个体能够感知周围环境的实时变化,个体间通过环境进行间接地通讯;(3)搜索过程采用分布式计算方式,多个个体同时进行并行计算,大大提高了算法的计算能力和运行效率;(4)启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优解。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于蚂蚁群效应算法的路径寻优方法,该算法在蚂蚁群的基础上,通过将用户的基因(Gene),行为(Behavior),表型(Phenotypic)这三类信息称之为用户的GBP数据,将这些数据进行标签化,进而形成以用户为基础的GBP标签;本专利技术中将上述算法称为GBP-ACO算法,可见,GBP-ACO具有以下几个特点:(1)采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解;(2)每个个体可以通过释放信息素来改变周围的环境,且每个个体能够感知周围环境的实时变化,个体间通过环境进行间接地通讯;(3)搜索过程采用分布式计算方式,多个个体同时进行并行计算,大大提高了算法的计算能力和运行效率;(4)启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优解。为实现上述专利技术目的,本专利技术采用如下的技术方案:一种基于粒子群优化的路径寻优方法,包括以下步骤:1)读入并构建路网;将路网数据定义为弧段集和节点集组合,其中每个弧段包含弧段编号、道路名称、进节点编号、出节点编号、路段编号、路段长度、方向编号,每个节点包含节点编号、经纬度、邻接节点编号集和连接弧段编号集;分别读入以上信息,构建路网模型;其中,可以将数据进行如下简化:设每个数据样本用一个n维特征向量来描述n个属性的值,即:X={x1,x2,…,xn},假定有m个类,分别用C1,C2,…,Cm表示。给定一个未知的数据样本X(即没有类标号),方法将未知的样本X分配给类Ci,则一定是P(Ci|X)>P(Cj|X)1≤j≤m,j≠i;由于P(X)对于所有的属性来说,P(X)都是一样的,即是一个常数(已知),所以P(Ci|X)∝P(X|Ci)P(Ci)2)初始化;设t=0,初始化bestLength为一个非常大的数(正无穷),bestTour为空,初始化所有的粒子的Delt矩阵所有元素初始化为0,Tabu表清空,Allowed表中加入所有的GBP数据节点,随机选择它们的起始位置(也可以人工指定),在Tabu中加入起始节点,Allowed中去掉该起始节点;其中,算法粒子中所有粒子的数量为m,所有数据模块之间的信息素用矩阵pheromone表示,最短路径为bestLength,最佳路径为bestTour;每个粒子都有自己的内存,内存中用一个禁忌表(Tabu)来存储该粒子信息已经访问过的内容,表示其在以后的搜索中将不能访问这些内容;一个允许访问的项目表(Allowed)来存储它还可以访问的GBP项目;矩阵(Delta)来存储它在一个循环(或者迭代)中给所经过的路径释放的信息素;还有一些额外数据,例如一些控制参数(α,β,ρ,Q);粒子信息演变完全程的总成本或距离(tourLength);假定算法总共运行MAX_GEN次,运行时间为t;3)为每个粒子选择下一个节点;为每个粒子选择下一个节点,该节点只能从Allowed中以相对概率搜索到,每搜到一个,就将该节点加入到Tabu中,并且从Allowed中删除该节点;该过程重复n-1次,直到所有的GBP数据库都遍历过一次。遍历完所有节点后,将起始节点加入到Tabu中;此时Tabu表元素数量为n+1(n为城市数量),Allowed元素数量为0;计成v不快乐算每个粒子的Delta矩阵值;最后计算最佳路径,比较每个粒子的路径成本,然后和bestLength比较,若它的路径成本比bestLength小,则将该值赋予bestLength,并且将其Tabu赋予BestTour;4)更新信息素矩阵Delta;5)检查终止条件,是否到达MAX_GEN次;6)输出最优值bestlength;其中,具体的初本文档来自技高网
...

【技术保护点】
1.一种基于GBP的ACO方法,其特征在于,包含以下步骤:/n1)读入并构建路网;将路网数据定义为弧段集和节点集组合,其中每个弧段包含弧段编号、道路名称、进节点编号、出节点编号、路段编号、路段长度、方向编号,每个节点包含节点编号、经纬度、邻接节点编号集和连接弧段编号集;分别读入以上信息,构建路网模型;/n2)初始化;设t=0,初始化bestLength为一个非常大的数(正无穷),bestTour为空,初始化所有的粒子的Delt矩阵所有元素初始化为0,Tabu表清空,Allowed表中加入所有的GBP数据节点,随机选择它们的起始位置(也可以人工指定),在Tabu中加入起始节点,Allowed中去掉该起始节点;/n其中,算法粒子中所有粒子的数量为m,所有数据模块之间的信息素用矩阵pheromone表示,最短路径为bestLength,最佳路径为bestTour;每个粒子都有自己的内存,内存中用一个禁忌表(Tabu)来存储该粒子信息已经访问过的内容,表示其在以后的搜索中将不能访问这些内容;一个允许访问的项目表(Allowed)来存储它还可以访问的GBP项目;矩阵(Delta)来存储它在一个循环(或者迭代)中给所经过的路径释放的信息素;还有一些额外数据,例如一些控制参数(α,β,ρ,Q);粒子信息演变完全程的总成本或距离(tourLength);假定算法总共运行MAX_GEN次,运行时间为t;/n3)为每个粒子选择下一个节点;为每个粒子选择下一个节点,该节点只能从Allowed中以相对概率搜索到,每搜到一个,就将该节点加入到Tabu中,并且从Allowed中删除该节点;该过程重复n-1次,直到所有的GBP数据库都遍历过一次。遍历完所有节点后,将起始节点加入到Tabu中;此时Tabu表元素数量为n+1(n为城市数量),Allowed元素数量为0;计成v不快乐算每个粒子的Delta矩阵值;最后计算最佳路径,比较每个粒子的路径成本,然后和bestLength比较,若它的路径成本比bestLength小,则将该值赋予bestLength,并且将其Tabu赋予BestTour;/n4)更新信息素矩阵Delta;/n5)检查终止条件,是否到达MAX_GEN次;/n6)输出最优值bestlength。/n...

【技术特征摘要】
1.一种基于GBP的ACO方法,其特征在于,包含以下步骤:
1)读入并构建路网;将路网数据定义为弧段集和节点集组合,其中每个弧段包含弧段编号、道路名称、进节点编号、出节点编号、路段编号、路段长度、方向编号,每个节点包含节点编号、经纬度、邻接节点编号集和连接弧段编号集;分别读入以上信息,构建路网模型;
2)初始化;设t=0,初始化bestLength为一个非常大的数(正无穷),bestTour为空,初始化所有的粒子的Delt矩阵所有元素初始化为0,Tabu表清空,Allowed表中加入所有的GBP数据节点,随机选择它们的起始位置(也可以人工指定),在Tabu中加入起始节点,Allowed中去掉该起始节点;
其中,算法粒子中所有粒子的数量为m,所有数据模块之间的信息素用矩阵pheromone表示,最短路径为bestLength,最佳路径为bestTour;每个粒子都有自己的内存,内存中用一个禁忌表(Tabu)来存储该粒子信息已经访问过的内容,表示其在以后的搜索中将不能访问这些内容;一个允许访问的项目表(Allowed)来存储它还可以访问的GBP项目;矩阵(Delta)来存储它在一个循环(或者迭代)中给所经过的路径释放的信息素;还有一些额外数据,例如一些控制参数(α,β,ρ,Q);粒子信息演变完全程的总成本或距离(tourLength);假定算法总共运行MAX_GEN次,运行时间为t;
3)为每个粒子选择下一个节点;为每个粒子选择下一个节点,该节点只能从Allowed中以相对概率搜索到,每搜到一个,就将该节点加入到Tabu中,并且从Allowed中删除该节点;该过程重复n-1次,直到所有的GBP数据库都遍历过一次。遍历完所有节点后,将起始节点加入到Tabu中;此时Tabu表元素数量为n+1(n为城市数量),Allowed元素数量为0;计成v不快乐算每个粒子的Delta矩阵值;最后计算最佳路径,比较每个粒子的路径成本,然后和bestLength比较,若它的路径成本比bestLength小,则将该值赋予bestLength,并且将其Tabu赋予BestTour;
4)更新信息素矩阵Delta;
5)检查终止条件,是否到达MAX_GEN次;
6)输出最优值bestlength。


2.根据权利要求1中所...

【专利技术属性】
技术研发人员:吴健王强刘智平
申请(专利权)人:上海解兮生物科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1