pymoo

Provides Python framework for solving multi-objective optimization problems using evolutionary algorithms like NSGA-II and analyzing Pareto fronts.

298|27|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/jaechang-hits/SciAgent-Skills --skill pymoo-jaechang-hits
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pymoo
Source: https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/scientific-computing/pymoo
Command: npx skills add https://github.com/jaechang-hits/SciAgent-Skills --skill pymoo-jaechang-hits

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill provides a powerful framework for solving single and multi-objective optimization problems using evolutionary algorithms, automating complex decision-making processes.

Core Features & Use Cases

  • Multi-objective Optimization: Handles problems with multiple conflicting goals (e.g., minimizing cost while maximizing performance).
  • Evolutionary Algorithms: Implements algorithms like NSGA-II, NSGA-III, and Genetic Algorithms.
  • Customizable: Allows defining custom problems, operators, and termination criteria.
  • Use Case: Optimize the design of a beam to simultaneously minimize its weight and deflection under load, finding the best trade-off between these competing objectives.

Quick Start

Use the pymoo skill to solve the ZDT1 benchmark problem for 200 generations.

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 conflicting goals in Python?

Multi-objective optimization solves conflicting goals by applying evolutionary algorithms like NSGA-II to vectorized objective functions. This framework minimizes competing metrics, such as cost and weight, simultaneously to find optimal design trade-offs.

What is the best way to find and visualize Pareto fronts for engineering design trade-offs?

Finding Pareto fronts involves running evolutionary algorithms to identify non-dominated solutions across competing objectives. This framework computes the front and uses matplotlib to visualize the trade-off surface for engineering design analysis.

Can I use NSGA-II or NSGA-III for hyperparameter search and custom objective functions?

Yes, NSGA-II and NSGA-III can optimize hyperparameter search by defining custom vectorized objective functions and constraints. The framework allows full customization of operators and termination criteria for specific optimization tasks.

How does a genetic algorithm handle vectorized objective functions and constraints?

Genetic algorithms process vectorized objective functions by evolving a population across generations while respecting defined constraints. This framework implements algorithms like DE to efficiently search the solution space and minimize multiple objectives.

Do I need numpy and matplotlib to run evolutionary algorithms for scientific computing?

Yes, numpy and matplotlib are required dependencies for executing evolutionary algorithms and visualizing results. Numpy handles vectorized scientific computing operations, while matplotlib generates plots of Pareto fronts and optimization progress.

When should I use differential evolution versus NSGA-II for single and multi-objective optimization?

Use differential evolution for single-objective optimization and NSGA-II for multi-objective problems with conflicting goals. Both algorithms operate on vectorized objective functions to navigate constraints and identify optimal engineering design solutions.