多目标进化算法系列
现实世界中的多目标优化问题往往包含不等式约束和等式约束,对于这类带约束条件的多目标优化问题,需要使用有别于无约束优化问题的处理方法。下面首先给出带约束条件的多目标优化问题的的定义:
Definition : 约束多目标优化问题
F ( x ) = ( f 1 ( x ) , . . . , f m ( x ) ) s . t . x i ( L ) ≤ x i ≤ x i ( U ) , i = 1 , 2 , . . . , n g j ( x ) ≤ 0 , j = 1 , 2 , . . . , J h k ( x ) = 0 , k = 1 , 2 , . . . , K \begin{matrix} F(x)=(f_1(x),...,f_m(x))\;\;\;\;\;\;\;\;\;\;\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad \\ x_i^{(L)}\leq x_i \leq x_i^{(U)},\; i=1,2,...,n\;\\ g_j(x)\leq 0,\;j=1,2,...,J\;\;\;\;\;\;\;\;\;\;\;\\ h_k(x)=0,\;k=1,2,...,K\;\;\;\;\;\;\;\;\;\;\\ \end{matrix} F(x)=(f1(x),...,fm(x))s.t.xi(L)≤xi≤xi(U),i=1,2,...,ngj(x)≤0,j=1,2,...,Jhk(x)=0,k=1,2,...,K
在这个定义式中,为了描述方便,将所有的不等式约束都转换为了 g ( x ) ≤ 0 g(x)\leq 0 g(x)≤0的形式。其中 m m m为目标函数的个数, n n n为决策变量的个数, J J J为不等式约束条件的个数, K K K为等式约束条件的个数, x i ( L ) x_i^{(L)} xi(L)和 x i ( U ) x_i^{(U)} xi(U)分别为第 i i i个决策变量 x i x_i xi的下限和上限值。
针对这类带约束条件的优化问题,使用无约束多目标进化算法处理的方法显然是不可行的,为了解决这类约束多目标优化问题,针对基于Pareto支配关系的算法,主要使用带约束的支配关系(constrained-dominance)来处理,而对于基于分解的算法,则使用新的替换策略来更新解。
为了详细说明上述两种方法,现介绍几个重要的概念。
对于一个解 x x x,若其满足约束条件,则称该解为可行解(feasible solution),若不满足,则称之为不可行解(infeasible solution)。
对于不可行解,如何描述其违反约束的程度呢,一般使用约束违反值(constraint violation value),该值用来定量描述一个解违反约束条件的程度。对于一个解 x x x,其值可如下表达
C V ( x ) = ∑ i = 1 J ⟨ g j ( x ) ⟩ + ∑ k = 1 K ∣ h k ( x ) ∣ CV(x)=\sum_{i=1}^J{\langle g_j(x) \rangle} + \sum_{k=1}^K{|h_k(x)|} CV(x)=i=1∑J⟨gj(x)⟩+k=1∑K∣hk(x)∣
其中 ⟨ α ⟩ \langle \alpha \rangle ⟨α⟩表示若 α ≤ 0 \alpha\leq 0 α≤0,则 ⟨ α ⟩ = 0 \langle \alpha \rangle =0 ⟨α⟩=0,否则 ⟨ α ⟩ = ∣ α ∣ \langle \alpha \rangle = |\alpha| ⟨α⟩=∣α∣。显然,对于一个解,其CV值越小,说明该解越优。同时,对于一个可行解,其CV值为0,对于不可行解,其CV值则大于0。
下面介绍约束支配关系,对于任意两个解 x , y x,y x,y, x x x约束支配 y y y的条件满足以下条件的任一项即可:
以上便是约束支配关系的描述,对于一个带约束的多目标优化问题,便可直接将该支配关系应用到基于Pareto支配关系的多目标进化算法中,如NSGA-II,NSGA-III等,同时,对于无约束多目标优化问题,该支配关系显然也是有效的。
下面介绍基于分解的算法处理约束多目标优化问题中的替换策略。假设 y y y是新生成的子代解,选择一个邻居解 x x x来确定是否用解 y y y替换解 x x x,满足以下条件的任一项则替换之:
该替换策略可直接用到MOEA/D或其他基于分解思想的多目标进化算法中来处理约束多目标优化问题。
以上便是目前约束多目标优化问题处理的一些常用方法。
QQ交流群:399652146
参考: