pymoo 是一个以多目标优化为重点的 Python 优化框架,通过统一的 minimize() 接口调用问题、算法与终止条件,结果对象提供 result.X(决策变量)、result.F(目标值)、result.G(约束违反)等。
主要能力:支持单目标、多目标(2-3 个目标,Pareto 前沿)、多目标(4+ 目标)及带等式/不等式约束的问题;内置 GA、DE、PSO、CMA-ES、NSGA-II、NSGA-III、MOEA/D、RVEA 等算法;提供 ZDT、DTLZ、WFG 等基准问题(get_problem),支持自定义遗传算子(如 SBX 交叉、PM 变异)以及二元、离散、连续和混合变量。
使用方式:通过继承 ElementwiseProblem 定义问题并在 _evaluate 中写入 out["F"]、out["G"]、out["H"];约束需写成 g(x) <= 0 与 h(x) = 0;NSGA-III 需先用 get_reference_directions 生成参考方向;结果可用 Scatter、PCP、Petal 等可视化,并可用 PseudoWeights 等 MCDM 方法从 Pareto 前沿选解。
安装:uv pip install pymoo(依赖 NumPy、SciPy、matplotlib,autograd 可选)。本技能基于 pymoo 0.6.x,文档见 https://pymoo.org/。
限制:资料未提供具体收费、性能基准、并行加速的保证或平台支持细节;部分行为依赖问题规模与参数设置。