Fmincon Interior Point Method HessianMultiplyFcn needs Jacobians from Constraint Evaluation
2 views (last 30 days)
Show older comments
Benjamin Hezrony
on 9 Mar 2023
Commented: Benjamin Hezrony
on 6 Oct 2023
Hello all, I am trying to optimize a nonlinear inequality constrained problem. I have a single code that analytically solves for the objective and constraint values at the current design variable set, along with Jacobians and parts of the Hessian. The issue is that I have a sparse component of the Hessian and a dense component that can only be represented as the self outer product of a matrix with three dozen columns and millions of rows (I.e., the dense component of the Hessian would be millions of rows by millions of columns). I know that I can get around this by using the HessianMultiplyFcn with the interior point method in fmincon. However, here lies the issue: each column of the matrix whose self product yields the dense part of the Hessian is a Jacobian multiplied by a combination of Lagrange Multipliers (which are easy to obtain with HessianMultiplyFcn). I cannot recompute the Hessian, Jacobian, and objective/constraint values in separate functions. They must all be done in the same function to maintain computational efficiency (as these are huge sets of design variables, Jacobians, and Hessians, and their computation requires solutions of Finite Element Simulations within MATLAB). How can I go about this, are there ways that I can pass Jacobians into HessianMultiplyFcn? Do I need to make it so that a .m is saved in each objective/constraint evaluation? I have been looking into this for well over a month, and have gotten to the point where I need help.
1 Comment
Catalytic
on 9 Mar 2023
Lots of words. No equations, code, or figures to help us understand what's goign on.
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Systems of Nonlinear Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!