目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2024年,S Zhao受到数学相似三角形拓扑结构启发,提出了三角拓扑聚合优化算法(Triangulation Topology Aggregation Optimizer, TTAO)。
2.算法原理
2.1算法思想
TTAO算法包含两种策略:泛化聚合和局部聚合,迭代构建多个相似的三角形拓扑单元,以平衡探索和开发。前者通过不同三角拓扑单元之间的正信息交换产生新的顶点,后者根据每个单元的局部最优顶点在有希望的位置构造新的单元。
2.2算法过程
三角拓扑单元形成
在球坐标系中以第一个顶点为起始顶点,利用三角函数将其转换为普通坐标系,得到一个长度为l*f的新方向向量。生成的长度为 l *f 的方向向量逆时针旋转π/3,然后通过坐标系变换得到第三个顶点:
X
i
,
2
→
=
X
i
,
1
→
+
l
∗
f
(
θ
)
→
X
i
,
3
→
=
X
i
,
1
→
+
l
∗
f
(
θ
+
π
3
→
)
→
(1)
\begin{aligned}\overrightarrow{X_{i,2}}&=\overrightarrow{X_{i,1}}+l*\overrightarrow{f(\theta)}\\\overrightarrow{X_{i,3}}&=\overrightarrow{X_{i,1}}+l*\overrightarrow{f\left(\overrightarrow{\theta+\frac{\pi}{3}}\right)}\end{aligned}\tag{1}
Xi,2Xi,3=Xi,1+l∗f(θ)=Xi,1+l∗f(θ+3π)(1)
其中l表示三角形拓扑单元的大小:
l
=
9
∗
e
−
t
T
(2)
l=9*e^{-\frac tT}\tag{2}
l=9∗e−Tt(2)
在早期阶段,l可以产生更大的搜索范围,以专注于全局探索。然后在后期聚集后,向有希望的方向深入发展。为了保证在以后的迭代中仍能产生三角拓扑单元,l不会减小到0:
f
(
θ
→
)
→
=
[
c
o
s
θ
1
,
c
o
s
θ
2
,
.
.
.
,
c
o
s
θ
D
−
1
,
c
o
s
θ
D
]
f
(
θ
+
π
3
→
)
→
=
[
cos
(
θ
1
+
π
3
)
,
…
,
cos
(
θ
D
−
1
+
π
3
)
,
cos
(
θ
D
+
π
3
)
]
(2)
\overrightarrow{f\left(\overrightarrow{\theta}\right)}=[\mathrm{cos}\theta_{1},\mathrm{cos}\theta_{2},...,\mathrm{cos}\theta_{D-1},\mathrm{cos}\theta_{D}]\\\overrightarrow{f\left(\overrightarrow{\theta+\frac{\pi}{3}}\right)}=\left[\cos\left(\theta_{1}+\frac{\pi}{3}\right),\ldots,\cos\left(\theta_{D-1}+\frac{\pi}{3}\right),\cos\left(\theta_{D}+\frac{\pi}{3}\right)\right]\tag{2}
f(θ)=[cosθ1,cosθ2,...,cosθD−1,cosθD]f(θ+3π)=[cos(θ1+3π),…,cos(θD−1+3π),cos(θD+3π)](2)
每组三角拓扑单元在内部聚合为第四个顶点:
X
i
,
4
→
=
r
1
∗
X
i
,
1
→
+
r
2
∗
X
i
,
2
→
+
r
3
∗
X
i
,
3
→
(3)
\overrightarrow{X_{i,4}}=r_{1}*\overrightarrow{X_{i,1}}+r_{2}*\overrightarrow{X_{i,2}}+r_{3}*\overrightarrow{X_{i,3}}\tag{3}
Xi,4=r1∗Xi,1+r2∗Xi,2+r3∗Xi,3(3)
其中r1, r2, r3为[0,1]之间的随机数,r1+r2+r3 = 1。因此,第四个搜索代理位于每个三角形拓扑单元内。在每次迭代开始时,从一个相同长度的顶点和两条相同长度的边得到新的相似三角形拓扑单元。
泛化聚合
泛化聚合强调探索阶段,其收集不同三角单元中优秀个体的信息,并创造出新的可行解。信息交互发生在每个三角拓扑单元中最优个体与任意选定单元集中最优个体之间。受到遗传算法中基因交叉的启发,新个体在较好的两顶点连接中产生:
X
i
,
n
e
w
1
t
+
1
→
=
r
4
∗
X
i
,
b
e
s
t
t
→
+
(
1
−
r
4
)
∗
X
r
a
n
d
,
b
e
s
t
t
→
(4)
\overrightarrow{X_{i,new1}^{t+1}}=r_4*\overrightarrow{X_{i,best}^t}+(1-r_4)*\overrightarrow{X_{rand,best}^t}\tag{4}
Xi,new1t+1=r4∗Xi,bestt+(1−r4)∗Xrand,bestt(4)
其中,Xi,best,Xrand,best分别代表单元i最佳个体和第t次迭代最优个体。
{
X
i
,
b
e
s
t
t
+
1
→
=
X
i
,
n
e
w
1
t
+
1
→
f
X
i
,
n
e
w
1
t
+
1
→
<
f
X
i
,
b
e
s
t
t
→
X
i
,
s
b
e
s
t
t
+
1
→
=
X
i
,
n
e
w
1
t
+
1
→
f
X
i
,
n
e
w
1
t
+
1
→
<
f
X
i
,
s
b
e
s
t
t
→
(5)
\begin{cases}\overrightarrow{X_{i,best}^{t+1}}=\overrightarrow{X_{i,new1}^{t+1}}&f_{\overrightarrow{X_{i,new1}^{t+1}}}<f_{\overrightarrow{X_{i,best}^t}}\\\overrightarrow{X_{i,sbest^{t+1}}}=\overrightarrow{X_{i,new1}^{t+1}}&f_{\overrightarrow{X_{i,new1}^{t+1}}}<f_{\overrightarrow{X_{i,sbest^t}}}\end{cases}\tag{5}
⎩
⎨
⎧Xi,bestt+1=Xi,new1t+1Xi,sbestt+1=Xi,new1t+1fXi,new1t+1<fXi,besttfXi,new1t+1<fXi,sbestt(5)
局部聚合
局部聚合主要强调开发阶段,三角形拓扑单元在内部聚集。在前一阶段之后,更新后的最优或次优个体与适应度值较好的群体中的两个顶点之间临时形成三角形拓扑:
X
i
,
n
e
w
2
t
+
1
→
=
X
i
,
b
e
s
t
t
+
1
→
+
α
∗
(
X
i
,
b
e
s
t
t
+
1
→
−
X
i
,
s
b
e
s
t
t
+
1
→
)
(6)
\overrightarrow{X_{i,new2}^{t+1}}=\overrightarrow{X_{i,best}^{t+1}}+\alpha*\left(\overrightarrow{X_{i,best}^{t+1}}-\overrightarrow{X_{i,sbest}^{t+1}}\right)\tag{6}
Xi,new2t+1=Xi,bestt+1+α∗(Xi,bestt+1−Xi,sbestt+1)(6)
其中α递减,调整聚合范围大小:
α
=
ln
(
e
−
e
3
T
−
1
t
+
e
3
−
e
−
e
3
T
−
1
)
(7)
\alpha=\ln\left(\frac{e-e^3}{T-1}t+e^3-\frac{e-e^3}{T-1}\right)\tag{7}
α=ln(T−1e−e3t+e3−T−1e−e3)(7)
使用次优个体信息的目的是防止最优个体陷入局部极值,应保证临时三角单元的导点在单元内最优:
X
i
,
b
e
s
t
t
+
1
→
=
{
X
i
,
n
e
w
2
t
+
1
→
f
X
i
,
n
e
w
2
t
+
1
→
<
f
X
i
,
b
e
s
t
t
+
1
→
X
i
,
b
e
s
t
t
+
1
→
o
t
h
e
r
w
i
s
e
(8)
\overrightarrow{X_{i,best}^{t+1}}=\begin{cases}\overrightarrow{X_{i,new2}^{t+1}}&f_{\overrightarrow{X_{i,new2}^{t+1}}}<f_{\overrightarrow{X_{i,best}^{t+1}}}\\\overrightarrow{X_{i,best}^{t+1}}&otherwise\end{cases}\tag{8}
Xi,bestt+1=⎩
⎨
⎧Xi,new2t+1Xi,bestt+1fXi,new2t+1<fXi,bestt+1otherwise(8)
伪代码
3.结果展示
4.参考文献
[1] Zhao S, Zhang T, Cai L, et al. Triangulation topology aggregation optimizer: A novel mathematics-based meta-heuristic algorithm for continuous optimization and engineering applications[J]. Expert Systems with Applications, 2024, 238: 121744.
5.代码获取
资源清单