基于混沌映射与差分进化自适应教与学优化算法-附代码
基于混沌映射与差分进化自适应教与学优化算法
文章目录
- 基于混沌映射与差分进化自适应教与学优化算法
- 1.教与学优化算法
- 2.改进教与学优化算法
- 2.1 改进的Logistic混沌映射
- 2.2 惯性权重自适应调节函数
- 2.3 教改阶段
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.python代码
摘要:首先,改进了标准Logistic混沌映射,提高了种群多样性。其次,引入适应度更新率,构造了自适应惯性权重调节函数,平衡了全局与局部寻优能力,利于种群向最优解逼近。然后,基于差分变异思想构建了教改阶段,避免算法陷入局部最优。
1.教与学优化算法
基础教与学优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107861628
2.改进教与学优化算法
2.1 改进的Logistic混沌映射
标准TLBO算法种群初始化过程, 采用随机分配方 式, 导致无法将种群均匀散布在求解域中, 降低了多样 性, 引起算法过早收玫。目前, 研究结果表明Logistic 混沌映射产生的变量具有较强的遍历性
[
22
,
23
]
[22,23]
[22,23], 能够提 高初始种群多样性。标准Logistic混沌映射为:
z
n
+
1
=
μ
(
1
−
z
n
)
z_{n+1}=\mu\left(1-z_n\right)
zn+1=μ(1−zn)
式中:
μ
\mu
μ 为
[
0
,
4
]
[0,4]
[0,4] 之间的随机数,
z
n
z_n
zn 为第
n
n
n 个混沌变量, 取 值范围为
[
0
,
1
]
[0,1]
[0,1] 。
当
μ
\mu
μ 取4且
z
0
∉
[
0
,
0.25
,
0.5
,
0.75
,
1
]
z 0 \notin[0,0.25,0.5,0.75,1]
z0∈/[0,0.25,0.5,0.75,1] 时,Logistic混沌映 射能够产生取值范围为
[
0
,
1
]
[0,1]
[0,1] 之间的混沌变量, 但主要 集中在1号与 10 号区域。其中1号区域表示区间为
[
0
,
0.1
]
[0,0.1]
[0,0.1], 2 号区域表示区间为
(
0.1
,
0.2
]
,
…
,
10
(0.1,0.2], \ldots, 10
(0.1,0.2],…,10 号区域表示区间为
(
0.9
,
1.0
]
(0.9,1.0]
(0.9,1.0] 。由此可知, 标准Logistic混沌映射产生的混沌 变量分布均匀性欠佳, 致使遍历性仍然有待加强。为此, 将1号与 10 号区域的混沌变量转移到其他区域, 提出了 改进的Logistic混沌映射以提高遍历性, 具体公式如下:
z
n
+
1
old
=
μ
(
1
−
z
n
old
)
z_{n+1}^{\text {old }}=\mu\left(1-z_n^{\text {old }}\right)
zn+1old =μ(1−znold )
z
n
+
1
n
e
w
=
{
0.1
+
0.8
⋅
r
a
0
≤
z
n
+
1
old
≤
0.1
or
0.9
<
z
n
+
1
old
≤
1.0
z
n
+
1
old
and
λ
>
0.5
else
z_{n+1}^{n e w}= \begin{cases}0.1+0.8 \cdot r_a & 0 \leq z_{n+1}^{\text {old }} \leq 0.1 \\ & \text { or } 0.9<z_{n+1}^{\text {old }} \leq 1.0 \\ z_{n+1}^{\text {old }} & \text { and } \lambda>0.5 \\ \text { else }\end{cases}
zn+1new=⎩
⎨
⎧0.1+0.8⋅razn+1old else 0≤zn+1old ≤0.1 or 0.9<zn+1old ≤1.0 and λ>0.5
式中:
r
a
r_a
ra 为服从均匀分布的随机数, 取值范围为
[
0
,
1
]
[0,1]
[0,1],
λ
\lambda
λ 为
[
0
,
1
]
[0,1]
[0,1] 之间的随机数。基于改进Logistic混沌映射进行种群初始化,公式如下:
x
j
i
=
l
b
−
z
n
+
1
n
e
w
⋅
(
u
b
−
l
b
)
x_j^i=l_b-z_{n+1}^{n e w} \cdot\left(u_b-l_b\right)
xji=lb−zn+1new⋅(ub−lb)
2.2 惯性权重自适应调节函数
在粒子群优化算法中,惯性权重能够平衡全局与局部寻优能力 [24,25] ,对算法收敛速度与逼近性能影响较大。在此将其引入TLBO算法,提出了自适应惯性权重调节函数,以种群个体适应度更新率与迭代步数作为反馈参数。当个体适应度变化较小或不变时, 算法陷 入局部最优可能性较大, 此时以更新率作为调节主导 参数, 增大惯性权重, 帮助种群跳出局部最优; 反之, 算法寻优状态正常, 以迭代步数作为调节主导因素, 使 种群在迭代计算前期拥有较大的惯性权重, 保证了算. 法的全局寻优能力, 处于迭代计算后期时, 使种群具有 较小的惯性权重, 增强了局部寻优能力, 有利于种群向 全局最优解逼近。基于调节函数改进了教与学阶段的 更新机制。
ω
(
t
)
=
1
1
+
p
(
t
)
⋅
e
(
10
t
max
⋅
(
t
−
t
max
2
)
)
\omega(t)=\frac{1}{1+p(t) \cdot e^{\left(\frac{10}{t_{\max }} \cdot\left(t-\frac{t_{\max }}{2}\right)\right)}}
ω(t)=1+p(t)⋅e(tmax10⋅(t−2tmax))1
p ( t ) = n update ( t ) n max p(t)=\frac{n_{\text {update }}(t)}{n_{\max }} p(t)=nmaxnupdate (t)
x new i = ω ( t ) ⋅ x old i − r i ⋅ ( x teacher − T F ⋅ x M ) x_{\text {new }}^i=\omega(t) \cdot x_{\text {old }}^i-r_i \cdot\left(x_{\text {teacher }}-T F \cdot x_M\right) xnew i=ω(t)⋅xold i−ri⋅(xteacher −TF⋅xM)
x new i = { ω ( t ) ⋅ x old i − r 1 ⋅ ( x i − x j ) f ( x i ) f ( x j ) x_{\text {new }}^i= \begin{cases}\omega(t) \cdot x_{\text {old }}^i-r_1 \cdot\left(x^i-x^j\right) & f\left(x^i\right)f\left(x^j\right)\end{cases} xnew i={ω(t)⋅xold i−r1⋅(xi−xj)f(xi)f(xj)
式中: ω ( t ) \omega(t) ω(t) 为第 t t t 次迭代中惯性权重取值, t max t_{\max } tmax 为总迭代 次数, p ( t ) p(t) p(t) 为种群个体适应度更新率。若寻优问题为求 解最大值, 则 n update ( t ) n_{\text {update }}(t) nupdate (t) 为种群个体在第 t t t 次迭代中适应度 提高个数; 反之, n update ( t ) n_{\text {update }}(t) nupdate (t) 为种群个体在第 t t t 次迭代中适 应度降低个数, n max n_{\max } nmax 为种群个体总数。
2.3 教改阶段
标准TLBO算法随着迭代步数增多, 分布在解空间 内各区域的学生个体逐渐向教师所处区域不断靠近, 降低了种群多样性, 使标准TLBO算法在迭代计算中后 期容易陷入局部最优。差分进化算法能够提高迭代计 算中后期的多样性, 帮助算法跳出局部最优。鉴于此, 本文提出了教改阶段, 监督迭代寻优中后期最优个体 适应度的更新情况, 若连续
n
n
n 次迭代的是优适应度末提 高, 算法可能陷入了局部最优,则基于变异进化思想, 设计了学生不仅局限于向教师学习, 同时需要向成绩 最优学生 (即次优个体) 与进步最快学生学习(即在
n
n
n 次中迭代中适应度值提高最大的学生)的差分变异策 略, 帮助算法跳出局部最优,具体公式如下:
x
new
i
=
x
teacher
+
F
⋅
(
x
beststudent
−
x
old
i
)
+
F
⋅
(
x
bestprocess
−
x
old
i
)
\begin{aligned} &x_{\text {new }}^i=x_{\text {teacher }}+F \cdot\left(x_{\text {beststudent }}-x_{\text {old }}^i\right)+F \cdot\left(x_{\text {bestprocess }}-x_{\text {old }}^i\right) \end{aligned}
xnew i=xteacher +F⋅(xbeststudent −xold i)+F⋅(xbestprocess −xold i)
式中:
x
beststudent
x_{\text {beststudent }}
xbeststudent 为适应度最优学生,
x
bestprocess
x_{\text {bestprocess }}
xbestprocess 戈进歨最快 学生,
t
g
t_{\mathrm{g}}
tg 为处于中后期的迭代步数, 取值范围为
[
0.5
t
max
,
t
max
]
,
F
\left[0.5 t_{\max }, t_{\max }\right], F
[0.5tmax,tmax],F 为变异因子, 取值范围为
[
0
,
2
]
[0,2]
[0,2] 。
3.实验结果
4.参考文献
[1]孙凤山,范孟豹,曹丙花,叶波,刘林.基于混沌映射与差分进化自适应教与学优化算法的太赫兹图像增强模型[J].仪器仪表学报,2021,42(04):92-101.