Fmincon Interior Point Method HessianMultiplyFcn needs Jacobians from Constraint Evaluation
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Benjamin Hezrony
el 9 de Mzo. de 2023
Comentada: Benjamin Hezrony
el 6 de Oct. de 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 comentario
Catalytic
el 9 de Mzo. de 2023
Lots of words. No equations, code, or figures to help us understand what's goign on.
Respuesta aceptada
Más respuestas (0)
Ver también
Categorías
Más información sobre Systems of Nonlinear Equations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!