用途:pymoo 是 Python 优化框架,重点解决单目标与多目标优化问题,尤其擅长处理目标相互冲突、需要寻找权衡解(帕累托前沿)的场景,可用于工程设计等领域的优化。
主要能力:提供统一 minimize() 接口;内置 NSGA-II、NSGA-III、MOEA/D、GA、DE、PSO、CMA-ES、SRES 等算法;支持单目标、多目标(2-3 个)、多目标(4 个以上)及带约束问题;提供 ZDT、DTLZ、WFG 等基准问题;支持自定义问题、遗传算子(交叉、变异、选择)定制、约束处理(可行性优先、惩罚法、约束转目标等)、多准则决策(伪权重、折中规划、膝点、超体积贡献)以及散点图、3D 散点、平行坐标图、花瓣图等可视化。
使用方式:安装命令为 uv pip install pymoo,依赖 NumPy、SciPy、matplotlib,autograd 可选。典型用法是定义或选取问题,选择算法与终止条件,调用 minimize(problem, algorithm, termination, seed=1, verbose=True),从 result.X、result.F、result.G 获取解、目标值与约束违反。自定义问题需继承 ElementwiseProblem,实现 _evaluate,约束写成 g(x) <= 0 与 h(x) = 0;NSGA-III 需提供参考方向。
适用场景:工程设计与多目标权衡分析、算法基准测试、约束优化、离散或混合变量问题、从帕累托前沿中做决策。
限制:资料基于 pymoo 0.6.x;未提供具体收费、价格或平台信息;性能与收敛效果取决于参数设置,需按问题调整种群规模、代数与算子参数。