我已经有了我想要优化的功能的组件。但是,OpenMDAO Alpha 1.0 不包含(据我所知)基因优化器的包装器。我自己写了,现在想把它变成一个驱动程序。我在这里有点迷路,我可以寻求任何指导吗?
谢谢!
我已经有了我想要优化的功能的组件。但是,OpenMDAO Alpha 1.0 不包含(据我所知)基因优化器的包装器。我自己写了,现在想把它变成一个驱动程序。我在这里有点迷路,我可以寻求任何指导吗?
谢谢!
您说得对,OpenMDAO 还没有遗传优化器。您可以使用 pyopt 库中的 NSGAII,但既然您有一个想要使用的,编写自己的驱动程序应该相当简单。最简单的例子是我们的优化器的scipy 包装器。您的包装器必须看起来像这样:
from openmdao.core.driver import Driver
class GeneticOptimizer(Driver):
def __init__(self):
super(GeneticOptimizer, self).__init__()
#some stuff to setup your genetic optimizer here
def run(self, problem):
"""function called to kick off the optimization
Args
----
problem : `Problem`
Our parent `Problem`.
"""
#NOTE: you'll use these functions to build your optimizer
#to execute the model
problem.root.solve_nonlinear()
#function to set values to the design variables
self.set_param(var_name, value)