7 Global Optimization and Space Pruning for Spacecraft ... · trajectory optimization problem...

24
CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 178 — #1 7 Global Optimization and Space Pruning for Spacecraft Trajectory Design Dario Izzo European Space Agency, Advanced Concepts Team, Noordwijk, NL 7.1 Introduction Global optimization algorithms and space pruning methods represent a recent new paradigm for spacecraft trajectory design. They promise an automated and unbi- ased search of different trajectory options, freeing the final user from the need for caring about implementation details. In this chapter we provide a unified frame- work for the definition of trajectory problems as pure mathematical optimization problems highlighting their common nature. We then present the detailed defini- tion of two popular typologies, the Multiple Gravity Assist (MGA) and the Multiple Gravity Assist with single Deep Space Manouver (MGA-1DSM). Later we describe in detail the instantiation of four particular problems proposing them as a test set to benchmark the performances of different algorithms and pruning solutions. We take inspiration from real interplanetary trajectories such as Cassini, Rosetta, and the proposed TandEM mission, considering a large search space in terms of pos- sible launch windows and transfer times, but also from rather academic cases such as that of the First Global Trajectory Optimisation Competition (GTOC). We test four popular heuristic paradigms on these problems (differential evolution, particle swarm optimization, simulated annealing with adaptive neighborhood, and genetic algorithm) and note their poor performances both in terms of reliability and solu- tion quality, arguing for the need to use more sophisticated approaches, for example, pruning methods, to allow finding better trajectories. We then introduce the cluster pruning method for the MGA-1DSM problem and we apply it, in combination with the simulated annealing with adaptive neighborhood algorithm, to the TandEM test problem finding a large number of good solutions and a new putative global optima. Many of the results reported here would not have been possible without the great passion and competence of Tamas Vinko, Marco del Rey Zapatero, and Marek Rucinski, all researching, at different times, different global trajectory optimization aspects. The author also wishes to acknowledge Massimiliano Vasile who, while a research fellow with the Advanced Concepts Team at the European Space Agency, conceived the Ariadna studies on Advanced Global Optimization Tools for Mission Analysis and Design, which ignited the spark of this now incredibly rich research topic. 178

Transcript of 7 Global Optimization and Space Pruning for Spacecraft ... · trajectory optimization problem...

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 178 — #1

7 Global Optimization and Space Pruning forSpacecraft Trajectory Design

Dario IzzoEuropean Space Agency, Advanced Concepts Team, Noordwijk, NL

7.1 Introduction

Global optimization algorithms and space pruning methods represent a recent newparadigm for spacecraft trajectory design. They promise an automated and unbi-ased search of different trajectory options, freeing the final user from the need forcaring about implementation details. In this chapter we provide a unified frame-work for the definition of trajectory problems as pure mathematical optimizationproblems highlighting their common nature. We then present the detailed defini-tion of two popular typologies, the Multiple Gravity Assist (MGA) and the MultipleGravity Assist with single Deep Space Manouver (MGA-1DSM). Later we describein detail the instantiation of four particular problems proposing them as a test setto benchmark the performances of different algorithms and pruning solutions. Wetake inspiration from real interplanetary trajectories such as Cassini, Rosetta, andthe proposed TandEM mission, considering a large search space in terms of pos-sible launch windows and transfer times, but also from rather academic cases suchas that of the First Global Trajectory Optimisation Competition (GTOC). We testfour popular heuristic paradigms on these problems (differential evolution, particleswarm optimization, simulated annealing with adaptive neighborhood, and geneticalgorithm) and note their poor performances both in terms of reliability and solu-tion quality, arguing for the need to use more sophisticated approaches, for example,pruning methods, to allow finding better trajectories. We then introduce the clusterpruning method for the MGA-1DSM problem and we apply it, in combination withthe simulated annealing with adaptive neighborhood algorithm, to the TandEM testproblem finding a large number of good solutions and a new putative global optima.

Many of the results reported here would not have been possible without the great passion andcompetence of Tamas Vinko, Marco del Rey Zapatero, and Marek Rucinski, all researching,at different times, different global trajectory optimization aspects. The author also wishes toacknowledge Massimiliano Vasile who, while a research fellow with the Advanced ConceptsTeam at the European Space Agency, conceived the Ariadna studies on Advanced GlobalOptimization Tools for Mission Analysis and Design, which ignited the spark of this nowincredibly rich research topic.

178

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 179 — #2

7.3 Problem Transcription 179

7.2 Notation

We will make extensive use of a notation that has become quite standard for theengineering community in the past decades. We will denote the components of multi-dimensional vectors with a boldface, x. We will then refer to their components byusing a subscript on a nonboldface font, xi. An important part of the spacecrafttrajectory optimization problem definition is the choice of variables that describethe spacecraft state. Here we use an abstract state vector representation x when-ever possible. Otherwise, when explicit equations are useful, a cartesian choice isused: x = [r, v, m], where r denotes the spacecraft position in the inertial frameselected, v its velocity, and m its mass. Other representations can be more suited toparticular applications. Isp is the spacecraft propulsion system specific impulse andg0 = 9.81 m/s. The positions and velocity of celestial bodies (planets and asteroid)will be noted with capital letters R and V. In the case of multiphase problem, we willuse a superscript to indicate that a certain quantity is referred to a particular phase,so that xi will be the spacecraft state during the i-th phase. We also use the subscriptss and f to indicate the start or final instants of a phase, so that xi

s = xi(tis) will denotethe spacecraft state at the beginning of the phase i.

7.3 Problem Transcription

A spacecraft trajectory optimization problem can, in general, be written in thedeceptively familiar form

P

Optimize: φ(ts, tf , xs, xf ) + ∫ tfts L(x(t), u(t), t)dt

Subject to: x = a(x, t) + u(t) dynamic con.

G(ts, tf , xs, xf ) ≤ 0 boundary con.

u ∈ U(x, t) propulsion / power con.

(7.1)

where x(t) is the spacecraft state (including at the least its position, velocity, and massor equivalent quantities), a(x, t) represent the external forces acting on the space-craft (gravitational and non), and u(t) represent the control acting on the spacecraftand coming from its propulsion system. Note that the set of admissible controlshas, in this general form, an explicit state dependence, a characteristic that is notaccounted for in the classical optimal control theory. The characteristic that makesproblem P unique in its kind is the extremely complicated nature of the dynamicconstraints, which limits the straightforward use of numerical methods to obtain anoptimal solution, and the presence of a large number of locally optimal optimal solu-tions that calls for the use of global optimisation techniques to effectively explorethe possible solutions. As a consequence, depending on the particular trajectoryproblem considered, the problem is often reduced to a simpler form. This process,which we call problem transcription, is central to the spacecraft trajectory optimiza-tion process as it heavily influences the performances of the subsequent solutiontechnique, but also the feasibility of the solution obtained, that is, the possibility

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 180 — #3

180 Global Optimization & Space Pruning

of transforming it back to an optimal solution of the full problem P . Here we willfocus our attention on the case of interplanetary mission design, and in particularon the preliminary phases of the process when the need of a fast exploration of thesolution space is more important than a precise description of the trajectory. A com-prehensive description of the mission design process may be found in [1]. We willmake use of a number of simplifications and hypotheses that are quite commonlyapplied:

• The only external force considered in writing the term a(x, t) is the gravitationalattraction g(x) due to the Sun.

• The sequence of N + 1 celestial bodies the spacecraft interacts with is imposeda priori and not left to the optimization process to eventually find.

• The spacecraft interaction with the selected celestial bodies happens when thespacecraft state enters the body sphere of influence [2] x ∈ Si, an event that isimposed as a boundary constraint. The interaction with the intermediate bodies(that is, excluding the departure and arrival) is described by a discontinuity inthe spacecraft state �xi = xi+1

s − xif , and on the time �ti = ti+1

s − tif , typicallya consequence of what is commonly referred to as planetary flyby or a planetrendezvous.

These discontinuities in the state, describing trajectory phases where the space-craft interacts with a celestial body, are subject to constraints we write in the form:�i(xi+1

s , xif , ti+1

s , tif ) ≤ 0 and we call phase constraints. These hypotheses formallytransform problem P into:

P ′

Optimize: φ(t1s , tNf , x1s , xN

f ) +∑N

i=1

∫ tif

tis

Li(xi(t), ui(t), t)dt

Subject to: xi = g(xi) + ui(t), ∀i = 1..N dynamic con.

G(t1s , tNf , x1s , xN

f ) ≤ 0 boundary con.

�i(tis, tif , xi

s, xif ) ≤ 0, ∀i = 1..N phase boundary con.

�i(xi+1s , xi

f , ti+1s , tif ) ≤ 0, ∀i = 1..N − 1 phase matching con.

ui ∈ U(xi, t), ∀i = 1..N propulsion / power con.(7.2)

that is a multiphase optimal control problem where the number of phases N dependson the number of planetary encounters during the overall trajectory. In explicit carte-sian coordinates xi = [ri, vi, mi], and ui = [0, Ti

mi , 0], where T indicates the magnitudeof the spacecraft thrust T. In going from P to P ′, we have simplified the problem atthe cost of introducing an aprioristic choice on the sequence of planetary encounters,a choice that also needs to be optimized and thus introduces an integer programmingelement into the interplanetary trajectory design process. The sequence of planetaryencounters is enforced in the phase boundary constraints �i. Considering the plan-etary sphere of influence reduced to one point S i = {x ∈ R

7, x = [Ri(t), ., ., ., .]} (also

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 181 — #4

7.4 The MGA Problem 181

a common simplification), the boundary constraints �i will include the followingconditions that enforce the spacecraft position to be, at the beginning of each phase,equal to the departure planet position, and at the end of each phase equal to thearrival planet position

�i =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

...ris = Ri(tis)

rif = Ri+1(tif )

...

, ∀i = 1..N (7.3)

where we have introduced the sequence of N + 1 planets via their positions Ri(t),i = 1..N + 1. Under the assumption that the ui are piecewise continuous functions,problem P ′ is further specified to describe low-thrust problems, whereas an impulsivemodelling of the thrust describes chemical propulsion problems. In mathematicalform, a chemical (impulsive) thrust can be written as Ti = ∑M

j mi�Vijδ(t − t ij ).

Here �Vij are the velocity increments (impulses) that fully define the thrust law

together with the times t ij . Note that we have used the Dirac delta generalized function

δ(t − t ij ).The following sections will focus entirely on chemical propulsion problems, a par-

ticular instance of problem P ′ where we basically preassign a given analytical shapeto the thrust strategy that becomes thus determined unequivocally by a finite numberof parameters, effectively reducing the OCP into an NLP (from infinite dimen-sion to a finite number). In the following two sections we introduce two particularinstances of chemical propulsion problems: the MGA problem and the MGA-1DSMproblem.

7.4 The MGA Problem

The MGA problem definition that follows is a generalization of that given by Izzoet al. [3]. We define the general form of the MGA trajectory optimization problemas the following instance of problem P ′

Optimize: φ(t1s , tNf , x1s , xN

f )

Subject to: xi = g(xi) + ui(t), ∀i = 1..N dynamic con.

G(t1s , tNf , x1s , xN

f ) ≤ 0 boundary con.

�i(tis, tif , xi

s, xif ) ≤ 0, ∀i = 1..N phase boundary con.

�i(xi+1s , xi

f , ti+1s , tif ) ≤ 0, ∀i = 1..N − 1 phase matching con.

(7.4)

where:

• Thrusting is possible only at the beginning of each trajectory leg and at arrivaland is impulsive: Ti = mi�Viδ(t − tis), ∀i = 1..N − 1, TN = mN�VNδ(t − tNs ) +�VN+1δ(t − tNf ).

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 182 — #5

182 Global Optimization & Space Pruning

• The phase matching constraints include �mi = 0, �ti = 0 , ∀i = 1..N − 1and rp(vi

f , vi+1s , tif ) ≥ ri

p, �Vi = F1(vif , vi+1

s , tif ), ∀i = 2..N − 1. The expressionfor the functions F1 and rp are given in appendix A and model a planetocentrichyperbolic trajectory phase where the spacecraft is allowed to thrust tangentiallyat the periplanet (powered flyby).

• The boundary constraints include the launcher performances m1s = G(v1

s , t1s ),the departure thrust impulse definition �V1 = M(v1

s , t1s ), and the arrival thrustimpulse definition �VN+1 = N(vN

f , tNf ). The expression for G, M, and N areproblem dependent and are part of the further problem instantiation.

From an engineering point of view, these assumptions model a spacecraft equippedwith chemical propulsion engines, that is, high thrust engines that deliver their accel-eration to the spacecraft in a very short time and that are able to thrust only at eachplanet. As noted before, we no longer have an optimal control problem (OCP) asui = [0, Ti

mi , 0] is now fully defined by a finite number of parameters. At this stage,the variables to be optimized, that is, the decision vector, are the initial mass m1

sand the start and final epochs of each leg tis, t

if . The whole dynamic xi(t) during each

phase i, and thus all of the constraints can be, as shown in the following, determinedby these variables, allowing us to simplify the problem solving explicitly most of theconstraints, starting from the dynamic constraints, and thus reducing the problemcomplexity and dimension.

7.4.1 Spacecraft Position and Velocity

The dynamic constraints relative to ri and vi may be solved explicitly if we considerthem separately grouped with the appropriate phase boundary constraints appearingin Equation (7.3) as follows

⎧⎪⎪⎨⎪⎪⎩

ri = vi

vi = − μ

ri3ri

ris = Ri(tis), r

if = Ri+1(tif )

. (7.5)

For each phase, the above two-points boundary value problem defines what iscommonly known as a Lambert’s problem [2]. Such a problem admits 2(1 + 2Mi)

solutions where Mi ∈ [0, ∞) is an integer depending on the boundary conditions ina rather complex way. Solutions to the Lambert’s problem are commonly dividedinto posigrade orbits and retrograde orbits according to the direction of their angu-lar momentum vector hi = ri ∧ vi with respect to the ecliptic frame. Also, theyare divided into multirevolution and single revolution, according to the number oftimes the initial position is acquired during the trajectory (one or more). To simplifythe problem, we consider only single-revolution and posigrade solutions (a generalformal treatment of the MGA problem not using these hypotheses can be found inIzzo et al. [3]). Under these hypotheses, Lambert’s problem always admits a uniquesolution, and we may thus derive the relations ri(t) = Li

r(t, tis, t

if ), vi(t) = Li

v(t, tis, t

if ).

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 183 — #6

7.5 The MGA-1DSM Problem 183

7.4.2 Spacecraft Mass

Also the remaining dynamic constraint, relative to the mass, can be solved explic-itly. From the MGA problem definition we know the thrust law along each phase.Considering last of Equation (7.5) (relative to the spacecraft mass), we have mi =− �Vi

Ispg0miδ(t − tis). Integrating from tis to tif , we may write explicitly the mass as a

function of time using the Heaviside step function H and explicitly using the phasematching constraints �mi = 0

mi(t) = m1s exp

⎛⎜⎝−

∑N

i=1�ViH(t − tis) + �VN+1H(t − tNf )

Ispg0

⎞⎟⎠ . (7.6)

Eliminating m1s and �Vi in the expression above by explicitly using the various con-

straints F1, G, M, N in the general MGA problem definition, we may eventually writemi(t) = Li

m(t, t1s , .., tis, t1f , .., tif ).

7.4.3 The Final Form

In the remaining phase, matching constraint we still have, from the definition of theMGA problem, �ti = 0 → tif = ti+1

s , which allows us to eliminate N − 1 further

variables. Choosing as new variable notation t0 = t1s and ti = ti−1f , ∀i = 1..N we

define the decision vector as p = [t0, t1, .., tN ]. For each choice of the decision vector,the whole spacecraft state xi(t) is known throughout phase i and the general form ofthe MGA problem described by Equation (7.4) is thus reduced to

Optimize: φ(p)

Subject to: G(p) ≤ 0 boundary con.rp(ti−1, ti, ti+1) ≥ ri

p phase matching con.(7.7)

where no phase boundary constraints are left as they all are explicitly satisfied. Theabove problem is defined here as the MGA problem and has a dimension N + 1.

We have formally presented the procedure to transcribe a trajectory optimiza-tion problem into an MGA problem, highlighting the hypotheses that underlie thisparticular transcription. Further specification of the objective function, of the bound-ary constraints, and of the decision vector bounds will create different instances ofthe MGA problem.

7.5 The MGA-1DSM Problem

The MGA-1DSM problem definition that follows generalizes a number of particularproblem instances studied in previous works [4, 5, 6]. We define the general formof the MGA-1DSM trajectory optimization problem as the following instance of

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 184 — #7

184 Global Optimization & Space Pruning

problem P ′

Optimize: φ(t1s , tNf , x1s , xN

f )

Subject to: xi = g(xi) + ui(t), ∀i = 1..N dynamic con.

G(t1s , tNf , x1s , xN

f ) ≤ 0 boundary con.

�i(tis, tif , xi

s, xif ) ≤ 0, ∀i = 1..N phase boundary con.

�i(xi+1s , xi

f , ti+1s , tif ) ≤ 0, ∀i = 1..N − 1 phase matching con.

(7.8)

where:

• Thrusting is possible only at departure, at arrival, and once at some pointalong each phase and is impulsive: T1 = m1�V0δ(t − t1s ) + �V1δ(t − t1),Ti = mi�Viδ(t − t i), ∀i = 2..N − 1, TN = mN�VNδ(t − tN) + �VN+1δ(t − tNf ).

• The phase matching constraints include �mi = 0, �ti = 0 , ∀i = 1..N − 1,rp(vi

f , vi+1s , tif ) ≥ ri

p ∀i = 1..N − 1 and viin = vi

out , ∀i = 1..N − 1, where viin =

|vif − Vi+1(tif )|, vi

out = |vi+1s − Vi+1(ti+1

s )|, and the functional relationship rp isthe same as in the MGA problem and is given in appendix.

• The boundary constraints include the launcher performances m1s = G(v1

s , t1s ),the departure thrust impulse definition �V0 = M(v1

s , t1s ), and the arrival thrustimpulse definition �VN+1 = N(vN

f , tNf ). The expression for G, M, and N areproblem dependent and are part of the further problem instantiation.

These hypotheses model a spacecraft equipped with chemical propulsion engines,able to thrust at departure, at arrival, and only once during each trajectory phaseand never during planetary flybys. The MGA-1DSM problem removes most of thelimitation of the MGA problem and is an accurate problem transcription for manypreliminary trajectory design cases. The most important remaining limitation of thisproblem transcription is in the fixed number of DSM allowed in each phase. As in theMGA problem, the optimal control problem is transformed into an NLP problemas the control ui(t) is now fully parameterized by a discrete number of variables.At this stage, the variables to be optimised, that is, the decision vector, are theinitial mass mi

s and, for each phase, the vector pi = [tis, vis, t

i, tif ]. The whole dynamic

during each phase xi(t) is, as shown in the following, determined analytically bythese variables, allowing us to simplify the problem solving explicitly most of theconstraints, starting from the dynamic constraints, and thus reducing the problemcomplexity and dimension.

7.5.1 Spacecraft Position and Velocity

Let us focus on the i-th phase. Given tis and vis, it is possible to find ri(t) and vi(t) for

t ≤ t i using the known analytical solution to Kepler’s problem expressed, for exam-ple, in terms of the Lagrange coefficients [2]. The initial position is also known from

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 185 — #8

7.5 The MGA-1DSM Problem 185

the phase boundary constraints and is ris = Ri(tis). From t i to tif , we also can derive

explicitly the spacecraft position and velocity by considering (as in the MGA case)the dynamic constraints separately grouped with the appropriate phase boundaryconstraints appearing in Equation (7.3) as follows

⎧⎪⎨⎪⎩

ri = vi

vi = − μ

ri3ri

ri(tis) = ri(t i), ri(tif ) = Ri+1(tif ).

This is again a Lambert’s problem that, under the same hypotheses assumed for theMGA case, always admits a unique solution and allows us to derive the relationsri(t) = Li

r(t, pi), vi(t) = Li

v(t, pi). Note that in t i, the spacecraft velocity will be

discontinuous as the value evaluated using the Lagrange coefficients will generallydiffer from that returned by the Lambert’s problem solution. Such a discontinuitydefines the velocity increment �Vi, i = 1..N as a function of pi.

7.5.2 Spacecraft Mass

As was done in the case of the MGA problem, by explicitly using the phase match-ing constraints �mi = 0 and the equation for the mass, we may derive the simpleexpression

mi(t) = m1s exp

⎛⎜⎝−

�V0H(t − t1s ) +∑N

i=1�ViH(t − tis) + �VN+1H(t − tNf )

Ispg0

⎞⎟⎠ .

(7.9)

Eliminating m1s and the �Vi in the expression above by explicitly using the launcher

performance, the departure and arrival thrust impulse definitions, we may eventuallywrite mi(t) = Li

m(t, p1, .., pi).

7.5.3 The Final Form

All the remaining phase constraints from the definition of the simple MGA-1DSMproblem may also be explicitly satisfied using suitable variable changes in the decisionvector. In particular we may substitute the variables vi for each phase, except thefirst one, with the periplanet of the planetocentric hyperbola ri

p and the b-planeorientation β i using the existing functional relationship

vi+1s = F2(vi

f , Vi+1(ti+1s ), ri+1

p , β i+1) (7.10)

that describes explicitly the flyby dynamics satisfying explicitly the phase constraintsvi

in = viout , ∀i = 1..N − 1 (see Appendix A) and allows to transform the nonlinear

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 186 — #9

186 Global Optimization & Space Pruning

constraint rp(vif , vi+1

s , tif ) = rip ≥ ri

p into a lower bound for the introduced decision

vector variable rip. Eventually eliminating further variables using the phase matching

constraint �ti = 0, we have a decision vector p = [t1s , v1s , t1, t1f , r2

p, β2, t2, t2f , ..]. To sim-plify the search space structure, we introduce some variable substitutions. Instead ofthe heliocentric spacecraft initial velocity v1

s , we use the variables V∞, u, v defined as

v1s = V∞

(cos(θ) cos(φ)i + sin(θ) cos(φ)j + sin(φ)k

)

θ = 2πu

φ = arccos(2v − 1) − π/2

i = V1(t1s )/|V1(t1s )|k = R1(t1s ) ∧ V1(t1s )/|R1(t1s ) ∧ V1(t1s )|j = k ∧ i.

Also, instead of the absolute epochs tif we use the transfer times T1 = t1f − t1s ,

Ti = tif − ti−1f and instead of t i we use ηi defined as t1 = t1s + T1η1, t i = ti−1

f + Tiηi.

The decision vector used will thus be p′ = [t1s , V∞, u, v, η1, T1, r2p, β2, η2, T2, ..]. This

allows us to specify as upper and lower bounds on the decision vector what wouldotherwise need to be nonlinear constraints. Eventually the general form of the simpleMGA-1DSM problem described by Equation (7.8) is reduced to

Optimize: φ(p′)Subject to: G(p′) ≤ 0 boundary con.

(7.11)

No phase matching constraints or phase boundary constraints are left as we haveexplicitly satisfied all of them, reducing the search space structure to a hyper-rectangle. The remaining boundary constraints, as detailed later in the description ofparticular instances of this problem, express, typically, a maximum trajectory lengthduration or other particular mission requirements. The MGA-1DSM problem, asdefined here, includes trajectories with multiple revolutions and with no deep spacemaneuvers in a particular phase. Thus, this particular transcription creates a contin-uous optimization problem while being able to describe discrete decision variablessuch as the number of revolutions or the use of a deep space maneuver during atrajectory phase.

7.6 Benchmark Problems

We now describe the detailed instantiation of some MGA and MGA-1DSM prob-lems that can be used as test problems to study the performance of global optimizationsolvers or of space pruning techniques. All problems proposed present very largebounds to be representative of the type of trajectory optimization often required inpreliminary mission design phases. For each problem we define the flyby sequence,

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 187 — #10

7.6 Benchmark Problems 187

the objective function, the bounds on the decision vector variables, and the constraintexpressions. Clearly there are a number of other factors that influence, to somesmaller extent, the exact calculation of the objective function, such as the values ofthe different planetary gravitational constants, the planet ephemerides used (that is,the functions Ri, Vi), the planets’ radii, and so on. To allow the scientific communityto share a common implementation of each problem instance, the code in C++ andMatlab of each one of the problems described in detail here is available for down-load from the European Space Agency Global Trajectory Optimisation Problems(GTOP) database [7]. A preliminary description of some of these test problems isalso given by Vinko [8]. We also report the best putative global optima known atthe time of writing as taken from the GTOP database where the reader can also findexact numerical details of the solutions here reported.

7.6.1 Cassini1

This problem is a particular instance of the MGA problem as defined in Equation(7.7). It has N = 5 phases and hence N+1 = 6 celestial bodies are defined in the flybysequence: Earth, Venus, Venus, Earth, Jupiter, and Saturn. Thus the decision vectoris p = [t0, .., t5] and contains the epochs of each planetary encounter. The objectivefunction is defined as φ(p) = −g0Isp log(mN

f /m1s ), where the ratio between the final

and the initial mass mNf /m1

s is given by Equation (7.6) evaluated at tNf . Note that,after taking the logarithm, the objective function is essentially the sum of the variousvelocity increments: φ(p) = ∑

�Vi. No further constraints are considered exceptthose appearing in the generic MGA problem definition. The Cassini1 problem canbe written as

Minimize: −g0Isp log(mNf /m1

s ) = ∑�Vi

Subject to: rp(ti−1, ti, ti+1) ≥ rip, ∀i = 1..N − 2 phase matching con.

(7.12)

The departure thrust impulse is defined as �V1(t0, t1) = |V1(t0) − v1s |, the arrival

thrust impulse is defined as an orbital insertion as detailed in the Appendix A (rinsp

and eins are given in Table 7.3). The launcher performance is in this case not rele-vant, as the value of the initial spacecraft mass m1

s does not appear anywhere in theproblem definition (the objective function depends only on the velocity increments).Introducing the variable change Ti = ti − ti−1, i = 1..5, the exact values needed todefine this test problem are given in Table 7.1. The Cassini1 problem admits a putativeglobal optima at φ = 4.93 km/s and is characterized by a number of local optima witha very strong basin of attraction, particularly noteworthy the one at φ = 5.30 km/sthat seems to be very difficult for many optimization techniques to overcome.

7.6.2 GTOC1

This problem is a particular instance of the MGA problem as defined in Equation(7.7). It has N = 7 phases and hence N + 1 = 8 celestial bodies (the flyby

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 188 — #11

188 Global Optimization & Space Pruning

Table 7.1. Bounds and other parameters for the problem Cassini1

Variable Lower Bound Upper Bound units parameter value units

t0 −1000 0 (MJD2000) r1p 6351.8 km

T1 30 400 days r2p 6351.8 km

T2 100 470 days r3p 6778.1 km

T3 30 400 days r4p 671492 km

T4 400 2000 days rinsp 108950 km

T5 1000 6000 days eins 0.98

Table 7.2. Bounds and other parameters for the problem GTOC1

Variable Lower Bound Upper Bound units parameter value units

t0 3000 10000 (MJD2000) r1p 6351.8 km

T1 14 2000 days r2p 6778.1 km

T2 14 2000 days r3p 6351.8 km

T3 14 2000 days r4p 6778.1 km

T4 14 2000 days r5p 600000 km

T5 100 9000 days r6p 70000 km

T6 366 9000 days �Vlau 2.5 km/s

T7 300 9000 days m0 1500 kgIsp 2500 sec

sequence) are forced to be encountered by the spacecraft along its trajectory: Earth,Venus, Earth, Venus, Earth, Jupiter, Saturn, TW299. Thus, the decision vector isp = [t0, .., t7] and contains the epochs of each planetary encounter. The objectivefunction is defined as φ(p) = mN

f |(VN+1 − vNf ) · VN+1| and no further constraints

are considered except those appearing in the generic MGA problem definition. TheGTOC1 problem can be written as

Maximize: φ(p) = mNf |(VN+1 − vN

f ) · VN+1|Subject to: rp(ti−1, ti, ti+1) ≥ ri

p, ∀i = 1..N − 2 phase matching con.(7.13)

where the final mass mNf is given by Equation (7.6) evaluated in tNf . The departure

thrust impulse is defined as �V1(t0, t1) = max(|V1(t0) − v1s | − �Vlau|, 0), the arrival

thrust impulse is defined as �VN+1 = 0. The launcher performance is defined asm1

s = m0. Introducing the variable change Ti = ti − ti−1, i = 1..7, the exact valuesneeded to define this test problem are given in Table 7.2. The GTOC1 problemadmits a putative global optima at φ = 1, 580, 599 kg km2 /s2 and is characterized bya large number of local optima at almost all objective function ranges.

7.6.3 Rosetta

This problem is a particular instance of the MGA-1DSM problem as defined inEquation (7.11). It has N = 5 phases and hence N + 1 = 6 celestial bodies (the

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 189 — #12

7.6 Benchmark Problems 189

flyby sequence) are forced to be encountered by the spacecraft along its trajectory:Earth, Earth, Mars, Earth, Earth, Jupiter, Saturn, 67P/Churyumov-Gerasimenko..Thus, the decision vector is p = [t1s , v1

s , t1, t1f , r2p, β2, t2, t2f , ..]. The objective function

is defined as φ(p) = −g0Isp log(mNf /m1

s ), where the ratio between the final and the

initial mass mNf /m1

s is given by Equation (7.9) evaluated in tNf . Note that, after takingthe logarithm, the objective function is essentially the sum of the various velocityincrements: φ(p′) = ∑

�Vi. The Rosetta problem can thus be written as

Minimize: −g0Isp log(mNf /m1

s ) = ∑�Vi (7.14)

and is an unconstrained global optimization problem. The departure velocity incre-ment is defined as �V0 = 0, the arrival velocity increment is defined as �VN+1(p′) =|VN(tNf )−vN(tNf )|. The launcher performance is in this case not relevant, as the value

of the initial spacecraft mass m1s does not appear anywhere in the problem definition

(the objective function depends only on the velocity increments). The exact valuesneeded to define this test problem are given in Table 7.3. The Rosetta problem admitsa putative global optima at φ = 1.34 km/s.

Table 7.3. Lower and upper bounds defining the MGA-1DSMproblems Rosetta and TandEM

Rosetta TandEM

Variable LB UB units LB UB

t0 1460 1825 MJD2000 5475 9132Vinf 3 5 km/s 2.5 4.9u 0 1 0 1v 0 1 0 1T1 300 500 days 20 2500T2 150 800 days 20 2500T3 150 800 days 20 2500T4 300 800 days 20 2500T5 700 1850 daysη1 0.01 0.9 0.01 0.99η2 0.01 0.9 0.01 0.99η3 0.01 0.9 0.01 0.99η4 0.01 0.9 0.01 0.99η5 0.01 0.9r1p 1.05 9 Planet Radii 1.05 10

r2p 1.05 9 Planet Radii 1.05 10

r3p 1.05 9 Planet Radii 1.05 10

r4p 1.05 9 Planet Radii

β1 −π π rad −π π

β2 −π π rad −π π

β3 −π π rad −π π

β4 −π π rad

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 190 — #13

190 Global Optimization & Space Pruning

7.6.4 Constrained TandEM–Atlas501–EVEEJ

This problem is a particular instance of the MGA-1DSM problem as defined inEquation (7.11). It has N = 4 phases and hence N + 1 = 5 celestial bod-ies (the flyby sequence) are forced to be encountered by the spacecraft alongits trajectory: Earth, Venus, Earth, Earth, Jupiter. Thus the decision vector isp = [t1s , v1

s , t1, t1f , r2p, β2, t2, t2f , ..]. The objective function is defined as φ(p) = mN

f ,

where the final mass is given by Equation (7.9) evaluated in tNf . We also introducea global constraint on the total trajectory duration. The TandEM-Atlas501-EVEEJ(in the following “TandEM problem” for brevity) can thus be written as

Minimize: mNf

subject to: tNf − t1s ≤ ttot(7.15)

and is a constrained global optimization problem where the total trajectory time islimited to ttot = 10 years. The departure thrust impulse is defined as �V0 = 0, thearrival thrust impulse is defined as an orbital insertion as detailed in the Appendix(rins

p = 80, 330 km and eins = 0.9853). The launcher performance is that of Atlas-501obtained as detailed in Appendix A using the table given by NASA Launch Services(NLS) Launcher Performances. Outside the reported declinations (± 28.5 deg), anull mass is considered. The TandEM problem admits a putative global optima atφ = 1437.58 kg.

7.7 Global Optimization

The advantage of transcribing a given trajectory design problem into a well-definedoptimization problem stems from the possibility of using computer algorithms toachieve a complete automation of the design. Each problem instance can in fact becoded into a black-box function expressing the functional relationship between thedecision vector and a figure of merit expressing the quality of the related trajec-tory and its constraint violations. Derivative-free global optimization algorithms canthen be applied to try finding optimal solutions. This approach to designing space-craft trajectories is reaching a great maturity and promises a completely unbiasedand automated listing of optimal trajectory options. Algorithms such as DifferentialEvolution, Genetic Algorithms, Particle Swarm Optimization, Simulated Anneal-ing, and, even more recently, Monotonic Basin Hopping, just to quote a few, haveall been tried with different degrees of success. It is important to be aware that allof the above algorithms are able to solve some particular instances of the trajec-tory problems. Simply taking a suitable problem instance, it is possible to achievegood performances in almost all cases. It is crucial to escape the temptation to pickan algorithm, perhaps introduce some modifications, and present a few pseudo-randomly selected trajectory optimizations where its performances seem good. Withthis respect, the test problems introduced here, in Vinko et al. [8], and in general

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 191 — #14

7.7 Global Optimization 191

Table 7.4. Performances of off-the-shelf solvers on two MGA test problemsover 100 runs

Problem Paradigm DE PSO MPSO SA-AN SGA

Cassini1(min =4.93 )

Mean 8.57 9.47 7.05 11.67 7.09Std 3.29 4.20 2.39 4.236 2.30Min 4.93 5.33 5.43 5.12 5.44Max 16.71 22.90 15.53 23.44 17.98

GTOC1(max =1,580,599 )

Mean 1,140,759 759,221 602,331 1,179,835 907,781Std 146,589 174,463 125,163 139,590 232,290Min 836,772 295,143 341,780 846,720 81,820Max 1,523,629 1,134,860 876,177 1,511,767 1,416,050

Table 7.5. Performances of off-the-shelf solvers on twoMGA-1DSM test problems over 100 runs

Problem Paradigm DE PSO MPSO SA-AN SGA

Rosetta(min =1.34 )

Mean 7.55 10.36 10.76 4.13 9.95Std 1.82 2.72 1.93 0.94 3.29Min 3.94 5.34 7.01 2.61 4.35Max 13.26 15.79 15.46 6.65 17.52

TandEM(max =1437.58 )

Mean 216.32 144.03 108.12 625.26 78.75Std 80.35 135.79 50.42 254.62 80.50Min 95.28 22.42 33.57 60.43 3.78Max 460.87 862.64 321.37 1298.19 498.22

those present in the GTOP database [7] can offer a significant help in understand-ing the value of any proposed algorithm under the conditions that the bounds, theparameter values, and the underlying models are left untouched. They describe a fairrange of quite complex interplanetary spacecraft trajectory optimization problems.Some of them have a rather academic value, like Cassini1 or GTOC1, and some areinstead quite close to the type of problems mission designers solve in preliminaryphases of the trajectory design process, like Rosetta or the constrained TandEMproblem.

In Table 7.4 and Table 7.5, we list the performances that several standard imple-mentation of popular heuristics paradigms achieve on the described test problems.These results can give a feel for the type of performances one can expect by applying

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 192 — #15

192 Global Optimization & Space Pruning

a given paradigm but should in no way be considered as a general comparison tablebetween paradigms, as the tables are obtained by choosing a particular algorithmicsetting that can, no doubt, be improved by tuning appropriately the various con-stants or by changing some implementation details. The algorithms tested are allwell described in the literature and we here only briefly touch upon them:

• DE: The Differential Evolution paradigm has been found by Myatt et al. [9] tobe a good solver for spacecraft trajectory optimization problems and is describedin detail in the work by Storn and Price [10]. It is fully defined by the strategyadopted (several are proposed in the original paper) the population size NP, andtwo parameters, the weighting factor F and the crossover ratio CR.

• PSO: The Particle Swarm Optimization algorithm, in its simplest form, has beenproposed by Kennedy and Eberhart [11] and is fully defined by the number ofparticles NP, the inertia weight ω, by the cognitive component factor η1, and thesocial component factor η2.

• MPSO: The Multiple Particle Swarm Optimization algorithm is a variation to thecanonic PSO whereby multiple swarms are performing the search independentlyexcept randomly swapping every k iterations the swarm membership. It has beenfound to provide some advantages over PSO in [12] and is fully defined by k, thenumber of particles NP, the inertia weight ω, the cognitive component factor η1,the social component factor η2, and the number of swarms n.

• SA-AN: The Simulated Annealing with Adaptive Neighborhood paradigm [13]is a variation to the Simulated Annealing, where the sampling neighborhoodfor each decision vector component is adaptively changed according to theacceptance rate of new solutions. There are many ways of implementing such aparadigm; here we use the algorithm proposed by Corana [13] detailed in theAppendix B using re-annealing and that is fully defined by the starting temper-ature Ti, the final temperature Tf , and the annealing speed nfann defining thenumber of function evaluation allowed for each annealing.

• SGA: The Simple Genetic Algorithm is a basic version of a genetic algorithm[14] that uses roulette wheel selection, exponential crossover, uniform mutation,and an elitist strategy. The free parameters for this algorithm are the populationsize NP, the mutation probability M of each gene, and the crossover ratio CRdefined in the same way as that of the DE algorithm.

In the test results presented here, each algorithm was left free to calculate forenough function evaluations allowing a statistical convergence of the results. Thatis, the results given in the tables refer to a fixed number of function evaluationsFEVAL and would not be significantly statistically different (a pair-wise Welsh testhas been carried out with a confidence level of 95%) if the results were compiledafter FEVAL/2 function evaluations. For all tests, FEVAL = 1,200,000 except forCassini1 where FEVAL = 80,000. All population-based algorithms were tested witha population size NP = 20. The parameters for DE are F = 0.7, CR = 0.7, and thestrategy DE/rand/1/exp was used. For PSO we used ω = 0.65, η1 = η2 = 2. For

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 193 — #16

7.7 Global Optimization 193

MPSO we used the same settings as for PSO and n = 4 swarms, that is, each swarmhad five particles. For the GA we used M = 0.2 and CR = 0.7. For SA-AN we useda starting temperature Ti = 10 for Cassini1 and Rosetta, Ti = 100,000 for GTOC1and Ti = 1 for TandEM, a final temperature of Tf = 0.036 for Cassini1 Tf = 138for GTOC1, Tf = 0.073 for Rosetta, and Tf = 0.0024 for TandEM. All SA-ANsimulations were allowed nfsa−an = 10, 000 function evaluations per annealing cycle.

7.7.1 Discussion

The results presented aim at showing that the standard implementations of the globaloptimization algorithms tested all have, to different degrees, quite poor reliabilityand performances if applied directly to the difficult interplanetary test problemsproposed. The straightforward use of these algorithms seem thus to fail providing thehoped automated and unbiased approach to complex trajectory optimization. Tuningthe various algorithms parameters can surely offer a performance improvement thatcomes, though, at the cost of further objective function evaluations and needs to beperformed for each problem instance. From the results reported here and from theexperience accumulated by this author in several other experiments, we can claimthat DE and SA-AN are the best performing algorithms, DE being particularlyefficient in MGA problems and SA-AN, whose performances are reported herefor the first time, appearing to outperform all others in MGA-1DSM problems. Afurther performance improvement can also be obtained by letting heterogeneousversions of these algorithms run in parallel in a so-called island model1, as recentlysuggested by Izzo et al. [15]. Other algorithms are available that have not been testedhere, and new ones are certain to come in the future. Noteworthy is the case of theBasin Hopping algorithm [16] that has been very recently applied, to the knowledgeof this author, for the first time by Bernadetta Addis, Fabio Schoen, and MarcoLocatelli to a great number of interplanetary trajectory problem instances (also tothe ones described here) locating reliably good solutions and beating consistently allthe known global optima [7]. Another approach able to find reliably a large numberof good trajectory options in reasonable computational times is that of applyingglobal optimization algorithms on a reduced portion of the search space obtainedby pruning out regions according to some predefined criteria. This way the probleminstance complexity can be substantially reduced allowing different algorithms toreliably converge in short times to optimal solutions. In the next sections, we willintroduce two of such techniques and we will comment on how, while allowing foran automated and efficient search, they introduce the need to perform a number of

1The island model is one successful paradigm to perform heuristic global optimization ina CPU network by having different sets of solutions being optimized separately in differentislands, typically assigned to different CPUs, and letting some solutions stochastically moveto new islands following predefined “migration” paths. A careful setup of such a system canbring to an improvement that is superlinear with the respect to the number of CPUs used andeventually to the definition of a new algorithm outperforming those operating on the singleislands.

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 194 — #17

194 Global Optimization & Space Pruning

choices on the pruning criteria that need to be carefully made as not to introduceunwanted biases in the optimization process.

7.8 Space Pruning

The term space pruning refers to all techniques that allow reduction of search spacefocussing the optimization in smaller areas where the optimal solutions are to befound. The output of a typical pruning process is a set of hyperrectangles containedin the original search space where, according to some criteria, good solutions areexpected. There are a large number of criteria that can be adopted to define suchregions and that are dependent on the particular problem instance considered, herewe introduce techniques that are generically applicable to a whole problem class,regardless of the instantiation details.

7.8.1 Pruning the MGA Problem: GASP

For the MGA problem an efficient pruning method is that developed by Myatt et al.[9, 3] and named Gravity Assist Space Pruning (GASP). The details of such a tech-nique are well described in these two references and are thus not reported here. Themethod is based on the possibility of incrementally dividing the MGA problem in acascade of two-dimensional problems where grid sampling is computationally effi-cient. Propagating back and forward pruning criteria defined on the flyby constraintsatisfaction and on maximum �Vi allowed, it is then possible to reduce the numberof sampled points to a fraction of the original space. For the Cassini1 problem, aspace reduction of six-order of magnitude is reported. The polynomial complexity ofthe resulting algorithm has also been demonstrated both with respect to the grid sizedefined for each two-dimensional problem and to the overall problem dimension.While polynomial complexity as such does not necessarily lead to efficient algorithms,in the case of GASP the low exponents involved produce an incredibly fast prun-ing algorithm that allow to reliably solve MGA problems locating all good launchwindows and the globally optimal solution contained therein. Recent attempts havebeen made to improve the GASP algorithm to allow a mathematical proof on theglobal optimality of the found solution [17] or to extend it to low-thrust trajectories[18] and to problems similar to the MGA-1DSM [19, 20, 21]. In these methods, poly-nomial complexity is retained, but with much larger exponents, or to the price of anexcessive problem simplification that make the resulting implementations of a ratherlimited use.

7.8.2 Pruning the MGA-1DSM Problem: Cluster Pruning

The cluster pruning algorithm we propose here was developed by Marco del ReyZapatero and by this author during March 2008 at the Advanced Concepts Team andis reported here for the first time. It results in the possibility to achieve full automationof the trajectory optimization process at the cost of employing appropriate computing

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 195 — #18

7.8 Space Pruning 195

power. The algorithm is based on the observation that in the MGA-1DSM problem,good solutions are often clustered in a small portion of the solution space rather thanbeing equally distributed all over it. This is quite intuitive for variables such as t1s ,that is, the launch date, but is also equally valid for the other variables, as we willsee. Each cluster of solutions corresponds to a different strategy and can be detectedautomatically and further explored in more depth as isolated problems by globaloptimization algorithms. The following pseudoalgorithm illustrates the approach inmore detail:

(1) instantiate the problem with bounds LB, UB(2) while not convergence-criterion(3) perform N optimizations using the algorithm A(4) refine the N solutions found using a local optimization technique (optional)(5) identify clusters of good solutions(6) prune according to the results obtained and define new bounds LB, UB

In step 1, an MGA1-DSM problem is instantiated. In the following main loop, aglobal optimization algorithm is used to produce N solutions to the problem. Thesolutions, representing local optima of varying quality, are then optimized locally;this step is not necessary but helps in reducing the total pruning steps. The obtainedtrajectories are later analyzed to identify regions where the best of them lie andthus to produce reduced bounds. At each iteration, a smaller space is produced, andthe N following optimizations produce increasingly better solutions. The baselineperformances of the chosen algorithm A are crucial to the success of the process,as is the method used to produce the new bounds (or the set of new bounds in casemultiple clusters are allowed to be selected).

We illustrate the detailed steps of a possible implementation of the algorithmin the particular case of the MGA-1DSM problem TandEM. We select one the bestperforming algorithms from Table 7.5, that is Simulated Annealing with AdaptiveNeighborhood. Performing N = 100 optimization on the full problem, we obtain therelatively poor results reported on the same table. We evaluate the p percentile ofthe different objective functions returned and consider only the decision vectors xthat are above such a value. We set the new bounds to LBnewi = min(xi) − (UBi −LBi)p/100/2 and UBnewi = max(xi) + (UBi − LBi)p/100/2 only if these are stillwithin the old bounds.

In Table 7.6 we report the results of the N = 100 runs of the SA-AN algorithmat each pruning step (we perform four iterations of the cluster pruning algorithmwith increasing percentile levels of 80, 90, and 95. At the end of each iteration,we run a local optimizer starting from all the N trajectories found. A total of 400locally optimal trajectories is thus computed during the process.). In Figure 7.1, asan example, we show the values of u and T3 for these 400 solutions together withthe bounds at each pruning steps. The final best solution can be further improvedby performing iteratively local optimization starting from a close neighborhood. Wethus find a new putative global optimum at mN

f = 1,476.01 kg improving the known

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 196 — #19

196 Global Optimization & Space Pruning

Table 7.6. Stochastic pruning for the TandEM-Atlas501-6 MGA–1DSM problem

Problem Pruning iterations 0 1 (p = 80) 2 (p = 90) 3 (p = 95)

TandEM-Atlas501-6(max) Mean 625.26 838.94 1060.74 1445.45

Std 254.62 269.31 262.08 38.133Min 60.43 249.37 341.2 1370.52Max 1298.19 1381.38 1475.22 1475.71

0 500 1000 1500 2000 25000

500

1000

1500

0 0.2 0.4 0.6 0.8 10

500

1000

1500

Full Bounds

1st Pruning

2nd Pruning

3rd Pruning

u

T3 (Days)

Figure 7.1. Plot of u and T3 against the final mass for all the 400 computed trajectories. Thebounds reduction obtained by pruning is also visualized. Note the Earth-Earth transfer timesresonances clearly visible as clusters in the T3 graph.

best solution reported in the GTOP database [7]. The corresponding trajectory isvisualized in Figure 7.2.

At the end of the process, we have not only a putative globally best trajectory,but a large number of other trajectories distributed in those parts of the search spacewhere good solutions are likely to be found and thus a thorough representation ofthe solution space that is necessary in the preliminary phases of the trajectory designprocess when requirements change quite often (for example, bounds and constraints)and it is not possible to run a new optimization at each time. It is noteworthy thatthe global best solution employs only one deep space maneuver, that is, betweenthe two consecutive Earth flybys, but this strategy was not imposed a priori; ratherit is a result of the optimization process. In the best solution found, no multiplerevolutions are present. While these can in principle increase the final mass, theconstraint on the total flight duration in this case drives the optimization processtoward trajectories that do not make use of multiple revolutions as not to lose time.Once again, this is not imposed upfront, but it is a result of the automated opti-mization process. Releasing the constraint on the total flight duration, some tests

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 197 — #20

7.9 Concluding Remarks 197

−2 0 2 4 6 8x 108

−2

0

2

4

6

8

10

12

x 108 Spacecraft

Daparture mass 2085.44 kgArrival mass 1476.03 kgIsp 312 s

Departure

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

Cruise

Venus fly-by 30/04/2022Earth fly-by 04/04/2023DSM Epoch 13/01/2025DSM �V 167 m/sEarth fly-by 25/06/2026

Arrival

Epoch 03/07/2031V∞ 0.676 km/s

Total flight time 9.63 years

Figure 7.2. Putative globally optimal trajectory found in the TandEM problem using clusterpruning.

revealed that the optimal solutions indeed exploit multiple revolutions to increasethe final mass.

7.9 Concluding Remarks

Global optimization meta-heuristics are useful in automatically finding and selectinggood trajectory options between the often-many possibilities one has in the prelimi-nary phases of mission design. Their use and efficiency are established for chemicalpropulsion problems of high complexity (that is, large launch windows and multi-ple flybys) whenever approaches more sophisticated than the straightforward useof standard algorithms are adopted. It seems likely that future research results willaim at proving the use of these techniques for the automated computation of low-thrust trajectories as well. Preliminary results in this sense are already available andpointing to an increased need of computational resources. Under the assumptionthat the available computing power will keep increasing at the same pace in thenext decade, it thus seems possible to argue that a completely automated trajectorydesign process, at least in the case of patched two-body problems, may sooner orlater be able to replace the current design methods relying substantially on expertknowledge, similar to how we no longer have to perform a full function study toobtain its graph.

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 198 — #21

198 Global Optimization & Space Pruning

Appendix 7A

Definition of rp (vin, vout , t) and F1 (vin, vout , t)

The functional expression relating the incoming and outgoing velocities during agiven planetary flyby at epoch t is described here. In the following, the spacecraft isallowed to have a tangential and impulsive velocity change at the periplanet so thatits trajectory will consist of two hyperbolas patched at the pericenter. Introducingthe relative velocities vin = |vin − V(t)|, vout = |vout − V(t)|, simple astrodynamiccalculations show that taking as length unit any L and as velocity unit

√μpla/L (where

μpla is the gravitational parameter of the planet considered), the angle between vin

and vout is given by

αi = arcsinain

ain + rp+ arcsin

aout

aout + rp(7.16)

where ain = 1/(vin · vin) and aout = 1/(vout · vout). Inverting this equation for rp,we define the function rp = rp(vin, vout , t). The velocity increment necessary at thepericenter, that is, the function F , is given by the simple relation

�V =∣∣∣√

(1/ain + 2/rp) −√

(1/aout + 2/rp))

∣∣∣ = F(vin, vout , t).

Note that in a MGA-1DSM problem as vin = vout , there is no velocity incrementneeded (F = 0), and the definition of rp can be obtained by explicit inversion of thefirst equation.

Definition of the Arrival Thrust Impulse N(v, t) as an Orbit Insertion

In case when at the arrival planet the spacecraft is inserted into an elliptic planeto-centric orbit having an assigned pericenter rins

p and eccentricity eins, the tangentialvelocity increment needed at the pericenter is determined by the spacecraft arrival

velocity v at epoch t. Taking as length unit rinsp and as velocity unit

√μpla/rins

p (where

μpla is the gravitational parameter of the planet considered), we have, from simpleastrodynamics

vp− =√

v2 + 2

vp+ =√

1 + eins

�V = |vp− − vp+| = N(v, t).

Definition of the Launcher Performances m = G(v, t)

When we want to model a particular launcher, its performances are often given interms of a table relating the mass that can be delivered by the launcher to a givenvalue of the hyperbolic escape velocity v and at a certain declination δ (this last being

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 199 — #22

Appendix 7B 199

referred to the equatorial reference system). These two quantities may be evaluatedfrom the heliocentric departure velocity v and the epoch t as

v = v − V(t)

vequ = Rv

sin δ = vequ · kvequ · k

where R is the rotation matrix that allows a change of reference system to theequatorial planetocentric. Then m can be found by interpolation.

Definition of vout = F2(vin, V, rp, β)

In a patched conic approximation, the spacecraft heliocentric velocity after a flyby canbe related to its incoming heliocentric velocity vin, the planet velocity V, the planeto-centric hyperbola periplanet rp, and its plane orientation β. The following equations,implementing standard astrodynamic calculations, describe such a relation

vin = vin − V

e = 1 + rp/μplav2in

δ = 2 arcsin(1/e)

vout = cos(δ)i + cos(β) sin(δ)j + sin(β) sin(δ)k

vout = vinvout

vout = V + vout

where the unit vectors are i = vinvin

, j = i∧V|i∧V| , and k = i ∧ j. Note that in this

representation, the incoming and outgoing hyperbolic velocities, vin, vout , are ofequal magnitude (no �V is modeled during the hyperbola) and form an angle δ. Thesecond angle, β, determines the position of the outgoing hyperbolic velocity on thecone with axis vin and aperture δ.

Appendix 7B

The particular implementation of the Simulated Annealing algorithm with AdaptiveNeighborhood (that we call SA-AN) is given in the following pseudocode describinga single annealing cycle.

1: Select a point x0

2: for i=1:no

3: for j=1:nt

4: for k=1:nr

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 200 — #23

200 Global Optimization & Space Pruning

5: for l=1:D6: alter xl component adding a random δ ∈ [−rl , rl]7: accept or refuse according to Metropolis criteria8: adjust each component of the neighborhood r using Corana’s method [13]

(the acceptance rate is evaluated separately for each component)9: adjust the temperature using T = αT

At the end of the annealing process, the temperature will be Tf = Tiαno . The total

number of function evaluation per annealing cycle has to be set and is nfann =nontnrD. We use nt = 1 and nr = 20 so that we adjust the neighborhoods and thetemperature simultaneously and we have enough points to evaluate the acceptancerate (here, 20 for each component). The starting neighborhood is set to be equal torl = UBl − LBl . We then perform re-annealing (that is, we restart the algorithmfrom the point returned by a previous run) up to when we reach the total number offunction evaluations FEVAL. The algorithm free parameters are Tf , Ti defining thecooling schedule, and nfann defining the annealing cycle speed.

R E F E R E N C E S

[1] Wertz, J., Larson, W., Kirkpatrick, D., and Klungle, D. (1999) Space Mission Analysisand Design, Microcosm Press.

[2] Battin, R. (1999) An Introduction to the Mathematics and Methods of Astrodynamics,AIAA.

[3] Izzo, D., Becerra, V., Myatt, D., Nasuto, S., and Bishop, J. (2007) Search Space Pruningand Global Optimisation of Multiple Gravity Assist Spacecraft Trajectories, Journal ofGlobal Optimization, 38, No. 2, 283–296.

[4] Vasile, M., and De Pascale, P. (2006) Preliminary Design of Multiple Gravity-AssistTrajectories, Journal of Spacecraft and Rockets, 43, No. 4, 794–805.

[5] Biesbroek, R., and Ancarola, B. (2002) Optimization of Launcher Performance and Inter-planetary Trajectories for Pre-Assessment Studies. IAF abstracts, 34th COSPAR ScientificAssembly, The Second World Space Congress, held 10-19 October, in Houston, TX,USA., pA-6-07IAF.

[6] Izzo, D. (2006) Advances in Global Optimisation for Space Trajectory Design. Proceed-ings of the international symposium on space technology and science, 25, p. 563.

[7] Izzo, D., Vinkó, T., and Del Rey Zapatero, M. (2007) GTOP Database: Global TrajectoryOptimisation Problems and Solutions. Web resource, http://www.esa.int/gsp/ACT/inf/op/globopt.htm

[8] Vinkó, T., Izzo, D., and Bombardelli, C. (2007) Benchmarking Different Global Optimi-sation Techniques for Preliminary Space Trajectory Design. Paper IAC-07-A1.3.01, 58thInternational Astronautical Congress, Hyderabad, India.

[9] Myatt, D., Becerra, V., Nasuto, S., and Bishop, J. (2004) Advanced Global OptimisationTools for Mission Analysis and Design. Tech. Rep. 03-4101a, European Space Agency,the Advanced Concepts Team, available online at www.esa.int/act

[10] Storn, R., and Price, K. (1997) Differential Evolution – A Simple and Efficient Heuristicfor Global Optimization over Continuous Spaces. Journal of Global Optimization, 11,No. 4, 341–359.

[11] Kennedy, J., and Eberhart, R. (1995) Particle Swarm optimization. Proceedings, IEEEInternational Conference on Neural Networks, 4.

[12] Blackwell, T., and Branke, J. (2004) Multi-Swarm Optimization in Dynamic Environ-ments. Lecture notes in computer science, 3005, 489–500.

CONWAY: “CHAP07” — 2010/6/3 — 16:53 — PAGE 201 — #24

References 201

[13] Corana, A., Marchesi, M., Martini, C., and Ridella, S. (1987) Minimizing MultimodalFunctions of Continuous Variables with the Simulated Annealing Algorithm. ACMTransactions on Mathematical Software (TOMS), 13, No. 3, 262–280.

[14] Holland, J. (1992) Genetic Algorithms Computer Programs That “Evolve” in Ways ThatResemble Natural Selection Can Solve Complex Problems Even Their Creators Do NotFully Understand. Scientific American, 267, 1992, 66–72.

[15] Izzo, D., Rucinski, M., and Ampatzis, C. (2009) Parallel Global Optimisation Meta-Heuristics using an Asynchronous Island-model. IEEE Congress on EvolutionaryComputation (IEEE CEC 2009), Trondheim, Norway, May 18-21.

[16] Wales, D., and Doye, J. (1997) Global Optimization by Basin-Hopping and the LowestEnergy Structures of Lennard-Jones Clusters Containing up to 110 Atoms. Journal ofPhysical Chemistry, 101, No. 28, 5111–5116.

[17] Armellin, R., Di Lizia, P., Topputo, F., and Zazzera, F. (2008) Gravity Assist SpacePruning Based on Differential Algebra. New Trends in Astrodynamics and ApplicationsV, Milano, June 30th–July 2nd.

[18] Schutze, O., Vasile, M., Junge, O., Dellnitz, M., and Izzo, D. (2009) Designing Opti-mal Low-Thrust Gravity-Assist Trajectories Using Space Pruning and a Multi-ObjectiveApproach. Engineering Optimization, 41, 155–181.

[19] Vasile, M., Ceriotti, M., Radice, G., Becerra, V., Nasuto, S., and Anderson, J. (2007)Global Trajectory Optimisation: Can We Prune the Solution Space When ConsideringDeep Space Manoeuvres? Tech. Rep. 06-4101c, European Space Agency, the AdvancedConcepts Team, Available online at www.esa.int/act

[20] Zazzera, F., Lavagna, M., Armellin, R., Di Lizia, P., Topputo, F., and Bertz, M. (2007)Global Trajectory Optimisation: Can We Prune the Solution Space When ConsideringDeep Space Manoeuvres? Tech. Rep. 06-4101b, European Space Agency, the AdvancedConcepts Team, Available online at www.esa.int/act

[21] Olympio, J., and Marmorat, J. (2007) Global Trajectory Optimisation: Can We Prune theSolution Space When Considering Deep Space Manoeuvres? Tech. Rep. 06-4101a, Euro-pean Space Agency, the Advanced Concepts Team, available online at www.esa.int/act