改进的人工鱼群算法(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

改进的人工鱼群算法
江铭炎、袁东风、程永明著
山东大学信息科学与工程学院
Email:jiangmingyan@
摘要:
人工鱼群算法(AFSA)是一种新型的智能优化算法。

它有许多优点,比如鲁棒性好、全局搜索能力强、参数公差的设定,而且它也被证明对初始值不敏感。

然而,它有一些弱点,表现为在后期优化的优化精度和收敛速度比较差。

在本文中,提出了一种改进AFSA(IAFSA),在更新的过程中它将全局信息添加到人工鱼的位置。

这实验结果表明,该优化精度和收敛速度的方法与原AFSA相比有明显地改善。

1.简介
人工鱼群算法(AFSA)[1]是(SAS)鱼群优化算法的一种。

近年来,如蚁群优化(ACO)的算法的SA [2],粒子群优化(PSO)[3]算法,蜂群算法(BA)[4]越来越多的应用到工程应用中,由此他们在研究领域成为了热点。

这是一种把鱼群行为寻找食物比为社会行为的基础上智能优化算法AFSA。

在鱼群行为包括觅食,聚群行为,尾随行为[1],随机行为[5]和觅食行为[6]。

与其他(SAS)相似,和它工作在一起的每个种群的个体被称为一个人工鱼(AF),每个人工鱼在“游”的搜索空间根据自己的经验及附近的伙伴来寻找有食物的地区。

结果, 随着共享的社会信息、来自于之前人工鱼附近搜索的经验和发现的食物浓度, AFSA可以像其他SA有能力在很宽的空间找到更好的解决方案,有效地搜索全局最优的自适应。

仿照AFSA动物行为的过程,并通过个人的局部优化找出全局最优。

在这种算法中,有时人工鱼个体的行为很难避免个体为时过早的
寻找局部最优[1][5]。

在这种情况下,许多人工鱼陷入局部最优,只有少数的鱼能达到全局最优的区域。

因此,AFSA的优化精度和收敛速度的往往不是十分令人满意。

为了提高AFSA的性能, 在IAFSA更新过程中全区域最好的AFSA数据被加到了这个位置。

三个基准函数是用来检测新算法的性能;实验结果表明,该IAFSA提高了AFSA的性能,并保留其很多优点,如鲁棒性、公差的参数的设置,寻找适应性等。

2.人工鱼群算法
在自然界中,鱼能通过个体独立的搜索还有跟随其它鱼找到更有营养的区域,这个地区的鱼所在的地方通常是营养最丰富的。

AFSA 的基本思想是模仿鱼类行为,如觅食,聚群和追尾使鱼个体局部搜索并达到全局最优[1][5]。

人工鱼所在环境主要包括解的空间和其它人工鱼的状态。

它的下一个行为取决于它现在的状态和地方环境状况(包括解决目前问题的特性和周围同伴的状态)。

一人工鱼将会通过其自己的活动影响环境和它的同伴的活动。

从算数角度来讲,把一群人工鱼的N popsize,AF i
和位置向量X i相联系,(D是最优参数)在一个最优的问题中是一种可行的解决方案。

让X i(t)表示一个人工鱼现在的位置,X i(t+1)是下一个选择的位置。

每次迭代步长t+1,
人工鱼的行为的执行和位置矢量X i(t+1)的更新是通过增加一个增量更新向量△X i(t+1),仅包括局部最优信息。

向量的增加是通过当前状态X i(t)和更好的状态X better (t+1),方程如下:
△X i(t+1)=Rand()·(X better (t+1)-X i(t)) (1)
△X i(t+1)= X i(t)+ X i(t) △X i(t+1)(2)
当Rand()的值在区间[0,1]上,并且af_step代表了人工鱼移动步长的参数,该算法程序会继续云集直到符合标准,并且这形成迭代AFSA过程的基础。

从公式(1)及(2)中可以知道,人工鱼可以根据自己的信息和所处环境信息自动修改其位置。

该AFSA很简单,只需要一些算法参数进行调整。

因此,AFSA吸引了众多来自不同领域的学者的关注。

一般来说,在AFSA被证明是可以稳健快速的解决工程优化问题的方法[5-9]。

然而,作为一个新型的优化方法, AFSA仍处于起步阶段,并且进一步发展和研究是很必要的。

例如,原始AFSA的优化精度和收敛速度并不令人满意,因为它仅使用本地和个人的信息搜索“更好的”的位置。

因此,为提高AFSA的性能,全局信息这个增量向量被添加进来是必要的。

3.IAFSA与增强的性能
人工鱼模型包括变量和行为函数。

这些变量包括:X是当前的位置的AF,af_step是移动步长,af_visual是可视距离,try_number是尝试次数和AF_detal是拥挤因子,best_af是在全部范围内含有最高的食物的范围。

AF的行为包括:AF_Prey,AF_Swarm,AF_Follow,AF_Move和AF_Evaluate[1] [5-9]。

3.1改进的IAFSA基本性能
为了提高AFSA,性能全局最好的AF信息被添加到AF的行为上。

该行为在IAFSA实现如下:
(1)觅食行为(AF_Prey):
设X i是人工鱼的当前状态,并可视距离之内随机选择一个状态
X j ,Y=F(X)是人工鱼的食物浓度:
X j= X i+af_visual·Rand() (3)
如果Y j <Y i在极小的问题,它在Y j和X best_af方向的矢量和上前进一步,X best_af是所有AF区域的最佳状态。

否则,再次随机选择一个状态X j判断是否满足前进要求。

如果进行try_number次不能满足前进的要求,则人工鱼会随机移动一步;这可以帮助人工鱼逃离局部极值。

(2)聚群行为(AF_Swarm):
设X i是人工鱼的当前状态,X c是人工鱼的中心位置,n f是人工鱼视野范围内的伙伴数量,如果Y c< Y i并且 Y c<(af_detal·Y i/n f),这意味着人工鱼的中心具有较低的适应度值并且周边环境不是很拥挤,然后人工鱼在X c和X best_af方向的矢量和上前进一步。

(3)追尾行为(AF-Follow):
设X i是人工鱼的当前状态,人工鱼搜索它的邻域找到含有更小Y j,如
果Y j<Y i并且Y j<af_detal·Y i/n f,这意味着人工鱼X j具有较低的适应度
值并且周边环境不是很拥挤,然后人工鱼X i在Y j和X best_af方向的矢量和
上前进一步。

(4)移动行为(AF_Move):
人工鱼在视野范围内随机选择一个状态,之后朝着目标前进,这是人
工鱼的违法行为。

(5)其它行为
IAFSA的其它行为例如跳跃行为和评价行为和AFSA是一样的。

跳跃行
为[5]的目的是为了增加跳出局部极值的可能。

评价行为是基于对人
工鱼环境的评价,并且帮助人工鱼选择一个合适的行为来执行。

如果
适应度函数值比给定的在跟新过程中的AFSA的阈值大(最小优化)则
执行聚群行为。

3.2 IAFSA的程序
IAFSA的程序如下:
a. IAFSA的初始化参数
af_total, iterate_time, af_step, af_visual, af_delta, try_number, best_af
b.根据环境和条件,对每个人工鱼进行评价并执行它的行为。

c.更新每个人工鱼的位置并更新best_af。

d.如果最后状态令人满意,则停止并显示结果,否则返回b.
4.实验和仿真
4.1测试函数表达式
为了客观评价性能演算法,三个基准测试函数都解决了并且通过IAFSA和原始的AFSA分别表现出来。

所有的测试功能有很多本地局值,它分为为一个找到全局最优解的基本功能。

第一个测试函数的2个维度(2—D),第二个是12-D和第三个是64—D.定义如下:
主体 -10<=x<=10,-10<=y<=10,当x=0,y=0,全局最低f(x)=0
主体 n=12,-10<=x i<=10,i=1,2,…,n.
主体 n=64,-10<=x i<=10,i=1,2,...,n.
在实验中,人工鱼的初始位置是随机的。

在每次测试时精度达到10-3或者静止状态的IAFSA是实现的最大iterate_time时,它被认为是理想的成功的。

根据不同的功能维度,三个优化方法的迭代次数是不同的。

F1,F2和F3的迭代次数分别是50,100和250。

IAFSA的所有的参数和AFSA的一样,实验参数设为:
af_total=20,af_step=0.7,af_visual=2.5,try_number=50,
af_delta=8.
结果用MSG,MBV,BV和MNGBF记录,这些分别表示成功的一代,最好的评价和所有人工鱼的最优解。

4.2 实验的结果和讨论
图1显示通过AFSA和IAFSA中F1的人工鱼过去的一代分布对比。

在IAFSA中测试提出的一种收敛性能的算法计算人工鱼的初始位置,表1总结了优化结果的三个IAFSA无约束函数,得到AFSA。

表2通过IAFSA 和AFSA获得的三个函数并分别显示了收敛曲线。

为了详细的表示收敛曲线,Y坐标轴表示函数值的对数。

图1表明,在IAFSA优化区域进入全局更多人工鱼。

表1显示的通过IAFSA获得的结果意味着有很少成功的世代。

更小意味着最有价值,更小最好的价值和更多的人工鱼到达全局最优的区域。

从表2中看到,优化的精度和收敛速度和AFSA相比有显著的提高。

图一人工鱼的初始位置
(1)在AFSA中人工鱼的最终位置
(2)在IAFSA中人工鱼的最终位置表1.人工鱼的位置比较
表2.收敛曲线比较
5.结论
本文摘要提出一种改进收敛精度和收敛速度的AFSA。

它增加了全局最优区域并且有更多的机会去搜索跟好的或者最好的答案。

实验的结果显示,有限的计算复杂度的增加,使IAFSA比标准的AFSA有更快的收敛速度和优势更高的全局搜索精度,由于它良好的性能,IAFSA可能在未来的优化应用中替代AFSA。

出处
这项工作是中国国家自然科学基金会(NO.60672037
NO.60672036)和山东自然科学基金会(NO.Y2006G06)所支持。

参考文献
[1] X.L.Li. “A New Intelligent Optimization-Artificial Fish Swarm Algorithm”, PhD thesis, Zhejiang University, China, June, 2003.
[2] M.Dorigo, T.Stzle. “Ant Colony Optimization”. MIT Press, Cambridge 2004.
[3] R.Eberhart, Y.Shi, J.Kennedy, “Swarm Intelligence”. Morgan Kaufmann, San Francisco 2001
[4] D.T.Pham, A.Ghanbarzadeh, E. Koc, “ The Bees Algorithm”. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK 2005.、
[5] M. Y. Jiang, Y. Wang. “Spread Spectrum Code
Estimation by Artificial Fish Swarm Algorithm”, IEEE International Symposium on Intelligent Signal Processing (WISP 2007), 2007, Oct.2-5, Madrid, Spain.
[6]Y.M .Cheng, M.Y.Jian g and D.F.Yuan. “Novel
Clustering Algorithms Based on Improved Artificial Fish Swarm Algorithm”, Proceedings of the 6th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD'09 ), 2009, 14-16 August, Tianjin China.
[7] X. J. Shan, M. Y. J iang. “The Routing Optimization Based on Improved Artificial Fish Swarm Algorithm”, IEEE Congress on Intelligent Control and Automation, 2006,
pp.3658-3662
[8] M.Y.Jiang, D.F.Yuan. “Wavelet Threshold Optimization with Artificial Fish Swarm Algorithm”, Proc.of the IEEE International Conference on Neural Networks and Brain, (ICNN&B '2005), 2005, pp:569-572
[9] J.M.Xiao, X.M.Zheng, X H Wang. “A Modified
Artificial Fish-Swarm Algorithm”, in Proc. of the IEEE 6th World Congress on Intelligent Control and
Automation,(WCICA '2006), 2006, pp.3456-3460.。

相关文档
最新文档