In ModelPredictiveControl.jl, I build the nonlinear optimization problem of NonLinMPC
using multiple user-defined operators in JuMP.jl. One operator is for the objective function, the other operators appear in the nonlinear equality and inequality constraint functions.
My question is: without relying on the experimental Ipopt._VectorNonlinearOracle
feature, is it possible to provide an exact Hessian for only one user-defined operator but not for the others?
I would like to allow providing an exact hessian for the objective function, but not for the nonlinear constraints (since it’s a bit more tricky, needing the Lagragian to be efficient and all). I tried to implement it, but the provided Hessian callback for my objective function was never called. I figured out that since it needs an LBFGS approximation for the nonlinear constraint, JuMP probably ignores my callback and use the approximation for the whole NLP problem.