深度强化学习通常是怎么解决带约束的优化问题的?

佚名 次浏览

摘要:深度强化学习通常是怎么解决带约束的优化问题的?约束条件体现在哪里,是要把有约束的优化问题转化成无约束的吗?违反约束加一个惩罚就行了一个优化问题不可能没有约束。个人理解,对于约束,要么通过奖赏函数来设定,使得智能体学习到满足约束的策略,要么就把约束转化为规则,以规则+学习的方式进行智能体的训练,还有一种,就是把约束嵌入环境,等同于环境模

深度强化学习通常是怎么解决带约束的优化问题的?约束条件体现在哪里,是要把有约束的优化问题转化成无约束的吗?

违反约束加一个惩罚就行了

一个优化问题不可能没有约束。个人理解,对于约束,要么通过奖赏函数来设定,使得智能体学习到满足约束的策略,要么就把约束转化为规则,以规则+学习的方式进行智能体的训练,还有一种,就是把约束嵌入环境,等同于环境模型的约束。

硬约束的话直接写规则。

软约束的话可以在目标函数里加惩罚项;或者更通用的,直接改写reward函数就行了。

论文题目:Cooperative Multiobjective Evolutionary Algorithm With Propulsive Population for Constrained Multiobjective Optimization

论文发表时间和期刊:IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 52, NO. 6, JUNE 2022

算法思想

本文提出了一种带有推进种群的合作多目标进化算法(CMOEA-PP)。CMOEA-PP有推进种群和正常种群两个种群,这两个种群协同工作。具体来说,推进型人口侧重于收敛。正常人口优先考虑可行性,有义务保持多样性。为了穿越不可行的区域到达帕累托前沿(PF),推进种群不考虑前期约束,只考虑后期约束。为了进一步加快收敛速度,推进种群只搜索角点解和中心解,而正常种群搜索整个PF,导致推进种群由于不关注可行性,可以穿过不可行区域。此外,推进型种群还可以引导和加速进化过程的收敛。

1、算法整体流程

2、种群定义

CMOEA-PP中的两个种群,称为推进种群和正常种群,协同工作以解决CMOPs

a. 推进种群

推进种群研究仅选取2M+1个角解。其中包括M个子问题、M个同时优化除一个(M?1)个目标以外的所有目标问题及一个中心解问题(下图所示)。

利用具有(2M + 1)个预定义权重向量的成就标度函数(ASF),可以将上述子问题转化为(2M + 1)个单目标问题。

推进种群的权重向量定义如下

AFS值定义

ASF^{i} 值越小,表示它在子问题上的性能越好

对于每个子问题,种群中的所有个体将根据其在该子问题中的表现进行排序。当排序完成后,种群中的每个个体X根据排序得到一个位置值Ri(X),种群中的每个个体都有(2M + 1)个位置值。

推进人口在前期不考虑可行性信息,在后期优先考虑可行性个体。当推进种群不考虑可行性信息时,种群中所有个体按 ASF^{i} 值由小到大进行排序。当推进种群优先考虑可行个体时,认为可行个体比不可行个体表现更好,此时采用混合CDP的方法进行筛选。

当(2M +1)排序完成时,种群中的每个个体得到(2M +1)个位置值。个体X的最终排名值rank (X)计算如下

推进种群中的使用DE算子产生后代,选择了勘探突变能力的算子DE/current-to-rand/1

X_{r1}为推进种群的个体, X_{r2}X_{r3} 为推进种群或正常种群的个体

推进种群个体更新机制及繁殖机制伪代码

b. 正常种群

3、环境选择与种群更新

(1)推进种群更新

输入:推进种群 P_{2} 、两个后代种群 Q_{1}Q_{2} 、种群更新代数t

输出:新一代推进种群 P_{2}^{'}

a. 合并推进种群 S=P_{2}\\cup Q_{1}\\cup Q_{2}

b. 对于2M+1个子问题,若当前代数t大于 T_{cv} ,则根据约束违反程度以及ASF值对个体进行排名,使得个体获得排名值。否则,根据ASF值对个体进行排名。

c. 计算个体最终排名

d. 根据最终排名进行升序排序

e. 按照排名顺序放入推进种群 P_{2}^{'}

(2)正常种群更新

正常种群采用SPEA2和CDP的更新机制。具体来说,在正常种群中,可行方案比不可行方案更受青睐。对于所有可行解,根据目标函数作为SPEA2的更新机制,用它们的支配关系对它们进行评价。对于所有不可行的解,总约束违反值越小的解在下一代中生存的机会越大。

输入:推进种群 P_{1} 、两个后代种群 Q_{1}Q_{2} 、种群更新代数t

输出:新一代推进种群 P_{1}^{'}

a. 合并推进种群 S=P_{1}\\cup Q_{1}\\cup Q_{2}

b. 基于SPEA2与CDP挑选个体更新 P_{1}

4、、算法整体步骤

输入:问题目标数M,常规种群个体大小 N_{1} ,推进种群个体大小 N_{2}

输出:常规种群 P_{1}

a. t=0

b. 初始化:构造推进种群的2M+1个权重向量、初始化正常种群、初始化推进种群

c. 当不符合停止准则时:

产生正常种群后代 Q_{1} ,产生推进种群后代 Q_{2}

利用环境选择挑选个体,更新推进种群和正常种群

XuanAxuan:【深度强化学习】Constraint RL for safe exploration:primal-dual optimization 算法

随机内容

平台注册入口