pymoo

Compute Pareto fronts for multi-objective optimization problems with pymoo.

Updated Apr 2, 2026
One-click install
npx skills add https://github.com/viniruggeri/applied-dynamical-systems --skill pymoo-viniruggeri
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pymoo
Source: https://github.com/viniruggeri/applied-dynamical-systems/tree/main/.agents/skills/pymoo
Command: npx skills add https://github.com/viniruggeri/applied-dynamical-systems --skill pymoo-viniruggeri

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Pymoo provides a comprehensive Python toolkit to solve single- and multi-objective optimization problems, delivering robust Pareto-front solutions through modern algorithms, customizable problem definitions, and decision-making support.

Core Features & Use Cases

  • Unified minimize() interface for single- and multi-objective optimization.
  • State-of-the-art algorithms (NSGA-II, NSGA-III, MOEA/D) with constraint handling and standard benchmarks (ZDT, DTLZ, WFG).
  • Use cases across engineering design, parameter tuning, and data-driven optimization, with visualization and analysis tools to compare fronts and convergence.

Quick Start

Run a NSGA-II or NSGA-III optimization on a multi-objective problem to generate the Pareto front and analyze trade-offs.

Frequently Asked Questions about pymoo

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

FAQPage Schema
How do I compute a Pareto front for a multi-objective optimization problem?

You can solve multi-objective optimization problems by computing Pareto fronts using algorithms like NSGA-II or NSGA-III through a unified minimize() interface. This handles 2- to 5-objective problems in engineering design and data-driven modeling with constraint support.

What is the difference between NSGA-II and NSGA-III for evolutionary algorithms?

NSGA-II suits 2- or 3-objective optimization, while NSGA-III handles many-objective problems with 4 or more objectives. Both evolutionary algorithms compute Pareto fronts with constraint handling and support standard benchmarks like ZDT, DTLZ, and WFG.

Can I use NumPy and Matplotlib for multi-objective optimization visualization?

Yes, NumPy and Matplotlib are core dependencies for running multi-objective optimization and visualizing results. The framework provides built-in visualization and analysis tools to compare Pareto fronts and convergence across different algorithm runs.

What's the best way to handle constraints in multi-objective optimization?

The best way to handle constraints in multi-objective optimization is through the unified minimize() interface, which supports constraint handling across algorithms like NSGA-II, NSGA-III, and MOEA/D. You can define custom problem definitions with constraints for engineering design applications.

Does pymoo support standard benchmark problems like ZDT and DTLZ?

Yes, the framework supports standard benchmark problems including ZDT, DTLZ, and WFG for multi-objective optimization. These built-in problem definitions allow you to test and compare evolutionary algorithms like NSGA-II, NSGA-III, and MOEA/D.

When do I need SciPy for Pareto front optimization?

SciPy is required for Pareto front optimization when solving multi-objective problems with algorithms like NSGA-II or NSGA-III. It works alongside NumPy and Matplotlib as a core dependency for the minimize() interface and constraint handling.