多目标优化

MOEA-D

A multi-objective evolutionary algorithm based on decomposition

基于分解的多目标进化算法

将多目标优化问题分解成单目标优化问题

  1. 加权和: g ( x ∣ λ ) = ∑ i = 1 m λ i f i ( x ) g(x|\lambda)=\sum_{i=1}^m\lambda_if_i(x) g(xλ)=i=1mλifi(x),取不同的 λ \lambda λ可以得到不同的Pareto解
  2. 切比雪夫方法: g ( x ∣ λ , z ∗ ) = m a x 1 ≤ i ≤ m { λ i ∣ f i ( x ) − z i ∗ ∣ } g(x|\lambda,z^*)=max_{1\leq i\leq m}\{\lambda_i|f_i(x)-z_i^*|\} g(xλ,z)=max1im{λifi(x)zi},其中 z ∗ z^* z是参考点, z i ∗ = m a x { f i ( x ) ∣ x ∈ Ω } z_i^*=max\{f_i(x)|x\in \Omega\} zi=max{fi(x)xΩ},调整权重矢量 λ \lambda λ得到不同的Pareto解
  3. 交叉边界法

过程

  1. 计算两两权重向量的欧式距离,找到距离每一个权重向量最近的 T T T个权重向量。对每一个 i = 1 , 2 , … , N i=1,2,\dots,N i=1,2,,N,使 B ( i ) = { i 1 , i 2 , … , i T } B(i)=\{i_1,i_2,\dots,i_T\} B(i)={i1,i2,,iT},其中 λ 1 i , λ 2 i , … , λ T i \lambda^i_1,\lambda^i_2,\dots,\lambda^i_T λ1i,λ2i,,λTi是距离 λ i \lambda^i λi最近的 T T T个向量。
  2. 随机生成初始种群
  3. 计算 z = ( z 1 , z 2 , … , z m ) z=(z_1,z_2,\dots,z_m) z=(z1,z2,,zm)
  4. B ( i ) B(i) B(i)中执行选择交叉变异算子生成一个新个体
  5. 计算新个体的适应度值 y ′ y' y
  6. 更新 z z z,对于每一个 j = 1 , 2 , … , m j=1,2,\dots,m j=1,2,,m,如果 z j < f j ( y ′ ) z_j<f_j(y') zj<fj(y),那么使 z j = f j ( y ′ ) z_j=f_j(y') zj=fj(y)
  7. 更新邻域
  8. 更新EP

NSGA-II

A Fast and Elitist Multi-objective Genetic Algorithm

基本概念

  1. 快速非支配等级排序:如果当前集合中没有其他个体支配个体 i i i,则个体 i i i处于当前集合的最高非支配等级。
  2. 拥挤度评估:对同一非支配等级的解,进行拥挤度评估,即计算目标空间中以距离当前解最近的解为顶点组成的超立方体的周长。 I [ i ] d i s t a n c e = ( I [ i + 1 ] . m − I [ i − 1 ] . m ) / ( f m m a x − f m m i n ) I[i]_{distance}=(I[i+1].m-I[i-1].m)/(f_m^{max}-f_m^{min}) I[i]distance=(I[i+1].mI[i1].m)/(fmmaxfmmin)规定处于边界的个体的拥挤度为无穷大。
  3. 比较算子 ≺ n \prec_n n:定义 i ≺ n j i\prec_nj inj当且仅当 i r a n k < j r a n k i_{rank}<j_{rank} irank<jrank或者 i r a n k = j r a n k i_{rank}=j_{rank} irank=jrank并且 i d i s t a n c e > j d i s t a n c e i_{distance}>j_{distance} idistance>jdistance
  4. 排序时不需要全排,只要排够前 N N N个即可。

过程

  1. 随机初始化种群
  2. 非支配等级和拥挤度距离排序
  3. 执行选择交叉变异算子生成新个体,回到第2步

PESA

The Pareto Envelop-based Selection Algorithm for Multi-Objective Optimization

基本概念

  1. 压缩因子:在目标空间中维持一个网格,压缩因子表示在同一网格中非支配个体的数目。
  2. 选择算子:从外部种群中采用锦标赛法选择个体,因外部种群中存储的是非支配个体,因此个体的适应度值由压缩因子决定,压缩因子越小,适应度值越好。
  3. 存档更新算子:当内部种群和外部种群组成的混合种群中非支配个体的数目超过预定义的外部种群数目时,需要从外部种群中移除多余的个体。首先移除压缩因子最大的个体,如果多个个体的压缩因子相等且都为最大时,则随机选择一个移除(注意:一次移除一个)。

过程

  1. 随机初始化内部种群,外部种群置空
  2. 将内部种群和外部种群合并成一个临时种群,并用临时种群中的非支配个体重新初始化外部种群。
  3. 执行存档更新算子
  4. 清空内部种群,如果 0 < r < P c 0<r<P_c 0<r<Pc则从外部种群中利用选择算子选择两个个体执行交叉变异操作生成子代个体;如果 P c < r < 1 P_c<r<1 Pc<r<1,则从外部种群中选择一个个体执行变异操作生成子代个体,直到填满内部种群

SPEA2

Improving the Strength Pareto Evolutionary Algorithm

基本概念

  1. 计算强度值 S ( i ) = ∣ { j ∣ j ∈ P t + P t ˉ ⋂ i ≺ j } ∣ S(i)=|\{j|j\in P_t+\bar{P_t}\bigcap i\prec j\}| S(i)={jjPt+Ptˉij},个体 i i i的强度值等于被个体 i i i支配个体的数目
  2. 计算适应度值 R ( i ) = ∑ j ∈ P t + P t ˉ , j ≺ i S ( j ) R(i)=\sum_{j\in P_t+\bar{P_t},j\prec i}S(j) R(i)=jPt+Ptˉ,jiS(j),个体 i i i的适应度值表示所有支配 i i i的个体的强度之和
  3. 当个体两两互不支配时,适应度值相同,因此加入密度信息。 D ( i ) = 1 σ i k + ϵ D(i)=\frac{1}{\sigma_i^k+\epsilon} D(i)=σik+ϵ1,其中 σ i k \sigma_i^k σik表示与个体 i i i距离最近的第 k k k个个体的距离,通常 k = N p + N p ˉ k=\sqrt{N_p+\bar{N_p}} k=Np+Npˉ
  4. 总适应度值 F ( i ) = R ( i ) + D ( i ) F(i)=R(i)+D(i) F(i)=R(i)+D(i)
  5. 存档与截断:将所有的非支配个体放入存档,如果正好填满,则复制过程结束;如果不够,则从剩余的支配个体中选择最好的填满存档;如果过多,则一次移除一个个体,移除标准是:如果个体 i i i与其他个体在目标空间的第一最近邻距离最小,则移除个体 i i i;如果同时有几个个体与其他个体在目标空间的第一最近邻距离最小,则判断它们的第二最近邻距离,以此类推。

过程

  1. 随机初始化种群,存档置零
  2. 计算所有个体的适应度值,执行存档与截断
  3. 在存档中选择个体,填充交配池,执行交叉变异算子生成新个体

参考文献

待补充(每个大标题下面)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值