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