进化算法里的 NSGA-2,挺适合搞多目标优化的,尤其你不想死磕函数公式的时候,效果还不错。它不需要目标函数规整,像线性、连续、可导啥的,统统不强求,思路灵活,效率也蛮高的。

NSGA-2的思路是群体进化,每一代都是全体优化,目标是搞定一堆解里最优的那一批,也就是 Pareto 前沿。你不需要设定复杂的规则,它自己跑一会儿就能给你一些还挺靠谱的结果。

推荐几个资源,比较全:

代码风格方面,大多数实现都还蛮清晰的,paretoFront()dominates()这些函数基本都能找到,有些还加了可视化模块,调试起来更直观。

如果你正在搞项目里有多个目标要权衡,比如性能 vs 成本、准确率 vs 时间啥的,用 NSGA-2 会比写死的优化规则靠谱不少。对了,想快速跑通流程,建议你先试下Matlab版本,省事。