Projects
Bachelor thesis · Bielefeld University · 2022

Visiting planets that never stand still.

The TRAPPIST-1 Tour: a challenge set by ESA in 2022.

Cover picture: the TRAPPIST-1 system with its red star and seven planets on their orbits, a space probe flying through it. Bachelor thesis, Bielefeld University, 2022.

The star
TRAPPIST-1: a small, cool red star, about 40 light-years away.
Barely bigger than Jupiter.
NASA · Jupiter at the same scale
The planets b to h
Seven planets, all about the size of Earth.
NASA Exoplanet Catalog · orbits to scale, planets enlarged
All seven circle their star closer than Mercury circles the Sun.
NASA · same scale

TRAPPIST-1 is a small, cool red star about 40 light-years away, barely bigger than Jupiter. Seven roughly Earth-sized planets, b to h, circle it. All seven are closer to their star than Mercury is to the Sun.

The task · ESA, 2022
One space probe has to visit all seven planets.
It starts 10 AU out: ten times as far as Earth is from the Sun.
ESA's Space Optimisation Competition (SpOC), GECCO 2022
Every planet exactly once. Any order you like.
As fast as possible, with as little fuel as possible.
Fuel is counted as ΔV: how much the probe has to change its speed, in total.
And never closer than 834,840 km to the star.
Rule of the challenge · the route here is schematic

ESA's task: a space probe starts 10 astronomical units from the TRAPPIST-1 system and has to visit each of the seven planets exactly once, in any order, as fast as possible and with as little fuel (ΔV) as possible. It must never come closer than 834,840 km to the star. The route shown is schematic.

The catch
The planets don't wait.
The probe has to fly to where a planet will be when it gets there.
Planet b goes round its star in 1.5 days. Planet h takes 18.8.
NASA Exoplanet Catalog · real orbital periods
Not an ordinary travelling salesman problem
Like a delivery route where the houses keep moving.

The catch: the planets move. The probe has to fly to where a planet will be when it arrives. Planet b goes round its star in 1.5 days, planet h in 18.8 days. A route between the planets keeps changing shape, like a delivery route where the houses keep moving.

Which order?
7 choices for the first planet. Then 6, then 5 …
That makes 5,040 possible orders.
Every dot is one order of the seven planets.
7! = 7 × 6 × 5 × 4 × 3 × 2 × 1
And every one flies differently.
Which ones are worth a closer look?

There are seven choices for the first planet, then six, then five and so on. That makes 7 times 6 times 5 times 4 times 3 times 2 times 1, so 5,040 possible orders, shown as 5,040 coloured dots. Every order gives a different route.

The decision vector
Behind every mission are 34 numbers.
3 to enter the system, 4 for each of six legs, 7 for the order.
u, v, T₀ · β, rₚ, η, T per leg · s₀ to s₆
Decomposition
All 34 at once is too much. So I split the problem in two.
Black box
With no astrophysics background, I treated the flight as a black box.
Numbers in, time and fuel out.

Every mission is a vector of 34 numbers: 3 for entering the system, 4 flight parameters for each of six legs, and 7 whole numbers for the order of the planets. I split the problem in two: which order (7 numbers, 5,040 options) and how to fly it (27 numbers). With no astrophysics background, I treated the flight as a black box: numbers in, time and fuel out.

Part 1 · Which order?
Working through all 5,040 takes far too long.
So first I give a few random orders a quick test.
The assumption: good routes share building blocks.
Pairs that keep turning up side by side in good routes go on a list.
I chain the best pairs into new orders.
Each pair starts where the one before ended; gaps get the first free letter.
Algorithms 1 and 2 of the thesis · example data

Working through all 5,040 orders takes too long. First a few random orders are tested; one of them gives no usable result. The assumption: good routes share building blocks. In the good orders, the planet pairs that stand side by side are counted. In this example, pairs that turn up at least twice are chained into new orders: each pair starts with the planet the previous one ended with, and gaps get the first free letter.

Part 2 · How to fly it?
A genetic algorithm breeds better flights.
The best are crossed and slightly changed, generation after generation.
Speed costs fuel. Saving fuel costs time.
Every dot is a flight: how long it takes and how much ΔV it needs.
Pareto front
The best trade-offs form a front.
No flight is both faster and thriftier than one on the front.
Hypervolume
The score is the area up to the corner.
The corner sits at 2,500 m/s and 4,000 days: the bigger the area, the better the front.
Scoring of the challenge · the run shown is schematic

For each promising order, a genetic algorithm breeds better flights. Every flight is a point: fuel (ΔV) against time. Fast flights need a lot of fuel, thrifty ones take long. The best trade-offs form the Pareto front. The score is the area between the front and the corner at 2,500 m/s and 4,000 days, the hypervolume.

Which algorithm?
I tested five genetic algorithms on the same 100 orders, five runs each.
Scores: Table 5.1 of the thesis · pymoo · population 50 · 250 offspring · the flights are schematic
Only R-NSGA-II scored at all.
0.0 means: not a single flight under 2,500 m/s and 4,000 days.
My money had been on U-NSGA-III.
It scored 0.0 in all five runs.

Five genetic algorithms from pymoo, NSGA-II, NSGA-III, U-NSGA-III, AGE-MOEA and R-NSGA-II, optimised the same 100 orders in five runs each. Only R-NSGA-II reached a score, in three of five runs: minus 1,235,462, minus 433,600 and minus 47,157. All others scored 0.0 in every run, including U-NSGA-III, which I had expected to win. The small charts are schematic; only the scores come from the thesis.

The result
Weeks of runs, all fronts merged into one.
Each run bred up to 1,500 new flights per generation.
Section 5.2 of the thesis · population up to 400 · single runs schematic
There is no single best route.
Over 10 years on little fuel, or just over 5 on a lot.
Final Pareto front, read off Figure 5.1 of the thesis
The final score.
The challenge counts the area as negative: the lower, the better.
Hypervolume of the final front · Section 5.2 of the thesis
A good route and a poor one.
The good one flies calm, similar orbits; the poor one zigzags all over.
Drawn after Figure 6.1 of the thesis

Over weeks, many optimisation runs with populations of up to 400 and up to 1,500 offspring per generation produced fronts that were merged into one. The final Pareto front runs from about 550 m/s and 3,850 days to about 2,500 m/s and 1,950 days. There is no single best route. The final score is minus 3,440,253.65: the challenge counts the area as negative, so lower is better. A good solution needs 667.89 m/s and 7.95 years and flies calm, similar orbits; a poor one needs 52,456 m/s and 27.24 years and zigzags all over.

Bielefeld University · 2022
Awarded the GOR Bachelor Prize.
GOR is the German Operations Research Society.
What came next
Moving targets again, this time at sea: my master's thesis.
Collection boats chase plastic hotspots that drift with the current.

The thesis was awarded the GOR Bachelor Prize. GOR is the German Operations Research Society. Moving targets came back in my master's thesis, at sea: collection boats chase plastic hotspots that drift with the current.

Bachelor thesis · Bielefeld University · 2022
“Solving the SpOC GECCO Trappist Tour challenge”
GOR Bachelor Prize 2022