![]() |
GTOP Database GTOP is a database containing the exact definition of some global optimisation spacecraft trajectory problems and their best putative solutions. |
Researcher at ESA's Advanced Concepts Team are making available several difficult trajectory optimisation problems as black box functions to invite the operational research community and the aerospace engineers to develop, apply and compare different derivative-free solvers on these test problems. The codes are available in C++ and MATLAB format. 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 (NEW VERSION: 14/03/2011) containing all the necessary functions and examples. |
|
The 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. A detailed description of the problem may be found in [1]. |
|
The 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 implementation details of this problem are the sum of a number of previously published works [2, 3, 4, 5]. |
|
Solvers tested We also report some solvers code used during some experiments made applying standard global optimisation algorithms to each of the problems. We consider Differential Evolution, Particle Swarm Optimisation, Genetic Algorithm, Simulated Annealing, Adaptive Simulated Annealing and GLOBAL. A preliminary description of the results is given in [6]. |
|
Please quote us!! Description of the database problems and the models used to write the black boxes can be found in:Vinkó, T. and Izzo, D., Global Optimisation Heuristics and Test Problems for Preliminary Spacecraft Trajectory Design, European Space Agency, the Advanced Concepts Team, ACT technical report (GOHTPPSTD), 2008. (link) Izzo, D., Global optimisation and space pruning for spacecraft trajectory design. In Spacecraft Trajectory Optimization (Conway Ed.), Cambridge University Press, 2009. |
|
Papers using the GTOP database problems [1] Addis, B. and Cassioli, A. and Locatelli, M. and and Schoen, F. Global optimization for the design of space trajectories. COAP, submitted, 2008. published: Optimization On Line. (link) [2] Izzo, D., Global optimisation and space pruning for spacecraft trajectory design. In Spacecraft Trajectory Optimization (Conway Ed.), Cambridge University Press, 2009. [3] 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) [4] 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) |
|
Credits 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. |








