Skip to content

Examples

Each example is the same program in Rust and Python, with a problem from the literature or a feature of genoxide. The code on these pages is the code in the repository's examples folder, which CI runs. Choosing Rust or Python on one page selects it on every page.

Example Category Languages Known optimum
OneMax binary Rust, Python 500 (all ones)
LeadingOnes binary Rust, Python 100 (all ones)
Deceptive trap binary Rust, Python 40 (all ones)
Royal road R1 binary Rust, Python 64 (all ones)
Royal road R2 binary Rust, Python 256 (all ones)
NK landscape binary Rust, Python 0.742541 (landscape seed 1, by exhaustive search)
0/1 knapsack constrained Rust, Python 20849 (total value, by dynamic programming)
N-Queens 8×8 permutation Rust, Python 0 (conflicts)
N-Queens 16×16 permutation Rust, Python 0 (conflicts)
N-Queens 32×32 permutation Rust, Python 0 (conflicts)
N-Queens 64×64 permutation Rust, Python 0 (conflicts)
N-Queens 128×128 permutation Rust, Python 0 (conflicts)
Travelling salesman (berlin52) permutation Rust, Python 7542 (tour length)
Job shop scheduling (ft06) permutation Rust, Python 55 (makespan)
Sphere continuous Rust, Python 0 (at the origin)
Axis-parallel ellipsoid continuous Rust, Python 0 (at the origin)
Schwefel 1.2 continuous Rust, Python 0 (at the origin)
Schwefel 2.21 continuous Rust, Python 0 (at the origin)
Schwefel 2.22 continuous Rust, Python 0 (at the origin)
Zakharov continuous Rust, Python 0 (at the origin)
Trid continuous Rust, Python −n (n + 4) (n − 1) / 6 at xᵢ = i (n + 1 − i): −210 for n = 10
Dixon-Price continuous Rust, Python 0 at xᵢ = 2^(−(2ⁱ − 2)/2ⁱ), and with xₙ negated
Powell continuous Rust, Python 0 (at the origin)
Sum of different powers continuous Rust, Python 0 (at the origin)
Step continuous Rust, Python 0 (on the cube [−0.5, 0.5)ⁿ)
Quartic continuous Rust, Python 0 (at the origin, without noise)
Rotated hyper-ellipsoid continuous Rust, Python 0 (at the origin)
High-conditioned elliptic continuous Rust, Python 0 (at the origin)
Bent cigar continuous Rust, Python 0 (at the origin)
Discus continuous Rust, Python 0 (at the origin)
Different powers continuous Rust, Python 0 (at the origin)
Rosenbrock continuous Rust, Python 0 (at (1, …, 1))
Levy continuous Rust, Python 0 (at (1, …, 1))
Styblinski-Tang continuous Rust, Python −1174.98 in 30 dimensions (−39.1662 n, at xᵢ ≈ −2.9035)
Michalewicz continuous Rust, Python −9.66015 in 10 dimensions (computed a gene at a time)
Ackley continuous Rust, Python 0 (at the origin)
Rastrigin function continuous Rust, Python 0 (at the origin)
Griewank continuous Rust, Python 0 (at the origin)
Schwefel 2.26 continuous Rust, Python −12569.4866 in 30 dimensions (every gene 420.9687)
Himmelblau's function continuous Rust, Python 0 (at four points)
Branin continuous Rust, Python 0.397887 (at three points)
Goldstein-Price continuous Rust, Python 3 (at (0, −1))
Six-hump camel continuous Rust, Python −1.0316285 (at two points)
Three-hump camel continuous Rust, Python 0 at (0, 0)
Beale continuous Rust, Python 0 at (3, 0.5)
Booth continuous Rust, Python 0 at (1, 3)
Matyas continuous Rust, Python 0 at (0, 0)
Bohachevsky 1 continuous Rust, Python 0 at (0, 0)
Bohachevsky 2 continuous Rust, Python 0 at (0, 0)
Bohachevsky 3 continuous Rust, Python 0 at (0, 0)
Hartmann 3-D continuous Rust, Python −3.86278 at (0.11461, 0.55565, 0.85255) (best known)
Hartmann 6-D continuous Rust, Python −3.32237 at (0.20169, 0.15001, 0.47687, 0.27533, 0.31165, 0.65730) (best known)
Shekel 5 continuous Rust, Python −10.15320 near (4, 4, 4, 4) (best known)
Shekel 7 continuous Rust, Python −10.40294 near (4, 4, 4, 4) (best known)
Shekel 10 continuous Rust, Python −10.53641 near (4, 4, 4, 4) (best known)
Shekel's foxholes continuous Rust, Python 0.99800 at (−31.97833, −31.97833) (best known)
Langermann continuous Rust, Python −4.15581 at (2.79340, 1.59723) (best known)
Kowalik continuous Rust, Python 3.07486e-4 at (0.19283, 0.19084, 0.12312, 0.13577) (best known)
Easom continuous Rust, Python −1 at (π, π)
Eggholder continuous Rust, Python −959.6407 at (512, 404.2318) (best known)
Schaffer F6 continuous Rust, Python 0 at the origin
Schaffer F7 continuous Rust, Python 0 (at the origin)
Penalized 1 continuous Rust, Python 0 (at (−1, …, −1))
Penalized 2 continuous Rust, Python 0 (at (1, …, 1))
Büche-Rastrigin continuous Rust, Python 0 (at the origin)
Non-continuous Rastrigin continuous Rust, Python 0 (at the origin)
Weierstrass continuous Rust, Python 0 (at the origin)
Katsuura continuous Rust, Python 0 (at the origin, and wherever every gene is a multiple of 1/2)
HappyCat continuous Rust, Python 0 (at (−1, …, −1))
HGBat continuous Rust, Python 0 (at (−1, …, −1))
Pressure vessel design constrained Rust, Python 6059.714335 (cost)
Welded beam design constrained Rust, Python 1.7248523085993899 (seven constraints) and 2.3811341169090015 (five constraints), best known
Tension/compression spring constrained Rust, Python 0.01266523278831971 (weight), best known
Speed reducer constrained Rust, Python 2996.348165 (weight), best known
Three-bar truss constrained Rust, Python 263.895843 (volume, cm³)
Cantilever beam constrained Rust, Python 1.339956361 (weight), proven
Car side impact constrained Rust, Python 23.585658 (weight), best known
CEC 2006 g01 constrained Rust, Python −15 at (1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1), proven
CEC 2006 g02 constrained Rust, Python −0.80361910412559, best known (not proven)
CEC 2006 g03 constrained Rust, Python −1.0005001 (−1.0001⁵) at xi = 0.316244 for the report's tolerance 0.0001, proven
CEC 2006 g04 constrained Rust, Python −30665.53867178332 (proven)
CEC 2006 g05 constrained Rust, Python 5126.4967140071 (best known, with the equalities met within 0.0001)
CEC 2006 g06 constrained Rust, Python −6961.81387558015 (proven)
CEC 2006 g07 constrained Rust, Python 24.30620906818 (proven)
CEC 2006 g08 constrained Rust, Python −0.0958250414180359 (proven)
CEC 2006 g09 constrained Rust, Python 680.630057374402 (proven)
CEC 2006 g10 constrained Rust, Python 7049.24802052867 (proven)
CEC 2006 g11 constrained Rust, Python 0.7499 (3/4 − 0.0001) at (±0.707036, 0.5) for the report's tolerance 0.0001, proven
CEC 2006 g12 constrained Rust, Python −1 at (5, 5, 5) (proven)
CEC 2006 g13 constrained Rust, Python 0.053941514041898 (best known, with the equalities met within 0.0001)
CEC 2006 g14 constrained Rust, Python −47.7648884594915 (best known, with the equalities met within 0.0001)
CEC 2006 g15 constrained Rust, Python 961.715022289961 (best known, with the equalities met within 0.0001)
CEC 2006 g16 constrained Rust, Python −1.90515525853479 (best known)
CEC 2006 g17 constrained Rust, Python 8853.5338748065 (best known, with the equalities met within 0.0001; the report prints 8853.53967480648)
CEC 2006 g18 constrained Rust, Python −0.866025403784439, −√3/2 (best known)
CEC 2006 g19 constrained Rust, Python 32.6555929502463 (best known)
CEC 2006 g20 constrained Rust, Python none feasible; the report's best known, 0.2049794002, violates a constraint by 0.1438
CEC 2006 g21 constrained Rust, Python 193.724510070035 (best known, with the equalities met within 0.0001)
CEC 2006 g22 constrained Rust, Python 236.430975504001 (the report's best known, with the equalities met within 0.0001); 236.370313314566 with every equality met exactly
CEC 2006 g23 constrained Rust, Python −400.055099999999584 (best known, with the equalities met within 0.0001)
CEC 2006 g24 constrained Rust, Python −5.50801327159536 (proven)
Gear train design integer Rust, Python 2.700857e-12 (squared error of the ratio)
ZDT1 multi-objective Rust, Python hypervolume 0.8767 (reference point (1.1, 1.1))
ZDT2 multi-objective Rust, Python the front f₂ = 1 − f₁² for f₁ in [0, 1]; hypervolume 0.5433 (reference point (1.1, 1.1))
ZDT3 multi-objective Rust, Python five pieces of f₂ = 1 − √f₁ − f₁ sin(10π f₁); hypervolume 1.3318 (reference point (1.1, 1.1))
ZDT4 multi-objective Rust, Python the front f₂ = 1 − √f₁ for f₁ in [0, 1]; hypervolume 0.8767 (reference point (1.1, 1.1))
ZDT5 multi-objective Rust, Python 31 points f₂ = 10 / f₁ for f₁ = 1, 2, …, 31; hypervolume 323.15 (reference point (34.1, 11))
ZDT6 multi-objective Rust, Python the front f₂ = 1 − f₁² for f₁ from 0.2808 to 1; hypervolume 0.5079 (reference point (1.1, 1.1))
Schaffer 1 multi-objective Rust, Python the front f₂ = (√f₁ − 2)² for f₁ in [0, 4]; hypervolume 16.693 (reference point (4.4, 4.4))
Schaffer 2 multi-objective Rust, Python the front f₂ = (f₁ − 3)² for f₁ in [−1, 0) and f₂ = (f₁ − 1)² for f₁ in [0, 1]; hypervolume 26.053 (reference point (1.2, 17.6))
Fonseca-Fleming multi-objective Rust, Python the front (1 − exp(−(s − 1)²), 1 − exp(−(s + 1)²)) for s in [−1, 1]; hypervolume 0.5521 (reference point (1.1, 1.1))
Kursawe's disconnected front multi-objective Rust, Python not known in closed form; a reference front from much longer runs has hypervolume 37.3489 (reference point (−14, 1))
Poloni multi-objective Rust, Python not known in closed form; a fine grid gives hypervolume 444.57 (reference point (18.4, 27.5))
BNH, a constrained two-objective problem multi-objective Rust, Python the front f = (8t², 2(t − 5)²) for t in [0, 5]; hypervolume 9883.33 (reference point (210, 55))
SRN (Srinivas and Deb) multi-objective Rust, Python a front in three pieces, from (10.1, 2.61) to (222.97, −217.74); hypervolume 35478.6 (reference point (245, 25))
TNK (Tanaka) multi-objective Rust, Python a front in five pieces on the first constraint's boundary, from (0.0417, 1.0384) to (1.0384, 0.0417); hypervolume 0.6551 (reference point (1.2, 1.2))
OSY (Osyczka and Kundu) multi-objective Rust, Python a front in five pieces, from (−274, 76) to (−42, 4); hypervolume 16546.1 (reference point (−20, 85))
CONSTR multi-objective Rust, Python the front f₂ = 7/f₁ − 9 for f₁ in [7/18, 2/3], then f₂ = 1/f₁ for f₁ in [2/3, 1]; hypervolume 5.3327 (reference point (1.1, 10))
WFG1 multi-objective Rust, Python the front f₁ = 2 (1 − cos(x₁π/2)), f₂ = 4 (1 − x₁ + sin(10πx₁) / 10π) for x₁ in [0, 1]; hypervolume 6.7857 (reference point (2.2, 4.4)); no genome reaches it in double precision: the closest front a genome can have is the front moved by 0.0695, hypervolume 6.3321
WFG2 multi-objective Rust, Python six regions of the curve f₁ = 2 (1 − cos(x₁π/2)), f₂ = 4 (1 − x₁ cos²(5πx₁)); hypervolume 6.1511 (reference point (2.2, 4.4))
WFG3 multi-objective Rust, Python the segment from (0, 4) to (2, 0); hypervolume 5.68 (reference point (2.2, 4.4))
WFG4 multi-objective Rust, Python the front (f₁ / 2)² + (f₂ / 4)² = 1, a quarter ellipse from (0, 4) to (2, 0); hypervolume 3.3968 (reference point (2.2, 4.4))
WFG5 multi-objective Rust, Python the front (f₁ / 2)² + (f₂ / 4)² = 1, a quarter ellipse from (0, 4) to (2, 0); hypervolume 3.3968 (reference point (2.2, 4.4))
WFG6 multi-objective Rust, Python the front (f₁ / 2)² + (f₂ / 4)² = 1, a quarter ellipse from (0, 4) to (2, 0); hypervolume 3.3968 (reference point (2.2, 4.4))
WFG7 multi-objective Rust, Python the quarter ellipse (f₁/2)² + (f₂/4)² = 1; hypervolume 3.3968 (reference point (2.2, 4.4))
WFG8 multi-objective Rust, Python the quarter ellipse (f₁/2)² + (f₂/4)² = 1; hypervolume 3.3968 (reference point (2.2, 4.4))
WFG9 multi-objective Rust, Python the quarter ellipse (f₁/2)² + (f₂/4)² = 1; hypervolume 3.3968 (reference point (2.2, 4.4))
DTLZ1 with 3 objectives multi-objective Rust, Python the plane f₁ + f₂ + f₃ = 0.5; hypervolume 0.1455 (reference point (0.55, 0.55, 0.55))
DTLZ2 with 3 objectives multi-objective Rust, Python hypervolume 0.8074 (reference point (1.1, 1.1, 1.1))
DTLZ3 with 3 objectives multi-objective Rust, Python the unit sphere's eighth with f ≥ 0; hypervolume 0.8074 (reference point (1.1, 1.1, 1.1))
DTLZ4 with 3 objectives multi-objective Rust, Python the unit sphere's eighth with f ≥ 0; hypervolume 0.8074 (reference point (1.1, 1.1, 1.1))
DTLZ5 with 3 objectives multi-objective Rust, Python the curve f₁ = f₂ = cos θ / √2, f₃ = sin θ for θ in [0, π/2]; hypervolume 0.1349 (reference point (0.7778, 0.7778, 1.1))
DTLZ6 with 3 objectives multi-objective Rust, Python the curve f₁ = f₂ = cos θ / √2, f₃ = sin θ for θ in [0, π/2]; hypervolume 0.1349 (reference point (0.7778, 0.7778, 1.1))
DTLZ7 with 3 objectives multi-objective Rust, Python f₃ = 6 − φ(f₁) − φ(f₂), φ(f) = f (1 + sin 3πf), with f₁ and f₂ in [0, 0.2514] or (0.6316, 0.8594]; hypervolume 1.7392 (reference point (0.9453, 0.9453, 6.6))
Viennet 1 multi-objective Rust, Python the image of the triangle with corners (0, 1), (0, −1) and (1, 0); hypervolume about 33.52 (reference point (4.4, 5.4, 4.2))
Viennet 2 multi-objective Rust, Python not known in closed form; hypervolume about 0.7744 (reference point (4.3697, −16.4242, −11.9584))
Viennet 3 multi-objective Rust, Python not known in closed form: two curves; hypervolume about 5.3255 (reference point (9.016, 17.2407, 0.2036))
CTP1 multi-objective Rust, Python the front f₂ = max(e^−f₁, 0.858 e^−0.541f₁, 0.728 e^−0.295f₁) for f₁ in [0, 1]; hypervolume 0.8829 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP2 multi-objective Rust, Python 13 disconnected pieces of the constraint's boundary, from (0, 1) to (0.9845, 0.2872); hypervolume 0.6901 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP3 multi-objective Rust, Python 13 points on the line f₂ = 1 − tan(0.2π) f₁, from (0, 1) to (0.9708, 0.2947); hypervolume 0.6683 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP4 multi-objective Rust, Python 13 points on the line f₂ = 1 − tan(0.2π) f₁, from (0, 1) to (0.9708, 0.2947); hypervolume 0.6683 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP5 multi-objective Rust, Python a piece of the constraint's boundary from (0, 1) to f₁ = 0.2558, and 15 points on the line f₂ = 1 − tan(0.2π) f₁ at √(k/10) along it, the last at (0.9908, 0.2801); hypervolume 0.6613 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP6 multi-objective Rust, Python one piece of a constraint boundary, from (0, 3.6958) to (1, 0.8813); hypervolume 0.7124 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP7 multi-objective Rust, Python six pieces of the curve f₂ = 1 − √f₁, the last ending at (1, 0), and the point (0, 1.0446); hypervolume 0.8443 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
CTP8 multi-objective Rust, Python three pieces of CTP6's front, from (0, 3.6958) to (0.1345, 3.3128), (0.3263, 2.7686) to (0.4790, 2.3372) and (0.6823, 1.7654) to (0.8229, 1.3727); hypervolume 0.6540 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
C1-DTLZ1 with 3 objectives multi-objective Rust, Python DTLZ1's front, the plane f₁ + f₂ + f₃ = 1/2, all feasible; the 91 target points' hypervolume is 1.1204 in objectives scaled by the nadir point (reference point (1.1, 1.1, 1.1))
C1-DTLZ3 with 3 objectives multi-objective Rust, Python DTLZ3's front, the unit sphere, all feasible; the 91 target points' hypervolume is 0.7449 (reference point (1.1, 1.1, 1.1))
C2-DTLZ2 with 3 objectives multi-objective Rust, Python the parts of the unit sphere within 0.4 of (1, 0, 0), (0, 1, 0), (0, 0, 1) and (1, 1, 1)/√3; the 58 feasible target points' hypervolume is 0.6535 (reference point (1.1, 1.1, 1.1))
Convex C2-DTLZ2 with 3 objectives multi-objective Rust, Python the convex front f₃ + √f₁ + √f₂ = 1 outside the cylinder of radius 0.225 around the diagonal; the 47 feasible target points' hypervolume is 1.2546 (reference point (1.1, 1.1, 1.1))
C3-DTLZ1 with 3 objectives multi-objective Rust, Python the front f₁ + f₂ + f₃ + min fⱼ = 1, three planes from the unit vectors to (1/4, 1/4, 1/4); the 91 target points' hypervolume is 1.1624 (reference point (1.1, 1.1, 1.1))
C3-DTLZ4 with 3 objectives multi-objective Rust, Python the front minⱼ [fⱼ²/4 + Σ_{i≠j} fᵢ²] = 1, three ellipsoids from 2 × the unit vectors to (2/3, 2/3, 2/3); the 91 target points' hypervolume is 1.0598 in objectives scaled by the nadir point (reference point (1.1, 1.1, 1.1))
DTLZ8 with 3 objectives multi-objective Rust, Python the line f₁ = f₂ = t, f₃ = 1 − 4t, t in [0, 1/6], and the triangle 2f₃ + f₁ + f₂ = 1 with f₁, f₂ ≥ (1 − f₃)/4; ideal point (0, 0, 0), nadir point (3/4, 3/4, 1); hypervolume 0.9724 (normalized objectives, reference point (1.1, 1.1, 1.1))
DTLZ9 with 3 objectives multi-objective Rust, Python the curve f₁ = f₂ = cos θ, f₃ = sin θ, θ in [0, π/2]; ideal point (0, 0, 0), nadir point (1, 1, 1); hypervolume 0.2697 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC1-DTLZ1 with 3 objectives multi-objective Rust, Python two bands of the triangle f₁ + f₂ + f₃ = 1/2, f₃ in [1/9, 2/9] or [4/9, 1/2]; ideal point (0, 0, 1/9), nadir point (7/18, 7/18, 1/2); hypervolume 1.0709 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC1-DTLZ3 with 3 objectives multi-objective Rust, Python two bands of the unit sphere's octant, f₃ in [0, sin(π/18)] or [sin(5π/18), sin(7π/18)]; ideal point (0, 0, 0), nadir point (1, 1, sin(7π/18)) = (1, 1, 0.9397); hypervolume 0.6529 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC2-DTLZ1 with 3 objectives multi-objective Rust, Python DTLZ1's front, whole; ideal point (0, 0, 0), nadir point (1/2, 1/2, 1/2); hypervolume 1.1577 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC2-DTLZ3 with 3 objectives multi-objective Rust, Python DTLZ3's front, whole; ideal point (0, 0, 0), nadir point (1, 1, 1); hypervolume 0.7971 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC3-DTLZ1 with 3 objectives multi-objective Rust, Python four patches of DTLZ1's front; ideal point (0, 0, 1/9), nadir point (49/162, 7/18, 1/2) = (0.3025, 0.3889, 0.5); hypervolume 0.9010 (normalized objectives, reference point (1.1, 1.1, 1.1))
DC3-DTLZ3 with 3 objectives multi-objective Rust, Python four patches of DTLZ3's front; ideal point (cos²(7π/18), 0, 0) = (0.117, 0, 0), nadir point (1, sin(7π/18), sin(7π/18)) = (1, 0.9397, 0.9397); hypervolume 0.5488 (normalized objectives, reference point (1.1, 1.1, 1.1))
DAS-CMOP1 multi-objective Rust, Python for the difficulty triplet (0, 0.5, 0.5), two pieces of the curve f₂ = 1.5 − (f₁ − 0.5)²; ideal point (0.5, 0.5), nadir point (1.5, 1.5); hypervolume 0.4706 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP2 multi-objective Rust, Python for the difficulty triplet (0, 0.5, 0.5), the curve f₂ = 1.5 − √(f₁ − 0.5) and a piece of an ellipse; ideal point (0.5, 0.5), nadir point (1.5, 1.5); hypervolume 0.8612 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP3 multi-objective Rust, Python for the difficulty triplet (0, 0.5, 0.5), six pieces; ideal point (0.5, 0.5), nadir point (1.5, 1.5); hypervolume 0.7711 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP4 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), six pieces of the curve f₂ = 1.5 − (f₁ − 0.5)²; ideal point (0.5, 0.5975), nadir point (1.45, 1.5); hypervolume 0.4476 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP5 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), ten pieces, of the curve f₂ = 1.5 − √(f₁ − 0.5) and of an ellipse; ideal point (0.5, 0.5253), nadir point (1.45, 1.5); hypervolume 0.8494 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP6 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), six pieces, some of them points; ideal point (0.5, 0.6056), nadir point (1.3, 1.5); hypervolume 0.7211 (normalized objectives, reference point (1.1, 1.1))
DAS-CMOP7 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), patches of the plane f₁ + f₂ + f₃ = 2.5; ideal point (0.5, 0.5, 0.5), nadir point (1.4479, 1.5, 1.5); hypervolume 1.1300 (normalized objectives, reference point (1.1, 1.1, 1.1))
DAS-CMOP8 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), patches of the unit sphere's octant moved to (0.5, 0.5, 0.5); ideal point (0.5, 0.5, 0.5), nadir point (1.5, 1.5, 1.4969); hypervolume 0.7853 (normalized objectives, reference point (1.1, 1.1, 1.1))
DAS-CMOP9 multi-objective Rust, Python for the difficulty triplet (0.5, 0.5, 0.5), DAS-CMOP8's, patches of the unit sphere's octant moved to (0.5, 0.5, 0.5); ideal point (0.5, 0.5, 0.5), nadir point (1.5, 1.5, 1.4969); hypervolume 0.7853 (normalized objectives, reference point (1.1, 1.1, 1.1))
Convex DTLZ2 with 3 objectives multi-objective Rust, Python the surface f₃ + √f₁ + √f₂ = 1 with fᵢ in [0, 1]; hypervolume 1.2943 (reference point (1.1, 1.1, 1.1))
Scaled DTLZ1 with 3 objectives multi-objective Rust, Python the plane f₁ + f₂/10 + f₃/100 = 0.5 with every fᵢ ≥ 0; hypervolume 1.1577 (objectives divided by the nadir point (0.5, 5, 50), reference point (1.1, 1.1, 1.1))
Scaled DTLZ2 with 3 objectives multi-objective Rust, Python the ellipsoid f₁² + (f₂/10)² + (f₃/100)² = 1 with every fᵢ ≥ 0; hypervolume 0.7971 (objectives divided by the nadir point (1, 10, 100), reference point (1.1, 1.1, 1.1))
Inverted DTLZ1 with 3 objectives multi-objective Rust, Python the triangle f₁ + f₂ + f₃ = 1 with every fᵢ in [0, 0.5]; hypervolume 0.3392 (objectives divided by the nadir point (0.5, 0.5, 0.5), reference point (1.1, 1.1, 1.1))
MW1 multi-objective Rust, Python six pieces of the line f₂ = 1 − 0.85 f₁, from (0, 1) to (1, 0.15); hypervolume 0.6794 (normalized objectives, reference point (1.1, 1.1))
MW2 multi-objective Rust, Python the line f₂ = 1 − f₁ for f₁ in [0, 1]; hypervolume 0.7100 (normalized objectives, reference point (1.1, 1.1))
MW3 multi-objective Rust, Python the line f₂ = 1 − f₁ and two stretches of the second constraint's boundary, from (0, 1) to (1, 0); hypervolume 0.6650 (normalized objectives, reference point (1.1, 1.1))
MW4 multi-objective Rust, Python the triangle f₁ + f₂ + f₃ = 1 with every fᵢ ≥ 0; hypervolume 1.1577 (reference point (1.1, 1.1, 1.1))
MW5 multi-objective Rust, Python sixteen points of the unit circle and two short curves near the axes; hypervolume 0.3930 (normalized objectives, reference point (1.1, 1.1))
MW6 multi-objective Rust, Python twelve pieces of the circle f₁² + f₂² = 1.21, from f₁ = 0.0163 to (1.1, 0); hypervolume 0.4043 (normalized objectives, reference point (1.1, 1.1))
MW7 multi-objective Rust, Python three pieces, of the unit circle and of the second constraint's boundary, from (0, 1.15) to (1.15, 0); hypervolume 0.5025 (normalized objectives, reference point (1.1, 1.1))
MW8 multi-objective Rust, Python the unit sphere with non-negative coordinates where arcsin f₃ is in [0, π/24], [π/8, 5π/24], [7π/24, 3π/8] or [11π/24, π/2]; hypervolume 0.7677 (reference point (1.1, 1.1, 1.1))
MW9 multi-objective Rust, Python f₂ = 1 − 0.64 f₁² for f₁ in [0, 0.5868], then f₂ = 1.15² − (f₁ + 0.15)² to (1, 0); hypervolume 0.4934 (normalized objectives, reference point (1.1, 1.1))
MW10 multi-objective Rust, Python two pieces, each part constraint boundary and part the parabola f₂ = 1 − f₁², from (0.2325, 1.1350) to (1, 0); hypervolume 0.6883 (normalized objectives, reference point (1.1, 1.1))
MW11 multi-objective Rust, Python two pieces on constraint boundaries and the isolated point (1, 1), which needs x₁ = 1 and g₃ = 1 exactly; hypervolume 0.8099 (normalized objectives, reference point (1.1, 1.1))
MW12 multi-objective Rust, Python the boundary T₁ = 0 from (0, 1) to (1.3164, 0.0039); hypervolume 0.7397 (normalized objectives, reference point (1.1, 1.1))
MW13 multi-objective Rust, Python three pieces, of the unconstrained front and of the boundary T₁ = 0, from (0, 4) to (1.5, 0.0183); hypervolume 0.5819 (normalized objectives, reference point (1.1, 1.1))
MW14 multi-objective Rust, Python f₃ = (φ(f₁) + φ(f₂))/2, φ(t) = 6 − eᵗ − 1.5 sin(1.1πt²), with f₁ and f₂ each in [0, 0.7314] or (1.3296, 1.5]; hypervolume 0.6742 (objectives normalized by the ideal and nadir points, reference point (1.1, 1.1, 1.1))
Two-bar truss multi-objective Rust, Python the front f₁ f₂ = 400 for stresses from 10⁵ down to 4000√5, then x₂ = 0.01 and y from 2 to 3, down to 8000√10/3 ≈ 8432.74; hypervolume 1.0663 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
Welded beam, two objectives multi-objective Rust, Python not known in closed form; from a cost of 2.3811341 at a deflection of 0.0157592 to a deflection of 0.00043904 at a cost of 36.421245 (best known); genoxide's reference front has a hypervolume of 1.1434 in scaled objectives (reference point (1.1, 1.1))
Disc brake multi-objective Rust, Python not known in closed form; from 0.1274 kg stopping in 16.654925 s to 2.0710401 s at 2.793 kg, both ends derived; genoxide's reference front has a hypervolume of 1.0853 in scaled objectives (reference point (1.1, 1.1))
Speed reducer, two objectives multi-objective Rust, Python not known in closed form; from a volume of 2771.9151 at the stress limit of 1300 to a stress of 694.70574 at a volume of 5777.9203 (best known); genoxide's reference front has a hypervolume of 1.1804 in scaled objectives (reference point (1.1, 1.1))
Four-bar truss multi-objective Rust, Python the front from (1400, 0.04) to (2200 + 600√2, (2√2 − 2)/300) ≈ (3048.53, 0.0027614), in three pieces with x₃ = √2; hypervolume 0.8891 in objectives scaled by the ideal and nadir points (reference point (1.1, 1.1))
Car side impact, three objectives multi-objective Rust, Python not known in closed form; ideal point (23.585658, 3.58525, 10.610644); genoxide's reference front has a hypervolume of 0.8687 in objectives scaled by the ideal point and its estimated nadir point (42.768, 4.0, 12.5212) (reference point (1.1, 1.1, 1.1))
Rocket injector multi-objective Rust, Python not known in closed form; ideal point (0.0088934, −0.4315, 0.00488); genoxide's reference front has a hypervolume of 0.9019 in objectives scaled by the ideal point and its estimated nadir point (1.002, 1.0965, 1.0539) (reference point (1.1, 1.1, 1.1))
Vehicle crashworthiness multi-objective Rust, Python not known in closed form; ideal point (1661.7078, 6.1428, 0.0394), at bounds; genoxide's reference front has a hypervolume of 1.0525 in objectives scaled by the ideal point and its estimated nadir point (1695.161, 10.736, 0.264) (reference point (1.1, 1.1, 1.1))
Water resource planning multi-objective Rust, Python the image of every design with x₃ = 0.01 and x₁x₂ ≥ 0.00139 / 1.0306; ideal point (63840.28, 40.46, 285346.9, 183749.97, 7.22), nadir point (73450.51, 1350, 2853469.0, 6575303.1, 25000)
Conceptual marine design multi-objective Rust, Python not known in closed form; ideal point (8.376894, 5240.3356, −700,552.76); genoxide's reference front has a hypervolume of 0.8624 in objectives scaled by the ideal point and its estimated nadir point (11.0662, 12,435.8, −386,500) (reference point (1.1, 1.1, 1.1))
XOR neuroevolution neuroevolution Rust, Python 0.000216214 (squared error, with the weights in [−10, 10]; best known)
XOR by NEAT neuroevolution Rust, Python Every output on the right side of 0.5 (the paper's success criterion); a fitness of 16 is a perfect network
Cart-pole neuroevolution Rust, Python Balanced for 100,000 steps of 0.02 s (the success criterion of Gomez et al. 2008)
Double pole balancing neuroevolution Rust, Python Balanced for 100,000 steps of 0.02 s (the success criterion of Gomez et al. 2008)
Double pole balancing without velocities neuroevolution Rust, Python Balanced for 100,000 steps, and for 1000 steps from at least 200 of 625 other starts (Gruau et al.'s success criteria)
Two spirals neuroevolution Rust, Python All 194 points classified
Koza's quartic genetic programming Rust, Python x⁴ + x³ + x² + x, exactly (an RMSE of 0, up to rounding)
Koza's 11-multiplexer genetic programming Rust, Python All 2048 cases right
[ x by strongly typed GP](abs_typed.md) genetic programming
Nguyen-1 genetic programming Rust, Python x³ + x² + x, exactly (an RMSE of 0, up to rounding)
Nguyen-5 genetic programming Rust, Python sin(x²) cos(x) − 1, exactly (an RMSE of 0, up to rounding)
Nguyen-9 genetic programming Rust, Python sin(x) + sin(y²), exactly (an RMSE of 0, up to rounding)
Nguyen-1 to 12 genetic programming Rust, Python Each formula, exactly (an RMSE of 0, up to rounding); this search recovers 11 of the 12 in some runs
Accuracy against size genetic programming Rust, Python The formula, ln(x + 1) + ln(x² + 1), is a tree of 13 nodes; this run's front doesn't reach it, and shows the best error found for each size instead
Asynchronous evaluation engine Rust 0 (at the origin)
Neuroevolution on the GPU engine Rust none known; the best fit found by gradient descent: 4.4e-9 (mean squared error)
Nelder-Mead on Rosenbrock local Rust, Python 0 (at (1, 1))
Nelder-Mead with restarts on Himmelblau local Rust, Python 0 (at four points)
L-BFGS-B on Rosenbrock in 100 dimensions local Rust, Python 0 (at (1, …, 1))
MMA on a million variables local Rust, Python (Σ √cₖ)² / V, at xⱼ = V √cⱼ / Σ √cₖ
L-BFGS-B on a minimum at the bound local Rust, Python 0.25 (at (0.5, 0.25), on the bound x₁ = 0.5)
SHADE, then L-BFGS-B local Rust, Python 0 (at the origin)
Adam with a learning-rate schedule local Rust, Python the curve x* the data are made from, at distance 0
Continuation by Gaussian smoothing local Rust, Python f* = 0.82084153378296, computed gene by gene to the last bit
Bayesian optimization of Branin bayesian Rust, Python 5 / (4π) ≈ 0.397887 (at three points)
Bayesian optimization in batches on Hartmann 6-D bayesian Rust, Python −3.32237 at (0.20169, 0.15001, 0.47687, 0.27533, 0.31165, 0.65730) (best known)
Asynchronous Bayesian optimization bayesian Rust −3.86278 at (0.11461, 0.55565, 0.85255) (best known)
Constrained Bayesian optimization bayesian Rust, Python 0.599788 at (0.195123, 0.404665)

Run a Rust example with cargo run --release --example <name> from the root of the repository, and a Python one with python examples/<name>/main.py after pip install genoxide.