智能优化算法:生物地理学优化算法-附代码
@[toc]
摘要:Alfred Wallace和Charles Darwin在19世纪提出了生物地理学理论,研究生物物种栖息地的分布、迁移和灭绝规律。Simon受到生物地理学理论的启发,在对生物物种迁移数学模型的研究基础上,于 2008年提出了一种新的智能优化算法 — 生物地理学优化算法(Biogeography-Based Optimization,BBO)。BBO算法是一种基于生物地理学理论的新型算法,具有良好的收敛性和稳定性,受到越来越多学者的关注。
1.算法原理
BO算法的基本思想来源于生物地理学理论。如图1所示,生物物种生活在多个栖息地(Habitat)上,每个栖息地用栖息适宜指数(Habitat Suitability Index,HSI)表示,与HSI相关的因素有降雨量、植被多样性、地貌特征、土地面积、温度和湿度等,将其称为适宜指数变量(Suitability Index Variables,SIV)。
HSI是影响栖息地上物种分布和迁移的重要因素之一。较高 HSI的栖息地物种种类多;反之,较低 HSI的栖息地物种种类少。可见,栖息地的HSI与生物多样性成正比。高 HSI的栖息地由于生存空间趋于饱和等
问题会有大量物种迁出到相邻栖息地,并伴有少量物种迁入;而低 HSI的栖息地其物种数量较少,会有较多物种的迁入和较少物种的迁出。但是,当某一栖息地HSI一直保持较低水平时,则该栖息地上的物种会趋于灭绝,或寻找另外的栖息地,也就是突变。迁移和突变是BBO算法的两个重要操作。栖息地之间通过迁移和突变操作,增强物种间信息的交换与共享,提高物种的多样性。
BBO算法具有一般进化算法简单有效的特性,与其他进化算法具有类似特点。
(1)栖息适宜指数HSI表示优化问题的适应度函数值,类似于遗传算法中的适应度函数。HSI是评价解集好坏的标准。
(2)栖息地表示候选解,适宜指数变量 SIV 表示解的特征,类似于遗传算法中的“基因”。
(3)栖息地的迁入和迁出机制提供了解集中信息交换机制。高 HSI的解以一定的迁出率将信息共享给低HSI的解。
(4)栖息地会根据物种数量进行突变操作,提高种群多样性,使得算法具有较强的自适应能力。
BBO算法的具体流程为:
步骤1 初始化BBO算法参数,包括栖息地数量、迁入率最大值和迁出率最大值、最大突变率 等参数。
步骤2 初始化栖息地,对每个栖息地及物种进行随机或者启发式初始化。
步骤3 计算每个栖息地的适宜指数HSI;判断是否满足停止准则,如果满足就停止,输出最优解;否则转步骤4。
步骤4 执行迁移操作,对每个栖息地计算其迁入率和迁出率,对SIV进行修改,重新计算适宜指数HSI。
步骤5 执行突变操作,根据突变算子更新栖息地物种,重新计算适宜指数HSI。
步骤6 转到步骤3进行下一次迭代。
1.1 迁移操作
如图2所示,该模型为单个栖息地的物种迁移模型。
横坐标为栖息地种群数量 S ,纵坐标为迁移比率 η,λ(s) 和 μ(s) 分别为种群数量的迁入率和迁出率。当种群数量为 0 时,种群的迁出率 μ(s) 为 0,种群的迁入率λ(s) 最大;当种群数量达到 S max 时,种群的迁入率 λ(s)为0,种群迁出率 u(s) 达到最大。当种群数量为 S 0 时,迁出率和迁入率相等,此时达到动态平衡状态。根据图2,得出迁入率和迁出率为:
迁移操作的步骤可以描述为:
Step1:for i= 1 to N do
Step2: 用迁入率 选取
Step3: if (0,1)之间的均匀随机数小于 then
Step4: for j= 1 to N do
Step5: 用迁出率 选取
Step6: if (0,1)之间的均匀随机数小于 then
Step7: 从 中随机选取一个变量SIV
Step8: 用SIV替换中的一个随机SIV
Step9: end if
Step10: end for
Step11: end if
Step12:end for
1.2 突变(Mutation)操作
突变操作是模拟栖息地生态环境的突变,改变栖息地物种的数量,为栖息地提供物种的多样性,为算法提供更多的搜索目标。栖息地的突变概率与其物种数量概率成反比。即
其中: 为最大突变率; 为栖息地中物种数量为 对应的概率; 为 的最大值; 是栖息地中物种数量为 对应的突变概率。
突变操作的步骤可以描述为:
Step1:for i= 1 to N do
Step2: 计算突变概率
Step3: 用突变概率 选取一个变量
Step4: if (0,1)之间的均匀随机数小于 then
Step5: 随机一个变量代替 中的SIV
Step6: end if
Step7:end for
2.算法结果
3.参考文献
[1] Simon D.Biogeography-based optimization[J].IEEE Trans-
actions on Evolutionary Computation,2008(6):702-713.
[2]张国辉,聂黎,张利平.生物地理学优化算法理论及其应用研究综述[J].计算机工程与应用,2015,51(03):12-17.
4.Matlab代码
https://mianbaoduo.com/o/bread/aJqZmZ8=