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.