**Description**

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 [3] for details):

t_{f}
-> min

dx/dt = f_{0}(x)+1/m
(u_{1}f_{1}(x)+u_{2}f_{2}(x)+u_{3}f_{3}(x)),
t in [0,t_{f}]

dm/dt = -ß|u|

x(0) = x^{0},
m(0) = m^{0}, h(x(t_{f})) = 0

|u| <= T_{max}

where T_{max} 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,e_{x},e_{y},h_{x},h_{y},L),
and by its mass m.
The numerical method used is single shooting (see the celebrated code
[4] 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
[1] (see also [2] 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 [3]
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 [1]). We are grateful to the authors
for making their software available.

**References**

[1] 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.

[2] F. Bonnans and S. Maurin, *An
implementation of the shooting algorithm for solving optimal control problems*,
report 0240, INRIA, Rocquencourt, France, May 2000.

[3] 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.

[4] 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.

**Download**

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.

caillau@n7.fr

Last modified: Tue Jul 23 09:58:17 CEST 2002