基于多头绒泡菌的蚁群信息素更新方法_2

文档序号:9929711阅读:来源:国知局
假设存在一个多头绒泡菌网络与蚁 群行走的道路网络相对应,多头绒泡菌网络中的节点和管道分别对应路网中的城市和道 路,且多头绒泡菌网络的管道中同样流通信息素(见附图2)。尤其是,管道中流通的信息素 量越大,该条管道越宽。优化之处在于:在全局信息素矩阵更新时,不仅考虑路网中妈蚁释 放的信息素,同时添加多头绒泡菌网络中流通的信息素。由于越短的道路,对应多头绒泡菌 网络的管道中流通的信息素量越大,所W在优化算法中该条道路被妈蚁选择行走的概率就 增大。如此通过蚁群和多头绒泡菌的共同作用,蚁群算法探索最优解的能力和收敛速度将 会提升。
【附图说明】
[0038] 图1为本发明基于多头绒泡菌的蚁群信息素更新方法的流程图;
[0039] 图2为本发明基于多头绒泡菌的蚁群信息素更新方法的工作机制图;
[0040] 图3为基于多头绒泡菌数学模型优化蚁群算法解决TSP的框架图;
[0041] 图4(a)、(b)为应用本发明基于多头绒泡菌的蚁群信息素更新方法后的蚁群算法 与传统元启发式算法求解TSP性能对比结果的示图;
[0042] 图5(a)~(d)为应用本发明基于多头绒泡菌的蚁群信息素更新方法后的蚁群算法 与传统元启发式算法求解TSP性能对比结果的另一示图。
【具体实施方式】
[0043] 如图1至5所示,本发明基于多头绒泡菌的蚁群信息素更新方法,具体步骤如下:
[0044] SlOl、初始化各主要参数
[0045] 即根据经验将信息素矩阵的权重a取值为1,将启发式矩阵的权重0取值为2,将信 息素挥发系数P取值为0.8,将每条道路上初始信息素量TO取值为1,将每只妈蚁释放的信息 素量F取值为20,将多头绒泡菌网络中初始信息素量Io也取值为20,将决定e值的参数A取值 为1.05,将妈蚁总数S取值为城市个数,将多头绒泡菌网络中每条管道初始传导性的值Do取 值为1,将数学模型对蚁群算法影响的步数Psteps取值为300,将算法总迭代步数Tsteps取 值为300。
[0046] Sl 02、迭代开始,初始化妈蚁起始位置。
[0047] S103、妈蚁构建回路
[004引首先妈蚁根据道路的信息素含量T和启发式信息Tl决定移动到下一个未经过城市 的概率P,W经典的蚁群系统(Ant Colony System,ACS)为例,妈蚁k在城市i选择未访问城 市j的规则(即概率转移规则)按照如下公式计算:
E 广 A j A 1 (1);
[0050]其中信息素矩阵Tiu表示连接城市i和城市U路径上的信息素浓度,启发式矩阵IUu = IMiu表示从城市i移动到城市U的期望程度,AZf表示位于城市i的妈蚁k可选择的城市集 合,参数Cl和e为常数,分别代表信息素矩阵和启发式矩阵的权重,qo为预定义的常数(qoE [0,1]),〇为每次运算前生成的随机数(〇£[0,1])^表示按如下公式进行概率选择:
[0化1 ]
(2);
[0052] 在移动过程中,每只妈蚁将维护一条已访问城市及访问先后顺序的列表,对于自 己已经访问过的城市将不会再次访问。
[0053] 然后根据具体算法决定是否有局部信息素矩阵更新。如果有,更新方式为:当妈蚁 从一个城市移动到另一个城市时,该路径上的信息素进行挥发,W蚁群系统ACS为例,局部 信息素矩阵TU更新公式为:
[0054] Tij^(l-p) XTij+pXT〇 (3);
[0055] 式(3)中,P代表信息素挥发系数,TO代表每条道路上初始信息素浓度。
[0056] 该步骤S103循环执行,直到所有妈蚁均完成一次回路回到起点。
[0057] S104、比较获得所走路径长度最短妈蚁的回路作为最优回路,其路径长度赋值给 最优解Smin。
[005引其中计算一只妈蚁k所走路径长度Sk的方式如下:假设道路网络为一个完全联通 图,用G=(N,E)表示,其中N={l,2,…,n}代表n个城市集合,E={(i,j)|i,jeN,i辛j}代表 道路集合。两个城市i和j的距离(道路长度)用符号表示,妈蚁k走过的回路用K表示,站计 算公式为:
「mwl (4);
[0060] 式(4)中,Ki代表回路K中的第i个城市,且KiEN。
[0061 ] S105、计算多头绒泡菌网络中各节点压力,具体如下:
[0062]在多头绒泡菌数学模型的一个迭代过程中,每对有管道相连的节点(即城市)均有 一次机会被选为入口 /出口。当被管道m连接的两个节点a和b被选为入口和出口时,可根据 基尔霍夫定律计算每个节点的压力,用公代表节点i的压力,计算方法见如下公式:
[0OA31 (5) ;
[0064] 式(5)中,Du代表管道的传导性,与管道直径成正比,Lu代表管道(i,j)的长度,与 路网中城市i与城市j之间的距离一致,Io代表多头绒泡菌网络中总流量,该Io值在网络演化 过程中始终保持不变。上述公式(5)被循环执行直到每个管道连接的节点均被选为一次入 口 /出口为止。
[0065] S106、计算多头绒泡菌网络中各管道内的流量Qu,具体如下:
(6) ;
[(JUW」巧甲,M代巧步犬级M困FJ絕甲营道总数,它与旅行商问题TSP中的道路总数相 等,Du代表管道的传导性,Lu代表管道的长度,巧m代表当管道m连接的节点被选为入口 /出 口时节点i的压力。
[0068] S107、更新多头绒泡菌网络中各管道传导性,作为下次迭代计算各节点压力的输 入,具体如下:
[0069]
(7);
[0070] 式(7)中,Du代表管道的传导性,Qu代表管道内的流量。
[0071] S108、进行全局信息素矩阵更新。W蚁群系统ACS为例,整合蚁群系统和多头绒泡 菌网络进行全局信息素矩阵更新,具体关系式如下:
[00721
[0073]其中前两项来自蚁群系统ACS,最后一项基于多头绒泡菌数学模型添加。TU代表连 接城市i和城市j路径上的信息素浓度,P代表信息素挥发系数,Qu表示管道内的流量,M代表 多头绒泡菌网络中管道总数,Io代表多头绒泡菌网络中总流量,SglDbal-bast代表全局最优妈 蚁所走回路的长度,参数e代表多头绒泡菌网络中信息素流量对蚁群的影响因子,计算公式 为:
[00741 (9);
[0075] 其中Pst邱S代表数学模型对蚁群算法影响的步数,t代表当前迭代步,A为常量,且 入 £(1,1.2)。
[0076] S109、判断演化迭代是否达到最大迭代次数
[0077] 如果步骤S109的结果为"是",则输出Smin作为算法求得的最优解,流程结束;否则 进入上述步骤S102再次进行迭代。
[0078] 如图3所示,为方便描述,优化后的蚁群算法分别在原算法的基础上添加前缀 'PM-',例如蚁群算法统称为ACO,则优化后的蚁群算法统称为PM-ACO,蚁群系统称为ACS,则 优化后的蚁群系统称为PM-ACS。
[0079] 如图4和5所示,本发明采用从网站TS化IB下载的TSP标准数据集和构建的真实数 据集对传统ACS和优化后的PM-ACS进行性能对比与分析,同时选取了传统的元启发式算法, 例如粒子群算法(Particle Swarm 0ptimization,PS0)、遗传算法(Genetic Algorithm, GA)、人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)进行性能对比。其中性能指 标具体指的是:
[0080] ( 1 )最优解Smin,代表算法求得最优路径长度;
[0081] (2)平均值Saverage和方差Svariance,代表算法经过T次重复计算后,所得最优解的平 均值和方差。例如,Saverage的计算方式3
I示第i次计 算的最优解。
[0082] 如图4所示,比较了 PM-ACS、ACS、PSO和GA在2个标准数据集(图4(a)eil51,图4(b) e i 176 )下求解TSP的 Smin、Saverage和Svariance结果比较。结果显示,PM-ACS的 Smin和Saverage在4个 算法中最小,说明PM
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1