MFEA–多任务优化的开山之作
title:Multifactorial Evolution: Toward Evolutionary Multitasking
author:Abhishek Gupta, Yew-Soon Ong, and Liang Feng
journal:IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION(TEVC)
DOI: https://doi.org/10.1109/TEVC.2015.2458037
1.主要贡献:
1)首次提出了进化多任务的概念;2)提出了MFEA来解决多任务(多因子)优化问题;3)构建了一个跨领域的优化平台来解决不同类型的优化问题。
2.问题提出:
传统的进化算法总是一次解决一个优化问题,不能充分利用基于种群的搜索的隐式并行性。形象化来说,假设某云服务器某一时刻有多个优化问题,通过利用这些优化问题之间的隐式并行性来加速它们的求解速率,这就是进化多任务优化的主要目的。
3.进化多任务的概念:
首先,多任务优化的目标是在基于种群的搜索的隐式并行性的帮助下同时优化每个任务。也就是说,假设存在 K K K个任务 T 1 , T 2 , . . . , T K T_1,T_2,...,T_K T1,T2,...,TK都是最小化问题,每个任务 T k T_k Tk都有一个目标函数 f k f_k fk和搜索空间 X k X_k Xk,即 f k : X k → R f_k:X_k\rightarrow R fk:Xk→R. 则多任务优化的目的是为了找到 { x 1 , x 2 , . . . , x K } = a r g m i n { f 1 ( x ) , f 2 ( x ) , . . . , f K ( x ) } \{x_1,x_2,...,x_K\}=argmin\{f_1(x),f_2(x),...,f_K(x)\} {x1,x2,...,xK}=argmin{f1(x),f2(x),...,fK(x)}。为了在多任务环境下比较种群成员,定义了如下5个属性:
1)因子成本*(Factorial Cost)*: Ψ j i = λ ⋅ δ j i + f j i \Psi_j^i=λ·δ_j^i+f_j^i Ψji=λ⋅δji+fji,其中λ是惩罚因子, f j i f_j^i fji和 δ j i δ_j^i δji分别是个体 p i p_i pi在任务 T j T_j Tj上的目标值和总约束违反量。
2)因子等级*(Factorial Rank)*: r j i r_j^i rji是个体 p i p_i pi在任务 T j T_j Tj上的因子成本 Ψ j \Psi_j Ψj按递增排序的索引值。
3)标量适应度 (Scalar Fitness): ϕ i = 1 / min j ∈ { 1 , . . . , K } { r j i } ϕ_i = 1/ \min_{j∈\{1,...,K\}}\{r_j^i\} ϕi=1/minj∈{1,...,K}{rji}.(个体 p i p_i pi在任务 T 1 , T 2 , . . . , T K {T_1,T_2,...,T_K} T1,T2,...,TK上最小的因子等级 r j i r_j^i rji)
4)技能因子*(Skill Factor)*: τ i = a r g m i n j { r j i } \tau_i=argmin_j\{r^i_j\} τi=argminj{rji}.( τ i \tau_i τi代表的是一个任务,且个体 p i p_i pi在该任务上表现最好)
5)多因子最优性*(Multifactorial Optimality)*:一个个体 p ∗ p^∗ p∗的目标值列表为 { f 1 ∗ , f 2 ∗ , . . . , f K ∗ } \{f_1^∗,f_2^∗,...,f_K^∗\} {f1∗,f2∗,...,fK∗},如果 ∃ j ∈ { 1 , 2 , . . . , K } ∃j∈\{1,2,...,K\} ∃j∈{1,2,...,K},对于所有可行的 x j ∈ X j x_j∈X_j xj∈Xj,都有 f j ∗ ≤ f j ( x j ) f_j^∗≤f_j(x_j) fj∗≤fj(xj),那么个体 p ∗ p^∗ p∗在多因素意义上是最优的。
4.多任务优化与多目标优化的区别:
1)目的不同:多任务优化的目的是基于种群搜索的隐式并行性来利用多个任务之间潜在的遗传互补性,而多目标优化则试图有效地解决同一任务的竞争目标之间的冲突。
2)当个体的目标函数列表中存在一个最优的目标函数则被认为是多因子最优,而帕累托最优是在不同的目标之间找到一个良好的权衡。
5.多因子进化算法(MFEA):
1)MFEA的总体框架:首先,初始化并评估种群(统一搜索空间),为每个个体计算技能因子。然后,根据算法2(选型交配)产生子代。接着,根据算法3(垂直文化传播)仅在特定的任务上评估个体。最后,更新每个个体的技能因子和标量适应度,并选择下一代种群。当终止条件满足时,终止循环并返回每个任务的最优解。
2)统一搜索空间(种群初始化)
假设在需要同时执行的 K K K个优化任务中,第 j j j个任务的维数为 D j D_j Dj。据此,我们定义了一个维度( D m u l t i t a s k D_{multitask} Dmultitask)等于 m a x j { D j } max_j\{D_j\} maxj{Dj}的统一搜索空间。在种群初始化步骤中,每个个体都被赋予了一个有 D m u l t i t a s k D_{multitask} Dmultitask 个随机变量的向量(每个变量都在固定的[0,1]范围内)。
3)选型交配
如果两个随机选择父代个体拥有相同的技能因子或者满足随机交配概率(rmp)时,可以进行交叉操作;否则,进行突变操作。换句话说,不同任务之间个体的知识传递是通过rmp控制的,知识传递采用交叉算子来实现的。
4)垂直文化传播
在MFEA中的垂直文化传播是通过允许后代模仿其任何一个父母的技能因素(文化特征)来实现的。因此,它不是对每个任务评估一个后代,而是只对一个任务进行评估,这样做就可以大大减少评估次数。
6.跨域随机键解码
三个不同类型的优化问题:有5个决策变量的连续问题;有10个项目的背包问题KP;有10个设施(和10个位置)的二次分配问题QAP。
1) D m u l t i t a s k = m a x { 5 , 10 , 10 } = 10 D_{multitask}=max\{5,10,10\} = 10 Dmultitask=max{5,10,10}=10. 因此,我们随机生成一个10维染色体 y y y,其随机键表示为: ( 0.79 , 0.31 , 0.53 , 0.17 , 0.60 , 0.26 , 0.65 , 0.69 , 0.75 , 0.45 ) (0.79,0.31,0.53,0.17,0.60,0.26,0.65,0.69,0.75,0.45) (0.79,0.31,0.53,0.17,0.60,0.26,0.65,0.69,0.75,0.45)。
2)下图展示三种不同类型的优化问题的解码方式:连续优化问题直接映射;QAP问题则先根据染色体的基因值排序,则这些离散问题的决策变量就是索引值,
(
4
,
6
,
2
,
10
,
3
,
5
,
7
,
8
,
9
,
1
)
(4, 6, 2, 10, 3, 5, 7, 8, 9, 1)
(4,6,2,10,3,5,7,8,9,1)。KP问题则是对染色体的基因值进行聚类,一类代表在背包中“1”,另一类代表在背包外“0”,
(
0101010000
)
(0 1 0 1 0 1 0 0 0 0)
(0101010000)。
7.思考
1)统一搜索空间可以解决不同任务维度不一致的问题,但也带来了一些负迁移的风险,假设一个20维的任务的个体跟一个10维的任务的个体进行交叉,所得到的子代在20维的任务中进行评估。那么产生的子代会因为10维任务的个体的后半段的随机性而产生不好的性能。这个问题在G-MFEA,MFEA-GSMT中得到了解决。
2)跨域的多任务优化问题的研究存在较大缺陷
3)Many任务优化问题还需要进一步研究,现有的方式包括SBO、MaTEA、AEMTO、EMaTO-MKT、TCADE、KR-MTEA、EMaTO-AMR等。
4)使用MFEA来解决双层优化问题。IM-BLEA
5)MFEA解决不了不同的任务最优解的位置相距较远的问题,G-MFEA,MTGA等。
6)MFEA应用于不同的离散优化问题以及实际应用问题。
-BLEA
5)MFEA解决不了不同的任务最优解的位置相距较远的问题,G-MFEA,MTGA等。
6)MFEA应用于不同的离散优化问题以及实际应用问题。