首页 理论教育多目标群体算法萤火虫算法

多目标群体算法萤火虫算法

【摘要】:萤火虫算法的核心思想是萤火虫被绝对亮度比它大的萤火虫所吸引,并根据位置更新公式更新自身的位置。考虑到萤火虫i的亮度随着距离的增加以及空气的吸收而减弱,可以定义萤火虫i对萤火虫j的相对亮度为:式(5.1)中,Ii为萤火虫i的绝对亮度,等于萤火虫i所处位置的目标函数值;γ为光吸收系数,可设为常数;rij为萤火虫i到萤火虫j的距离。γ为光吸收系数,表示吸引力的变化,它的值对萤火虫算法的收敛速度和优化效果有很大的影响。

萤火虫算法的核心思想是萤火虫被绝对亮度比它大的萤火虫所吸引,并根据位置更新公式更新自身的位置。下面先分别对萤火虫的绝对亮度和萤火虫对亮度比它小的萤火虫的吸引力进行建模,随后给出萤火虫的位置更新公式[2]

首先建立萤火虫i的绝对亮度Ii和目标函数值的联系,用萤火虫的绝对亮度表征萤火虫所在位置处的解的目标函数值。在要求最大化的优化问题中,为了降低问题的复杂度,设定在处的萤火虫i的绝对亮度Ii处的目标函数值相等,即Ii=f()。

假设萤火虫i的绝对亮度比萤火虫j的绝对亮度大,则萤火虫j被萤火虫i吸引而向i移动。这种吸引力的大小是由萤火虫i对萤火虫j的相对亮度决定的,相对亮度越大,吸引力越大。所以,为了将萤火虫i对萤火虫j的吸引力进行建模,首先要对萤火虫i对萤火虫j相对亮度建模。考虑到萤火虫i的亮度随着距离的增加以及空气的吸收而减弱,可以定义萤火虫i对萤火虫j的相对亮度为:

式(5.1)中,Ii为萤火虫i的绝对亮度,等于萤火虫i所处位置的目标函数值;γ为光吸收系数,可设为常数;rij为萤火虫i到萤火虫j的距离。

假设萤火虫i对萤火虫j的吸引力和萤火虫i对萤火虫j的相对亮度成比例,则由萤火虫i相对亮度的定义,可得萤火虫i对萤火虫j的吸引力βij(rij)为:(www.chuimin.cn)

式(5.2)中,β0为最大吸引力,即在光源处(r=0处)萤火虫的吸引力。对于大部分问题,可以取β0=1。γ为光吸收系数,表示吸引力的变化,它的值对萤火虫算法的收敛速度和优化效果有很大的影响。对于大部分的问题,可以取γ∈[0.01,100]。rij为萤火虫i到萤火虫j的笛卡儿距离,即

由于被萤火虫i吸引,萤火虫j向其移动而更新自己的位置,j位置更新公式如下:

式(5.4)中,t为算法的迭代次数;为萤火虫i和j所处的空间位置;βij(rij)为萤火虫i对萤火虫j的吸引力;α为常数,一般可以取α∈[0,1];是由高斯分布、均匀分布或者其他分布得到的随机数向量。显然,位置更新公式(5.4)右边的第二项取决于吸引力,第三项是带有特定系数的随机项。