G-MFEA
title:Generalized Multitasking for Evolutionary Optimization of Expensive Problems
author:Jinliang Ding , Cuie Yang, Yaochu Jin, and Tianyou Chai
journal:IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION(TEVC)
DOI: https://doi.org/10.1109/TEVC.2017.2785351.
code:https://github.com/intLyc/MTO-Platform,可以在MTO-Platform中找到G-MFEA的代码
1.主要贡献:
1)提出了一种多任务优化算法MCEEA来降低昂贵优化问题的计算成本;2)提出了G-MFEA来解决决策变量异构问题(最优解距离较远以及决策变量维度不一致)
2.问题提出:
1)任务间最优解距离较远:
如下图所示,Ackley函数的最优解x=0.8,Sphere函数的最优解x=0.2。如果使用MFEA中的知识交叉算子对两个任务的解进行交叉,所得到的结果很可能是在(0.2,0.8)之间,而得到一个负向的知识迁移。
2)任务间决策变量维度不一致:
如下图所示,task1的维度为7,task2的维度为10,直接在task1和task2之间进行交叉,那么对于task2中的后3维决策变量就会用到task1中未曾经过优化的后3维,这也会造成负迁移的风险。
3)昂贵优化问题:
昂贵优化问题中候选解的评估需要执行耗时的数值模拟或昂贵的物理实验,它可以使用代理辅助EAs来进行优化。本文提出一种多任务优化框架来解决昂贵优化问题。
5.G-MFEA:
1)G-MFEA的总体框架:
首先,初始化并评估种群(统一搜索空间),为每个个体计算技能因子。其次,使用决策变量转换策略将种群
P
P
P转换为
P
ˉ
\bar P
Pˉ。其次,对父代个体使用决策变量洗牌策略以打乱个体的决策变量顺序。然后,依次使用选型交配、垂直文化传播策略。接着,恢复个体的决策变量顺序。最后,更新每个个体的技能因子和标量适应度,并选择下一代种群。当终止条件满足时,终止循环并返回每个任务的最优解。
2)决策变量转换策略:
决策变量转换策略的做法是将所有任务的个体映射到同一个位置(统一搜索空间的中心点)。具体来说,该策略会先计算转换方向
d
k
d_k
dk如下公式所示:
d
k
=
s
f
×
α
(
c
p
−
m
k
)
,
k
=
1
,
2
,
.
.
.
,
K
d_k=sf\times\alpha(cp-m_k),k=1,2,...,K
dk=sf×α(cp−mk),k=1,2,...,K
其中
s
f
sf
sf是一个比例因子,
c
p
cp
cp是统一搜索空间的中心点,
m
k
m_k
mk是通过均值预测的最优值,
α
\alpha
α是一个随迭代次数
g
e
n
gen
gen逐渐增加的值,计算如下:
α
=
(
g
e
n
M
a
x
g
e
n
)
2
\alpha={(\frac{gen}{Maxgen})}^2
α=(Maxgengen)2
其中,
M
a
x
g
e
n
Maxgen
Maxgen是最大迭代次数。而且从算法5中的第2-4行中可以看出,
α
\alpha
α是每隔
θ
\theta
θ代更新一次。
然后,根据转换方向
d
τ
i
d_{\tau_i}
dτi将技能因子为
τ
i
\tau_i
τi的第
i
i
i个体
p
i
p_i
pi转换为
p
ˉ
i
\bar p_i
pˉi如下公式:
p
ˉ
i
=
p
i
+
d
τ
i
,
i
=
1
,
2
,
.
.
.
,
N
\bar p_i=p_i+d_{\tau_i},i=1,2,...,N
pˉi=pi+dτi,i=1,2,...,N
3)决策变量洗牌策略:
首先,将维度低的个体
p
ˉ
1
\bar p_1
pˉ1的决策变量打乱顺序。然后,将个体
p
ˉ
1
\bar p_1
pˉ1中未使用的决策变量替换为维度高的个体决策变量。如下图(b)。最后,产生子代。
注意:该策略是应用在维度低的父代个体上的。
6.MCEEA
MCEEA提出通过从低成本问题(C任务)到高成本问题(E任务)的知识迁移来加速E任务的收敛并减少E任务的评估次数。下图是MCEEA的流程图,可以看到,每隔TM代,C任务中的精英个体就会被转移到E任务中。
7.思考
1)决策变量转换策略在每次迭代都会将所有任务的个体都映射到统一搜索空间的中心点附近,当不需要进行知识迁移时则会造成计算资源的浪费。还存在其他的映射方式,EMEA,TCADE,MFEA-DAE等采用领域自适应方式
2)决策变量洗牌策略对低维度个体的维度打乱顺序可能会造成负迁移,是否可以找到两个任务中维度之间的相似度。如MFEA-GSMT,KR-MTEA,BLKT-DE等都考虑到了维度相似度。
3)MCEEA提出了一种多任务优化框架来解决昂贵优化问题,但是辅助任务的设置会极大的影响算法性能。