Global Trajectory Optimisation Problems Database
The GTOP web pages contain the exact definition of some black-box global optimisation spacecraft trajectory problems and their best putative solutions. Should you find a better solution to one or more of these problems, please submit it via e-mail to: and
We are making available several difficult trajectory optimisation problems as black box functions to invite the operational research community, the evolutionary computations community and the aerospace engineers to develop, apply and compare different derivative-free solvers on these test problems. The code is made available in C++, MATLAB and Python. Only the Python code is maintained.
- For MATLAB download the two core functions mga.m and mga_dsm.m and then use the different function wraps given in each one of the problem page.
- For C++ download the GTOPtoolbox (LAST VERSION: 12/10/2012) containing all the necessary functions and examples. As an alternative (preferred method) you may download PaGMO and you will find there, in the namespace pagmo::problems, all GTOP database problems (check the doxygen).
- For Python 2.7 install PyGMO and find all problems in the PyGMO.problem module
MGA Global Optimisation Problems:
A simple benchmark to test global optimisation algorithms in Space Mission Design related problems is the Multiple Gravity Assist (MGA) problem. In mathematical terms this is a finite dimension global optimisation problem with non linear constraints. It can be used to locate the best possible trajectory that an interplanetary probe equipped with a chemical propulsion engine may take to go from the Earth to another planet or asteroid. The spacecraft is constrained to thrust only at planetary encounters.
MGA-1DSM Global Optimisation Problems:
The constraint on the spacecraft thrusting only only at planetary encounters is often unacceptable as it may results in trajectories that are not realistic or that use more propellant than necessary. The MGA-1DSM problem removes most of these limitations. It represents an interplanetary trajectory of a spacecraft equipped with chemical propulsion, able to thrust its engine once at any time during each trajectory leg. Thus the solutions to this problem are suitable to perform preliminary quantitative calculation for real space missions. This comes to the price of having to solve an optimisation problem of larger dimensions.
The following algoritmic paradigms have been tested on some of the problems in this database: Differential Evolution, Particle Swarm Optimisation, Genetic Algorithm, Simulated Annealing, Self-Adaptation, the Island Model, Improved Harmony Search, Artificial Bee Colony, Monotonic Basin Hopping, Covariance Matrix Adaptation Evolutionary Strategy. All the code associated to these solvers is made available as part of the open source project PaGMO/PyGMO. Some preliminary benchmarks can be found here.
Description of the database problems and the models used to write the black boxes can be found in the following publications:
Izzo, D., Global Optimization and Space Pruning for Spacecraft Trajectory Design, Spacecraft Trajectory Optimization, Conway, B. (Eds.), Cambridge University Press, pp.178-199, 2010. (link)
Scientific works using the GTOP database problems
 Addis, B. and Cassioli, A. and Locatelli, M. and and Schoen, F. Global optimization for the design of space trajectories. Journal Computational Optimization and Applications, Volume 48, Issue 3, April 2011 Pages 635-652 (link)
 Cassioli, A. and Di Lorenzo, D and Locatelli, M. and Schoen, F. and Sciandrone, M. Machine Learning for Global Optimization in eprints for the optimization community (link)
 Schlueter, M. and Rückmann, J.J. and Gerdts, M. Non-linear mixed-integer-based Optimisation Technique for Space Applications - Poster for ESA NPI Day 2010 (link)
 Musegaas, P. Optimization of Space Trajectories Including Multiple Gravity Assists and Deep Space Maneuvers. MSc Thesis Report Delft University of Technology, Delft, Netherlands (link)
 Islam, SkMinhazul, et al. "An adaptive differential evolution algorithm with novel mutation and crossover strategies for global numerical optimization." Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on 42.2 (2012): 482-500. (link)
 Stracquadanio, Giovanni, et al. "Design of robust space trajectories." Research and Development in Intelligent Systems XXVIII. Springer London, 2011. 341-354. (link)
 Danoy, Grégoire, Bernabe Dorronsoro, and Pascal Bouvry. "New State-Of-The-Art Results For Cassini2 Global Trajectory Optimization Problem." Acta Futura 5 (2012) pp. 65-72 (link)
These web pages have been created by Dario Izzo and Tamas Vinkó. Credits for the code made here available goes to Dario Izzo, Tamas Vinkó and Marco del Rey Zapatero. A special acknowledgment goes to Giovanni Stracquadanio, Angelo La Ferla and Giuseppe Nicosia from the University of Catania who in October 2009 discovered a bug in the C++ code routines for bilinear interpolation.