Как лучше всего сказать драйверу или решателю openMDAO, что невозможно оценить модель в какой-то момент?
Иногда в модели есть точки, в которых невозможно оценить целевую функцию, неизвестные или постоянные. Какой лучший способ сказать openMDAO, что это недопустимая точка?
Установка неизвестных и резидентов в Nan, Inf или каким-либо другим способом?
1 ответ
OpenMDAO имеет специальный класс ошибок, AnalysisError, специально для этой цели. Вы должны выдавать ошибку анализа каждый раз, когда ваш анализ не может сходиться или вычислять правильные результаты.
Все алгоритмы линейного поиска ищут это и возвращаются, когда видят это. Некоторые из оптимизаторов на основе градиента также могут корректно обрабатывать это (например, SLSQP).