Abstract : Regular control problems in the sense of the Legendre condition are defined, and second order necessary and sufficient optimality conditions in this class are reviewed. Adding a scalar homotopy parameter, differential pathfollowing is introduced. The previous sufficient conditions ensure the definiteness and regularity of the path. The role of AD for the implementation of this approach is discussed, and two examples excerpted from quantum and space mechanics are detailed.
Differential pathfollowing for regular optimal control problems
J. Caillau and O. Cots and J.Gergaud. >
Optim. Methods Softw., to appear
Hampath package solves optimal control problem via indirect method. We first can solve problems where we suppose that the maximization of the Hamiltonian gives us the control u = u(x,p) in the state and the costate, and where we also suppose that the problem is smooth, i.e. that all the functions are smooth and that the relation u(x,p) is also smooth. Then we also can solve Bang-Bang problems where the control is piecewise continuous or Singular problems where the control can't be explicitly computed from the maximization of the Hamiltonian. Hampath compiles the Fortran code implementing the maximized Hamiltonian and the boundary conditions, into a collection of Matlab routines that allow first of all to solve the shooting equation. However, it is well known that the main difficulty to solve such problems is to find a good initial point for the shooting function. So we have implemented an homotopy method (a differential path following method), which makes Hampath the natural extension of the Matlab package cotcot. Finally, it is also possible to compute the Jacobi fields of the Hamiltonian system to check the order two conditions of optimality and seek conjugate points, as cotcot does.
The kernel of the code is in Fortran 90. It uses well known public librairies like Minpack, for the NLE solver (HYBRJ), Lapack for the QR factorization (DGEQRF), Blas for the products matrix-matrix (DGEMM) and matrix-vector (DGEMV). The ODE integrator is DOPRI5 from the University of Geneva and we also use TAPENADE for the automatic differenciation.
After installing the package (see the installation section of the manual tab), the user has only to implement, in Fortran 90, the maximized Hamiltonian and the equation conditions functions. Then the command hampath compiles these two subroutines into a collection of Matlab functions -- ssolve the shooting method, hampath the homotopy method, expdhvfun to compute the jacobi fields, ... -- and the user for now only works in his matlab environment.