元启发式优化算法-智能优化算法-群体智能优化算法大全
现有几十种优化算法已经整理好,包括但不限于ABC人工蜂群算法、AEFA人工电厂优化算法、AFO帝企鹅、AO Aquila优化器、AOA阿基米德优化算法、AOA算数优化算法、ASO原子搜索算法、BAT蝙蝠优化算法、BBO生物地理学优化、BES秃鹰搜索优化算法、BH黑洞优化算法、BOA蝴蝶优化算法、BSA鸟群算法、COA郊狼优化算法、CSA乌鸦搜索算法、CSO布谷鸟优化算法、CSO猫群优化算法、DA蜻蜓优化算法、DE差分进化算法、EFO电鱼优化算法、EHO象群优化算法、FA萤火虫优化算法、GA遗传算法、GOA蝗虫算法、GSA引力搜索算法、GTO人工大猩猩、GWO灰狼优化算法、HHO哈里斯鹰优化算法、KHO磷虾群算法、LAPO闪电算法、LSA闪电搜索算法、MFO飞蛾扑火算法、MPA海洋捕食者算法、MRFO蝠鲼觅食优化、MSA蛾群优化算法、PIO基础鸽群化算法、Political Optimizer (PO)政治算法、PPA寄生捕食算法、PSO粒子群算法、SBO缎蓝园丁鸟优化算法、SCA正余弦优化算法、SFO旗鱼优化算法、SFS随机分形搜索、SHO斑点鬣狗优化器、SHO自私群体优化、SNS社交网络优化、SOA海鸥优化算法、SSA麻雀搜索算法、SSA尊海鞘优化算法、SSO社交蜘蛛、STOA乌燕鸥优化算法、WCA水循环、WOA鲸鱼优化算法、YSGA绯鲵鲣优化算法、和声优化算法、足球优化算法、帝国主义优化算法、猫群优化算法、混合蛙跳算法等,包含代码和文章。
介绍一下WOA鲸鱼算法、SFLA混合蛙跳算法和DE差分进化算法,其他的算法将在后续博客中讲解。
WOA算法
Mirjalili等人受到座头鲸的螺旋气泡网捕食策略的启发,提出一种新型的启发式鲸鱼优化算法。WOA包括包围猎物、泡泡网攻击以及随机搜寻三种位置更新方式,WOA流程图如图1所示。
1.包围猎物
为了合作捕食,鲸鱼将目前搜寻到的猎物信息共享,然后鲸鱼向当前群体中最接近猎物的那头鲸鱼靠近,根据位置最优的鲸鱼对当前鲸鱼\vec{X}进行位置更新,更新公式如下:
2.泡泡网攻击
根据螺旋方程(6)-(7),在当前鲸鱼个体和猎物的位置之间模拟座头鲸的螺旋状运动来更新当前鲸鱼个体的位置。
鲸鱼在螺旋搜寻猎物的时候,还会收缩包围圈,所以为了模拟这种行为,需要包围猎物和螺旋搜寻同步进行,即以相同的概率进行收缩包围圈或者螺旋搜寻捕食。更新公式如下:
其中p是一个0到1之间的随机数,用于指示更新模式的选择概率。
3.随机搜寻
混合蛙跳算法
SFLA是Eusuff和Lansey等人为了解决组合优化问题提出的一种基于群体的协同搜索算法。混合蛙跳算法的思想是:青蛙捕食时会通过信息交流来调整位置。首先将整个青蛙种群分为不同的子种群,每个子种群执行局部搜索策略,对最差的青蛙进行位置调整。当子种群迭代到规定的次数后,各个子种群合并从而进行全局交换。局部搜索的过程和全局信息交换的过程循环进行, 直到满足结束条件。以下是混合蛙跳算法全局信息交换的步骤:
- 步骤1:初始化种群,并且计算种群中每只个体的适应度值。根据适应度值对F只青蛙进行排序,记录最优适应值的青蛙的位置Pb。
- 步骤2:现将包含F个青蛙的种群划分成m个模因组,则每个模因组中有n=F/m只青蛙。若m=3,则分配原则为:第1只蛙划分到模因组1, 第2只蛙划分到模因组2, 第3只蛙划分到模因组3, 第4只蛙划分到模因组1, …, 以此类推。
- 步骤3:蛙跳算法局部搜索流程如图2所示。每个模因组根据公式(10)-(12),按图2进行单独进化。
- 步骤4:每个模因组单独进化之后,重组成一个包含F只青蛙的种群。根据适应度值对F只青蛙进行排序,并且更新最优适应值的青蛙的位置Pb。
- 步骤5:如果满足定义的迭代条件,就终止算法。否则,返回步骤2。
DE算法
DE算法是 Rainer Storn 和 Kenneth Price为求解有关切比雪夫多项式的问题时提出来的。差分进化通过变异、交叉和选择三个关键操作来不断地迭代计算。首先DE算法随机在群体中选取几个元素进行变异操作,然后变异操作得到的变异个体与当前个体进行交叉操作得到中间体,最后判断中间体与当前个体的优劣,保留适应度值好的个体。
变异操作是以为群体中的所有元素为基础,随机选取几个元素,其中一个为基向量,其余的元素相互做差形成差向量,来构造变异操作。共有下面的几种基向量和差向量的组合情况:
交叉操作是交换已经变异的个体与当前个体在某些维度上的值进而形成新的个体。二项交叉的公式为:
选择操作是在种群变异和交叉后的个体中选择能够进入下一代种群中的个体。如果新个体的适应度优于当前个体,则用新个体代替当前个体,否则保留当前个体。
其他算法
全部算法资源下载:https://mianbaoduo.com/o/bread/YpiVkptp
联系我:406090313