Dynamic Multobjective Optimization Problems :Test Cases ,Approximations,and Applications
EMO算法在静态多目标优化问题中表现高效,故而人们希望让其追踪动态多目标问题的多个变化的PS和PF。为此,本文提出了五个测试问题并且提出了一个基础的算法。在追踪动态的PF和PS时由于情况各异,出现了几种不同的模式类型。本文主要按测试问题的不同类型介绍和构造一系列测试问题,并在提出的算法上测试这些问题。
EMO方法试图在每次仿真运行时找到尽可能接近真实POF且分布比较广泛的pareto解集,这些方式不仅呈现出真实POF的边界(最优和最差解),而且呈现出前沿的形状,甚至那些拐点的存在。尽管EMO前景不错,在解决动态多目标问题上却仍然少有人问津,因而本文就是针对该问题并且提出一些包括连续和离散的动态多目标测试问题,还提出一个解决这类问题的基础算法。
EMO的相关文献资料显示,在收敛到POF时一个EMO算法很可能因为一系列的测试问题不同而产生各种各样的难点。这些问题都要求一个静态的优化过程,任务就是找到一些列的决策变量并且优化静态的目标函数值。但现实世界中总有一些需求是优化动态多目标问题,也就是说目标函数、约束或者相关的问题参数都有可能随着时间(优化过程的代数)而变化。在解决这类问题时,目前还没有很多EMO算法存在,并且也缺乏能够充分测试动态多目标算法DEMO的测试问题。
除了提出测试问题之外,本文还讨论时变系统的自适应控制问题,这是由于系统的属性是随时间变化 故而优化控制器也是随时间变化的。此外我们还为动态优化控制设计了多个目标,还给出最终的动态多目标优化问题一个公式。控制器的优化设计是进化计算和进化多目标优化应用的经典领域。一旦确保闭环稳定性,就可以考虑提高性能的一些卡标准,比如最大化过渡到最小化,稳定时间最小化和上升时间最小化,以便设计稳定而强大的控制器。
遗传算法常常用于解决动态单目标问题,由于要折衷收敛性和分布性需要对这些操作进行大幅调整,以确保快速响应随时间变化的变化。重心一般在第二个特征上,因此算法能够快速响应时间的变化。此外其他几个解决动态优化过程的策略也都在文献中提及,一个比较有前景的方法似乎是利用人工生命(A-life)范式,并将其与进化计算结合起来。当考虑动态多目标优化时,文献中很少进行研究,并且仍然缺少完整的问题表述以及一系列适当的测试问题。在本文中,我们尝试填补这一空白并提出一个包含五个问题的测试集,用于在问题发生变化时测试跟踪pareto最优集(POS)的各个方面。
普遍的观点认为以下参数化的动态多目标优化问题可以用来表示任何一个动态优化控制问题。
{ min v o ∈ V O f = { f 1 ( V O , V F ) , ⋯ , f M ( V O , V F ) } s . t . g ( V O , V F ) ≤ 0 , h ( V O , V F ) = 0 \left\{ \begin{array}{c} \min\limits_{v_o \in V_O}f=\{f_1(V_O,V_F),\cdots,f_M(V_O,V_F)\}\\ s.t.g(V_O,V_F)\leq0,h(V_O,V_F)=0 \end{array}\right. { vo∈VOminf={ f1(VO,VF),⋯,fM(VO,VF)}s.t.g(VO,VF)≤0,h(VO,VF)=0
在该定义中, v O v_O vO这些变量可用于优化,而另一些参数 v F v_F vF则与优化变量无关。目标函数和优化均取决于参数,且都可以是非线性的。接下来的定义2是定义1的一个特例,只考虑唯一的参数t。
{ min v ∈ V f = { f 1 ( v , t ) , ⋯ , f M ( v , t ) } s . t . g ( v , t ) ≤ 0 , h ( v , t ) = 0 \left\{\begin{array}{c} \min\limits_{v \in V}f=\{f_1(v,t),\cdots,f_M(v,t)\} \\ s.t.g(v,t)\leq0,h(v,t)=0 \end{array}\right. { v∈Vminf={ f1(v,t),⋯,fM(v,t)}s.t.g(v,t)≤0,h(v,t)=0
S P ( t ) S_P(t) SP(t):决策空间内,t时刻的pareto最优解集
F P ( t ) F_P(t) FP(t):目标空间内,t时刻的pareto最优解集
(time-dependent utopia point)时间相关的乌托邦点(理想点)的定义如下:
U ( t ) = [ min v ∈ Ω t f i ( v , t ) ] = [ U i ( t ) ] i = 1 : M ( 1 ) U(t)=[\min\limits_{v\in\Omega_t}f_i(v,t)]=[U_i(t)]~~~~~i=1:M~~~~~~(1) U(t)=[v∈Ωtminfi(v,t)]=[Ui(t)] i=1:M (1)
Ω t = { v ∈ V , s . t . g ( v , t ) ≤ 0 , h ( v , t ) = 0 } \Omega_t=\{v \in V,s.t.g(v,t)\leq0,h(v,t)=0\} Ωt={ v∈V,s.t.g(v,t)≤0,h(v,t)=0}是满足于时间相关的约束的时间相关搜索空间。而理想点在决策空间是如下大小为M × \times ×N(N是搜索空间的维度)的矩阵 [ M v ] [M_v] [Mv]:
M v ( i , : ) = [ v ∈ Ω t , s . t . f i ( v ) = U i ] , i = 1 : M ( 2 ) M_v(i,:)=[v \in \Omega_t,~s.t.~f_i(v)=U_i],~~~~~i=1:M~~~~~(2) Mv(i,:)=[v∈Ωt, s.t. fi(v)=Ui], i=1:M (2)
如果目标i,j之间没有冲突的话矩阵 [ M v ] [M_v] [Mv]可能出现相等的线(线i,线j)。针对一个双目标问题来说,通过评价如下M × \times ×M的时间相关折衷矩阵能够轻松得到POF(t)上边界的某些初始信息:
[ M ] ( t ) = { U i ( t ) , i = j f j ( M v ( i , : ) , t ) , o t h e r w i s e ( 3 ) [M](t)=\left\{\begin{array}{c} U_i(t),\;\;\;\; i=j \\ f_j(M_v(i,:),t),~~~~otherwise\end{array}\right. (3) [M](t)={ Ui(t),i=jfj(Mv(i,:),t), otherwise(3)
只要折衷矩阵计算出来,通过扩展静态情况下的公式从而估计出最差点 R ( t ) R(t) R(t)(nadir point),如下是近似公式:
R i ( t ) = max j = 1 : M M ( i , : ) , i = 1 : M ( 4 ) R_i(t)=\max\limits_{j=1:M}M(i,:),~~~~~~i=1:M~~~~~~~~~~~~ (4) Ri(t)=j=1:MmaxM(i,:), i=1:M (4)
多目标动态问题只处理两个接仍然不同但是又相关的空间:决策空间和目标空间。这里我们提出的几个动态测试问题的搜索空间既有离散的也有连续的。随时间变化有4种测试问题:
Type I)POS改变,POF不变;
Type II)POS,POF均改变;
Type III)POF改变,POS不变;
Type IV)POS、POF均不变,但是该问题仍然是随时间变化的;
POF | POS | S P S_P SP |
---|---|---|
F P F_P FP | No Change | Change |
No Change | Type IV | Type I |
Change | Type III | Type II |
而今研究的重点在于前三种类型,虽然现实世界存在但不考虑第四种类型。
虽然动态多目标问题的特点是随时间发生变化,但变化的频率和幅度各有不同。可能是长时间的静态环境之后突发环境变化,也可能是贯穿整个时间轴逐渐发生的小变化。在同一个问题中两者都发生的情况也有一定的概率。本文中我们的测试问题考虑的是第一种情况,在长时间的静态之后突然发生一次变化。
本文直接扩展双目标的ZDT和可伸缩的DTLZ测试问题用以构造动态测试问题。和目前其他提出的测试算法相比,这些系统性的金泰测试问题迫使研究人员跨越这些障碍,像是不收敛,不连续,具有欺骗性,局部最优前沿的缺失等等,而这些是实际问题中也会出现的。而且在解动态问题时,一些难点会发生相互的转移,从而也构成多目标优化算法的难点。
一个静态ZDT问题的原型如下:
m i n i m i z e f ( x , t ) = ( f 1 ( X I , t ) , g ( X I I , t ) ⋅ h ( X I I I , f 1 ( X I , t ) , g ( X I I , t ) , t ) ) ( 5 ) minimize f(x,t)=(f_1(X_I,t),g(X_{II},t)\cdot h(X_{III},f_1(X_I,t),g(X_{II},t),t))~~~~(5) minimizef(x,t)=(f1(XI,t),g(XII,t)⋅h(XIII,f1(XI,t),g(XII,t),t)) (5)
其中 X I , X I I , X I I I X_{I},X_{II},X_{III} XI,XII,XIII均为决策变量集合 X ∈ Ω t X \in \Omega_t X∈Ωt的子集,而f,g,h三个函数在静态情况下的形式如下:
f 1 ( X I = { x 1 } ) = x 1 g ( x I I ) = 1 + ∑ x i ∈ X I I x i 2 h ( X I I I , f 1 , g ) = 1 − f g } ( 6 ) \left.\begin{array}{c} f_1(X_I=\{x_1\})=x1 \\ g(x_{II})=1+\sum\limits_{x_i \in X_{II}}x_i^2 \\ h(X_{III},f_1,g)=1-\sqrt\frac{f}{g} \end{array}\right\} ~~~~~~(6) f1(XI={ x1})=x1g(xII)=1+xi∈XII∑xi2h(XIII,f1,g)=1−gf⎭⎪⎪⎬⎪⎪⎫ (6)
这三个函数都可能随时间而改变,为例构造更困难的问题,为了解决更困难的问题,在使用上述公式[4]之前,应遵循将真实决策变量矢量y映射到变量矢量的映射过程。接下来介绍我们构造测试问题的不同情形:
g ( X I I , t ) = 1 + ∑ x i ∈ X I I ( x i − G ( t ) 2 , x I I m i n ≤ G ( t ) ≤ x I I m a x ( 7 ) g(X_{II},t)=1+\sum\limits_{x_i \in X_{II}}(x_i-G(t)^2,~x_{II}^{min}\leq G(t)\leq x_{II}^{max}~~~(7) g(XII,t)=1+xi∈XII∑(xi−G(t)2, xIImin≤G(t)≤xIImax (7)
这时 f 1 f_1 f1和h保持之前提到的那样不变。等式(7)使得 x i = G ( t ) x_i=G(t) xi=G(t)作为 x i ∈ X I I x_i \in X_{II} xi∈XII所有解中的最优解。由于G(t)随时间而变化,故 S P S_P SP变化而 F P F_P FPn不变,这就构造了一个I型测试问题。为例追踪到动态的POF,每次环境变化后子集 X I I X_{II} XII都必须收敛到新的G值。以上关于g的构造使得对于其所有不等于G(t)的任何值,其将对应于相对于真实POF的受支配解。但是如果把g函数改成如下式子:
g ( X I I ) = 1 + G ( t ) + ∑ x i ∈ X I I ( x i − G ( t ) ) 2 f o r x I I m i n ≤ G ( t ) ≤ x I I m a x f o r G ( t ) > 0 g(X_{II})=1+G(t)+\sum\limits_{x_i \in X_{II}}(x_i-G(t))^2~~for ~~x_{II}^{min} \leq G(t) \leq x_{II}^{max} ~~for G(t)>0 g(XII)=1+G(t)+xi∈XII∑(xi−G(t))2 for xIImin≤G(t)≤xIImax forG(t)>0
POF 也会改变,故这时构造出II型测试问题。尽管对一个算法的要求既要跟踪当前的 S P S_P SP最优值又要跟着当前 F P F_P FP最优值,还要满足对所有 x i ∈ X I I x_i \in X_{II} xi∈XII,都有 x i = G ( t ) x_i =G(t) xi=G(t)这一条件,但是对 S P S_P SP或 F P F_P FP进行检查可以确定该算法是否能够跟踪新的POF。
h ( X I I I , f 1 , g , t ) = 1 − ( f 1 g ) ( H ( t ) + ∑ x i ∈ X I I I ( x i − ( H ( t ) ) 2 ) ) − 1 x I I I m i n ≤ H ( t ) ≤ x I I I m a x ( 8 ) h(X_{III},f_1,g,t)=1-(\frac{f_1}{g})^{(H(t)+\sum\limits_{x_i \in X_{III}}(x_i-(H(t))^2))^{-1}} x_{III}^{min} \leq H(t) \leq x_{III}^{max} ~~~~~~~(8) h(XIII,f1,g,t)=1−(gf1)(H(t)+xi∈XIII∑(xi−(H(t))2))−1xIIImin≤H(t)≤xIIImax (8)
此时 f 1 f_1 f1和g都不变,h函数随时间变化。生成的 F P F_P FP现在只因 X I I I X_{III} XIII的变化而改变(如果只是 X I I X_{II} XII变化那么依然属于上述情形1),这时构造出一个II型测试问题。
有趣的是,如果 f 1 f_1 f1和g函数不变,而h函数做如下改变时:
h 1 ( f 1 , g , t ) = 1 − ( f 1 g ) H ( t ) , H ( t ) > 0 ( 9 ) h1(f_1,g,t)=1-(\frac{f_1}{g})^{H(t)},~~~~H(t)>0 ~~~~(9) h1(f1,g,t)=1−(gf1)H(t), H(t)>0 (9)
此时POS不会改变,但POF会变化。这使得构造出一个III型测试问题。尽管这类问题中不需要将最优 S P S_P SP的值更改为保留在新PF上的SP,对于新的POF上那些历史解来说还是会影响其分布性。因此每次只要H函数发生一些变化,如果要得到于权的分布性良好的解,就必须要找新的决策变量x。也就是说即使这样的函数被视为III型测试问题, S P S_P SP上的解的分布性仍然会有所改变。
f 1 ( X I , t ) = ∑ x i ∈ X I x i F ( t ) , F ( t ) > 0 ( 10 ) f_1(X_{I},t)=\sum\limits_{x_i \in X_{I}}x_i^{F(t)},~~~F(t)>0 ~~~(10) f1(XI,t)=xi∈XI∑xiF(t), F(t)>0 (10)
随着F(t)的变化,POF上的解的密度也将改变。由于一个多目标进化算法的目标仍然还是找到新PF上分布性不错的pareto最优解集,所以具有确定大小的 X I X_{I} XI解集需要和之前定义的方式有所不同。又因为F(t)的变化不会更改POF的位置,该问题还是属于I型。
通过对F(t)、G(t)和H(t)同时稍作修改就能构造一个更复杂的II型测试问题。每种情形下 F P , S P F_P,S_P FP,SP都是已知的,因此更容易测试进化算法的性能。接下来讨论以DTLZ为原型而构造的卡情况,首先呈现出一个典型的M维,n个变量的DTLZ函数(DTLZ2问题),如下所示:
M i n . f 2 ( X ) = ( 1 + g ( X M ) ) cos ( x 1 π 2 ) ⋯ sin ( x M − 1 π 2 ) M i n . f 1 ( X ) = ( 1 + g ( X M ) ) cos ( x 1 π 2 ) ⋯ cos ( x M − 1 π 2 ) ⋮ ⋮ M i n . f M ( X ) = ( 1 + g ( X M ) ) sin ( x 1 π 2 ) w i t h g ( X M ) = ∑ x i ∈ X M ( x i − 0.5 ) 2 0 ≤ x i ≤ 1 , f o r i = 1 , 2 , ⋯ , n } \left.\begin{array}{clrcl} Min.~f_2(X)=(1+g(X_M))\cos(\frac{x_1\pi}{2})\cdots \sin(\frac{x_{M-1}\pi}{2}) \\ Min.~f_1(X)=(1+g(X_M))\cos(\frac{x_1\pi}{2})\cdots \cos(\frac{x_{M-1}\pi}{2}) \\\vdots \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\vdots \\ Min.~f_M(X)=(1+g(X_{M}))\sin(\frac{x_1\pi}{2}) \\ with~g(X_M)=\sum\limits_{x_i \in X_{M}}(x_i-0.5)^2 ~~0\leq x_i \leq 1,~~for i=1,2,\cdots,n \end{array}\right\} Min. f2(X)=(1+g(XM))cos(2x1π)⋯sin(2xM−1π)Min. f1(X)=(1+g(XM))cos(2x1π)⋯cos(2xM−1π)⋮⋮Min. fM(X)=(1+g(XM))sin(2x1π)with g(XM)=xi∈XM∑(xi−0.5)2 0≤xi≤1, fori=1,2,⋯,n⎭⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎫
对于上述问题的三目标版本,POF是位于第一个象限上的半径为一个球体的八分圆,满足三个维度的坐标的平方和为1。接下来讨论如何采用不同的方式将这样一个问题变成动态的。
g ( x M , t ) = G ( t ) + ∑ x i ∈ X M ( x i − G ( t ) ) 2 , 0 ≤ G ( t ) ≤ 1 ( 12 ) g(x_M,t)=G(t)+\sum\limits_{x_i \in X_M}(x_i-G(t))^2,\;\;\;0 \leq G(t) \leq 1\;\;\;(12) g(xM,t)=G(t)+xi∈XM∑(xi−G(t))2,0≤G(t)≤1(12)
这样 S P , F P S_P,F_P SP,FP就都会改变,构造出一个II型问题。对于其他g函数不一样的DTLZ函数(就像DTLZ和DTLZ3)同样也可以相应的做出修改。然后如果是DTLZ5和DTLZ6测试问题(与三维超球面相反,其退化为POF曲线)的g函数做出如上改变时, F P F_P FP会以一种有趣的方式变化。鉴于g函数包括的变量有 x 2 x_2 x2到 x M − 1 x_{M-1} xM−1,生成的POF将不再是曲线,相反,对于G(t)>0这一情况,就会是一个超平面,因此由于g函数的修改,加深了DMEO的难度,即从追踪一条曲线到一个平面。
把所有的变量 x i x_i xi修改成 x i F ( t ) x_i^{F(t)} xiF(t),在构造DTLZ4函数就是这么改动的,只是将F(t)固定修改为0.1,能够构造出I型测试问题。由于这样的修改会改变搜索空间内POF上解的密度,所以每次发生环境变化时追寻分布性好的pareto解集这样一个任务对于DMEO来说是一个艰巨的挑战。DTLZ7函数里的h函数也能以上述提及的修改ZDT问题的方式被转换成动态的。
DTLZ2到DTLZ7里的球形POF可以通过把每个 f i f_i fi里的(1+g( X M X_M XM))修改成(1+g( X M X_M XM)+ K i ( t ) K_i(t) Ki(t)))从而变成椭球形。这样的一种更改将构造出II型测试问题。POF那时会被定义成
∑ i = 1 M [ f i ( 1 + K i ( t ) ) ] 2 = 1 \sum_{i=1}^M[\frac{f_i}{(1+K_i(t))}]^2=1 i=1∑M[(1+Ki(t))fi]2=1
从球形超曲面到椭圆形超曲面的变化将需要一系列不同的解来保持良好的多样性,并且对于DEMO仍然是一项艰巨的任务。
基于上述诸多情形,我们现在提出一套涵盖ZDT和DTLZ测试问题的5个测试问题。
{ f 1 ( X I ) = x 1 g ( X I I ) = 1 + ∑ x i ∈ X I I ( x i − G ( t ) ) 2 h ( f 1 , g ) = 1 − f 1 g G ( t ) = sin ( 0.5 π t ) , t= 1 n t ⌊ τ τ T ⌋ X I = ( x 1 ) ∈ [ 0 , 1 ] , X I I = ( x 2 , ⋯ , x n ) ∈ [ − 1 , 1 ] ( 13 ) \left\{\begin{array}{ccccc} f_1(X_I)=x_1 \\ g(X_{II})=1+\sum\limits_{x_i \in X_{II}}(x_i-G(t))^2 \\ h(f_1,g)=1-\sqrt\frac{f_1}g \\ G(t)=\sin(0.5\pi t), & \text{t=$\frac{1}{n_t}\lfloor\frac{\tau}{\tau_T}\rfloor$} \\X_{I}=(x_1)\in [0,1],& \text{$X_{II}=(x_2,\cdots,x_n) \in [-1,1]$} \end{array}\right.\;\;\;\;\;\;(13) ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧f1(XI)=x1g(XII)=1+xi∈XII∑(xi−G(t))2h(f1,g)=1−gf1G(t)=sin(0.5πt),XI=(x1)∈[0,1],t=nt1⌊τTτ⌋XII=(x2,⋯,xn)∈[−1,1](13)
该测试问题FDA1是上述情形1的实例。 τ \tau τ是 代数计数器, τ T \tau_T τT是固定的代数, n t n_t nt是t时刻不同的时间步,一般我们取这三个参数分别是20、5、10。
以上为FAD1的 S P S_P SP,只显示出前两个决策变量的变化情况。
以上为FAD1的 F P F_P FP;
FDA1中MOEA的任务是每次变化发生时,能够找到相同的POF,且满足 f 2 = 1 − f 1 f_2=1-\sqrt{f_1} f2=1−f1。
{ f 1 ( X I ) = x 1 g ( X I I ) = 1 + ∑ x i ∈ X I I x i 2 h ( x I I I , f 1 , g ) = 1 − ( f 1 g ) ( H ( t ) + ∑ x i ∈ X I I I ( x i − H ( t ) ) 2 ) − 1 H ( t ) = 0.75 + 0.7 sin ( 0.5 π t ) , t = 1 n t ⌊ τ τ T ⌋ X I = ( x 1 ) ∈ [ 0 , 1 ] , X I I , X I I I ∈ [ − 1 , 1 ] ( 14 ) \left\{\begin{array}{ccccc} f_1(X_I)=x_1 \\ g(X_{II})=1+\sum\limits_{x_i \in X_{II}}x_i^2 \\ h(x_{III},f_1,g)=1 -(\frac{f_1}g)^{(H(t)+\sum\limits_{x_i \in X_{III}}(x_i-H(t))^2)^{-1}} \\ H(t)=0.75+0.7\sin(0.5\pi t),\;\;\; t=\frac{1}{n_t} \lfloor\frac{\tau}{\tau_T}\rfloor \\ X_I=(x_1) \in [0,1],\;\;\;X_{II},X_{III} \in [-1,1] \end{array}\right.\;\;\;\;\;\;(14) ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧f1(XI)=x1g(XII)=1+xi∈XII∑xi2h(xIII,f1,g)=1−(gf1)(H(t)+xi∈XIII∑(xi−H(t))2)−1H(t)=0.75+0.7sin(0.5πt),t=nt1⌊τTτ⌋XI=(x1)∈[0,1],XII,XIII∈[−1,1](14)
该测试问题FDA2是上述情形2的实例。 ∣ X I I ∣ = ∣ X I I I ∣ = 15 |X_{II}|=|X_{III}|=15 ∣XII∣=∣XIII∣=15
其他参数设置同FDA1。在此,由于H函数的改变,POF从凸形变为非凸形。
以上为FAD2的 S P S_P SP;
我们必须要意识到 F P F_P FP形状的变化需要 S P S_P SP分布性有所改变(这个例子中只有 x 1 x_1 x1变量),才能获得 F P F_P FP上分布性好的解。
FDA3的定义:Type II,凸POF
{ f 1 ( X I ) = ∑ x i ∈ X I x i F ( t ) g ( X I I ) = 1 + G ( t ) + ∑ x i ∈ X I I ( x i − G ( t ) ) 2 h ( x I I I , f 1 , g ) = 1 − f 1 g G ( t ) = ∣ sin ( 0.5 π t ) ∣ F ( t ) = 1 0 2 sin ( 0.5 π t ) , t = 1 n t ⌊ τ τ T ⌋ X I = ( x 1 ) ∈ [ 0 , 1 ] , X I I ∈ [ − 1 , 1 ] ( 15 ) \left\{\begin{array}{cccccc} f_1(X_I)=\sum_{x_i \in X_{I}}x_i^{F(t)} \\ g(X_{II})=1+G(t)+\sum\limits_{x_i \in X_{II}}(x_i-G(t))^2 \\ h(x_{III},f_1,g)=1 -\sqrt\frac{f_1}g \\ G(t)=|\sin(0.5\pi t)| \\ F(t)=10^{2\sin(0.5\pi t)},\;\;\;t=\frac{1}{n_t}\lfloor\frac{\tau}{\tau_T}\rfloor\\X_I=(x_1) \in [0,1],\;\;\;X_{II} \in [-1,1] \end{array}\right.\;\;(15) ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧f1(XI)=∑xi∈XIxiF(t)g(XII)=1+G(t)+xi∈XII∑(xi−G(t))2h(xIII,f1,g)=1−gf1G(t)=∣sin(0.5πt)∣F(t)=102sin(0.5πt),t=nt1⌊τTτ⌋XI=(x1)∈[0,1],XII∈[−1,1](15)
该测试问题FDA3是上述情形3 的一个实例。 ∣ X I ∣ = 5 , ∣ X I I ∣ = 25 |X_{I}|=5,|X_{II}|=25 ∣XI∣=5,∣XII∣=25
以上为FDA3的 S P S_P SP
以上为FDA3的 F P F_P FP;
FDA3中的MOEA的任务是每次发生环境变化时找到一个分布性比较好的解集。
{ min x f 1 ( x ) = ( 1 + g ( X I I ) ) ∏ i = 1 M 1 cos ( x I π 2 ) min x f k ( x ) = ( 1 + g ( X I I ) ) ( ∏ i = 1 M k cos ( x I π 2 ) ) sin ( x M k + 1 π 2 ) , k = 2 : M − 1 min x f M ( x ) = ( 1 + g ( X I I ) ) sin ( x 1 π 2 ) w h e r e g ( X I I ) = ∑ x i ∈ X I I ( x i − G ( t ) ) 2 G ( t ) = ∣ sin ( 0.5 π t ) ∣ , t = 1 n t ⌊ τ τ T ⌋ X I I = ( x M , ⋯ , x n ) , x i ∈ [ 0 , 1 ] i = 1 : n ( 16 ) \left\{\begin{array}{cccc} \min \limits_{x}\;\;\;f_1(x)=(1+g(X_{II}))\prod\limits_{i=1}^{M_1}\cos(\frac{x_I\pi}{2})\\ \min \limits_{x}\;\;\;f_k(x)=(1+g(X_{II}))(\prod\limits_{i=1}^{M_k}\cos(\frac{x_I\pi}{2}))\sin(\frac{x_{M_k+1}\pi}{2}),~~k=2:M-1 \\ \min \limits_{x}\;\;\;f_M(x)=(1+g(X_{II}))\sin(\frac{x_1\pi}{2}) \\ where\;\;g(X_{II})=\sum_{x_i \in X_{II}}(x_i-G(t))^2 \\ G(t)=|\sin(0.5\pi t)|,\;\;\;\;t=\frac{1}{n_t}\lfloor\frac{\tau}{\tau_T}\rfloor \\ X_{II}=(x_{M},\cdots,x_n),x_i \in [0,1]\;\;\;i=1:n\end{array}\right.~~~~~(16) ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧xminf1(x)=(1+g(XII))i=1∏M1cos(2xIπ)xminfk(x)=(1+g(XII))(i=1∏Mkcos(2xIπ))sin(2xMk+1π), k=2:M−1xminfM(x)=(1+g(XII))sin(2x1π)whereg(XII)=∑xi∈XII(xi−G(t))2G(t)=∣sin(0.5πt)∣,t=nt1⌊τTτ⌋XII=(xM,⋯,xn),xi∈[0,1]i=1:n (16)
该测试问题FDA4是上述情形4的一个实例。设置n=M+9,保持 ∣ X I I ∣ = 10 |X_{II}|=10 ∣XII∣=10;
以上为FDA4的 F P F_P FP;
MOEA在该测试问题中的主要任务是每当发生环境变化,都要找到半径为1 的相同球面。
FDA5的定义:Type II,非凸POF;
{ min x f 1 ( x ) = ( 1 + g ( X I I ) ) ∏ i = 1 M 1 cos ( x I π 2 ) min x f k ( x ) = ( 1 + g ( X I I ) ) ( ∏ i = 1 M k cos ( x I π 2 ) ) sin ( y M k + 1 π 2 ) , k = 2 : M − 1 min x f M ( x ) = ( 1 + g ( X I I ) ) sin ( x 1 π 2 ) w h e r e g ( X I I ) = ∑ x i ∈ X I I ( x i − G ( t ) ) 2 G ( t ) = ∣ sin ( 0.5 π t ) ∣ F ( t ) = 1 + 100 sin 4 ( 0.5 π t ) t = 1 n t ⌊ τ τ T ⌋ X I I = ( x M , ⋯ , x n ) , x i ∈ [ 0 , 1 ] i = 1 : n ( 17 ) \left\{\begin{array}{ccccccc} \min \limits_{x}\;\;\;f_1(x)=(1+g(X_{II}))\prod\limits_{i=1}^{M_1}\cos(\frac{x_I\pi}{2})\\ \min \limits_{x}\;\;\;f_k(x)=(1+g(X_{II}))(\prod\limits_{i=1}^{M_k}\cos(\frac{x_I\pi}{2}))\sin(\frac{y_{M_k+1}\pi}{2}),~~k=2:M-1 \\ \min \limits_{x}\;\;\;f_M(x)=(1+g(X_{II}))\sin(\frac{x_1\pi}{2}) \\ where\;\;g(X_{II})=\sum_{x_i \in X_{II}}(x_i-G(t))^2 \\ G(t)=|\sin(0.5\pi t)|\\ F(t)=1+100\sin^4(0.5\pi t)\\ t=\frac{1}{n_t}\lfloor\frac{\tau}{\tau_T}\rfloor \\ X_{II}=(x_{M},\cdots,x_n),x_i \in [0,1]\;\;\;i=1:n \end{array}\right.~~~~~(17) ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧xminf1(x)=(1+g(XII))i=1∏M1cos(2xIπ)xminfk(x)=(1+g(XII))(i=1∏Mkcos(2xIπ))sin(2yMk+1π), k=2:M−1xminfM(x)=(1+g(XII))sin(2x1π)whereg(XII)=∑xi∈XII(xi−G(t))2G(t)=∣sin(0.5πt)∣F(t)=1+100sin4(0.5πt)t=nt1⌊τTτ⌋XII=(xM,⋯,xn),xi∈[0,1]i=1:n (17)
该测试问题FDA5是上述情形5的一个实例。与FDA4中使用的参数是相同的。
以上为FDA5的 S P S_P SP;
MOEA在FDA5测试问题下的面临的任务是每次发生环境变化最优解的密度变化时能够找到同时保持分布性也不错。
使用EMO解决静态背包问题非常有效,现将其扩展用于动态背包问题。
M a x i m i z e s f i ( x , t ) = ∑ j = 1 n p i j x j , i = 1 : M s u b j e c t t o ∑ i = 1 n w i j ( t ) x j ≤ c i ( t ) , i = 1 : M , x i ∈ { 0 , 1 } n ( 18 ) Maximizes\;\;f_i(x,t)=\sum\limits_{j=1}^n p_{ij}x_j,\;\;\;i=1:M \\ subject\;\;to \sum\limits_{i=1}^nw_{ij}(t)x_j\leq c_i(t),\;\;\;i=1:M,x_i \in \{0,1\}^n\;\;\;\;(18) Maximizesfi(x,t)=j=1∑npijxj,i=1:Msubjecttoi=1∑nwij(t)xj≤ci(t),i=1:M,xi∈{ 0,1}n(18)
在该问题中每个决策变量 x i x_i xi的值不是0就是1.如果值为1则表背包中由物品。这M个背包都有确定的容量 c i c_i ci,物品j在背包i中的质量是 w i j w_{ij} wij,能带来的收益是 p i j p_{ij} pij。之所以该问题成为动态的原因,是每个背包的容量 c i c_i ci和物品的质量 w i j w_{ij} wij等都可能随时间变化。
{ min ∈ P n f = { f 1 ( p , t ) , ⋯ , f M ( p , t ) } , w i t h f j = ∑ i = 1 n w i j ( p , t ) ∣ ∣ x ( p i , t ) x ( p i + 1 , t ) ∣ ∣ , p n + 1 = p 1 ( 19 ) \left\{\begin{array}{cc} \min\limits_{ \in P^n}f=\{f_1(p,t),\cdots,f_M(p,t)\},\;\;\;with \\f_j=\sum\limits_{i=1}^nw_{ij}(p,t)||x(p_i,t)x(p_{i+1},t)||,\;\;p_{n+1}=p_1\;\;\;(19)\end{array}\right. ⎩⎨⎧∈Pnminf={ f1(p,t),⋯,fM(p,t)},withfj=i=1∑nwij(p,t)∣∣x(pi,t)x(pi+1,t)∣∣,pn+1=p1(19)
系数 w i j w_{ij} wij和城市坐标都是随时间变化的。第一种情况可能表示路径上的不同交通状况(也取决于排列),而第二种情况可能表示城市位置的变化。
该问题是Type I型测试问题。