基于材料生成算法的工程优化

一、理论基础

1、材料生成算法

材料生成算法(Material Generation Algorithm, MGA)是Siamak Talatahari等人于2021年提出的一种新型启发式算法,其灵感来源于材料化学的三个主要概念(化合物、化学反应和化学稳定性)。
考虑到许多自然进化算法建立了一个预定义的候选解群体,这些候选解通过随机改变和选择进化而来,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) Mat=\begin{bmatrix}Mat_1\\Mat_2\\\vdots\\Mat_i\\\vdots\\Mat_n\end{bmatrix}=\begin{bmatrix} PTE_1^1 & PTE_1^2 & \cdots & PTE_1^j & \cdots & PTE_1^d \\PTE_2^1 & PTE_2^2 & \cdots & PTE_2^j & \cdots & PTE_2^d \\\vdots & \vdots & & \vdots & \ddots & \vdots \\PTE_i^1 & PTE_i^2 & \cdots & PTE_i^j & \cdots & PTE_i^d \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\PTE_n^1 & PTE_n^2 & \cdots & PTE_n^j & \cdots & PTE_n^d \end{bmatrix},\,\,\begin{dcases}i=1,2,\cdots,n\\j=1,2,\cdots,d\end{dcases}\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 PTE PTE的初始位置在搜索空间中随机确定,如下所示: 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) PTE_i^j(0)=PTE_{i,\min}^j+Unif(0,1).(PTE_{i,\max}^j-PTE_{i,\min}^j),\,\,\begin{dcases}i=1,2,\cdots,n\\j=1,2,\cdots,d\end{dcases}\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)模拟化合物

为了对化合物进行数学建模,假设所有 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) PTE_{new}^k=PTE_{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 n e w 1 = [ P T E n e w 1    P T E n e w 2    ⋯    P T E n e w k ⋯    P T E n e w d ] ,    k = 1 , 2 , ⋯   , d (4) Mat_{new_1}=[PTE_{new}^1\,\, PTE_{new}^2\,\,\cdots\,\,PTE_{new}^k\cdots\,\,PTE_{new}^d],\,\,k=1,2,\cdots,d\tag{4} Matnew1=[PTEnew1PTEnew2PTEnewkPTEnewd],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 a t n e w 1 ] = [ 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 n e w 1       P T E n e w 2 ⋯       P T E n e w k ⋯       P T E n e w d ] ,    { i = 1 , 2 , ⋯   , n j = 1 , 2 , ⋯   , d k = 1 , 2 , ⋯   , d (5) Mat=\begin{bmatrix}Mat_1\\Mat_2\\\vdots\\Mat_i\\\vdots\\Mat_n\\Mat_{new_1}\end{bmatrix}=\begin{bmatrix} PTE_1^1 & PTE_1^2 & \cdots & PTE_1^j & \cdots & PTE_1^d \\PTE_2^1 & PTE_2^2 & \cdots & PTE_2^j & \cdots & PTE_2^d \\\vdots & \vdots & & \vdots & \ddots & \vdots \\PTE_i^1 & PTE_i^2 & \cdots & PTE_i^j & \cdots & PTE_i^d \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\PTE_n^1 & PTE_n^2 & \cdots & PTE_n^j & \cdots & PTE_n^d\\\,\,\,\,\,PTE_{new}^1 &\,\,\,\,\, PTE_{new}^2 & \cdots &\,\,\,\,\, PTE_{new}^k & \cdots &\,\,\,\,\, PTE_{new}^d \end{bmatrix},\,\,\begin{dcases}i=1,2,\cdots,n\\j=1,2,\cdots,d\\k=1,2,\cdots,d\end{dcases}\tag{5} Mat=Mat1Mat2MatiMatnMatnew1=PTE11PTE21PTEi1PTEn1PTEnew1PTE12PTE22PTEi2PTEn2PTEnew2PTE1jPTE2jPTEijPTEnjPTEnewkPTE1dPTE2dPTEidPTEndPTEnewd,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(PTE_{new}^k|\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 PTE PTE( P T E r 1 r 2 PTE_{r_1}^{r_2} PTEr1r2)分布的均值或期望值; σ \sigma σ是标准差; σ 2 \sigma^2 σ2是方差; e e e是自然对数的自然基或Naperian基。

(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) Mat_{new_2}=\frac{\sum_{m=1}^l(p_m\cdot Mat_{mj})}{\sum_{m=1}^l(p_{mj})},\,\,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是该化学反应模型生成的新材料。

(3)模拟化学稳定性

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

2、MGA算法流程图

MGA算法流程图如图1所示。
在这里插入图片描述

图1 MGA算法流程图

二、仿真实验与分析

以压缩弹簧设计、三杆桁架设计、工字梁设计优化问题为例,具体问题模型请参考这里。将MGA与GWO、PSO、GSA和SCA进行对比,实验设置种群规模为30,最大迭代次数为500,每个算法独立运行30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

F1: 压缩弹簧设计问题
MGA:最差值: 0.017327, 最优值: 0.013126, 平均值: 0.01445, 标准差: 0.0013003
GWO:最差值: 0.013717, 最优值: 0.012677, 平均值: 0.012816, 标准差: 0.0002171
PSO:最差值: 0.014476, 最优值: 0.01267, 平均值: 0.012882, 标准差: 0.00036131
GSA:最差值: 0.45367, 最优值: 0.013001, 平均值: 0.055088, 标准差: 0.10556
SCA:最差值: 0.013403, 最优值: 0.012719, 平均值: 0.013139, 标准差: 0.00016818
F2: 三杆桁架设计问题
MGA:最差值: 263.918, 最优值: 263.8959, 平均值: 263.8992, 标准差: 0.0047358
GWO:最差值: 263.8983, 最优值: 263.8959, 平均值: 263.8965, 标准差: 0.00051553
PSO:最差值: 263.8958, 最优值: 263.8958, 平均值: 263.8958, 标准差: 1.1121e-13
GSA:最差值: 282.8427, 最优值: 263.9468, 平均值: 268.9067, 标准差: 4.2598
SCA:最差值: 263.9853, 最优值: 263.8988, 平均值: 263.9322, 标准差: 0.020696
F3: 工字梁设计问题
MGA:最差值: 0.013754, 最优值: 0.013109, 平均值: 0.013334, 标准差: 0.00016105
GWO:最差值: 0.013076, 最优值: 0.013074, 平均值: 0.013075, 标准差: 5.1202e-07
PSO:最差值: 0.013375, 最优值: 0.013074, 平均值: 0.013105, 标准差: 7.2548e-05
GSA:最差值: 0.19836, 最优值: 0.018417, 平均值: 0.089136, 标准差: 0.050448
SCA:最差值: 0.013268, 最优值: 0.013081, 平均值: 0.013143, 标准差: 5.0196e-05

实验结果表明:MGA算法对工程优化问题具有很好的优化能力。

三、参考文献

[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.

猜你喜欢

转载自blog.csdn.net/weixin_43821559/article/details/123987201