首页 分享 花朵授粉算法【记录】

花朵授粉算法【记录】

来源:花匠小妙招 时间:2024-11-01 22:12

最近在做寻优算法,到了花朵授粉算法时,发现网上可用的资料不多,大部分为期刊论文,通过阅读一些期刊论文稍微了解了一点,遂做一个记录。

花朵授粉算法( Flower Pollination Algorithm,FPA)是由英国剑桥大学学者Yang于2012年提出的,其基本思想来源于对自然界花朵自花授粉、异花授粉的模拟,是一种新的元启发式群智能随机优化技术 。算法中为了简便计算,假设每个植物仅有一朵花,每朵花只有一个配子,我们可以认为每一个配子都是解空间中的一个候选解。

Yang通过对花朵授粉的研究,抽象出以下四大规则:

1) 生物异花授粉被考虑为算法的全局探测行为,并由传粉者通过Levy飞行的机制实现全局授粉;

2)非生物自花授粉被视作算法的局部开采行为,或称局部授粉;

3)花朵的常性可以被认为是繁衍概率,他与两朵参与授粉花朵的相似性成正比例关系;

4)花朵的全局授粉与局部授粉通过转换概率 p∈[0,1]进行调节。 由于物理上的邻近性和风等因素的影响,在整个授粉活动中,转换概率 p是一个非常重要的参数。 文献[1]中对该参数的试验研究认为,取 p =0.8 更利于算法寻优。

直接上步骤(以多元函数寻优为例):

目标函数 : min g = f(x1,x2,x3,x4...........xd)

设置参量:N(候选解的个数),iter(最大迭代次数),p(转换概率),lamda(Levy飞行参数)

初始化花朵,随机设置一个NXd的矩阵;

计算适应度,即函数值;

获取最优解和最优解得位置;

A循环 1 : 1 :iter

    B循环

        if rand < p

            全局授粉;

        else

            局部授粉;

        end if

        更新新一代的花朵与适应度(函数变量和函数值);

    B循环end

    获取新一代的最优解与最优解位置;

A循环end

全局更新公式:xi(t+1) = xi(t) + L(xi(t) - xbest(t))    L服从Levy分布,具体可以搜索布谷鸟算法。

局部更新公式:xi(t+1) = xi(t) + m(xj(t) - xk(t))    m是服从在[0,1]上均匀分布的随机数。其中,xj和xk是两个不同的个体

相关知识

改进的花朵授粉算法程序(Matlab)资源
整数规划的花授粉算法
改进的花朵授粉算法在物流配送中心选址问题中的应用
基于花授粉算法优化实现SVM数据分类
一种给草莓花朵授粉的末端执行器及装置
物流配送路径规划模型及其改进TLBO算法研究
js植物算法
花朵如何授粉
基于正余双弦自适应灰狼优化算法的医药物流配送路径规划
基于R语言的害虫预测算法设计

网址: 花朵授粉算法【记录】 https://www.huajiangbk.com/newsview321638.html

所属分类:花卉
上一篇: 喜欢在夜间绽放的一些美丽花朵!
下一篇: 摩尔庄园花卉授粉攻略 摩尔庄园花

推荐分享