本站小编为你精心准备了复数编码的布谷鸟搜索参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《计算机与数字工程杂志》2014年第七期
1PCS
1.1初始化鸟巢在生物界中,复杂生物组织的染色体一般采用双链或多链结构。对于双倍体来说,父母体各提供一条染色体组成子体的染色体对。由于复数编码的二维特性[4],本文很自然地应用它来表示(一种基于复数编码的遗传算法)双倍体[5]。具体说来,可利用一个复数来描述染色体对中的一对等位基因。复数的实部和虚部分别称为实基因与虚基因。对于一个有m个自变量的问题来说,设有m个复数,即Zk=Xk+iYk,k=1,2,…,m。鸟巢的基因可以表示为双倍体结构并记录为(Xk,Yk)。其中Xk、Yk分别表示该复数的实部和虚部。因此,第i个鸟巢可以表示为如图1所示。
1.2鸟巢更新方法•复数模的更新公式如下:
1.3适应度计算为了求解适应度函数[8],复数鸟巢必须转换成一个实数,以复数的模作为实数的大小,其符号由幅角决定。具体做法如下所示:
1.4PCS的基本步骤基于上面的分析,基于复数编码的布谷鸟搜索算法(PCS)的基本步骤可以用下面的算法语言来描述。
2仿真实验
2.1实验设计在本节中,笔者通过将PCS广泛应用与研究大量的基准优化问题来测试其性能。实验仿真环境为:操作系统Windows7,处理器主频Intel赛扬G4601.8GHz,内存4G,采用Matlab7.0实现算法编程。由于在复数编码中鸟巢位置的更新有两种更新计算方法。当这两种类型的编码具有相同的巢规模时,复数编码的计算复杂度为约的实数编码两倍。要比较这两种计算方法的性能,复数编码巢规模的大小应该是实数编码的一半。因此本实验中,复数编码巢的大小为20,实数编码巢的大小为40,最大迭代次数为200次,Pa=0.25。
2.2实验结果及分析笔者通过6个不同的功能测试,以验证PCS是可行和高效的。采用PCS进行20余次模拟运行,得到表1所示的测试结果。从该表中可以发现,复数编码方法比实数编码方法可以达到更好的适应度。Rosenbrock函数无论是最优值或平均值,PCS的精度比CS分别提高了102和103;而Sphere函数,PCS的最优值达到理论值,其平均值也比CS提高了103;至于Rastrigin和Ackley函数,PCS的最优值和平均值都有所提高,但并不明显;Easom函数的最优值达到理论值,但CS没有;Griewank函数的最优值也可达到理论值。上述实验结果表明,同CS相比,PCS具有较好的收敛速度和收敛精度。PCS的平均适应度的变化幅度也远远大于CS的,尤其是在早期演化,平均适应度的变化越大,个体越分散,不会集中在一个或几个局部点。在迭代过程中,这些点有一种接近到一个更好的位置的趋势,但这很容易使种群陷入局部收敛。因此,保持种群的多样性是非常重要的。
3结语
本文针对布谷鸟搜索算法后期收敛速度慢、计算精度不高等不足,提出了一种基于复数编码的布谷鸟搜索算法,目的是为了加快布谷鸟搜索算法的搜索速度,提高其计算精度。最后,通过6个标准测试函数测试,测试结果表明,改进后的复数编码的布谷鸟搜索算法具有较快的收敛速度和较高的收敛精度。
作者:石义良单位:武汉科技大学城市学院信息工程学部