主要问题
在 Pyomo 中求解 NLP 时,使用 IPOPT 作为求解器,我如何告诉 IPOPT 目标函数和/或约束的梯度是多少?我必须传递一个返回目标值的可调用函数——我同样可以传递一个评估梯度的可调用函数吗?
次要问题
Pyomo+IPOPT 默认如何处理这个问题?当我用 Pyomo+IPOPT 解决一个简单的 NLP 时,IPOPT 输出的一部分包括“客观梯度评估的数量”......但是它是如何评估梯度的?数值上具有有限差异,还是什么?
我将 Pyomo 5.6 与 Python 3.6 和 IPOPT 3.7 一起使用。