7 Global Optimization and Space Pruning for Spacecraft ... · trajectory optimization problem...
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