Voyager 2

Documentation lookup

Lambert-solver lookups repeat defaults already supplied in the task prompt.

GPT-5.6-Luna N=8100 iterationsSeed 43 · diff edits

This run · best evaluator score ↑
0.6610340.734432
Initial → final

Score history

Best-so-far search-time score ↑

RetrieveLook-UpNo-Op
Voyager 2 · recorded search-time scores0.6610340.68550.7099660.7344320255075100Outer-loop iteration
Gate decisionsIterations 1–100 · outlined steps have detailed records

Inside the run

2 selected iterations

Iteration 21

Retrieve
Incumbent retained
01

Gate decision

Retrieve
ReasoningAdditional evidence is warranted because the current search has plateaued after several timing-grid refinements, while the remaining improvement likely requires a materially different optimization or Lambert-branch…

Additional evidence is warranted because the current search has plateaued after several timing-grid refinements, while the remaining improvement likely requires a materially different optimization or Lambert-branch strategy. Previously retrieved documents are high-level or indirect and do not resolve the specific implementation questions, so a fresh targeted search should go beyond them.

Knowledge before this stepThe experiments show that deterministic Voyager-like phasing and denser launch/arrival grids reliably produce a valid Earth-Jupiter-Saturn-Neptune solution near combined scores 0.7341-0.7342, with boundary delta-v…

The experiments show that deterministic Voyager-like phasing and denser launch/arrival grids reliably produce a valid Earth-Jupiter-Saturn-Neptune solution near combined scores 0.7341-0.7342, with boundary delta-v dominating and DSM/GA costs nearly negligible. Increasing grid density and adding timing clusters has produced only marginal, inconsistent gains, so the current bottleneck is likely unresolved trajectory-branch selection and continuous optimization of launch and flyby epochs rather than basic feasibility. The retrieved documents establish that differential evolution, hybrid global/local optimization, and explicit Lambert branch handling are relevant, but they do not provide sufficiently concrete implementation guidance for this codebase, especially for selecting short/long-way or multi-revolution Lambert solutions and efficiently optimizing the coupled epoch variables. New information on practical Lambert branch enumeration, constrained differential evolution or basin-hopping for MGA trajectories, and robust local refinement would therefore be useful.

Population analysis

📊 State: The retained population contains 27 programs, with scores spanning 0.56184–0.73415 and the current parent at 0.61677, 0.11738 below the retained best.

Key Numbers:
• Score distribution: mean 0.71457, median 0.73211, and population standard deviation 0.04077.
• Score concentration: 15 unique scores among 27 retained programs; the top score is 0.73415, while the worst is 0.56184.
• Recent trajectory: in the 20-row trace window, 13 outcomes improved, 5 regressed, and 2 were unchanged.
• Global progress: the retained best increased from 0.73395 before iteration 19 to 0.73411, then to 0.73415 at iteration 20.

Patterns Observed:
• Parent selection used 14 unique IDs across 20 selections; the most-selected parent appeared 2 times, or 10% of selections.
• Context selection used 11 unique IDs across 23 slots; the most-selected context appeared 4 times, or 50% of its programs-with-selection count.
• Recent child scores ranged from 0.61677 to 0.73415; parent scores in the same trace ranged from 0.56184 to 0.73395, with the largest positive child-parent delta equal to 0.16158.

02–03Search & evidence

Query · round 1

Python Lambert solver enumerate short-way long-way prograde retrograde multi-revolution branches Izzo implementation code

Search intent

Find practical implementation guidance for generating and evaluating all relevant Lambert transfer branches for each MGA leg, including short-way/long-way, prograde/retrograde, and multi-revolution solutions.

Lambert branch enumerationshort-way long-waymulti-revolution LambertIzzo algorithmPython implementation
Query rationale

The current program already obtains reliable Voyager-like solutions through dense timing grids, but further gains are limited by unresolved trajectory-branch selection. Existing searches identified Lambert branch handling as relevant but did not provide concrete code or API details. A branch-enumeration implementation could expose lower-cost Earth-Jupiter-Saturn-Neptune trajectories that the current single prograde Lambert call never evaluates, while remaining compatible with the existing flyby feasibility and local epoch-refinement stages.

5 returned5 in pool3 kept
What this round establishedThe new documents confirm that Lambert solutions can have distinct short-way/long-way, prograde/retrograde, and multi-revolution branches, and that a robust Izzo-style implementation can enumerate multiple valid…

The new documents confirm that Lambert solutions can have distinct short-way/long-way, prograde/retrograde, and multi-revolution branches, and that a robust Izzo-style implementation can enumerate multiple valid solutions rather than returning only one. This directly identifies a plausible source of missed trajectory branches in the current program, whose repeated calls to tools.lambert(..., prograde=True) appear to evaluate only a single branch. The Izzo paper provides the most useful algorithmic foundation, while the poliastro material gives practical confirmation of multi-revolution handling; the Rust documentation reinforces the desired output structure but is less directly applicable to this Python codebase, and the forum document adds little implementation detail. What remains untested is whether the injected Lambert wrapper exposes branch-selection or multi-solution APIs, whether the relevant branches are physically feasible for the Voyager E-J-S-N sequence, and whether enumerating them can be done within the evaluation budget. Concrete integration details for this wrapper and a more effective constrained global/local optimization of the coupled epoch variables are still needed. The current low score also indicates that branch enumeration alone may not recover the known 0.734 solution unless the search and refinement remain robust.

Kept-document mean prediction 0.66233

Query · round 2

"tools_wrapper.py" Tools lambert all solutions branch prograde retrograde multi-revolution Python

Search intent

Determine whether the injected Tools.lambert wrapper supports branch selection or returning multiple Lambert solutions, including long-way, retrograde, and multi-revolution cases, and identify the exact callable signature needed to integrate branch enumeration safely.

tools_wrapper Lambert APILambert branch enumerationIzzo multi-revolution Python
Query rationale

The current program repeatedly calls tools.lambert(..., prograde=True) and therefore may miss valid trajectory branches, but the available documents only describe Izzo's algorithm conceptually and do not reveal the wrapper API or implementation constraints. A concrete API-level example could enable evaluating several branches per leg while preserving the existing Voyager E-J-S-N search and runtime budget.

5 returned8 in pool3 kept
What this round establishedThe new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful…

The new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful because it demonstrates an Izzo-style API capable of returning multiple solutions, while the GitHub summary explicitly indicates four branch combinations in representative cases. The theoretical documents clarify that branch multiplicity grows with revolution number and that some branches may not exist for a given geometry and time of flight. This strengthens the hypothesis that repeated tools.lambert(..., prograde=True) calls can miss useful trajectories. However, no document establishes that the injected tools wrapper exposes these APIs, nor how its units, return format, branch flags, or failure behavior should be handled. It also remains untested whether non-default branches are feasible for the Voyager E-J-S-N sequence, whether multi-revolution branches are physically useful over its leg durations, and whether branch enumeration fits the evaluation budget. The next attempt should first probe or defensively detect wrapper capabilities, enumerate only a small set of plausible branches, retain the existing single-branch result as a fallback, and compare branches during both grid evaluation and DSM refinement. Missing knowledge also remains around a more efficient constrained global/local optimization of coupled launch, flyby, and terminal epochs; the Lambert documents do not resolve that search problem.

Kept-document mean prediction 0.658

Query · round 3

poliastro Izzo Lambert API low_path prograde M multiple solutions return format Python

Search intent

Determine the exact callable signature, branch flags, iterator/return format, and failure behavior for enumerating short-way/long-way, prograde/retrograde, and limited multi-revolution Lambert solutions so the trajectory search can add defensive branch selection while retaining the current single-branch fallback.

poliastroIzzo Lambertlow_pathprogrademultiple revolutions
Query rationale

The current program evaluates only tools.lambert(..., prograde=True), and the retrieved theory confirms useful branch multiplicity but does not establish how the injected wrapper exposes it. The next improvement should safely probe or emulate a small branch set during both grid evaluation and DSM refinement without breaking validity or exceeding the evaluation budget.

5 returned8 in pool3 kept
What this round establishedThe new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful…

The new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful because it demonstrates an Izzo-style API capable of returning multiple solutions, while the GitHub summary explicitly indicates four branch combinations in representative cases. The theoretical documents clarify that branch multiplicity grows with revolution number and that some branches may not exist for a given geometry and time of flight. This strengthens the hypothesis that repeated tools.lambert(..., prograde=True) calls can miss useful trajectories. However, no document establishes that the injected tools wrapper exposes these APIs, nor how its units, return format, branch flags, or failure behavior should be handled. It also remains untested whether non-default branches are feasible for the Voyager E-J-S-N sequence, whether multi-revolution branches are physically useful over its leg durations, and whether branch enumeration fits the evaluation budget. The next attempt should first probe or defensively detect wrapper capabilities, enumerate only a small set of plausible branches, retain the existing single-branch result as a fallback, and compare branches during both grid evaluation and DSM refinement. Missing knowledge also remains around a more efficient constrained global/local optimization of coupled launch, flyby, and terminal epochs; the Lambert documents do not resolve that search problem.

Evidence sent to the solver

R1

Python Lambert solver enumerate short-way long-way prograde retrograde multi-revolution branches Izzo implementation code

R2

"tools_wrapper.py" Tools lambert all solutions branch prograde retrograde multi-revolution Python

R3

poliastro Izzo Lambert API low_path prograde M multiple solutions return format Python

Knowledge after searchThe new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful…

The new documents reinforce that Lambert transfers may have multiple valid branches: short- and long-way, prograde and retrograde, and multiple-revolution solutions. The poliastro material is the most practically useful because it demonstrates an Izzo-style API capable of returning multiple solutions, while the GitHub summary explicitly indicates four branch combinations in representative cases. The theoretical documents clarify that branch multiplicity grows with revolution number and that some branches may not exist for a given geometry and time of flight. This strengthens the hypothesis that repeated tools.lambert(..., prograde=True) calls can miss useful trajectories. However, no document establishes that the injected tools wrapper exposes these APIs, nor how its units, return format, branch flags, or failure behavior should be handled. It also remains untested whether non-default branches are feasible for the Voyager E-J-S-N sequence, whether multi-revolution branches are physically useful over its leg durations, and whether branch enumeration fits the evaluation budget. The next attempt should first probe or defensively detect wrapper capabilities, enumerate only a small set of plausible branches, retain the existing single-branch result as a fallback, and compare branches during both grid evaluation and DSM refinement. Missing knowledge also remains around a more efficient constrained global/local optimization of coupled launch, flyby, and terminal epochs; the Lambert documents do not resolve that search problem.

Stop: search budget exhausted

Web sources

Predictions are model estimates before evaluation.

poliastro-py.readthedocs.ioMultiple revolutions on Lambert's problemSent to solverpred. 0.661
Doc 1 · tavilyOpen website ↗
Predicted child score 0.661Search rank #1Search relevance 0.675
Saved web contentExcerpt · 127 words captured
Docs » Jupyter notebooks » Multiple revolutions on Lambert’s problem Edit on GitHub # Multiple revolutions on Lambert’s problem¶ After the implementation of Izzo’s algorithm in poliastro, it is possible to solve the Lambert’s problem with a multiple revolution solution. Let us remember first what is this problem about and which applications does it have. Lambert problem tries to solve the orbit that passes trhough \(\vec{r\_{0}}\) and \(\vec{r\_{f}}\) being given an amount of time usually denoted by \(\Delta t\). This can be used to solve for interplanetary flights, for example if we know the position of Earth at \(t\_{0}\) and the position of Mars at time \(t\_{f}\) we can solve for the orbit that we must follow in order to …
Returned in R1Kept after R1, R2, R3
forum.orekit.orgOrekit Lambert SolverCandidatepred. 0.624
Doc 2 · tavilyOpen website ↗
Predicted child score 0.624Search rank #2Search relevance 0.623
Saved web content26 words captured
I have some experiencing implementing Izzo's algorithm, so I might take a crack at it and see how it compares to the IOD package algorithm. I
Returned in R1
docs.rslambert_izzo - RustCandidatepred. 0.638
Doc 3 · tavilyOpen website ↗
Predicted child score 0.638Search rank #3Search relevance 0.618
Saved web contentExcerpt · 277 words captured
## Crate lambert\_izzo # Crate lambert\_izzo Source Expand description Izzo’s revisited Lambert solver — single + multi-revolution, short/long way. Reference: D. Izzo, Revisiting Lambert’s problem, Celestial Mechanics & Dynamical Astronomy, 2014. arXiv:1403.2705. PDF in `docs/izzo.pdf`. Inline `Eq. N` / `Algorithm N` references in the source point to that paper. ## §Public API Two entry points: `lambert` — single Lambert solve from a `LambertInput`. `lambert_par` (`rayon` feature) — parallel batch solve over a slice of `LambertInput`s. Both return `LambertSolutions`, which always carries the single-revolution trajectory, every reachable multi-rev pair, and the per-branch `SolverDiagnostics` (Householder iteration counts). ## §Units [...] ## §Cargo features Both features are off by default. `serde` — derives `Serialize` + `Deserialize` on every public type, including `LambertError`. Stays …
Returned in R1
www.esa.intRevisiting Lambert's problemSent to solverpred. 0.672
Doc 4 · tavilyOpen website ↗
Predicted child score 0.672Search rank #4Search relevance 0.613
Saved web contentExcerpt · 499 words captured
123 D. Izzo Fig. 5 Absolute errors introduced by the Gooding initial guess (left) and the proposed initial guess (right) for the single revolution M = 0 case. Each line correspond to a different λ value ranging from −0.99 to 0.99 Algorithm 1 Lambert solver: inputs, r1 = [r11,r12,r13], r2 = [r21,r22,r23], t and μ Require: t > 0, μ > 0 c = r2 −r1 c = |c|, r1 = |r1|, r2 = |r2| s = 1 2 (r1 + r2 + c) ˆ ir,1 = r1/r1, ˆ ir,2 = r2/r2 ˆ ih = ˆ ir,1 × ˆ ir,2 λ2 = 1 −c/s, λ = √ λ2 if (r11r22 −r12r21) < 0 then λ = −λ ˆ it,1 = …
Returned in R1Kept after R1, R2, R3
docs.poliastro.spaceMultiple revolutions on Lambert's problem - poliastroCandidatepred. 0.654
Doc 5 · tavilyOpen website ↗
Predicted child score 0.654Search rank #5Search relevance 0.609
Saved web content116 words captured
» Background » Multiple revolutions on Lambert’s problem Edit on GitHub # Multiple revolutions on Lambert’s problem¶ After the implementation of Izzo’s algorithm in poliastro, it is possible to solve the Lambert’s problem within the multi-revolution scenario. Before introducing the usage of this feature, let us remember what is the Lambert’s problem and explain some of the misconceptions behind the problem. ## Review of Lambert’s problem scenarios¶ The Lambert’s problem tries to solve for the orbit which passes trhough \(\vec{r\_{0}}\) and \(\vec{r\_{f}}\) being knwon the time of flight \(\Delta t\) between these two positions. It is, in fact, the boundary value problem (BVP) of the two body problem. There are two scenarios for solving Lambert’s problem:
Returned in R1Kept after R1
docs.poliastro.spaceRevisiting Lambert’s problem in Python — poliastro 0.17.0 documentationSent to solverpred. 0.658
Doc 6 · tavilyOpen website ↗
Predicted child score 0.658Search rank #1Search relevance 0.557
Saved web contentExcerpt · 175 words captured
### Multiple revolutions¶ ``` k = Earth. k r0 =[22592.145603, -1599.915239, -19783.950506] u. km r =[1922.067697,4054.157051, -8925.727465] u. km tof = 10 u. h expected_va =[2.000652697,0.387688615, -2.666947760] u. km/ u. s expected_vb =[-3.79246619, -1.77707641,6.856814395] u. km/ u. s expected_va_l =[0.50335770,0.61869408, -1.57176904] u. km/ u. s expected_vb_l =[-4.18334626, -1.13262727,6.13307091] u. km/ u. s expected_va_r =[-2.45759553,1.16945801,0.43161258] u. km/ u. s expected_vb_r =[-5.53841370,0.01822220,5.49641054] u. km/ u. s ``` ``` v0, v = izzo. lambert(k, r0, r, tof, M = 0) v ``` $[-3.7924662,~-1.7770764,~6.8568144] \; \mathrm{\frac{km}{s}}$ [...] ### Single revolution¶ ``` k = Earth. k r0 =[15945.34,0.0,0.0] u. km r =[12214.83399,10249.46731,0.0] u. km tof =76.0 u. min expected_va =[2.058925,2.915956,0.0] u. km/ u. s expected_vb =[-3.451569,0.910301,0.0] u. km/ u. s v0, v = izzo. lambert(k, …
Returned in R2Kept after R2, R3
space.stackexchange.comMultiple revolution Lambert problemCandidatepred. 0.628
Doc 7 · tavilyOpen website ↗
Predicted child score 0.628Search rank #2Search relevance 0.507
Saved web content24 words captured
The Lambert problem solution determines the ΔV required to transfer from r1 to r2 in t time. There are single and multiple revolution solutions
Returned in R2
github.commultirevolutions-solution-in-lamberts-problem.myst.md - GitHubCandidatepred. 0.651
Doc 8 · tavilyOpen website ↗
Predicted child score 0.651Search rank #3Search relevance 0.494
Saved web content26 words captured
A total of four solutions are found: Red orbit (high path) prograde. Red orbit (high path) retrograde. Blue orbit (low path) prograde. Blue orbit (low path)
Returned in R2
investigacion.unirioja.esMulti-Revolution Perturbed Lambert's ProblemCandidatepred. 0.638
Doc 9 · tavilyOpen website ↗
Predicted child score 0.638Search rank #4Search relevance 0.461
Saved web contentExcerpt · 255 words captured
m , in which µ is the gravitational parameter and am = 1 4 (r1 + r2 + ||r1 −r2||). There are two solutions for each revolution number, thus there exists 2Nmax + 1 number of solutions to a MRLP. [...] (19) In Eq. (19), T r F f (vi) is a high order Taylor polynomial that maps a variation in the initial velocity to the final time in the full dynamical model. The Taylor representation of the residual is computed by subtracting r2 from Eq. (19), ∆r2 = rF f −r2 = T ∆r2(vi). (20) Eq. (20) can be inverted with DA tools, delivering vi = T vi (∆r2). (21) 7 An approximated solution of the problem is then …
Returned in R2
www.mdpi.comAn Effective Multi-Revolution Lambert Solver Based on ...Candidatepred. 0.642
Doc 10 · tavilyOpen website ↗
Predicted child score 0.642Search rank #5Search relevance 0.460
Saved web contentExcerpt · 341 words captured
Multi-revolution Lambert solvers are intended to find the elliptic transfer orbits that are traveled multiple times and connect two specified positions in prescribed time, under the assumption of considering natural (Keplerian) orbital motion in the presence of a single attracting body. This study proposes and tests a new, effective multi-revolution Lambert solver that employs the initial true anomaly, which identifies the initial position along the transfer ellipse, as the unknown variable. The related search interval is identified through closed-form expressions for upper and lower bounds. A simple numerical algorithm is developed and employed over the entire search interval to detect all Lambert solutions. The new multi-revolution solver proposed in this work is simple to understand [...] Multi-revolution Lambert solvers are …
Returned in R2
docs.poliastro.spacepoliastro.core.iod — poliastro 0.17.0 documentationCandidatepred. Not recorded
Doc 11 · tavilyOpen website ↗
Predicted child score Not recordedSearch rank #1Search relevance 0.657
Saved web contentExcerpt · 238 words captured
» API reference » `poliastro.core` » `poliastro.core.iod` Edit on GitHub # `poliastro.core.iod`¶ ## Module Contents¶ ### Functions¶ | `vallado`(k, r0, r, tof, M, prograde, lowpath, numiter, rtol) | Solves the Lambert's problem. | | `izzo`(k, r1, r2, tof, M, prograde, lowpath, numiter, rtol) | Aplies izzo algorithm to solve Lambert's problem. | poliastro.core.iod.vallado(k, r0, r, tof, M, prograde, lowpath, numiter, rtol)¶ : Solves the Lambert’s problem. The algorithm returns the initial velocity vector and the final one, these are computed by the following expresions: \[\begin{split}\vec{v\_{o}} &= \frac{1}{g}(\vec{r} - f\vec{r\_{0}}) \\ \vec{v} &= \frac{1}{g}(\dot{g}\vec{r} - \vec{r\_{0}})\end{split}\] [...] Notes This procedure can be found in section 5.3 of Curtis, with all the theoretical description of the problem. Analytical example can be found …
Returned in R3
docs.poliastro.spaceRevisiting Lambert's problem in Python - poliastroCandidatepred. Not recorded
Doc 12 · tavilyOpen website ↗
Predicted child score Not recordedSearch rank #2Search relevance 0.656
Saved web contentExcerpt · 212 words captured
``` _, v_l = izzo. lambert(k, r0, r, tof, M = 1, lowpath = True) _, v_r = izzo. lambert(k, r0, r, tof, M = 1, lowpath = False) ``` $[-5.5384132,~0.018222134,~5.4964102] \; \mathrm{\frac{km}{s}}$ $[-4.1833463,~-1.1326273,~6.1330709] \; \mathrm{\frac{km}{s}}$ [...] ### Multiple revolutions¶ ``` k = Earth. k r0 =[22592.145603, -1599.915239, -19783.950506] u. km r =[1922.067697,4054.157051, -8925.727465] u. km tof = 10 u. h expected_va =[2.000652697,0.387688615, -2.666947760] u. km/ u. s expected_vb =[-3.79246619, -1.77707641,6.856814395] u. km/ u. s expected_va_l =[0.50335770,0.61869408, -1.57176904] u. km/ u. s expected_vb_l =[-4.18334626, -1.13262727,6.13307091] u. km/ u. s expected_va_r =[-2.45759553,1.16945801,0.43161258] u. km/ u. s expected_vb_r =[-5.53841370,0.01822220,5.49641054] u. km/ u. s ``` ``` v0, v = izzo. lambert(k, r0, r, tof, M = 0) v ``` $[-3.7924662,~-1.7770764,~6.8568144] \; \mathrm{\frac{km}{s}}$ [...] …
Returned in R3
pypi.orgpoliastroCandidatepred. Not recorded
Doc 13 · tavilyOpen website ↗
Predicted child score Not recordedSearch rank #3Search relevance 0.648
Saved web content22 words captured
poliastro is an open source pure Python package dedicated to problems arising in Astrodynamics and Orbital Mechanics, solution of the Lambert's problem,
Returned in R3
docs.poliastro.spacepoliastro.iod.izzo — poliastro 0.17.0 documentationCandidatepred. Not recorded
Doc 14 · tavilyOpen website ↗
Predicted child score Not recordedSearch rank #4Search relevance 0.630
Saved web contentExcerpt · 183 words captured
New in version 0.5.0. Parameters : k (Quantity")) – Gravitational constant of main attractor (km^3 / s^2). r0 (Quantity")) – Initial position (km). r (Quantity")) – Final position (km). tof (Quantity")) – Time of flight (s). M (int"), optional) – Number of full revolutions, default to 0. prograde (boolean) – Controls the desired inclination of the transfer orbit. lowpath (boolean) – If True or False, gets the transfer orbit whose vacant focus is below or above the chord line, respectively. numiter (int"), optional) – Maximum number of iterations, default to 35. rtol (float"), optional) – Relative tolerance of the algorithm, default to 1e-8. Returns : v0, v – Pair of velocity solutions. [...] » API reference » `poliastro.iod` » `poliastro.iod.izzo` …
Returned in R3
github.compoliastro/src/poliastro/iod/izzo.py at mainCandidatepred. Not recorded
Doc 15 · tavilyOpen website ↗
Predicted child score Not recordedSearch rank #5Search relevance 0.606
Saved web content20 words captured
Astrodynamics in Python. prograde: boolean Controls the desired inclination of the transfer orbit. lowpath: boolean ` or `False`, gets the
Returned in R3

04Code & measured result

8 candidate attempts
Parent → selected child0.61677 → 0.73299Search-time evaluator score ↑
Run best · before → after0.73415 → 0.73415Incumbent retained

Change 1: Modified function `_candidate_intermediate_times`: Sample flyby epochs over the full tour, including Voyager phasing clusters. Change 2: 'n_grid = 5 if n_ga == 0 else 7' → 'n_grid = 5 if n_ga == 0 else (18 if n_ga >= 2 else 8)' Change 3: Near `try:...` (12→40 lines)

Code diff recorded excerpt+84−21
-    slack = float(tf) - float(t0) - MIN_TOF * (n_ga + 1)+    usable_span = float(tf) - float(t0) - 2.0 * MIN_TOF-        fractions = np.linspace(0.0, 1.0, n_ga + 2)[1:-1]-        fractions = np.sort(rng.uniform(0.0, 1.0, n_ga))+        fractions = tuple(sorted(rng.uniform(0.03, 0.97, n_ga)))-        float(t0) + MIN_TOF * (k + 1) + float(fractions[k]) * slack+        n_grid = 5 if n_ga == 0 else (18 if n_ga >= 2 else 8)-                       options={"maxiter": 250 * n_vars, "xatol": 1e-4, "fatol": 1e-6,-                                "initial_simplex": np.array(simplex[:n_vars + 1])})-    if nodes_new is not None and dv_new < dv0 - 1e-6:+    rng_local = np.random.default_rng(RNG_SEED + 9173)+        perturb = rng_local.normal(0.0, 0.28, size=n_vars)+        starts.append(x0 + perturb * np.asarray(scales))+            if (nodes_new is not None and np.isfinite(dv_new)

Iteration 41

Retrieve
Incumbent retained
01

Gate decision

Retrieve
ReasoningAdditional evidence is warranted because the current approach has plateaued despite repeated reuse of the same structured search and polishing ideas. The stored documents are insufficiently specific to identify the best…

Additional evidence is warranted because the current approach has plateaued despite repeated reuse of the same structured search and polishing ideas. The stored documents are insufficiently specific to identify the best unexplored trajectory formulation or reliably implement alternate Lambert branches and global MGA-1DSM search, so new information-seeking should be performed.

Knowledge before this stepThe experiments established that structured E->J->S->N phasing plus direct Lambert epoch polishing reliably achieves a valid score around 0.7344, with nearly all cost in the launch boundary maneuver and negligible…

The experiments established that structured E->J->S->N phasing plus direct Lambert epoch polishing reliably achieves a valid score around 0.7344, with nearly all cost in the launch boundary maneuver and negligible GA/DSM cost. Additional DSM multistart refinement and generic MGA-1DSM/phase-genetic references did not improve this plateau. Existing documents explain general MGA-1DSM encodings, phase-block evolutionary search, Lambert branch and multi-revolution concepts, and historical Voyager encounter dates, but they do not provide a concrete implementation for the available Tools API or resolve whether alternate Lambert branches, Uranus inclusion, boundary-window handling, or a more global epoch/topology search can reduce the dominant launch delta-v. A next attempt would benefit from fresh, implementation-oriented information beyond the stored generic references.

Population analysis

📊 State: The retained population contains 40 scored programs, with scores spanning 0.727794–0.734432 and a current parent at 0.732985, which is 0.001447 below the retained best.

Key Numbers:
• Score distribution: mean 0.732901, median 0.733948, population standard deviation 0.002146, and interquartile range 0.732985–0.734185.
• Score range: best 0.734432, worst 0.727794, for a spread of 0.006638; there are 17 unique scores among 40 programs.
• Recent trajectory: across iterations 21–40 (20 rows), 15 outcomes improved, 1 regressed, 1 was unchanged, and 3 had missing parent scores.
• Global improvement: 3 of 20 recent rows were globally improved, at iterations 24, 32, and 38; the best recent score was 0.734432 at iteration 38.

Patterns Observed:
• Parent selection used 20 slots across 16 unique IDs; the most-selected parent appeared 2 times, or 10% of slots, with parent-selection HHI 0.070.
• Context selection used 59 slots across 29 unique IDs; the most-selected context appeared 4 times, or 21.05% of context slots, with context-selection HHI 0.041655.
• Recent improved children ranged from 0.733948 at iteration 22 to 0.734432 at iteration 38; the largest recorded parent-to-child improvement was 0.005027 at iterations 22 and 27, while iteration 34 was unchanged at delta 0.000000.

02–03Search & evidence

Query · round 1

"Earth Jupiter Saturn Uranus Neptune" trajectory optimization 2026 launch Lambert encounter epochs delta-v Python

Search intent

Find concrete numerical or implementation-oriented methods for globally optimizing launch, flyby, and arrival epochs—and comparing EJSN versus EJSUN topologies—for a Voyager-like Lambert gravity-assist trajectory.

Voyager 2Lambert epoch optimizationEJSUN trajectorygravity assist
Query rationale

The current program has reached a plateau because nearly all cost is the Earth departure boundary maneuver, while generic MGA-1DSM and DSM refinements have not helped. Existing searches covered general PyKEP encodings, phase-genetic methods, and Lambert theory but did not provide a concrete global epoch/topology procedure or useful Voyager-like numerical seeds. This query may reveal encounter-epoch tables, launch-window scans, sequential Lambert targeting methods, or code that can seed a broader optimization and potentially reduce the dominant launch delta-v.

5 returned5 in pool3 kept
What this round establishedThe new documents add limited implementation value. The general mission-design material reinforces using porkchop-style departure/arrival grids, explicit v-infinity accounting, patched-conic flyby constraints, and a…

The new documents add limited implementation value. The general mission-design material reinforces using porkchop-style departure/arrival grids, explicit v-infinity accounting, patched-conic flyby constraints, and a fidelity ladder, but it provides no concrete Tools API or E->J->S->N solution data. The Earth-Uranus discussion is only tangentially relevant because it concerns direct transfers rather than the complete Voyager topology. The ADAM example confirms useful Lambert-dataset fields such as C3, arrival v-infinity, time of flight, and launch geometry, but its external data format is not directly available in the current program. The Lambert targeting document provides the most actionable new direction: enumerate physically allowed multi-revolution Lambert solutions and select the branch minimizing the relevant boundary delta-v, potentially using a targeting solution as an initial guess. This remains untested implementation knowledge, since the available Tools Lambert interface has not been shown to expose revolution count, low/high path, or retrograde branches. The current plateau is still dominated by launch boundary delta-v, with direct M=0 Lambert epoch polishing already effective; the next attempt should test explicit Lambert branch/multi-revolution enumeration and a denser global launch/arrival search. Knowledge is still missing about the exact Tools API capabilities for branch selection, whether multi-revolution arcs are physically useful for these long EJSN legs, and whether Uranus-inclusive or alternative topologies can reduce launch cost.

Kept-document mean prediction 0.73352

Query · round 2

"tools_wrapper.py" Lambert "TrajectoryToolKit" multi-revolution low_path prograde

Search intent

Determine whether the evaluator's Tools Lambert interface exposes revolution count, low/high path, and prograde/retrograde branch controls, and identify the exact callable signature needed to enumerate physically allowed Lambert branches.

tools_wrapper.pyTrajectoryToolKitLambert APImulti-revolutionlow_path
Query rationale

The current program has plateaued after effective direct M=0 epoch polishing, while the strongest remaining hypothesis is branch or multi-revolution Lambert enumeration. Existing searches found general PyKEP and Lambert literature but not the evaluator-specific wrapper API, so this query targets the missing implementation detail directly and could enable a safe branch-aware launch and encounter search without guessing unsupported arguments.

5 returned8 in pool3 kept
What this round establishedThe new documents add limited implementation value. The general mission-design material reinforces using porkchop-style departure/arrival grids, explicit v-infinity accounting, patched-conic flyby constraints, and a…

The new documents add limited implementation value. The general mission-design material reinforces using porkchop-style departure/arrival grids, explicit v-infinity accounting, patched-conic flyby constraints, and a fidelity ladder, but it provides no concrete Tools API or E->J->S->N solution data. The Earth-Uranus discussion is only tangentially relevant because it concerns direct transfers rather than the complete Voyager topology. The ADAM example confirms useful Lambert-dataset fields such as C3, arrival v-infinity, time of flight, and launch geometry, but its external data format is not directly available in the current program. The Lambert targeting document provides the most actionable new direction: enumerate physically allowed multi-revolution Lambert solutions and select the branch minimizing the relevant boundary delta-v, potentially using a targeting solution as an initial guess. This remains untested implementation knowledge, since the available Tools Lambert interface has not been shown to expose revolution count, low/high path, or retrograde branches. The current plateau is still dominated by launch boundary delta-v, with direct M=0 Lambert epoch polishing already effective; the next attempt should test explicit Lambert branch/multi-revolution enumeration and a denser global launch/arrival search. Knowledge is still missing about the exact Tools API capabilities for branch selection, whether multi-revolution arcs are physically useful for these long EJSN legs, and whether Uranus-inclusive or alternative topologies can reduce launch cost.

Kept-document mean prediction 0.73342

Query · round 3

"TrajectoryToolKit" Lambert solver multi-revolution max_revs low_path prograde Python API

Search intent

Determine whether the available Lambert implementation exposes revolution-count, low/high-path, and prograde/retrograde controls, and identify the exact callable signature needed to enumerate physically valid branches.

TrajectoryToolKitLambertmulti-revolutionmax_revslow_path
Query rationale

The current program has plateaued after effective direct M=0 epoch polishing, while the most promising untested improvement is branch and multi-revolution enumeration. Existing searches established the general method but not the actual Tools API, so implementation could fail or silently ignore new arguments. Finding the concrete TrajectoryToolKit Lambert interface would enable a safe targeted experiment on EJSN legs without repeating broad mission-design searches.

5 returned8 in pool3 kept
What this round establishedThe new documents strengthen the case for explicitly enumerating Lambert branches: external Lambert libraries expose revolution count, prograde or retrograde direction, and low/high path selection, while…

The new documents strengthen the case for explicitly enumerating Lambert branches: external Lambert libraries expose revolution count, prograde or retrograde direction, and low/high path selection, while multi-revolution solutions can be compared by the boundary delta-v relevant to the launch or arrival constraint. The targeting material also indicates that a Lambert-targeting solution can provide a useful initial guess and that arrival targeting can be treated through a reversed transfer. However, these capabilities are documented for lamberthub, poliastro, and other external solvers, not for the available Tools interface. The current program therefore still cannot safely use them without testing the actual API or implementing an independent solver. The evidence does not provide a better concrete EJSN epoch set or prove that multi-revolution branches are beneficial for these long legs. The current direct M=0 epoch-polished solution remains the strongest tested approach. Remaining knowledge is specifically whether Tools.lambert accepts branch or revolution parameters, whether an external or self-contained solver is available in the execution environment, and whether enumerated branches reduce the dominant launch boundary delta-v without harming flyby feasibility. If those capabilities are unavailable, no further document-based knowledge is needed; effort should instead focus on implementation experiments with denser launch/arrival and encounter-epoch searches.

Kept-document mean prediction 0.73346

Evidence sent to the solver

R1

"Earth Jupiter Saturn Uranus Neptune" trajectory optimization 2026 launch Lambert encounter epochs delta-v Python

R2

"tools_wrapper.py" Lambert "TrajectoryToolKit" multi-revolution low_path prograde

R3

"TrajectoryToolKit" Lambert solver multi-revolution max_revs low_path prograde Python API

Knowledge after searchThe new documents strengthen the case for explicitly enumerating Lambert branches: external Lambert libraries expose revolution count, prograde or retrograde direction, and low/high path selection, while…

The new documents strengthen the case for explicitly enumerating Lambert branches: external Lambert libraries expose revolution count, prograde or retrograde direction, and low/high path selection, while multi-revolution solutions can be compared by the boundary delta-v relevant to the launch or arrival constraint. The targeting material also indicates that a Lambert-targeting solution can provide a useful initial guess and that arrival targeting can be treated through a reversed transfer. However, these capabilities are documented for lamberthub, poliastro, and other external solvers, not for the available Tools interface. The current program therefore still cannot safely use them without testing the actual API or implementing an independent solver. The evidence does not provide a better concrete EJSN epoch set or prove that multi-revolution branches are beneficial for these long legs. The current direct M=0 epoch-polished solution remains the strongest tested approach. Remaining knowledge is specifically whether Tools.lambert accepts branch or revolution parameters, whether an external or self-contained solver is available in the execution environment, and whether enumerated branches reduce the dominant launch boundary delta-v without harming flyby feasibility. If those capabilities are unavailable, no further document-based knowledge is needed; effort should instead focus on implementation experiments with denser launch/arrival and encounter-epoch searches.

Stop: search budget exhausted

Web sources

Predictions are model estimates before evaluation.

www.refontelearning.comRefonte Learning : Interplanetary Mission Trajectory Design in 2026: Flybys, Low-Thrust Propulsion, and CruiseCandidatepred. 0.73318
Doc 1 · tavilyOpen website ↗
Predicted child score 0.73318Search rank #1Search relevance 0.685
Saved web contentExcerpt · 275 words captured
## Mission design software should support a traceable fidelity ladder Trajectory software ranges from quick analytical scripts to operational navigation environments. No single tool eliminates the need to understand the underlying models. The best workflow uses each tool at the level where it is strongest and preserves traceability as a design moves toward higher fidelity. A Python notebook with NumPy, SciPy, Astropy, poliastro, SPICE interfaces, and a Lambert solver can be enough for early studies. It can generate synodic-period estimates, Hohmann baselines, departure and arrival grids, v-infinity vectors, and porkchop plots. Such scripts are valuable because every assumption is visible and can be checked. [...] Programming competence should extend beyond producing plots. Candidates should understand testing, version control, profiling, numerical …
Returned in R1Kept after R1
www.academia.eduInterplanetary Mission Design Handbook: Earth-to-Mars Mission Opportunities 2026 to 2045Candidatepred. 0.73302
Doc 2 · tavilyOpen website ↗
Predicted child score 0.73302Search rank #2Search relevance 0.586
Saved web contentExcerpt · 292 words captured
arcs are designed using two-body Lambert’s problem. The total delta-V for the whole trajectory is computed and found to be lesser than that for the conventional trajectories. For a 480 km Earth parking orbit, the total delta-V is found to be 4.6203 km/s. Another advantage in the present approach is that delta-V does not depend upon the synodic period of Earth with respect to Mars. [...] download Download free PDFView PDF chevron_right Automated Sensitivity Analysis of Interplanetary Trajectories for Optimal Mission Design Bruno Victorino Sarli 2017 This work describes a suite of Python tools known as the Python EMTG Automated Trade Study Application (PEATSA). PEATSA was written to automate the operation of trajectory optimization software, simplify the process of performing …
Returned in R1
www.sciencepublishinggroup.comAnalysis of Earth-Uranus Direct-Transfer Trajectory for Optimal Delta-V Using Lambert’s Problem, International Journal of Astrophysics and Space Science, Science Publishing GroupCandidatepred. 0.73326
Doc 3 · tavilyOpen website ↗
Predicted child score 0.73326Search rank #3Search relevance 0.576
Saved web contentExcerpt · 242 words captured
Copyright © 2012 -- 2026 Science Publishing Group – All rights reserved. [...] | | Woo, B., Coverstone, V. L., & Cupples, M. (2006). Low-thrust trajectory optimization procedure for gravity-assist, outer-planet missions. Journal of Spacecraft and Rockets, 43 (1), 121-129. | | | Torla, J., & Peet, M. (2019). Optimization of low fuel and time-critical interplanetary transfers using space elevator apex anchor release: Mars, Jupiter and Saturn. In Proceedings of the International Astronautical Congress, IAC (Vol. 2019, pp. IAC-19\_D4\_3\_4\_x51420). International Astronautical Federation, IAF. | | | Tang, S., & Conway, B. A. (1995). Optimization of low-thrust interplanetary trajectories using collocation and nonlinear programming. Journal of Guidance, Control, and Dynamics, 18 (3), 599604. | [...] The Ice Giants may become a …
Returned in R1Kept after R1, R2
b612.aiEarth to Jupiter Transfer Demo - ADAM Trajectory OptimizerCandidatepred. 0.73312
Doc 4 · tavilyOpen website ↗
Predicted child score 0.73312Search rank #4Search relevance 0.555
Saved web contentExcerpt · 285 words captured
CSV Metadata (CSVW) Schema and indexing metadata for the CSV file Lambert Solutions Parquet (Recommended) Recommended: Parquet format with optimized schema for efficient data analysis to be used with adam\_core. Plot (HTML) Standalone HTML file with porkchop plot Departure Body Ephemeris OEM file with departure body orbital data Arrival Body Ephemeris OEM file with arrival body orbital data ### Explore Data with adam\_core Python Analysis: You can load and analyze the trajectory optimization data directly in Python using the adam\_core library. The code below shows how to access C3 values, V-infinity, time of flight, and orbital elements. # Install adam\_core if needed !pip install adam\_core from adam\_core.missions.porkchop import LambertSolutions [...] Transfer data is provided in CSV format containing all computed …
Returned in R1
indico.esa.intmultiple revolution lambert´s targeting problem: an analyticalSent to solverpred. 0.73412
Doc 5 · tavilyOpen website ↗
Predicted child score 0.73412Search rank #5Search relevance 0.521
Saved web contentExcerpt · 303 words captured
departure date [year] transfer time [days] 2025.5 2026 2026.5 2027 2027.5 2028 2028.5 2029 2029.5 2030 100 200 300 400 500 600 700 800 900 1000 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4 4.2 ∆V=2.7444 km/s (tdep 04−14−2026) ∆V=3.5716 km/s (tdep 12−16−2025) ∆V=2.8267 km/s ∆V=2.3323 km/s ∆V=2.9493 km/s ∆V=2.5592 km/s (tdep 04−22−2026) ∆V=2.3764 km/s (tdep 07−15−2026) (tdep 08−29−2028) (tdep 09−30−2028) (tdep 07−22−2028) transfer time [days] departure date [year] 2025.5 2026 2026.5 2027 2027.5 2028 2028.5 2029 2029.5 2030 100 200 300 400 500 600 700 800 900 1000 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4 4.2 (tdep 09−30−2028) (tdep 07−15−2026) ∆V=2.3764 km/s (tdep 04−14−2026) ∆V=2.7444 km/s (tdep 07−22−2028) ∆V=2.3324 km/s ∆V=2.9465 km/s (tdep 08−28−2028) ∆V=2.5588 km/s …
Returned in R1Kept after R1, R2, R3
docs.poliastro.spaceMultiple revolutions on Lambert's problem - poliastroCandidatepred. 0.73322
Doc 6 · tavilyOpen website ↗
Predicted child score 0.73322Search rank #1Search relevance 0.602
Saved web contentExcerpt · 293 words captured
When `is_prograde=True`, solution orbit has an inclination less than \(\text{inc} < 180\) degrees (prograde orbit). Otherwise, when `is_prograde=False`, solution orbit inclination has \(\text{inc} > 180\) degrees (retrograde orbit.) ### Type of transfer path: low or high¶ The type of path is a boolean variable which allows the user to filter out the solution when two of them are found. Multiple solutions only appear in the multi-revolution case. The geometry of this scenario is presented in the figure below: Notice there are a total of two orbits (red and blue) connecting the position vectors \(\vec{r\_1}\) to \(\vec{r\_2}\). A total of four solutions are found: [...] Let us generate all the possible combinations of prograde/retrograde and low/high path. We can take advantage …
Returned in R2
github.comjorgepiloto/lamberthub: A set of Lambert's problem solversCandidatepred. 0.73318
Doc 7 · tavilyOpen website ↗
Predicted child score 0.73318Search rank #2Search relevance 0.479
Saved web contentExcerpt · 420 words captured
# lamberthub: a hub of Lambert's problem solvers A Python library designed to provide solutions to Lambert's problem, a classical problem in astrodynamics that involves determining the orbit of a spacecraft given two points in space and the time of flight between them. The problem is essential for trajectory planning, particularly for interplanetary missions. This library implements multiple algorithms, each named after its author and publication year, for solving different variations of Lambert's problem. These algorithms can handle different types of orbits, including multi-revolution paths and direct transfers. Python PyPI License: GPL v3 CI Coverage DOI ## Installation Multiple installation methods are supported: [...] $$\vec{r\_1} = \begin{bmatrix} 0.159321004 \\ 0.579266185 \\ 0.052359607 \end{bmatrix} \text{ [AU]} \quad \quad \vec{r\_2} = \begin{bmatrix} …
Returned in R2
amostech.comThe Superior Lambert AlgorithmCandidatepred. 0.73312
Doc 8 · tavilyOpen website ↗
Predicted child score 0.73312Search rank #3Search relevance 0.450
Saved web contentExcerpt · 630 words captured
is the only parameter needed to initiate the initial guess of x. If x is positive on the Low Path, a simple guess of 1 x = 0.5 is good enough to kick start equation (5), and a unique Lambert solution will be computed in a few iterations (normally between 3 to 7) by lambert2. If x is negative on the High Path, a simple guess is 1 x = − 0.5. A unique solution is guaranteed, because the given time t is a single-valued and monotonic function of x for N = 0. The Minimum Energy time t ME is easily determined with x = 0. When t ME is determined for any N, then x is positive or …
Returned in R2
poliastro-py.readthedocs.ioMultiple revolutions on Lambert's problemCandidatepred. 0.7331
Doc 9 · tavilyOpen website ↗
Predicted child score 0.7331Search rank #4Search relevance 0.445
Saved web contentExcerpt · 189 words captured
``` [...] ## What are multiple revolutions and why do we care about them?¶ The basic Lambert algorithm looks for a direc transfer, which can be be a short or long arc transfer as stated by the figure. There exist a total of three orbit solutions defined by the location of the focus for those transfer orbits: 1. Minimum-energy orbit: also called the optimal path. In this case the focus lies in the line that conects \(\vec{r\_{1}}\) and \(\vec{r\_{2}}\). 2. Short arc orbit: both focis \(F\_{1}\) and \(F\_{2}^{\}\) of the transfer orbit lie in the same side of the line connecting both position vectors. 3. Long arc orbit: each one of the transfer orbit focus lies in a different side …
Returned in R2
indico.esa.intmultiple revolution lambert´s targeting problem: an analyticalSent to solverpred. 0.73342
Doc 10 · tavilyOpen website ↗
Predicted child score 0.73342Search rank #5Search relevance 0.398
Saved web contentExcerpt · 241 words captured
Solving an LTP with the highest possible computational efficiency is key to the design of optimized interplanetary tra-jectories, and, in particular, the ones including multiple grav-ity assists and deep space maneuvers (DSMs). For these types of problems, the complete sampling (grid search) of the multi-dimensional solution space implies the solution of a num-ber of LTPs often exceeding the capability of even the most advanced computational means available today. One exam-ple is the design and optimization of multiple gravity assist trajectories with multiple DSMs like the Messenger trajec-tory to Mercury, which employed seven trajectory arcs with five deterministic DSM with delta-V larger than 70 m/s. [...] It is important to underline that in order to obtain suf-ficiently accurate approximations the analytical …
Returned in R2Kept after R2, R3
pypi.orglamberthub: a hub of Lambert's problem solversCandidatepred. 0.73318
Doc 11 · tavilyOpen website ↗
Predicted child score 0.73318Search rank #1Search relevance 0.657
Saved web content21 words captured
A Python library designed to provide solutions to Lambert's problem, essential for trajectory planning, , including multi-revolution paths and direct transfers
Returned in R3
github.comjorgepiloto/lamberthub: A set of Lambert's problem solversCandidatepred. 0.73334
Doc 12 · tavilyOpen website ↗
Predicted child score 0.73334Search rank #2Search relevance 0.623
Saved web contentExcerpt · 413 words captured
# lamberthub: a hub of Lambert's problem solvers A Python library designed to provide solutions to Lambert's problem, a classical problem in astrodynamics that involves determining the orbit of a spacecraft given two points in space and the time of flight between them. The problem is essential for trajectory planning, particularly for interplanetary missions. This library implements multiple algorithms, each named after its author and publication year, for solving different variations of Lambert's problem. These algorithms can handle different types of orbits, including multi-revolution paths and direct transfers. Python PyPI License: GPL v3 CI Coverage DOI ## Installation Multiple installation methods are supported: [...] ## Using a solver Any Lambert's problem algorithm implemented in `lamberthub` is a Python function which …
Returned in R3
docs.poliastro.spaceMultiple revolutions on Lambert's problem - poliastroSent to solverpred. 0.73346
Doc 13 · tavilyOpen website ↗
Predicted child score 0.73346Search rank #3Search relevance 0.532
Saved web contentExcerpt · 248 words captured
When `is_prograde=True`, solution orbit has an inclination less than \(\text{inc} < 180\) degrees (prograde orbit). Otherwise, when `is_prograde=False`, solution orbit inclination has \(\text{inc} > 180\) degrees (retrograde orbit.) ### Type of transfer path: low or high¶ The type of path is a boolean variable which allows the user to filter out the solution when two of them are found. Multiple solutions only appear in the multi-revolution case. The geometry of this scenario is presented in the figure below: Notice there are a total of two orbits (red and blue) connecting the position vectors \(\vec{r\_1}\) to \(\vec{r\_2}\). A total of four solutions are found: [...] ``` frompoliastro.maneuver import Maneuver def lambert_solution_orbits(ss_departure, ss_arrival, M):"""Computes all available solution orbits to the Lambert's problem.""" …
Returned in R3Kept after R3
help.agi.comLambertOrbitSolver - AgiCandidatepred. 0.73304
Doc 14 · tavilyOpen website ↗
Predicted child score 0.73304Search rank #4Search relevance 0.520
Saved web contentExcerpt · 164 words captured
``` @Nonnull public final LambertResult solveMinimumDurationMultipleRevolutionTransfer(@Nonnull Cartesian initialPosition, @Nonnull Cartesian finalPosition, int numberOfRevolutions, @Nonnull LambertPathType pathType, @Nonnull OrbitDirectionType directionOfFlight, @Nonnull Cartesian orbitalPlaneVector) ``` Solves the constrained Lambert problem given the input. Solver is constrained to return the minimum-duration, multiple-revolution solution. The minimum-duration, multiple-revolution solution is useful for providing a minimum bound on the possible durations of orbits that have the desired number of revolutions. [...] ``` @Nonnull public final LambertResult solveMinimumDurationMultipleRevolutionTransfer(@Nonnull Cartesian initialPosition, @Nonnull Cartesian finalPosition, int numberOfRevolutions, @Nonnull LambertPathType pathType, @Nonnull OrbitDirectionType directionOfFlight) ``` Solves the constrained Lambert problem given the input. Solver is constrained to return the minimum-duration, multiple-revolution solution. The minimum-duration, multiple-revolution solution is useful for providing a minimum bound on the possible durations of orbits that …
Returned in R3
www.orekit.orgLambertSolver (OREKIT 13.1.8 API)Candidatepred. 0.73301
Doc 15 · tavilyOpen website ↗
Predicted child score 0.73301Search rank #5Search relevance 0.520
Saved web content22 words captured
Computes the Jacobian matrix of the Lambert solution. The rows represent the initial and terminal velocity vectors. The columns represent the parameters:
Returned in R3

04Code & measured result

8 candidate attempts
Parent → selected child0.73299 → 0.73439Search-time evaluator score ↑
Run best · before → after0.73443 → 0.73443Incumbent retained

Change 1: Modified function `_polish_epochs`: Optimize launch, flyby, and arrival epochs for the direct Lambert tour. Change 2: Near `record.set("phase1_nodes", len(ga_traj))...` (8→14 lines)

Code diff recorded excerpt+168−7
+    clean = [n for n in nodes if n["type"] in ("start", "GA", "end")]+    ga_pids = [str(n["planet_id"]) for n in clean if n["type"] == "GA"]+    x0 = np.asarray([float(n["time"]) for n in clean], dtype=float)+                vd, va = tools.lambert(+                    prograde=True,+                    lowpath=True,+                    M=0,+        if np.isfinite(polished_cost) and polished_cost < best_cost:
Scientific visualization