Top Banner
A Global Optimisation Toolbox for Massively Parallel Engineering Optimisation Francesco Biscani * , Dario Izzo , and Chit Hong Yam European Space Agency – Advanced Concepts Team European Space Research and Technology Centre (ESTEC) October 22, 2018 Abstract A software platform for global optimisation, called PaGMO, has been developed within the Ad- vanced 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 suc- cessfully used to find solutions to real-life engi- neering problems among which the preliminary de- sign of interplanetary spacecraft trajectories - both chemical (including multiple flybys and deep-space maneuvers) and low-thrust (limited, at the mo- ment, to single phase trajectories), the inverse de- sign of nano-structured radiators and the design of non-reactive controllers for planetary rovers. Featuring an arsenal of global and local opti- misation algorithms (including genetic algorithms, differential evolution, simulated annealing, parti- cle 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 architec- ture providing a clean and easily-extensible opti- misation framework. Adoption of multi-threaded programming ensures the efficient exploitation of modern multi-core architectures and allows for a straightforward implementation of the island * [email protected] [email protected] [email protected] model paradigm, in which multiple populations of candidate solutions asynchronously exchange infor- mation in order to speed-up and improve the op- timisation process. In addition to the C++ in- terface, 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 Introduction With the introduction of mass-produced multi-core ar- chitectures, personal computers are becoming increas- ingly capable of performing parallel computations. Yet, the effort to parallelize algorithms is time consuming and often not attractive, especially in scientific com- puting where software reuse is not as spread a prac- tice as in other fields of computing. The open-source project PaGMO, (Parallel Global Multiobjective Op- timiser), aims at filling this gap for optimisation al- gorithms providing, through a generalization of the so called island model (i.e. a coarse grained approach to parallelization of genetic algorithms) to all types of algo- rithms (population based and not), a simple experiment- ing platform that allows scientists to easily code algo- rithms and problems without having to care at all about the underlying parallelization that is provided ‘for free’ by the PaGMO infrastructure . The resulting software platform, participating to the Google initiative Summer 1 arXiv:1004.3824v1 [cs.DC] 22 Apr 2010
13

European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

Oct 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

A Global Optimisation Toolbox for Massively Parallel Engineering

Optimisation

Francesco Biscani∗, Dario Izzo†, and Chit Hong Yam‡

European Space Agency – Advanced Concepts TeamEuropean Space Research and Technology Centre (ESTEC)

October 22, 2018

Abstract

A software platform for global optimisation,called PaGMO, has been developed within the Ad-vanced Concepts Team (ACT) at the EuropeanSpace Agency, and was recently released as anopen-source project.

PaGMO is built to tackle high-dimensionalglobal optimisation problems, and it has been suc-cessfully used to find solutions to real-life engi-neering problems among which the preliminary de-sign of interplanetary spacecraft trajectories - bothchemical (including multiple flybys and deep-spacemaneuvers) and low-thrust (limited, at the mo-ment, to single phase trajectories), the inverse de-sign of nano-structured radiators and the design ofnon-reactive controllers for planetary rovers.

Featuring an arsenal of global and local opti-misation algorithms (including genetic algorithms,differential evolution, simulated annealing, parti-cle swarm optimisation, compass search, improvedharmony search, and various interfaces to librariesfor local optimisation such as SNOPT, IPOPT,GSL and NLopt), PaGMO is at its core a C++library which employs an object-oriented architec-ture providing a clean and easily-extensible opti-misation framework. Adoption of multi-threadedprogramming ensures the efficient exploitation ofmodern multi-core architectures and allows fora straightforward implementation of the island

[email protected][email protected][email protected]

model paradigm, in which multiple populations ofcandidate solutions asynchronously exchange infor-mation in order to speed-up and improve the op-timisation process. In addition to the C++ in-terface, PaGMO’s capabilities are exposed to thehigh-level language Python, so that it is possibleto easily use PaGMO in an interactive session andtake advantage of the numerous scientific Pythonlibraries available.

1 Introduction

With the introduction of mass-produced multi-core ar-chitectures, personal computers are becoming increas-ingly capable of performing parallel computations. Yet,the effort to parallelize algorithms is time consumingand often not attractive, especially in scientific com-puting where software reuse is not as spread a prac-tice as in other fields of computing. The open-sourceproject PaGMO, (Parallel Global Multiobjective Op-timiser), aims at filling this gap for optimisation al-gorithms providing, through a generalization of the socalled island model (i.e. a coarse grained approach toparallelization of genetic algorithms) to all types of algo-rithms (population based and not), a simple experiment-ing platform that allows scientists to easily code algo-rithms and problems without having to care at all aboutthe underlying parallelization that is provided ‘for free’by the PaGMO infrastructure . The resulting softwareplatform, participating to the Google initiative Summer

1

arX

iv:1

004.

3824

v1 [

cs.D

C]

22

Apr

201

0

Page 2: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

of Code 2010, is described in this paper together withapplication examples to real life engineering problems ofinterest to aerospace engineers.

Recent results in global optimisation algorithms ap-plied to the design of chemically-propelled interplane-tary trajectories have shown how a straightforward ap-plication of off-the-shelf optimisation algorithms doesnot suffice to find satisfactory solutions for the mostcomplex cases such as the Messenger trajectory or theCassini or the TandEM trajectory [15]. While a wiseuse of the algorithms still provides useful informationalso in these most complex cases, the final optimal so-lutions need a substantial amount of engineering knowl-edge to be found. In this paper we show how the use ofPaGMO allows different algorithms to cooperate to thesolution of the same interplanetary trajectory problem,allowing to find solutions also in the most difficult casesin a reasonable time. In particular, we demonstrate afully automated search of the solution space based onthe use of Differential Evolution, Simulated Annealingand local search in a cooperative fashion. Informationis exchanged asynchronously between the solvers oper-ating in parallel CPUs via the implementation of a gen-eralized migration operator offered by PaGMO. We testthis search strategy in the case of the Cassini, TandEMand Messenger trajectories as defined in the EuropeanSpace Agency Global Trajectory optimisation Problemsdatabase (GTOP) [17, 44]. We show that the algorithmsare able to locate interesting regions of the search spaceand in particular to find the possible resonances. Inthe case of TandEM and Cassini, an automatic pruningstrategy is able to successfully identify the best knownsolutions. In the case of Messenger, the automatedsearch locates a large number of possible solution clus-ters (due to the possible resonances at Mercury). A sec-ond run of the search focussed on a particular one ofthese clusters holds satisfactory results and is, in partic-ular, able to find the same strategy adopted by the actualMessenger mission. A last example is then presented,where 4406 simpler interplanetary trajectories are op-timised (each five times) taking dvantage of PaGMO’sparallelization capabilities in a reasonably short time tolocate preliminarly good targets for an asteroid samplereturn mission in the 2020-2050 time frame.

2 PaGMO

PaGMO is an optimisation framework developed withinthe Advanced Concepts Team of the European SpaceAgency. Written in C++, PaGMO aims to provide anextensible infrastructure for defining optimisation prob-lems (nonlinear, continuous, integer, mixed-integer, box-constrained, nonlinearly constrained, multi-objective op-timisation is supported), coupled with a wide arsenal ofglobal and local optimisation algorithms - some of themcoded directly within PaGMO, others called from exter-nal libraries through thin wrappers. At the time of thiswriting, PaGMO provides the following optimisation al-gorithms:

• global and local optimisation algorithms coded di-rectly within PaGMO, including a simple geneticalgorithm [12], differential evolution [43], particleswarm optimisation [20], adaptive neighbourhoodsimulated annealing [7], improved harmony search[25], compass search [21], monotonic basin hopping[46], generalised multistart and Monte Carlo search[28];

• wrapper for SNOPT [11];

• wrapper for IPOPT [45];

• wrappers for algorithms from the NLopt library[18], including Subplex [35] (an extension of theclassical Nelder-Mead method), COBYLA [32] andBOBYQA [33];

• wrappers for algorithms from the GSL library [10],including the Broyden-Fletcher-Goldfarb-Shanno(BFGS) method [4], Fletcher-Reeves and Polak-Ribiere nonlinear conjugate gradient methods [39]and the classical Nelder-Mead method [30];

• wrappers for algorithms from the SciPy library [19](only available in the Python bindings), includ-ing fmin (Nelder-Mead), L-BFGS-B [48], sequentialleast-square programming [22] and truncated New-ton method [29].

PaGMO provides automatic parallelisation of the op-timisation process via a coarse-grained approach basedon the island model [26], in which multiple optimisa-tion instances of the same problem are launched at the

2

Page 3: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

same time, asynchronously exchanging information andimproving the overall convergence properties of the op-timisation. In PaGMO’s implementation of the islandmodel, each optimisation instance (i.e., each island) islaunched in a separate thread of execution, thus au-tomatically taking advantage of modern multiprocessormachines. The connections between islands are resp-resented by a graph topology in which each node cor-responds to an island and the edges represent routesthrough which candidate solutions can be communicatedfrom one island to the other. The graph topologies canbe either constructed by manually adding nodes andedges, or they can be selected among those already codedwithin PaGMO, including:

• popular topologies in the context of parallelpopulation-based optimisation, such as fully con-nected, torus, cartwheel, lattice, hypercube, broad-cast, and various types of ring topologies;

• small-world network topologies, such as theBarabasi-Albert [1] and Watts-Strogatz [47] mod-els;

• G (n, p) Erdos-Renyi random graph [9];

• custom topologies (such as the wheel rim topologydescribed in §3).

Some of the topologies available in PaGMO are visu-alised in Figure 1. Full control over the fine-grained de-tails of the migration strategy (e.g., migration frequencyand rate, selection and replacement policies) is provided.A preliminary study of the impact the topology on theoptimisation process can be found in [36]. The class thatcontains the set of islands collaborating in an optimisa-tion process, the topology and the migration policies isknown in PaGMO as an archipelago.

PaGMO ships with a number of implemented optimi-sation problems readily available for use, such as:

• classical continuous test functions, such as Rastri-gin, Rosenbrock [34], Schwefel, Griewank, Branin,Himmelblau, Lennard-Jones potential [23] andLevy5;

• constrained continuous test functions from [24];

• integer programming problems: Golomb ruler [40],0-1 knapsack problem [27];

• multi-objective optimisation test problems from [8];

• all the chemical interplanetary spacecraft trajectoryproblems from the European Space Agency’s GTOPdatabase [17, 44];

• an interplanetary multiple gravity assist low-thrustproblem.

PaGMO’s C++ capabilities are exposed to the high-level language Python, so that it is possible to instan-tiate problems, algorithms, topologies and islands fromeither a script or an interactive Python session. It isalso possible to define new problems and algorithmsdirectly from Python, thus allowing on one hand torapidly prototype and evaluate new ideas, and on theother to leverage the rich ecosystem of freely-availablescientific Python modules (e.g., numerical integrators,machine learning libraries, computer algebra systems,etc.). Coupled with the matplotlib plotting module andthe enhanced Python shell IPython, PaGMO’s Pythonbindings (which have been called PyGMO) offer a user-friendly interactive graphical experience.

3 Some examples

As an example of the use of PaGMO to solve engineeringproblems we report here the results of the application ofthe optimisation strategy described in the previous sec-tion to four trajectory optimisation selected problems.The first three problems are taken from the EuropeanSpace Agency Global Trajectory optimisation (GTOP)database [17, 44]. The problems selected are amongthe most difficult proposed in the database and are in-cluded in the basic PaGMO distribution. They all arebox-constrained, continuous, single objective optimisa-tion problems, representing a multiple gravity assist in-terplanetary trajectory with one deep space maneuverallowed in each trajectory leg. The search space in-cludes launch windows spanning decades (see the GTOPdatabase for the precise definitions of the allowed boundson the launch and fly-by dates). The fourth problem isa simpler problem admitting though a large number ofdifferent instances. We take advantage of PaGMO par-allelization to find solutions to 4406 different instancesof the problem in a reasonable computing time.

3

Page 4: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

0

1

2

3

4

5

6

7

(a) (b)

(c) (d)

Figure 1. A selection of topologies available in PaGMO: ring topology (a), Barabasi-Albert model (b), Watts-Strogatzmodel (c) and Erdos-Renyi G (n, p) random graph (d).

Experimental setup All the optimisation problemswere set up in an archipelago of 5-7 islands (depend-ing on the number of available cores on the machine atthe time of the experiment), equipped with a wheel rimtopology (see Figure 2). The wheel rim topology con-sists of a classical bidirectional ring topology with anadditional island at the center, fully connected to all theother islands. We chose to deploy global optimisationalgorithms (namely, adaptive neighbourhood simulatedannealing from [7] and differential evolution from [43])on the ring, and a local optimisation algorithm (namely,the Subplex algorithm from [35] as implemented in [18])in the center.

The motivations behind these choices are the follow-ing:

• the ring topology is a proven and popular choice in

the context of parallel population-based algorithms,as shown for instance in [14, 42, 13, 5, 6, 16, 2];

• the additional island in the center receives throughmigration the best results of the global optimisationalgorithms in the ring, refines them through a localsearch, and migrates them back to the ring. Itsrole is hence, on one hand, to improve the results ofthe global search, and on the other to inject backdiversified candidate solutions into the ring;

• regarding the choice of the algorithms, both sim-ulated annealing and differential evolution haveproven to be effective for the optimisation of inter-planetary spacecraft trajectories (as shown for in-stance in [16]), whereas the derivative-free Subplexmethod, a refinement of the classical Nelder-Mead

4

Page 5: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

sbplx

sa

de

sa

de

sa

de

Figure 2. Experimental setup: an archipelago withwheel rim topology, global optimisation algorithms onthe outer ring (simulated annealing and differential evo-lution) and a local optimisation algorithm in the innerisland (Subplex).

algorithm, is particularly suited for the noisy andmulti-modal objective functions appearing in theseoptimisation problems.

In order to give an example of use of PaGMO, wereproduce here the Python code necessary to performone optimisation run with the setup described above:

1 # Import the PyGMO c l a s s e s2 from PyGMO import ∗3

4 # In s t an t i a t e the a l gor i thms5 sa = algor i thm . sa corana (10000 , 1 , 0 . 01 )6 de = algor i thm . de ( 5 0 0 , 0 . 8 , 0 . 9 )7 l o c a l = algor i thm . n l op t sbp lx (500 ,1 e−4)8

9 # In s t an t i a t e the problem10 prob = problem . me s s eng e r f u l l ( )11

12 # Build the arch ipe l a go13 a = arch ip e l ago ( topology . rim ( ) )14 a . push back ( i s l a nd ( prob , l o c a l , 1 , 1 . 0 , migrat ion .

wo r s t r p o l i c y ( ) ) )15 a . push back ( i s l a nd ( prob , sa , 1 ) )16 a . push back ( i s l a nd ( prob , de , 2 0 ) )17 a . push back ( i s l a nd ( prob , sa , 1 ) )

18 a . push back ( i s l a nd ( prob , de , 2 0 ) )19 a . push back ( i s l a nd ( prob , sa , 1 ) )20 a . push back ( i s l a nd ( prob , de , 2 0 ) )21

22 # Perform evo l u t i on twenty t imes23 a . evo lve (20)24 a . j o i n ( )

Detailed explanation:

• on line 2, all the PaGMO classes are imported intothe current namespace;

• on lines 5-7, the algorithms are instantiated;

• on line 10, the problem (in this case the full Mes-senger problem) is instantiated;

• on lines 13-20, the archipelago is instantiated:

– on line 13, an empty archipelago with rimtopology is created;

– on line 14, the central island is created andinserted in the archipelago with the push back

() method. The island is constructed fromthe problem prob and the algorithm local , itcontains one single individual, has a prob-ability of accepting the migrating individu-als of 100% and replacement policy migration.

worst r policy (), which will unconditionally re-place the worst individual in the island withthe incoming individuals. This island needsa non-default replacement policy because wewant it to optimise every candidate solutioncoming from the ring, whereas the default be-haviour would be to accept migrating indi-viduals only if they would improve upon theworst individuals present in the population(which is the behaviour frequently desired forpopulation-based algorithms);

– on lines 15-20, the ring islands are created andinserted into the archipelago. The simulatedannealing islands operate on populations of asingle individual, whereas the differential evo-lution islands are instantiated with a popula-tion of 20 individuals. The default migrationpolicies are in these cases appropriate;

• on line 23, the optimisation process is started bycalling the evolve() method of the archipelago. The

5

Page 6: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

argument passed to the evolve() method, in this case20, means that each algorithm on each island iscalled 20 times with the parameters passed in theconstructors on lines 5-7. E.g., in case of differen-tial evolution, it means that the algorithm is runfor 500 · 20 = 10000 generations, with weight coef-ficient equal to 0.8 and crossover probability equalto 0.9. Migration is allowed to happen at the end ofeach one of the 20 internal iterations of the evolve()

method;

• on line 24, the archipelago is joined, meaning thatthe flow of the program stops until the optimisa-tion run started on line 23 has concluded. SincePaGMO runs asynchronously each algorithm in aseparate thread, the evolve() call on line 23 will re-turn almost immediately – the optimisation processhaving forked in the background. The join () callblocks the program until the optimisation has fin-ished.

Optimisation strategy For the first three problemswe adopted the following optimisation strategy:

1. we instantiated an archipelago with rim topology asdescribed above and let the optimisation run for afixed amount of time;

2. at the end of each optimisation run, we recorded thebest candidate solution produced and then reset thearchipelago with randomly-chosen decision vectors.

Step 1. and 2. where repeated multiple times, thusproducing a collection of optimised candidate solutions.The cluster pruning algorithm described in [15] was thenrun on the collection of candidate solutions, returningnew problem bounds in which top decision vectors arecontained. The new bounds are then used to launchother rounds of multistart optimisations.

For the sample return problem, which involves the so-lution of different instances of a simpler problem, a singlerun of the optimisation algorithms in the archipelago isgood enough and thus no cluster pruning was used.

3.1 Results on problem::cassini 2

This problem represents the interplanetary trajectory ofthe spacecraft Cassini. For a detailed description of this

global optimisation problem we refer the reader to theGTOP database [17, 44]. For the purpose of this paperwe just mention that the objective function representsthe sum of all ∆V , including the launch, where the lastcontribution (Jupiter arrival) is relative velocity with re-spect to Jupiter at arrival. For this problem we applythe fully automated search described above with threepruning cycles. At the end of the process (employing7CPUs for a period of roughly 8 hours) the best tra-jectory found is visualized in Figure 3a. Details on thetrajectory as reported in Table 1a. The trajectory is,essentially, the same best result posted in the database(22th May 2009) and found by M. Schlueter, J. Fiala, M.Gerdts at the University of Birmingham using the MI-DACO solver developed within the project “Non-linearmixed-integer-based Optimisation Technique for SpaceApplications” co-funded by ESA Networking Partner-ship Initiative, Astrium Limited (Stevenage, UK) andthe School of Mathematics, University of Birmingham,UK [38]. The solution employs two deep space maneu-vers during the first two legs as detailed in Table 1a.

3.2 Results on problem::tandem(6,10)

TandEM is one of the L-class candidate missions thatwere proposed in response to the European SpaceAgency call for proposals for the 2015-2025 Cosmic-Vision programme. Initially, the mission included a Ti-tan orbiter and an Enceladus penetrator. The inter-planetary part of the trajectory was preliminarly stud-ied in 2008 by a Mission Analysis Outer Planets Work-ing Group that included different experts from academiaand space industry. In that preliminary study a baselinefor the TandEM mission was defined and forms the basisof the problem here solved in an automated fashion us-ing PaGMO. The baseline considers a launch with Atlas501, and an injection orbit at Saturn with e = 0.985,rp = 80330 km. The mission objective is to maximizethe final spacecraft mass at arrival and to complete thetrajectory within ten years. For a detailed descriptionof this global optimisation problem we refer the readerto the GTOP database [17, 44]. For this problem weapply the fully automated search described above withthree pruning cycles. At the end of the process (em-ploying 7CPUs for a period of roughly 6 hours) the besttrajectory found is visualized in Figure 3b. Details on

6

Page 7: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

−12 −10 −8 −6 −4 −2 0 2 4

x 108

−2

0

2

4

6

8

10

12

x 108

km

km

(a)

−4 −2 0 2 4 6 8

x 108

−2

0

2

4

6

8

10

12

x 108

km

km

(b)

−1.5 −1 −0.5 0 0.5 1 1.5

x 108

−1.5

−1

−0.5

0

0.5

1

x 108

km

km

(c)

Figure 3. Visualisation of the best trajectories found for the first three interplanetary trajectory problems: prob-lem::cassini 2 (a), problem::tandem(6,10) (b) and problem::messenger full (c).7

Page 8: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

Departure

Epoch 12/11/1997V∞ 3.254 km/s

Cruise

DSM ∆V 484 m/sVenus fly-by 29/04/1998DSM ∆V 399 m/sVenus fly-by 27/06/1999Earth fly-by 19/08/1999Jupiter fly-by 31/03/2001

Arrival

Epoch 05/2007V∞ 4.25 km/s

Total flight time 9.4 years

(a)

Departure

Epoch 15/11/2021V∞ 3.34 km/sDeclination 3.1 deg

Cruise

Venus fly-by 30/04/2022Earth fly-by 04/04/2023DSM ∆V 167 m/sEarth fly-by 25/06/2026

Arrival

Epoch 03/07/2031VSOI 0.676 km/s

Total flight time 9.63 years

Spacecraft

Daparture mass 2085.44 kgArrival mass 1476.03 kgIsp 312 s

(b)

Departure

Epoch 14/08/2005V∞ 3.95 km/s

Cruise

Venus fly-by 20/10/2006DSM ∆V 343 m/sVenus fly-by 04/06/2007DSM ∆V 567 m/sMercury fly-by 12/01/2008DSM ∆V 91 m/sMercury fly-by 04/10/2008DSM ∆V 224 m/sMercury fly-by 28/09/2009DSM ∆V 179 m/s

Arrival

Epoch 03/2011VMOI 0.905 km/s

Total flight time 5.59 years

(c)

Table 1. Details of the best trajectories found for the first three interplanetary trajectory problems: problem::cassini 2(a), problem::tandem(6,10) (b) and problem::messenger full (c).

the trajectory are as reported in Table 1b. The solutionfound improves the previous best found by B. Addis,A. Cassioli, M. Locatelli, F. Schoen (from the GlobalOptimisation Laboratory, University of Florence) whoalso have the record on the solutions for all other Tan-dEM problem instances (i.e. for different fly-by and timeconstraint). The final trajectory employs one only deepspace manouvre during the Venus-Venus leg.

3.3 Results on problem::messenger full

This problem is probably the most complex problem inthe GTOP database and represents one of the most com-plex chemical interplanetary trajectory ever designedand flown, that of the Messenger spacecraft. Messen-

ger, at the time of writing, is on its way to Mercury,where (roughly next year, in 2011) will become the firstspacecarft to ever orbit around the planet. Its pathin the solar system to reach its final destination in-cluded a long planetary tour: Earth-Earth-Venus-Venus-Mercury-Mercury-Mercury-Mercury. In the PaGMOversion of the problem, the Messenger trajectory is tran-scribed into a box-constrained global optimisation prob-lem. The objective function is the total ∆V accumu-lated from the Earth launch to a Mercury Orbit Inser-tion (MOI) into an orbit having e = 0.704, rp = 2640km. For a detailed description of this global optimisa-tion problem we refer the reader to the GTOP database[17, 44]. In this case, after a first run of the algorithm,cluster detection shows the presence of many different

8

Page 9: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

1900 1950 2000 2050 2100 2150 22000

2

4

6

8

10t0

3.0 3.2 3.4 3.6 3.8 4.00

2

4

6

8

10V∞

0.0 0.2 0.4 0.6 0.8 1.00

2

4

6

8

10u

100 150 200 250 300 350 400 450 5000

2

4

6

8

10T1

100 150 200 250 300 350 400 450 5000

2

4

6

8

10T2

100 150 200 250 300 350 400 450 5000

2

4

6

8

10T3

100 150 200 250 300 350 400 450 5000

2

4

6

8

10T4

100 150 200 250 300 350 400 450 5000

2

4

6

8

10T5

100 150 200 250 300 350 400 450 500 5500

2

4

6

8

10T6

0.2 0.4 0.6 0.80

2

4

6

8

10η1

2 3 4 5 60

2

4

6

8

10rp,1

−3 −2 −1 0 1 2 30

2

4

6

8

10b1

Figure 4. Manual pruning for a selection of variables from the Messenger problem. The blue dots represent the bestcandidate solutions of each run of the multistart strategy, the vertical green bars denote the new, narrowed bounds ofthe problem and the red diamond marker represents the final solution. The clustering of the best candidate solutionsin correspondence with the resonant flybys at Mercury is clearly visible for the variables T2, T4, T5 and T6.

9

Page 10: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

solution clusters related to the different possible reso-nances at Mercury, as shown in Figure 4. The best solu-tion after the first algorithm run is around 5.15 km/sec.By focussing the optimisation into one of the detectedclusters we obtain a solution at around 2.3 km/sec whichis lowering the GTOP database record substantially andis detailed in Table 1c and visualized in Figure 3c.

3.4 Results on problem::sample return

A single instance of this problem represents an in-terplanetary trajectory starting from the Earth andperforming a rendezvous with a selected asteroid. Aftera minimum waiting time the spacecraft is required tocome back to the Earth with a maximum hyperbolicencounter velocity. One deep-space maneuver per legwas allowed, creating a global optimisation problemof dimension 12. This type of trajectory can be usedto perform the preliminary selection of possible finalasteroids for sample return missions. The same trajec-tory model is also relevant to design human missionsto asteroids. For the purpose of this paper we do notenter into the details on the system design and launchwindow choice, instead it is our interest to ‘just pick anexample’ and show the possibility of using PaGMO tosolve in a reasonable time a large number of probleminstances (e.g. varying the final asteroid). We took allthe asteroids listed in the JPL NEA database:

http://neo.jpl.nasa.gov/cgi-bin/neo_elem

having H < 22, which roughly corresponds to as-teroids having diameter larger than 200m. For theselected 4406 asteroids we optimised the trajectory con-sidering a launch in the 2020-2050 time frame, allowinga final encounter velocity at the Earth return of 4.5.km/sec and minimizing the total ∆V as evaluated from:

∆V = ∆VL + ∆Vdsm1+ ∆VR+

∆VD + ∆Vdsm2+ ∆VE ,

where ∆VL is the hyperbolic velocity when leaving theEarth sphere of influence, ∆Vdsm1

is the first deep spacemaneuver, ∆VR is the rendezvous velocity, ∆VD is therelative velocity at asteroid departure, ∆Vdsm2 is the sec-ond deep space maneuver and ∆VE is the final braking

maneuver to reduce the entry speed to 4.5 km/sec. Aminimum waiting time on the asteroid of 5 days is alsoconsidered.

The computations where performed on an Xserve with8 processing units and lasted 8 hours. The results arevisualized in Figure 5.

4 Conclusions and future work

In this paper we have presented PaGMO, a global op-timisation software framework for parallel engineeringoptimisation developed within the Advanced ConceptsTeam at the European Space Agency. We have testedPaGMO on three hard, realistic interplanetary trajec-tory optimisation problems (TandEM, Cassini and Mes-senger), showing how PaGMO is able to find automat-ically the best known solutions for all three problems.With the help of a human-guided final pruning step,PaGMO was also able to locate the ‘real’ trajectory forthe Messenger probe, consisting of multiple resonant fly-bys at Mercury. A fourth benchmark problem, consist-ing in the optimisation of simple trajectories to a selec-tion of 4406 near-Earth asteriods, was shown with theintent of highlighting PaGMO’s parallelisation capabili-ties.

Future work on PaGMO will concentrate on areas suchas:

• extension of the computational capabilities via in-terfacing to popular massively parallel frameworks,such as MPI [41] for scientific clusters and BOINC[3] for distributed computing;

• exploration of the possibility of using GPGPU com-puting [31] to speed-up the most time-consumingparts of the optimisation process;

• implementing/interfacing additional optimisationalgorithms;

• interfacing with machine learning packages (such asPyBrain [37]), for easy coding of artificial intelli-gence problems.

Some of these activities will be tackled within the GoogleSummer of Code 2010, in which an international group

10

Page 11: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

150 200 250 300 350 400 450Mission duration (days)

10

20

30

40

50

60

DV

(km

/sec)

(a)

0 20 40 60 80 100DV (km/sec)

0.5

1.0

1.5

2.0

2.5

3.0

3.5

e,

a (

AU

)

(b)

Figure 5. Relations between ∆V and properties of the best solutions found: mission duration against ∆V (a) and∆V against semi-major axis and eccentricity (b).

of University students will be working during the sum-mer on PaGMO under the mentorship of the PaGMOdevelopment team - while being sponsored by Google.

PaGMO is Free Software, and it is available fordownload from the SourceForge website:

http://pagmo.sourceforge.net

References

[1] R. Albert and A.-L. Barabasi. Statistical mechanicsof complex networks. Reviews of Modern Physics,74:47–97, January 2002.

[2] C. Ampatzis, D. Izzo, M. Rucinski, and F. Bis-cani. ALife in the Galapagos: migration effects onneuro-controller design. In Proceedings of the Eu-ropean Conference on Artificial Life (ECAL 2009),September 2009.

[3] D. P. Anderson. BOINC: A System for Public-Resource Computing and Storage. In Proceed-ings of the 5th IEEE/ACM International Workshopon Grid Computing, Pittsburgh, PA (USA), 2004.IEEE Computer Society.

[4] C. G. Broyden. The Convergence of a Class ofDouble-rank Minimization Algorithms - 1. GeneralConsiderations. IMA Journal of Applied Mathemat-ics, 6:76–90, 1970.

[5] E. Cantu-Paz. Efficient and Accurate Parallel Ge-netic Algorithms. Kluwer Academic Publishers,Norwell, MA, USA, 2000.

[6] E. Cantu-Paz and M. Mejıa-Olvera. Experimentalresults in distributed genetic algorithms. In Inter-national Symposium on Applied Corporate Comput-ing, pages 99–108, 1994.

[7] A. Corana, M. Marchesi, C. Martini, and S. Ridella.Minimizing multimodal functions of continuousvariables with the “simulated annealing” algo-rithm. ACM Transactions on Mathematical Soft-ware, 13(3):262–280, September 1987.

[8] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan.A Fast and Elitist Multi-Objective Genetic Algo-rithm: NSGA-II. IEEE Transactions on Evolution-ary Computation, 6:182–197, 2002.

[9] P. Erdos and A. Renyi. On Random Graphs. I.Publicationes Mathematicae, 6:290–297, 1959.

11

Page 12: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

[10] M. Galassi, J. Davies, J. Theiler, B. Gough,G. Jungman, P. Alken, M. Booth, and F. Rossi.GNU Scientific Library Reference Manual. NetworkTheory Ltd, third edition, January 2009.

[11] P. E. Gill, W. Murray, and M. A. Saunders.SNOPT: An SQP Algorithm for Large-Scale Con-strained Optimization. SIAM Review, 47:99, 2005.

[12] D. E. Goldberg. Genetic Algorithms in Search, Op-timization and Machine Learning. Addison-WesleyLongman Publishing Co., Inc., Boston, MA, USA,1989.

[13] V. S. Gordon and L. D. Whitley. Serial and par-allel genetic algorithms as function optimizers. InProceedings of the 5th International Conference onGenetic Algorithms, pages 177–183, San Francisco,CA, USA, 1993. Morgan Kaufmann Publishers Inc.

[14] H. Homayounfar, S. Areibi, and F. Wang. Anadvanced island based GA for optimization prob-lems. Dynamics of continuous discrete and im-pulsive systems-series b-applications & algorithms,pages 46–51, 2003.

[15] D. Izzo. Spacecraft Trajectory Optimization, chap-ter 7. Cambridge Press, 2010.

[16] D. Izzo, M. Rucinski, and C. Ampatzis. Parallelglobal optimisation meta-heuristics using an asyn-chronous island-model. In 2009 IEEE Congresson Evolutionary Computation, pages 2301–2308.2009 IEEE Congress on Evolutionary Computation(IEEE CEC 2009), Trondheim, Norway, May 18-21., 2009.

[17] D. Izzo, T. Vinko, and M. del Rey Zapatero. GTOPDatabase: Global Optimisation Trajectory Prob-lems and Solutions. http://www.esa.int/gsp/

ACT/inf/op/globopt.htm, 2010.

[18] S. G. Johnson. The NLopt nonlinear-optimizationpackage. http://ab-initio.mit.edu/nlopt,2010.

[19] E. Jones, T. Oliphant, P. Peterson, et al. SciPy:Open source scientific tools for Python. http://

www.scipy.org/, 2010.

[20] J. Kennedy and R. Eberhart. Particle swarm opti-mization. In Proceedings of the 1995 IEEE Inter-national Conference on Neural Networks, volume 4,pages 1942–1948, Piscataway, NJ (USA), 1995.

[21] T. G. Kolda, R. M. Lewis, and V. Torczon. Op-timization by direct search: New perspectives onsome classical and modern methods. SIAM Review,45:385, 2003.

[22] D. Kraft. Algorithm 733: TOMP – Fortran modulesfor optimal control calculations. ACM Transactionson Mathematical Software, 20:262–281, September1994.

[23] J. E. Lennard-Jones. On the Determination ofMolecular Fields. II. From the Equation of State ofa Gas. Proceedings of the Royal Society of London.Series A, Containing Papers of a Mathematical andPhysical Character (1905-1934), 106:463–477, Oc-tober 1924.

[24] L. Luksan and J. Vlcek. Sparse and partially sepa-rable test problems for unconstrained and equalityconstrained optimization. Technical Report V-767,Institute of Computer Science, Academy of Sciencesof the Czech Republic, Prague (Czech Republic),1999.

[25] M. Mahdavi, M. Fesanghary, and E. Damangir.An improved harmony search algorithm for solvingoptimization problems. Applied Mathematics andComputation, 188:1567–1579, May 2007.

[26] B. Manderick and P. Spiessens. Fine-grained paral-lel genetic algorithms. In Proceedings of the third in-ternational conference on Genetic algorithms, pages428–433, San Francisco, CA, USA, 1989. MorganKaufmann Publishers Inc.

[27] S. Martello and P. Toth. Knapsack problems: algo-rithms and computer implementations. John Wiley& Sons, Inc., New York, NY (USA), 1990.

[28] N. Metropolis and S. Ulam. The Monte Carlomethod. Journal of the American Statistical As-sociation, 44:335, September 1949.

12

Page 13: European Space Agency { Advanced Concepts Team … · 2018. 10. 22. · GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architec-ture providing

[29] S. G. Nash. A survey of truncated-Newton methods.Journal of Computational and Applied Mathemat-ics, 124:45–59, December 2000.

[30] J. A. Nelder and R. Mead. A simplex method forfunction minimization. Computer Journal, 7:308–313, 00/1965 1965.

[31] J. D. Owens, D. Luebke, N. Govindaraju, M. Har-ris, J. Kruger, A. E. Lefohn, and T. J. Purcell. Asurvey of general-purpose computation on graph-ics hardware. Computer Graphics Forum, 26(1):80–113, 2007.

[32] M. J. D. Powell. Direct search algorithms for op-timization calculations. Acta Numerica, 7:287–336,1998.

[33] M. J. D. Powell. The BOBYQA algorithm forbound constrained optimization without deriva-tives. Technical Report NA2009/06, Departmentof Applied Mathematics and Theoretical Physics,Cambridge England, 2009.

[34] H. H. Rosenbrock. An automatic method for find-ing the greatest or least value of a function. TheComputer Journal, 3:175–184, March 1960.

[35] T. H. Rowan. Functional stability analysis of nu-merical algorithms. PhD thesis, University of Texasat Austin, Austin, TX (USA), 1990.

[36] M. Rucinski, D. Izzo, and F. Biscani. On the Impactof the Migration Topology on the Island Model. Ac-cepted in Parallel Computing, 2010.

[37] T. Schaul, J. Bayer, D. Wierstra, Y. Sun, M. Felder,F. Sehnke, T. Ruckstieß, and J. Schmidhuber. Py-Brain. Journal of Machine Learning Research, 2010.

[38] M. Schluter, J. A. Egea, L. T. Antelo, A. A. Alonso,and J. R. Banga. An Extended Ant Colony Op-timization Algorithm for Integrated Process andControl System Design. Industrial & EngineeringChemistry Research, 48:6723–6738, July 2009.

[39] J. R. Shewchuk. An introduction to the conjugategradient method without the agonizing pain. Tech-nical Report CS-94-125, Carnegie Mellon Univer-sity, Pittsburgh, PA (USA), 1994.

[40] S. Sidon. Ein Satz uber trigonometrische Polynomeund seine Anwendung in der Theorie der Fourier-Reihen. Mathematische Annalen, 106:536–539, De-cember 1932.

[41] J. M. Squyres. Definitions and fundamentals –the message passing interface (MPI). ClusterWorldMagazine, MPI Mechanic Column, 1(1):26–29, De-cember 2003.

[42] T. Starkweather, L. D. Whitley, and K. E. Mathias.Optimization using distributed genetic algorithms.In PPSN I: Proceedings of the 1st Workshop on Par-allel Problem Solving from Nature, pages 176–185,London, UK, 1991. Springer-Verlag.

[43] R. Storn and K. Price. Differential evolution - asimple and efficient heuristic for global optimizationover continuous spaces. Journal of Global Optimiza-tion, 11:341–359, November 1997.

[44] T. Vinko and D. Izzo. Global optimisation heuris-tics and test problems for preliminary spacecrafttrajectory design. Technical Report GOHTPPSTD,European Space Agency, the Advanced ConceptsTeam, 2008.

[45] A. Wachter and L. T. Biegler. On the implementa-tion of an interior-point filter line-search algorithmfor large-scale nonlinear programming. Mathemati-cal Programming, 106:25–57, March 2006.

[46] D. J. Wales and J. P. K. Doye. Global optimiza-tion by basin-hopping and the lowest energy struc-tures of Lennard-Jones clusters containing up to110 atoms. The Journal of Physical Chemistry A,101:5111–5116, July 1997.

[47] D. J. Watts and S. H. Strogatz. Collective dynam-ics of ‘small-world’ networks. Nature, 393:440–442,June 1998.

[48] C. Zhu, R. H. Byrd, P. Lu, and J. Nocedal. Al-gorithm 778: L-BFGS-B: Fortran subroutines forlarge-scale bound-constrained optimization. ACMTransactions on Mathematical Software, 23:550–560, December 1997.

13