Computer Science and Application
Vol.06 No.03(2016), Article ID:17147,6 pages
10.12677/CSA.2016.63018

Artificial Fish Swarm Algorithm Based on Improved Topological Structure

Lishan Bao1, Jianpu Chu2, Qiuxia Liang2

1Information and Communication Division of Jiangsu Province Electric Power Company, Nanjing Jiangsu

2College of Mathematics and Physics, Chongqing University, Chongqing

Received: Feb. 21st, 2016; accepted: Mar. 14th, 2016; published: Mar. 17th, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

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.

Keywords:Artificial Fish Swarm Algorithm, Topological Structure, Fuzzy Control, Super Cube Vertex Search

基于拓扑结构改进的人工鱼群算法

鲍丽山1,楚建浦2,梁秋霞2

1江苏省电力公司信息通信分公司,江苏 南京

2重庆大学数学与统计学院,重庆

收稿日期:2016年2月21日;录用日期:2016年3月14日;发布日期:2016年3月17日

摘 要

人工鱼群算法是一种经典的启发式仿生算法,文章从人工鱼群算法的内部协同性出发,将自反馈模糊控制邻域结构与超立方体顶点搜索相结合应用到人工鱼群,提出基于拓扑结构改进的人工鱼群算法(TAFSA)。对高维以及多极值非线性函数的寻优问题,实验仿真结果表明,该算法具有易定位全局最优值,后期收敛速度快等优点。

关键词 :人工鱼群算法,拓扑结构,模糊控制,超立方体顶点搜索

1. 引言

人工鱼群算法(AFSA) [1] 作为一种典型的启发式仿生算法自李晓磊等人在 2002 年首次提出以来,以良好的鲁棒性、获取全局最优值的能力、算法设计简单等优点得到了国内外学者的广泛关注,对该算法的研究已经渗透到工程设计、网络优化、电力系统等多个领域 [2] 。然而随着优化问题应用范围的扩大,基本的AFSA在应用中也存在难定位到最优值、精度不高、后期收敛速度慢等缺点 [3] [4] 。从目前对人工鱼群算法的研究来看,对该算法的改进主要有两个方向:一部分研究者对人工鱼群算法的视野参数、搜索方式及各种行为进行调整 [5] - [7] ;另一部分研究者将人工鱼群算法与其它传统或智能算法相结合,以突破其自身局限,从而提出改进的人工鱼群算法 [8] - [11] 。然而当AFSA应用到高维复杂函数或多极值非线性函数优化时,会出现难以定位全局最优值、优化精度低,后期收敛速度慢,甚至对某些函数无法进行优化 [12] 等问题。为了使基本AFSA有效地在高维以及多极值非线性函数上应用,提高搜索效率和精度,本文根据鱼群算法自身结构内部特点提出了一种基于拓扑结构改进的人工鱼群算法(TAFSA)。数值实验结果表明,基于拓扑结构改进的人工鱼群算法对于很多种非线性多极值以及高维函数具有易定位全局最优值、后期收敛速度快等优点。

2. 基本概念

2.1. 基本人工鱼群算法的相关概念及思想阐述

鱼往往能在一片水域中自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是此水域中营养物质最多的地方 [13] 。人工鱼群算法就是根据这一特点,模仿鱼群的觅食、聚群、追尾及随机行为,从而实现寻找最优值。典型的鱼群行为方式以及状态记录方式如下:

1) 觅食行为:随机自由移动的鱼当发现食物时会向着食物逐渐增多的方向快速游去;

2) 聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然的聚集成群;

3) 追尾行为:当人工鱼发现食物时,其临近的伙伴会尾随其快速到达食物存在地;

4) 公告板:用来记录历史最优鱼个体的状态。

鉴于以上描述的人工鱼群模型及其行为模型,每个人工鱼探索它当前所处的环境状况,从而选择一种行为,最终人工鱼集结在几个局部极值的周围,这时极值区域以及拥有极值的人工鱼相互影响从而可以确定全局最优值的范围。

研究表明,社会的结构形式在很大程度上影响其内部组织的信息交换方式,并将影响最终所表现出的各种性能 [14] 。鱼群也存在结构问题,因此在鱼群的觅食、群聚、追尾等行为上提出利用种群以及邻域拓扑结构进行处理会影响鱼群内部组织的通讯方式,而本文根据算法迭代前期、中期、后期的不同特点,引入自反馈模糊控制进一步实现算法的智能化。

2.2. 相关符号定义

表示人工鱼的状态;目标函数值表示人工鱼当前的食物浓度;表示的之间距离;Trynumber表示人工鱼每次最大尝试次数;Visual为人工鱼的可视距离;Step表示的移动步长;N表示人工鱼的规模;为当前人工鱼与邻居的最大链接数。

2.3. 种群结构以及邻域拓扑结构

种群结构 [14] 是指整个鱼群之间的连接方式,而邻域拓扑结构是指单个人工鱼与其他人工鱼相连的方式,局部邻域是种群拓扑结构中的部分区域,信息是指人工鱼中的最优值。拓扑结构引导了信息在整个种群间的大致流动方式,而信息流动方式起着具体深入控制算法探测和开发能力的作用。

在全局模型中,拓扑结构作为大致方向,而信息流动配合拓扑结构,两者相互作用,每条人工鱼的最优解信息传递给其他每条人工鱼,每条人工鱼再比较所有人工鱼最优解从而得到整个种群的最优解信息,然后种群最优解的信息引导自己的搜索方向。

3. 基于拓扑结构改进的人工鱼群算法

3.1. TAFSA算法说明

在基于拓扑结构改进的人工鱼群算法中将当前公告板最优鱼的状态为定义为G_best,其对应的值为Gbest,前一次公告板最优鱼的值为Pbest。

改进觅食行为:

本文引入超立方顶点搜索技术,设人工鱼当前状态为,则可搜索的状态

,若优于则移动到位置,否则试探Trynumber次后,在步长范围内随机移动一步。

改进群聚行为:

设人工鱼当前状态为,将其他人工鱼与的距离排序,选取最临近的个邻居中优于的位置,计算其中心位置和人工鱼个数,若,则移动到,否则执行觅食。

改进追尾行为:

设人工鱼当前状态为,将其他人工鱼与的距离排序,选取最临近的个邻域中最优的位置记为,若,则移动到,否则执行觅食。

自反馈模糊控制:

根据迭代前期、中期、后期的不同特点,前期需要较强的局部遍历性偏小,后期需要较强的全局收敛性偏大。设为评估迭代一次的效果,当接近于0时,说明这时共享信息无用,适当减小可以减缓鱼群信息共享速率提高人工鱼的局部探索能力,当大于0但小于固定的数(例如小于0.2)时,说明这时共享信息起作用,适当增加可以加速鱼群信息共享速率从而提高收敛速度。

3.2. 算法流程

Step 1:在搜索域内随机的产生N个人工鱼个体,组成初始群体。

Step 2:计算人工鱼所在状态的食物浓度,选择适应度最大的人工鱼个体位置(本文即函数值最小)记录到公告板内。

Step 3:各人工鱼分别执行改进的群聚行为、追尾行为、觅食行为然后选择最优的行为作为实际执行行为,并与公告板记录进行比较,若优于记录,则以替换公告板记录,若迭代次数小于总次数执行Step 4,否则停止输出公告板的最优值。

Step 4:用Gbest和Pbest参数更新参数,执行Step 3。

4. 实验仿真

4.1. 测试函数与度量标准

算法性能的测试通常利用一些标准测试函数进行实验,然后比较算法的一些指标。为了测试本算法的有效性 [12] ,本文对文献中常出现的三个函数 [7] ,进行了算法性能测试,这三个函数是边界约束的非线性优化的多峰函数,在定义域范围内有多个局部最小点,只有一个全局最小点,它为,该处达到全局最小值0。具体函数如下所示:

:Rastrigin函数

:Girewank函数

:Ackley函数

为了测试算法的优化性能、排除数据的随机干扰性,在同一条件下,算法进行了20次独立重复实验,并设计下列3个测试指标 [11] 进行统计分析:

1) 成功率Rsuc表示多次运行中以规定精度找到理论最优解的百分率。

2) 最优值均值Fave表示多次运行所找到的最优值的平均值。

3) 最优值Fval表示多次运行所找到的最优值。

这些指标主要从算法寻找全局最优值的性能、所找到最优值的质量以及算法所付出的代价三个方面考察算法的优化性能。所找到的最优值的平均值越小,成功率越高,说明算法全局寻优性能越好。找到最优解的精度高,说明寻优效率越高。

4.2. 实验参数设置

本文采用AFSA与 TAFSA 进行实验比较,其参数设置 [15] 如下:人工鱼总数为20条,迭代次数是100,Try_number是10,Visual及Step视函数而定。为了下文实验结果表示得简洁和有效,本文采用简单的英文字母来表示不同的算法评价参数。

4.3. 实验测试结果(表1~表3)与分析

利用自反馈模糊控制邻域结构与超立方体顶点搜索相结合,从内部拓扑结构对基本人工鱼群算法进行改进。实验结果表明,改进的算法(TAFSA)提高了自适应能力和遍历性,且对于高维或者多极值非线性函数定位全局最优值较容易即成功率较高,后期收敛速度也相对较快。

5. 结束语

人工鱼群算法是一种新型启发式仿真算法,根据基本人工鱼群算法在高维多级值非线性函数收敛困

Table 1. The test results of the Rosenbrock function

表1. Rosenbroek函数测试结果

Table 2. The test results of the Rastrigin function

表2. Rastrigin函数测试结果

Table 3. The test results of the Ackley function

表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

参考文献 (References)

  1. 1. 李晓磊. 一种新型的智能优化方法——人工鱼群算法[D]: [博士学位论文]. 杭州: 浙江大学, 2003.

  2. 2. 李晓磊, 邵之江, 钱积新. 一种基于动物自治体的寻优模式: 鱼群算法[J]. 系统工程理论与实践, 2002, 22(11): 32-38.

  3. 3. 曲良东, 何登旭. 基于单纯形法的双群人工鱼群算法[J]. 计算机应用, 2008, 28(8): 2103-2104.

  4. 4. 刘凌子, 周永权. 一种基于人工鱼群和文化算法的新型混合全局优化算法[J]. 计算机应用研究, 2009, 26(12): 4446-4448.

  5. 5. 王联国. 人工鱼群算法及其应用研究[D]: [博士学位论文]. 兰州: 兰州理工大学, 2009.

  6. 6. Xiao, J.M., Zheng, X.M., Wang, X.H. and Huang, Y.F. (2006) A Modified Artificial Fish-Swarm Algo-rithm. Proceedings of the World Congress on Intelligent Control and Automation (WCICA), Dalian, 21-23 June 2006, 3456-3460.

  7. 7. Wang, C.R., Zhou, C.L. and Ma, J.W. (2005) An Improved Artificial Fish-Swarm Algorithm and Its Application in Feed-Forward Neural Networks.

  8. 8. Zhang, M.F. and Shao, C. (2008) Niche Artificial Fish Swarm Algorithm for Multimodal Function Optimization. Control Theory and Applications, 4, 773-776.

  9. 9. 高德芳, 赵勇, 郭杨, 赵海涛. 基于混合鱼群—蚁群算法的模块化产品配置设计[J]. 设计与研究, 2007, 34(1): 7- 10.

  10. 10. 黄光球, 王西邓, 刘冠. 基于网格划分策略的改进人工鱼群算法[J]. 微电子学与计算机, 2007, 24(7): 83-90.

  11. 11. Song, Z.Y., Li, J.J. and Wang, H.Y. (2007) Inverse Research for Gravity Dam Parameters Based on Chaos Artificial Fish Swarm Algorithm. Rock and Soil Mechanics, 28, 2193-2196.

  12. 12. 刘彦君, 江铭炎. 自适应视野和步长的改进人工鱼群算法[J]. 计算机工程与应用, 2009, 45(25): 35-37.

  13. 13. 王翠茹, 周春雷. 基于人工鱼群算法的0•1背包问题的优化算法及其改进[C]. 保定. 2005年中国模糊逻辑与计算智能联合学术会议论文集, 2005.

  14. 14. 成飙. 两种随机优化算法的改进及其化工应用研究[D]: [博士学位论文]. 杭州: 浙江大学, 2007.

  15. 15. 杨咚咚, 马晶晶, 焦李成, 公茂果, 司晓云. 一种改进ε支配的等度规映射方法[J]. 软件学报, 2011, 22(10): 2291- 2304.

期刊菜单