Can I solve equations backward in time? (Pontryagin maximum principle optimal control problem)

Hello. I am trying to solve a problem with 7 states in the time interval (0,T), using Pontryagin Maximum Principle. I already have state, costate and optimal input equations, but it is quite hard to obtain its analytical equations since its nonlinear differential equation set with 15 variables. So I have modeled in Simulink. But the problem is, adjoint equations' solving method is, considering the problem backwards in time: starting from time T, up to 0. And I dont know a way to implement it on Matlab (Simulink, or in a toolbox). If anybody in the know could help me with the problem, I would be grateful.

6 Comments

Hi,
Have you solved the problem? I am also working on similar problem but with less states, but I have succussefully solved backward in ODE solver. The code is less efficient and its difficult to find initial step, control and costate.
Hi, I have simplify the system and recuded it to 3 states, but analytical solution was still impossible to obtain, and I have put the problem aside for a while unfortunately. How many states do you have? Do you suggest ODE solver rather than Simulink?
Only one state. Even though ODE is working, its very slow and results seems inaccurate sometimes. There is no way to prove the results are optimal.
Hi @Praveen Kumar can you please elaborate how did you solved it? it is possible to share your code (work) ?
Hi Siddhartha,
Please check the following methods (codes) to solve such problems. I have used "eg2OC_descent" method for my problem.

Sign in to comment.

 Accepted Answer

All MATLAB ODE-solvers can integrate backward in time. Just specify "tspan=[T 0]".
Best wishes
Torsten.

2 Comments

Thank you for the answer! But I think my problem cannot be solved with ode since it has more than one independent variable in the dif. equation, what do you think? Even so, where can I make these setting and run it in Simulink, not in an mfile?
Can you share the problem statement?
You can write to slav_ha@mail.ru

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!