技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
pymoo【数据与研究】Use pymoo for single-, multi-, and many-objective optimization, custom problems, evolutionary operators, performance tuning, and Pareto analysis.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this repo skill when a task involves pymoo, evolutionary computation, single-objective optimization, multi-objective or many-objective optimization, Pareto fronts, custom optimization problems, genetic operators, reference directions, constraint handling, performance indicators, or pymoo visualization.
pymoo is a Python package for optimization workflows. It minimizes all
objectives, represents inequality constraints as G <= 0, and centers common
usage around a Problem, an Algorithm, a termination criterion, and
pymoo.optimize.minimize.
Public install path:
python -m pip install -U pymoo
Minimal import/runtime check:
python - <<'PY'
from pymoo.algorithms.moo.nsga2 import NSGA2
from pymoo.optimize import minimize
from pymoo.problems import get_problem
res = minimize(get_problem("zdt1"), NSGA2(pop_size=20), ("n_gen", 3), seed=1, verbose=False)
print(res.F.shape, res.algorithm.evaluator.n_eval)
PY
For a bundled self-check after installing pymoo, run scripts/pymoo_quickstart_smoke.py.
| User task signal | Read |
|---|---|
Run NSGA-II/NSGA-III/GA/DE/PSO/MOEA/D, choose an algorithm, set termination, use minimize, inspect Result, callbacks, history, ask-and-tell, external evaluation loop | optimization-workflows |
Define a custom problem, choose Problem vs ElementwiseProblem vs FunctionalProblem, use get_problem, fix F/G/H shapes, convert maximization or constraints, handle bounds/Pareto fronts | problem-modeling |
| Configure real/integer/binary/choice variables, mixed-variable search, sampling/crossover/mutation/repair, duplicate elimination, initial populations, custom object/permutation operators, hyperparameter helper APIs | operators-and-variables |
| Speed up slow evaluations, vectorize objectives, add thread/process starmap, use optional joblib/dask/ray, check Cython compiled extensions, reason about optional GPU/backend paths, control history/progress overhead | performance-and-parallelization |
| Compute hypervolume, GD/IGD/epsilon/KKTPM/R-metric, generate reference directions, use decomposition or MCDM, analyze convergence/history, save headless Pareto plots | analysis-and-visualization |
out["G"] <= 0;
equality residuals belong in out["H"] with n_eq_constr.problem.evaluate(...) samples
before tuning algorithms.("n_gen", 50) or
("n_evals", 5000) for reproducible scripts.seed=... and control randomness inside custom
objective code, especially under parallel evaluation.show().NSGA2/ZDT1 run.