我在openmdao\drivers\tests\test_pyoptsparse_driver.py中发现了一些有趣的代码,它们似乎引用了NSGA-II。当我尝试运行测试代码时,我注意到这并没有实现。
import sys
import copy
import unittest
sys.path.insert(0,r"[SOMEPATH Here]\GitHub\OpenMDAO")
from distutils.version import LooseVersion
import numpy as np
import openmdao.api as om
from openmdao.test_suite.components.paraboloid import Paraboloid
from openmdao.test_suite.components.expl_comp_array import TestExplCompArrayDense
from openmdao.test_suite.components.sellar import SellarDerivativesGrouped
# from openmdao.utils.assert_utils import assert_near_equal # NOTE: THIS FUNCTION ISN'T AVAILABLE IN THE PIP INSTALL
from openmdao.utils.general_utils import set_pyoptsparse_opt, run_driver
from openmdao.utils.testing_utils import use_tempdirs
from openmdao.utils.mpi import MPI
_, local_opt = set_pyoptsparse_opt('NSGA2')
if local_opt != 'NSGA2':
raise unittest.SkipTest("pyoptsparse is not providing NSGA2") # CODE BASICALLY FAILS HERE 我看到的错误是:"pyoptsparse没有提供NSGA2“
如果NSGA 2不可用,我可以添加它吗?
发布于 2020-04-09 02:27:11
在编写该测试时,使用pyoptsparse编译NSGA-II有点困难。我认为它仍然存在一些挑战,但现在它基本上是有效的。从NSGAV3.0开始,我们没有在内部使用OpenMDAO -II。但是,如果你让它工作,请随时发送带有更新测试的公关!
https://stackoverflow.com/questions/61107361
复制相似问题