pymoo
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
npx skills add majiayu000/claude-skill-registry --skill pymoo-k-dense-ai-scientific-agent-ski-2 --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Enables multi-objective optimization in Python using the pymoo framework, supporting single and multi-objective problems, Pareto front analysis, constraint handling, and visualization via optional tools. Includes workflow guidance for single-objective, bi/tri-objective, and many-objective problems, problem definition styles, and various algorithm choices. It mentions built-in benchmark problems (ZDT, DTLZ, WFG) and methods for decision making from Pareto fronts.
How it works
The skill instructs the agent to:
- Use the unified minimize() interface from pymoo to solve problems, providing problem, algorithm, and termination criteria, and then access result fields like result.X, result.F, and result.G.
- Support three problem-definition styles: Problem (vectorized), ElementwiseProblem (one solution per call), and FunctionalProblem (objectives/constraints as functions).
- Choose algorithms for single-objective (GA, DE, PSO, CMA-ES), multi-objective (NSGA-II, NSGA-III, MOEA/D, SPEA2), and many-objective (NSGA-III, etc.), with guidance on when to use each.
- Provide workflow examples for single-objective optimization, two-to-three objective optimization, many-objective optimization, and custom problems, including code snippets.
- Address constraint handling via methods like Feasibility First, Penalty, Constraint as Objective, and specialized algorithms, with references.
- Offer decision-making from Pareto fronts using MCDM methods and examples, including normalization and pseudo-weights.
- Describe visualization options per number of objectives (Scatter, 3D Scatter, PCP, Petal) and provide code examples.
- Cover parallel evaluation and mixed-variable optimization, including parallel runners and variable typing, with examples.
- Include an Algorithm Selection Guide and Benchmark Problems section for quick access to problem-solving strategies.
When to use it
Use this skill when:
- You need to solve optimization problems with one or multiple objectives and obtain Pareto-optimal solutions.
- You are benchmarking algorithms on standard test problems (ZDT, DTLZ, WFG) or need to customize genetic operators.
- You require constraint handling and visualization for multi-objective results.
- You want to perform many-objective optimization (4+ objectives) and use reference directions.
- You need to perform constraint handling in various forms or perform post-hoc decision making from Pareto results.
What it can touch
- It references and uses the pymoo library (via the Python ecosystem) and demonstrates usage with standard Python imports like
from pymoo.optimize import minimizeand algorithm classes such as NSGA2, NSGA3, MOEA/D, etc. It also mentions visualization modules likeScatter,PCP, andPetaland problem definitions viaget_problemfrompymoo.problems.
Caveats
- Declares compatibility with Python 3.10+ and pymoo, with optional dependencies including matplotlib for visualization, autograd for gradient-based features, and Joblib for parallelization.
- Lists the current stable release as pymoo 0.6.1.6 (November 2025).
- License stated as MIT for the skill, with the skill description referencing an Apache-2.0 license in the front matter.
# Pymoo - Multi-Objective Optimization in Python ## Overview Pymoo is a comprehensive Python framework for optimization with emphasis on multi-objective problems. Solve single and multi-objective optimization using state-of-the-art algorithms (NSGA-II/III, MOEA/D, SPEA2), benchmark problems (ZDT, DTLZ), customizable genetic operators, and multi-criteria decision making methods. Excels at finding trade-off solutions (Pareto fronts) for problems with conflicting objectives. Current stable release: **pymoo 0.6.1.6** (November 2025). ## Installation ```bash uv pip install pymoo ``` For reproducible environments, pin a version: `uv pip install "pymoo==0.6.1.6"`. **Dependencies:** NumPy (2.x compatible since 0.6.1.3), SciPy, matplotlib (visualization). Autograd is optional for gradient-based features (since 0.6.1.3). **Documentation:** https://pymoo.org/ — LLM-friendly index: https://pymoo.org/llms.txt ## When to Use This Skill This skill should be used when: - Solving optimization problems with one or multiple objectives - Finding Pareto-optimal solutions and analyzing trade-offs - Implementing evolutionary algorithms (GA, DE, PSO, NSGA-II/III) - Working with constrained optimization pr
- Overview
- Installation
- When to Use This Skill
- Core Concepts
- The Unified Interface
- Problem Definition Styles
- Problem Types
- Quick Start Workflows
- Workflow 1: Single-Objective Optimization
- Workflow 2: Multi-Objective Optimization (2-3 objectives)
- Workflow 3: Many-Objective Optimization (4+ objectives)
- Workflow 4: Custom Problem Definition
- Workflow 5: Constraint Handling
- Workflow 6: Decision Making from Pareto Front
uv pip install pymoo python3 scripts/single_objective_example.py python3 scripts/multi_objective_example.py python3 scripts/many_objective_example.py python3 scripts/custom_problem_example.py python3 scripts/decision_making_example.py
What does the pymoo skill do?
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill pymoo-k-dense-ai-scientific-agent-ski-2 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
