IPOPT 优化器信号处理程序 TypeError

IPOPT optimizer signal handler TypeError

在 OpenMDAO 中使用 pyOptSparse 的 IPOPT 时出现以下错误。 我按照 pyoptsparse 文档使用 IPOPT 安装 pyOptSparse,非常顺利。 SLSQP 优化器工作完美,但 IPOPT 给出了这个错误。 谢谢 1

用户终止信号似乎出了问题。不过,要进行调查,如果您能提供 rfalck 要求的版本信息,将会有所帮助。

pyoptsparse 驱动程序,当与 SNOPT 一起使用时,支持 "clean termination" 这意味着您可以使用 "kill -SIGUSR1 pid" 和您的 运行 进程 ID 来终止,它仍然会清理和给个总结。 IPOPT 不支持这个,SLSQP 也不支持。我们通常对 SLSQP 或 IPOPT 没有任何问题,但也许您的 OS 和 IPOPT 的某种组合导致了问题。

作为解决方法,请尝试以下设置:

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

这应该会关闭任何信号缓存和清理代码。你得到的错误是在优化完成后发生的,所以你已经差不多了。