人工鱼群算法是一种经典的启发式仿生算法,文章从人工鱼群算法的内部协同性出发,将自反馈模糊控制邻域结构与超立方体顶点搜索相结合应用到人工鱼群,提出基于拓扑结构改进的人工鱼群算法(TAFSA)。对高维以及多极值非线性函数的寻优问题,实验仿真结果表明,该算法具有易定位全局最优值,后期收敛速度快等优点。
人工鱼群算法(AFSA) [1]作为一种典型的启发式仿生算法自李晓磊等人在 2002 年首次提出以来, 以良好的鲁棒性、获取全局最优值的能力、算法设计简单等优点得到了国内外学者的广泛关注,对该算法的研究已经渗透到工程设计、网络优化、电力系统等多个领域[2]。然而随着优化问题应用范围的扩大, 基本的AFSA 在应用中也存在难定位到最优值、精度不高、后期收敛速度慢等缺点[3] [4]。从目前对人工鱼群算法的研究来看,对该算法的改进主要有两个方向:一部分研究者对人工鱼群算法的视野参数、搜索方式及各种行为进行调整[5]-[7];另一部分研究者将人工鱼群算法与其它传统或智能算法相结合, 以突破其自身局限,从而提出改进的人工鱼群算法[8]-[11]。然而当AFSA 应用到高维复杂函数或多极值非线性函数优化时,会出现难以定位全局最优值、优化精度低,后期收敛速度慢,甚至对某些函数无法进行优化[12]等问题。为了使基本AFSA 有效地在高维以及多极值非线性函数上应用,提高搜索效率和精度, 本文根据鱼群算法自身结构内部特点提出了一种基于拓扑结构改进的人工鱼群算法(TAFSA)。数值实验结果表明,基于拓扑结构改进的人工鱼群算法对于很多种非线性多极值以及高维函数具有易定位全局最优值、后期收敛速度快等优点。
2. 基本概念 2.1. 基本人工鱼群算法的相关概念及思想阐述 鱼往往能在一片水域中自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是此水域中营养物质最多的地方[13]。人工鱼群算法就是根据这一特点,模仿鱼群的觅食、聚群、追尾及随机行为,从而实现寻找最优值。典型的鱼群行为方式以及状态记录方式如下: 1) 觅食行为:随机自由移动的鱼当发现食物时会向着食物逐渐增多的方向快速游去; 2) 聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然的聚集成群; 3) 追尾行为:当人工鱼发现食物时,其临近的伙伴会尾随其快速到达食物存在地; 4) 公告板:用来记录历史最优鱼个体的状态。
鉴于以上描述的人工鱼群模型及其行为模型,每个人工鱼探索它当前所处的环境状况,从而选择一种行为,最终人工鱼集结在几个局部极值的周围,这时极值区域以及拥有极值的人工鱼相互影响从而可以确定全局最优值的范围。
研究表明,社会的结构形式在很大程度上影响其内部组织的信息交换方式,并将影响最终所表现出的各种性能[14]。鱼群也存在结构问题,因此在鱼群的觅食、群聚、追尾等行为上提出利用种群以及邻域