Numerical Integrators With Problem-Based Optimization

조회 수: 3 (최근 30일)
Nick
Nick 2025년 10월 29일
댓글: Nick 2025년 10월 30일
I have an optimization problem where I will have to integrate some differential equations over a time horizon that is dependent on the optimization variables (it is a two-body astrodynamics problem so alternatively I could use root-finding to solve Kepler's equation). I tried setting up the problem using the problem-based approach but quickly realized that the class of variables used in the problem-based approach will not work with ode45 (or any root-finding problems). I was just curious if there happened to be any workaround to this, or if it can be confirmed that I have to resort to the solver-based approach when I have such an optimization problem.

채택된 답변

Matt J
Matt J 2025년 10월 29일
편집: Matt J 2025년 10월 29일
but quickly realized that the class of variables used in the problem-based approach will not work with ode45 (or any root-finding problems)
We don't know what brought you to that conclusion, but objective functions involving ODEs should be possible in the problem-based framework using fcn2optimexpr. You should be able to do anything in the problem-based approach that you can with the solver-based approach, except when you want to use the SpecifyObjectiveGradient and SpecifyConstraintGradient options of the nonlinear optimization solvers.
There are, however, other pitfalls in optimization problems involving ODEs, which are discussed here,
  댓글 수: 1
Nick
Nick 2025년 10월 30일
Ok good to know. I came to that conclusion because I got an error when inputting the optimization class of variables into various functions. I was not aware of that function you linked or lots of other documentation I came across when looking at it. I am not well versed in the problem based approach yet. The only downside (as far as I have come to understand) is that you can't use the automatic differentiation when using fcn2optimexpr.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surrogate Optimization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by