Java教程

智能优化算法:静电放电算法-附代码

本文主要是介绍智能优化算法:静电放电算法-附代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

智能优化算法:静电放电算法

文章目录

  • 智能优化算法:静电放电算法
    • 1.算法原理
    • 2.实验结果
    • 3.参考文献
    • 4.Matlab代码

摘要:静电 放 电 算 法 ( Electrostatic Discharge Algo-rithm,ESDA)是 Houssem于 2019 年受静电放电事件启发提出的一种新型元启发式优化算法。ES-DA 假设电子设备适应度与搜索空间位置有关,利用电子设备个体间直接或间接静电放电现象,通过具有最低适应度值电子设备向高适应度值电子设备移动来改变其位置以获得最佳空间位置,即问题最优解 。与传统群智能算法相比,ESDA 设置参数少、收敛速度快、寻优精度高,是一种具有较好竞争力的群体智能算法。

1.算法原理

ESDA 数学描述简述如下:

(1)初始化阶段。在搜索空间中随机生成群体大小 n n n,即电子设备数量。每个电子设备由类似设计变量的不同组件组成。电子设备适应度与搜索空间中设备的位置有关,适应度值越大,设备的免疫力就越强。每个设备都有一个计数器,用于计算该设备作为损害设备的次数。

在搜索空间中,利用公式(1) 随机生成 n n n 个电子设备初始解:
x i = L B + r a n d ∗ ( U B − L B ) (1) x_i=LB+rand*(UB-LB)\tag{1} xi​=LB+rand∗(UB−LB)(1)
式中: x i x_i xi​ 为电子设备群体中第 i i i 个电子设备的空间位置( i = 1 , 2 , … , n i = 1,2,…,n i=1,2,…,n); U B UB UB、 L B LB LB 分别为搜索空间的上、下界。

(2) 在每次迭代过程中,从电子设备群体中随机选择 3 个电子设备的适应度值并按降序排序(即最佳适应度值个体排序为第1)。生成随机数 r 1 r_1 r1​,如果 r 1 > 0.5 r_1>0.5 r1​>0.5,则静电放电现象仅在两个电子设备间发生;否则,涉及所有 3 个电子设备。每当设备受损害或电子设备受到静电放电时,该设备计数器将增加 1。

① 若 r 1 > 0.5 r_1>0.5 r1​>0.5,假设具有最低适应度值的电子设备2朝着具有最高适应度值的电子设备1移动。当电子设备2移动到电子设备1附近时,假设在两个个体之间发生静电放电现象,且电子设备 2 受到损害,这相当于直接静电放电事件。电子设备 2 新位置更新公式如下:
x 2 n e w = x 2 + 2 β 1 ( x 1 − x 2 ) (2) x_{2new}=x_2+2\beta_1(x_1-x_2)\tag{2} x2new​=x2​+2β1​(x1​−x2​)(2)
式中: x 2 n e w x_{2new} x2new​为电子设备 2 新空间位置; x 1 x_1 x1​ 、 x 2 x_2 x2​分别为电子设备 1、2 当前空间位置; β 1 \beta_1 β1​ 为服从正态分布的随机数,其均值 μ = 0.7 μ=0.7 μ=0.7,标准差 σ = 0.2 σ = 0.2 σ=0.2。

②若 r 1 ≤ 0.5 r_1\leq 0.5 r1​≤0.5,静电放电涉及所有随机选择的3个电子设备,假设第 3 个电子设备正朝着另外两个电子设备移动。当电子设备3移动到电子设备1和电子设备 2 附近时,认为发生静电放电现象,且电子设备 3 受到损害,这相当于间接静电放电事件。电子设备 3 新位置更新公式如下:
x 3 n e w = x 3 + 2 β 2 ( x 1 − x 3 ) + 2 β 3 ( x 2 − x 3 ) (3) x_{3new}=x_3+2\beta_2(x_1-x_3)+2\beta_3(x_2-x_3)\tag{3} x3new​=x3​+2β2​(x1​−x3​)+2β3​(x2​−x3​)(3)
式中: x 3 n e w x_{3new} x3new​为电子设备3 新空间位置; x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​分别为电子设备1、2、3 当前空间位置; β 2 \beta_2 β2​ 和 β 3 \beta_3 β3​ 均为服从正态分布的随机数,均值 μ = 0.7 μ=0.7 μ=0.7,标准差 σ = 0.2 σ = 0.2 σ=0.2。

(3) 假设电子设备受静电放电超过 3 次,则认为该电子设备已被损坏,必须更新,即在搜索空间中随机生成新电子设备;否则,如果电子设备受静电放电事件影响小于或等于 3 次,则产生随机数 r 2 r_2 r2​ ,如果 r 2 < 0.2 r_2<0.2 r2​<0.2,则假定该电子设备的一部分已损坏并且必须改变,否则电子设备组件是安全的。

(4) 将新增电子设备补充到原电子设备群体中并保存,再按照电子设备个体适应度值的大小进行降序排序,选择前 n n n个电子设备作为下一次迭代群体总量。

2.实验结果

在这里插入图片描述

3.参考文献

[1]Houssem R.E.H Bouchekara. Electrostatic discharge algorithm: a novel nature-inspired optimisation algorithm and its application to worst-case tolerance analysis of an EMC filter[J]. IET Science, Measurement & Technology,2019,13(4):

[1]李祥蓉.静电放电算法-混合核SVM的月径流预报模型及应用[J].人民珠江,2020,41(01):23-28.

4.Matlab代码

上述代码,可在网盘清单里面找
链接:https://pan.baidu.com/s/1QIHWRh0bNfZRA8KCQGU8mg
提取码:1234

这篇关于智能优化算法:静电放电算法-附代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!