为什么 IPOPT 在终止状态为局部不可行、数值错误或迭代限制后仍然给出解决方案?

Why does IPOPT still give a solution after a termination status of local infeasibility, numerical error or iteration limit?

提问人:Hean Wooi 提问时间:11/11/2023 更新时间:11/11/2023 访问量:25

问:

我正在 IPOPT 中解决 NLP,然后保存解决方案。我注意到,即使我得到一个糟糕的终止状态,即本地不可行性、数值错误或迭代限制,IPOPT仍然会返回一个解决方案。这些解决方案有用吗?

有关更多上下文,以下是我的解决方案的外观,另存为 json:

{“solve_time”:5315.037714958191,“optimizer”:“Ipopt”,“termination_status”:“NUMERICAL_ERROR”,“dual_status”:“UNKNOWN_RESULT_STATUS”,“primal_status”:“UNKNOWN_RESULT_STATUS”,“objective”:2.386034577709679e7,“solution”:{ x =
... 很长的解决方案 }

Python Julia 数学 非线性优化 ipopt

评论

0赞 Antonello 11/11/2023
我认为在 ipopt 论坛中最好问这个问题:github.com/coin-or/Ipopt/discussions
0赞 Erwin Kalvelagen 11/24/2023
为什么不呢?我经常喜欢寻找解决方案,即使不是最优的。它可以提供有关问题原因和问题严重程度的线索。在我看来,求解器应该提供与迄今为止最佳解决方案相对应的解决方案。

答: 暂无答案