[智能算法]基于分解的多目标优化算法MOEA/D

一、概述

        基于分解的多目标优化算法(multiobjective evolutionary algorithm based on decomposition)简称MOEA/D。其核心思想是将一个多目标优化问题分解多个标量优化子问题,并对其同时进行优化。且每个子问题仅使用相邻的两个子问题的信息进行优化。同时其还可以结合目标归一化技术,用于处理缩放的目标。

        由于每个子问题使用的信息更少,所以其计算复杂度要远低于NSGA-Ⅱ。

        对于MOEA/D算法而言,最重要的是构建聚合函数邻域结构。聚合函数可以将多目标的权重分布结合起来,并在此基础上定义个体的适应度;邻域结构可以在高效运行的同时保持多样性,邻域之间的信息交互通过局部搜索机制进行。

二、分解策略

        多目标优化问题(MOP)的目标函数可以表述为:

                maxF(x)=(f_1(x),...,f_m(x))^T

        2.1加权求和法

        设置一组权重向量\lambda=(\lambda_1,...,\lambda_m)^T,且\lambda_i\geq 0\sum_{i=1}^m\lambda_i=1,可将目标函数写作:

                maxg^{ws}(x|\lambda)=\sum_{i=1}^m\lambda_if_i(x),其中x为待优化变量,\lambda是目标函数的系数向量,可以通过不同的权重向量\lambda来产生一组不同的帕累托最优解。其分解方式如下图所示:

         2.2切比雪夫法

        切比雪夫法的公式可表述为:

                ming^{t\varepsilon }(x|\lambda,z^*)=max_{1\leq i\leq m}\{\lambda_i|f_i(x)-z_i^*\},其中z^*=(z_1^*,...,z_m^*)为参考点,对于\forall i=1,...,m均有z_i^*=max\{f_i(x|x\in\Omega)\}

        对于每个帕累托最优解x^*而言,总存在一个权重向量\lambda可以将上式映射为原MOP的帕累托最优解。其分解过程可以描述为:

        2.3基于惩罚的边界交叉法

         边界交叉法的目标是找到最上边界和一组线的交点,通过数学表述为:

                ming^{bi}(x|\lambda,z^*)=d,其约束为z^*-F(x)=d\lambda可以保证F(x)总是具有方向线L且其上必定通过z^*,目标是尽可能推高F(x)。式中\lambda为权重向量,z^*为参考点。

        在实现过程中,采用惩罚的方法实现等式约束,可以表述为:

                ming^{bip}(x|\lambda,z^*)=d_1+\theta d_2,其中d_1=\frac{||()z^*-F(x))^T\lambda||}{||\lambda||}d_2=|||F(x)-(z^*-d_1\lambda)||,另\theta>0为预设的惩罚参数。其过程如下图所示:

三、算法流程

         在MOEA/D中,每一代种群由各子问题的最优解构成,只有相邻的子问题可以用来优化彼此。流程如下图:

        基于切比雪夫法,对于种群大小为N的群体EP而言,MOEA/D的流程可具体描述为:

        ①初始化:

                1)计算任意两个权重向量之间的欧氏距离;对每个权重向量都选取离它欧氏距离最近的T个权重向量,将这个权重向量的集合记作:B(i)=\{i_1,...i_T\}

                2)生成初始种群x={x^1,...x^N},令FV^i=F(x^i)

                3)通过目标函数f_i搜索到当前最优解集合z=(z_1,...z_m)^T

        ②更新:

                for i in range(0,N):

                        1)从B(i)中随机选取两个标号为k,l的个体,使用遗传算子从个体x^k,x^l生成新的解y

                        2)基于测试问题改进y生成新的{y}'

                        3)若z_j<f_j({y}'),则更新zz_j=f_j({y}')

                        4)更新相邻解:若g^{ts}({y}'|\lambda^j,z)\geq g^{ts}(x^j|\lambda^j,z),其中j \in B(i),若x^i={y}'FV^j=F({y}')

                        5)从EP移除所有被F({y}')支配的向量,更新EP

        ③终止条件判定

                若满足终止条件,则输出EP,否则重复②

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值