1.简介
群体智能优化算法源于对自然界各种生物行为的模拟,具有操作简单、优化性能好、鲁棒性强的特点。受此启发,人们提出了许多生物启发的群体智能优化算法,如蚁群优化算法(ACO)[1],差异演化(DE)[2],粒子群优化(PSO)[三],firefly算法(FA)[4]、萤火虫群优化(GSO)[5],猴子搜索(MS)[6],和声搜索(HS)[7],杜鹃搜索(CS)[8,9],bat算法(BA)[10],磷虾群算法(KH)[11,12,13]Swarm智能优化算法能够解决传统方法无法有效处理的问题,并在许多方面表现出优异的性能,其应用范围大大扩展。 Erik Cuevas于2013年提出的社交蜘蛛优化算法(SSO)[14],是一种模拟社会蜘蛛行为的新型元启发式优化算法。虽然SSO在许多优化问题上取得了良好的性能,但它仍然很容易陷入局部最优解。为了提高SSO在优化问题上的性能,本文利用OBL和精英选择机制,提出了一种新的SSO算法EOSSO。基于对立的学习(OBL)是计算智能中的一个新概念,许多算法都使用了OBL机制[15,16]它被证明是提高各种优化算法性能的有效策略。OBL背后的主要思想是将当前搜索空间中的解决方案转换为新的搜索空间。通过同时考虑当前搜索空间和转换后的搜索空间中的解,OBL可以提供更高的机会找到更接近全局最优的解。然而,OBL不可能适用于所有类型的优化问题。例如,在求解多模态问题时,转换后的候选对象可能会跳出全局最优解。为了避免这种情况,在转换后使用了基于人口的新精英选择机制。提出的基于精英对立的社交蜘蛛优化算法通过23个基准函数进行了验证。结果表明,该算法能够获得精确解,且具有较快的收敛速度和较高的稳定性。 论文的其余部分组织如下。第2节介绍了原始的社交蜘蛛优化算法(SSO)。第3节提出了一种新的基于精英对立的社交蜘蛛优化算法(EOSSO)。在中对各种基准进行的一系列比较实验第4节结果分析见第5节。最后,结论和未来工作可以在中找到并讨论第6节. 2.社会蜘蛛优化算法
SSO算法分为两个不同的搜索代理(蜘蛛):雄性和雌性。根据性别,每个个体都由一组不同的进化算子进行操作,这些算子模拟群体中通常假设的不同合作行为。SSO算法首先定义搜索空间中作为个体的雌性和雄性蜘蛛的数量。女性人数()在总人口的65%–90%范围内随机选择(). 因此,由以下方程式计算得出:哪里,是[0,1]范围内的随机数,而将实数映射为整数。雄性蜘蛛的数量()计算为之间的补码和.计算如下:其中,人口()由元素并分为子组和.小组()包括一组女性个体()和团队()包括男性个体(),其中(),因此. 2.1. 体能分配
在自然隐喻中,蜘蛛的大小是评估个体能力的特征,每个蜘蛛都承受一个重量()表示与蜘蛛对应的溶液质量()人口总数(). 每个卡盘的重量定义如下:哪里,是通过评估蜘蛛位置获得的适应值()关于目标函数(). 的值和定义如下(考虑最大化问题): 2.2. 通过公共网的振动建模
公共网络被用作在群体成员之间传递信息的机制。振动取决于产生振动的蜘蛛的重量和距离。个人感知到的振动()由于成员发送的信息()建模如下:哪里,是蜘蛛之间的欧几里得距离和,因此. 虽然通过考虑任何一对个体来计算感知振动几乎是可能的,但在SSO方法中只考虑了三种特殊关系:- (1)
振动()被个人感知()由于成员发送的信息()谁是具有两个特征的个人:他是最接近个人的成员()与个人相比体重更高() (). - (2)
振动()被个人感知()由于成员发送的信息(),与个人()在整个人群中拥有最佳体重(最佳健身价值)的个体(),因此. - (3)
振动()被个人感知()由于成员发送的信息(),与个人()成为最接近个人的女性().
2.3. 初始化填充
SSO算法从初始化集合开始()第页,共页社交蜘蛛的位置。每个社交蜘蛛的位置,或,是一个n个-包含要优化的参数值的维向量。这些值在预先指定的初始参数下限之间随机均匀分布()和初始参数上限(),正如以下表达式所描述的那样:哪里和是单个指数,而零表示初始总体。功能()生成一个介于0和1之间的随机数。 2.4. 合作运营商
2.4.1. 女性合作经营者
为了模拟雌性蜘蛛的合作行为,操作员考虑雌性蜘蛛的位置变化()在每个迭代过程中。位置变化计算为三个不同元素的组合。第一个涉及到最接近个人的成员的变化()承受更高重量并产生振动(). 第二种是考虑整个人口中最佳个体的变化()谁产生振动(). 最后,第三个包含了一个随机运动。
对于此操作,统一的随机数()在[0,1]范围内生成。如果随机数()小于阈值(),产生吸引运动;否则,会产生排斥运动。因此,此类运算符可以建模如下:哪里,和是介于0和1之间的随机数,而表示迭代次数。个人()代表最近的成员,并对单个成员具有更高的权重(),个人()代表在整个种群中体重最高的社交蜘蛛(). 2.4.2. 男性合作经营者
在自然界中,群居蜘蛛的雄性种群分为两类:优势种群()和非主导成员()雄性蜘蛛。男性成员的体重值高于男性人口中位值,被视为优势个体(). 另一方面,那些低于中值的被标记为非显性()男性。
为了实现这个计算,男性人口()按重量值降序排列。因此,体重()位于中间的被认为是中间的男性成员。自男性人口指数()就整个人口而言()随着女性成员数量的增加()中位权重的指数为据此,公蜘蛛的位置变化如下:其中,个人()代表距离男性成员最近的女性个体(),而中值()对应于男性人口的加权平均数(). 2.5. 配对操作员
群居蜘蛛群落中的交配由占优势的雄性和雌性成员进行。在这种情况下,当男性占主导地位时()十字轴()找到一组女性成员()在交配范围内(),它交配,形成新的一窝()它是在考虑集合的所有元素的情况下生成的(),由联合生成(). 需要强调的是,如果集合()为空,则取消配对操作。范围()定义为半径,该半径取决于搜索空间的大小。这样的半径()根据以下模型计算: 在交配过程中,每只参与社交蜘蛛的重量()定义每个个体影响新一代的概率。体重较重的社交蜘蛛更有可能影响新产品,而重量较轻的元素影响新产品的可能性较小。影响概率()通过轮盘赌方法分配每个成员的,其定义如下:哪里. 一旦形成新的蜘蛛,它就相当于抓住最差的蜘蛛()根据其重量值(其中). 如果新的蜘蛛比最坏的蜘蛛好,那么最坏的蛛网就会被新的蜘蛛取代。否则,新蜘蛛就会被丢弃,种群也不会发生变化。
2.6. 计算程序
算法1的计算过程可概括如下:算法1:社交蜘蛛优化算法 |
步骤1:思考作为n个-维度群体成员,定义男性数量()和雌性蜘蛛()在整个人口中().在哪里?是[0,1]范围内的随机数,而将实数映射为整数。 |
第2步:随机初始化女性成员(),男成员()并计算配合半径。 |
步骤3:计算每个卡盘的重量. |
对于(=1;<+1;++) |
,其中和 |
结束时间 |
第4步:雌性蜘蛛根据雌性合作经营者的动作。 |
对于(=1;<+1;++) |
计算和 |
如果(<),其中 |
|
Else If(其他条件) |
|
End If(结束条件) |
结束时间 |
第五步:根据雄性合作操作员移动雄性蜘蛛 |
找到中等男性个体()来自. |
对于(=1;<+1;++) |
计算 |
如果() |
|
Else If(其他条件) |
|
End If(结束条件) |
结束 |
第6步:执行配对操作 |
对于(=1;<+1;++) |
如果() |
查找 |
如果(不为空) |
发件人使用轮盘赌方法 |
如果() |
|
End If(结束条件) |
End If(结束条件) |
End If(结束条件) |
结束时间 |
第7步:如果满足停止标准,则过程结束;否则,请返回步骤3。 |
3.基于精英对立的社交蜘蛛优化算法(EOSSO)
当SSO计算单峰函数和多峰函数时,我们可以清楚地发现SSO得到的解不够好。为了提高算法的准确性,我们在SSO中添加了一种优化策略。有全球精英基于反对派的学习策略(GEOLS)。在这一部分中,我们介绍了对立学习(OBL)和全球精英对立学习策略(GEOLS)。
3.1. 基于对立的学习(OBL)
OBL基本上是Tizhoosh于年提出的机器智能策略[17]. 它同时考虑当前个体和相反个体,以便同时获得当前候选解的更好近似值。还证明了与随机候选解相比,相反的候选解有更大的机会更接近全局最优解[17]. 因此,OBL的概念被用于增强基于人口的算法[18,19,20,21]. 一般的OBL概念已成功应用于一些研究工作领域,如强化学习[22]形态学算法的窗口记忆[23],使用相反模糊集进行图像处理[24,25]还有一些流行的优化技术,如蚁群优化[26,27,28],佐治亚州[29]、具有反向传递函数和反向传播的人工神经网络[30,31]Cauchy突变的,DE,PSO[32],引力搜索算法[33],谐波搜索算法[34]、和BBO[35,36]. 在提出这一技术时,以下明确定义了一些定义: A类. 对方号码:
让成为一个实数。相反的数字()定义如下: B类. 相反的点:
让成为重点n个-维度搜索空间,其中和相反的点定义为 C类. 基于反对派的人口初始化:
通过利用相反的点,即使没有关于解的先验知识,也可以获得合适的初始候选解。拟议方法的主要步骤如下:- 步骤 1
以随机方式初始化填充集。
- 步骤 2
通过以下公式计算相对人口:哪里,和和表示的变量人口和相对人口的矢量。 - 步骤 三
选择最合适的个人来自作为初始人口。
D类. 基于反对派的代际跳跃
如果我们对当前种群应用类似的方法,整个进化过程可能会被迫跳转到一个比当前种群更合适的新候选解。从这个比较来看,适者个人被选中。在每一代中,缩小搜索空间以计算相反的点,即。,哪里和.是指人口中的当前间隔,它越来越小于相应的初始范围. 3.2. 全球精英反对式学习策略(GEOLS)
社交蜘蛛优化算法在全局搜索过程中使用女性群体之间的合作。这是通过雌性蜘蛛位置的变化来模拟的。正如我们所知,这是一个随机过程,获得良好解决方案的概率相对较低。为了提高全局搜索过程中获得问题更好解的概率,并扩展搜索空间,将该策略应用于所提出的EOSSO。
精英对立学习是智能计算领域的一项新技术。其主要思想是:对于一个可行的解决方案,同时计算和评估相反的解决方案并选择更好的解决方案作为下一代的个体。在本文中,人群中具有最佳适应值的个体被视为精英个体。为了解释精英对立解决方案的定义,应该举一个例子。如果我们假设人口中的精英个体.针对个人,基于精英对立的解决方案其可以定义为.此外,可通过以下方程式获得:哪里是人口数量,是的尺寸,和是的动态边界决策变量。可通过以下方程式获得: 众所周知,搜索空间的缩小可能会导致算法陷入局部极小。因此,在这个建议的算法中,我们将更新和每50代。动态绑定有助于恢复搜索体验。然而,它可以使跳出,如果发生这种情况,应使用以下等式重置. 在全局搜索过程中,该策略扩展了算法的搜索空间,可以增强种群的多样性,因此该优化策略可以增强所提出的全局搜索能力。
4.模拟实验
在本节中,有23个基准测试函数[37]用于评估EOSSO的最佳性能。23个函数的空间尺寸、范围和最佳值如所示表1,表2和表3本节的其余部分组织如下:实验设置如所示第4.1节每种算法的性能比较如所示第4.2节. 所选择的基准函数可分为三类(即单模式基准函数、多模式基准函数和固定维度多模式基准函数)。他们是–对于单峰基准函数,–用于多模式基准测试功能和–用于固定维多模式基准函数。
4.1. 实验装置
提出的基于精英对立的社会蜘蛛优化算法(EOSSO)与ABC、BA、DA、GGSA和SSO进行比较,分别使用均值和标准差来比较它们的最优性能。算法的参数设置如下:对于所有优化算法,种群大小N个=50,迭代次数为1000,执行30个独立实验。所有算法均在MATLAB R2012a中编程,并使用Inter(R)Core(TM)i5-4590 CPU和4GB内存进行仿真。
4.2. 各算法性能比较
对六种算法进行了30次独立运行,六种算法得到的结果显示在表4,表5和表6演化曲线和方差图和由六种算法获得的结果如下所示图1,图2,图3,图4,图5,图6,图7,图8,图9和图10和图11,图12,图13,图14,图15,图16,图17,图18,图19和图20分别是。 在表4,表5和表6,“Function”表示测试函数,“Dim”表示维度大小,列中的每个数字“mean”是30次独立操作的平均全局最优值,“best”是30个独立操作的最佳全局最优值是30次独立操作的最差全局最优值,“std.”列中的每个数字代表30次独立运行的标准偏差值。 5.结果分析
从表4,在单峰基准函数中,EOSSO可以为和并且具有很强的鲁棒性。对于GGSA的最优适应值和平均适应值的精度高于其他算法。对于单峰基准函数中的七个函数,EOSSO的标准偏差小于其他算法的标准偏差。此外,这意味着在单峰函数优化中,EOSSO具有更好的稳定性。 类似地,从表5,EOSSO可以为和此外,标准偏差为零。对于和EOSSO的平均适应值、最佳适应值、最差适应值和标准差的精度均优于其他算法。这些结果意味着EOSSO对于求解多峰函数优化问题具有很强的搜索能力和稳定性。 对于–,我们可以从中看到表6由EOSSO生成的最佳适应值、最差适应值、平均适应值和标准差均优于其他算法。此外,对于,EOSSO可以得到更好的最佳适应值、平均适应值和最差适应值,但标准差比SSO差。分析后表4,表5和表6实验结果表明,EOSSO具有很强的求解函数优化问题的能力。 图1,图2,图3,图4,图5,图6,图7,图8,图9和图10显示适应值的演化曲线和从这些图中,我们很容易发现EOSSO比上述其他基于种群的算法收敛更快,并且EOSSO获得的值更接近基准函数的最优值。这表明EOSSO算法比SSO算法和其他基于种群的算法具有更快的收敛速度和更好的精度。图11,图12,图13,图14,图15,图16,图17,图18,图19和图20显示全局最小值的anova检验和从这些图中,我们可以发现EOSSO的标准偏差要小得多,并且离群值的数量要少于其他算法。这意味着EOSSO具有良好的性能和高度的稳定性。总之,所提出的EOSSO算法是一种收敛速度快、精度高、稳定性好的算法。 在第4.2节,选取23个标准基准函数来评估基于精英对立的社交蜘蛛优化算法(EOSSO)的性能。–是单峰函数,–是多模态函数,–是固定维多模态基准函数。实验结果列于表4,表5和表6.图1,图2,图3,图4,图5,图6,图7,图8,图9,图10,图11,图12,图13,图14,图15,图16,图17,图18,图19和图20是适应度值的评估曲线和全局最小值的anova检验和。表中的结果表明,EOSSO可以找到更精确的解决方案。文中列出的数字反映了EOSSO具有更快的收敛速度和更高的稳定性。 6.结论和未来工作
为了克服Social Spider Optimization算法容易陷入局部最优解的缺点,本文利用OBL和精英选择机制,提出了一种新的SSO算法EOSSO。基于对立的学习(OBL)是计算智能中的一个新概念,已被证明是提高各种优化算法性能的有效策略。OBL背后的主要思想是将当前搜索空间中的解决方案转换为新的搜索空间。通过同时考虑当前搜索空间和转换后的搜索空间中的解,OBL可以提供更高的机会找到更接近全局最优的解。这种机制增强了种群的多样性,有助于提高其探索能力。从23个基准函数的结果来看,EOSSO的性能优于或至少可以与本文提到的其他基于种群的算法相媲美。EOSSO具有较快的收敛速度和较高的稳定性,并且在精度上也更加精确。
对于EOSSO,还有许多问题需要进一步研究。首先,多目标优化问题在现实世界中随处可见。与单目标优化问题相比,获得高等式解往往非常具有挑战性。所提出的基于精英对立的社交蜘蛛优化算法应在未来用于解决这些多目标优化问题,以验证其性能。其次,文献中存在许多NP-hard问题,如旅行商问题、图着色问题、径向基概率神经网络和基于根矩的多项式求取器。为了测试EOSSO的性能,将来应该使用它来解决这些NP-hard问题。第三,提出的EOSSO应该在未来解决一些实际工程问题,例如焊接梁和弹簧压力设计问题、车辆调度优化问题和水电站调度优化问题等,未来应进行更全面的计算研究,以测试所提出的求解技术的效率。