一种使用反向学习策略的改进花粉授粉算法_井福荣

第36卷第3期

江西理工大学学报

JournalofJiangxiUniversityofScienceandTechnology

Vol.36, No.3Jun.

2015

2015年6月

文章编号:2095-3046(2015)03-0101-06DOI:10.13265/j.cnki.jxlgdxxb.2015.03.018

一种使用反向学习策略的改进花粉授粉算法

井福荣a ,

郭肇禄b ,

罗会兰a

(江西理工大学,a. 信息工程学院; b. 理学院, 江西赣州341000)

摘要:为了进一步提高基本花粉授粉算法的性能,提出了一种改进的花粉授粉算法(EFPA ). 该

算法在演化过程中以一定的概率利用一般反向学习策略对当前种群作一般反向变换,从而生成一般反向变换种群,然后将一般反向变换种群与当前种群同时进行竞争,选择出优秀的个体进入下一代种群. 在演化计算领域中广泛使用的基准测试函数上,将提出算法与基本花粉授粉算法进行了比较实验,实验结果表明提出算法能够有效地提高基本花粉授粉算法的性能. 关键词:优化算法;演化算法;反向学习;花粉授粉算法中图分类号:TP181

文献标志码:A

A flower pollination algorithm based on reverse learning strategy

JING Furong a , GUO Zhaolu b , LUO Huilan a

(a.Schoolof Information Engineering; b.School of Science, Jiangxi University of Science and Technology, Ganzhou 341000, China)

Abstract:In order to improve the performance of the traditional flower pollination algorithm, an enhanced flower pollination algorithm (EFPA)is proposed in this paper. The generalized reverse learning strategy is used with a certain probability to convert the current population into a generalized reverse population. Then, the converted population is competed with the current population to select the excellent individuals for the next population. The experiments were conducted on a set of classical benchmark test functions, which are widely used in the evolutionary computation community. The comparison results between EFPA and the traditional FPA indicate that the proposed flower pollination algorithm can enhance the performance of the traditional FPA.

Key words:optimization algorithm; evolutionary algorithm; reverse learning; flower pollination algorithm

方式,其中交叉授粉是通过蜜蜂、蝴蝶等动物作为

0引言传播方式实现不同品种花之间相对远距离的授粉,而自花授粉是同一品种的花之间相互接触近距离的授粉. 基于自然界中花粉授粉的思想,FPA 分别设计了交叉授粉和自花授粉两个演化操作算子来实现对复杂优化问题的求解.

自从FPA 的提出,它就立即引起了很多学者的研究兴趣,许多改进的FPA 相继被提出,并且

花粉授粉算法(Flower pollination algorithm, FPA )是英国学者Yang 于2012年提出的一种模拟了自然界中花粉授粉过程的新型演化算法[1]. 自然界中的花粉授粉过程中包括交叉授粉(cross -

pollination )和自花授粉(self-pollination )两种授粉

收稿日期:2015-03-20

基金项目:国家自然科学基金资助项目(61462035)作者简介:井福荣(1977-),男,硕士,讲师,主要从事智能计算、数据挖掘等方面的研究,E-mail:[email protected].

102

江西理工大学学报2015年6月

众多研究人员将FPA 应用到了各种领域中. Yang 等提出了一种多目标FPA 算法(MOFPA )[2],它采用随机权值将多个优化目标转换成为单目标问题来进行求解,在4个多目标基准测试问题以及多目标优化设计问题上的做了对比实验,实验结果表明

过程中,它以一定的概率执行一般反向学习策略对当前种群作一般反向变换,从而产生一般反向变换种群,然后将一般反向变换种群与当前种群同时进行竞争,选择出优秀的个体进入下一代种群. 通过在一些演化计算领域中广泛使用的基准测试函数验证了EFPA 的有效性.

MOFPA 能够有效地求解多目标优化问题. Wang 等[3]

提出了一种逐维改善的FPA 算法(DDIFPA ). 为了提高基本FPA 的性能,DDIFPA 将逐维改善策略引入到交叉授粉操作算子中,并将邻域搜索策略融合到自花授粉操作算子中,同时采用一种与演化代数相关联的动态机制来决定交叉授粉操作算子和自花授粉操作算子的执行概率. 根据一系列基准实验测试,其实验结果表明DDIFPA 具有非常优越的搜索性能,并且在大部分基准测试问题上比几种广泛应用的演化算法表现出更优越的性能. Prathiba 等[4]将FPA 应用于经济负荷分配问题的求解中,在几个经济负荷分配问题上的实验结果表明FPA 是一种求解经济负荷分配问题的高效方法. 为了进一步提高FPA 求解约束优化问题的效率,Abdel -Raouf 等

[5]

1花粉授粉算法

自然界中的花粉授粉过程是非常复杂的. 因

此,通过模拟花粉授粉过程来设计算法时,很难完全真实地模拟出花粉授粉过程的每个细节,并且要逼真地模拟花粉授粉的过程会使得算法特别复杂,需要大量的计算资源,导致算法的计算效率很低,实际应用价值不太. 为了使算法简单易行,

FPA 对自然界中的花粉授粉过程进行了简化. 在FPA 中,假设每朵花为求解优化问题的一个解,并

且每朵花都是通过以交叉授粉概率Pc 选择交叉授粉操作,或以概率1-Pc 选择自花授粉操作繁衍出后代[1].

与大多数演化算法相似,FPA 在初始阶段,首先随机初始化一个包含NP 个个体的种群P (t )=

将粒子群优化算法

(PSO )融合到FPA 中,提出了一种求解约束优化问题的混合FPA 算法(FPPSO ). Chakraborty 等[6]提出了一种差分演化—花粉授粉混合算法(DE-

{X i t },其中X i t =[x t i ,1, x t i ,2, …, x t i , j , …, x t i , D ],j =1, 2, …, D ; i =1, 2, …, NP , NP 为种群大小,D 是优化问题的

维数,t 代表当前演化代数[1]. 在随机初始化种群之后,FPA 对当前种群中的每个体进行适应值评价,然后找出适应值最优的个体保存为当前全局最优解,然后FPA 不断执行其交叉授粉和自花授粉两个操作算子直到满足其结束条件.

在每一代中,FPA 以交叉授粉概率Pc 执行交叉授粉操作算子,同时以概率1-Pc 执行自花授粉操作算子繁衍后代[1],其中交叉授粉操作算子的设计思想是借鉴自然界中蜜蜂、蝴蝶等动物在不同品种的花之间以L évy 随机分布方式对花进行全局授粉的规律,其定义如下[2]:

t

··(X Best X t+t 1=X t i +γL -X k t )

FPA ). 在演化过程中,DE-FPA 首先执行差分演

化算法的操作算子,然后再执行一个改进的花粉授粉的交叉授粉算子. 在几个基准测试函数上的对比实验结果表明DE-FPA 能够比差分演化算法(DE )及基本FPA 获得更优的解. 为了有效地求解特征选择问题,Rodrigues 等[7]提出了二进制FPA 算法(BFPA ). 在BFPA 中,采用logsig 函数对解进行变换,并通过一个阈值将解映射到0-1空间.

Dubey 等[8]提出了一种生物学启发的改进FPA 算

法(MFPA ),并将其应用于求解经济调度问题. 为了提高FPA 求解经济调度问题的性能,MFPA 在自花授粉操作算子中引入了一个缩放因子用于调节搜索步长,并且增加了一个集中开采搜索算子对当前全局最优个体进行局部寻优.

从FPA 的研究现状可知,FPA 是一种非常有潜力的工程优化算法,是解决各类工程优化问题的有效方法. 但国内外对FPA 的研究还刚刚起步,因此研究如何进一步提升FPA 的性能具有广阔的研究前景. 针对基本FPA 在解决复杂优化工程实践问题时存在着容易陷入局部最优值的缺点[8],提出了一种改进的FPA 算法(EFPA ). 在EFPA 的演化

(1)

其中γ为缩放因子,文献[2]推荐其值为0.1;L 为一个服从指数为λ的Levy 分布的随机实数,X t Best 为当前种群中的最优解,文献[2]推荐λ=1.5.

自花授粉操作算子的设计思想是模拟自然界中同一品种的花之间近距离相互接触实现局部授粉的方式,其定义如下[2]:

·(X t j -X t i )X t+t 1=X t i +ε

(2)

其中ε为一个在[0,1]之间服从均匀分布的随机实

第36卷第3期

足i , j , k 之间两两互不相等.

井福荣,等:一种使用反向学习策略的改进花粉授粉算法

局部最优值.

103

数,j , k 为[1,NP ]之间的一个随机整数,并且要求满

基于交叉授粉和自花授粉操作算子的阐述,基本FPA 的总体流程描述如算法1所示. 算法1:基本FPA 算法.

2.1一般反向学习

反向学习是由Tizhoosh [9]提出的一种求解优化

问题的有效方法,目前已经广泛地应用于求解各种实际工程优化问题. 鉴于反向学习策略的高效性,

Step 1:初始设置D, NP, Pc 参数;

Step 2:当前演化代数t =0,当前评价次数FEs =0;

Step 3:随机产生初始种群,评价每个个体的

适应值,并令FEs =NP ;

Wang 等[10]对反向学习策略进行了扩展,创造性地

在反向学习的基础上增加了一个一般化的反向因子,提出了一般反向学习策略,并将其融合到了许多演化算法中[11-12],研究表明一般反向学习策略能够非常有效地提高演化算法的搜索效率[13-14]. 一般反向学习策略定义如下:

定义1一般反向学习策略[10]

设X t i =[x t i , 1, x t i , 2, …, x t i , j , …, x t i , D ]为当前种群中的第i 个个体,一般反向学习策略产生X t i 的一般反向解为O t i =[o t i , 1, o t i , 2, …, o t i , j , …, o t i , D ]:

Step 4:如果满足终止条件则转到Step 18;否

则转到Step 5;

Step 5:i =1;

Step 6:如果i 大于NP 则转到Step 16,否则

转到Step 7;

Step 7:产生一个在[0,1]之间服从均匀分布

的随机实数rp ;

o t i , j =gk (A t j +B t j )-x t i , j

A t j =min(x t i , j ),B t j =max(x t i , j )

NP , j =1,2,…,D, gk=rand(0,1)

(3)(4)(5)

Step 8:如果rp 小于交叉授粉概率Pc ,则转到Step 9,否则转到Step 11;

Step 9:按公式(1)执行交叉授粉操作算子产

生X i t 的后代X t+i 1;

o t i , j =rand (A t j ,B t j ),if o t i , j <L i ‖o t i , j >U i i =1,2…

其中gk 为一般化的反向因子. 为了在一定程度上避免陷入局部最优,将一般反向学习策略融合到基本FPA 中,利用一般反向学习策略产生反向学习种群,以增强种群的多样性,减少陷入局部最优值的概率,从而增强基本FPA 的性能.

Step 10:转到Step 12;

Step 11:按公式(2)执行自花授粉操作算子产

生X i t 的后代X t+i 1;

Step 12:计算X t+i 1的适应值,FEs =FEs +1;Step 13:如果X t+i 1比X t i 更优,则X t+i 1进入下一

代种群,否则X t i 进入下一代种群;

2.2EFPA 算法的总体框架

在EFPA 的算法框架中,它以反向学习概率P o

执行一般反向学习策略,并以概率1-P o 执行基本

Step 14:i =i +1;Step 15:转到Step 6;Step 16:保存最优解;Step 17:转到Step 4;

Step 18:输出最优解,FPA 算法结束.

FPA 的计算步骤. 在执行一般反向学习策略时,先

按照公式(4)计算出当前种群的搜索边界,然后按公式(3)计算出当前种群中每个个体的一般反向解,从而生成一般反向种群,最后将生成的一般反向种群与当前种群进行竞争,从两个种群中选择出优秀个体作为下一代种群. EFPA 算法具体过程描述如算法2所示.

算法2:改进的FPA 算法(EFPA).

2改进FPA 算法

虽然FPA 在解决一些工程优化问题时获得了

比较理想的结果,但基本FPA 在解决复杂工程实践问题时存在着容易陷入局部最优值的缺点[8]. 为了进一步提高基本FPA 的性能,将一般反向学习策略融合到FPA 中,提出一种改进的FPA 算法(EFPA ). 在搜索过程中,EFPA 利用一般反向学习策略将当前种群变换到一般反向区域,同时对当前种群所在区域及其一般反向变换区域进行搜索,增强搜索区域的多样性,从而在一定程度上避免陷入

Step 1:设置D , NP , Pc , Po 等参数的值;Step 2:当前演化代数t =0,当前评价次数FEs =0;

Step 3:随机产生初始种群,评价每个个体的

适应值,并令FEs =NP ;

Step 4:如果满足终止条件则转到Step 18;否

则转到Step 5;

Step 5:产生一个[0,1]之间的随机实数r 1;

104Step 12;

Step 7:一般反向种群GOP ={};

江西理工大学学报

Step 6:如果r 1

度量标准.

2015年6月

3.2实验结果

实验结果如表2所示,其中FPA 和EFPA 两

Step 8:根据公式(4)计算当前种群的搜索边界;Step 9:根据公式(3)对每个个体生成一般反

向解,并将生成的一般反向解添加到一般反向种群

种算法之间的最优结果用粗体突出表示. 为了从统计意义上得到比较结论,采用显著性水平为

0.05的双尾t 检验对实验结果进行统计分析[15],

其中,“+”表示EFPA 在统计意义上显著性地优于FPA ,“-”表示FPA 在统计意义上显著性地优于EFPA ,“≈”表示EFPA 与FPA 在统计意义上无显著性差别. 从表2中可以看出,在单峰测试函数f 1-f 4上,EFPA 在3个测试函数上(即f 1-f 3)比

GOP 中;

Step 10:从当前种群和一般反向种群的并集中选择出前NP 个优秀个体作为下一代种群,并保

存最优解;

Step 11:当前评价次数FEs =FEs +NP ,当前演

化代数t=t+1,转到Step 4;

Step 12:执行基本FPA 的计算步骤;

FPA 表现出更优的性能,而FPA 仅在1个测试函

数上(即f 4)比EFP 获得了更优的解. 在多峰测试函数f 5-f 10上,EFPA 在5个测试函数上(即f 5-

Step 13:当前演化代数t =t +1,转到Step 4;Step 14:输出最优解,EFPA 算法结束.

f 9)显著性优于FPA ,而FPA 仅在1个测试函数上

3

3.1

数值实验

实验设置

(即f 10)显著性优于EFPA. 总而言之,EFPA 在8个测试函数上比FPA 表现出更优越的性能,而

FPA 仅在2个测试函数上比EFPA 表现出更优越

的性能. EFPA 的优越的性能是由于它在搜索过程中不仅考虑了当前种群的所在区域,还考虑了当前种群的一般反向变换区域,以此增强搜索区域的多样性,从而在一定程度上避免陷入局部最优值. 实验结果表明一般反向学习策略能够有效地提高基本FPA 算法在单峰和多峰测试函数上

最优值

搜索空间

为了分析EFPA 算法的性能,采用一系列演化计算领域内广泛使用的Benchmark 测试函数来进行比较实验. Benchmark 测试函数如表1所示. 其中f 1-f 4为单峰函数,f 5-f 10为多峰函数,所有测

[15]

试函数维数D 均为30维.

表1

函数

名称

Benchmark 测试函数

[-100,100]D [-10,10]D [-100,100]D [-30,30]

D D D

的性能.

表2

函数

f1f 2f 3f 4f 5f 6f 7f 8f 9f 10

Sphere Schwefel 2.22Schwefel 1.2Rosebrock Schwefel 2.26Rastrigin Griewank Ackley Penalized1Penalized2

0000-12569.5

00000

实验结果

Mean Error ±Std Dev

FPA

1.36E-36±1.77E-36+5.14E-16±7.11E-16+1.34E-05±1.63E-05+3.97E+00±4.43E+00-5.60E+03±6.89E+02+9.95E+01±2.52E+01+1.31E-02±5.05E-03+1.56E+00±3.52E-01+2.21E-13±3.12E-13+1.15E-03±3.74E-04-EFPA

9.38E-190±0.00E+001.17E-95±1.63E-951.34E-152±1.88E-1528.42E+00±1.02E+002.26E+03±5.01E+020.00E+00±0.00E+000.00E+00±0.00E+001.63E-15±1.67E-153.66E-20±5.18E-203.29E-02±4.57E-02

[-500,500]

f1f 2f 3f 4f 5f 6

[-5.12,5.12][-600,600][-32,32]D [-50,50]D [-50,50]D

D

在实验中,将EFPA 与FPA [1]进行性能比较,其中在EFPA 中反向学习概率采用文献[13]推荐设置

f 7f 8f 9f 10

Po =0.05,其他与FPA 相关的参数均与文献[2]设置

相同. FPA 采用文献[2]中的参数设置. 为了比较的公平性,每个算法在每个测试函数上的终止条件设置为以评价次数达到400000,并分别进行30次独立实验,然后将各算法所获得的最优值与理论最优值之间的误差的平均值和标准差作为算法的性能

为了分析两种算法的动态收敛情况,图1给出了FPA 和EFPA 在6个典型测试函数上的收敛曲线. 从图1中可以知道,EFPA 比FPA 具有更快的

第36卷第3期

100平均适应值(l o g )

井福荣,等:一种使用反向学习策略的改进花粉授粉算法

500

平均适应值(l o g )

105

0-100-200-300-400-500

0.5

22.533.5

评价次数(×105)/次

(a )FPA 和EFPA 在f 1上的收敛曲线

1

1.5

4

FPA EFPA

-50-100-150-200-250

0.5

2.533.5

评价次数(×10)/次

(b )FPA 和EFPA 在f 2上的收敛曲线

5

FPA EFPA

11.524

500

平均适应值(l o g )

-100-150-200-250-300-350

0.5

平均适应值(l o g )

-50

FPA EFPA

22.533.5

评价次数(×105)/次

(c )FPA 和EFPA 在f 3上的收敛曲线

11.54

200-20-40-60-80-100-120-140-160

FPA EFPA

00.5

2.533.5

评价次数(×10)/次

(d )FPA 和EFPA 在f 6上的收敛曲线

5

11.524

0-10平均适应值(l o g )

50平均适应值(l o g )

-20-30-40-50-60-70

0.5

2.533.55

评价次数(×10)/次

(e )FPA 和EFPA 在f 7上的收敛曲线

1

1.5

2

4

FPA EFPA

-5-10-15-20-25-30-35

0.5

22.533.5

评价次数(×105)/次

(f )FPA 和EFPA 在f 8上的收敛曲线

1

1.5

4FPA EFPA

图1FPA 和EFPA 在6个典型测试函数上的收敛曲线

收敛速度.

参考文献:

4结束语

FPA 是一种新过兴起的演化算法,已经成功应

[1]Yang X S. Flower pollination algorithm for global optimization [M].Unconventional Computation and Natural Computation, Lecture Notes in Computer Science, 2012, 7445:240-249.

[2]Yang X S, Karamanoglu M, He X. Flower pollination algorithm:a novel approach for multiobjective optimization [J].Engineering Optimization, 2014, 46(9):1222-1237.

[3]Wang R, Zhou Y. Flower pollination algorithm with dimension by dimension improvement[J].Mathematical Problems in Engineering, 2014, doi:10.1155/2014/481791.

[4]Prathiba R, Moses M B, Sakthivel S. Flower pollination algorithm applied for different economic load dispatch problems [J].International Journal of Engineering and Technology, 2014, 6(2):1009-1016.

[5]Abdel -Raouf O, Abdel -Baset M, El -henawy I. A new hybrid

flower pollination algorithm for solving constrained global

用到了许多工程实践优化问题中. 为了进一步提高基本FPA 的搜索效率,提出了一种改进的FPA 算法(EFPA ). 在EFPA 的演化过程中,它以一定的概率执行一般反向学习策略来提高搜索能力. 在

10个演化计算领域内广泛使用的测试函数上,将EFPA 与基本FPA 进行了性能比较实验. 实验结果

表明一般反向学习策略能够有效地提高基本FPA 的性能,EFPA 在大部分测试函数上比基本FPA 表现出更优越的性能.

106

optimization problems

Operational Research, 2014, 4(2):1-13.

江西理工大学学报

[J].International Journal of Applied

2015年6月

particle swarm optimization using generalized opposition -based learning[J].Information Sciences, 2011, 181(20):4699-4714.[11]郭肇禄, 吴志健, 汪靖, 汪慎文, 谢承旺. 一种基于精英云变异的

差分演化算法[J].武汉大学学报(理学版) , 2013, 59(2):117-

[6]Chakraborty D, Saha S, Dutta O. DE -FPA:A hybrid differential evolution -flower pollination algorithm for function minimization [C]//International Conference on High Performance Computing and Applications, Bhubaneswar, 2014, India.

[7]Rodrigues D, Yang X S, de Souza A N, et al. Binary flower

pollination algorithm and its application to feature selection [M].Recent Advances in Swarm Intelligence and Evolutionary Computation, 2015:85-100.

[8]Dubey H M, Pandit M, Panigrahi B K. A biologically inspired

modified flower pollination algorithm for solving economic dispatch problems in modern power systems [J].Cognitive Computation, doi:10.1007/s12559-015-9324-1.

[9]Tizhoosh H R. Opposition -based learning:A new scheme for

machine intelligence [C]//Proceedingsof International Conference on

Computational

Intelligence

for

Modeling

Control

and

Automation, 2005:695-701.

[10]Wang H, Wu Z, Rahnamayan S, Liu Y, Ventresca M. Enhancing

122.

[12]Guo Z, Yue X, Zhang K, Deng C, Liu S. Enhanced social

emotional optimisation algorithm with generalised opposition –based learning [J].International Journal of Computing Science and Mathematics, 2015, 6(1):59-68.

[13]Wang H, Wu Z, Rahnamayan S. Enhanced opposition -based

differential evolution for solving high -dimensional continuous optimization problems[J].Soft Computing, 2011, 15(11):2127-2140.[14]Wang H, Rahnamayan S, Wu Z. Parallel differential evolution

with

self -adapting

control

for

parameters solving

and

generalized

opposition -based

learning

high -dimensional

optimization problems [J].Journal of Parallel and Distributed Computing, 2013, 73(1):62-73.

[15]Yao X, Liu Y, Lin G. Evolutionary programming made faster [J].IEEE

Transactions on Evolutionary Computation, 1999, 3(2):82-102.

第36卷第3期

江西理工大学学报

JournalofJiangxiUniversityofScienceandTechnology

Vol.36, No.3Jun.

2015

2015年6月

文章编号:2095-3046(2015)03-0101-06DOI:10.13265/j.cnki.jxlgdxxb.2015.03.018

一种使用反向学习策略的改进花粉授粉算法

井福荣a ,

郭肇禄b ,

罗会兰a

(江西理工大学,a. 信息工程学院; b. 理学院, 江西赣州341000)

摘要:为了进一步提高基本花粉授粉算法的性能,提出了一种改进的花粉授粉算法(EFPA ). 该

算法在演化过程中以一定的概率利用一般反向学习策略对当前种群作一般反向变换,从而生成一般反向变换种群,然后将一般反向变换种群与当前种群同时进行竞争,选择出优秀的个体进入下一代种群. 在演化计算领域中广泛使用的基准测试函数上,将提出算法与基本花粉授粉算法进行了比较实验,实验结果表明提出算法能够有效地提高基本花粉授粉算法的性能. 关键词:优化算法;演化算法;反向学习;花粉授粉算法中图分类号:TP181

文献标志码:A

A flower pollination algorithm based on reverse learning strategy

JING Furong a , GUO Zhaolu b , LUO Huilan a

(a.Schoolof Information Engineering; b.School of Science, Jiangxi University of Science and Technology, Ganzhou 341000, China)

Abstract:In order to improve the performance of the traditional flower pollination algorithm, an enhanced flower pollination algorithm (EFPA)is proposed in this paper. The generalized reverse learning strategy is used with a certain probability to convert the current population into a generalized reverse population. Then, the converted population is competed with the current population to select the excellent individuals for the next population. The experiments were conducted on a set of classical benchmark test functions, which are widely used in the evolutionary computation community. The comparison results between EFPA and the traditional FPA indicate that the proposed flower pollination algorithm can enhance the performance of the traditional FPA.

Key words:optimization algorithm; evolutionary algorithm; reverse learning; flower pollination algorithm

方式,其中交叉授粉是通过蜜蜂、蝴蝶等动物作为

0引言传播方式实现不同品种花之间相对远距离的授粉,而自花授粉是同一品种的花之间相互接触近距离的授粉. 基于自然界中花粉授粉的思想,FPA 分别设计了交叉授粉和自花授粉两个演化操作算子来实现对复杂优化问题的求解.

自从FPA 的提出,它就立即引起了很多学者的研究兴趣,许多改进的FPA 相继被提出,并且

花粉授粉算法(Flower pollination algorithm, FPA )是英国学者Yang 于2012年提出的一种模拟了自然界中花粉授粉过程的新型演化算法[1]. 自然界中的花粉授粉过程中包括交叉授粉(cross -

pollination )和自花授粉(self-pollination )两种授粉

收稿日期:2015-03-20

基金项目:国家自然科学基金资助项目(61462035)作者简介:井福荣(1977-),男,硕士,讲师,主要从事智能计算、数据挖掘等方面的研究,E-mail:[email protected].

102

江西理工大学学报2015年6月

众多研究人员将FPA 应用到了各种领域中. Yang 等提出了一种多目标FPA 算法(MOFPA )[2],它采用随机权值将多个优化目标转换成为单目标问题来进行求解,在4个多目标基准测试问题以及多目标优化设计问题上的做了对比实验,实验结果表明

过程中,它以一定的概率执行一般反向学习策略对当前种群作一般反向变换,从而产生一般反向变换种群,然后将一般反向变换种群与当前种群同时进行竞争,选择出优秀的个体进入下一代种群. 通过在一些演化计算领域中广泛使用的基准测试函数验证了EFPA 的有效性.

MOFPA 能够有效地求解多目标优化问题. Wang 等[3]

提出了一种逐维改善的FPA 算法(DDIFPA ). 为了提高基本FPA 的性能,DDIFPA 将逐维改善策略引入到交叉授粉操作算子中,并将邻域搜索策略融合到自花授粉操作算子中,同时采用一种与演化代数相关联的动态机制来决定交叉授粉操作算子和自花授粉操作算子的执行概率. 根据一系列基准实验测试,其实验结果表明DDIFPA 具有非常优越的搜索性能,并且在大部分基准测试问题上比几种广泛应用的演化算法表现出更优越的性能. Prathiba 等[4]将FPA 应用于经济负荷分配问题的求解中,在几个经济负荷分配问题上的实验结果表明FPA 是一种求解经济负荷分配问题的高效方法. 为了进一步提高FPA 求解约束优化问题的效率,Abdel -Raouf 等

[5]

1花粉授粉算法

自然界中的花粉授粉过程是非常复杂的. 因

此,通过模拟花粉授粉过程来设计算法时,很难完全真实地模拟出花粉授粉过程的每个细节,并且要逼真地模拟花粉授粉的过程会使得算法特别复杂,需要大量的计算资源,导致算法的计算效率很低,实际应用价值不太. 为了使算法简单易行,

FPA 对自然界中的花粉授粉过程进行了简化. 在FPA 中,假设每朵花为求解优化问题的一个解,并

且每朵花都是通过以交叉授粉概率Pc 选择交叉授粉操作,或以概率1-Pc 选择自花授粉操作繁衍出后代[1].

与大多数演化算法相似,FPA 在初始阶段,首先随机初始化一个包含NP 个个体的种群P (t )=

将粒子群优化算法

(PSO )融合到FPA 中,提出了一种求解约束优化问题的混合FPA 算法(FPPSO ). Chakraborty 等[6]提出了一种差分演化—花粉授粉混合算法(DE-

{X i t },其中X i t =[x t i ,1, x t i ,2, …, x t i , j , …, x t i , D ],j =1, 2, …, D ; i =1, 2, …, NP , NP 为种群大小,D 是优化问题的

维数,t 代表当前演化代数[1]. 在随机初始化种群之后,FPA 对当前种群中的每个体进行适应值评价,然后找出适应值最优的个体保存为当前全局最优解,然后FPA 不断执行其交叉授粉和自花授粉两个操作算子直到满足其结束条件.

在每一代中,FPA 以交叉授粉概率Pc 执行交叉授粉操作算子,同时以概率1-Pc 执行自花授粉操作算子繁衍后代[1],其中交叉授粉操作算子的设计思想是借鉴自然界中蜜蜂、蝴蝶等动物在不同品种的花之间以L évy 随机分布方式对花进行全局授粉的规律,其定义如下[2]:

t

··(X Best X t+t 1=X t i +γL -X k t )

FPA ). 在演化过程中,DE-FPA 首先执行差分演

化算法的操作算子,然后再执行一个改进的花粉授粉的交叉授粉算子. 在几个基准测试函数上的对比实验结果表明DE-FPA 能够比差分演化算法(DE )及基本FPA 获得更优的解. 为了有效地求解特征选择问题,Rodrigues 等[7]提出了二进制FPA 算法(BFPA ). 在BFPA 中,采用logsig 函数对解进行变换,并通过一个阈值将解映射到0-1空间.

Dubey 等[8]提出了一种生物学启发的改进FPA 算

法(MFPA ),并将其应用于求解经济调度问题. 为了提高FPA 求解经济调度问题的性能,MFPA 在自花授粉操作算子中引入了一个缩放因子用于调节搜索步长,并且增加了一个集中开采搜索算子对当前全局最优个体进行局部寻优.

从FPA 的研究现状可知,FPA 是一种非常有潜力的工程优化算法,是解决各类工程优化问题的有效方法. 但国内外对FPA 的研究还刚刚起步,因此研究如何进一步提升FPA 的性能具有广阔的研究前景. 针对基本FPA 在解决复杂优化工程实践问题时存在着容易陷入局部最优值的缺点[8],提出了一种改进的FPA 算法(EFPA ). 在EFPA 的演化

(1)

其中γ为缩放因子,文献[2]推荐其值为0.1;L 为一个服从指数为λ的Levy 分布的随机实数,X t Best 为当前种群中的最优解,文献[2]推荐λ=1.5.

自花授粉操作算子的设计思想是模拟自然界中同一品种的花之间近距离相互接触实现局部授粉的方式,其定义如下[2]:

·(X t j -X t i )X t+t 1=X t i +ε

(2)

其中ε为一个在[0,1]之间服从均匀分布的随机实

第36卷第3期

足i , j , k 之间两两互不相等.

井福荣,等:一种使用反向学习策略的改进花粉授粉算法

局部最优值.

103

数,j , k 为[1,NP ]之间的一个随机整数,并且要求满

基于交叉授粉和自花授粉操作算子的阐述,基本FPA 的总体流程描述如算法1所示. 算法1:基本FPA 算法.

2.1一般反向学习

反向学习是由Tizhoosh [9]提出的一种求解优化

问题的有效方法,目前已经广泛地应用于求解各种实际工程优化问题. 鉴于反向学习策略的高效性,

Step 1:初始设置D, NP, Pc 参数;

Step 2:当前演化代数t =0,当前评价次数FEs =0;

Step 3:随机产生初始种群,评价每个个体的

适应值,并令FEs =NP ;

Wang 等[10]对反向学习策略进行了扩展,创造性地

在反向学习的基础上增加了一个一般化的反向因子,提出了一般反向学习策略,并将其融合到了许多演化算法中[11-12],研究表明一般反向学习策略能够非常有效地提高演化算法的搜索效率[13-14]. 一般反向学习策略定义如下:

定义1一般反向学习策略[10]

设X t i =[x t i , 1, x t i , 2, …, x t i , j , …, x t i , D ]为当前种群中的第i 个个体,一般反向学习策略产生X t i 的一般反向解为O t i =[o t i , 1, o t i , 2, …, o t i , j , …, o t i , D ]:

Step 4:如果满足终止条件则转到Step 18;否

则转到Step 5;

Step 5:i =1;

Step 6:如果i 大于NP 则转到Step 16,否则

转到Step 7;

Step 7:产生一个在[0,1]之间服从均匀分布

的随机实数rp ;

o t i , j =gk (A t j +B t j )-x t i , j

A t j =min(x t i , j ),B t j =max(x t i , j )

NP , j =1,2,…,D, gk=rand(0,1)

(3)(4)(5)

Step 8:如果rp 小于交叉授粉概率Pc ,则转到Step 9,否则转到Step 11;

Step 9:按公式(1)执行交叉授粉操作算子产

生X i t 的后代X t+i 1;

o t i , j =rand (A t j ,B t j ),if o t i , j <L i ‖o t i , j >U i i =1,2…

其中gk 为一般化的反向因子. 为了在一定程度上避免陷入局部最优,将一般反向学习策略融合到基本FPA 中,利用一般反向学习策略产生反向学习种群,以增强种群的多样性,减少陷入局部最优值的概率,从而增强基本FPA 的性能.

Step 10:转到Step 12;

Step 11:按公式(2)执行自花授粉操作算子产

生X i t 的后代X t+i 1;

Step 12:计算X t+i 1的适应值,FEs =FEs +1;Step 13:如果X t+i 1比X t i 更优,则X t+i 1进入下一

代种群,否则X t i 进入下一代种群;

2.2EFPA 算法的总体框架

在EFPA 的算法框架中,它以反向学习概率P o

执行一般反向学习策略,并以概率1-P o 执行基本

Step 14:i =i +1;Step 15:转到Step 6;Step 16:保存最优解;Step 17:转到Step 4;

Step 18:输出最优解,FPA 算法结束.

FPA 的计算步骤. 在执行一般反向学习策略时,先

按照公式(4)计算出当前种群的搜索边界,然后按公式(3)计算出当前种群中每个个体的一般反向解,从而生成一般反向种群,最后将生成的一般反向种群与当前种群进行竞争,从两个种群中选择出优秀个体作为下一代种群. EFPA 算法具体过程描述如算法2所示.

算法2:改进的FPA 算法(EFPA).

2改进FPA 算法

虽然FPA 在解决一些工程优化问题时获得了

比较理想的结果,但基本FPA 在解决复杂工程实践问题时存在着容易陷入局部最优值的缺点[8]. 为了进一步提高基本FPA 的性能,将一般反向学习策略融合到FPA 中,提出一种改进的FPA 算法(EFPA ). 在搜索过程中,EFPA 利用一般反向学习策略将当前种群变换到一般反向区域,同时对当前种群所在区域及其一般反向变换区域进行搜索,增强搜索区域的多样性,从而在一定程度上避免陷入

Step 1:设置D , NP , Pc , Po 等参数的值;Step 2:当前演化代数t =0,当前评价次数FEs =0;

Step 3:随机产生初始种群,评价每个个体的

适应值,并令FEs =NP ;

Step 4:如果满足终止条件则转到Step 18;否

则转到Step 5;

Step 5:产生一个[0,1]之间的随机实数r 1;

104Step 12;

Step 7:一般反向种群GOP ={};

江西理工大学学报

Step 6:如果r 1

度量标准.

2015年6月

3.2实验结果

实验结果如表2所示,其中FPA 和EFPA 两

Step 8:根据公式(4)计算当前种群的搜索边界;Step 9:根据公式(3)对每个个体生成一般反

向解,并将生成的一般反向解添加到一般反向种群

种算法之间的最优结果用粗体突出表示. 为了从统计意义上得到比较结论,采用显著性水平为

0.05的双尾t 检验对实验结果进行统计分析[15],

其中,“+”表示EFPA 在统计意义上显著性地优于FPA ,“-”表示FPA 在统计意义上显著性地优于EFPA ,“≈”表示EFPA 与FPA 在统计意义上无显著性差别. 从表2中可以看出,在单峰测试函数f 1-f 4上,EFPA 在3个测试函数上(即f 1-f 3)比

GOP 中;

Step 10:从当前种群和一般反向种群的并集中选择出前NP 个优秀个体作为下一代种群,并保

存最优解;

Step 11:当前评价次数FEs =FEs +NP ,当前演

化代数t=t+1,转到Step 4;

Step 12:执行基本FPA 的计算步骤;

FPA 表现出更优的性能,而FPA 仅在1个测试函

数上(即f 4)比EFP 获得了更优的解. 在多峰测试函数f 5-f 10上,EFPA 在5个测试函数上(即f 5-

Step 13:当前演化代数t =t +1,转到Step 4;Step 14:输出最优解,EFPA 算法结束.

f 9)显著性优于FPA ,而FPA 仅在1个测试函数上

3

3.1

数值实验

实验设置

(即f 10)显著性优于EFPA. 总而言之,EFPA 在8个测试函数上比FPA 表现出更优越的性能,而

FPA 仅在2个测试函数上比EFPA 表现出更优越

的性能. EFPA 的优越的性能是由于它在搜索过程中不仅考虑了当前种群的所在区域,还考虑了当前种群的一般反向变换区域,以此增强搜索区域的多样性,从而在一定程度上避免陷入局部最优值. 实验结果表明一般反向学习策略能够有效地提高基本FPA 算法在单峰和多峰测试函数上

最优值

搜索空间

为了分析EFPA 算法的性能,采用一系列演化计算领域内广泛使用的Benchmark 测试函数来进行比较实验. Benchmark 测试函数如表1所示. 其中f 1-f 4为单峰函数,f 5-f 10为多峰函数,所有测

[15]

试函数维数D 均为30维.

表1

函数

名称

Benchmark 测试函数

[-100,100]D [-10,10]D [-100,100]D [-30,30]

D D D

的性能.

表2

函数

f1f 2f 3f 4f 5f 6f 7f 8f 9f 10

Sphere Schwefel 2.22Schwefel 1.2Rosebrock Schwefel 2.26Rastrigin Griewank Ackley Penalized1Penalized2

0000-12569.5

00000

实验结果

Mean Error ±Std Dev

FPA

1.36E-36±1.77E-36+5.14E-16±7.11E-16+1.34E-05±1.63E-05+3.97E+00±4.43E+00-5.60E+03±6.89E+02+9.95E+01±2.52E+01+1.31E-02±5.05E-03+1.56E+00±3.52E-01+2.21E-13±3.12E-13+1.15E-03±3.74E-04-EFPA

9.38E-190±0.00E+001.17E-95±1.63E-951.34E-152±1.88E-1528.42E+00±1.02E+002.26E+03±5.01E+020.00E+00±0.00E+000.00E+00±0.00E+001.63E-15±1.67E-153.66E-20±5.18E-203.29E-02±4.57E-02

[-500,500]

f1f 2f 3f 4f 5f 6

[-5.12,5.12][-600,600][-32,32]D [-50,50]D [-50,50]D

D

在实验中,将EFPA 与FPA [1]进行性能比较,其中在EFPA 中反向学习概率采用文献[13]推荐设置

f 7f 8f 9f 10

Po =0.05,其他与FPA 相关的参数均与文献[2]设置

相同. FPA 采用文献[2]中的参数设置. 为了比较的公平性,每个算法在每个测试函数上的终止条件设置为以评价次数达到400000,并分别进行30次独立实验,然后将各算法所获得的最优值与理论最优值之间的误差的平均值和标准差作为算法的性能

为了分析两种算法的动态收敛情况,图1给出了FPA 和EFPA 在6个典型测试函数上的收敛曲线. 从图1中可以知道,EFPA 比FPA 具有更快的

第36卷第3期

100平均适应值(l o g )

井福荣,等:一种使用反向学习策略的改进花粉授粉算法

500

平均适应值(l o g )

105

0-100-200-300-400-500

0.5

22.533.5

评价次数(×105)/次

(a )FPA 和EFPA 在f 1上的收敛曲线

1

1.5

4

FPA EFPA

-50-100-150-200-250

0.5

2.533.5

评价次数(×10)/次

(b )FPA 和EFPA 在f 2上的收敛曲线

5

FPA EFPA

11.524

500

平均适应值(l o g )

-100-150-200-250-300-350

0.5

平均适应值(l o g )

-50

FPA EFPA

22.533.5

评价次数(×105)/次

(c )FPA 和EFPA 在f 3上的收敛曲线

11.54

200-20-40-60-80-100-120-140-160

FPA EFPA

00.5

2.533.5

评价次数(×10)/次

(d )FPA 和EFPA 在f 6上的收敛曲线

5

11.524

0-10平均适应值(l o g )

50平均适应值(l o g )

-20-30-40-50-60-70

0.5

2.533.55

评价次数(×10)/次

(e )FPA 和EFPA 在f 7上的收敛曲线

1

1.5

2

4

FPA EFPA

-5-10-15-20-25-30-35

0.5

22.533.5

评价次数(×105)/次

(f )FPA 和EFPA 在f 8上的收敛曲线

1

1.5

4FPA EFPA

图1FPA 和EFPA 在6个典型测试函数上的收敛曲线

收敛速度.

参考文献:

4结束语

FPA 是一种新过兴起的演化算法,已经成功应

[1]Yang X S. Flower pollination algorithm for global optimization [M].Unconventional Computation and Natural Computation, Lecture Notes in Computer Science, 2012, 7445:240-249.

[2]Yang X S, Karamanoglu M, He X. Flower pollination algorithm:a novel approach for multiobjective optimization [J].Engineering Optimization, 2014, 46(9):1222-1237.

[3]Wang R, Zhou Y. Flower pollination algorithm with dimension by dimension improvement[J].Mathematical Problems in Engineering, 2014, doi:10.1155/2014/481791.

[4]Prathiba R, Moses M B, Sakthivel S. Flower pollination algorithm applied for different economic load dispatch problems [J].International Journal of Engineering and Technology, 2014, 6(2):1009-1016.

[5]Abdel -Raouf O, Abdel -Baset M, El -henawy I. A new hybrid

flower pollination algorithm for solving constrained global

用到了许多工程实践优化问题中. 为了进一步提高基本FPA 的搜索效率,提出了一种改进的FPA 算法(EFPA ). 在EFPA 的演化过程中,它以一定的概率执行一般反向学习策略来提高搜索能力. 在

10个演化计算领域内广泛使用的测试函数上,将EFPA 与基本FPA 进行了性能比较实验. 实验结果

表明一般反向学习策略能够有效地提高基本FPA 的性能,EFPA 在大部分测试函数上比基本FPA 表现出更优越的性能.

106

optimization problems

Operational Research, 2014, 4(2):1-13.

江西理工大学学报

[J].International Journal of Applied

2015年6月

particle swarm optimization using generalized opposition -based learning[J].Information Sciences, 2011, 181(20):4699-4714.[11]郭肇禄, 吴志健, 汪靖, 汪慎文, 谢承旺. 一种基于精英云变异的

差分演化算法[J].武汉大学学报(理学版) , 2013, 59(2):117-

[6]Chakraborty D, Saha S, Dutta O. DE -FPA:A hybrid differential evolution -flower pollination algorithm for function minimization [C]//International Conference on High Performance Computing and Applications, Bhubaneswar, 2014, India.

[7]Rodrigues D, Yang X S, de Souza A N, et al. Binary flower

pollination algorithm and its application to feature selection [M].Recent Advances in Swarm Intelligence and Evolutionary Computation, 2015:85-100.

[8]Dubey H M, Pandit M, Panigrahi B K. A biologically inspired

modified flower pollination algorithm for solving economic dispatch problems in modern power systems [J].Cognitive Computation, doi:10.1007/s12559-015-9324-1.

[9]Tizhoosh H R. Opposition -based learning:A new scheme for

machine intelligence [C]//Proceedingsof International Conference on

Computational

Intelligence

for

Modeling

Control

and

Automation, 2005:695-701.

[10]Wang H, Wu Z, Rahnamayan S, Liu Y, Ventresca M. Enhancing

122.

[12]Guo Z, Yue X, Zhang K, Deng C, Liu S. Enhanced social

emotional optimisation algorithm with generalised opposition –based learning [J].International Journal of Computing Science and Mathematics, 2015, 6(1):59-68.

[13]Wang H, Wu Z, Rahnamayan S. Enhanced opposition -based

differential evolution for solving high -dimensional continuous optimization problems[J].Soft Computing, 2011, 15(11):2127-2140.[14]Wang H, Rahnamayan S, Wu Z. Parallel differential evolution

with

self -adapting

control

for

parameters solving

and

generalized

opposition -based

learning

high -dimensional

optimization problems [J].Journal of Parallel and Distributed Computing, 2013, 73(1):62-73.

[15]Yao X, Liu Y, Lin G. Evolutionary programming made faster [J].IEEE

Transactions on Evolutionary Computation, 1999, 3(2):82-102.


相关文章

  • 求解旅行商问题的离散花授粉算法_李前
  • 2016年第7期 0037-072475(2016)07-文章编号:1006- 计算机与现代化 JISUANJI YU XIANDAIHUA 总第251期 求解旅行商问题的离散花授粉算法 李 111,2 贺兴时,杨新社前, (1.西安工程大 ...查看


  • 熊蜂的困境
  • 蜜蜂的嗡嗡声正从我们的生活中逐渐消失,这引起了恐慌,因为我们正在失去为植物和花卉授粉的"授粉工".蜜蜂所面临的危机获得了媒体的关注,人们写了大量这方面的文章,组织了很多活动,以引导整个社会将目光投向蜜蜂的保护工作上来.然 ...查看


  • 植物交配系统多样性及进化意义
  • 植物交配系统多样性及进化意义 摘 要 植物是地球上的主要生产者,植物交配系统复杂多样,几乎影响着地球上整个生命界的演变过程.本文结合基本概念和技术方法,主要从横向(多样性)和纵向(进化意义)两个方面考察了植物交配系统,以期望能给相关科学研究 ...查看


  • 食用农产品采购合同组合反向拍卖的优化
  • 中国流通经济2012年第11期口电子商务 食用农产品采购合同组合反向拍卖的优化 顾小林1一,浦徐进1,曹文彬1 (1.江南大学,江苏无锡214122:2.河海大学,江苏南京210098) 摘要:目前食用农产品采购成本较高.应从根本上对采购方 ...查看


  • 林木遗传学答案
  • 遗传:生物亲代与子代之间相似的现象 变异:亲代与子代之间,子代各个体之间总存在差异的想象 二价体:在减数分裂中,联会的一对同源染色体称为二价体 联会:减数分裂中,每一对同源染色体相互配对成为联会 姐妹染色单体:四合体中,由同一条染色体复制而 ...查看


  • 园艺作物育种学总论
  • 园艺作物育种学总论 第一章 绪论 1.为什么要进行园艺植物的育种? 选育园艺植物新品种是发展园艺生产的关键途径之一 发展园艺生产的途径 园艺植物栽培 园艺植物育种 育种与栽培的关系 育种为栽培提供栽培对象,栽培为新品种的选育提供技术保障. ...查看


  • 林木育种学复习题和答案
  • 网教林木育种学习题 一.名词解释 1.遗传资源 2.育种资源 3.生物多样性 4.引种 5.驯化 6.种源 7.种源试验 8.种源选择 9.种子区 10.种子区区划 11.优树 12.杂种优势 13.无性繁殖 14.无性系选育 15.采穗圃 ...查看


  • 农业种子谢谢
  • 农业种子:凡是农业生产上可直接被利用作为播种材料的植物器官都称为种子.包括:真种子,类似种子的果实,用以繁殖的营养器官种子生产:依据植物的生殖生物学特性和繁殖方式,按照科学的技术方法,生产出符合数量和质量要求的种子.它包括从良种繁育开始,经 ...查看


  • 杏花花粉活力测定和储存
  • XXXX 大学 XXXX 学院 本科生专业文献综述 题 目: 姓 名: 专 业: 班 级: 学 号: 指导教师: 花粉活力测定和贮存 Xxx 职称: 讲师 2010年11月20日 杏花花粉活力测定和贮存 作者:xxx 指导教师:xxx 摘要 ...查看


热门内容