用途:pymoo 是 Python 优化框架,重点解决多目标优化问题,也支持单目标优化。适用于存在冲突目标、需要寻找权衡解(Pareto 前沿)的工程设计与决策场景。
主要能力:提供统一 minimize() 接口;内置 NSGA-II、NSGA-III、MOEA/D、R-NSGA-II、RVEA、AGE-MOEA 等多目标算法,以及 GA、DE、PSO、CMA-ES 等单目标算法;支持约束优化(不等式 g(x)<=0、等式 h(x)=0);提供 ZDT、DTLZ、WFG 等基准问题;可自定义交叉、变异、选择等遗传算子;支持散点图、3D 散点、平行坐标图、花瓣图等可视化;提供伪权重、妥协规划、膝点、超体积贡献等 MCDM 方法。
使用方式:安装 pip install pymoo。通过继承 ElementwiseProblem 定义自定义问题,实现 _evaluate 方法;用 minimize(problem, algorithm, termination, seed=1) 运行;结果对象含 result.X(决策变量)、result.F(目标值)、result.G(约束违反)。NSGA-III 需先用 get_reference_directions 生成参考方向。约束问题默认采用可行性优先,也可用 ConstraintsAsPenalty 或 ConstraintsAsObjective 转换。
适用场景:单目标/多目标/多目标(4 个以上)优化、约束优化、算法基准测试、遗传算子定制、高维结果可视化、从 Pareto 前沿做多准则决策,支持连续、二进制、离散及混合变量问题。
限制:资料未提供收费、价格、平台支持范围等信息;依赖 NumPy、SciPy、matplotlib,autograd 为可选;基于 pymoo 0.6.x。