数据驱动的发展式头脑风暴优化算法综述

程 适1, 陈俊风2, 孙奕菲3, 史玉回4

(1.陕西师范大学 计算机科学学院,陕西 西安 710119; 2.河海大学 物联网工程学院,江苏 常州 213022; 3.陕西师范大学 物理学与信息技术学院,陕西 西安 710119; 4.南方科技大学 计算机科学与工程系,广东 深圳 518055)

摘 要: 头脑风暴优化(brain storm optimization,BSO)算法是一种新兴的群体智能优化方法,以众人集思广益解决问题为原型,抽取其中解决问题的模式,将其抽象为智能优化算法.介绍了头脑风暴优化算法的优化算子和基本原理,在对基本头脑风暴优化算法和目标空间中的头脑风暴优化算法比较的基础上,对头脑风暴优化算法的研究现状,包括群体多样性、求解不同类型问题和实际应用的研究现状进行了全面的综述.最后对头脑风暴优化算法有待进一步研究的问题进行了展望.

关键词: 头脑风暴优化算法; 发展式群体智能; 收敛操作; 发散操作

0 引言

头脑风暴优化(brain storm optimization,BSO)算法是一种新的群体智能优化算法[1-2]. 这种算法的特点是将群体智能优化方法和数据挖掘/数据分析的方法进行了融合,以数据分析的方法为基础去选择相对较好的解.通过对待求解问题中大量解的数据进行分析,根据待求解问题特征与算法优化过程中生成解集合的分布情况,建立待求解问题解的结构(landscape),在待求解问题与算法的关联基础上,更好地求解问题.BSO 算法通过聚类/分类方法分析解集合构成,基于解的分布生成新解,经过迭代求解,具有求解过程不依赖数学模型的特点.作为一类启发式的随机算法,群体智能算法将最优化问题视作在解空间(solution space)上的搜索最优值的搜索问题,通过启发式信息来指导搜索过程.

对于群体智能优化算法,通过改变算法的参数设置,可以控制算法的收敛和发散操作;而头脑风暴优化算法能将收敛和发散操作同时嵌入到算法的每一步迭代操作中,体现了群体智能优化与数据挖掘的结合.在传统的群体智能优化算法中,每一个群体的解,都被引导向解空间中更好的解变化.最好的解就是优化的目标,而在新的算法中,将所有的解视为整体.每一个个体既是问题的一个解,也是一个数据(data),为解空间中的一个样例(sample).而通过对解集合的变化分析,可以得到解空间中优秀解的分布情况,或者解空间中解的“峰值”的多寡.

头脑风暴优化算法于 2011年提出,算法模拟了一种人类集思广益求解问题的集体行为,也就是头脑风暴过程[1-3].分类是自然选择的过程,将群体分解为具有不同性质的集合.BSO 算法中的解集合被分到不同的簇中,通过对一个解或两个解的组合进行变异(mutation)来生成新的解集合.头脑风暴优化算法是一种典型的发展式群体智能算法,具有两种主要算子:收敛算子与发散算子.在搜索空间中,对解集合不断地进行收敛和发散操作,可以获得“足够好”的优化解.在头脑风暴优化算法中, 解集合被聚集到几个簇中,通过对簇中心或其他现存解的变异来生成新解.BSO算法的一个显著特性是其发展势能(capacity developing)[4],即在搜索中的自适应过程.

近年来,头脑风暴优化算法得到了学术界的广泛关注,但由于算法提出时间较晚,目前的研究成果比较分散.基于此,笔者将针对 BSO 算法及其最新研究成果进行较全面的综述,并指出未来值得关注的研究方向.

1 头脑风暴优化算法

1.1 研究背景

头脑风暴方法是指将一些人聚集起来,对单个人难以解决的问题进行集思广益,从而产生解决问题的灵感.在这一过程中,重要的不是这些想法一时的正误,而是不断提出新的想法,并在这些想法的基础上继续扩展,最终找到解决问题的方法.头脑风暴优化算法借鉴了这一过程中的核心思想:延后评判、大胆假设、交叉借鉴以及以量取胜,通过大量的设想,最终极大可能性产生一个优秀的问题解决方案.算法在优化测试函数上取得了良好的效果.这种新算法结合了群体智能算法与数据挖掘方法的优势,将群体智能优化算法中的每个解视为一个数据点,通过对数据点的聚类,找到问题的最优解.

1.2 基本头脑风暴优化算法

BSO算法借鉴了人群的求解问题时集思广益的集体行为,即头脑风暴过程.算法中的每一个个体在这里代表一个潜在的问题的解,通过个体的演化和融合进行个体的更新,这一过程与人类头脑风暴的过程相似.算法的初始实现过程很简单:

(1) 产生n(种群大小)个待求解问题的解(个体),然后用聚类算法将这 n个个体分为m(预先设定的参数)类,通过评估这n 个个体,将每一类中的个体进行排序,选出每一类内最优的个体作为该类的中心个体;

(2) 随机选中一个类的中心个体,按概率大小确定它是否被一个随机产生的个体所替代;

(3) 进行个体的更新过程,通过某一种方式产生新个体.

基本BSO算法具有概念简单,易于实现的特点, 笔者给出了BSO算法的基本流程. 在算法中,存在3种基本算子:解集合聚类、新解生成和新解选择算子[5].

头脑风暴优化算法基本流程如下:

步骤1 初始化:随机生成n个初始个体 (初始解),并分别计算n个个体的适应度值.

步骤2 如未找到“足够好”的解或未达到预先设定的最大迭代次数,重复以下步骤:

1) 解集合聚类:通过聚类算法将n个个体聚类到 m个簇中;

2) 生成新解:随机在一个或两个簇中选择解去生成新的解个体;

3) 新解选择:将新的生成解与相同编号的原有解进行比较,存储拥有好的适应值的解,作为新解进入迭代.

步骤3 计算n个个体的函数值.

在BSO 算法求解中,解集合被收敛到数个簇中,通过对簇中一个解或两个解的组合进行变异生成新解,将新的生成解与相同编号的原有解进行比较,存储拥有好的适应值(fitness value)的解并作为新解进入迭代.当生成的新解距离已知最优解较近时,算法倾向于开发能力;而当新解随机生成或基于两个簇生成时,算法强化了探索能力.

BSO 算法是一种将搜索空间不断缩减的算法,通过不断迭代, 最终所有解将聚集到有限的簇中.这些簇对应着待求解问题的局部最优解. 拥有较好适应值的解所包含的信息,在簇间进行不断传递. 算法随机产生初始解,首先对解空间进行探索,在不断地迭代后,对探索(exploration)和开发(exploitation)达到一个平衡状态.

1.2.1 解集合聚类

对解集合进行聚类的目的是将解集合收敛到一些小的搜索区域. BSO算法可以使用不同的聚类方法,在最初的 BSO 算法中,使用了k-均值(k-means)聚类算法. 聚类是将相似个体分到同组的过程.在机器学习中,聚类分析也被称为无监督学习(unsupervised learning).N个数据点作为输入,将N个点分组到不同的类别中.在分组过程中,通过点之间的相似度计算,可以得到数据中所包含的有用信息.在BSO算法中,解集合分布在整个搜索空间中,可以通过解集合的分布情况来揭示待求解问题的结构(landscape).

算法使用了k-means 聚类将n个解聚类到m 个簇中,通过聚类将解集合分为不同的类别.通过聚类操作,可以对搜索区域进行“精益求精”.经过多次迭代后,所有的解以大的几率被聚类到一个小的搜索区域. 概率参数 pclustering用来控制使用随机解替换聚类中心的概率,可以防止算法过早的收敛,并有助于解跳出局部极值.

1.2.2 新解生成

算法随机选择一个或两个类别来生成新解,一个新的个体可以基于一个或多个已有个体进行生成. 在初始的 BSO 算法中,概率参数 pgeneration被用来确定新解是基于一个现有解,或两个现有解的组合来生成. 从一个聚类簇中生成新解,可以对一个搜索区域进行精细搜索,算法集中于开发的能力.对应地,基于两个或多个聚类簇生成的新个体可能距离原有的簇中心很远,在这种情况下,算法更集中于探索的能力.

概率参数 poneCluster和概率参数 ptwoCluster分别用来控制在一个簇或者两个簇的情况下,选择簇中心或普通解(非簇中心)来生成新解. 在一个簇生成新解中,通过簇中心或簇中解生成新解,可以控制算法的开发区域;而在多个簇生成新解中, 新解基于多个解的信息,可以保持算法的群体多样性.

根据公式 (1) 和 (2)生成新的解:

ξ(tN(μ,σ2);

(1)

ξ×rand(),

(2)

式中:分别表示解 xnewxold的第i 维度值;N(μ,σ2)为基于正态分布的随机数;rand() 是一个函数,用来生成在[0,1)区间随机数;xold的值为当前解集合中一个解或两个解的组合;参数T 是最大迭代次数;t为当前迭代次数;k是控制 logsig(·)函数的系数,用来改变 ξ(t)的搜索步长,进而用来平衡算法的收敛速度.传递函数logsig(·)定义如公式 (3) 所示:

.

(3)

1.2.3 新解选择

新解选择是将具有较好适应值的解保存在解集合中.新解生成后,具有较好函数适应值的解通过选择策略被保存,而聚类和生成新解策略为群体带来新的解,可以保持解集合的群体多样性.

1.3 目标空间的头脑风暴优化算法

在初始的BSO算法中,在每一次迭代中的聚类算法需要消耗大量计算资源,降低了求解的效率.为了提高计算效率,目标空间的头脑风暴优化算法(brain storm optimization in objective space,BSO-OS)使用了一个简单的基于适应值的分类方法,将解集合分为精英类与普通类.分类算法代替了聚类算法.对现有解进行分析,有效地利用了目标空间的求解信息[6].

基本BSO算法与目标空间BSO算法的区别在于新解生成策略. 在基本BSO算法中, 解集合被聚类到不同的簇中;而在目标空间BSO算法中,根据解的函数值的优劣,解集合被分为两类:精英解和普通解.

2 研究现状

一个好的群体智能优化算法,应具有实现简单、求解速度快的特点.现有BSO算法的研究多集中在理论分析、算法改进和算法应用等方面,其中包括:

(1) 算法的理论分析,包括多样性分析和参数分析;

(2) 改进算法的搜索效率,例如,加快解集合的收敛速度;

(3) 应用头脑风暴优化算法求解多种优化问题,例如多目标优化问题,多模态优化问题;

(4) 应用头脑风暴优化算法求解实际优化问题.

2.1 算法分析

BSO 算法概念简单,目前算法分析的初步成果包括:不同参数设置对算法搜寻性能的影响分析[7]; BSO 算法中的解聚类现象研究;在优化过程中对平均聚类数目进行观测[5];BSO算法群体多样性定义与观测[8-9];算法收敛性分析[10];解集合部分解重新初始化的方法也被用来保持解群体的多样性,协助解跳出局部极值[9].部分初始化的目的是为了增强算法跳出局部极值的能力,并保持算法的搜索能力.BSO算法是一种发展式群体智能方法,发展式群体智能框架也被用来分析BSO算法,收敛和发散两种操作分别对应着发展式群体智能框架中的发展势能和学习能力[11-12].

2.2 算法改进

为了求解不同类型的优化问题,需改进 BSO 算法的求解性能.基于算法的3个算子,研究者们提出了不同的改进策略,这些改进可以简单地分为3个类别:解集合聚类、新解生成和混合算法[11].

2.2.1 解集合聚类

在初始BSO算法中采用了k-means聚类算法,算法需要数次迭代才能对解集合进行分组. 为了提高算法的计算效率,不同的分组策略被用来替换原始BSO算法中的k-means 聚类算法.这些分组策略包括:简单分组方法(simple grouping method, SGM)[13];近邻传播聚类(affinity propagation clustering)[14]k-medians 聚类算法;随机分组策略(random grouping strategy);全局最优(global-best)BSO算法[15].

对于一个优化问题,目标个数往往明显少于求解变量的数目,即目标空间的维度明显小于解空间的维度.通过在目标空间进行分组[6],相比于在解空间的操作,可以极大地减少计算负担.在目标空间BSO算法中,根据目标空间的适应值,所有解被分到不同类别.

不同于其他算法,在目标空间的头脑风暴优化算法中,聚类算法被替换为一个简单的分类操作.基于函数值的排序,解集合被简单分为两类:精英解类(解具有较好的函数值)与普通解类(非精英解)[6].基于精英解类或普通解类的一个或两个解生成新解.将分组操作放在目标空间,可以极大地减少了计算负担,有助于将BSO算法应用于高效求解大规模优化问题.

2.2.2 新解生成

对新解生成进行改进,也可以改善 BSO 算法的搜索效率.为了高效求解不同类型的问题,算法需要自适应地利用优化中的实时搜索信息. 在新解的生成方面,也存在着大量的研究工作:修改搜索步长和新解生成方式,搜索步长可以根据解集合的动态范围进行调整; 依据一个批处理模式(batch-mode)生成新解,并在下一次迭代中自适应地进行选择;当所有解被聚类到一个小的搜索范围时,对部分解进行重新初始化来生成新解,可以保持算法的群体多样性;将混沌操作(chaotic operation)应用于部分解的生成中,来增强全局搜索能力并避免陷入局部最优; 为了自适应地在搜索中改变聚类中簇的数目,单个或多个簇的结构信息被用来创建新的解集合[14].在基于讨论机制的BSO算法中,加入了簇内部和簇间的讨论,用来控制算法的全局和局部搜索特性[16].

2.2.3 混合算法

头脑风暴优化算法已被用来解决多种实际应用问题.为了解决这些特定领域的问题, 提出了多种具有新的算子的BSO算法,例如闭环(closed-loop)BSO 算法[17];基于捕食者-猎物模型的 BSO 算法[18];量子行为(quantum-behaved) BSO算法[19]等.

在群体智能优化算法中,混合算法(hybrid algorithms)可以极大地改进单个算法的在特定问题上的优化性能. 将算法进行混合的目的是为了结合不同算法的优势,同时改善单个算法搜索的局限性.基于BSO 算法的混合算法被应用于不同类型的问题,例如,BSO 与模拟退火(simulated annealing)算法求解连续优化问题;与差分演化(differential evolution)算法结合应用于人工神经网络(artificial neural network).其他与BSO算法的混合的算法包括:基于教学算法(teaching-learning-based algorithm);离散的粒子群优化(discrete particle swarm optimization)算法.

2.3 求解不同类型问题

在基本的 BSO 算法中,BSO算法被用来求解单目标优化问题[1-2],然而,经过一些调整, BSO算法也可被用来求解其他类型的问题,例如多目标优化问题[3];多模态优化问题[20]等.多模态优化与多目标优化的目的都是寻找一组最优解,而不是单个最优解.在BSO算法中,将解集合分为不同的类别,理想状态下不同类别可以对应搜索空间中的不同极值.通过这种 BSO 算法内在特征,可以提高算法在多个最优解问题上的性能.

多模态优化,即求解多模态优化问题 (multimodal optimization problem),其目标是在算法的一次搜索过程中,尽可能多地的寻找到多个极值(包括全局最优和局部最优),并将这些极值保持到搜索结束.由于待求解个数的不确定性、解分布的不确定性等特征,决定了多模态问题的复杂性.

多目标优化,即求解多目标优化问题(multiobjective optimization problem),其目标是在算法的一次搜索过程中,尽可能满足几个目标函数的要求.不同的目标函数对变量可能存在着相互冲突的要求,因此,各个目标函数通常不会同时达到最优.这就使得多目标问题不存在单目标问题意义上的“最优解”,而只存在一组满足“帕累托最优 (pareto optima)”条件的解. 头脑风暴优化算法已被设计用来求解多目标优化问题[3].

与传统多目标优化方法不同的是,头脑风暴优化算法可以直接利用目标空间的信息.在目标空间中聚类生成簇,对于每个目标, 解集合可以在每次迭代[3]或者目标空间进行聚类.在大多数目标上表现优异的解将被保留进入下一次迭代,而其他解将随机被选择进入下一次迭代以保持解集合的群体多样性.

2.4 群体多样性

群体多样性 (population diversity) 分析:影响群智能算法性能的重要因素是算法“探索”(exploration)和“开发”(exploitation)能力的平衡性,而算法的群体多样性是衡量算法探索和开发状态的重要指标.对群体多样性进行观测,多样性在瞬态的值描述算法当时的运行状态,而多样性值的变化趋势描述了算法的整体求解过程.如何合理地定义群体多样性,正确地表征算法执行时解集合的运动过程,这对于头脑风暴优化算法有着重要的意义.

2.5 实际应用

头脑风暴优化算法被用来解决多种实际应用问题,其中可以分为以下几类.

(1) 电力系统问题:求解目标是为电力系统中的设备找到最优的位置和设置.BSO 算法被用来求解电力系统中的不同类型问题,例如考虑风电的经济调度问题;最优FACTS 配置;电力调度问题,最优潮流求解问题.

(2) 航空领域设计问题: BSO算法被应用于求解航空领域的多个问题,例如卫星编队优化重构问题[17];Loney 电磁问题[19];直流无刷电机效率问题[18];多无人机编队飞行的滚动时域控制;F/A-18 舰载机自动着陆系统;代理路由和光传感器任务问题等.

(3) 无线传感器网络 (wireless sensor networks, WSN)优化问题:基于无线传感器网络,物理世界将变成一种信息系统,不同类型的传感器连接构建成一个网络,信息可以在网络间不断交互,大规模和长期的无线传感器网络将会产生大量的数据,如何分析这些数据将是一个研究难题.BSO 算法也应用到了无线传感器网络问题中,如传感器网络部署问题上的应用[14];最优覆盖问题;全区域覆盖问题等.

(4) 金融优化问题:金融优化问题常被建模为组合优化问题.为了求解离散问题,BSO 算法需采用新的编码策略.头脑风暴优化算法和基于头脑风暴优化算法的支持向量回归(v-SVR)被分别应用于股票指数预测问题.

(5) 其他优化问题:大规模和分布式资源中心的节能问题常被建模为多目标问题,能耗和执行时间是两个优化目标.一种多目标BSO 算法被用来解决网格系统的多目标能量优化问题.此外,BSO 算法被应用于解决多种问题,其中包括方程组问题;基于BSO算法的SAR 图像去噪声方法;基于BSO 优化算法求解短期风速预测问题;配煤优化问题研究;图像检索问题;图像融合问题;数据分类问题;非线性方程问题;推荐系统中的矩阵分解问题;频谱感知问题;离散调度问题;训练隐马尔科夫模型进行转录因子结合位点分析;投资组合优化问题.

3 研究方向

3.1 理论分析

头脑风暴优化算法有3个算子,现有解聚类/分类、新解的生成和解的选择.分析算子的参数的不同设置,增加或者改变算子,对算法的求解效率和优化效果的影响.建立算子与不同求解问题之间的联系,观测和控制头脑风暴优化算法的优化过程.

3.2 算法改进

现有的算法改进基本集中在原有解的聚类步骤.在初始的算法中,k-means 聚类算法被用来对原有解的分布进行分析,由于k-means 算法需要多次迭代,新的聚类算法被用来提高算法的效率.在基于目标空间的BSO算法中,基于适应值的分类算法替换了聚类算法对现有解进行分析,极大地提高了算法的效率.解集合具有更多相似性,就可以被分到一个类别中,这种相似性在解空间可以用解间的距离来度量,在目标空间可以用相似的适应度来度量.在初始的BSO算法中,就采用了解空间的距离度量,而在目标空间的BSO算法中,采用了适应度来度量.对于高维度问题,例如现有的大数据分析问题、大规划优化问题及复杂系统分析问题等,都需要算法可以高效地在短时间内处理大量数据.将 BSO 算法应用到大规模问题上来求解大数据分析问题,也需要研究新的度量方式来提高算法的效率.

3.3 求解不同类型的优化问题

实际系统的复杂性日益增加,新类型的优化问题不断增加,为算法的求解带来了新的困难.多模态多目标优化问题(multimodal multiobjective optimization problem)就是一种新型的优化问题.这种问题结合了多模态问题和多目标问题的难点,多个解在解空间中拥有相同的适应值,如何找到尽可能多解,同时在目标空间的“帕累托前沿”拥有更好的分布,都增加了问题的求解难度.将BSO算法应用于各种新型问题,可以检验BSO算法的在新问题上的泛化能力.

3.4 实际应用问题

大部分的实际应用问题,都可以建模为一个优化问题进行求解.如何选择合适的求解变量,建立恰当的目标函数模型,是解决问题的首要难题.将 BSO 优化算法,或者更广泛地将群体智能优化算法应用于求解不同类型的实际应用问题[21],对群体智能优化算法的发展将大有裨益.

4 结论

在群体智能优化算法中,随机生成一个可行解的集合,通过集合内解的竞争和交互,不断迭代生成新解,最终收敛于满足要求的极值解.算法的性能往往通过在测试函数集(benchmark functions)上的结果来评判,缺乏对算法运行过程中的动态分析.群体智能算法中的每个个体,代表在解空间中的一个解,这些个体亦可以视为解空间中的一个数据点.通过对这些数据点的分布情况进行分析,算法可以学习问题的结构,更有针对性地解决问题.

笔者对头脑风暴优化算法的发展历程,发展现状和未来研究方向进行了综述.头脑风暴优化算法是一种新型的群体智能优化方法,算法将数据分析应用到优化的过程中,结合了群体智能和数据分析的优势.在头脑风暴优化算法中,每个个体不仅是待求解问题的一个解,也是解空间的一个数据采样,可以用来揭示解空间的结构. 该算法通过将群体智能算法与数据分析方法进行有机融合,结合两种方法的优势,最终达到高效求解问题的目的.

参考文献

[1] SHI Y. Brain storm optimization algorithm[C]∥Proceedings of Second International Conference on Swarm Intelligence (ICSI 2011). Chongqing, China: Springer, 2011: 303-309.

[2] SHI Y. An optimization algorithm based on brainstorming process[J]. International journal of swarm intelligence research (IJSIR), 2011, 2(4):35-62.

[3] SHI Y, XUE J, WU Y. Multi-objective optimization based on brain storm optimization algorithm[J]. International journal of swarm intelligence research (IJSIR), 2013, 4(3):1-21.

[4] SHI Y. Developmental swarm intelligence: Developmental learning perspective of swarm intelligence algorithms[J]. International journal of swarm intelligence research (IJSIR), 2014, 5(1):36-54.

[5] CHENG S, SHI Y, QIN Q, et al. Solution clustering analysis in brain storm optimization algorithm[C]∥ Proceedings of The 2013 IEEE Symposium on Swarm Intelligence (SIS 2013). Singapore: IEEE, 2013: 111-118.

[6] SHI Y. Brain storm optimization algorithm in objective space[C]∥ Proceedings of 2015 IEEE Congress on Evolutionary Computation (CEC 2015). Sendai, Japan: IEEE, 2015:1227-1234.

[7] ZHAN Z H, CHEN W N, LIN Y, et al. Parameter investigation in brain storm optimization[C]∥ Proceedings of the 2013 IEEE Symposium on Swarm Intelligence (SIS 2013).Singapore:IEEE, 2013:103-110.

[8] CHENG S, SHI Y, QIN Q, et al. Maintaining population diversity in brain storm optimization algorithm[C]∥Proceedings of 2014 IEEE Congress on Evolutionary Computation (CEC 2014). Beijing, China: IEEE, 2014: 3230-3237.

[9] CHENG S, SHI Y, QIN Q, et al. Population diversity maintenance in brain storm optimization algorithm[J]. Journal of artificial intelligence and soft computing research (JAISCR),2014, 4(2):83-97.

[10] ZHOU Z, DUAN H, SHI Y. Convergence analysis of brain storm optimization algorithm[C]∥ Proceedings of 2016 IEEE Congress on Evolutionary Computation (CEC 2016). Vancouver, Canada: IEEE, 2016: 3747-3752.

[11] CHENG S, QIN Q, CHEN J, et al. Brain storm optimization algorithm: A review[J]. Artificial intelligence review, 2016, 46(4):445-458.

[12] CHENG S, SUN Y, CHEN J, et al. A comprehensive survey of brain storm optimization algorithms[C]∥ Proceedings of 2017 IEEE Congress on Evolutionary Computation (CEC 2017). Donostia/San Sebastián, Spain: IEEE, 2017: 1673-1644.

[13] ZHAN Z H, ZHANG J, SHI Y H, et al. A modified brain storm optimization[C]∥ Proceedings of the 2012 IEEE Congress on Evolutionary Computation (CEC 2012). Brisbane, Australia: IEEE, 2012: 1969-1976.

[14] CHEN J, CHENG S, CHEN Y, et al. Enhanced brain storm optimization algorithm for wireless sensor networks deployment[C]∥ Proceedings of 6th International Conference on Swarm Intelligence (ICSI 2015). Beijing, China: Springer, 2015: 373-381.

[15] EL-ABD M. Global-best brain storm optimization algorithm[J]. Swarm and evolutionary computation, 2017, 37: 27-44.

[16] YANG Y, SHI Y, XIA S. Advanced discussion mechanism-based brain storm optimization algorithm[J]. Soft computing, 2015, 19(10):2997-3007.

[17] SUN C, DUAN H, SHI Y. Optimal satellite formation reconfiguration based on closed-loop brain storm optimization[J]. IEEE computational intelligence magazine, 2013, 8(4): 39-51.

[18] DUAN H, LI S, SHI Y. Predator-prey brain storm optimization for DC brushless motor[J]. IEEE transactions on magnetics, 2013, 49(10):5336-5340.

[19] DUAN H, LI C. Quantum-behaved brain storm optimization approach to solving Loney’s solenoid problem[J]. IEEE transactions on magnetics, 2015, 51(1):1-7.

[20] CHENG S, QIN Q, CHEN J, et al. Brain storm optimization in objective space algorithm for multimodal optimization problems[C]∥ Proceedings of 7th International Conference on Swarm Intelligence (ICSI 2016). Bali, Indonesia: Springer, 2016: 469-478.

[21] 孙晓燕, 朱利霞, 陈杨,等. 基于可能性条件偏好网络的交互式遗传算法及其应用[J].郑州大学学报(工学版), 2017, 36(6): 1-5.

Developmental Brain Storm Optimization Algorithms: From a Data-driven Perspective

CHENG Shi1, CHEN Junfeng2, SUN Yifei3, SHI Yuhui4

(1.School of Computer Science, Shaanxi Normal University, Xi’an 710119, China; 2.College of IOT Engineering, Hohai University, Changzhou 213022, China; 3.School of Physics & Information Technology, Shaanxi Normal University, Xi’an 710119, China; 4.Department of Computer Science and Engineering, Southern University of Science and Technology, Shenzhen 518055, China)

Abstract: For swarm intelligence algorithms, each individual in the swarm represented a solution in the search space, and it also could be seen as a data sample from the search space. Brain storm optimization (BSO) algorithm was a new and promising swarm intelligence algorithm, which simulated the human brainstorming process. Through the convergent operation and divergent operation, individuals in BSO were grouped and diverged in the search space/objective space. In this paper, the development history, and the state-of-the-art of the BSO algorithms were reviewed. Every individual in the BSO algorithm was not only a solution to the problem to be optimized, but also a data point to reveal the landscape of the problem. Based on the survey of brain storm optimization algorithms, more analysls could be conducted to understand the function of BSO algorithm and more variants of BSO algorithms could be proposed to solve different problems.

Key words: brain storm optimization; developmental swarm intelligence; convergent operation; divergent operation

文章编号:1671-6833(2018)03-0022-07

收稿日期:2017-09-18;

修订日期:2017-12-10

基金项目:国家自然科学基金资助项目(61403121, 61773119, 61703256, 61771297);中央高校基本科研业务费专项资金项目(GK201703062)

作者简介:程适(1983— ),男,陕西汉中人,陕西师范大学讲师,博士,主要从事群体智能算法研究,E-mail: cheng@snnu.edu.cn.

中图分类号: TP18

文献标志码:A

doi:10.13705/j.issn.1671-6833.2018.03.003