【智能优化算法】基于花朵授粉算法求解单标目优化问题附
matlab代码
1 简介
花朵授粉算法( Flower Pollination Algorithm,FPA)是由英国剑桥大学学者Yang 于2012年提出
的,其基本思想来源于对自然界花朵自花授粉、异花授粉的模拟,是一种新的元启发式群智能随机优化
技术 。
据统计,目前在自然界中被人类发现的植物大约有 37 万 种,显花植物大约占有 20 万种,而其中
80% 的植物依靠生物授粉繁衍后代。花植物已经进化了大约 1. 25 亿年,在演化过程中,花朵授粉在
花植物繁衍过程中承担着举足轻重的作用,对于花植物,如果没有花,很难想象植物世界是个什么样
子。人类的发展和生存与跟花植物也是息息相关的,例如人们生活中吃的苹果等水果都是花朵授粉的结
果。花朵授粉是通过花粉的传播来实现,而花粉的传播主要是靠昆虫及动物来完成。在实际授粉过程
中,一些花朵仅仅吸引和依靠一种特定的昆虫来成功授粉,即一些花朵与传粉者之间形成了一种非常特
别的花—传粉者伙伴关系。授粉形式主要有非生物和生物两种,大概 90% 的显花植物是属于生物授粉植
物,即花粉主要是通过动物和昆虫来传播而实现繁衍后代。大约 10% 的显花植物是属于非生物授粉植
物,不需要任何传粉者来传播花粉,而是通过自然风或者扩散途径来完成传粉,以实现子代的繁殖。在
依赖生物传粉的显花植物中大约有 85% 的植物是由蜜蜂完成传粉的,蜜蜂在实际传粉中可能只对一些特
定花植物进行传粉,而忽视其他种类的花植物,这样以便以最小的代价获得最大的收益。同时对于一些
花植物而言,也获得更多的传粉机会,繁衍更多的后代。根据显花植物的授粉对象不同,可分为异花授
粉和自花授粉两种。在一般情况下,异花授粉是两性花,一般一朵花的雌蕊接受的花粉是另一朵花的雄
蕊的花粉,这就是所谓的异花授粉。自花授粉是显花植物成熟的花粉粒传到同一朵花的柱头上或同一种
显花植物的不同花之间进行传粉,并能正常地受精结实的过程。由于传粉者鸟、蜜蜂等能飞行很长的距
离,故异花授粉可以发生在远距离的地方,这种方式称为全局授粉。另外,鸟和蜜蜂具有 Levy 飞行的行
为,跳或飞行的步长服从 Levy飞行分布。而自花授粉称为局部授粉。
花朵授粉算法是模拟自然界中显花植物花朵传粉的过程,该算法的理想条件假设如下:
a) 生物异花授粉是带花粉的传粉者通过 Levy 飞行进行的全局授粉过程。
b) 非生物自花授粉是局部授粉过程。
c) 花的常性可以被认为是繁衍概率,繁衍概率与参与的两朵花的相似性成比例关系。
d) 转换概率 p∈[0,1]控制全局授粉与局部授粉之间的转换,由于物理上的邻近性和风等其他因素的
影响,局部授粉在整个授粉活动中是一个非常重要的部分 p。
然而,在现实的自然界中,每一棵显花植物可以开好多朵花,每朵花产生数百万甚至数十亿的花粉配
子。但是,为了把问题简单化,假设每棵显花植物仅仅只开一朵花,且每朵花仅产生一个花粉配子。因
此,问题经过简化后,意味着一朵花或一个配子就对应于优化问题中的一个解。