我是 OpenMDAO 框架的新手,目前使用的是 1.5.0 版本。我有兴趣使用相同的方法为 Zitzler-Deb-Thiele 的函数生成帕累托前沿。
我在这里找到了旧版本的解决方案,它使用“pareto_filter”,但无法在新版本中找到相同的解决方案。那么,如何在 1.x 版本中设置多目标问题来生成帕累托前沿?
谢谢大家。
您应该可以直接在 OpenMDAO 中从 pyopt-sparse 使用 NSGA2。您只需安装pyopt-sparse包,OpenMDAO已经内置了一个驱动程序,可以让您使用它。然后你选择 NSGA2 作为你的优化器。
唯一的问题是,如果您查看source,该驱动程序当前被标记为单目标。因此,您应该将该行更改为 True,以便您可以指定多个目标。
我们还没有通过 pyopt-sparse 测试 NSGA2。所以它可能需要一点点修改才能让它工作。如果您希望我们使用常规的pyopt包,您应该能够从我们当前的 pyopt-sparse 包装器开始,并进行一些小的更改以使其工作。