基于改进哈里斯鹰算法求解最大可满足性的方法及装置
文献发布时间:2024-04-18 20:01:55
技术领域
本申请涉及组合优化问题技术领域,尤其涉及一种基于改进哈里斯鹰算法求解最大可满足性的方法及装置。
背景技术
随着信息时代的高速发展,数据量呈现爆发式增多,最大可满足性问题是如今计算机理论科学和电子设计自动化等领域研究的重点问题之一。而目前采用的是传统的哈里斯鹰算法对最大可满足性问题进行求解。
但是传统的哈里斯鹰算法存在收敛精度低、容易陷入局部最优等问题,因此需要优化哈里斯鹰算法,以实现提高最大可满足性问题的求解精度及求解时间。
发明内容
基于上述现有技术的不足,本申请提供了一种基于改进哈里斯鹰算法求解最大可满足性的方法及装置,以解决现有技术带来的最大可满足性问题的求解精度较低的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种基于改进哈里斯鹰算法求解最大可满足性的方法,包括:
设置哈里斯鹰算法的初始参数;其中所述初始参数包括初试种群以及最大迭代次数;
对所述初试种群进行混沌映射,得到混沌种群;
利用预设函数对所述混沌种群进行种群离散化,得到目标种群;
计算所述目标种群中每个个体位置的适应度,并从所有所述个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置;
计算初始能量,并利用预设的非线性控制策略,更新所述初始能量,得到逃逸能量;
根据所述逃逸能量,更新所述猎物位置;
判断当前迭代次数是否达到所述最大迭代次数;
若所述当前迭代次数达到所述最大迭代次数,则输出更新后的猎物位置及其适应度;
若所述当前迭代次数未达到所述最大迭代次数,则返回执行所述计算所述目标种群中每个个体的适应度,并从每个所述个体的适应度中筛选出最高适应度的个体作为猎物,直至当前迭代次数达到所述最大迭代次数为止。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的方法中,所述设置哈里斯鹰算法的初试种群,包括:
随机生成数量N;
在种群搜索空间中,随机生成数量N只哈里斯鹰的个体位置;
将N只所述哈里斯鹰的个体位置确定为初始种群。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的方法中,所述根据所述逃逸能量,更新所述猎物位置,包括:
判断所述逃逸能量是否大于第一预设阈值;
若所述逃逸能量大于第一预设阈值,则判断预设随机数是否小于第二预设阈值;
若所述预设随机数小于所述第二预设阈值,则随机更新所述猎物位置;
若所述预设随机数不小于所述第二预设阈值,则随机生成变元,并将所述变元进行翻转操作,得到最优解;
根据所述最优解对应的个体位置,更新所述猎物位置;
若所述逃逸能量不大于第一预设阈值,则生成目标随机数;
根据所述逃逸能量以及所述目标随机数,采用对应的包围方式更新所述猎物位置。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的方法中,所述根据所述逃逸能量以及所述目标随机数,采用对应的包围方式更新所述猎物位置,包括:
当所述逃逸能量以及所述目标随机数均小于所述第二预设阈值时,采用渐进式快速俯冲的硬包围方式,更新所述猎物位置;
当所述逃逸能量小于所述第二预设阈值,且所述目标随机数大于所述第二预设阈值时,采用硬包围方式更新所述猎物位置;
当所述逃逸能量以及所述目标随机数均大于所述第二预设阈值时,采用软包围方式,更新所述猎物位置;
当所述逃逸能量大于所述第二预设阈值,且所述目标随机数小于所述第二预设阈值时,采用渐进式快速俯冲的软包围方式,更新所述猎物位置。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的方法中,所述从所有所述个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置,包括:
按照所有所述个体位置的适应度,对每个所述适应度进行升序排序,得到排序结果;
将所述排序结果中序号最大的适应度对应的个体位置作为猎物位置。
本申请第二方面提供了一种基于改进哈里斯鹰算法求解最大可满足性的装置,包括:
设置单元,用于设置哈里斯鹰算法的初始参数;其中所述初始参数包括初试种群以及最大迭代次数;
映射单元,用于对所述初试种群进行混沌映射,得到混沌种群;
离散单元,用于利用预设函数对所述混沌种群进行种群离散化,得到目标种群;
筛选单元,用于计算所述目标种群中每个个体位置的适应度,并从所有所述个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置;
计算单元,用于计算初始能量,并利用预设的非线性控制策略,更新所述初始能量,得到逃逸能量;
位置更新单元,用于根据所述逃逸能量,更新所述猎物位置;
次数判断单元,用于判断当前迭代次数是否达到所述最大迭代次数;
输出单元,用于若所述当前迭代次数达到所述最大迭代次数,则输出更新后的猎物位置及其适应度;
执行单元,用于若所述当前迭代次数未达到所述最大迭代次数,则返回执行所述计算所述目标种群中每个个体的适应度,并从每个所述个体的适应度中筛选出最高适应度的个体作为猎物,直至当前迭代次数达到所述最大迭代次数为止。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的装置中,所述设置单元,包括:
第一生成单元,用于随机生成数量N;
第二生成单元,用于在种群搜索空间中,随机生成数量N只哈里斯鹰的个体位置;
确定单元,用于将N只所述哈里斯鹰的个体位置确定为初始种群。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的装置中,所述位置更新单元,包括:
第一判断单元,用于判断所述逃逸能量是否大于第一预设阈值;
第二判断单元,用于若所述逃逸能量大于第一预设阈值,则判断预设随机数是否小于第二预设阈值;
第一更新单元,用于若所述预设随机数小于所述第二预设阈值,则随机更新所述猎物位置;
翻转单元,用于若所述预设随机数不小于所述第二预设阈值,则随机生成变元,并将所述变元进行翻转操作,得到最优解;
第二更新单元,用于根据所述最优解对应的个体位置,更新所述猎物位置;
第三生成单元,用于若所述逃逸能量不大于第一预设阈值,则生成目标随机数;
第三更新单元,用于根据所述逃逸能量以及所述目标随机数,采用对应的包围方式更新所述猎物位置。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的装置中,所述第三更新单元,包括:
第四更新单元,用于当所述逃逸能量以及所述目标随机数均小于所述第二预设阈值时,采用渐进式快速俯冲的硬包围方式,更新所述猎物位置;
第五更新单元,用于当所述逃逸能量小于所述第二预设阈值,且所述目标随机数大于所述第二预设阈值时,采用硬包围方式更新所述猎物位置;
第六更新单元,用于当所述逃逸能量以及所述目标随机数均大于所述第二预设阈值时,采用软包围方式,更新所述猎物位置;
第七更新单元,用于当所述逃逸能量大于所述第二预设阈值,且所述目标随机数小于所述第二预设阈值时,采用渐进式快速俯冲的软包围方式,更新所述猎物位置。
可选地,在上述的基于改进哈里斯鹰算法求解最大可满足性的装置中,所述筛选单元,包括:
排序单元,用于按照所有所述个体位置的适应度,对每个所述适应度进行升序排序,得到排序结果;
作为单元,用于将所述排序结果中序号最大的适应度对应的个体位置作为猎物位置。
本申请提供的一种基于改进哈里斯鹰算法求解最大可满足性的方法,通过设置哈里斯鹰算法的初始参数,其中初始参数包括初试种群以及最大迭代次数,其次对初试种群进行混沌映射,得到混沌种群,接着利用预设函数对混沌种群进行种群离散化,得到目标种群,随后计算目标种群中每个个体位置的适应度,并从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置,然后计算初始能量,并利用预设的非线性控制策略,更新初始能量,得到逃逸能量,再根据逃逸能量,更新猎物位置,最后判断当前迭代次数是否达到最大迭代次数,若当前迭代次数达到最大迭代次数,则输出更新后的猎物位置及其适应度,若当前迭代次数未达到最大迭代次数,则返回执行计算目标种群中每个个体的适应度,并从每个个体的适应度中筛选出最高适应度的个体作为猎物,直至当前迭代次数达到最大迭代次数为止。从而在哈里斯鹰算法引入混沌映射以及离散函数,有利于提高该算法的收敛精度,进而有效地提高最大可满足性问题的求解精度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供一种基于改进哈里斯鹰算法求解最大可满足性的方法的流程图;
图2为本申请实施例提供的一种初始种群的设置方法的流程图;
图3为本申请实施例提供的一种猎物位置的确定方法的流程图;
图4为本申请实施例提供的一种猎物位置的更新方法的流程图;
图5为本申请另一实施例提供的一种基于改进哈里斯鹰算法求解最大可满足性的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种基于改进哈里斯鹰算法求解最大可满足性的方法,如图1所示,具体包括以下步骤:
S101、设置哈里斯鹰算法的初始参数。
其中初始参数包括初试种群以及最大迭代次数。
可选地,在本申请另一实施例中,步骤S101的一种具体实施方式,如图2所示,包括以下步骤:
S201、随机生成数量N。
具体的,哈里斯鹰算法的前期准备是需要随机生成一个随机数N,以便后续生成种群,捕捉猎物以得到最优解。
S202、在种群搜索空间中,随机生成数量N只哈里斯鹰的个体位置。
具体的,种群搜索空间为范围为[Ub,Lb]。
S203、将N只哈里斯鹰的个体位置确定为初始种群。
S102、对初试种群进行混沌映射,得到混沌种群。
需要说明的是,混沌映射属于一种具有高度复杂性和随机性质的非线性动力系统,具有随机性、遍历性和敏感性且依赖于初值的特点,可以有效地加快算法的收敛速度,以及提高种群的多样性。其中Sine映射,相对简单,便于实现,则在全局搜索阶段,采用Sine映射对初试种群进行映射初始化,即:
c
其中,t代表迭代次数,a设置为4,c的值域设置为[-1,1]。
初试种群的初始化位置表示为:
其中,t为种群迭代次数,X(t)为哈里斯鹰当前迭代时的位置,X
其中,X
而Sine混沌映射后,初试种群的初始位置则更新为:
其中c
S103、利用预设函数对混沌种群进行种群离散化,得到目标种群。
需要说明的是,由于最大可满足性问题属于离散型问题,当对初试种群的位置更新完成之后,还需要引入Sigmoidal(S型)函数,从而可以实现将传统的哈里斯鹰算法转换为二进制哈里斯鹰算法,以便更有效地求解最大可满足性问题。所以,S型函数的公式表达式为:
其中,其中X(t)为猎物迭代t次的位置,S型函数传递更新后哈里斯鹰的二进制位置,其中r代表(0,1)中的随机数。
S104、计算目标种群中每个个体位置的适应度,并从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置。
具体的,个体位置的适应度的计算公式为:
Maximize:
Subject to:
其中,其中x
需要说明的是,在哈里斯鹰算法处于探索阶段时,哈里斯鹰随机栖息在一些地点,通过敏锐的眼睛跟踪和探测猎物,从而更新猎物位置,而且还考虑到需要提高最大可满足性问题的求解精度,因此并不是每个个体位置的适应度均可以用于当哈里斯鹰算法中的猎物位置,所以在本申请实施例中,需要从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置。
可选地,在本申请另一实施例中,步骤S104中的从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置的一种具体实施方式,如图3所示,包括以下步骤:
S301、按照所有个体位置的适应度,对每个适应度进行升序排序,得到排序结果。
需要说明的是,为了从所有的个体位置中挑选出最适合的个体位置作为猎物位置,以便哈里斯鹰进行捕捉,因此在本申请实施例中,基于所有个体位置的适应度,对猎物位置进行选取,即先按照适应度的高低,对所有的每个适应度进行升序排序,从而便可以灵活地挑选出最大适应度的个体位置作为猎物位置。
S302、将排序结果中序号最大的适应度对应的个体位置作为猎物位置。
S105、计算初始能量,并利用预设的非线性控制策略,更新初始能量,得到逃逸能量。
具体的,初始能量的计算公式为:E
逃逸能量的更新公式为:E=2E
其中,T代表最大迭代次数,t代表当前迭代次数。rand是区间(0,1)之间的随机数。
需要说明的是,非线性控制策略可以用于使初始状态达到特定的逃逸状态,其中,本申请实施例中采用的是非线性模型预测控制策略,来使地初始能量达到特定的逃逸能量,当然也可以采用其他的非线性控制策略,并不仅限于非线性模型预测控制策略。
S106、根据逃逸能量,更新猎物位置。
需要说明的是,哈里斯鹰算法需要根据逃逸能量,确定执行探索阶段还是开发阶段的策略,来对种群进行全局搜索或者局部搜索,从而更新猎物位置以得到最优解。
可选地,在本申请另一实施例中,步骤S106的一种具体实施方式,如图4所示,包括以下步骤:
S401、判断逃逸能量是否大于第一预设阈值。
需要说明的是,在本申请实施例中,需要根据逃逸能量选择需要执行的相应探索策略或是开发策略,因此需要进一步对逃逸能量进行判定,即判断逃逸能量是否大于第一预设阈值,若逃逸能量大于第一预设阈值,说明执行探索策略,所以此时执行步骤S402。若逃逸能量不大于第一预设阈值,说明执行开发策略,所以执行步骤S406。
可选地,第一预设阈值为1。
S402、判断预设随机数是否小于第二预设阈值。
具体的,当逃逸能量大于第一预设阈值时,说明猎物在哈里斯鹰的可视范围之外,哈里斯鹰会进一步寻找猎物,搜索不同的区域,此时就需要随机来进一步确定猎物的位置,即判断预设随机数是否小于第二预设阈值,若预设随机数小于第二预设阈值,则采用随机扰动策略,来更新猎物位置,即执行步骤S403。若预设随机数不小于第二预设阈值,则采用有策略扰动的方法,来更新猎物位置,即执行步骤S404。
可选地,预设随机数rand为(0,1)范围中的任意一个,第二预设阈值为0.5。
S403、随机更新猎物位置。
具体的,rand(0,1)<0.5时,哈里斯鹰便随机选取一个区域进行扰动,即随机生成一个最优解作为猎物位置。
S404、随机生成变元,并将变元进行翻转操作,得到最优解。
具体的,若rand(0,1)≥0.5,哈里斯鹰便对不同的区域进行有策略扰动,即随机挑选一个变元(0或1)。当变元为0时,将0翻转为1,或当变元为1时,将1翻转为0,接着哈里斯鹰算法根据翻转后的变元进行求解,得到最优适应度。
S405、根据最优解对应的个体位置,更新猎物位置。
具体的,将最优解在种群搜索空间[Ub,Lb]中的位置,更新为猎物位置。
S406、生成目标随机数。
需要说明的是,当逃逸能量不大于第一预设阈值时,哈里斯鹰会对相邻解进行探测,此时,哈里斯鹰会对搜索到的猎物进行攻击,然后根据猎物的逃逸过程进行捕食。其中猎物的逃逸过程可以分为四种情况,用λ(随机数)表示猎物逃逸的概率,因此需要生成目标随机数,其值为的目标随机数的取值范围为(0,1)。
S407、根据逃逸能量以及目标随机数,采用对应的包围方式更新猎物位置。
具体的,在申请实施例中,哈里斯鹰有多种包围方式对猎物进行捕捉,而包围方式需要根据逃逸能量以及目标随机数进行确定,因此在本申请实施例中,需要根据逃逸能量以及目标随机数,确定对应的包围方式,来更新猎物位置,并对猎物进行攻击。
可选地,在本申请另一实施例中,步骤S407的一种具体实施方式,包括以下步骤:
当逃逸能量以及目标随机数均小于第二预设阈值时,采用渐进式快速俯冲的硬包围方式,更新猎物位置。
具体的,当λ<0.5且E<0.5时,表示为猎物的逃逸能量不足,但猎物有机会逃脱,同时哈里斯鹰捕捉的方式为渐进式快速俯冲的硬围攻,这种行为的猎物位置更新公式为:
J=2×(1-r
其中,λ为目标随机数,E为逃逸能量,X(t+1)代表t代中猎物与鹰的位置之差,J表示猎物在逃跑时的随机跳跃强度,r
当逃逸能量小于第二预设阈值,且目标随机数大于第二预设阈值时,采用硬包围方式更新猎物位置。
具体的,当λ≥0.5,E<0.5时,表示为猎物没有足够的逃逸能量,无法逃脱,哈里斯鹰直接采用硬包围的方式捕捉猎物,此时猎物位置更新公式为:
X(t+1)=X
其中,λ为目标随机数,E为逃逸能量,X(t+1)代表t代中猎物与鹰的位置之差,X
当逃逸能量以及目标随机数均大于第二预设阈值时,采用软包围方式,更新猎物位置。
具体的,当λ≥0.5,E≥0.5时,表示为猎物有足够的逃逸能量,尝试误导哈里斯鹰,最终从哈里斯鹰的手中逃脱,此时猎物位置更新公式为:
X(t+1)=X
J=2×(1-r
其中,X(t+1)代表t代中猎物与鹰的位置之差,λ为目标随机数,E为逃逸能量,r
当逃逸能量大于第二预设阈值,且目标随机数小于第二预设阈值时,采用渐进式快速俯冲的软包围方式,更新猎物位置。
具体的,当λ<0.5,E≥0.5时,表示为猎物有足够的逃逸能量,且有机会逃脱,但是此时哈里斯鹰会采用一种环绕式的软包围来捕猎,此时猎物位置更新公式为:
其中,λ为目标随机数,E为逃逸能量,X(t+1)代表t代中猎物与鹰的位置之差,J表示猎物在逃跑时的随机跳跃强度,r
S107、判断当前迭代次数是否达到最大迭代次数。
需要说明的是,只有当猎物的当前迭代次数的位置达到最大迭代次数时,才是最大可满足性问题的最优解,因此在本申请实施例中,需要进一步对迭代次数进行判定,即判断当前迭代次数是否达到最大迭代次数,若当前迭代次数达到最大迭代次数,说明此时的猎物位置已达到最大可满足性问题的最优解,因此执行步骤S108。若当前迭代次数未达到最大迭代次数,说明此时的猎物位置还未达到最大可满足性问题的最优解,还需要进行迭代操作,因此需要返回执行步骤104,直至当前迭代次数达到最大迭代次数为止。
S108、输出更新后的猎物位置及其适应度。
具体的,当当前迭代次数达到最大迭代次数时,则输出更新后的猎物位置,即最优解的位置,以及最优解所产生的值,即猎物位置的适应度。
需要说明的是,本申请实施例基于预先编写的脚本进行实现,包括但不限于以下实现逻辑:
算法:改进的离散型哈里斯鹰算法
输入:种群中的个体位置个数为N以及最大迭代次数T
输出:X
01.初始化种群X
02.Sine混沌映射
03.S型离散化
04.fort←0to N-1do
05.计算X
06.将适应度最优的个体位置设置为F
07.fori←0to N-1do
08.利用计算公式计算逃逸能力E
09.if(|E|<1)then
10.if(|E|<0.5andλ<0.5)then采用渐进式快速俯冲的硬包围更新X
11.if(|E|<0.5andλ≥0.5)then采用硬包围更新X
12.if(|E|≥0.5andλ<0.5)then采用渐进式快速俯冲的软包围更新X
13.if(|E|≥0.5andλ≥0.5)then采用软包围更新X
14.else if(|E|≥1)then
15.if(rand(0,1)<0.5)then随机扰动更新X
16.else有策略扰动更新X
17.end for
18.end for
19.returnX
本申请提供的一种基于改进哈里斯鹰算法求解最大可满足性的方法,通过设置哈里斯鹰算法的初始参数,其中初始参数包括初试种群以及最大迭代次数,其次对初试种群进行混沌映射,得到混沌种群,接着利用预设函数对混沌种群进行种群离散化,得到目标种群,随后计算目标种群中每个个体位置的适应度,并从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置,然后计算初始能量,并利用预设的非线性控制策略,更新初始能量,得到逃逸能量,再根据逃逸能量,更新猎物位置,最后判断当前迭代次数是否达到最大迭代次数,若当前迭代次数达到最大迭代次数,则输出更新后的猎物位置及其适应度,若当前迭代次数未达到最大迭代次数,则返回执行计算目标种群中每个个体的适应度,并从每个个体的适应度中筛选出最高适应度的个体作为猎物,直至当前迭代次数达到最大迭代次数为止。从而在哈里斯鹰算法引入混沌映射以及离散函数,有利于提高该算法的收敛精度,进而有效地提高最大可满足性问题的求解精度。
本申请另一实施例提供了一种基于改进哈里斯鹰算法求解最大可满足性的装置,如图5所示,包括以下单元:
设置单元501,用于设置哈里斯鹰算法的初始参数。其中初始参数包括初试种群以及最大迭代次数。
映射单元502,用于对初试种群进行混沌映射,得到混沌种群。
离散单元503,用于利用预设函数对混沌种群进行种群离散化,得到目标种群。
筛选单元504,用于计算目标种群中每个个体位置的适应度,并从所有个体位置的适应度中筛选出最大适应度的个体位置作为猎物位置。
计算单元505,用于计算初始能量,并利用预设的非线性控制策略,更新初始能量,得到逃逸能量。
位置更新单元506,用于根据逃逸能量,更新猎物位置。
次数判断单元507,用于判断当前迭代次数是否达到最大迭代次数。
输出单元508,用于若当前迭代次数达到最大迭代次数,则输出更新后的猎物位置及其适应度。
执行单元509,用于若当前迭代次数未达到最大迭代次数,则返回执行计算目标种群中每个个体的适应度,并从每个个体的适应度中筛选出最高适应度的个体作为猎物,直至当前迭代次数达到最大迭代次数为止。
需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S101~步骤S108,此处不再赘述。
可选地,本申请另一实施例提供的一种基于改进哈里斯鹰算法求解最大可满足性的装置中,设置单元501,包括:
第一生成单元,用于随机生成数量N。
第二生成单元,用于在种群搜索空间中,随机生成数量N只哈里斯鹰的个体位置。
确定单元,用于将N只哈里斯鹰的个体位置确定为初始种群。
可选地,本申请另一实施例提供的一种基于改进哈里斯鹰算法求解最大可满足性的装置中,位置更新单元506,包括:
第一判断单元,用于判断逃逸能量是否大于第一预设阈值。
第二判断单元,用于若逃逸能量大于第一预设阈值,则判断预设随机数是否小于第二预设阈值。
第一更新单元,用于若预设随机数小于第二预设阈值,则随机更新猎物位置。
翻转单元,用于若预设随机数不小于第二预设阈值,则随机生成变元,并将变元进行翻转操作,得到最优解。
第二更新单元,用于根据最优解对应的个体位置,更新猎物位置。
第三生成单元,用于若逃逸能量不大于第一预设阈值,则生成目标随机数。
第三更新单元,用于根据逃逸能量以及目标随机数,采用对应的包围方式更新猎物位置。
可选地,本申请另一实施例提供的一种基于改进哈里斯鹰算法求解最大可满足性的装置中,第三更新单元,包括:
第四更新单元,用于当逃逸能量以及目标随机数均小于第二预设阈值时,采用渐进式快速俯冲的硬包围方式,更新猎物位置。
第五更新单元,用于当逃逸能量小于第二预设阈值,且目标随机数大于第二预设阈值时,采用硬包围方式更新猎物位置。
第六更新单元,用于当逃逸能量以及目标随机数均大于第二预设阈值时,采用软包围方式,更新猎物位置。
第七更新单元,用于当逃逸能量大于第二预设阈值,且目标随机数小于第二预设阈值时,采用渐进式快速俯冲的软包围方式,更新猎物位置。
可选地,本申请另一实施例提供的一种基于改进哈里斯鹰算法求解最大可满足性的装置中,筛选单元504,包括:
排序单元,用于按照所有个体位置的适应度,对每个适应度进行升序排序,得到排序结果。
作为单元,用于将排序结果中序号最大的适应度对应的个体位置作为猎物位置。
需要说明的是,本申请上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。