请问各位大佬:强化学习的动作有不等式约束该如何处理?比如利用ddpg算法最大化y=-x12-x22,其中,约束条件:-5<x1<5,-5<x2<5, x1+x2<5。类似于这种,该如何编程呢? 我知道有一种方法是违反约束就在reward里给一个大的惩罚。请问还有别的方法吗? 谢谢大家!
(1)增加惩罚项是没有办法的办法;(2)我感觉处理连续的复杂约束时,可以按照“先转化后映射”的思想,转化:将复杂约束转化成线性空间;映射:设置约束空间到输出空间的映射规则。
keinccgithub 请问有转成线性空间的例子吗
用经典的Constrained MDP(CMDP)可以解决,CMDP一般用拉格朗日对偶变换,来吧有约束的问题转化成无约束,具体可以参考CRPO的论文,github上也能搜到CRPO的代码