Fmincon Interior Point Method HessianMultiplyFcn needs Jacobians from Constraint Evaluation

3 ビュー (過去 30 日間)
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 件のコメント
Catalytic
Catalytic 2023 年 3 月 9 日
Lots of words. No equations, code, or figures to help us understand what's goign on.

サインインしてコメントする。

採用された回答

Matt J
Matt J 2023 年 3 月 9 日
  1 件のコメント
Benjamin Hezrony
Benjamin Hezrony 2023 年 10 月 6 日
Hi Matt, that helped me figure it out! About to put up another question, you may have the insight I need.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSystems of Nonlinear Equations についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by