遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法

1、遗传算法

遗传算法(Genetic Algorithms,GA)是受到进化理论启示所发展的可计算模型之一,是一种借鉴生物界的进化规律发展而来的“生存+检测”的迭代过程的全局搜索算法。其基本原理是把问题的解表示成染色体,通过选择、交叉、变异等操作产生下一代的染色体,并逐步淘汰适应度函数值低的染色体,增加适应度函数高的染色体,经过 n次迭代后,最终生成适应度函数值很高的染色体。遗传算法的三个基本操作如下:
1)选择算子。选择的目的是把适应度高的个体,直接遗传或配对交叉使之有机会成为父代种群,使用选择算子对群体中的个体进行优劣淘汰操作。
2)交叉算子。交叉算子是遗传算法的关键步骤,将种群中各个个体随机配对,每一个体以交叉概率(Crossover Rate)来交换它们之间部分染色体,体现了信息交换的思想。
3)变异算子。在群体中随机选择一个个体,以较小的概率对其基因座上的基因值进行改变,模拟生物进化的偶然事件。

2、蚁群优化算法

蚁群优化(Ant Colony Optimization,ACO)算法是通过模拟蚁群的协作觅食过程的计算算法,是一种基于种群寻优的启发式搜索算法。其基本原理为:用蚂蚁觅食路径表征待优化问题的可行解,所有蚂蚁行走的路径构成优化问题的解空间,较短路径上蚂蚁释放的信
息素量较多,蚂蚁优先选择信息素浓度大的路径作为最优路径,并释放信息素,最终选择这条路径的蚂蚁数量越来越多,在正反馈作用的机制下集中到最佳路径上,此时对应的便是待优化问题的最优解。设存在 n座城市,m只蚂蚁,dij(i,j =1,2,…,n)为城市i,j的间距,τij( t )为 t时刻在城市 i,j路线上的信息素浓度,k为蚂蚁根据信息素浓度选择的路径,pkij( t )表示t时刻蚂蚁k在i城市走向j城市的概率,公式如下:
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
其中:Jk( i )=[ ]1,2,…,n - 1 -tabuk,表示蚂蚁 k待转移城市的集合,当蚂蚁k走完所有的路径就是一个可行解
蚁群算法搜索过程采用分布式计算方式,多个个体同时进行计算,加快了算法计算能力和效率,采用正反馈机制,搜索过程逐步收敛,最终逼近最优解。将遗传算法引入蚁群算法系统,每一代形成的解作为初始种群,反复迭代,得到p,α,β的最优组合,加快蚁群算法的收敛速度。

3、GA⁃ACO⁃BP算法

(BP Neural Network Multisensor Data Fusion Algorithm Optimized by Genetic Algorithm and Ant Colony Optimization)
实现流程
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法

1)确定BP神经网络结构,初始化设置,包括输入层⁃隐含层的权值ωij,隐含层阈值αj,隐含层⁃输出层的权值ωjk,输出层阈值 βq,记所有参数为 q1,q2,…,qn,形成一个随机可取任一一个不为零的元素集合 Ini,初始信息素πj( Ini) ( t )= c, 1≤ j ≤ n,蚂蚁数量S,目标函数误差Eo等。
2)对蚁群中的 S只蚂蚁进行搜索,按式(3)的概率公式随机在集合中选择一条路径,当全部的蚂蚁都到达目标源为止。蚂蚁α ( α = 1,2,…,S )在Ini中选择j元素的概率为:
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
3)构造解空间,更新信息素。从蚁群规模 S 中随机挑选 h 数量个体,h = [ r ⋅ S ],r为动态变化选取率;选择群体中信息素浓度最大的个体 MAX ( πj( Ini) )为最优解 ,蚂 蚁 i 下 次 行 走 路 径 为 i = (1- λ) πi( Ini)+λMAX ( πj( Ini) ),得出当前迭代最优解 πj( Ini)best,在蚂蚁 i领域局部搜索,寻优规则表达式如下:
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
4)对蚁群进行交叉、变异算法操作。交叉算法中选择通用性强的单点交叉(one⁃point crossover)算子,在序列中随机选择一个交叉点,以这个交叉点为界限,将两个个体染色体结构交叉互换,产生两个新的序列。采用符合高斯算法的正态随机数均值 μ、方差 σ的正态分布以较小概率改变基因座上的基因值进行变异运算,变异运算主体包括两个元素( x,σ ),x 为蚁群下一路径节点,生成新个体表达式为:
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
式中:N ( 0,Δσ′)的均值为0,方差为σ。根据适应度函数 F - FMeasure计算个体适应度,计算每只蚂蚁搜索路径值和时间,判断是否满足当前最优解,若是最优解转入步骤5),否则转入步骤3)。
5)将蚁群算法的寻优结果发送至 BP神经网络,计算期望结果与预测结果的误差e。
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
5)按式子11~14更新权值和阈值
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
遗传算法、蚁群优化算法、GA⁃ACO⁃BP算法
7)若输出结果的精度满足要求,算法结束,输出最优解,否则转入步骤5)。