pymoo

Solves constrained, multi-objective problems producing Pareto-optimal fronts via NSGA-II/III and MOEA/D algorithms.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Pymoo enables researchers and engineers to solve complex multi-objective optimization problems, delivering Pareto-optimal trade-offs and actionable design insights.

Core Features & Use Cases

  • 2-Objective and Many-Objective Support: Handles 2- to 15-objective problems with NSGA-II/III and MOEA/D, enabling both classic and modern many-objective optimization.
  • Constrained Optimization: Built-in constraint handling, including feasibility-first, penalties, and constraint-as-objective approaches to handle real-world constraints.
  • Benchmarking, Custom Problems & Visualization: Access standard test problems (ZDT, DTLZ, WFG) and frameworks to define custom problems; supports visualization of Pareto fronts and convergence.

Quick Start

Define your problem, choose an algorithm (e.g., NSGA-II or NSGA-III), and call minimize to obtain the Pareto front.

Frequently Asked Questions about pymoo

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

FAQPage Schema
How do I solve multi-objective optimization problems with constraints in Python?

Multi-objective optimization problems with constraints are solved by defining a custom problem, selecting an algorithm like NSGA-II, and calling minimize to obtain Pareto-optimal trade-offs. Built-in constraint handling supports feasibility-first and penalty approaches.

What is the best way to visualize a Pareto front for many-objective optimization?

Visualizing a Pareto front for many-objective optimization is achieved using built-in matplotlib visualization utilities that plot convergence and trade-off solutions. These tools support standard benchmarks like ZDT and DTLZ for result validation.

Can I use NSGA-III and MOEA/D for many-objective problems with more than 3 objectives?

NSGA-III and MOEA/D are explicitly supported for many-objective problems handling 2 to 15 objectives. They deliver Pareto-optimal solutions for complex trade-off analysis across multiple conflicting goals.

How do I define custom optimization problems using numpy arrays?

Custom optimization problems are defined by creating a problem class that evaluates numpy array inputs to calculate objectives and constraints. The framework then processes these inputs through selected algorithms to find optimal solutions.

Does this approach work with standard benchmark test problems like WFG and ZDT?

Standard benchmark test problems including WFG, ZDT, and DTLZ are directly supported for algorithm testing and validation. Accessing these benchmarks allows researchers to evaluate algorithm performance before applying them to custom real-world designs.

When should I choose NSGA-II over NSGA-III for multi-objective optimization?

NSGA-II is typically chosen for standard 2 to 3-objective optimization problems, while NSGA-III is designed for many-objective scenarios with 4 or more objectives. Both produce Pareto-optimal solution sets for trade-off analysis.