智能优化算法:材料生成优化算法-附代码

本文介绍了一种名为材料生成优化算法(MGA)的新型智能优化算法,该算法通过模拟材料的化学行为,如化合物生成、化学反应和稳定性,以寻找最优解。在MGA中,候选解由周期表元素组成,初始值随机确定,并通过正态高斯分布建模电子的丢失、获得或共享。算法通过化学反应模拟生成新材料,并考虑稳定性选择最佳解。实验结果显示MGA具有快速收敛和高效寻优能力。
摘要由CSDN通过智能技术生成

智能优化算法:材料生成优化算法


摘要:材料生成优化算法(Material Generation Algorithm, MGA)是于2021年提出的一种新型智能优化算法,该算法通过模拟材料化学行为来达到寻优的目的,具有收敛速度快,寻优能力强的特点。

1.算法原理

首先MGA确定了一系列由多个周期表元素( P T E s PTE_s PTEs)组成的材料( M a t Mat Mat)。在该算法中,许多材料被视为候选解( M a t n Mat_n Matn),这些候选解由一些表示为决策变量( P T E i j PTE_i^j PTEij)的元素组成。这两个方面的数学表述如下:
M a t = [ M a t 1 M a t 2 ⋮ M a t i ⋮ M a t n ] = [ P T E 1 1 P T E 1 2 ⋯ P T E 1 j ⋯ P T E 1 d P T E 2 1 P T E 2 2 ⋯ P T E 2 j ⋯ P T E 2 d ⋮ ⋮ ⋮ ⋱ ⋮ P T E i 1 P T E i 2 ⋯ P T E i j ⋯ P T E i d ⋮ ⋮ ⋮ ⋱ ⋮ P T E n 1 P T E n 2 ⋯ P T E n j ⋯ P T E n d ] , { i = 1 , 2 , ⋯   , n j = 1 , 2 , ⋯   , d (1) M a t=\left[\begin{array}{c} M a t_{1} \\ M a t_{2} \\ \vdots \\ M a t_{i} \\ \vdots \\ M a t_{n} \end{array}\right]=\left[\begin{array}{cccccc} P T E_{1}^{1} & P T E_{1}^{2} & \cdots & P T E_{1}^{j} & \cdots & P T E_{1}^{d} \\ P T E_{2}^{1} & P T E_{2}^{2} & \cdots & P T E_{2}^{j} & \cdots & P T E_{2}^{d} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ P T E_{i}^{1} & P T E_{i}^{2} & \cdots & P T E_{i}^{j} & \cdots & P T E_{i}^{d} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ P T E_{n}^{1} & P T E_{n}^{2} & \cdots & P T E_{n}^{j} & \cdots & P T E_{n}^{d} \end{array}\right],\left\{\begin{array}{l} i=1,2, \cdots, n \\ j=1,2, \cdots, d \end{array}\right. \tag{1} Mat=Mat1Mat2MatiMatn=PTE11PTE21PTEi1PTEn1PTE12PTE22PTEi2PTEn2PTE1jPTE2jPTEijPTEnjPTE1dPTE2dPTEidPTEnd,{i=1,2,,nj=1,2,,d(1)
其中, d d d是每种材料(候选解)中元素(决策变量)的数量; n n n是候选解的材料数量。在优化过程的第一阶段, P T E i j PTE_i^j PTEij是在搜索空间随机确定的:
P T E i j ( 0 ) = P T E i , min ⁡ j + U n i f ( 0 , 1 ) ⋅ ( P T E i , max ⁡ j − P T E i , min ⁡ j ) , { i = 1 , 2 , ⋯   , n j = 1 , 2 , ⋯   , d (2) P T E_{i}^{j}(0)=P T E_{i, \min }^{j}+U n i f(0,1) \cdot\left(P T E_{i, \max }^{j}-P T E_{i, \min }^{j}\right),\left\{\begin{array}{l} i=1,2, \cdots, n \\ j=1,2, \cdots, d \end{array}\right. \tag{2} PTEij(0)=PTEi,minj+Unif(0,1)(PTEi,maxjPTEi,minj),{i=1,2,,nj=1,2,,d(2)
其中, P T E i j ( 0 ) PTE_i^j(0) PTEij(0)确定第 i i i种材料中第 j j j个元素的初始值; P T E i , min ⁡ j PTE_{i,\min}^j PTEi,minj P T E i , max ⁡ j PTE_{i,\max}^j PTEi,maxj分别是第 i i i个候选解的第 j j j个决策变量的最小允许值和最大允许值; U n i f ( 0 , 1 ) Unif(0,1) Unif(0,1) [ 0 , 1 ] [0,1] [0,1]区间内的一个随机数。

1.1 模拟化合物

为了对化合物进行数学建模,假设所有 P T E PTE PTE都处于基态,基态可以由磁场、光子或光的能量吸收以及与离子或其他单个电子有关的不同碰撞体或粒子的相互作用在外部激发。由于元素的稳定性不同,它们有失去、获得甚至与其他 P T E PTE PTE共享电子的趋势,从而形成离子或共价化合物。为了模拟离子和共价化合物,使用初始 M a t Mat Mat(式(1))选择 d d d个随机 P T E PTE PTE。对于所选择的 P T E PTE PTE,通过概率对电子的丢失、获得或共享过程进行建模。为了实现这一目标,对每个 P T E PTE PTE使用连续概率分布来配置化合物,该化合物被视为新的 P T E PTE PTE,如下所示:
P T E n e w k = P T E r 1 r 2 ± e − , k = 1 , 2 , ⋯   , d (3) P T E_{n e w}^{k}=P T E_{r_{1}}^{r 2} \pm e^{-}, k=1,2, \cdots, d \tag{3} PTEnewk=PTEr1r2±e,k=1,2,,d(3)
其中, r 1 r_1 r1 r 2 r_2 r2分别为 [ 1 , n ] [1,n] [1,n] [ 1 , d ] [1,d] [1,d]区间内的均匀分布随机整数; P T E r 1 r 2 PTE_{r_1}^{r_2} PTEr1r2是从 M a t Mat Mat中随机选择的 P T E PTE PTE e − e^- e是数学模型中用正态高斯分布表示的模拟电子丢失、获得或共享过程的概率分量; P T E n e w k PTE_{new}^k PTEnewk表示新材料的位置。
新创建的 P T E PTE PTE用于生产新材料( M a t n e w 1 Mat_{new_1} Matnew1),然后将其作为新的备选解添加到初始材料列表( M a t Mat Mat)中:
M a t new  1 = [ P T E new  1 P T E new  2 ⋯ P T E new  k ⋯ P T E new  d ] , k = 1 , 2 , ⋯   , d (4) M a t_{\text {new } 1}=\left[\begin{array}{lll} P T E_{\text {new }}^{1} & P T E_{\text {new }}^{2} & \left.\cdots P T E_{\text {new }}^{k} \cdots P T E_{\text {new }}^{d}\right], k=1,2, \cdots, d \end{array}\right.\tag{4} Matnew 1=[PTEnew 1PTEnew 2PTEnew kPTEnew d],k=1,2,,d(4)
然后,将所有候选解决方案组合在一起,如下所示:
M a t = [ M a t 1 M a t 2 ⋮ M a t i ⋮ M a t n M n e w ] = [ P T E 1 1 P T E 1 2 ⋯ P T E 1 j ⋯ P T E 1 d P T E 2 1 P T E 2 2 ⋯ P T E 2 j ⋯ P T E 2 d ⋮ ⋮ ⋮ ⋱ ⋮ P T E i 1 P T E i 2 ⋯ P T E i j ⋯ P T E i d ⋮ ⋮ ⋮ ⋱ ⋮ P T E n 1 P T E n 2 ⋯ P T E n j ⋯ P T E n d P T E new  1 P T E new  2 ⋯ P T E new  k ⋯ P T E new  d ] , { i = 1 , 2 , ⋯   , n j = 1 , 2 , ⋯   , d k = 1 , 2 , ⋯   , d (5) M a t=\left[\begin{array}{c} M a t_{1} \\ M a t_{2} \\ \vdots \\ M a t_{i} \\ \vdots \\ M a t_{n} \\ M_{n e w} \end{array}\right]=\left[\begin{array}{cccccc} P T E_{1}^{1} & P T E_{1}^{2} & \cdots & P T E_{1}^{j} & \cdots & P T E_{1}^{d} \\ P T E_{2}^{1} & P T E_{2}^{2} & \cdots & P T E_{2}^{j} & \cdots & P T E_{2}^{d} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ P T E_{i}^{1} & P T E_{i}^{2} & \cdots & P T E_{i}^{j} & \cdots & P T E_{i}^{d} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ P T E_{n}^{1} & P T E_{n}^{2} & \cdots & P T E_{n}^{j} & \cdots & P T E_{n}^{d} \\ P T E_{\text {new }}^{1} & P T E_{\text {new }}^{2} & \cdots & P T E_{\text {new }}^{k} & \cdots & P T E_{\text {new }}^{d} \end{array}\right],\left\{\begin{array}{c} i=1,2, \cdots, n \\ j=1,2, \cdots, d \\ k=1,2, \cdots, d \end{array}\right.\tag{5} Mat=Mat1Mat2MatiMatnMnew=PTE11PTE21PTEi1PTEn1PTEnew 1PTE12PTE22PTEi2PTEn2PTEnew 2PTE1jPTE2jPTEijPTEnjPTEnew kPTE1dPTE2dPTEidPTEndPTEnew d,i=1,2,,nj=1,2,,dk=1,2,,d(5)
确定 e − e^- e的概率方法是通过正态高斯分布建模的,正态高斯分布在统计学中很重要,在自然科学和社会科学中经常用于表示具有未知分布的实值随机变量。基于随机选择的初始元素( P T E r 1 r 2 PTE_{r_1}^{r_2} PTEr1r2)来计算选择新元素( P T E n e w k PTE_{new}^k PTEnewk)的概率如下所示:
f ( P T E n e w k ∣ μ , σ 2 ) = 1 2 π σ 2 ⋅ e − ( x − μ ) 2 2 σ 2 , k = 1 , 2 , ⋯   , d (6) f\left(P T E_{n e w}^{k} \mid \mu, \sigma^{2}\right)=\frac{1}{\sqrt{2 \pi \sigma^{2}}} \cdot e^{\frac{-(x-\mu)^{2}}{2 \sigma^{2}}}, k=1,2, \cdots, d \tag{6} f(PTEnewkμ,σ2)=2πσ2 1e2σ2(xμ)2,k=1,2,,d(6)
其中, μ \mu μ是对应于所选随机 P T E ( P T E r 1 r 2 ) PTE(PTE_{r_1}^{r_2}) PTE(PTEr1r2)分布的均值或期望值; σ \sigma σ是标准差; σ 2 \sigma^2 σ2是方差; e e e是自然对数的自然基或 N a p e r i a n Naperian Naperian基。

1.2 模拟化学反应

化学反应是一种生产过程,在这种过程中,不同的化学变化被确定,以便生产出不同的产品,其性质甚至与初始反应物不同。为了通过化学反应概念对生产新材料的过程进行数学建模,确定了一个整数随机数( l l l),该数与参与化学反应的初始材料的数量有关。然后,生成 l l l个整数随机数( m j mj mj)以确定选定材料在初始材料中的位置,因此,新解是其他解的线性组合。对于每种材料,还计算了参与因子( P P P),因为不同的材料将参与不同过程的反应,数学表示如下:
M a t n e w 2 = ∑ m = 1 l ( p m ⋅ M a t m j ) ∑ m = 1 l ( p m j ) , j = 1 , 2 , ⋯   , l (7) M a t_{n e w 2}=\frac{\sum_{m=1}^{l}\left(p_{m} \cdot M a t_{m j}\right)}{\sum_{m=1}^{l}\left(p_{m j}\right)}, j=1,2, \cdots, l \tag{7} Matnew2=m=1l(pmj)m=1l(pmMatmj),j=1,2,,l(7)
其中, M a t m Mat_m Matm是从初始 M a t Mat Mat中随机选择的第 m m m种材料; p m p_m pm M a t m Mat_m Matm参与的正态高斯分布因子; M a t n e w 2 Mat_{new_2} Matnew2是该化学反应模型生成的新材料。

1.3 模拟化学稳定性

物质稳定性原则涉及自然系统在所有结构层次上寻求局部和全局平衡的趋势。材料稳定性在数学上是通过确定解的质量来表示的。稳定性水平最高的材料与稳定性水平最低的材料相当于优化运行中所有候选解决方案的最佳和最差适应度值。考虑到化合物和化学反应构型方法,总体备选方案组合如下:
M a t = [ M a t 1 M a t 2 ⋮ M a t i ⋮ M a t n M n e w 1 M n e w 2 ] , i = 1 , 2 , ⋯   , n (8) M a t=\left[\begin{array}{c} M a t_{1} \\ M a t_{2} \\ \vdots \\ M a t_{i} \\ \vdots \\ M a t_{n} \\ M_{n e w_{1}} \\ M_{n e w 2} \end{array}\right], i=1,2, \cdots, n\tag{8} Mat=Mat1Mat2MatiMatnMnew1Mnew2,i=1,2,,n(8)
此外,应考虑初始材料和新生产材料的稳定性水平,以决定新材料是否应包括在与备选解决方案对应的总体材料列表( M a t Mat Mat)中。然后将新的候选解的质量与初始解进行比较,由此,新材料应被初始材料替换,初始材料具有与最差稳定性水平对应的最差适应度值。

MGA算法流程图如图所示:
请添加图片描述

2.实验结果

![请添加图片描述](https://img-blog.csdnimg.cn/855df119eb8d407c9ed907d830f7852b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pm66IO9566X5rOV56CU5a2m56S-77yISmFja-aXre-8iQ==,size_20,color_FFFFFF,t_70,g_se,x_16

3.参考文献

[1] Talatahari S, Azizi M, Gandomi AH. Material Generation Algorithm: A Novel Metaheuristic Algorithm for Optimization of Engineering Problems[J]. Processes, 2021, 9(5): 859.

4.Matlab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值