文章 "大逃杀优化器(BRO)"

 

新文章 大逃杀优化器(BRO)已发布:

本文探讨了大逃杀优化器算法 —— 这是一种元启发式算法,其中各解与其最近邻进行竞争,累积"伤害",当超过阈值时被替换,并周期性地在当前最优解周围缩小搜索空间。文章提供了CAOBRO类的伪代码及MQL5中的实现,包括邻近搜索、向最优解移动以及自适应δ间隔。在Hilly、Forest和Megacity测试函数上的实验结果突出了该方法的优势与局限性。读者可以获得一套开箱即用的基础框架,用于实验和调优关键参数,如种群大小(popSize) 和最大伤害值(maxDamage)。

可以将BRO算法形象地理解为一个虚拟世界:众多玩家降落在战场,最终只能有一人存活。这正是该类游戏的核心机制。现在,我们将这一理念引入优化问题的求解中。

在算法初始阶段,我们会生成一个解的种群,并将其随机分布在搜索空间内。每个解都是一名独特的“玩家”,拥有对应的位置和该位置的优劣程度(适应度)。随后进入核心竞争循环:每个解都会与其最近邻解进行比较,如同玩家在战场中相互对决。

当两个解“相遇”时,会根据其优劣展开比拼。更优解被判为胜利者,受到0点伤害;较差解被判为失败者,受到1点伤害。此伤害计数器是本算法的核心特征。失败解不仅会承受伤害,还会向种群中当前的最优解方向移动,尝试改善自身位置。这一移动模拟了玩家为求生存而寻找更安全、更有利位置的行为。

如果某个解累积的伤害过高(超出设定阈值),它就会被“淘汰出局” —— 从种群中移除,并由新的随机解替代。这就如同大逃杀游戏中玩家被淘汰后,下一局会有新玩家加入一样。该机制确保了种群的持续更新,并维持了解的多样性。


作者:Andrey Dik

 
它看起来非常有趣,我打算试一试,看看我一直在测量的几个因素组合的最优解。