This repository implements the multi-objective quality-diversity algorithm MO-CMA-MAE and baselines over a set of benchmark problems.
- Python 3.11+
- uv for dependency management
From the repository root:
uv syncUse the Hydra entrypoint in src.main:
uv run -m src.main problem=<problem> algorithm=<algorithm>Example:
uv run -m src.main problem=sphere algorithm=mo_cma_mae| Problems | Algorithms |
|---|---|
sphere |
mo_cma_mae |
rastrigin |
mome |
arm |
como_cma_es |
Experiments write logs under:
outputs/<problem>/<algorithm>/<timestamp>
The following artifacts are produced:
summary.csv— QD metricsheatmap_*.png— archive heatmaps at logging intervalsscheduler_*.pkl— checkpointed scheduler state
The default experiment settings are defined in config/main.yaml.
Algorithm and problem-specific settings are defined in config/algorithm/*.yaml and config/problem/*.yaml.
If resume_from_logdir is set in the Hydra config, the experiment will resume from the latest scheduler checkpoint in that directory.
- Add NSGA-II as a baseline algorithm
- Add SMS-EMOA as a baseline algorithm
- Add Overcooked as a benchmark problem