蜂群算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
◆ 在空间搜索的每一步,蜂后Q通过式(5.1)来计 算选择雄蜂D进行交配的概率 prob(Q, D) :
prob(Q, D) e
( f ) S (t )
(5.1)
式中
( f )
prob ——成功交配的概率;
——雄蜂D所对应的适应度(通常为目标函数 值)与蜂后Q所对应的适应度之差的绝对值;
S (t 1) * S (t )
E (t 1) E (t )
式中
(5.2) (5.3)


——速度衰减因子 [0,1] ——能量的递减量
13
MBO算法的流程
该算法假定只有一只蜂后,令蜂后代表欲求解问题的当前最优解,该解 可用蜂后的染色体进行描述。基本流程如下: ◆ step1、 随机产生蜂后的染色体,即问题的最初解,并应用局部搜索 算法优化该初始解,得到一个质量较高的蜂后。 ◆ step2、当蜂后婚飞次数未达到预先给定的最大值时。 1) 初始化蜂后的能量和速度, 2) 当蜂后的能量大于0时或者受精囊未装满时 蜂后在状态空间进行飞行,依据5.1选择交配的雄峰。 如果雄蜂被蜂后选中,则将该雄蜂的精子加入蜂后的受精囊。 依据式(5.2)和式(5.3)更新蜂后的能量和速度。 3)通过单倍体交叉及变异操作产生多个幼虫。 工蜂来照顾各个幼虫。
14
MBO算法的流程
如果最优幼虫(适应度最大的幼虫)所对应的适应度大于蜂后所对应的 适应度。则用最优幼虫的染色体代替蜂后的的染色体。即更新当前最优 解。 4)杀死其他的幼虫(增强解的多样性);婚飞次数加1,转步骤1)。 ◆ 输出蜂后所对应的最优解,算法结束。 该算法流程的几点说明: (1)由于蜂后代表欲求解问题的当前最优解,因此蜂后基因的优劣直接影 响算法的收敛速度及最终结果。如果在初始时能给蜂后赋予较优的基因, 也将大大加快算法的收敛,提高算法的性能。因此,在算法的步骤(1) 采用了局部搜索算法对蜂后进行优化。 (2)由于雄蜂是单倍体,因而雄蜂的精子只代表部分解,即未给出解的全 部信息。 (3)蜂后的受精囊中装入的是所有与其进行交配的雄蜂的精子。 (4)所产生的各个幼虫,即为所产生的新解
S (t )
——蜂后Q在时刻t的速度。
11
◆ 算法初始时刻,蜂后速度较大,跟多个雄 峰交配,种群的多样性能较好的保留下来; 后期,蜂后速度较小,雄蜂的适应度起主 要作用,蜂群的良好基因得以保留。
12
prob(Q, D) e
( f ) S (t )
◆ 从式(5.1)显然可以看出,在蜂后Q婚飞的开始时刻(此 时速度较大),如果雄蜂D的适应度和蜂后Q的适应度相 同时,那么蜂后Q选择与雄蜂D交配的概率较大。但是随 着时间推移,蜂后的速率S和能量E将分别根据式(5.2) 和式(5.3)得到衰减。
智能优化算法
蜂群算法
作者:
蜂群的构成
◆ 模仿蜂群独特的繁殖、采蜜等行为的任何一种算法统称为 蜂群算法 ◆ 蜂群有严格的分工,每个普通蜂群通常有蜂后(或称为蜂 王)、雄蜂、工蜂和幼蜂组成。 ◆ 蜂后:是蜂群中唯一具有生殖能力的雌蜂,主要任务是与 不同的雄蜂进行交配与产卵。 ◆ 工蜂无生殖能力,负责照顾幼蜂、采蜜等工作。 ◆ 雄蜂:由未受精的卵发育而来,是整个蜂群的“警卫”和 “父亲”
1.寻找最优解的过程
在人工蜂群算法的过程,蜂群寻找食物源的过程就是寻找待优化问题最 优解的过程,而食物源就是待优化问题解空间中的点。换言之,每个食 物源对应问题的一个解。食物源的质量对应优化问题的适应度。适应度 越高,该食物源的质量越优,也就是该食物源的收益率越高,所对应的 解最优。
16
◆ 某食物源被放弃
◆ (1)蜜蜂之间的通信。蜜蜂之间采用一种相当精确的通信方法
来进行交流,即舞蹈。
◆ (2)采蜜过程。根据在寻找食物源和采蜜过程中所扮演的不同角
色,蜂群中的个体被分为雇佣的蜜蜂和未被雇佣的蜜蜂。因此,蜂群 实现采蜜行为包括食物源、被雇佣的蜜蜂和未被雇佣的蜜蜂3个基本 部分。 ◆ 食物源 的价值由多方面因素决定,如离蜂巢的远近、包含花蜜的丰富 程度和获得花蜜的难易程度。通常使用参数——食物源的收益率来代 表各个因素。
2
蜜蜂的行为
蜂群的繁殖进化过程如图
雄蜂
蜂王 每次选择 一只雄蜂 (可多次 选择)
被选雄蜂
交配 产卵
如果最好的 幼蜂优于蜂 王则替换
工蜂
幼蜂
照顾 幼蜂
被选 幼蜂
选择最好的幼蜂
3
◆ 由图可以看出,蜂后担任了蜂群的繁殖任务。蜂后性成熟 后,年轻的蜂后会进行婚飞(为了交配而飞行),7-20只 雄蜂会追随其后,蜂后选择其中一只雄蜂与其进行交配, 直至他的受精囊装满精子后,便飞回蜂巢。3天后蜂后进 行产卵,未受精的卵孵化成雄蜂,受精卵则根据所提供的 食物质量孵化成下一代蜂后。
来自百度文库
◆ 首次交配时,蜂后的飞行速度最快,每交配一次,蜂后的 飞行速度有所衰减,当蜂后弱到一定程度时,则由成熟且 胜任的幼蜂代替,即产生新一代蜂后,原蜂后的生命周期 结束。 ◆ 可见,蜂群繁殖进化过程也是蜂后不断更新的过程
4
采蜜行为
◆ 真实的蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵) 中采蜜,并能适应环境的改变。那么种群之间是如何进行通信和采蜜 的呢?
待求解问题
可行解 适应度 收敛速度 最优解
9
蜂群算法简介
◆ 在蜂群繁殖过程中,蜂后的婚飞起着关键作用。 婚飞可看作是在空间区域的一系列状态之间进行 转移,蜂后以一定的速率穿梭于空间中的不同区 域,并在各个区域内随机的与碰到的雄峰交配。 在婚飞的开始时刻,算法给蜂后赋予较大的能量 和速度,使其快速飞行,进行大范围跳跃,并随 机产生雄蜂。随着能量的逐渐降低,蜂后开始低 速寻找雄蜂。在能量消耗至接近于零或在受精囊 装满时,蜂后返回蜂巢
引领蜂:发现食物源的蜜蜂,又称为雇佣蜂 未被雇佣的蜜蜂分为跟随蜂和侦察蜂。
5
蜜蜂的采蜜机理
6
蜜源或非蜜源
蜜源A
UF EF2
S
S
卸蜜房
UF EF1
EF1
R R
为A招募跳舞区 为B招募跳舞区
UF EF1
S
蜂巢 S
蜜源或非蜜源 EF2
卸蜜房B
EF2 EF1 UF EF 2
蜜源B
7
◆ 上述蜜蜂的采蜜过程(即寻找高质量食物源的过程)类似 于进化计算中的搜索待求解问题最优解的过程,可用数学 模型表示,采用食物源位置对应待求解问题的可能解;食
0, F ( X i ) F (Vi ) triali triali 1, F ( X i ) F (Vi )
(5.6)
17
0, F ( X i ) F (Vi ) triali triali 1, F ( X i ) F (Vi )
18
如果引领蜂和跟随蜂在食物源 X i的领域内产生的新的食物源 Vi 的收益率高于X i ,则放弃食物源 X i ,即 X i 被 Vi 替换;否则, 保留 X i 。 人工蜂群算法ABC规定:如果某个食物源在预先设定的迭代 次数内未得到改进,该食物源则被放弃。显然,预先设定的 迭代次数是一个很重要的控制参数,通常称之为”limit“。 可采用变量 triali 来记录食物源 X i 未被更新的次数,该值得 计算公式定义为
物源质量对应每个可能解的适应度,用来决定整个算法的
优化方向,食物源质量的最大值对应求解问题的最优解; 采蜜相当于搜索最优解,而采蜜的速度对应求解的速度。
表中总结了蜜蜂采蜜行为与待求解的对应关系。
8
蜂群采蜜行为与待优化求解问题的对应关系
蜂群采蜜行为
食物源位置 食物源质量 采蜜速度 食物源质量最大值(最大收益度)
15
基于蜜蜂采蜜机制的蜂群算法
◆ 最常见的基于蜜蜂采蜜行为的蜂群算法是Karaboga 2005年提出的工 蜂群算法,通常称该算法为标准(或原始)人工蜂群算法,其主要是 为了解决多维和多模的函数优化问题。 ◆ 人工蜂群算法非简单、非常灵活、非常健壮,能被用于组台优化同题。 ABC算法的建模过程如下。
相关文档
最新文档