IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 智能优化算法:类电磁机制算法 - 附代码 -> 正文阅读

[数据结构与算法]智能优化算法:类电磁机制算法 - 附代码

智能优化算法:类电磁机制算法


摘要:2003 年,Birbil 和 Fang 由于受到电磁场带电粒子间的吸引-排斥机制的启示而提出了基于种群的一种新的随机启发式全局优化算法,即类电磁机制算法(electromagnetism-like machanism algorithm,EM)。算法成功地吸取了传统优化方法以及随机优化方法的优点:简单的寻优原理、需要较少的资源和较快的收敛速度,已经成功地应用于求解无约束优化问题中。

1.算法原理

类电磁机制算法的过程:首先产生初始种群,即随机地在可行域内产生一组初始解,然后根据电磁场里的带电微粒之间的吸引-排斥的机制原理,把每一个可行域中的粒子都看成一个个带电粒子。这些带电粒子的电荷量是由目标函数的函数值来确定的,电荷量决定了带电粒子受到的排斥力或者吸引力的大小,即粒子具有越优的目标函数值,则该粒子就具有越强的吸引力。通过计算当前粒子所受到其它粒子所施加给其的合力,EM 算法以此来决定当前粒子下一步的移动方向。最后根据预先规定的更新规则来产生下一代粒子。所有粒子都完成了上述操作后,可行域中所有粒子的位置都被更新了一次,EM 算法这时候就完成了一轮迭代过程。若未满足算法结束条件,则返回到局部搜索步骤进行下一次迭代。直至所有粒子最终都收敛到某一极小的邻域,并满足一定的终止条件后,优化问题就得到了最优解。

1.1 初始化

从可行域中均匀地随机产生 N N N个点 { x 1 , x 2 , . . . , x N } \{x^1,x^2,...,x^N\} {x1,x2,...,xN}作为初始种群. 其中 x i = ( x 1 i , x 2 i , . . , x n i ) , i = 1 , 2 , . . . , N x^i=(x_1^i,x_2^i,..,x_n^i),i=1,2,...,N xi=(x1i?,x2i?,..,xni?),i=1,2,...,N,n 为问题的维数. 然后计算每个粒子的目标函数 f ( x i ) f(x^i) f(xi)?,并将函数值最优的粒子记为 x b e s t x^{best} xbest?。

1.2 局部搜索

? 局部搜索用于更新当前一个粒子. 通过在一定范围内搜索比该粒子更优的粒子,并使得该粒子朝更精确
的解移动,达到局部更新的效果. 可对所有粒子进行局部搜索,也可只对当前最优粒子进行局部搜索. 将局部
搜索完后的最优粒子仍然记为 x b e s t x^{best} xbest?.

1.3 电荷量及力的计算

由 Birbil 和 Fang 构造的粒子的电荷量的计算为:
q i = e x p ( ? n ( f ( x i ) ? f ( x b e s t ) ) / ∑ k = 1 N ( f ( x k ) ? f ( x b e s t ) ) ) , i = 1 , 2 , . . , N (1) q^i=exp(-n(f(x^i)-f(x^{best}))/\sum_{k=1}^N(f(x^k)-f(x^{best}))),i=1,2,..,N \tag{1} qi=exp(?n(f(xi)?f(xbest))/k=1N?(f(xk)?f(xbest))),i=1,2,..,N(1)
显然,目标函数值越小(即越优)的粒子所带电荷量越大。

然后仿照电磁场中力的计算公式,计算每个粒子受到另一个粒子的作用力,再根据叠加原理,计算粒子所受到的合力. 设 F i j F^{ij} Fij表示粒子 i i i受到粒子 j j j的作用力, F i F_i Fi? 表示粒子 i i i?所受到的合力,则
F i j = { ( x j ? x i ) q i q j ∣ ∣ x j ? x i ∣ ∣ 2 , f ( x j ) < f ( x i ) ( x i ? x j ) q i q j ∣ ∣ x j ? x i ∣ ∣ 2 , f ( x j ) < f ( x i ) (2) F^{ij}=\begin{cases} (x^j-x^i)\frac{q^iq^j}{||x^j-x^i||^2},f(x^j)<f(x^i)\\ (x^i-x^j)\frac{q^iq^j}{||x^j-x^i||^2},f(x^j)<f(x^i) \end{cases}\tag{2} Fij={(xj?xi)xj?xi2qiqj?,f(xj)<f(xi)(xi?xj)xj?xi2qiqj?,f(xj)<f(xi)?(2)

F i = ∑ j ≠ i N F i j , i , j = 1 , 2 , . . . , N (3) F^i=\sum_{j\neq i}^NF^{ij},i,j=1,2,...,N\tag{3} Fi=j?=iN?Fij,i,j=1,2,...,N(3)

由式(3)可知,粒子的受力方向是由粒子的优劣来确定的。即目标函数值较优的粒子吸引目标函数值较差的
粒子,目标函数值较差的粒子排斥目标函数值较优的粒子。

1.4 移动粒子

按照式(4)计算完合力后,粒子将沿着合力的方向移动,新的位置如下:
x i = x i + λ ( F i / ∣ ∣ F i ∣ ∣ ) R N G , i = 1 , 2 , . . . , N (5) x^i=x^i+\lambda(F^i/||F^i||)R_{NG},i=1,2,...,N \tag{5} xi=xi+λ(Fi/Fi)RNG?,i=1,2,...,N(5)
式中, λ ∈ ( 0 , 1 ) λ ∈(0,1) λ(01) 为随机数. 移动过程中,其可行移动范围由 R N G R_{NG} RNG?? 给出, R N G = ( v 1 , v 2 , … , v n ) R_{NG} =(v_1 ,v_2 ,…,v_n ) RNG?=(v1?v2?vn?),表示向上边界 u k u_k uk?和下边界 l k l_k lk??? 移动的可行步长。 且有
v k = { u k ? x k i , F k i > 0 x k i ? l k , e l s e (6) v_k=\begin{cases} u_k-x_k^i,F_k^i>0\\ x_k^i-l_k,else \end{cases}\tag{6} vk?={uk??xki?,Fki?>0xki??lk?,else?(6)
其中, F k i F_k^i Fki? 为第 i i i个粒子的合力的第 k k k?个分量。

经过以上 4 个步骤,完成了 EM 算法的一次迭代,粒子的位置也得到了更新。

算法步骤

步骤1:初始化粒子种群。

步骤2:计算适应度值,并记录最优位置。

步骤3:进行局部搜索。

步骤4:计算电荷量和力,并更新粒子位置。

步骤5:计算适应度值,并更新最优位置。

步骤6:判断是否达到最大迭代次数,如果达到则输出最优结果,否则重复步骤3-6。

2.算法结果

请添加图片描述

3.参考文献

[1]刘梦楠. 类电磁机制算法的研究与改进[D].西安电子科技大学,2014.

[1]周斌,陈晶,张雅雯,薛东.一种类电磁机制算法在锅炉主汽温系统的研究[J].安徽水利水电职业技术学院学报,2020,20(01):16-19.

4.Matlab

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:44:52  更:2021-10-23 12:47:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:53:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码