Обработка ограничений, целочисленная и параллельная оптимизация - PullRequest
0 голосов
/ 06 июня 2018

Недавно я был назначен на проект, в котором будет разработан инструмент оптимизации на python.

Различные точки поиска в Интернете - множество библиотек / платформ, которые имеют свои плюсы и минусы.Насколько я посмотрел с существующей структурой openmdao, у нас не может быть оптимизатора, который может выполнять обработку ограничений, смешанную целочисленную параллельную оптимизацию.Здесь с параллелью подразумевается, что каждая итерация должна быть распараллелена, как в GADriver.Я хотел бы спросить совета у разработчиков, которые рассматривают будущие возможные улучшения openmdao:

  • Хорошая идея - написать обертку для существующего оптимизатора, который может обработать вышеупомянутый запросили следует полностью отказаться от openmdao, так как openmdao не может быть самой сильной платформой в этой конкретной проблеме?

  • , если написание оболочки является хорошей идеей, я предполагаю, что нужно искать процедуры драйвера вopenmdao 2.2.X github.Есть ли у вас какие-либо советы для оптимизатора типа внутри Python (платного или бесплатного), который может быть легко совместим с openmdao.

1 Ответ

0 голосов
/ 06 июня 2018

Существует документ AIAA под названием "Проектирование самолетов нового поколения с учетом операций и экономики авиакомпаний" , в котором описываются современные исследования проблем смешанного целочисленного программирования.В этом подходе использовался гибридный метод, который использует преимущества эффективных возможностей OpenMDAO на основе градиента для обработки большего числа непрерывных проектных переменных.

Как правило, нет ограничений на смешанное целочисленное программирование.Вам просто нужно написать свой собственный драйвер, чтобы справиться с этим.Эти алгоритмы сложны, но SimpleGADriver - неплохое место для начала, чтобы посмотреть, как запустить модель параллельно.

...