我目前正在使用 Pyomo 和 IPOPT 作为非线性约束优化问题的求解器。这个问题的维度为408。当我运行优化时,有时会出现以下错误:
**恢复阶段收敛到原始不可行性较小的点
退出:恢复失败!
ValueError:无法加载状态错误的 SolverResults 对象:错误**
每次优化此特定问题时,不会出现此错误。我有时会收到此错误,有时则不会。
我在互联网上读到,这表明恢复阶段未能找到原始问题的过滤线搜索可接受的可行点。如果问题高度退化、不满足约束条件,或者 NLP 代码提供了不正确的导数信息,则可能会发生这种情况。因此,Pyomo 停止优化并退出。
此外,我意识到如果我优化较低维度的问题,就不会出现此错误。
你知道我该如何解决 Pyomo 的这个问题吗?
提前谢谢您!
只是为了快速发表评论,这似乎与 Pyomo 无关。
但是,如果即使解决相同的问题也并不总是出现错误,那就很奇怪了。研究一下配方可能会有所帮助。或者,您也可以尝试除默认解算器之外的不同线性解算器(例如 Mumps)。