-
Notifications
You must be signed in to change notification settings - Fork 73
Description
I am implementing a problem where symbolic calculation of the hessian is prohibitively difficult. Luckily Ipopt has an option to approximate the Hessian of the Lagrangian by a limited-memory quasi-Newton method (L-BFGS). This feature can be toggled by setting the option hessian_approximation to the value "limited-memory". See the IPOPT documentation below.
The question is thus, how can hessian_approximation be set to limited-memory using pyipopt?
As alluded to in the HS071 example would it be something like:
nlp.str_option('hessian_approximation', 'limited-memory')
A related question on the HS071 example, eval_h is not passed to pyipopt.create even though it is one of the required problem functions per section 3.2 of the introduction to IPOPT document if limited-memory hessian_approximation is not enabled. Does this imply that hessian approximation defaults to limited-memory if a function for calculating the hessian is not provided?
Thank you for your time.
QUASI_NEWTON Hessian Approximation Option
https://coin-or.github.io/Ipopt/SPECIALS.html#QUASI_NEWTON
HS071 Example
https://github.com/xuy/pyipopt/blob/master/examples/hs071.py#L111
Introduction to IPOPT
https://projects.coin-or.org/Ipopt/browser/stable/3.10/Ipopt/doc/documentation.pdf?format=raw