首页 百科知识 基于热力学选择机制的漂移粒子群优化算法

基于热力学选择机制的漂移粒子群优化算法

时间:2022-10-11 百科知识 版权反馈
【摘要】:基于排名的选择机制首先根据个体的适应值在种群中的排名来分配其选择概率。但是,不同点在于热力学选择机制中是父代粒子和子代粒子根据它们的自由能分量直接进行竞争选择,自由能小的粒子保留,自由能大的粒子舍弃。下面先给出相关概念和定义,然后给出基于热力学选择机制的漂移粒子群优化算法的具体流程。

4.3.4 基于热力学选择机制的漂移粒子群优化算法

选择策略对算法性能的影响会起到举足轻重的作用[13。不同的选择策略将导致不同的选择压力,较大的选择压力使得算法收敛速度较快,但也容易出现过早收敛现象;相对而言,较小的选择压力一般能使种群保持足够的多样性,从而增大了算法收敛到全局最优的概率,但算法的收敛速度一般较慢。在演化计算中较常用的选择策略有以下三类。

1.基于适应值比例的选择机制

繁殖池(Breeding Pool)选择是最简单的一种选择机制,它根据当前种群中个体的适应值来确定每个个体的繁殖量;转盘式选择(Roulette Wheel Selection)是遗传算法中使用最多的一种选择机制,它与繁殖池选择策略不同之处在于,种群中的个体在转盘选择机制下都有被选择的机会,而在繁殖池选择机制下,适应值较差的个体将被剥夺生存的权力;Boltzmann选择实际上是一种适应值调节策略,它对适应值进行变换以改变原始的选择压力,通过变化之后,再使用前面叙述的选择方法进行选择。

2.基于排名的选择机制

基于排名的选择机制首先根据个体的适应值在种群中的排名来分配其选择概率。然后再根据这个概率使用转盘选择机制,这个个体的绝对适应值不能直接影响后代的数量。根据排名方式的不同有线性排名选择方法和非线性排名选择方法。

3.基于局部竞争机制的选择算子

基于适应值比例的选择机制和基于排名的选择都是根据个体的适应值在种群中所占的比例或排名位置来确定选择概率,然后再进行选择。所以,这两类选择策略在种群规模很大时,其额外的计算量也很大,甚至在进行并行实现时有一些同步限制,而基于局部竞争机制的选择算子则能在一定程度上避免这些问题。这类选择策略主要有:锦标赛(Tournament)选择、(μ,λ)选择、μ+λ选择和Boltzmann锦标赛选择。

由于选择机制对于演化搜索过程具有较大的影响,它对搜索起着向导的作用,很多研究人员早就意识到它在演化计算中的重要性,因此,本节将引入一种热力学选择机制[41,114来改进IPSO1算法,该选择机制借鉴了固体退火过程中能量与熵的竞争模式来系统地协调种群收敛过程中“选择压力”和“种群多样性”之间的冲突。它同样不依赖于粒子的绝对适应值来选择个体,而是根据粒子的相对能量、熵来选择粒子,还有热力学选择机制中也引入了温度控制参数,这点类似于Boltzmann锦标赛选择策略。但是,不同点在于热力学选择机制中是父代粒子和子代粒子根据它们的自由能分量直接进行竞争选择,自由能小的粒子保留,自由能大的粒子舍弃。下面先给出相关概念和定义,然后给出基于热力学选择机制的漂移粒子群优化算法(IPSO3)的具体流程。

定义4.4 设S为搜索空间,f:S→R为目标函数,则对于任意粒子Xi∈S,在f为最大优化问题时粒子Xi的绝对能量e(Xi)=-f(Xi),在f为最小优化问题时e(Xi)=f(Xi)。

定义4.5 设Pt=(X1,…,Xi,…,XN)∈SN为PSO算法的第t代种群,则PSO算法在第t代的扩展窗口Wt=[Lt,Ut]由如下两条规则生成。

(1)W0=[L0,U0],其中L0=min{e(Xi)|Xi∈P0},U0=max{e(Xi)|Xi∈P0}。

(2)若Wt=[Lt,Ut]且PSO算法第t代的子种群为Ot=(XN+1,XN+2,…,XN+M)∈SM,那么Wt+1=[Lt+1,Ut+1],其中Lt+1=min(Lt,min{e(Xi)|Xi∈Ot}),Ut+1=max(Ut,max{e(Xi)|Xi∈Ot})。

βt(k)为扩展窗口Wt的第k个等级,这里

img96

其中,a为比例因子常量,a>1;K为等级数,K≥2;0≤k≤K-1。对于任意Xi∈Pt,若e(Xi)∈βt(k),则称粒子Xi落入到了等级βt(k)中。

定义4.6 设Pt=(X1,…,Xi,…,XN)∈SN和Wt分别为PSO算法在第t代的种群和扩展窗口,对于任意Xi∈Pt,称e'(Wt,Xi)是粒子Xi在窗口Wt中的相对能量,这里

img97

定义4.7 设Pt=(X1,…,Xi,…,XN)∈SN和Wt=[Lt,Ut]分别为PSO算法在第t代的种群和扩展窗口,且种群Pt中落入Wt的第k个等级βt(k)中的粒子数为nk,那么称H Wt,P()

t为种群Pt在窗口Wt中的等级熵,这里

img98

定义4.8 设Pt=(X1,…,Xi,…,XN)∈SN为PSO算法在第t代的种群,则称E(Wt,Pt)为在窗口Wt中种群Pt的能量,称F(Wt,T,Pt)为在窗口Wt和温度T(T≥0)下种群Pt的自由能,这里

img99

定义4.9 设Pt=(X1,…,Xi,…,XN)∈SN和Wt=[Lt,Ut]分别为PSO算法在第t代的种群和扩展窗口,对于粒子Xi∈Pt,若Xi落入在Wt的第b个等级βt(b)中,且种群Pt中落入等级βt

(b)中的粒子数为nb,那么称Fc(Wt,T,Pt,Xi)为在窗口Wt和温度T下粒子Xi在种群Pt中的自由能分量,这里

img100

基于热力学选择机制的漂移粒子群优化算法(IPSO3)过程如下。

Step1:初始化,设置参数,为粒子分配空间并产生初始值,计算所有粒子的相对能量。

Step2:初始种群全局极值和各粒子的个体极值。

Step3:依据初始种群的所有粒子的绝对能量计算最大值和最小值,并设置为初始扩展窗口的范围。

Step4:产生子种群,从当前种群中随机选择M个粒子,依据位置更新公式(4.6)产生M个子粒子,并计算所有新个体的绝对能量。

Step5:计算子种群的扩展窗口,依据子种群的扩展窗口对当前种群的扩展窗口进行扩展。

Step6:依据扩展窗口,对当前种群和子种群中所有粒子进行等级计算,在各粒子属性中记录该粒子所属等级,并统计当前种群和子种群集合中各等级的粒子个数。

Step7:依据当前种群和子种群中各粒子的所属等级,在各粒子属性中记录该粒子的相对能量。

Step8:依据等级、各等级粒子个数以及各粒子相对能量,计算当前种群和子种群中各粒子的自由能分量。

Step9:依据子种群中各粒子和当前种群中某些粒子之间的父子对应关系,若子代粒子的自由能分量小于等于其父代粒子的自由能分量,那么子代粒子将替换掉当前种群的父代粒子,从而产生新一代的种群作为当前种群。

Step10:更新当前种群的全局极值和各粒子的个体极值。

Step11:如果达到结束条件,则结束;否则循环执行Step4至Step10。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈