APP下载

一种新的改进人工鱼群算法

2017-12-12

关键词:条鱼鱼群极值

王 扉



一种新的改进人工鱼群算法

王 扉

(湖南城市学院理学院,湖南 益阳 413000)

人工鱼群算法是李晓磊等人于2002年提出的一种新型群智算法,该算法源于鱼群活动行为的研究,具备较好的全局寻优能力﹒本文基于基本人工鱼群算法,提出一种步长和视野自适应调整的新方法,新方法在提高个体优化的效率的同时兼顾了群体优化的性能﹒数值实验表明新算法提高了全局收敛的成功率,也有效地提高了最优解的精度﹒

全局最优化;智能算法;人工鱼群算法;自适应步长

最优化问题是生产实践和社会管理中常见的问题,其数学模型为

人工鱼群算法(Artificial Fish Swarm Algorithm,简称AFSA)是一种群智算法,由李晓磊于2002年首次提出[1],随后受到人们的广泛关注,算法不断被改进,并用来解决实际工程优化问题﹒关于人工鱼群算法的发展和相关文献的最新综述,可参见江铭炎的专著[2]和Neshat M等的有关评论[3]﹒文献[4]介绍了一种增广Lagrangian鱼群算法求解式(1)的全局最优解﹒本文主要研究鱼群算法的改进,并且对有界的无约束优化问题的求解进行了数值实验,所提出的改进策略结合文献[4]中所提出的Lagrangian鱼群算法技术可推广到求解一般约束优化问题的全局最优解﹒

人工鱼群算法不需要了解问题的特殊信息,只需要对方案进行优劣比较,并且有较快的收敛速度﹒每条人工鱼都探索它当前所处的环境(包括目标函数的变化情况和伙伴的变化情况),从而选择一种行为,最终人工鱼集结在几个局部极值的周围﹒

人工鱼算法采用面向对象的技术,将人工鱼(Artificial Fish,简称AF)封装成变量和函数两部分﹒变量部分包括:人工鱼个体的状态、人工鱼移动的最大步长、人工鱼的视野、尝试次数、拥挤度、人工鱼之间的距离等﹒函数部分包括:食物浓度、人工鱼的行为函数(觅食行为、聚群行为、追尾行为、随机行为)和行为评价函数﹒

人工鱼群算法的一般步骤如下[5]:

(1)初始化设置;

(2)计算每条鱼的适应度,并记录全局最优的鱼的状态;

(3)对每条鱼评价,对其4种行为进行选择;

(4)对每条鱼执行选择行为,更新状态信息;

(5)更新全局最优的鱼的状态;

(6)满足中止条件则输出结果,否则转步(2).

人工鱼在执行不同行为时采用不同方式选择目标点,但是都是沿着某方向移动,即

本文拟提出一种新的自适应全局人工鱼群算法,通过采用一种跃迁方式和变视野的搜索策略,以此来提高收敛速度和全局最优解的近似精度﹒

1 一种新的步长和视野更新策略

为保障人工鱼跳出局部极值范围,并达到全局极值,有必要扩大人工鱼的视野﹒而当人工鱼进入目标函数变化剧烈的区域时,有必要仔细地探索该区域,从而需要缩小人工鱼的视野﹒据笔者所知还无人发表关于人工鱼视野的调节策略﹒

综上所述,我们提出一个新的人工鱼群算法,其一般步骤如下:

(1)人工鱼群的初始化设置;

(2)计算每条鱼的适应度,并记录全局最优的鱼的状态;

(3)对每条鱼按式(2)和式(4)分别计算其4种行为,并进行评价;

(4)对每条鱼执行所选择行为,更新其状态信息,按式(7)调整其视野;

(5)更新全局最优的鱼的状态;

(6)满足中止条件则输出结果,否则转步(2).

2 数值实验

为了验证本文所提出的新算法的可行性和效率,与文献[5]所提出的2种算法作了实验对比﹒4个相互比较的算法策略如下:

Basic:采用随机步长,即式(2);

Global:采用全局信息修正步长,即式(3);

MAFSA:本文所提出的算法,即式(2)~(7);

GAFSA:是MAFSA的改进算法,允许了人工鱼随机重生,并采用了虚拟人工鱼的全局优化策略﹒

GAFSA算法中所采用的重生机制是当某人工鱼执行完觅食、聚群和追尾后,若前后两次位置的跨度小于解域半径并且其在最优解域之外,则让该人工鱼在其视野之外重生﹒

实验选取了几个典型全局优化测试函数,具体如下:

表1 4种算法实验结果的比较

实验结果表明,对于问题P1,4种算法收敛成功率均为100%,4种算法的平均迭代次数相差不大﹒对于问题P2,GAFSA算法的成功率为100%,而其他3种算法的失败率很高﹒对于问题P3,MAFSA和GAFSA算法收敛成功率为100%,并且平均迭代次数较文献[5]中所提出的2种算法要少很多﹒对于问题P4,GAFSA和MAFSA算法成功率要明显高于文献[5]中所提出的算法﹒

问题P2的区域4角为局部极值点,区域中心为全局极值点,MAFSA算法中变视野策略失效,而GAFSA算法中允许人工鱼随机重生,可以增大鱼群总数,增加了搜索到全局极值点的机会﹒

GAFSA算法中人工鱼追尾、聚群和觅食行为中偏向最优人工鱼的策略表现出效果一般﹒该策略有利有弊,好的方面是加快了整个鱼群向当前最优人工鱼靠近,坏的方面是当前最优人工鱼并不一定是距全局最优点最近的,过早的收敛容易陷入局部极值的某邻域,增加了跳出该区域的工作量﹒

总体来说,实验结果表明本文所提出的新算法有效,其表现较文献[5]中所提出的算法要好﹒

3 结论

本算法的基本思想是在执行觅食、聚群和追尾行为时,允许人工鱼跳跃到好的视点,通过一个步长修正因子来提高算法收敛的速度和精度,而视野的调节有利于算法收敛到全局最优点﹒算法不足之处有2点,一是人工鱼的跳跃使区域的探索不均匀;二是依靠重生虽然激活了陷于一处的人工鱼,但也增加了迭代次数和计算量﹒

[1]李晓磊, 钱积新. 人工鱼群算法: 自下而上的寻优模式[C]. 过程系统工程2001年会论文集, 北京: 中国石化出版社, 2001.

[2]江铭炎, 袁东风. 人工鱼群算法及其应用[M]. 北京: 科学出版社, 2011.

[3]NESHAT M, SEPIDNAM G, SARGOLZAEI M, et al. Artificial fish swarm algorithm: a survey of the state-of-the-art, hybridization, combinatorial and indicative applications[J]. Artificial Intelligence Review, 2014, 42(4): 965-997.

[4]ROCHA A M A C, MARTINS T F M C, FERNANDES E M G P. An augmented lagrangian fish swarm based method for global optimization[J]. Journal of Computational & Applied Mathe- matics, 2011, 235(16): 4611-4620.

[5]李晓磊. 一种新型的智能优化方法-人工鱼群算法[D]. 杭州:浙江大学, 2003.

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

(责任编校:龚伦峰)

A New Improved Artificial Fish Swarm Algorithm

WANG Fei

(College of Science, Hunan City University, Yiyang, Hunan 413000, China)

The artificial fish swarm algorithm proposed by Li Xiaolei et al in 2002 is a new swarm intelligent algorithm. The algorithm is derived from the study of the behavior of fishes, which has better global optimization ability. Based on the basic artificial fish swarm algorithm, a new method of adaptive adjustment of step size and visual field is presented. The new method not only improves the efficiency of individual optimization, but also takes the performance of group optimization into account. Numerical experiments show that the new algorithm improves the success rate of global convergence and improves the accuracy of the optimal solution.

global optimization; intelligence algorithm; artificial fish swarm algorithm; adaptive step-size

TP18;O229

A

10.3969/j.issn.1672-7304.2017.04.0011

1672–7304(2017)04–0052–04

2017-06-16

王扉(1971- ),男,湖南益阳人,讲师,博士,主要从事最优化理论与方法的研究﹒E-mail: mafwang@126.com

猜你喜欢

条鱼鱼群极值
极值点带你去“漂移”
极值点偏移拦路,三法可取
极值点偏移问题的解法
一类“极值点偏移”问题的解法与反思
人工鱼群算法在雷达探测器射频端电路设计中的应用
我们的祖先是条鱼
鱼群漩涡
朱梦琪??《鱼群》
分鱼
不放刺