1. 头脑风暴算法简介
(以下描述,均不是学术用语,仅供大家快乐的阅读)
可能大家对“头脑风暴”这个词不怎么熟,毕竟是外来词汇,其大概含义就是分组讨论,畅所欲言。
头脑风暴算法(Brain Storm Optimization)是根据人们进行“头脑风暴”讨论困难问题的解决方案的过程而提出的优化算法。算法提出于2011年,很高兴,这又是一个中国人提出的优化算法,不过该算法的描述和实现都比较复杂,相关的论文也不多,大家可以尝试对其进行“开发”。
头脑风暴算法中,每个人的位置(idea,描述为位置更好理解)表示解空间中的一个可行解。群体将会被分为几组来进行它们的头脑风暴,每组中位置最好的人被称为该组的leader,也叫聚类中心。每个个体有两种方式来到达新的位置:独自思考,融合思考,而每个组的leader还有一种新的方式:随机思考。每个人将根据一定的规则选取其移动方式,并选择是否更新为这个新的idea。具体实现比较复杂,下一节将详细描述。
2. 算法流程
人群中的个体数量为N, 其idea(位置,其实还是用位置来描述更加方便)为 ,其适应度值为 。
头脑风暴算法大体分为两步