Experiment · Space mechanics
European Space Agency, SpOC 4: a tour of 1,051 targets in lunar orbit
This experiment addresses a mission-planning problem: visit, once each, 1,051 targets in orbit around the Moon, choosing the order of the visits, the departure dates and the flight durations so that the mission ends as early as possible, with a limited velocity cost for each transfer. The referee is the Optimize platform of the European Space Agency (ESA), which evaluates every solution with its official simulator. Outcome: a tour of 272.712 days, the best score among 51 entries as read on 4 Oct 2026. The solution was submitted on 2 Oct 2026, after the close of the competition (30 June 2026): the ranking is a post-competition ranking.
1. The problem
Around the Moon, 1,051 targets, which ESA calls “tomatoes”, each follow a Keplerian orbit: an ellipse travelled under the Moon’s gravity alone. A spacecraft starts at one of them, reaches another, then another, until all have been visited once. Between two targets it makes a two-impulse transfer: one manoeuvre leaves the departure orbit, a second one joins the orbit of the arrival target on the planned date. The cost of a transfer, the sum of the two velocity changes, must not exceed 100 m/s; at most 5 transfers, the “exceptions”, may go up to 600 m/s. The variables are the order of the visits, the departure dates and the flight durations: 3 × 1,051 − 2 = 3,151 values. The score is the arrival date at the last target, in days, to be minimised. The challenge offers three instances (49, 181 and 1,051 targets); this page covers the largest, “large”.
2. Verification protocol
The result is a vector of 3,151 numbers, submitted to the Optimize platform. The platform evaluates it with the official simulator of the problem, published by ESA (Python code in the pygmo format, transfers computed with the pykep library), and derives the score from it. The figures on this page are those of the ranking as read on the date given.
The referee and the problem
The Optimize platform is developed by ESA’s Advanced Concepts Team, which organises SpOC 4 with the GECCO conference (fourth edition of the competition). The problem was formalised by Bannach, Acciarini and Izzo, “The Keplerian Traveling Salesperson Problem” (arXiv:2605.00010). The esa/SpOC4 repository provides the instance and the validation code. Competition submissions closed on 30 June 2026; the portal stayed open afterwards.
3. The problem statement in pictures
The figures in this section illustrate the problem as posed: they are drawn from the instance published by ESA, not from the solution. The main figure shows the orbits of the targets in perspective, with their actual orbital parameters; the colour is the inclination. All orbits share the same line of nodes (gold dashes) and differ only in inclination. The targets of the outer ring (semi-major axis of about 15,000 km, period of about 1.906 d) form three clusters with inclinations close to 0°, 90° and 180° and two ladders, with one target every 1.196° of inclination (from 3.0° to 86.7°, then from 92.7° to 177.6°). Those of the inner ring (about 3,750 km, period of about 0.238 d) form three clusters. One orbit in eight is drawn for the clusters; all those of the ladders are.
The rotation changes the viewpoint on the instance orbits; it does not simulate a transfer or recompute trajectories. The curves and their parameters remain those of the ESA problem statement.
The targets of the instance, by family
Each cell is a target of the instance, grouped by orbital family. The inner ring holds 450 targets (semi-major axis from 3,737 to 3,757 km); the outer ring holds 601 (from 14,950 to 15,030 km). Families: clusters whose inclination is within 2.2° of 0°, 90° or 180°, and, for the outer ring, the remaining targets, which form the ladders. This map describes the problem statement; the “Problem” row of section 2 gives its limits. The parameters of the instance are in esa_spoc4_instance.json.
The physics at stake: a Lambert transfer between two orbits. The two examples below take two arbitrary targets of the instance, with a departure date and a flight duration chosen for the illustration (departure on day 10). The violet and cyan dots are the two targets during the flight; the gold arc is the spacecraft’s trajectory, obtained by solving the Lambert problem and then propagating the result under the Moon’s gravity; the gold dot reaches the arrival target on the planned date.
4. Result
The submitted tour visits the 1,051 targets once each and ends on day 272.712. As read on 4 Oct 2026, the platform’s ranking has 51 entries. The best score of the competition period was about 337.65 days. No lower bound is known for this instance.
5. What is checked, and by whom
- The referee (ESA). The official simulator of the Optimize platform evaluates the submitted vector and publishes the score, 272.712 days as read on the date given. This evaluation establishes the ranking.
- Check with the official code (2 Oct 2026). The code of the problem, downloaded from the platform and run offline with pykep 2.6.2, returns [272.712; 0; 0; 0; 0] for this vector: the duration, then constraint violations that are all zero.
- Independent check (11 Oct 2026). A second check, written without the official package (Keplerian orbits, the Lambert problem), confirms the validity of the submitted solution: each target is visited once, the flights follow one another in date order, and every transfer respects the 100 m/s limit, within the 5 exceptions allowed under 600 m/s. This is an internal check; ESA’s simulator remains the referee.
- Fingerprint of the submitted file. The sha256 below is that of the file sent to the platform. It fixes the result: any file presented later as the submission can be compared with this fingerprint.
Fingerprint of the submitted filesha256: 15d834e744f407ad4a6234023d04ffa97529c014dbc333c500c88b8f4f02eef0
Computed on the file as sent on 2 Oct 2026; later check: sha256sum of the file presented.
Reference instance for the checks: “large” instance file of the esa/SpOC4 repository, sha256 aa0954f33a1adf6cf0c3a3e5e27d96ef92ff0e6d8b027efd2dadcde0c4437d54.
6. What this question models
The authors of the challenge cite, among the missions concerned by this problem, active debris removal, in-orbit servicing and asteroid-belt exploration: missions that must rendezvous with several moving bodies (arXiv:2605.00010).
My AI project in the service of my research
This challenge is not an end in itself: it is a test bench for my research on a certifiable embedded AI. My AI project, whose inner workings remain confidential, lets me reach a tour of all 1,051 targets in 272.712 days, evaluated by ESA’s official simulator, with the best score in the ranking as read. The certificate and the referee vouch for it: it is not my explanation you need to believe, it is the result, which can be checked again. This is the best known result at the date given, not a proven optimum.
All the results, with their sources and dates