陈建云+魏道熙+陈建锋
""摘要:狼群算法(Wolf Colony Algorithm, WCA)是2011年提出的一种群智能优化算法,现已实现在医学、三维传感器优化、人工神经网络、水利水电优化等众多领域上的应用, 并获得优质的实验效果, 使其成为目前比较流行、 前景广阔的智能计算方法之一。然而,与其他智能段,优化算法类似,在理论研究阶存在一些问题需要解决,如提高算法在优化问题中的各种性能、拓展算法应用领域等。本文为扩充 WCA算法的理论体系,针对 WCA算法存在的不足。在理论研究上,针对各种典型优化问题进行算法研究,进行优化,改进 WCA算法的内在运行机制,以提高 WCA算法求解单目标优化、多峰优化以及多目标优化问题上的性能。
关键词:狼群算法;单目标优化;多峰优化;多目标优化
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)21-0164-03
Abstract: Wolf Colony Algorithm proposed in 2011 is one of the swarm intelligence optimization algorithms, which has been widely used in many fields such as artificial neural network, medical science, optimization triaxial sensor placement, optimization operation of hydropower station and so on. At present, WCA has been obtained good application results in above fields. However, the same as other swarm intelligence optimization algorithms, during the study period, WCA has some problems need to be discussed such as how to improve the performance of the algorithm in optimization problems and expanding algorithm application fields, etc. For expand WCA algorithm theoretical system and practical applications, according to the insufficiency of WCA, it is deeply investigated from theory aspect in this paper. On Theoretical Research on, for a wide range of typical algorithm for optimization, optimize, and improve internal operational mechanism of wca algorithm to improve the WCA algorithm for single-objective optimization, multimodal optimization, and performance on multi-objective optimization problems.
Key words: wolf colony algorithm; single objective optimization; multimodal optimization; multi-objective optimization
狼群算法(Wolf Pack Search, WPS)最早是由Yang等提出,LIU等为解决优化问题于2011年提出了一种新狼群算法(Wolf Colony Algorithm, WCA)。 WCA算法模拟自然界狼群围捕猎物的行为,抽象出搜索行为、围攻行为与更新行为。WCA 算法与 PSO、GA 等算法相比,求解精度更高,收敛速度更快,控制参数更少的特点。W GA、FSA 等其他智能算法相比,求解精度高,鲁棒性强,尤其适合求解高维、多峰的复杂函数。由于各种不同的狼群算法原理基本相同,在狼群行为选择与具体实现有所差异,而算法效果近乎相同。
1 狼群算法的生物学背景
在自然界中,狼是处在食物链顶端的捕食者。狼群有着严密的等级制度,一个狼群一般有一个首领,称为头狼;若干探狼,负责找寻好的食物;若干猛狼,主要负责围捕猎物,狼群过着各司其职的生活。
头狼,是整个狼群中的关键,是最具智慧和最强壮的,是在“弱肉强食”式的残酷竞争中产生的首领。头狼负责整个狼群的决策,关乎着群体的兴衰。
2 狼群算法的基本原理
狼群算法意在模拟狼群的捕猎行为处理函数优化问题,将狼群分为三类:头狼、探狼和猛狼。算法的基本思想是:从待寻优空间中的某一初始猎物群开始,其中具有最佳适应度值的狼作为头狼,该操作称为头狼生成准则。然后,选取除头狼外最佳的m匹狼作为探狼, 进行预定方向上的寻优搜索, 采用新旧猎物规则保留较优质的猎物,一旦发现比当前头狼更优质的猎物,则具有该猎物的探狼成为头狼,此过程称为探狼游走行为。头狼发起嚎叫,通知周围猛狼迅速向头狼靠拢,探寻优质猎物,如果探寻到的优质猎物比头狼更优,则该狼代替头狼再次发起嚎叫,直到猛狼距离猎物一定距离时停止,此过程称为猛狼奔袭行为。当猛狼距离猎物达到预先设定的阈值时,转变为围攻行为,对头狼附近的优质猎物进行寻优,此过程称为狼群围攻行为。将适应度值最差的R匹狼淘汰同时在寻优空间内随机产生R匹狼进行补充,此过程称为” 强者生存”的狼群更新机制。
stop();
ypjj.stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
ypjj.play();
}
3.3 利用四个按钮控制动画及影片剪辑元件播放停止的实现脚本
在动画中拖入四个按钮,给单击实现动画停止的按钮实例命名为an1, 给单击实现动画播放的按钮实例命名为an2,给单击实现影片剪辑停止的按钮实例命名为an3, 给单击实现影片剪辑播放的按钮实例命名为an4,为实现动画测试时动画及影片剪辑停止在第一帧,单击播放和停止按钮分别实现控制动画及影片剪辑的播放和停止,在as图层第一帧写入如下脚本:
stop();
ypjj.stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {
stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
}
an3.addEventListener(MouseEvent.CLICK,a3);
function a3(e:MouseEvent) {
ypjj.stop();
}
an4.addEventListener(MouseEvent.CLICK,a4)
function a4(e:MouseEvent) {
ypjj.play();
}
教学中可以提供脚本,让学生输入,也可以建立好脚本文本文件,让学生复制相关脚本,直接应用。
以上是本人在多年的Flash动画教学中关于as3应用思考,自己经历了由as2到as3的转变,现在很多Flash cs3、cs4、cs5、cs6的教材,提供的as脚本还是as2的内容,在这些内容的基础上,希望能为学习as3脚本提供帮助。