多 objective 概率的帕累托边界生成。使用 openMDAO 1.x?

Pareto Frontier generation for multi-objective prob. using openMDAO 1.x?

我是OpenMDAO框架的新手,目前使用的是1.5.0版本。我对使用相同的 Zitzler–Deb–Thiele 函数生成帕累托前沿很感兴趣。

我找到了旧版本 here 的解决方案,它使用 'pareto_filter' 但无法在新版本中找到相同的解决方案。 那么,如何在 1.x 版本中设置多 objective 问题以生成帕累托前沿?

感谢大家。

您应该能够直接在 OpenMDAO 中从 pyopt-sparse 使用 NSGA2。您只需安装已经内置的 pyopt-sparse package and OpenMDAO has a driver 即可让您使用它。然后你选择 NSGA2 作为你的优化器。

唯一的问题是,如果您查看 source,该驱动程序当前被标记为单一 objective。所以您应该将该行更改为 True,以便您可以指定多个 objective。

我们还没有通过 pyopt-sparse 测试 NSGA2。因此,可能需要一些技巧才能使其正常工作。如果您更喜欢我们的常规 pyopt 包,您应该能够从我们当前的 pyopt-sparse 包装器开始,并进行一些小的更改以使其正常工作。