这个项目能做什么
decisionrl是一个专为运营决策问题(如定价、库存管理、能源调度、队列准入和供应链优化)设计的强化学习库。与针对游戏和机器人的通用RL框架不同,decisionrl将每个应用问题作为一等环境,并配有经典运筹学基线,使学习策略能够与标准方法进行比较,而非仅声称其性能良好。
该库提供31种算法,涵盖表格方法(Q-Learning、SARSA、Expected SARSA、Dyna-Q)、基于值的深度RL(DQN、Rainbow、C51、QR-DQN)、演员-评论家方法(PPO、A2C、TRPO、GRPO、IMPALA、Recurrent PPO)、连续控制(DDPG、TD3、SAC、SACDiscrete)、离线RL(TD3+BC、IQL、CQL、Decision Transformer)、基于模型的方法(MBPO、Dreamer、DreamerRSSM)、目标条件学习(HER+DQN)和模仿学习(Diffusion Policy)。每个智能体都提供统一的predict/learn/save/load接口,无论其是表格还是深度、离散还是连续、在线还是离线。
核心依赖极少:环境、经典基线和求解器均为纯NumPy实现,而PyTorch仅为训练所需算法的可选附加项。内置环境包括GridWorld、CartPole、Pendulum、PointMass和bandits,无需额外安装即可进行端到端训练。Gymnasium环境作为可选附加项提供。
应用环境涵盖非平稳需求漂移库存、两级供应链、队列准入控制、能源微电网电池管理、恒温器/HVAC控制、平稳库存、动态定价以及联合定价与库存。每个环境都包含通过搜索找到的最佳固定规则经典基线,而非简单默认值。结果表明,学习策略在非平稳任务上优于经典基线(例如,漂移库存约提升16%,能源微电网约提升20%,供应链成本降低约15%),并在平稳任务上匹配精确动态规划最优解。一项案例研究使用1959年至2009年美国季度实际消费数据驱动库存环境,显示学习策略优于最佳固定基库存,因为真实需求存在趋势,单一订货点水平无法适应所有时期。
该库还包括上下文bandits(LinUCB、线性汤普森采样、epsilon-greedy)用于定价和推荐等一次性决策,控制任务和字符级GPT上的RLHF和DPO,模仿学习(BC、DAgger、GAIL),好奇心驱动探索(RND、ICM),无梯度优化(12种进化与群体方法,带ask/tell接口及NeuroevolutionAgent),带MCTS和自玩的AlphaZero用于双人完美信息游戏,元RL(RL²)用于跨任务分布的在线适应,带IPPO的多智能体自玩,分布式IMPALA风格actor向中央V-trace学习器提供数据,以及ONNX和TorchScript导出及无torch的FastAPI服务容器。
命令行界面支持训练、评估和实时仪表板可视化。实验可通过YAML或JSON声明,并使用decisionrl run或decisionrl.config.run运行。可复现性通过Python、NumPy和PyTorch中的可种子化RNG确保,测试套件包含400多个测试,涵盖组件正确性(空间、缓冲区、sum-tree、调度、GAE、归一化、保存/加载往返)和学习行为(表格方法达到最优GridWorld策略;DQN和PPO学习CartPole;SAC、TD3和DDPG解决PointMass任务)。定时CI工作流每晚重新运行多种子应用验证,若任何报告结果低于基线则失败。
该项目采用MIT许可证,设计灵感来自CleanRL、Stable-Baselines3、Tianshou和Farama Foundation的Gymnasium接口。
评论
0 评分人数达到10人后显示
登录后参与讨论。