pymoo
Faz seu agente resolver problemas de otimização com múltiplos objetivos. É bom para encontrar as melhores soluções em engenharia e pesquisa.
O que ela faz
É uma ferramenta para encontrar as melhores soluções para problemas complexos com vários objetivos que podem entrar em conflito. Ela ajuda a descobrir os 'melhores compromissos' possíveis.
Quando usar
- ✓Quando você tem um problema com múltiplos objetivos que precisam ser otimizados ao mesmo tempo.
- ✓Ao tentar encontrar o melhor equilíbrio entre metas conflitantes.
- ✓Ao analisar diferentes opções para tomar uma decisão informada.
Exemplo do que pedir para a IA
“Quero otimizar o design de um carro para ter o menor consumo de combustível e o menor custo de produção, quais são as melhores opções?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você define o problema, escolhe um método de otimização (como NSGA-II) e a ferramenta busca as melhores soluções. Ela retorna as soluções encontradas e seus resultados.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add K-Dense-AI/scientific-agent-skills --skill pymooOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/pymoo/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Pymoo - Otimização Multiobjetivo em Python
Visão Geral
Pymoo é um framework abrangente em Python para otimização com ênfase em problemas multiobjetivo. Resolva otimizações mono e multiobjetivo usando algoritmos de ponta (NSGA-II/III, MOEA/D, SPEA2), problemas de benchmark (ZDT, DTLZ), operadores genéticos customizáveis e métodos de tomada de decisão multicritério. Destaca-se em encontrar soluções de trade-off (frentes de Pareto) para problemas com objetivos conflitantes. Foco na versão estável pymoo 0.6.2, revisada em 2026-10-01 contra a documentação oficial atual e execuções nativas de exemplos.
Instalação
uv pip install "pymoo==0.6.2"
Para ambientes reproduzíveis, fixe uma versão: uv pip install "pymoo==0.6.2".
Dependências: O wheel 0.6.2 lançado requer NumPy, SciPy, moocore, autograd, cma, matplotlib, alive_progress e Deprecated. NumPy 2.x é suportado. A descrição atual da instalação menciona algumas dependências como opcionais; os metadados do pacote lançado governam a instalação. Joblib, Optuna e dill são dependências separadas para as receitas correspondentes.
Documentação: https://pymoo.org/ — Índice amigável para LLM: https://pymoo.org/llms.txt
Quando Usar Esta Habilidade
Esta habilidade deve ser usada quando:
- Resolver problemas de otimização com um ou múltiplos objetivos
- Encontrar soluções ótimas de Pareto e analisar trade-offs
- Implementar algoritmos evolutivos (GA, DE, PSO, NSGA-II/III)
- Trabalhar com problemas de otimização com restrições
- Fazer benchmark de algoritmos em problemas de teste padrão (ZDT, DTLZ, WFG)
- Customizar operadores genéticos (crossover, mutação, seleção)
- Visualizar resultados de otimização de alta dimensionalidade
- Tomar decisões a partir de múltiplas soluções concorrentes
- Lidar com problemas de variáveis binárias, discretas, contínuas ou mistas
Conceitos Principais
A Interface Unificada
Pymoo usa a função minimize() consistente para todas as tarefas de otimização:
from pymoo.optimize import minimize
result = minimize(
problem, # What to optimize
algorithm, # How to optimize
termination, # When to stop
seed=1,
verbose=True
)
O objeto de resultado contém:
result.X: Variáveis de decisão da(s) solução(ões) ótima(s)result.F: Valores dos objetivos da(s) solução(ões) ótima(s)result.G: Valores brutos das desigualdades (g(x) <= 0é factível)result.H: Resíduos brutos das igualdadesresult.CV: Violação agregada de restrições sob as tolerâncias configuradasresult.algorithm: Estado final do algoritmo; o histórico é retido quando solicitado
Verifique a factibilidade antes de plotar ou selecionar: Se nenhuma solução factível foi encontrada, result.X e result.F podem ser None. Com return_least_infeasible=True, um candidato retornado ainda pode violar restrições; reporte sua CV e resíduos em vez de chamá-lo de factível. Reavalie os candidatos escolhidos contra as restrições físicas originais após qualquer normalização ou reparo. Veja o contrato de resultado.
Estilos de Definição de Problema
Pymoo suporta três estilos de definição de problema:
Problem: Vetorizado —_evaluaterecebe um lote de soluções (matriz)ElementwiseProblem: Uma solução por chamada — recomendado para problemas customizados e avaliação paralelaFunctionalProblem: Define objetivos e restrições como funções separadas sem herdar de classes
Tipos de Problema
Mono-objetivo: Um objetivo a minimizar; negue um objetivo de maximização e registre a conversão Multiobjetivo: 2-3 objetivos conflitantes → Frente de Pareto Muitos-objetivos: 4+ objetivos → Frente de Pareto de alta dimensionalidade Com Restrições: Objetivos + restrições de desigualdade/igualdade Variáveis Misturadas: Variáveis contínuas, inteiras, binárias e categóricas em um único problema Dinâmico: Objetivos ou restrições que variam com o tempo
Fluxos de Trabalho de Início Rápido
Nove fluxos de trabalho e trechos de adaptação dependentes do contexto estão em references/quick_start_workflows.md:
| # | Fluxo de Trabalho | Usar quando |
|---|---|---|
| 1 | Otimização mono-objetivo | um objetivo, GA ou DE |
| 2 | Multiobjetivo (2-3 objetivos) | NSGA-II e uma frente de Pareto |
| 3 | Muitos-objetivos (4+ objetivos) | NSGA-III ou métodos de direção de referência |
| 4 | Definição de problema customizado | herdar de Problem / ElementwiseProblem |
| 5 | Tratamento de restrições | restrições de desigualdade e igualdade |
| 6 | Tomada de decisão a partir de uma frente de Pareto | escalonamento e seleção MCDM |
…
Perguntas frequentes
O que é uma 'solução de compromisso'?
É uma solução que oferece um bom equilíbrio entre objetivos conflitantes. Por exemplo, um carro pode não ter o menor consumo de combustível possível, mas oferece um bom equilíbrio entre consumo e custo.
O que é uma 'frente de Pareto'?
É um conjunto de soluções onde você não pode melhorar um objetivo sem piorar outro. Representa todos os melhores compromissos possíveis.
Quais tipos de problemas essa ferramenta pode resolver?
Ela pode resolver problemas com um ou vários objetivos, com ou sem restrições, e até mesmo problemas com diferentes tipos de variáveis (números inteiros, binários, etc.).
Detalhes
Descrição original do autor
Solves and validates single-, multi-, and many-objective optimization with pymoo, including NSGA-II, NSGA-III, MOEA/D, constraints, Pareto approximations, reference directions, and ZDT/DTLZ benchmarks for engineering and research problems.
Popularidade
- Estrelas no GitHub
- 51 mil
- Posição no ranking
- #1952
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
13c-metabolic-flux
Estima fluxos metabólicos usando dados de rastreamento de isótopos de carbono-13. É útil para analisar o metabolismo celular e vias bioquímicas.
K-Dense-AI/scientific-agent-skills
adaptyv
Projeta experimentos de caracterização de proteínas usando a API Adaptyv. Ele ajuda a estimar custos, enviar sequências e monitorar resultados de laboratório.
K-Dense-AI/scientific-agent-skills
aeon
Realiza tarefas de aprendizado de máquina em séries temporais. É útil para classificar, prever, detectar anomalias e encontrar padrões em dados sequenciais.
K-Dense-AI/scientific-agent-skills
alphagenome
Consulta efeitos genômicos pré-calculados para variantes genéticas. Ele fornece pontuações e explicações para entender o impacto das variantes no genoma.
K-Dense-AI/scientific-agent-skills
Skills parecidas
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem