Global Trajectory Optimisation Problems Database
The GTOP web pages contain the definition of 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:
The code
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, but it is no longer 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 (the version 1.x) and you will find there, in the namespace pagmo::problems, all GTOP database problems (check the doxygen).
- For Python 2.7 you can install PyGMO (the verison 1.x) 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.
Cassini 1
This instance of an MGA problem seeks to minimse the propellant (velocity increment) required to reach Saturn using an Earth Venus Venus Jupiter Saturn fly-by sequence.
GTOC 1
This instance of a Multiple Gravity Assist problem draws inspiration from the first edition of the Global Trajectory Optimisation Competition GTOC1. It is an MGA problem with a rather long fly-by sequence including mainly Earth and Venus. The final target is the asteroid TW229. The objective of the mission is to maximise the change in sami-major axis of the asteroid orbit following an anaelastic impact of the spacecraft with the asteroid.
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.
TandEM - Atlas501 (Note: 50 different instances)
Maximise the final mass injected in a high eccentricity Saturn orbit, starting from a launch with Atlas501 and pick one of 25 different fly-by sequences
Messenger (Reduced Mission)
This trajectory optimisation problem represents a rendezvous mission to Mercury modelled as an MGA-1DSM problem. The selected fly-by sequence and other parameters are compatible with the Messenger mission but are greatly simplified to reduce the problem complexity.
Messenger (Full Mission)
This trajectory optimisation problem represents a rendezvous mission to Mercury modelled as an MGA-1DSM problem. The selected fly-by sequence and other parameters are compatible with the Messenger mission. With respect to the problem Messenger (reduced) the fly-by sequence is more complex and allows for resonant fly-bys at Mercury to lower the arrival DV.
Cassini 2
Here we consider a different model for the Cassini trajectory with respect to the Cassini1 case: deep space maneuvers are allowed between each one of the planets. This leads to a higher dimensional problem and to a higher complexity. We also consider, in the objective function evaluation, the final DV as a rendezvous rather than as an orbital insertion as in the "Cassini1" case.
Rosetta
The problem presented in this section is a MGA-1DSM problem relative to a mission to the comet 67P/Churyumov-Gerasimenko. The fly-by sequence selected is similar to the one planned for the spacecraft Rosetta. The objective function considered is the total mission deltaV , including the launcher capabilities.
SAGAS - a proposal for Cosmic Vision
In this trajectory problem we design what is commonly called a deltaV-EGA manouvre to reach a fly-by with Jupiter and reach 50AU. The objective function considered is the overall mission duration and is to be minimsed. This creates an MGA - 1DSM problem where two more variables need to be added to the decision vector in order to be able to evaluate the keplerian orbit reached after the last fly-by.
Solvers tested
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 V1.x