Обработчик сигнала оптимизатора IPOPT TypeError - PullRequest
0 голосов
/ 16 июня 2020

Я получаю следующую ошибку при использовании IPOPT из pyOptSparse в OpenMDAO. Я следил за документацией pyoptsparse, чтобы установить pyOptSparse с IPOPT, что прошло очень гладко. Оптимизатор SLSQP работает отлично, но IPOPT выдает эту ошибку. Спасибо 1

1 Ответ

0 голосов
/ 16 июня 2020

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

Драйвер pyoptsparse при использовании с SNOPT поддерживает «чистое завершение», что означает, что вы можете отправить команду use «kill -SIGUSR1 pid "с идентификатором вашего процесса запуска для завершения, и он все равно очистится и даст сводку. IPOPT не поддерживает это, как и SLSQP. Обычно у нас нет проблем с SLSQP или IPOPT, но, возможно, некоторая комбинация вашей ОС и IPOPT вызывает сбой.

В качестве обходного пути попробуйте следующие настройки:

 prob.driver.options['user_terminate_signal'] = None

Это должно отключить любой код кэширования и очистки сигналов. Ошибка, возникшая после завершения оптимизации, так что вы почти готовы.

...