A Global Optimisation Toolbox for Massively Parallel Engineering Optimisation

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.

[1]  Albert-László Barabási,et al.  Statistical mechanics of complex networks , 2001, ArXiv.

[2]  H. Homayounfar An Advanced Island Based GA For Optimization Problems , 2003 .

[3]  H. H. Rosenbrock,et al.  An Automatic Method for Finding the Greatest or Least Value of a Function , 1960, Comput. J..

[4]  M. E. Galassi,et al.  GNU SCIENTI C LIBRARY REFERENCE MANUAL , 2005 .

[5]  Sandro Ridella,et al.  Minimizing multimodal functions of continuous variables with the “simulated annealing” algorithmCorrigenda for this article is available here , 1987, TOMS.

[6]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[7]  L. Darrell Whitley,et al.  Optimization Using Distributed Genetic Algorithms , 1990, PPSN.

[8]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[9]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[10]  J. Shewchuk An Introduction to the Conjugate Gradient Method Without the Agonizing Pain , 1994 .

[11]  J. Doye,et al.  Global Optimization by Basin-Hopping and the Lowest Energy Structures of Lennard-Jones Clusters Containing up to 110 Atoms , 1997, cond-mat/9803344.

[12]  Michael A. Saunders,et al.  SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization , 2005, SIAM Rev..

[13]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[14]  S. Sidon Ein Satz über trigonometrische Polynome und seine Anwendung in der Theorie der Fourier-Reihen , 1932 .

[15]  C. G. Broyden The Convergence of a Class of Double-rank Minimization Algorithms 1. General Considerations , 1970 .

[16]  A. Rollett,et al.  The Monte Carlo Method , 2004 .

[17]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[18]  Janet E. Jones On the determination of molecular fields. —II. From the equation of state of a gas , 1924 .

[19]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[20]  M. Fesanghary,et al.  An improved harmony search algorithm for solving optimization problems , 2007, Appl. Math. Comput..

[21]  Dario Izzo,et al.  On the impact of the migration topology on the Island Model , 2010, Parallel Comput..

[22]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[23]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[24]  Dario Izzo,et al.  Parallel global optimisation meta-heuristics using an asynchronous island-model , 2009, 2009 IEEE Congress on Evolutionary Computation.

[25]  Erick Cantú-Paz,et al.  Efficient and Accurate Parallel Genetic Algorithms , 2000, Genetic Algorithms and Evolutionary Computation.

[26]  Bernard Manderick,et al.  Fine-Grained Parallel Genetic Algorithms , 1989, ICGA.

[27]  Dario Izzo,et al.  ALife in the Galapagos: Migration Effects on Neuro-Controller Design , 2009, ECAL.

[28]  Tamara G. Kolda,et al.  Optimization by Direct Search: New Perspectives on Some Classical and Modern Methods , 2003, SIAM Rev..

[29]  Dieter Kraft,et al.  Algorithm 733: TOMP–Fortran modules for optimal control calculations , 1994, TOMS.

[30]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[31]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[32]  M. Powell The BOBYQA algorithm for bound constrained optimization without derivatives , 2009 .

[33]  L. Darrell Whitley,et al.  Serial and Parallel Genetic Algorithms as Function Optimizers , 1993, ICGA.

[34]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[35]  T. Rowan Functional stability analysis of numerical algorithms , 1990 .

[36]  Jorge Nocedal,et al.  Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization , 1997, TOMS.

[37]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[38]  D. Izzo,et al.  Global Optimisation Heuristics and Test Problems for Preliminary Spacecraft Trajectory Design , 2009 .

[39]  Janet E. Jones On the determination of molecular fields. III.—From crystal measurements and kinetic theory data , 1924 .

[40]  Julio R. Banga,et al.  An Extended Ant Colony Optimization Algorithm for Integrated Process and Control System Design , 2009 .

[41]  M. J. D. Powell,et al.  Direct search algorithms for optimization calculations , 1998, Acta Numerica.

[42]  S. Nash A survey of truncated-Newton methods , 2000 .

[43]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..