1

我已经有了我想要优化的功能的组件。但是,OpenMDAO Alpha 1.0 不包含(据我所知)基因优化器的包装器。我自己写了,现在想把它变成一个驱动程序。我在这里有点迷路,我可以寻求任何指导吗?

谢谢!

4

1 回答 1

3

您说得对,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)
于 2015-08-11T12:32:11.847 回答