Fmincon Interior Point Method HessianMultiplyFcn needs Jacobians from Constraint Evaluation
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Benjamin Hezrony
il 9 Mar 2023
Commentato: Benjamin Hezrony
il 6 Ott 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 Commento
Catalytic
il 9 Mar 2023
Lots of words. No equations, code, or figures to help us understand what's goign on.
Risposta accettata
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Systems of Nonlinear Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!