智能优化算法:蛇优化算法


文章目录

  • 智能优化算法:蛇优化算法
  • 1.蛇优化算法简介
  • 2.蛇优化算法基本原理
  • 2.1 蛇交配行为
  • 2.2 灵感来源
  • 2.3 数学模型与算法
  • 2.3.1 初始化
  • 2.3.2 将种群分为雌性和雄性两个组
  • 2.3.3 勘探阶段(没食物)
  • 2.3.4 开发阶段(有食物)
  • 3.实验结果
  • 4.参考文献
  • 5.Matlab代码


1.蛇优化算法简介

蛇优化算法是2022年提出的一种新的元启发式算法,该算法是一种模仿蛇特殊交配行为的新型智能优化算法。对于每条蛇(雄性/雌性),如果在食物数量足够,温度很低的条件下,就会努力得到最好的伴侣。

2.蛇优化算法基本原理

2.1 蛇交配行为

雄性和雌性之间的交配行为受到一些因素的影响。蛇通常在春末和初夏温度较低的时候进行交配,但蛇交配过程不仅取决于温度,还取决于食物的供应。如果温带低,且食物充足,彼此竞争的雄性会互相争斗以吸引雌性的注意。雌性有权决定是否交配。如果交配发生,雌性就开始在巢或洞穴中产卵,卵一出来就会离开。

2.2 灵感来源

蛇优化算法的灵感来源于蛇的交配行为。如果温度较低,且食物可用,蛇的交配行为发生;否则蛇只会寻找食物或吃现有的食物。基于此,将考虑蛇优化算法的搜索过程分为两个阶段:勘探和开发。勘探描述了环境因素,即寒冷的地方和食物,该阶段并不存在蛇只在它周围的环境中寻找食物的这种情况。

开发包括许多过渡阶段,以提高算法的搜索效率。如果食物是可用的,但温度很高,蛇会只关注吃可用的食物。最后,如果食物可用,且该区域很冷,则交配过程发生。在交配过程中有一些情况,即战斗模式或交配模式。在战斗模式中,每个雄性会战斗得到最好的雌性,每个雌性会努力选出最好的雄性。在交配模式中,每对蛇交配行为的发生取决于食物的可用性数量。在搜索空间中,如果交配行为发生,雌性就有可能产卵,孵化成新的蛇。

2.3 数学模型与算法

2.3.1 初始化

蛇种群初始化数学描述如下:

智能优化算法:蛇优化算法-附代码_人工智能
式中:智能优化算法:蛇优化算法-附代码_搜索_02为第i个蛇的位置;r是[0,1]范围内的随机数;智能优化算法:蛇优化算法-附代码_算法_03智能优化算法:蛇优化算法-附代码_人工智能_04分别是求解问题的上下边界。

2.3.2 将种群分为雌性和雄性两个组

假设雄性的数量为50%,雌性的数量为50%。种群被分为两组:雄性组和雌性组。用以下2个公式来划分种群。

智能优化算法:蛇优化算法-附代码_优化算法_05

智能优化算法:蛇优化算法-附代码_人工智能_06

式中:智能优化算法:蛇优化算法-附代码_机器学习_07为蛇种群的大小规模;智能优化算法:蛇优化算法-附代码_机器学习_08为雄性的数量;智能优化算法:蛇优化算法-附代码_搜索_09为雌性的数量。

评估每一组,并定义温度和食物数量

在每一组中找出最好的个体,得到最好的雄性智能优化算法:蛇优化算法-附代码_算法_10和最好的雌性智能优化算法:蛇优化算法-附代码_优化算法_11食物的位置智能优化算法:蛇优化算法-附代码_优化算法_12

温度可以用以下公式来定义:
智能优化算法:蛇优化算法-附代码_人工智能_13
式中:t为当前的迭代次数;T为最大的迭代次数。

食物数量智能优化算法:蛇优化算法-附代码_机器学习_14可以用以下公式定义:

智能优化算法:蛇优化算法-附代码_人工智能_15
式中:智能优化算法:蛇优化算法-附代码_机器学习_16为一个常数,取0.5。

2.3.3 勘探阶段(没食物)

如果智能优化算法:蛇优化算法-附代码_机器学习_17(阈值智能优化算法:蛇优化算法-附代码_人工智能_18),蛇通过选择任何随机位置来搜索食物,并更新它们的位置。要模拟勘探阶段,如下所述:

智能优化算法:蛇优化算法-附代码_人工智能_19
式中:智能优化算法:蛇优化算法-附代码_算法_20为雄性位置;智能优化算法:蛇优化算法-附代码_算法_21为随机选择的雄性的位置;rand是[0,1]范围内的随机数;智能优化算法:蛇优化算法-附代码_算法_22为雄性寻找食物的能力,计算公式如下:

智能优化算法:蛇优化算法-附代码_搜索_23
式中:智能优化算法:蛇优化算法-附代码_算法_24为随机选择的雄性的位置的智能优化算法:蛇优化算法-附代码_算法_21适应度值,智能优化算法:蛇优化算法-附代码_算法_26为雄性位置的智能优化算法:蛇优化算法-附代码_算法_20适应度值;为智能优化算法:蛇优化算法-附代码_机器学习_28一个常数,取0.05。

智能优化算法:蛇优化算法-附代码_优化算法_29
式中:智能优化算法:蛇优化算法-附代码_优化算法_30为雌性位置;智能优化算法:蛇优化算法-附代码_机器学习_31为随机选择的雌性的位置;rand是[0,1]范围内的随机数;智能优化算法:蛇优化算法-附代码_机器学习_32为雌性寻找食物的能力,计算公式如下:

智能优化算法:蛇优化算法-附代码_算法_33
式中:智能优化算法:蛇优化算法-附代码_优化算法_34为随机选择的雄性的位智能优化算法:蛇优化算法-附代码_机器学习_31的适应度值,智能优化算法:蛇优化算法-附代码_搜索_36为雄性位置智能优化算法:蛇优化算法-附代码_优化算法_30的适应度值。

2.3.4 开发阶段(有食物)

智能优化算法:蛇优化算法-附代码_机器学习_38的条件下,如果智能优化算法:蛇优化算法-附代码_优化算法_39,那么温度处于热状态(hot)。蛇只会寻找食物,位置更新公式如下:

智能优化算法:蛇优化算法-附代码_优化算法_40
式中:智能优化算法:蛇优化算法-附代码_优化算法_41为蛇个体(雄性或雌性)的位置;智能优化算法:蛇优化算法-附代码_搜索_42为蛇个体的最佳位置;rand是[0,1]范围内的随机数;智能优化算法:蛇优化算法-附代码_机器学习_43为一个常数,取2。

智能优化算法:蛇优化算法-附代码_机器学习_38的条件下,如果智能优化算法:蛇优化算法-附代码_算法_45,那么温度处于冷状态(cold)。蛇将处于战斗模式或交配模式。

(a)战斗模式

智能优化算法:蛇优化算法-附代码_算法_46
式中:智能优化算法:蛇优化算法-附代码_算法_20为第i个雄性的位置;智能优化算法:蛇优化算法-附代码_人工智能_48为雌蛇组中的最佳位置;rand是[0,1]范围内的随机数;为智能优化算法:蛇优化算法-附代码_优化算法_49雄性战斗能力。

智能优化算法:蛇优化算法-附代码_机器学习_50
式中:智能优化算法:蛇优化算法-附代码_优化算法_30为第i个雌性的位置;智能优化算法:蛇优化算法-附代码_优化算法_52为雄蛇组中的最佳位置;rand是[0,1]范围内的随机数;智能优化算法:蛇优化算法-附代码_人工智能_53为雌性战斗能力。

智能优化算法:蛇优化算法-附代码_优化算法_49智能优化算法:蛇优化算法-附代码_机器学习_55可以由以下公式计算出来:

智能优化算法:蛇优化算法-附代码_算法_56

智能优化算法:蛇优化算法-附代码_人工智能_57

式中:智能优化算法:蛇优化算法-附代码_优化算法_11为雌蛇组中的最佳位置智能优化算法:蛇优化算法-附代码_人工智能_48的适应度值;智能优化算法:蛇优化算法-附代码_算法_10为雄蛇组中的最佳位置智能优化算法:蛇优化算法-附代码_优化算法_52的适应度值;为智能优化算法:蛇优化算法-附代码_搜索_62蛇个体的适应度值。

(b)交配模式
智能优化算法:蛇优化算法-附代码_优化算法_63

智能优化算法:蛇优化算法-附代码_算法_64

式中:智能优化算法:蛇优化算法-附代码_算法_20为第i个雄性的位置;智能优化算法:蛇优化算法-附代码_优化算法_30为第i个雌性的位置;rand是[0,1]范围内的随机数;和智能优化算法:蛇优化算法-附代码_算法_67分为雄性和雌性的交配能力,可以由以下公式计算出来:

智能优化算法:蛇优化算法-附代码_优化算法_68

智能优化算法:蛇优化算法-附代码_机器学习_69

式中:智能优化算法:蛇优化算法-附代码_算法_26为第i个雄性位置的适应度值;为智能优化算法:蛇优化算法-附代码_搜索_36i个雌性位置的适应度值。如果卵孵化,选择最差的雄性和雌性,并替换它们。

智能优化算法:蛇优化算法-附代码_算法_72

智能优化算法:蛇优化算法-附代码_人工智能_73

式中:智能优化算法:蛇优化算法-附代码_算法_74为雄蛇组中的最差位置;为智能优化算法:蛇优化算法-附代码_机器学习_75雌蛇组中的最差位置。

算法流程如下:

智能优化算法:蛇优化算法-附代码_人工智能_76

3.实验结果

智能优化算法:蛇优化算法-附代码_人工智能_77

4.参考文献

[1] Hashim, F. A., & Hussien, A. G. (2022). Snake Optimizer: A novel meta-heuristic optimization algorithm.Knowledge-Based Systems, 108320.

5.Matlab代码