PyTorch baselines when one reward isn't enough
It provides a shared, reliable PyTorch codebase for algorithms that learn policies balancing multiple competing rewards.

What it does
MORL-Baselines is a library of Multi-Objective Reinforcement Learning (MORL) algorithms implemented in PyTorch. It wraps a broad catalog of single- and multi-policy methods behind the MO-Gymnasium API, which differs from standard Gymnasium only by returning a vector of rewards instead of a scalar. The project emphasizes reproducibility, with automatic testing, pre-commit enforcement, and tracked experiments fed into Weights and Biases dashboards.
The interesting bit
The repository tries to keep each algorithm in a single file, making methods self-contained and easier to audit. It also explicitly distinguishes between algorithms optimized for the Scalarized Expected Return (SER) and Expected Scalarized Return (ESR) criteria, a subtle but important taxonomic split that many RL libraries gloss over.
Key highlights
- Implements over a dozen algorithms spanning discrete and continuous observation and action spaces.
- Strictly follows the
MO-GymnasiumAPI, so environments only need to return a numpy array reward vector. - Automatically reports results to Weights and Biases and participates in the Open RL Benchmark for cross-library comparison.
- Includes utility functions for Pareto pruning, experience buffers, and hyperparameter optimization.
- All algorithms are automatically tested and documented.
Caveats
- The README warns that some algorithms have limited features.
PCNassumes environments with deterministic transitions.IPRO-2Dis strictly a two-objective specialization and cannot handle higher-dimensional reward vectors.
Verdict
Researchers and practitioners working on problems with inherently conflicting objectives—like robotics or resource allocation—should find this a solid starting point. If your reward function is a single scalar, standard libraries like Stable Baselines 3 already have you covered.
Frequently asked
- What is LucasAlegre/morl-baselines?
- It provides a shared, reliable PyTorch codebase for algorithms that learn policies balancing multiple competing rewards.
- Is morl-baselines open source?
- Yes — LucasAlegre/morl-baselines is open source, released under the MIT license.
- What language is morl-baselines written in?
- LucasAlegre/morl-baselines is primarily written in Python.
- How popular is morl-baselines?
- LucasAlegre/morl-baselines has 532 stars on GitHub.
- Where can I find morl-baselines?
- LucasAlegre/morl-baselines is on GitHub at https://github.com/LucasAlegre/morl-baselines.