A Global Optimisation Toolbox for Massively Parallel Engineering Optimisation

A Global Optimisation Toolbox for Massively Parallel Engineering   Optimisation
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

A software platform for global optimisation, called PaGMO, has been developed within the Advanced Concepts Team (ACT) at the European Space Agency, and was recently released as an open-source project. PaGMO is built to tackle high-dimensional global optimisation problems, and it has been successfully used to find solutions to real-life engineering problems among which the preliminary design of interplanetary spacecraft trajectories - both chemical (including multiple flybys and deep-space maneuvers) and low-thrust (limited, at the moment, to single phase trajectories), the inverse design of nano-structured radiators and the design of non-reactive controllers for planetary rovers. Featuring an arsenal of global and local optimisation algorithms (including genetic algorithms, differential evolution, simulated annealing, particle swarm optimisation, compass search, improved harmony search, and various interfaces to libraries for local optimisation such as SNOPT, IPOPT, GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architecture providing a clean and easily-extensible optimisation framework. Adoption of multi-threaded programming ensures the efficient exploitation of modern multi-core architectures and allows for a straightforward implementation of the island model paradigm, in which multiple populations of candidate solutions asynchronously exchange information in order to speed-up and improve the optimisation process. In addition to the C++ interface, PaGMO’s capabilities are exposed to the high-level language Python, so that it is possible to easily use PaGMO in an interactive session and take advantage of the numerous scientific Python libraries available.


💡 Research Summary

The paper presents PaGMO (Parallel Global Multiobjective Optimiser), an open‑source optimisation framework developed by the European Space Agency’s Advanced Concepts Team. Implemented in C++ with an object‑oriented design, PaGMO separates optimisation problems and algorithms into distinct classes, allowing users to define continuous, integer, mixed‑integer, constrained, and multi‑objective problems. Its core parallelisation strategy is a generalized island model: multiple “islands” (independent optimisation instances) run concurrently in separate threads, and exchange candidate solutions according to a user‑specified graph topology. Supported topologies include fully‑connected, torus, ring, wheel‑rim (a ring with a central hub), small‑world networks (Barabási‑Albert, Watts‑Strogatz), Erdős‑Rényi random graphs, and custom user‑defined graphs. Migration policies (frequency, rate, selection, replacement) are fully configurable, enabling fine‑grained control over exploration versus exploitation.

PaGMO ships with a rich algorithmic portfolio. Global search methods implemented directly include a simple genetic algorithm, Differential Evolution (DE), Particle Swarm Optimisation (PSO), Adaptive Neighbourhood Simulated Annealing, Improved Harmony Search, Compass Search, Monotonic Basin Hopping, and Generalised Multistart/Monte‑Carlo search. Local optimisation wrappers expose industry‑standard solvers such as SNOPT, IPOPT, and a suite of NLopt, GSL, and SciPy algorithms (Subplex, BFGS, L‑BFGS‑B, COBYLA, BOBYQA, Nelder‑Mead, etc.). By allowing global and local algorithms to run on different islands, PaGMO enables cooperative hybrid optimisation: global islands explore the search space, while a central island refines promising candidates with a derivative‑free local method.

A high‑level Python interface (PyGMO) mirrors the C++ API, allowing rapid prototyping, interactive experimentation in IPython, and seamless integration with the scientific Python ecosystem (NumPy, SciPy, Matplotlib). Users can instantiate problems, algorithms, topologies, and archipelagos directly in Python scripts, or even define new problems and algorithms without touching C++ code.

The authors demonstrate the framework on three challenging interplanetary trajectory problems from ESA’s GTOP database: Cassini, T‑and‑E‑M, and Messenger. For each case they construct an archipelago with a “wheel‑rim” topology: a ring of islands running DE and Simulated Annealing, and a central island running Subplex. Using 7 CPU cores for roughly eight hours, the system automatically discovers ΔV‑optimal trajectories that match or improve upon the best published solutions. After each run they apply a clustering‑and‑pruning procedure to identify promising regions, tighten decision‑variable bounds, and launch further multistart optimisations, thereby iteratively refining the search space.

A fourth experiment tackles a large‑scale design study for asteroid sample‑return missions. The authors generate 4 406 distinct problem instances (different launch windows and target asteroids) and solve all of them in parallel using PaGMO’s archipelago mechanism. The entire campaign completes in a few hours, delivering preliminary low‑ΔV trajectories for missions planned between 2020 and 2050.

The paper highlights PaGMO’s strengths: modular extensibility, diverse algorithmic and topological options, automatic exploitation of multi‑core hardware, and a user‑friendly Python layer. Limitations include current support for low‑thrust trajectories only in single‑phase mode and the lack of extensive scaling tests on large clusters or GPU architectures. Future work is suggested in the directions of dynamic topology adaptation, cloud‑based deployment, GPU acceleration, and deeper integration of multi‑objective optimisation techniques.


Comments & Academic Discussion

Loading comments...

Leave a Comment