AUTOopt: An AUTO driver for boundary-value optimization problems

AUTOopt is a python script that automatically generates the equation and command files for the software package AUTO to solve boundary-value optimization problems. Though the method of successive continuations to find local extrema of an objective functional over an ODE boundary-value problem has been proposed more than 25 years ago (in the early version of AUTO), the burden of writing the equations for the adjoint variables of the optimization problem and that of coding the script to organize the sequence of continuations have been left on the user. We finally make this powerful feature accessible, by fully automatizing the generation of the Fortran code for the optimization problem and of the python script to drive the sequence of AUTO runs. Not even the first-derivatives of the user problem, involved in the equations for the adjoint variables, are required. If not provided by the user, they are approximated by finite differences. On the other hand, to improve accuracy, the user can also provide the second-derivatives, that are used to pass AUTO the first-derivatives of the optimization problem. Several examples are illustrated.