水循环算法与引力搜索算法的改进
2018-11-08郭佩刚
郭佩刚
摘要:水循环算法的提出是针对自然界中的分流、降雨、汇流与下渗等自然的水循环现象所提出的一种算法,有效调整了粒子与种群数量,并能够实现智能与动态展示,这种算法的提出能够有效实现种群迭代速度的提升。引力搜索算法是基于引力定律所提出的一个新型算法,并对引力搜索算法进行改进,同时提出水循环算法与引力搜索算法的改进措施。
关键词:水循环算法;引力搜索算法;改进;措施
对自然界中的水循环过程及水流过程进行充分研究能够得到全局优化算法即仿水循环算法,具有重要的应用价值。在计算过程中,对传统的引力搜索算法进行有效改进能够得到比较良好的算法效果。
1水循环算法的改进分析
1.1水循环分析
水循环是大自然中的重要现象,首先水在大自然的作用之下从地面、植物表面、湖面等位置蒸发到空气中,在高空中凝结成云,最终以降雨、降雪以及冰雹的形式落回到地面之上。落回到地面上的水一部分在重力作用下渗透到地下构成地下水,一部分再通过挥发作用回到空气中,还有一部分水以通过地表径流的形式流入到河流、湖泊与海洋之中等。
1.2水循环算法的建立分析
水循环算法的优化改进步骤:
(1)设置参数。Npop为种群数目,N为河流与海洋总数目,d为一个接近0的数,MAX,iteration-1,MAXFEs,取FES=0。
(2)将相关数值代入以下公式,计算出流入河流和海洋的溪流数目。
(3)随机产生初始化种群,根据适应度值形成河流、溪流、海洋。
(4)将相关数值代入以下公式,计算出流入指定河流、溪流、海洋的数目,即流动密度。
(5)WhileFES ①将相关数值代入以下公式,判断溪流流入河流情况,并计算新产生溪流的适应性值。 ②将相关数值代入以下公式,判断河流流人海洋情况,并计算新产生河流的适应性值。 ③若已满足蒸发条件,则根据以下公式,计算执行降雨过程。 ④更新,輸出最优结果。 1.3仿真计算与分析 本文的计算过程中为了充分验证算法的有效性,充分选取了10个不同难度范围的函数进行相应计算,经过10次的计算之后找出其中平均值,经过相应的计算之后找出其中的平均目标函数值favg和最后目标函数值fbest,完成之后将这一数据与PSO算法以及EM算法等进行充分比较,在WCA算法中,将各个参数设置为p=40,MAXITER=100,m0=0.1,rm=0.1,ms0=0.6,rs=1,mr=0.5,将参数设置代入其中能够看到在比较简单的函数Step、Trid的运用之下,采用WCA算法能够得到已知最优解。在Spiky与Perm等比较复杂函数的运用之下,运用EM与WCA算法都能够得到比较理想的运算效果。在Trid与Powersum等比较高维数的复杂函数计算过程中,采用PSO算法能够得到比较收敛溢出的运算效果。由此可以看到与PSO算法与EM算法等相比较,采用WCA算法能够得到比较良好的解忧性能,能够得到比较相近的最优值与平均数值,以及比较理想的稳定性、收敛速度与精度数值,最终实现比较理想的无约束全局优化算法。 2引力搜索算法的改进分析 2.1引力搜索算法概述 万有引力是自然界中的基础力,在万有引力的作用之下,能够促使粒子之间互相靠近,在自然界中,粒子之间也会相互靠近。具体如图1所示。 在两个相互分离的粒子之间产生的万有引力是立刻随时进行的,引力的大小与两个粒子的质量之间呈正比例关系,与欧式距离的平方呈反比例关系。表示为: 其中两个粒子之间的欧氏距离以R进行表示,万有引力的大小以F进行表示,引力常数指的是G,两个粒子的惯性质量分别表示的是M,和M2。 2.2引力搜索算法(GsA)的改进 2.2.1基于信息熵的混合引力搜索方法 引力搜索算法(GSA)具有搜索能力强、参数少等优点,采用基于信息熵的混合引力搜索方法,能够改善基本GSA算法的性能,更符合实际,具有可行性与有效性,具体算法如下: ①当前时刻为T,计算例子适应度,并将种群中的最优个体设为gbest。 ②将相关数值代入以下公式,计算惯性质量: 将相关数值代入以下公式,计算种群信息熵对应权重: ③将相关数值代入以下公式,计算合力和加速度: ④将相关数值代入以下公式,计算粒子速度和位置: 2.2.2数值买验 本文采用Win7,MATLAB R2008a作为实验测试平台。将基于信息熵的混合引力搜索方法和GSA对基准函数得到的搜索结果进行了数据比较。在全部的条件中,粒子的数量都设置为50。维数设置成30,同时最大迭代次数在不同的函数中设置成1000与为500等不同的数值。在基于信息熵的混合