Имеет ли смысл использовать оптимизатор без градиента в рамках openmdao?

Правильно ли я понимаю, что: использование оптимизатора без градиента оборачивает всю проблему и рассматривает ее как черный ящик (даже если проблема имеет несколько групп/компонентов, прикрепленных к внутренним решателям с градиентами и т. д.).

Тогда фактические возможности openmdao не используются должным образом, и преимущество openmdao сводится к легкому отслеживанию ваших вычислений с помощью небольших процедур и т. д.


person SangamJr    schedule 23.10.2018    source источник


Ответы (1)


Хотя верно то, что самой уникальной и мощной функцией OpenMDAO является его возможность автоматических производных, IMO это не означает, что она полезна только в контексте оптимизации на основе градиента. Фреймворк предлагает несколько других функций, полезных независимо от того, какой оптимизатор вы выбрали. Например:

  • поддержка распараллеливания
  • библиотека мощных нелинейных решателей
  • модульная конструкция модели

Конечно, вы могли бы вручную закодировать большую сложную модель без OpenMDAO, а затем обернуть ее оптимизатором без градиента, но я бы сказал, что в конечном итоге вы в конечном итоге проделаете немного больше работы в долгосрочной перспективе. Использование фреймворка обеспечивает организацию и структуру вашей модели, которая окупается в долгосрочной перспективе.

person Justin Gray    schedule 23.10.2018