CN110728001A - 一种基于多策略增强的哈里斯老鹰算法的工程优化方法 - Google Patents
一种基于多策略增强的哈里斯老鹰算法的工程优化方法 Download PDFInfo
- Publication number
- CN110728001A CN110728001A CN201910934463.8A CN201910934463A CN110728001A CN 110728001 A CN110728001 A CN 110728001A CN 201910934463 A CN201910934463 A CN 201910934463A CN 110728001 A CN110728001 A CN 110728001A
- Authority
- CN
- China
- Prior art keywords
- harris
- formula
- algorithm
- population
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于多策略增强的哈里斯老鹰算法的工程优化方法,包括以下步骤:步骤S1、实际工程问题的优化目标函数构建;步骤S2、参数初始化;步骤S3、初始化哈里斯鹰的种群位置;根据目标函数来计算初始化种群中每个哈里斯鹰的适应度值;步骤S5、通过动态的模拟猎物的运动状态和种群的执行状态,从而为每一个哈里斯鹰找到最好的执行策略;步骤S6、探索阶段;步骤S7、开发阶段;步骤S8、通过步骤S5和S6可以对整个种群的位置进行更新,更新后的新种群,通过目标函数和约束条件;步骤S9、判读是否达到最大的迭代次数;本发明具有以下优点和效果:能在实际的工程优化问题中找到更优的解,在有限的时间内提高含约束的工程优化问题的解的精度。
Description
技术领域
本发明涉及一种基于多策略增强的哈里斯老鹰算法的工程优化方法。
背景技术
群体智能算法是一种模拟自然界不同生物群体的社会行为和捕食行为的非确定性优化算法,和确定性的最优算法不同,群体智能算法求得问题的近似解。但是相比确定性算法来说,群体智能算法不需要优化问题的数学信息,同时在处理大规模优化问题的时候,相比于确定性算法,可以很快的得到最优解的近似解,为现实问题提供可能的解决方案。随着现实问题越来越复杂以及人们对求解时间的要求越来越高,在现有硬件性能的背景下,群智能优化算法受到越来越高的关注。对于复杂的高维的优化问题,群智能算法可以在合理的时间范围内求得可接受的解,同时不需要太多优化问题的数学性质,可以广泛的应用到各种的现实问题中,经典的群智能优化算法有:粒子群优化算法;蚁群算法;灰鲸优化算法;灰狼优化算法;人工蜂群算法等。
哈里斯鹰优化算法(HHO)是Ali Asghar Heidari等人在2019年提出的新型群体智能优化算法。该算法对哈里斯鹰合作捕猎的不同过程进行数学建模。首先把捕食的猎物假设成最优解,哈里斯鹰群代表候选解。所以基于此设定,该算法中哈里斯鹰群(候选解)对猎物(最优解)进行围剿,围剿的过程主要分为两个阶段:第一个阶段是搜寻猎物(探索)阶段;第二个阶段是捕食猎物(开发)阶段。在搜寻猎物阶段,哈里斯鹰群会分别在猎物的周围或者是其他哈里斯鹰的周围进行随机的搜索,以期望能找到新的猎物。在捕食猎物阶段,哈里斯鹰群根据猎物四种不同的状态,采取四种不同的策略来对猎物进行围捕。哈里斯鹰优化算法(HHO)不需要额外的调节参数,具有调节参数少的特点,同时不需要优化问题的梯度数学信息,具有广泛的适用性。该算法自提出后也受到了很多关注,成功的应用在很多实际问题之中。
但是哈里斯鹰优化算法(HHO)在处理含有复杂的且拥有大量局部最优解的优化问题的时候,很容易陷入局部最优,算法的探索能力有待加强,同时容易收敛速度过慢。针对哈里斯鹰优化算法(HHO)收敛速度过慢和容易陷入局部最优这两个缺陷,我们提出两种不同的策略来加强原始的哈里斯鹰优化算法(HHO)。首先为了加强算法的探索能力,我们融合对数螺旋和反向学习这两种机制提出了一种混合的探索机制,被称为反向对数螺旋。该探索机制的基本原理是通过反向学习技术学习得到当前最优解的反向解,然后在当前最优解和当前最优解的反向解之间构建对数螺旋更新空间。根据概率学原理可知,当前解和当前解的反向解各有50%的概率接近于最优解。所以我们利用当前最优解和当前最优解的反向解之间的对数螺旋区域,一方面可以加强探索区域的差异性保持种群的多样性,同时也可以快速定位到可能有最优解的区域,相比于原始哈里斯鹰优化算法(HHO)只在当前最优解和其他候选解周围进行随机探索,反向对数螺旋机制很大程度上提高了原算法的探索能力;其次为了加强算法跳出局部最优的能力,我们在算法的开发阶段通过动态的方式引入Rosenbrock直接搜索算法。Rosenbrock直接搜索算法是Rosenbrock在1960年提出的一种求解无约束问题的方法,同时不需要导数信息,具有自适应搜索方向和大小。作为一种本地搜索算法,有着强大的局部开发能力。通过相应的修改Rosenbrock直接搜索算法和原始哈里斯鹰优化算法(HHO)进行结合,从而加强原算法的开发能力。
对于现有的含约束的工程优化问题,比如焊接桥梁设计、压力管容器设计和拉伸压缩弹簧这些实际工程问题,如果能在有限的时间内找到更优的解,并提高解的精度能够在实际工程中带来极大的帮助。因此,将哈里斯鹰优化(HHO)算法应用在工程优化中,并考虑如何提高哈里斯鹰优化(HHO)算法寻优的的收敛速度和收敛精度,从而在实际的工程优化问题中找到更优的解,在有限的时间内提高含约束的工程优化问题的解的精度是非常有必要的。
发明内容
本发明的目的在于提供一种基于多策略增强的哈里斯老鹰算法的工程优化方法,能在实际的工程优化问题中找到更优的解,在有限的时间内提高含约束的工程优化问题的解的精度。
本发明的上述技术目的是通过以下技术方案得以实现的:一种基于多策略增强的哈里斯老鹰算法的工程优化方法,包括以下步骤:
步骤S1、实际工程问题的优化目标函数构建;确认实际工程问题的优化目标,并根据优化目标确定优化变量,优化变量要满足相应的约束,通过优化目标和优化变量构建优化目标函数;
步骤S2、参数初始化;该算法的初始化参数包括有最大迭代次数T、哈里斯鹰群的种群数量N;优化目标函数的初始化参数包括有目标函数的搜索空间(Cmin,Cmax),目标函数的变量范围、及目标函数的维度大小dim;
步骤S3、初始化哈里斯鹰的种群位置;利用公式(1)来初始化种群的位置,把哈里斯鹰的初始化位置限定在目标函数搜索空间的随机位置之中,公式(1)如下所示:
Xm,n=(Cmax-Cmin)*rand+Cmin(m=1,2,...N)(n=1,2,...dim) (1)
在公式(1),X是初始化后的种群位置;rand是(0,1)之间的随机数;Cmax是目标函数的上界,Cmin是目标函数的下界;N是种群的大小;dim是目标函数维度的大小,根据上述每个变量的范围来初始化变量位置;
步骤S5、采用变量E来动态的模拟猎物的运动状态和种群的执行状态,从而为每一个哈里斯鹰找到最好的执行策略;变量E的公式如下所示:
在公式(2)中,E0是(-1,1)之间的随机数代表着初始的能量状态,t是当前迭代次数,T是最大的迭代次数,E的值是随着迭代次数的增加,从(-1,1)范围内向0趋近;
通过E的值可以动态的在探索和开发之间,以及在开发的不同策略之间切换;对于种群中每个哈里斯鹰来说,当E的绝对值大于1的时候,这个哈里斯鹰进入探索阶段,转入步骤S6;当E的绝对值小于1的时候,该哈里斯鹰进入开发阶段,转入步骤S7;
步骤S6、探索阶段;在本阶段,采用反向对数螺旋策略来更新哈里斯鹰的位置,如公式(4)所示:
Xreverse_best=rand×(Cmax+Cmin)-Xbest (3)
Xnext=|Xbest-Xreverse_best|×ebl×cos(2πl)+Xbest (4)
其中Xbest是当前迭代中的最优解位置,Xreverse_best是根据公式(3)得到的当前最优解的反向解;Xnext是哈里斯鹰更新后的新位置,l是(-1,1)之间的随机值,b=1是一个常数;
根据上述反向对数螺旋公式来对哈里斯鹰进行探索位置的随机更新,期望找到可能最优解的区域;并跳至步骤S8;
步骤S7、开发阶段;在这个阶段,哈里斯鹰会采用不同的策略来更新其位置,主通过变量E来进行不同策略的切换,从而为每一个哈里斯鹰选择合适的策略进行位置更新,同时Rosenbrock直接搜索算法也会在本阶段引入来更新哈里斯鹰的位置;并跳至步骤S9;
步骤S8、通过步骤S5和S6可以对整个种群的位置进行更新,更新后的新种群,通过目标函数和约束条件,计算所有更新位置后的满足约束条件的哈里斯鹰的适应度函数进行排序后选出当前新种群的最优解把这个当前迭代的最优解和目前假设的最优解Xbest进行比较,如果比Xbest更优,则替换它,执行如下公式:
步骤S9、判读是否达到最大的迭代次数T;若是,则输出最优解的位置Xbest,此时Xbest就是我们所求的目标函数的最优解,也就是我们找到的实际工程优化问题的最优解;若没达到迭代次数,返回步骤S5,执行下一次的迭代过程。
进一步设置是所述的步骤S7具体包括:
步骤S7.1、本阶段是算法的开发阶段,通过变量E来控制执行的不同策略,同时引入变量r来模拟兔子是否逃脱追捕,r是(0,1)之间的随机数;具体判断如下:
A1、当r≥0.5且|E|≥0.5时,用公式(6)更新哈里斯鹰的位置;
X(t+1)=ΔX(t)-E|JXrabbit(t)-X(t)| (6)
在公式(6)中,ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子即最优解的位置和当前位置之间的差值;J=2(1-r5)表示的是(0,2)之间的随机数,r5是(0,1)之间的随机数,用来表示兔子的随机跳跃强度,J的值在每次的迭代中都会改变;X(t)表示t迭代中当前鹰派成员的位置;
A2、当r≥0.5且|E|≤0.5时,用公式(7)更新哈里斯鹰的位置;
X(t+1)=Xrabbit(t)-E|ΔX(t)| (7)
在公式(7)中,Xrabbit(t)表示的是t次迭代中兔子的位置;其中ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子的位置和当前位置之间的差值;
A3、当r<0.5且|E|>0.5时,用公式(8)更新哈里斯鹰的位置;
在公式(8)中,F是目标函数,Y和Z分别由公式(9)和(10)表示:
Y=Xrabbit(t)-E|JXrabbit(t)-X(t)| (9)
Z=Y+S×LF(D) (10)
在公式(9)和(10)中,D是问题的维数,S是1×D的随机向量,LF(D)是这个levy飞行产生的1×D维度的随机数,LF(D)用公式(11)表示:
在公式(11),μ,v是(0,1)的随机数,β是一个常量,在HHO中β=1.5;
A4、当r<0.5且|E|<0.5的时,用公式(12)更新哈里斯鹰的位置;
在公式(12)中,F是目标函数,Y和Z分别由公式(13)和(14):
Z=Y+S×LF(D) (14)
步骤S7.2、在本阶段引入Rosenbrock直接搜索算法,当步骤S7.1执行完之后,会对每个开发阶段的哈里斯鹰进行判定是否进行Rosenbrock直接搜索算法进行局部搜索;判定的主要是通过变量prod进行,其公式如下所示:
在公式(15)中,N是种群的规模,ti是第i次迭代中最优解未被更新的次数,rand是(-1,1)之间的随机数,根据公式(15)可以求出Rosenbrock直接搜索算法在开发阶段被引入的概率prob;在HHO的开发阶段当prob的值大于0.8时候,就可以判断出算法在本次迭代中的最优解更新频率过低,就假定算法陷入局部最优值,利用Rosenbrock直接搜索算法进行本地搜索,从而跳出局部最优值。
进一步设置是所述的步骤S7.2中的Rosenbrock直接搜索算法具体包括:
B1、探测阶段;初始点x0,设定初始的搜索方向(d1,d2,d3......dn),一般初始方向为坐标轴方向;设定初始的步长ξ1,ξ2,ξ3,......ξn;步长增长因子α(α>1),缩小因子β(-1<β<0);
探测阶段开始,沿着n个搜索方向根据公式(16)依次循环搜索;
y=x+di×ξi (16)
在公式(16)中,x表示的是当前的位置,di和ξi分别表示第i个搜索方向和第i个搜索方向的移动步长。
如果y的值比x的值要好,我们就判定其成功,我们就通过公式(17)更新搜索步长:
ξi=α×ξi (17)
在公式(17)中,α是增长因子;
如果y的值比x的值要差,我们就判定其不成功我们就通过公式(18)更新搜索步长:
ξi=β×ξi (18)
在公式(18)中,β表示的是缩小因子;
上述过程一直持续到设定的终止条件;
B2、转轴阶段:算法会重置搜索步长为初始值,并重新的构建新的搜索方向,新的搜索方向的更新主要是通过正交归一化方法来更新其新的搜索方向,过程如下:
通过探测阶段后,通过如下公式来定义一组需要转换的新方向(p1,p2,p3……pn);
在公式(19)中,d表示的是原来的的方向,ξ是更新后的步长;
通过GS正交化对新的方向(p1,p2,p3......pn)进行正交化,归一化数学描述如公式(20)所示:
通过归一化之后,新的搜索方向由公式(21)定义:
确定好新的搜索方向之后,开始继续进行探测阶段的循环,直到满足特定的终止条件。
本发明的有益效果是:
1、本发明通过对一个实际工程问题进行优化解决,同时该技术方案可应用到其他类似的实际工程问题中,比如焊接桥梁设计问题拉伸/压缩弹簧设计等实际的工程优化问题,从而在实际的工程优化问题中找到更优的解,在有限的时间内提高含约束的工程优化问题的解的精度。
2、本发明在哈里斯鹰优化算法(HHO)中引入新的改进策略,包括反向对数螺旋机制和Rosenbrock直接搜索机制。在早期迭代中通过反向对数螺旋机制可以显著增加探索区域的差异性,提高了种群的多样性。在后期迭代中,通过Rosenbrock直接搜索机制可以进一步的加强算法的局部搜索能力,提高算法的局部开发能力。两种机制的动态配合,可以显著的提高原始哈里斯鹰优化算法(HHO)的性能,从而提高算法的收敛速度,提高跳出局部最优的能力。在处理实际有约束的工程问题的时候,可以在有限的时间内得到一个优秀解,提高了实际工程问题的解的精度。
3、本发明融合反向学习技术和对角螺旋机制提出了一种有效的探索策略。
4、本发明首次把Rosenbrock直接搜索方法融合到哈里斯鹰优化算法(HHO)中来增强算法的开发能力。
5、本发明把反向对数螺旋策略和Rosenbrock直接搜索方法动态的融合到哈里斯鹰优化算法(HHO)中,提出了一种新的有效多策略增强的哈里斯鹰优化算法来解决焊接桥梁设计、压力管容器设计和拉伸压缩弹簧这些实际工程问题。
附图说明
图1为本发明中改进的哈里斯鹰优化算法(RLHHO)和原始的哈里斯鹰优化算法(HHO)在部分测试优化函数上的效果;
图2为本发明中改进的哈里斯鹰优化算法(RLHHO)和原始的哈里斯鹰优化算法(HHO)在对比中所使用的测试优化函数的具体数学描述;
图3为本发明中RLHHO算法和原始HHO算法在压力管容器设计问题中的结果对比;
图4为本发明中RLHHO算法和原始HHO算法在拉伸/压缩弹簧设计问题中的结果对比;
图5为本发明中RLHHO算法和原始HHO算法在焊接梁设计问题中的结果对比。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
一种基于多策略增强的哈里斯老鹰算法的工程优化方法,包括以下步骤:
步骤S1、实际工程问题的优化目标函数构建;确认实际工程问题的优化目标,并根据优化目标确定优化变量,优化变量要满足相应的约束,通过优化目标和优化变量构建优化目标函数;
比如压力管容器设计问题,该问题在是工程领域内的一个经典问题,我们的目标是使圆柱形压力容器的总成本(材料,焊接,成形)最小化,同时也要满足相应的约束条件;该问题有四个优化变量:压力管的厚度(TS),压力管盖的厚度(Th),压力管内的半径(R),和压力管的圆柱长度(L)。同时这四个优化变量要满足相应的约束;上述问题的目标函数构建如下:
Variablerange 0≤x1≤99,
0≤x2≤99,
10≤x3≤200,
10≤x4≤200,
步骤S2、参数初始化;该算法的初始化参数包括有最大迭代次数T、哈里斯鹰群的种群数量N;优化目标函数的初始化参数包括有目标函数的搜索空间(Cmin,Cmax),目标函数的变量范围、及目标函数的维度大小dim;
对于压力管容器设计问题,目标函数共4个变量维度,及目标函数的约束条件。
步骤S3、初始化哈里斯鹰的种群位置;利用公式(1)来初始化种群的位置,把哈里斯鹰的初始化位置限定在目标函数搜索空间的随机位置之中,公式(1)如下所示:
Xm,n=(Cmax-Cmin)*rand+Cmin(m=1,2,...N)(n=1,2,...dim) (1)
在公式(1),X是初始化后的种群位置;rand是(0,1)之间的随机数;Cmax是目标函数的上界,Cmin是目标函数的下界;N是种群的大小;dim是目标函数维度的大小,根据上述每个变量的范围来初始化变量位置。
步骤S5、采用变量E来动态的模拟猎物的运动状态和种群的执行状态,从而为每一个哈里斯鹰找到最好的执行策略;变量E的公式如下所示:
在公式(2)中,E0是(-1,1)之间的随机数代表着初始的能量状态,t是当前迭代次数,T是最大的迭代次数,E的值是随着迭代次数的增加,从(-1,1)范围内向0趋近;
通过E的值可以动态的在探索和开发之间,以及在开发的不同策略之间切换;对于种群中每个哈里斯鹰来说,当E的绝对值大于1的时候,这个哈里斯鹰进入探索阶段,转入步骤S6;当E的绝对值小于1的时候,该哈里斯鹰进入开发阶段,转入步骤S7。
步骤S6、探索阶段;在本阶段,采用反向对数螺旋策略来更新哈里斯鹰的位置,如公式(4)所示:
Xreverse_best=rand×(Cmax+Cmin)-Xbest (3)
Xnext=|Xbest-Xreverse_best|×ebl×cos(2πl)+Xbest (4)
其中Xbest是当前迭代中的最优解位置,Xreverse_best是根据公式(3)得到的当前最优解的反向解;Xnext是哈里斯鹰更新后的新位置,l是(-1,1)之间的随机值,b=1是一个常数;
根据上述反向对数螺旋公式来对哈里斯鹰进行探索位置的随机更新,期望找到可能最优解的区域;并跳至步骤S8。
步骤S7、开发阶段;在这个阶段,哈里斯鹰会采用不同的策略来更新其位置,主通过变量E来进行不同策略的切换,从而为每一个哈里斯鹰选择合适的策略进行位置更新,同时Rosenbrock直接搜索算法也会在本阶段引入来更新哈里斯鹰的位置;并跳至步骤S9。
步骤S8、通过步骤S5和S6可以对整个种群的位置进行更新,更新后的新种群,通过目标函数和约束条件,计算所有更新位置后的满足约束条件的哈里斯鹰的适应度函数进行排序后选出当前新种群的最优解把这个当前迭代的最优解和目前假设的最优解Xbest进行比较,如果比Xbest更优,则替换它,执行如下公式:
步骤S9、判读是否达到最大的迭代次数T;若是,则输出最优解的位置Xbest,此时Xbest就是我们所求的目标函数的最优解,也就是我们找到的实际工程优化问题的最优解;若没达到迭代次数,返回步骤S5,执行下一次的迭代过程。
其中步骤S7的详细描述如下:
该步骤会细分为两个小步骤来进行,具体如下所示:
步骤S7.1、本阶段是算法的开发阶段,通过变量E来控制执行的不同策略,同时引入变量r来模拟兔子是否逃脱追捕,r是(0,1)之间的随机数;具体判断如下:
A1、当r≥0.5且|E|≥0.5时,用公式(6)更新哈里斯鹰的位置;
X(t+1)=ΔX(t)-E|JXrabbit(t)-X(t)| (6)
在公式(6)中,ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子即最优解的位置和当前位置之间的差值;J=2(1-r5)表示的是(0,2)之间的随机数,r5是(0,1)之间的随机数,用来表示兔子的随机跳跃强度,J的值在每次的迭代中都会改变;X(t)表示t迭代中当前鹰派成员的位置。
A2、当r≥0.5且|E|≤0.5时,用公式(7)更新哈里斯鹰的位置;
X(t+1)=Xrabbit(t)-E|ΔX(t)| (7)
在公式(7)中,Xrabbit(t)表示的是t次迭代中兔子的位置;其中ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子的位置和当前位置之间的差值。
A3、当r<0.5且|E|>0.5时,用公式(8)更新哈里斯鹰的位置;
在公式(8)中,F是目标函数,Y和Z分别由公式(9)和(10)表示:
Y=Xrabbit(t)-E|JXrabbit(t)-X(t)| (9)
Z=Y+S×LF(D) (10)
在公式(9)和(10)中,D是问题的维数,S是1×D的随机向量,LF(D)是这个levy飞行产生的1×D维度的随机数,LF(D)用公式(11)表示:
在公式(11),μ,υ是(0,1)的随机数,β是一个常量,在HHO中β=1.5。
A4、当r<0.5且|E|<0.5的时,用公式(12)更新哈里斯鹰的位置;
在公式(12)中,F是目标函数,Y和Z分别由公式(13)和(14):
Z=Y+S×LF(D) (14)
步骤S7.2、在本阶段引入Rosenbrock直接搜索算法,当步骤S7.1执行完之后,会对每个开发阶段的哈里斯鹰进行判定是否进行Rosenbrock直接搜索算法进行局部搜索;判定的主要是通过变量prod进行,其公式如下所示:
在公式(15)中,N是种群的规模,ti是第i次迭代中最优解未被更新的次数,rand是(-1,1)之间的随机数,根据公式(15)可以求出Rosenbrock直接搜索算法在开发阶段被引入的概率prob;在HHO的开发阶段当prob的值大于0.8时候,就可以判断出算法在本次迭代中的最优解更新频率过低,就假定算法陷入局部最优值,利用Rosenbrock直接搜索算法进行本地搜索,从而跳出局部最优值。
其中步骤S7.2中的Rosenbrock直接搜索算法详细描述如下:
Rosenbrock直接搜索算法,包括两个阶段:探测和转轴(构建搜索方向),其中探测阶段,主要通过搜索方向,通过调整步长进行搜索;转轴阶段,主要是通过正交化进行搜索方向的更新;Rosenbrock直接搜索算法的详细描述如下所示:
B1、探测阶段;初始点x0,设定初始的搜索方向(d1,d2,d3......dn),一般初始方向为坐标轴方向;设定初始的步长ξ1,ξ2,ξ3,......ξn;步长增长因子α(α>1),缩小因子β(-1<β<0);
探测阶段开始,沿着n个搜索方向根据公式(16)依次循环搜索;
y=x+di×ξi (16)
在公式(16)中,x表示的是当前的位置,di和ξi分别表示第i个搜索方向和第i个搜索方向的移动步长。
如果y的值比x的值要好,我们就判定其成功,我们就通过公式(17)更新搜索步长:
ξi=α×ξi (17)
在公式(17)中,α是增长因子;
如果y的值比x的值要差,我们就判定其不成功我们就通过公式(18)更新搜索步长:
ξi=β×ξi (18)
在公式(18)中,β表示的是缩小因子;
上述过程一直持续到设定的终止条件;
B2、转轴阶段:算法会重置搜索步长为初始值,并重新的构建新的搜索方向,新的搜索方向的更新主要是通过正交归一化方法来更新其新的搜索方向,过程如下:
通过探测阶段后,通过如下公式来定义一组需要转换的新方向(p1,p2,p3......pn);
在公式(19)中,d表示的是原来的的方向,ξ是更新后的步长;
通过GS正交化对新的方向(p1,p2,p3......pn)进行正交化,归一化数学描述如公式(20)所示:
通过归一化之后,新的搜索方向由公式(21)定义:
确定好新的搜索方向之后,开始继续进行探测阶段的循环,直到满足特定的终止条件。
上述技术方案通过对一个实际工程问题进行优化解决,同时该技术方案可应用到其他类似的实际工程问题中,比如焊接桥梁设计问题拉伸/压缩弹簧设计等实际的工程优化问题,从而在实际的工程优化问题中找到更优的解,在有限的时间内提高含约束的工程优化问题的解的精度。在附图给出了拉伸/压缩弹簧、焊接桥梁设计和压力管设计的优化结果和原始算法优化法结果的对比。
应用实施例
参考附图1,图1是改进的哈里斯鹰优化算法(RLHHO)和原始的哈里斯鹰优化算法(HHO)在部分测试优化函数上的效果,表示了收敛对比;其中F1和F2是单峰函数,只有一个全局最优值,没有局部最优值;F3和F4是多峰函数,有多个局部最优值,一个全局最优值。左边的图片是函数搜索空间的三维示意图,右边的图片是RLHHO和HHO算法在500次迭代中的寻优图(500次迭代,种群大小设为30)。函数的详细描述在图2中。
从图一种可以看出RLHHO在这几个测试优化函数中不论是收敛的速度还是收敛的精度都远远的超过了原始哈里斯鹰优化算法(HHO)。
参考附图3、图4和图5,在处理这类约束工程问题的时候,改进的算法(RLHHO)有着非常好的优化结果,在实际工程中最小化相应的成本,为实际工程问题提供一种解决方案。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (3)
1.一种基于多策略增强的哈里斯老鹰算法的工程优化方法,其特征在于,包括以下步骤:
步骤S1、实际工程问题的优化目标函数构建;确认实际工程问题的优化目标,并根据优化目标确定优化变量,优化变量要满足相应的约束,通过优化目标和优化变量构建优化目标函数;
步骤S2、参数初始化;该算法的初始化参数包括有最大迭代次数T、哈里斯鹰群的种群数量N;优化目标函数的初始化参数包括有目标函数的搜索空间(Cmin,Cmax),目标函数的变量范围、及目标函数的维度大小dim;
步骤S3、初始化哈里斯鹰的种群位置;利用公式(1)来初始化种群的位置,把哈里斯鹰的初始化位置限定在目标函数搜索空间的随机位置之中,公式(1)如下所示:
Xm,n=(Cmax-Cmin)*rand+Cmin(m=1,2,...N)(n=1,2,...dim) (1)
在公式(1),X是初始化后的种群位置;rand是(0,1)之间的随机数;Cmax是目标函数的上界,Cmin是目标函数的下界;N是种群的大小;dim是目标函数维度的大小,根据上述每个变量的范围来初始化变量位置;
步骤S5、采用变量E来动态的模拟猎物的运动状态和种群的执行状态,从而为每一个哈里斯鹰找到最好的执行策略;变量E的公式如下所示:
在公式(2)中,E0是(-1,1)之间的随机数代表着初始的能量状态,t是当前迭代次数,T是最大的迭代次数,E的值是随着迭代次数的增加,从(-1,1)范围内向0趋近;
通过E的值可以动态的在探索和开发之间,以及在开发的不同策略之间切换;对于种群中每个哈里斯鹰来说,当E的绝对值大于1的时候,这个哈里斯鹰进入探索阶段,转入步骤S6;当E的绝对值小于1的时候,该哈里斯鹰进入开发阶段,转入步骤S7;
步骤S6、探索阶段;在本阶段,采用反向对数螺旋策略来更新哈里斯鹰的位置,如公式(4)所示:
Xreverse_best=rand×(Cmax+Cmin)-Xbest (3)
Xnext=|Xbest-Xreverse_best|×ebl×cos(2πl)+Xbest (4)
其中Xbest是当前迭代中的最优解位置,Xreverse_best是根据公式(3)得到的当前最优解的反向解;Xnext是哈里斯鹰更新后的新位置,l是(-1,1)之间的随机值,b=1是一个常数;
根据上述反向对数螺旋公式来对哈里斯鹰进行探索位置的随机更新,期望找到可能最优解的区域;并跳至步骤S8;
步骤S7、开发阶段;在这个阶段,哈里斯鹰会采用不同的策略来更新其位置,主通过变量E来进行不同策略的切换,从而为每一个哈里斯鹰选择合适的策略进行位置更新,同时Rosenbrock直接搜索算法也会在本阶段引入来更新哈里斯鹰的位置;并跳至步骤S9;
步骤S8、通过步骤S5和S6可以对整个种群的位置进行更新,更新后的新种群,通过目标函数和约束条件,计算所有更新位置后的满足约束条件的哈里斯鹰的适应度函数进行排序后选出当前新种群的最优解把这个当前迭代的最优解和目前假设的最优解Xbest进行比较,如果比Xbest更优,则替换它,执行如下公式:
步骤S9、判读是否达到最大的迭代次数T;若是,则输出最优解的位置Xbest,此时Xbest就是我们所求的目标函数的最优解,也就是我们找到的实际工程优化问题的最优解;若没达到迭代次数,返回步骤S5,执行下一次的迭代过程。
2.根据权利要求1所述的一种基于多策略增强的哈里斯老鹰算法的工程优化方法,其特征在于,所述的步骤S7具体包括:
步骤S7.1、本阶段是算法的开发阶段,通过变量E来控制执行的不同策略,同时引入变量r来模拟兔子是否逃脱追捕,r是(0,1)之间的随机数;具体判断如下:
A1、当r≥0.5且|E|≥0.5时,用公式(6)更新哈里斯鹰的位置;
X(t+1)=ΔX(t)-E|JXrabbit(t)-X(t)| (6)
在公式(6)中,ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子即最优解的位置和当前位置之间的差值;J=2(1-r5)表示的是(0,2)之间的随机数,r5是(0,1)之间的随机数,用来表示兔子的随机跳跃强度,J的值在每次的迭代中都会改变;X(t)表示t迭代中当前鹰派成员的位置;
A2、当r≥0.5且|E|≤0.5时,用公式(7)更新哈里斯鹰的位置;
X(t+1)=Xrabbit(t)-E|ΔX(t)| (7)
在公式(7)中,Xrabbit(t)表示的是t次迭代中兔子的位置;其中ΔX(t)=Xrabbit(t)-X(t),表示的是在t次迭代中,兔子的位置和当前位置之间的差值;
A3、当r<0.5且|E|>0.5时,用公式(8)更新哈里斯鹰的位置;
在公式(8)中,F是目标函数,Y和Z分别由公式(9)和(10)表示:
Y=Xrabbit(t)-E|JXrabbit(t)-X(t)| (9)
Z=Y+S×LF(D) (10)
在公式(9)和(10)中,D是问题的维数,S是1×D的随机向量,LF(D)是这个levy飞行产生的1×D维度的随机数,LF(D)用公式(11)表示:
在公式(11),μ,υ是(0,1)的随机数,β是一个常量,在HHO中β=1.5;
A4、当r<0.5且|E|<0.5的时,用公式(12)更新哈里斯鹰的位置;
在公式(12)中,F是目标函数,Y和Z分别由公式(13)和(14):
Z=Y+S×LF(D) (14)
步骤S7.2、在本阶段引入Rosenbrock直接搜索算法,当步骤S7.1执行完之后,会对每个开发阶段的哈里斯鹰进行判定是否进行Rosenbrock直接搜索算法进行局部搜索;判定的主要是通过变量prod进行,其公式如下所示:
在公式(15)中,N是种群的规模,ti是第i次迭代中最优解未被更新的次数,rand是(-1,1)之间的随机数,根据公式(15)可以求出Rosenbrock直接搜索算法在开发阶段被引入的概率prob;在HHO的开发阶段当prob的值大于0.8时候,就可以判断出算法在本次迭代中的最优解更新频率过低,就假定算法陷入局部最优值,利用Rosenbrock直接搜索算法进行本地搜索,从而跳出局部最优值。
3.根据权利要求2所述的一种基于多策略增强的哈里斯老鹰算法的工程优化方法,其特征在于,所述的步骤S7.2中的Rosenbrock直接搜索算法具体包括:
B1、探测阶段;初始点x0,设定初始的搜索方向(d1d2,d3......dn),一般初始方向为坐标轴方向;设定初始的步长ξ1,ξ2,ξ3,......ξn;步长增长因子α(α>1),缩小因子β(-1<β<0);
探测阶段开始,沿着n个搜索方向根据公式(16)依次循环搜索;
y=x+di×ξi (16)
在公式(16)中,x表示的是当前的位置,di和ξi分别表示第i个搜索方向和第i个搜索方向的移动步长。
如果y的值比x的值要好,我们就判定其成功,我们就通过公式(17)更新搜索步长:
ξi=α×ξi (17)
在公式(17)中,α是增长因子;
如果y的值比x的值要差,我们就判定其不成功我们就通过公式(18)更新搜索步长:
ξi=β×ξi (18)
在公式(18)中,β表示的是缩小因子;
上述过程一直持续到设定的终止条件;
B2、转轴阶段:算法会重置搜索步长为初始值,并重新的构建新的搜索方向,新的搜索方向的更新主要是通过正交归一化方法来更新其新的搜索方向,过程如下:
通过探测阶段后,通过如下公式来定义一组需要转换的新方向(p1,p2,p3......pn);
在公式(19)中,d表示的是原来的的方向,ξ是更新后的步长;
通过GS正交化对新的方向(p1,p2,p3......pn)进行正交化,归一化数学描述如公式(20)所示:
通过归一化之后,新的搜索方向由公式(21)定义:
确定好新的搜索方向之后,开始继续进行探测阶段的循环,直到满足特定的终止条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934463.8A CN110728001B (zh) | 2019-09-29 | 2019-09-29 | 一种基于多策略增强的哈里斯老鹰算法的工程优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934463.8A CN110728001B (zh) | 2019-09-29 | 2019-09-29 | 一种基于多策略增强的哈里斯老鹰算法的工程优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110728001A true CN110728001A (zh) | 2020-01-24 |
CN110728001B CN110728001B (zh) | 2023-08-04 |
Family
ID=69219632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910934463.8A Active CN110728001B (zh) | 2019-09-29 | 2019-09-29 | 一种基于多策略增强的哈里斯老鹰算法的工程优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110728001B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111292808A (zh) * | 2020-02-14 | 2020-06-16 | 大连大学 | 基于改进哈里斯鹰算法的dna存储编码优化方法 |
CN111506856A (zh) * | 2020-03-10 | 2020-08-07 | 燕山大学 | 一种基于改进哈里斯鹰优化算法的光伏电池参数辨识方法 |
CN111832135A (zh) * | 2020-07-28 | 2020-10-27 | 郑州轻工业大学 | 基于改进哈里斯鹰优化算法的压力容器结构优化方法 |
CN112149264A (zh) * | 2020-09-25 | 2020-12-29 | 东北电力大学 | 一种基于改进哈里斯鹰优化算法的主动配电网规划方法 |
CN112308195A (zh) * | 2020-11-02 | 2021-02-02 | 重庆理工大学 | 模拟局部代价来求解DCOPs的方法 |
CN112733458A (zh) * | 2021-01-18 | 2021-04-30 | 福州大学 | 一种基于自适应变分模态分解的工程结构信号处理方法 |
CN113204815A (zh) * | 2021-04-19 | 2021-08-03 | 河海大学 | 基于数据驱动的酸性环境下地下结构寿命预测方法 |
CN113312722A (zh) * | 2021-05-28 | 2021-08-27 | 广西大学 | 一种城轨列车关键部件的可靠度预测优化方法 |
CN113326912A (zh) * | 2021-05-28 | 2021-08-31 | 南京邮电大学 | 一种基于信息共享哈里斯鹰优化的超宽带定位方法 |
CN113361777A (zh) * | 2021-06-08 | 2021-09-07 | 淮阴工学院 | 基于vmd分解和ihho优化lstm的径流预测方法及系统 |
CN113381441A (zh) * | 2021-05-19 | 2021-09-10 | 南昌大学 | 一种基于哈里斯鹰算法的三相并网逆变器控制参数整定方法 |
CN113420863A (zh) * | 2021-05-19 | 2021-09-21 | 南昌大学 | 一种基于哈里斯鹰算法的储能双向变流器控制参数整定方法 |
CN113609761A (zh) * | 2021-07-21 | 2021-11-05 | 三明学院 | 一种模型参数的计算方法、装置、设备和存储介质 |
CN114489120A (zh) * | 2021-12-31 | 2022-05-13 | 杭州电子科技大学 | 一种面向移动网络的无人机部署与跟踪控制方法 |
CN115499384A (zh) * | 2022-09-20 | 2022-12-20 | 大连大学 | 一种基于ehho-svr的数据流量识别方法 |
CN116822884A (zh) * | 2023-06-30 | 2023-09-29 | 上海海事大学 | 一种柔性制造系统中多天车协同调度方法 |
CN116822884B (zh) * | 2023-06-30 | 2024-05-31 | 上海海事大学 | 一种柔性制造系统中多天车协同调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786759A (zh) * | 2016-03-15 | 2016-07-20 | 河北工业大学 | 一种改进标准混合蛙跳算法的方法 |
CN107292381A (zh) * | 2017-07-12 | 2017-10-24 | 东北电力大学 | 一种用于单目标优化的混合生物共生搜索的方法 |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
US20190079975A1 (en) * | 2017-09-11 | 2019-03-14 | Hefei University Of Technology | Scheduling method and system based on hybrid variable neighborhood search and gravitational search algorithm |
CN110222812A (zh) * | 2019-06-14 | 2019-09-10 | 辽宁工程技术大学 | 一种带能量周期性递减调控策略的改进栗翅鹰优化算法 |
-
2019
- 2019-09-29 CN CN201910934463.8A patent/CN110728001B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786759A (zh) * | 2016-03-15 | 2016-07-20 | 河北工业大学 | 一种改进标准混合蛙跳算法的方法 |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
CN107292381A (zh) * | 2017-07-12 | 2017-10-24 | 东北电力大学 | 一种用于单目标优化的混合生物共生搜索的方法 |
US20190079975A1 (en) * | 2017-09-11 | 2019-03-14 | Hefei University Of Technology | Scheduling method and system based on hybrid variable neighborhood search and gravitational search algorithm |
CN110222812A (zh) * | 2019-06-14 | 2019-09-10 | 辽宁工程技术大学 | 一种带能量周期性递减调控策略的改进栗翅鹰优化算法 |
Non-Patent Citations (1)
Title |
---|
徐辰华;李成县;喻昕;黄清宝;: "基于Cat混沌与高斯变异的改进灰狼优化算法", no. 04 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111292808A (zh) * | 2020-02-14 | 2020-06-16 | 大连大学 | 基于改进哈里斯鹰算法的dna存储编码优化方法 |
CN111292808B (zh) * | 2020-02-14 | 2023-04-28 | 大连大学 | 基于改进哈里斯鹰算法的dna存储编码优化方法 |
CN111506856A (zh) * | 2020-03-10 | 2020-08-07 | 燕山大学 | 一种基于改进哈里斯鹰优化算法的光伏电池参数辨识方法 |
CN111832135A (zh) * | 2020-07-28 | 2020-10-27 | 郑州轻工业大学 | 基于改进哈里斯鹰优化算法的压力容器结构优化方法 |
CN111832135B (zh) * | 2020-07-28 | 2023-10-31 | 郑州轻工业大学 | 基于改进哈里斯鹰优化算法的压力容器结构优化方法 |
CN112149264A (zh) * | 2020-09-25 | 2020-12-29 | 东北电力大学 | 一种基于改进哈里斯鹰优化算法的主动配电网规划方法 |
CN112308195A (zh) * | 2020-11-02 | 2021-02-02 | 重庆理工大学 | 模拟局部代价来求解DCOPs的方法 |
CN112308195B (zh) * | 2020-11-02 | 2023-12-05 | 重庆理工大学 | 模拟局部代价来求解DCOPs的方法 |
CN112733458A (zh) * | 2021-01-18 | 2021-04-30 | 福州大学 | 一种基于自适应变分模态分解的工程结构信号处理方法 |
CN113204815A (zh) * | 2021-04-19 | 2021-08-03 | 河海大学 | 基于数据驱动的酸性环境下地下结构寿命预测方法 |
CN113204815B (zh) * | 2021-04-19 | 2022-10-14 | 河海大学 | 基于数据驱动的酸性环境下地下结构寿命预测方法 |
CN113381441A (zh) * | 2021-05-19 | 2021-09-10 | 南昌大学 | 一种基于哈里斯鹰算法的三相并网逆变器控制参数整定方法 |
CN113420863A (zh) * | 2021-05-19 | 2021-09-21 | 南昌大学 | 一种基于哈里斯鹰算法的储能双向变流器控制参数整定方法 |
CN113312722A (zh) * | 2021-05-28 | 2021-08-27 | 广西大学 | 一种城轨列车关键部件的可靠度预测优化方法 |
CN113326912A (zh) * | 2021-05-28 | 2021-08-31 | 南京邮电大学 | 一种基于信息共享哈里斯鹰优化的超宽带定位方法 |
CN113326912B (zh) * | 2021-05-28 | 2022-08-09 | 南京邮电大学 | 一种基于信息共享哈里斯鹰优化的超宽带定位方法 |
CN113361777A (zh) * | 2021-06-08 | 2021-09-07 | 淮阴工学院 | 基于vmd分解和ihho优化lstm的径流预测方法及系统 |
CN113361777B (zh) * | 2021-06-08 | 2023-11-03 | 淮阴工学院 | 基于vmd分解和ihho优化lstm的径流预测方法及系统 |
CN113609761A (zh) * | 2021-07-21 | 2021-11-05 | 三明学院 | 一种模型参数的计算方法、装置、设备和存储介质 |
CN113609761B (zh) * | 2021-07-21 | 2024-02-20 | 三明学院 | 一种模型参数的计算方法、装置、设备和存储介质 |
CN114489120A (zh) * | 2021-12-31 | 2022-05-13 | 杭州电子科技大学 | 一种面向移动网络的无人机部署与跟踪控制方法 |
CN114489120B (zh) * | 2021-12-31 | 2024-05-14 | 杭州电子科技大学 | 一种面向移动网络的无人机部署与跟踪控制方法 |
CN115499384B (zh) * | 2022-09-20 | 2023-06-30 | 大连大学 | 一种基于ehho-svr的数据流量识别方法 |
CN115499384A (zh) * | 2022-09-20 | 2022-12-20 | 大连大学 | 一种基于ehho-svr的数据流量识别方法 |
CN116822884A (zh) * | 2023-06-30 | 2023-09-29 | 上海海事大学 | 一种柔性制造系统中多天车协同调度方法 |
CN116822884B (zh) * | 2023-06-30 | 2024-05-31 | 上海海事大学 | 一种柔性制造系统中多天车协同调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110728001B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110728001A (zh) | 一种基于多策略增强的哈里斯老鹰算法的工程优化方法 | |
Aydilek | A hybrid firefly and particle swarm optimization algorithm for computationally expensive numerical problems | |
Wang et al. | Opposition-based particle swarm algorithm with Cauchy mutation | |
US20210365782A1 (en) | Method and apparatus for generating neural network model, and computer-readable storage medium | |
Li et al. | Enhanced Harris hawks optimization with multi-strategy for global optimization tasks | |
Schultz et al. | Improving tactical plans with genetic algorithms | |
CN113741508B (zh) | 基于改进狼群算法的无人机任务分配方法 | |
CN112052936B (zh) | 基于生成对抗机制的强化学习探索方法及装置 | |
CN112488283A (zh) | 一种改进的多目标灰狼优化算法 | |
Xu et al. | Enhanced moth-flame optimization based on cultural learning and Gaussian mutation | |
Abd-Alsabour | A review on evolutionary feature selection | |
Yang et al. | Efficient deep reinforcement learning via adaptive policy transfer | |
CN111583311B (zh) | 一种pcba快速图像匹配方法 | |
CN111709511A (zh) | 一种基于随机无迹Sigma点变异的哈里斯鹰优化算法 | |
Qi et al. | Directional mutation and crossover for immature performance of whale algorithm with application to engineering optimization | |
CN111832135A (zh) | 基于改进哈里斯鹰优化算法的压力容器结构优化方法 | |
Sabatelli et al. | Deep quality-value (DQV) learning | |
CN116341605A (zh) | 一种基于反向学习策略的灰狼算法混合优化方法 | |
Yang et al. | Efficient Deep Reinforcement Learning through Policy Transfer. | |
Pal et al. | ESOEA: Ensemble of single objective evolutionary algorithms for many-objective optimization | |
Khan et al. | Playing a FPS doom video game with deep visual reinforcement learning | |
Schoeman et al. | Using vector operations to identify niches for particle swarm optimization | |
Asl et al. | A new approach on multi-agent Multi-Objective Reinforcement Learning based on agents' preferences | |
CN109711460A (zh) | 初始聚类中心的获取方法及装置 | |
Li et al. | A novel RBF neural network design based on immune algorithm system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |