pymoo

Run pymoo evolutionary algorithms for single- and multi-objective optimization.

21|2|Updated Dec 8, 2025
One-click install
npx skills add https://github.com/silverstein/claude-scientific-skills-desktop --skill pymoo-silverstein
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pymoo
Source: https://github.com/silverstein/claude-scientific-skills-desktop/tree/main/corpus/pymoo
Command: npx skills add https://github.com/silverstein/claude-scientific-skills-desktop --skill pymoo-silverstein

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and scripts (resource) components.

What problem does it solve?

This Skill helps you solve single- and multi-objective optimization problems in Python by producing high-quality solutions and Pareto fronts you can analyze and compare.

Core Features & Use Cases

  • Unified optimization workflow using a consistent minimize() interface that returns decision variables, objective values, and (when applicable) constraint violations.
  • Multi-objective algorithms for 2–3 objectives (e.g., NSGA-II/NSGA-III family), including many-objective setups using reference directions (NSGA-III).
  • Constraint handling and decision support through feasibility-first behavior, penalty and constraint-as-objective approaches, plus guidance for selecting solutions from a Pareto front using MCDM methods.

Quick Start

Use the pymoo skill to run NSGA-II on the ZDT1 benchmark and return the resulting Pareto-front objective values for trade-off analysis.

Frequently Asked Questions about pymoo

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

FAQPage Schema
How do I find Pareto-optimal solutions for multi-objective optimization in Python?

You can find Pareto-optimal solutions for multi-objective optimization in Python by running pymoo's evolutionary algorithms through the minimize() workflow, which returns decision variables and objective values for trade-off analysis.

What is the best way to handle constraints in multi-objective evolutionary algorithms?

The best way to handle constraints in multi-objective evolutionary algorithms is modeling them as g(x) <= 0 and h(x) = 0, using pymoo's feasibility-first behavior or penalty approaches to ensure valid Pareto fronts.

Does pymoo support many-objective optimization with more than three objectives?

Yes, pymoo supports many-objective optimization by using the NSGA-III algorithm with reference directions. This guides the evolutionary search to find Pareto-optimal solutions for problems with many conflicting objectives.

How do I select a single best solution from a Pareto front?

Select a single best solution from a Pareto front using Multi-Criteria Decision Making (MCDM) methods. This helps resolve conflicting objectives by applying decision-making guidance to the generated objective values.

Can I test optimization algorithms on standard benchmark problems like ZDT or DTLZ?

You can test optimization algorithms on standard benchmark problems like ZDT, DTLZ, and WFG families using pymoo. This validates algorithm performance by comparing resulting Pareto fronts against known theoretical benchmarks.

Why does my constrained optimization return infeasible solutions?

Constrained optimization may return infeasible solutions if constraints are not modeled correctly as g(x) <= 0 or h(x) = 0. Use pymoo's feasibility-first behavior or constraint-as-objective approaches to enforce valid solutions.