深度强化学习助力约束多目标优化:算子选择新策略

摘要

本文提出一种基于深度强化学习(DRL)辅助的约束多目标优化进化算法(CMOEAs)算子选择框架。该框架以种群的收敛性、多样性和可行性为状态,候选算子为行动,种群状态的改进为奖励,借助深度Q网络学习策略选择最优算子。实验表明,该方法能显著提升CMOEAs性能,且通用性优于多种先进算法。
关键词:约束多目标优化;深度强化学习;进化算法;算子选择

一、引言

在实际应用和科研中,约束多目标优化问题(CMOPs)广泛存在,像Web服务位置分配、城市公交车辆调度等场景。进化算法在求解CMOPs方面颇受关注,其中CMOEAs包含算法策略、约束处理技术和进化算子三个关键组件。不过,现有研究多聚焦于前两者,对进化算子自适应选择的研究较少。不同进化算子适用于不同问题,固定算子会限制CMOEA的适用性,所以研究自适应算子选择意义重大。

DRL在多目标优化领域崭露头角,其能处理连续状态空间,适合用于CMOPs的算子选择。但将DRL应用于CMOPs时,需解决约束满足和可行性评估等问题。本文提出的DRL辅助在线算子选择框架,旨在填补CMOPs算子选择的研究空白,提升CMOEAs性能。

二、相关工作与研究动机

(一)预备知识

CMOP的数学表述为:CMOP的数学表述为:

min ⁡ F ( x ) = ( f 1 ( x ) , ⋯   , f m ( x ) ) T s . t . x ∈ R g i ( x ) ≤ 0 , i = 1 , ⋯   , p h j ( x ) = 0 , j = p + 1 , ⋯   , q \begin{array}{cl} \begin{array}{cl} \min & F(x)=(f_{1}(x), \cdots, f_{m}(x))^{T} \\ s.t. &x \in \mathbb{R} \\ & g_{i}(x) \leq 0, i = 1, \cdots, p \\ & h_{j}(x)=0, j = p + 1, \cdots, q \end{array}\end{array} mins.t.F(x)=(f1(x),,fm(x))TxRgi(x)0,i=1,,phj(x)=0,j=p+1,,q

其中, m m m是目标函数数量, x x x n n n维决策向量, R \mathbb{R} R是搜索空间, g i ( x ) g_{i}(x) gi(x) h j ( x ) h_{j}(x) hj(x)分别是不等式和等式约束, q q q为约束总数。其中, m m m是目标函数数量, x x x n n n维决策向量, R \mathbb{R} R是搜索空间, g i ( x ) g_{i}(x) gi(x) h j ( x ) h_{j}(x) hj(x)分别是不等式和等式约束, q q q为约束总数。

x x x的约束违反度(CV)计算如下:

φ j ( x ) = { max ⁡ ( 0 , g j ( x ) ) , j = 1 , ⋯   , p max ⁡ ( 0 , ∣ h j ( x ) ∣ − σ ) , j = p + 1 , ⋯   , q \varphi_{j}(x)= \begin{cases} \max(0, g_{j}(x)), & j = 1, \cdots, p \\ \max(0,|h_{j}(x)|-\sigma), & j = p + 1, \cdots, q \end{cases} φj(x)={max(0,gj(x)),max(0,hj(x)σ),j=1,,pj=p+1,,q
总体CV为 ϕ ( x ) = ∑ j = 1 q φ j ( x ) \phi(x)=\sum_{j = 1}^{q} \varphi_{j}(x) ϕ(x)=j=1qφj(x),当 ϕ ( x ) = 0 \phi(x)=0 ϕ(x)=0时, x x x是可行解,否则为不可行解。

(二)多目标优化中的自适应算子选择

近年来,自适应算子选择在多目标优化进化算法设计中逐渐受到关注。例如,Wang等人提出多算子集成方法,依据算子有效性调整子种群大小;Tian等人采用DRL为MOEA/D构建自适应算子选择方法;Santiago等人利用模糊选择算子促进解的多样性和收敛性;Dong等人设计测试并应用结构自适应选择算子;Yuan等人研究不同变异算子在MOEA中的作用;McClymont和Keedwell提出马尔可夫链超启发式算法选择算子;Lin等人设计一对一集成机制衡量算子信用。

(三)深度强化学习及其在多目标优化中的应用

强化学习可在动态环境中学习最优策略,DRL则借助深度神经网络逼近行动价值函数。DQL训练Q网络估计行动预期奖励,有两种工作原理:I型输入状态和行动输出Q值;II型仅输入状态输出所有行动Q值。

在这里插入图片描述

DRL在多目标优化领域应用广泛,包括解决实际MOPs,如可再生能源调配、虚拟机放置、服务协调等问题;以及提升MOEAs性能,如自适应选择进化算子、直接生成帕累托最优解、缩短训练时间等。

(四)研究动机

根据无免费午餐定理,固定算子无法适用于所有问题,自适应算子选择对进化计算至关重要。但目前针对CMOEAs的自适应算子选择研究较少,而CMOPs具有独特挑战,因此开展相关研究很有必要。

在解决CMOP的进化过程中,环境动态变化,传统强化学习技术(如Q学习)难以处理连续状态空间,DRL技术则更适合。同时,DRL能综合考虑历史和未来性能,在CMOEAs进化过程中更具优势。不过,应用DRL到CMOPs时,需解决约束处理和算子有效性评估等问题。

三、提出的方法

(一)提出的深度强化学习模型

在本文的模型里,行动集合 A = { o p 1 , o p 2 , ⋯   , o p i , ⋯   , o p k } \mathcal{A}=\{op_{1}, op_{2}, \cdots, op_{i}, \cdots, op_{k}\} A={op1,op2,,opi,,opk},其中 o p i op_{i} opi代表不同进化算子(如GA、DE等), k k k是候选算子数量,模型可容纳任意数量的候选算子。

种群状态由收敛性( c o n con con)、多样性( d i v div div)和可行性( f e a fea fea)三个指标定义:

c o n = ∑ x ∈ P ∑ j = 1 m f j ( x ) N con=\frac{\sum_{x \in \mathcal{P}} \sum_{j = 1}^{m} f_{j}(x)}{N} con=NxPj=1mfj(x)
f e a = ∑ x ∈ P ϕ ( x ) N fea =\frac{\sum_{x \in \mathcal{P}} \phi(x)}{N} fea=NxPϕ(x)
d i v = 1 ∑ j = 1 m ( f j m a x − f j m i n ) div=\frac{1}{\sum_{j = 1}^{m}(f_{j}^{max }-f_{j}^{min })} div=j=1m(fjmaxfjmin)1
状态集为
S = { s ∣ s = ( c o n , f e a , d i v ) } \mathcal{S}=\{s | s=( con, fea, div)\} S={ss=(con,fea,div)}

奖励 r r r通过当前状态与下一代状态的差异计算:
r = ( c o n + f e a + d i v ) − ( c o n ′ + f e a ′ + d i v ′ ) r=( con + fea + div)-(con'+fea'+div') r=(con+fea+div)(con+fea+div)

一条记录 t = ( s , o p , r , s ′ ) t=(s, op, r, s') t=(s,op,r,s),经验回放(EP)由多条记录组成 E P = { t 1 , t 2 , ⋯   , t m s e p } \mathcal{E P}=\{t_{1}, t_{2}, \cdots, t_{m s_{e p}}\} EP={t1,t2,,tmsep}

基于上述定义,构建的DQL模型包含四个过程:进化过程中,CMOEA用选定算子生成后代并确定存活个体;交互过程里,智能体与环境交换信息;学习过程时,智能体根据反馈学习改进策略;决策过程中,智能体利用训练好的DQN选择Q值最大的行动。
在这里插入图片描述

(二)提出的深度Q学习辅助框架

基于DQL模型构建的辅助框架,在CMOEA的初始化、交配和选择步骤基础上,增加了算子选择和网络更新过程。

算子选择过程中,若EP大小未达到要求,随机选择算子;达到要求且DQN未构建时,构建DQN;DQN构建好后,根据种群状态自适应选择算子。

网络更新过程在每次迭代时检测种群状态、计算记录并更新EP,每50次迭代更新DQN。整个框架流程通过算法1详细描述,确保了框架的有序运行。
在这里插入图片描述
Algorithm 1 The DQL-Assisted Framework for CMOEAs


Require: N (population size), Gmax (termination condition), i (number of operators), msep (maximum size of EP), rsep (required size of EP)
Output: P (the output solution set of the CMOEA)
1: Initialization of the CMOEA;
2: Determine the state of the population;
3: initialize the EP;
4: g ← 0;
5: while g < Gmax do
6:     if |EP| < rsep then
7:         i ← randomly select an operator;
8:         O ← generate offspring set by the CMOEA using the i-th operator;
9:         P ← select the population for the next generation by the CMOEA;
10:        t ← determine the reward and new state, and form a new record;
11:        EP ← update the EP with t;
12:     else
13:         if network is not built then
14:             Q ← build the DQN using EP by Algorithm 2;
15:         else
16:             i ← adaptively select an operator according to the state of the population and Q using Algorithm 3;
17:             O ← generate offspring set by the CMOEA using the i-th operator;
18:             P ← select the population for the next generation by the CMOEA;
19:             t ← determine the reward and new state, and form a new record;
20:             EP ← update the EP with t;
21:         end if
22:     end if
23:     g ← g + 1;
24:     if g % 50 = 0 then
25:         Q ← update the DQN using EP by Algorithm 2;
26:     end if
27: end while
28: return P

(三)训练/更新深度Q网络

采用简单的反向传播神经网络作为DQN,其详细参数设置如表1所示:

参数
隐藏层数2
隐藏层神经元数40
输入层节点数4
输出层节点数1
批量大小T
最大迭代次数80000
学习率衰减1.00×10⁻⁴
学习率0.01
输入到隐藏层偏差0.1
隐藏层到输出层偏差0
激活函数ReLU

训练或更新DQN时,从EP中采样数据,对数据进行归一化处理后,以特定损失函数训练DQN,具体过程由算法2描述。
Algorithm 2 Train/Update Network

Require: EP (experience replay), str (required size of training data)
Output: Q (DQN)
1: randomly sample str records from EP as the training data T;
2: st ← {t1,t2,t3}, t ∈ T;
3: at ← t4, t ∈ T;
4: rt ← t5, t ∈ T;
5: st+1{t6,t7,t8}, t ∈ T;
6: Normalize all items of T;
7: train the DQN using (4) as loss function;
8: return Q

(四)提出的算子选择方法

OS方法通过生成随机数 k k k,与贪心概率 ϵ \epsilon ϵ比较来选择算子。 k ≤ ϵ k \leq \epsilon kϵ时,用DQN选择奖励最大的算子; k > ϵ k \gt \epsilon k>ϵ时,随机选择算子。本文选择GA和DE算子实例化框架,因为它们是常用算子,且GA收敛性强,DE探索能力好。
Algorithm 3 Select Operator

Require: A (operator set), Q (DQN), ε (possibility of greedy), s (current population state) 
Output: a (the selected operator)
1: generate a random number k in [0,1];
2: if k ≤ ε then
3:     s ← normalize all items of the state data s;
4:     i = argmaxa∈A Q(s,a);
5: else
6:     i ← generate a random number in {1,2,...,k};
7: end if
8: return the i-th operator a in A

(五)计算复杂度

方法的计算复杂度由所选CMOEA、DQN训练和种群状态计算三部分决定。整体计算复杂度主要取决于所选CMOEA。

(六)备注

与现有自适应算子选择方法相比,本文方法适用于CMOPs,且基于DQL能评估未来种群改进;与Tian等人的DQL辅助算子选择方法不同,本文处理CMOPs,模型设计有差异,且框架可嵌入任意CMOEAs;与现有DRL在解决MOPs中的应用相比,本文提出通用框架,可处理离散或连续决策变量的CMOPs。

四、实验研究

(一)实验设置

  1. 基准问题:选用CF、DAS-CMOP、DOC和LIR-CMOP四个具有挑战性的基准测试套件,各套件存在不同困难和挑战。
  2. 对比算法:将本文框架嵌入CCMO、MOEA/D-DAE、EMCMO和PPS四个CMOEAs,并与九个先进的CMOEAs对比。
  3. 参数设置和遗传算子:明确GA和DE算子的参数设置,以及其他相关进化设置和参数,对比方法采用原始文献默认设置。
  4. 性能指标:采用IGD+和HV作为性能评估指标,确保评估的合理性和公平性。
  5. 统计分析:每个算法在每个测试实例上独立运行30次,记录均值和标准差,用Wilcoxon秩和检验进行统计分析。

(二)深度Q学习辅助算子选择的有效性

对比使用DQL辅助算子选择的CMOEAs、原始CMOEAs(固定算子)和随机算子选择的CMOEAs,结果表明:在多数情况下,DQL辅助算子选择方法能提升CMOEAs性能。如在CFs、DAS-CMOPs、DOCs和LIR-CMOPs测试中,该方法表现出色。Friedman检验进一步证实其优于固定和随机算子选择。

(三)对比研究

将DRLOS-EMCMO算法与九个先进CMOEAs对比,发现DRLOS-EMCMO在多数问题上表现优异,但在某些依赖特定算子或需要特殊约束处理技术的问题上表现欠佳。不过总体上,它能更好地逼近CPF,收敛速度更快,通用性更强。

(四)参数分析

研究EP所需大小、批量大小、贪心阈值以及DQN中重要参数对性能的影响,结果显示这些参数对性能影响较小,表明方法和DQN对参数不敏感,当前参数设置具有适用性。

(五)使用指标评估种群状态的消融研究

采用HV和Spacing指标评估种群状态,与原简单评估方法对比。结果表明,不同算法和问题对评估方法有不同偏好,简单评估方法在部分问题上通用性更好。

五、结论与未来工作

本文提出的DQL辅助在线算子选择方法,有效提升了CMOEAs的性能,且通用性良好。不过,当CMOP偏好特定算子时,该方法性能有待提高,后续可从提高学习效率、增加函数评估次数等方面改进。

未来可尝试嵌入其他算子扩展框架,应用先进神经网络提升性能,以及研究超参数自适应优化,为约束多目标优化领域的发展提供更多可能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值