Skills Agentes

Pymoo

Framework de optimización multiobjetivo: NSGA-II, NSGA-III, MOEA/D, frentes de Pareto, manejo de restricciones y benchmarks (ZDT, DTLZ) para problemas de diseño e ingeniería.

Solicitaread write edit bash
Estrellas
34.8k

en todo el repo

Actividad
59

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
4

últimos 90 días

Contexto
2.6k tok

44 tok en reposo

Paquete
13 archivos

81 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add K-Dense-AI/scientific-agent-skills --skill pymoo --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Resuelve problemas de optimización mono y multiobjetivo con algoritmos como NSGA-II, NSGA-III, MOEA/D y SPEA2
  • Encuentra frentes de Pareto y analiza soluciones de compromiso en problemas con objetivos en conflicto
  • Ofrece problemas de referencia (ZDT, DTLZ, WFG) para comparar algoritmos
  • Permite personalizar operadores genéticos (cruce, mutación, selección) y manejar restricciones
  • Incluye nueve flujos de trabajo listos para ejecutar y scripts de ejemplo para cada tipo de problema

Úsalo cuando

  • El usuario resuelve problemas de optimización con uno o varios objetivos
  • Necesita encontrar soluciones Pareto-óptimas y analizar trade-offs
  • Quiere implementar algoritmos evolutivos (GA, DE, PSO, NSGA-II/III) o comparar contra problemas de referencia
  • Trabaja con variables binarias, discretas, continuas o mixtas y necesita elegir entre soluciones competidoras

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Optimiza este problema con NSGA-II y muéstrame el frente de Pareto
    • Define un problema personalizado en pymoo con restricciones
    • Compara NSGA-II y MOEA/D en el problema ZDT1
    • Elige el algoritmo adecuado para un problema con 5 objetivos

    SKILL.md

    En inglés

    Pymoo - Multi-Objective Optimization in Python

    Overview

    Pymoo is a comprehensive Python framework for optimization with emphasis on multi-objective problems. Solve single and multi-objective optimization using state-of-the-art algorithms (NSGA-II/III, MOEA/D, SPEA2), benchmark problems (ZDT, DTLZ), customizable genetic operators, and multi-criteria decision making methods. Excels at finding trade-off solutions (Pareto fronts) for problems with conflicting objectives. Current stable release: pymoo 0.6.1.6 (November 2025).

    Installation

    uv pip install pymoo
    

    For reproducible environments, pin a version: uv pip install "pymoo==0.6.1.6".

    Dependencies: NumPy (2.x compatible since 0.6.1.3), SciPy, matplotlib (visualization). Autograd is optional for gradient-based features (since 0.6.1.3).

    Documentation: https://pymoo.org/ — LLM-friendly index: https://pymoo.org/llms.txt

    When to Use This Skill

    This skill should be used when:

    • Solving optimization problems with one or multiple objectives
    • Finding Pareto-optimal solutions and analyzing trade-offs
    • Implementing evolutionary algorithms (GA, DE, PSO, NSGA-II/III)
    • Working with constrained optimization problems
    • Benchmarking algorithms on standard test problems (ZDT, DTLZ, WFG)
    • Customizing genetic operators (crossover, mutation, selection)
    • Visualizing high-dimensional optimization results
    • Making decisions from multiple competing solutions
    • Handling binary, discrete, continuous, or mixed-variable problems

    Core Concepts

    The Unified Interface

    Pymoo uses a consistent minimize() function for all optimization tasks:

    from pymoo.optimize import minimize
    
    result = minimize(
        problem,        # What to optimize
        algorithm,      # How to optimize
        termination,    # When to stop
        seed=1,
        verbose=True
    )
    

    Result object contains:

    • result.X: Decision variables of optimal solution(s)
    • result.F: Objective values of optimal solution(s)
    • result.G: Constraint violations (if constrained)
    • result.algorithm: Algorithm object with history

    Problem Definition Styles

    Pymoo supports three problem definition styles:

    • Problem: Vectorized — _evaluate receives a batch of solutions (matrix)
    • ElementwiseProblem: One solution per call — recommended for custom problems and parallel evaluation
    • FunctionalProblem: Define objectives and constraints as separate functions without subclassing

    Problem Types

    Single-objective: One objective to minimize/maximize Multi-objective: 2-3 conflicting objectives → Pareto front Many-objective: 4+ objectives → High-dimensional Pareto front Constrained: Objectives + inequality/equality constraints Mixed-variable: Continuous, integer, binary, and categorical variables in one problem Dynamic: Time-varying objectives or constraints

    Quick Start Workflows

    Nine runnable workflows are in references/quick_start_workflows.md:

    # Workflow Use when
    1 Single-objective optimization one objective, GA or DE
    2 Multi-objective (2-3 objectives) NSGA-II and a Pareto front
    3 Many-objective (4+ objectives) NSGA-III or reference-direction methods
    4 Custom problem definition subclassing Problem / ElementwiseProblem
    5 Constraint handling inequality and equality constraints
    6 Decision making from a Pareto front scalarization and MCDM selection
    7 Visualization scatter, PCP, radviz, and heatmap views
    8 Parallel evaluation threads, processes, or Dask for expensive objectives
    9 Mixed-variable optimization integer, binary, and categorical variables

    Algorithm Selection Guide

    Single-Objective Problems

    Algorithm Best For Key Features
    GA General-purpose Flexible, customizable operators
    DE Continuous optimization Good global search
    PSO Smooth landscapes Fast convergence
    CMA-ES Difficult/noisy problems Self-adapting

    Multi-Objective Problems (2-3 objectives)

    Algorithm Best For Key Features
    NSGA-II Standard benchmark Fast, reliable, well-tested
    SPEA2 Archive-based MOO Strength-based fitness, external archive
    R-NSGA-II Preference regions Reference point guidance
    MOEA/D Decomposable problems Scalarization approach

    Many-Objective Problems (4+ objectives)

    Algorithm Best For Key Features
    NSGA-III 4-15 objectives Reference direction-based
    RVEA Adaptive search Reference vector evolution
    AGE-MOEA Complex landscapes Adaptive geometry

    Constrained Problems

    Approach Algorithm When to Use
    Feasibility-first Any algorithm Large feasible region
    Specialized SRES, ISRES Heavy constraints
    Penalty GA + penalty Algorithm compatibility

    See: references/algorithms.md for comprehensive algorithm reference

    Benchmark Problems

    Quick problem access:

    from pymoo.problems import get_problem
    
    # Single-objective
    problem = get_problem("rastrigin", n_var=10)
    problem = get_problem("rosenbrock", n_var=10)
    
    # Multi-objective
    problem = get_problem("zdt1")        # Convex front
    problem = get_problem("zdt2")        # Non-convex front
    problem = get_problem("zdt3")        # Disconnected front
    
    # Many-objective
    problem = get_problem("dtlz2", n_obj=5, n_var=12)
    problem = get_problem("dtlz7", n_obj=4)
    

    See: references/problems.md for complete test problem reference

    Genetic Operator Customization

    Standard operator configuration:

    from pymoo.algorithms.soo.nonconvex.ga import GA
    from pymoo.operators.crossover.sbx import SBX
    from pymoo.operators.mutation.pm import PM
    
    algorithm = GA(
        pop_size=100,
        crossover=SBX(prob=0.9, eta=15),
        mutation=PM(eta=20),
        eliminate_duplicates=True
    )
    

    Operator selection by variable type:

    Continuous variables:

    • Crossover: SBX (Simulated Binary Crossover)
    • Mutation: PM (Polynomial Mutation)

    Binary variables:

    • Crossover: TwoPointCrossover, UniformCrossover
    • Mutation: BitflipMutation

    Permutations (TSP, scheduling):

    • Crossover: OrderCrossover (OX)
    • Mutation: InversionMutation

    See: references/operators.md for comprehensive operator reference

    Performance and Troubleshooting

    Common issues and solutions:

    Problem: Algorithm not converging

    • Increase population size
    • Increase number of generations
    • Check if problem is multimodal (try different algorithms)
    • Verify constraints are correctly formulated

    Problem: Poor Pareto front distribution

    • For NSGA-III: Adjust reference directions
    • Increase population size
    • Check for duplicate elimination
    • Verify problem scaling

    Problem: Few feasible solutions

    • Use constraint-as-objective approach
    • Apply repair operators
    • Try SRES/ISRES for constrained problems
    • Check constraint formulation (should be g <= 0)

    Problem: High computational cost

    • Reduce population size
    • Decrease number of generations
    • Use simpler operators
    • Enable parallel evaluation via elementwise_runner (see Workflow 8)

    Best practices:

    1. Normalize objectives when scales differ significantly
    2. Set random seed for reproducibility
    3. Save history to analyze convergence: save_history=True
    4. Visualize results to understand solution quality
    5. Compare with true Pareto front when available
    6. Use appropriate termination criteria (generations, evaluations, tolerance)
    7. Tune operator parameters for problem characteristics

    Resources

    This skill includes comprehensive reference documentation and executable examples:

    references/

    Detailed documentation for in-depth understanding:

    • algorithms.md: Complete algorithm reference with parameters, usage, and selection guidelines
    • problems.md: Benchmark test problems (ZDT, DTLZ, WFG) with characteristics
    • operators.md: Genetic operators (sampling, selection, crossover, mutation) with configuration
    • visualization.md: All visualization types with examples and selection guide
    • constraints_mcdm.md: Constraint handling techniques and multi-criteria decision making methods
    • parallelization.md: Parallel evaluation with StarmapParallelization and JoblibParallelization

    Search patterns for references:

    • Algorithm details: grep -r "NSGA-II\|NSGA-III\|MOEA/D" references/
    • Constraint methods: grep -r "Feasibility First\|Penalty\|Repair" references/
    • Visualization types: grep -r "Scatter\|PCP\|Petal" references/

    scripts/

    Executable examples demonstrating common workflows:

    • single_objective_example.py: Basic single-objective optimization with GA
    • multi_objective_example.py: Multi-objective optimization with NSGA-II, visualization
    • many_objective_example.py: Many-objective optimization with NSGA-III, reference directions
    • custom_problem_example.py: Defining custom problems (constrained and unconstrained)
    • decision_making_example.py: Multi-criteria decision making with different preferences

    Run examples:

    python3 scripts/single_objective_example.py
    python3 scripts/multi_objective_example.py
    python3 scripts/many_objective_example.py
    python3 scripts/custom_problem_example.py
    python3 scripts/decision_making_example.py
    

    Additional Notes

    Common patterns:

    • Use ElementwiseProblem for custom problems (or FunctionalProblem for function-based definitions)
    • Use vars dict with typed variables for mixed-variable problems
    • Constraints formulated as g(x) <= 0 and h(x) = 0
    • Reference directions required for NSGA-III
    • Normalize objectives before MCDM
    • Use appropriate termination: ('n_gen', N) or get_termination("f_tol", tol=0.001)

    Reproducido de K-Dense-AI/scientific-agent-skills bajo licencia Apache-2.0 license. Leer esta página en markdown.

    Archivos

    13 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere Python 3.10+ y pymoo (uv pip install pymoo); matplotlib, autograd y joblib son opcionales según la función usada.

    Necesita en el PATH:python3

    Detalles

    Creador
    K-Dense-AI
    Licencia
    Apache-2.0 license
    Recursos incluidos
    scripts en python + referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de K-Dense-AI/scientific-agent-skills

    Este repo incluye 163 skills. Si instalas uno, normalmente ya tienes los demás.

    Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas.

    Costo de contexto al activarse
    3.7k tok
    Tamaño del paquete
    21 archivos
    Última actualización
    hace 28 días
    investigacion

    Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver).

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    12 archivos
    Última actualización
    hace 15 días
    investigacion

    Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual.

    Costo de contexto al activarse
    5.1k tok
    Tamaño del paquete
    24 archivos
    Última actualización
    hace 15 días
    documentos

    Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo.

    Costo de contexto al activarse
    2.7k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 15 días
    diseno ui

    Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras.

    Costo de contexto al activarse
    3.9k tok
    Tamaño del paquete
    17 archivos
    Última actualización
    hace 15 días
    documentos

    Crea diagramas científicos de calidad de publicación con la IA Nano Banana 2 y refinamiento iterativo inteligente. Gemini 3.6 Flash revisa la calidad y solo regenera si está por debajo del umbral de tu tipo de documento.

    Costo de contexto al activarse
    4.1k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 15 días
    diseno ui

    Skills relacionados

    Aeon

    34.8k

    Para tareas de machine learning con series temporales: clasificación, regresión, clustering, forecasting, detección de anomalías, segmentación y búsqueda de similitud, con APIs compatibles con scikit-learn.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    12 archivos
    Última actualización
    el mes pasado
    datos analitica

    Anndata

    34.8k

    Estructura de datos para matrices anotadas en análisis de célula única. Úsala con archivos .h5ad o el ecosistema scverse; para análisis usa scanpy, para modelos probabilísticos scvi-tools, para escala poblacional cellxgene-census.

    Costo de contexto al activarse
    3k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    el mes pasado
    datos analitica

    Infiere redes de regulación génica (GRN) a partir de datos de expresión génica con algoritmos escalables (GRNBoost2, GENIE3), para transcriptómica bulk o de célula única, con computación distribuida.

    Costo de contexto al activarse
    2.1k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    el mes pasado
    datos analitica