Я хотел бы предоставить некоторые параметры COBYLA для ввода problem.driver. Я реализовал несколько строк в двух методах в драйвере:
~ / OpenMDAO / openmdao / драйверы / scipy_optimizer.py
(см. ниже)
Несмотря на то, что это работает так, как должно (например, prob.driver.options ['initstep'] = 3.), я не уверен, должна ли такая функция присутствовать или это правильный способ сделать это. Поскольку я вижу примечание в desc = "Для подробного управления используйте специфичные для решателя опции."
Как должны решаться вопросы такого рода разработки / простых функций?
class ScipyOptimizeDriver(Driver):
...
...
...
...
...
def _declare_options(self):
self.options.declare('initstep', default=1., types=float,
desc='COBYLA: Reasonable initial changes to the variables')
def run(self):
...
...
...
if opt == 'COBYLA':
self.opt_settings['rhobeg'] = self.options['initstep']