I would like to solve an optimal control problem using Pontryagin Minimum Principle. There are few numerical techniques with MATLAB examples using sym toolbox, bvp4c and ODE45 using shooting method. I am trying to implement using ODE45 solver by following steps:
- Initialize states, co-state and control
- ODE45 solver in forward time to find states.
- ODE45 solver in backward time to find co-states
- Find hamiltonian and performance index. If difference between previous and present hamiltonian is below given threshold the stop iteration or else go to 5.
- Update the control with a selected step size.
I am facing many difficulties in implementation such as;
- Difficulty in selecting initial control and co-state.
- The state is not bounded within a range as it must be. (must be between 0 and 1, and final state must be a desired value)
I have attached the reference paper which I am trying to implement. If anyone knows any MATLAB toolbox to solve the same, kindly let me know.