pymoo

Optimize multi-objective problems with NSGA-II, NSGA-III, and MOEA/D algorithms.

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/m0at/claudemd --skill pymoo-m0at
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pymoo
Source: https://github.com/m0at/claudemd/tree/main/skills/pymoo
Command: npx skills add https://github.com/m0at/claudemd --skill pymoo-m0at

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, scipy, matplotlib, autograd, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Multi-objective optimization of engineering design and decision problems using a unified Python framework with state-of-the-art algorithms and benchmarking support.

Core Features & Use Cases

  • Unified minimize interface for single-, bi-, and many-objective problems.
  • Algorithms: NSGA-II, NSGA-III, MOEA/D and more for Pareto-front exploration.
  • Benchmarks & problems: built-in ZDT/DTLZ variants and common test functions for rapid prototyping and research.
  • Constraint handling and decision making: supports feasibility strategies and MCDM workflows to select preferred solutions.
  • Real-world workflows: design optimization, performance trade-off analysis, and comparative algorithm studies.

Quick Start

Run a simple many-objective run to obtain a Pareto front by selecting an algorithm and a problem, then minimize over generations.

Frequently Asked Questions about pymoo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform multi-objective optimization in Python?

Multi-objective optimization in Python is performed using a unified minimize interface that applies evolutionary algorithms like NSGA-II and MOEA/D to explore Pareto fronts for competing objectives. It handles single, bi-objective, and many-objective engineering design problems.

What is the difference between NSGA-II and NSGA-III for Pareto-front exploration?

For Pareto-front exploration, NSGA-II is suited for 2-3 objective problems, while NSGA-III is designed for many-objective problems. Both algorithms are available to find optimal trade-offs in complex engineering design and decision-making workflows.

Can I use built-in benchmarks like ZDT and DTLZ for multi-objective algorithm testing?

Built-in benchmarks like ZDT and DTLZ variants are available for multi-objective algorithm testing. These common test functions allow rapid prototyping, comparative algorithm studies, and performance trade-off analysis without needing external datasets.

Do I need NumPy and SciPy to run many-objective optimization?

Yes, NumPy and SciPy are required dependencies to run many-objective optimization. Matplotlib is also used for visualization, and Autograd can be optionally included for automatic differentiation when setting up optimization problems.

How does constraint handling work in multi-objective optimization?

Constraint handling in multi-objective optimization supports feasibility strategies to ensure solutions meet design requirements. This allows the algorithms to navigate invalid regions during Pareto-front generation and works with MCDM workflows to select preferred valid solutions.

What is the best way to select a preferred solution from a generated Pareto front?

The best way to select a preferred solution from a generated Pareto front is using Multi-Criteria Decision Making (MCDM) workflows. This approach evaluates trade-offs among competing objectives to identify the most suitable engineering design or decision outcome.