人工鱼群算法是一种经典的启发式仿生算法,文章从人工鱼群算法的内部协同性出发,将自反馈模糊控制邻域结构与超立方体顶点搜索相结合应用到人工鱼群,提出基于拓扑结构改进的人工鱼群算法(TAFSA)。对高维以及多极值非线性函数的寻优问题,实验仿真结果表明,该算法具有易定位全局最优值,后期收敛速度快等优点。 Artificial fish algorithm is a kind of classic heuristic bionic algorithm. This paper starts from the internal collaborative of artificial fish algorithm, and the feedback fuzzy control neighborhood structure combined with super cube vertices searching to the artificial group is applied, then the improved artificial fish algorithm based on the topological structure (TAFSA) is proposed. For high-dimensional and more extreme nonlinear function optimization problems, the experimental simulation results show that the algorithm is easy to locate the global optimal value and has the fast convergence speed.
鲍丽山1,楚建浦2,梁秋霞2
1江苏省电力公司信息通信分公司,江苏 南京
2重庆大学数学与统计学院,重庆
收稿日期:2016年2月21日;录用日期:2016年3月14日;发布日期:2016年3月17日
人工鱼群算法是一种经典的启发式仿生算法,文章从人工鱼群算法的内部协同性出发,将自反馈模糊控制邻域结构与超立方体顶点搜索相结合应用到人工鱼群,提出基于拓扑结构改进的人工鱼群算法(TAFSA)。对高维以及多极值非线性函数的寻优问题,实验仿真结果表明,该算法具有易定位全局最优值,后期收敛速度快等优点。
关键词 :人工鱼群算法,拓扑结构,模糊控制,超立方体顶点搜索
人工鱼群算法(AFSA) [
鱼往往能在一片水域中自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是此水域中营养物质最多的地方 [
1) 觅食行为:随机自由移动的鱼当发现食物时会向着食物逐渐增多的方向快速游去;
2) 聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然的聚集成群;
3) 追尾行为:当人工鱼发现食物时,其临近的伙伴会尾随其快速到达食物存在地;
4) 公告板:用来记录历史最优鱼个体的状态。
鉴于以上描述的人工鱼群模型及其行为模型,每个人工鱼探索它当前所处的环境状况,从而选择一种行为,最终人工鱼集结在几个局部极值的周围,这时极值区域以及拥有极值的人工鱼相互影响从而可以确定全局最优值的范围。
研究表明,社会的结构形式在很大程度上影响其内部组织的信息交换方式,并将影响最终所表现出的各种性能 [
种群结构 [
在全局模型中,拓扑结构作为大致方向,而信息流动配合拓扑结构,两者相互作用,每条人工鱼的最优解信息传递给其他每条人工鱼,每条人工鱼再比较所有人工鱼最优解从而得到整个种群的最优解信息,然后种群最优解的信息引导自己的搜索方向。
在基于拓扑结构改进的人工鱼群算法中将当前公告板最优鱼的状态为定义为G_best,其对应的值为Gbest,前一次公告板最优鱼的值为Pbest。
改进觅食行为:
本文引入超立方顶点搜索技术,设人工鱼当前状态为
改进群聚行为:
设人工鱼当前状态为
改进追尾行为:
设人工鱼当前状态为
自反馈模糊控制:
根据迭代前期、中期、后期的不同特点,前期需要较强的局部遍历性
Step 1:在搜索域内随机的产生N个人工鱼个体,组成初始群体。
Step 2:计算人工鱼所在状态的食物浓度,选择适应度最大的人工鱼个体位置(本文即函数值最小)记录到公告板内。
Step 3:各人工鱼分别执行改进的群聚行为、追尾行为、觅食行为然后选择最优的行为作为实际执行行为,并与公告板记录进行比较,若优于记录,则以替换公告板记录,若迭代次数小于总次数执行Step 4,否则停止输出公告板的最优值。
Step 4:用Gbest和Pbest参数更新
算法性能的测试通常利用一些标准测试函数进行实验,然后比较算法的一些指标。为了测试本算法的有效性 [
为了测试算法的优化性能、排除数据的随机干扰性,在同一条件下,算法进行了20次独立重复实验,并设计下列3个测试指标 [
1) 成功率Rsuc表示多次运行中以规定精度找到理论最优解的百分率。
2) 最优值均值Fave表示多次运行所找到的最优值的平均值。
3) 最优值Fval表示多次运行所找到的最优值。
这些指标主要从算法寻找全局最优值的性能、所找到最优值的质量以及算法所付出的代价三个方面考察算法的优化性能。所找到的最优值的平均值越小,成功率越高,说明算法全局寻优性能越好。找到最优解的精度高,说明寻优效率越高。
本文采用AFSA与 TAFSA 进行实验比较,其参数设置 [
利用自反馈模糊控制邻域结构与超立方体顶点搜索相结合,从内部拓扑结构对基本人工鱼群算法进行改进。实验结果表明,改进的算法(TAFSA)提高了自适应能力和遍历性,且对于高维或者多极值非线性函数定位全局最优值较容易即成功率较高,后期收敛速度也相对较快。
人工鱼群算法是一种新型启发式仿真算法,根据基本人工鱼群算法在高维多级值非线性函数收敛困
变量维数 | 算法种类 | Fval | Fave | Rsuc |
---|---|---|---|---|
2维 | AFSA | 0.0045 | 0.0055 | 46.5% |
0.0065 | 0.54 | |||
TAFSA | 0 | 0 | 100% | |
0 | ||||
5维 | AFSA | 0.007896 | 0.000687 | 55% |
0.000235 | ||||
TAFSA | 7.59102e−011 | 8.43356e−009 | 100% | |
7.64776e−008 | ||||
10维 | AFSA | 0.0874085 | 0.007873 | 31.5% |
0.006984 | ||||
TAFSA | 9.22223e−007 | 1.98143e-005 | 100100% | |
1.82265e−004 |
表1. Rosenbroek函数测试结果
变量维数 | 算法种类 | Fval | Fave | Rsuc | |
---|---|---|---|---|---|
2维 | AFSA | 0.0245 | 0.0542 | 75% | |
0.0982 | |||||
TAFSA | 0.0025 | 0.0054 | 90% | ||
0.0098 | |||||
5维 | AFSA | 0.1032 | 0.0894 | 43% | |
0.0689 | |||||
TAFSA | 0.0025 | 0.0597 | 95% | ||
0.1198 | |||||
10维 | AFSA | 0.1124 | 0.1022 | 35% | |
0.0979 | |||||
TAFSA | 0.0099 | 0.0584 | 1 90%09090 | ||
0.1180 | |||||
表2. Rastrigin函数测试结果
变量维数 | 算法种类 | Fval | Fave | Rsuc |
---|---|---|---|---|
2维 | AFSA | 1.9154e−004 | 4.7122e−004 | 100% |
7.5375e−004 | ||||
TAFSA | 3.5749e−012 | 8.43356e−009 | 100% | |
4.9310e−009 | ||||
5维 | AFSA | 0.0092 | 0.3499 | 50% |
0.8798 | ||||
TAFSA | 5.7712e−006 | 2.8937e−005 | 100% | |
9.0025e−005 | ||||
10维 | AFSA | 3.7914 | 4.7920 | 0 |
5.5712 | ||||
TAFSA | 1.2933e−004 | 5.8712e−004 | 95% | |
0.0011 |
表3. Ackley函数测试结果
难等缺点,本文从人工鱼群算法内部拓扑结构出发,提出了基于拓扑结构的人工鱼群算法。实验结果表明:基于拓扑结构的人工鱼群算法针对高维空间以及多极值非线性函数的全局最优值的求解具有较好的
效果,算法的搜索速度较快。但算法的参数选取需靠经验,算法收敛性的理论证明也还需要进一步研究。
鲍丽山,楚建浦,梁秋霞. 基于拓扑结构改进的人工鱼群算法Artificial Fish Swarm Algorithm Based on Improved Topological Structure[J]. 计算机科学与应用, 2016, 06(03): 137-142. http://dx.doi.org/10.12677/CSA.2016.63018