用途:pymoo 是 Python 优化框架,重点解决单目标与多目标优化问题,尤其擅长在目标相互冲突时寻找权衡解(Pareto 前沿),可用于工程设计等场景。
主要能力:内置 NSGA-II、NSGA-III、MOEA/D、GA、DE、PSO、CMA-ES 等算法;支持单目标、2-3 目标、4 个以上多目标及约束优化;提供 ZDT、DTLZ、WFG 等基准问题;可自定义交叉、变异、选择等遗传算子;支持连续、二进制、离散及混合变量;提供散点图、3D 散点、平行坐标图、花瓣图等可视化,以及伪权重等 MCDM 决策方法。
使用方式:统一通过 minimize(problem, algorithm, termination, seed=1, verbose=True) 调用,结果对象含 result.X(决策变量)、result.F(目标值)、result.G(约束违反)等。自定义问题需继承 ElementwiseProblem,实现 _evaluate,约束按 g(x)<=0 与 h(x)=0 表达。NSGA-III 需用 get_reference_directions 生成参考方向。安装:uv pip install pymoo。依赖 NumPy、SciPy、matplotlib,autograd 可选。
适用场景:多目标权衡分析、约束优化、算法基准测试、遗传算子定制、高维结果可视化与多准则决策。
限制:资料未提供收费、价格、平台支持范围及具体性能数据;版本基于 pymoo 0.6.x,文档见 https://pymoo.org/。