TfMin is a Fortran and Matlab package designed for the numerical solution of continuous 3D minimum time orbit transfer around the Earth (with free final longitude), especially for low thrust engines (e.g., thrust of 0.14 Newton for a 1500 Kilogramme satellite). The optimal control model given by the French Space Agency is the following (we refer to  for details):
tf -> min
dx/dt = f0(x)+1/m (u1f1(x)+u2f2(x)+u3f3(x)), t in [0,tf]
dm/dt = -ß|u|
x(0) = x0, m(0) = m0, h(x(tf)) = 0
|u| <= Tmax
where Tmax is the maximum modulus of the thrust. The state of the satellite is described by the geometry of the ellipse osculating to the trajectory and its position on it, x = (P,ex,ey,hx,hy,L), and by its mass m. The numerical method used is single shooting (see the celebrated code  for multiple shooting) which turns to be very efficient here. The shooting code is implemented in Fortran 77 and can be used on general optimal control problems. It automatically generates the associated boundary value problem thanks to Automatic Differentiation  (see also  for a similar approach based on Maple and Scilab). A specific Matlab interface is provided. It allows the user to set the parameters of the min time transfer problem (initial conditions...) and to draw the orbits computed. Results of  can be obtained in this way, in the spirit of reproducible research. The Fortran kernel of the software uses two public libraries: Minpack, for the ODE solver RKF45 by H. A. Watts and L. F. Shampine, and the NLE solver HYBRD by B. S. Garbow, K. E. Hillstrom and J. J. More, together with Adifor (version 2.0, see ). We are grateful to the authors for making their software available.
 C. Bischof, A. Carle, P. Kladem, and A. Mauer, Adifor 2.0: Automatic Differentiation of Fortran 77 Programs, IEEE Computational Science and Engineering, 3 (1996), pp. 18-32.
 F. Bonnans and S. Maurin, An implementation of the shooting algorithm for solving optimal control problems, report 0240, INRIA, Rocquencourt, France, May 2000.
 J. B. Caillau, J. Gergaud, and J. Noailles, 3D Geosynchronous Transfer of a Satellite: Continuation on the Thrust, Journal of Optimization Theory and Applications, Vol. 118:3, pp. 541-565, 2003.
 H. J. Oberle and W. Grimm, BNDSCO: A Program for the Numerical Solution of Optimal Control Problems, report 515, Institute for Flight Systems Dynamics, German Aerospace Research Establishment DLR, Oberpfaffenhofen, Germany, 1989.
TfMin package for Matlab (4 or higher) with precompiled Fortran kernel
Linux86: tfmin-linux86.zip (zip file) tfmin-linux86.tar.gz (gziped archive)
Solaris: tfmin-sol.zip (zip file) tfmin-sol.tar.gz (gziped archive)
HP: tfmin-hp.zip (zip file) tfmin-hp.tar.gz (gziped archive).
TfMin package source (Fortran 77 and Matlab 4 or higher)
tfmin-v1.zip (zip file) tfmin-v1.tar.gz (gziped archive).
TfMin: Short Reference Manual
Jean-Baptiste Caillau, Joseph Gergaud and Joseph Noailles
Technical Report RT/APO/01/3, ENSEEIHT-IRIT, July 2001
(also: Optimization Online Digest 2002/07/511 - July 2002).
Link to Netlib at ENSEEIHT.
Link to Adifor at Rice.