pymoo

Solve multi-objective optimization problems with NSGA-II and visualize Pareto fronts.

52|6|Updated Nov 24, 2025
One-click install
npx skills add https://github.com/ovachiever/droid-tings --skill pymoo-ovachiever
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pymoo
Source: https://github.com/ovachiever/droid-tings/tree/main/skills/pymoo
Command: npx skills add https://github.com/ovachiever/droid-tings --skill pymoo-ovachiever

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Pymoo offers a unified interface to solve single and multi-objective optimization problems with state-of-the-art algorithms, helping you explore trade-offs and design Pareto-optimal solutions efficiently.

Core Features & Use Cases

  • Algorithms: NSGA-II, NSGA-III, MOEA/D, SRES, CMA-ES, PSO, GA, and more.
  • Benchmarks: ZDT, DTLZ, WFG for evaluation and comparison.
  • Decision making: MCDM methods (Pseudo-Weights, Compromise Programming) for selecting preferred solutions.
  • Visualization: Scatter, PCP, heatmaps for understanding fronts and trade-offs.

Quick Start

Solve a bi-objective ZDT1 problem with NSGA-II and visualize 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 and find Pareto-optimal solutions?

Multi-objective optimization finds trade-off solutions across competing objectives. Pymoo solves these problems using algorithms like NSGA-II and NSGA-III, producing Pareto fronts where no solution improves one objective without worsening another. It handles continuous, discrete, and mixed-variable domains with constraint support.

Can I use pymoo for engineering design problems with multiple constraints?

Yes. Pymoo applies constraint handling across single-, multi-, and many-objective scenarios for engineering and design tasks. You define problem variables, objectives, and constraints through a unified minimize interface, then pymoo executes your chosen algorithm and returns feasible, constraint-satisfied Pareto solutions.

What algorithms does pymoo support for optimization?

Pymoo includes NSGA-II, NSGA-III, MOEA/D, SRES, CMA-ES, PSO, and GA. Each algorithm suits different problem structures—NSGA-II and NSGA-III excel at many-objective problems, MOEA/D decomposes objectives, and evolutionary strategies handle continuous domains. Benchmark problems like ZDT and DTLZ let you compare performance.

How do I visualize and interpret Pareto fronts from optimization results?

Pymoo provides scatter plots, parallel coordinate plots (PCP), and heatmaps to visualize Pareto fronts and trade-offs across objectives. After optimization, you can also apply MCDM methods like Pseudo-Weights and Compromise Programming to select preferred solutions from the front.

Do I need external solvers or is pymoo self-contained for optimization?

Pymoo is self-contained. It requires only numpy and matplotlib as dependencies. All algorithms, constraint handling, termination criteria, and benchmark problems are built in. You define objectives and variables in Python; pymoo executes the solve within your script.

Can pymoo handle discrete and mixed-variable optimization problems?

Yes. Pymoo's unified minimize interface supports continuous, discrete, and mixed-variable domains. You specify variable types during problem definition, and algorithms automatically manage the search space—no separate discrete solver needed.