HyperSwarm Ecosystem 34 Optimizers • 110 Test Functions Real-Time Telemetry & HUD

SwarmBench

Measure how swarms really behave, and watch them work.

HyperSwarm's benchmarking and visualization tools run 34 optimization algorithms against 110 test functions, record every run, and let you watch or replay each one agent by agent. Benchmark any algorithm on any problem with standardized seeds, eliminate underperforming configs in multi-stage tournaments, and inspect live swarm dispersion on desktop HUD canvases.

34 Optimization Algorithms Classic swarms, search methods, 14 hybrids and multi-objective engines
110 Registered Test Functions 9 problem families: unimodal, multimodal, constrained, combinatorial, etc.
2,500+ Automated Tests Full unit test suite validating mathematical correctness and invariants
7 Run Lifecycle Stages From topology scan to convergence events and HyperCache writeback
100% Deterministic & Seeded Exact seed replay, dimension binning, and self-validating characterization
🌐

Broad by default

Classic swarms, search methods, 14 hybrids and two multi-objective algorithms meet unimodal, multimodal, constrained, multi-objective, combinatorial, dynamic, niching, noisy and high-dimensional problems.

🎯

Repeatable

Every run takes a seed, the larger problem variants use fixed seeds, and tuned settings are cached per function and dimension bin.

👁️

Visible

A live and replay visualizer shows agents, subswarms, topology regions and feature planes as a run unfolds.

🛡️

Checked

The algorithm library alone carries more than 2,500 automated tests, and characterization profiles validate themselves before they are written.

CLI • SwarmBenchmarkRunner

Benchmark Any Algorithm on Any Problem

One command-line runner, SwarmBenchmarkRunner, covers single runs, streamed telemetry, tournaments, tuning sweeps and cache maintenance. Every run takes the same core options: --algorithm, --function, --dimensions (default 10), --iterations (default 500), --swarm-size (default 50) and a random --seed (default 42).

Command What it does Example Syntax
list-functions, list-algorithms Discovery
Print the test-function and algorithm catalogues as JSON
SwarmBenchmarkRunner list-functions --json
run Execution
Run one benchmark with the chosen algorithm and function
SwarmBenchmarkRunner run --algorithm pso --function rosenbrock --dimensions 10 --iterations 500 --seed 42
run-full Execution
Run with telemetry and optional feature layers
SwarmBenchmarkRunner run-full --algorithm gwo --function ackley --features topology,hotspots
run-stream Telemetry
Emit real-time JSON telemetry on standard output, with a configurable sample interval
SwarmBenchmarkRunner run-stream --algorithm fa --function rastrigin --sample-interval-ms 16
run-diagnostic Diagnostics
Write a per-agent, per-iteration JSONL trace for replay and analysis
SwarmBenchmarkRunner run-diagnostic --algorithm mopso --function zdt1 --out trace.jsonl
run-game Tournament
Run a multi-stage elimination tournament across the test-function gamut, with survivor and election fractions, replicas and optional subswarm splitting
SwarmBenchmarkRunner run-game --pool 50 --survivors 0.5 --split-subswarms --backend levelzero
run-convergence-benchmark Analysis
Compare three search strategies, GlobalGrid, Beeline and Wavefront-1Iter, under an evaluation budget
SwarmBenchmarkRunner run-convergence-benchmark --function sphere --budget 800
run-convergence-benchmark-matrix Analysis
Sweep several budgets (default 200, 400, 800, 1600) and print a compact winner table per function
SwarmBenchmarkRunner run-convergence-benchmark-matrix --budgets 200,400,800,1600
run-hpo-sweep Tuning
Run an ASHA/BOHB-driven hyperparameter sweep with cached results
SwarmBenchmarkRunner run-hpo-sweep --algorithm pso_de --budget-type evaluations
train Training
Train swarm configurations per test function, filtered by category or dimension bin
SwarmBenchmarkRunner train --category multimodal --dimension-bin 10d
high-dim-bench Scaling
Run seeded high-dimensional benchmark expansions
SwarmBenchmarkRunner high-dim-bench --dimensions 100,200,500 --seed 42
hypercache-export, hypercache-validate, hypercache-validate-recall Cache
Export and validate the HyperCache of tuned configurations
SwarmBenchmarkRunner hypercache-validate --check-recall
Tournament Engine

Tournaments, not just single runs

The benchmark game puts a pool of agents (50 by default) through stages drawn from the test functions. Each stage elects agents for full trials, keeps a fraction as survivors, and can split the pool into subswarms once it converges together. Filter the stages by category, choose the algorithms in the pool, and set the hardware backend.

SwarmBenchmarkRunner run-game \
  --pool 50 \
  --survivors 0.5 \
  --split-subswarms \
  --backend levelzero
Tuned Cache

Tuned settings you can reuse

The HyperCache stores the best configurations found for each function and dimension bin, and the validate commands check that every cached configuration can still be reached across consecutive seed replays.

SwarmBenchmarkRunner hypercache-validate \
  --check-recall \
  --dimension-bins 10d,30d,100d
Self-Validating Reports

Characterization profiles

The SwarmCharacterization tool runs one algorithm on one function and dimension across several seeds (five by default). It self-validates the result before anything is written, then produces a machine-readable profile.json, a readable profile.md and a standalone LaTeX profile.tex per algorithm. Re-running a combination replaces only that entry, so profiles grow one function and dimension at a time.

SwarmCharacterization \
  --algorithm cma_es \
  --function rosenbrock \
  --seeds 5 \
  --emit json,md,tex
HUD • SwarmVisualizer.Host

Watch the Swarm Run

The visualizer turns any benchmark run into a scene you can watch live or replay later. It shows every agent, every subswarm and the landscape the swarm is reading.

01

Live Execution

Pipe a run straight in, or let the host launch and attach automatically.

SwarmBenchmarkRunner run-stream ... | SwarmVisualizer.Host stdin
# Or let the host launch the command:
SwarmVisualizer.Host capture <command>
02

Deterministic Replay

Plays back saved per-agent, per-iteration traces with variable playback speed.

SwarmVisualizer.Host replay trace.jsonl
03

Headless JSON Report

Turns a trace into an aggregated JSON run summary without rendering a window.

SwarmVisualizer.Host report trace.jsonl summary.json

What is on screen

The Windows desktop app draws a live scatter plot of the agents and time-series charts of the run's metrics, with run, source, iteration, progress, best fitness and agent count in view. It auto-attaches to local swarm telemetry, opens replay files, launches captured runs, and reloads saved runs from the persistence catalog. It sits on the same scene stream as the console host, so a run looks the same wherever you open it.

7 Lifecycle Stages of a Run

01
Run Started: Seed initialization, domain boundary allocation, and initial particle dispersion.
02
Topology Scan: Neighbourhood graph computation, communication adjacency matrices, and cluster seeds.
03
Iteration: Synchronous or asynchronous velocity, position, and fitness evaluations.
04
Improvement: Global or Pareto frontier advancement, pBest updates, and historical record tracking.
05
Convergence: Stagnation detection, entropy variance monitoring, and threshold verification.
06
Event: Subswarm split/merge, dynamic peak shift, obstacle encounter, or replica exchange.
07
Run Completed: Final metric telemetry aggregation, HyperCache writeback, and profile generation.

What a Frame Carries

Each frame delivers rich spatial and telemetry layers across the search landscape:

🐝 Agents

Position, velocity, fitness, personal best, age, neighbour count, agent type, subswarm and algorithm mode

👑 Subswarms

Parent and child links, depth, best fitness, stagnation count, active, grown or converged status

🌐 Topology Regions

Centre, estimated radius, average fitness, fitness contrast, deflection count, region type

📐 Feature Planes

Strength, confidence, urgency, activation height, suggested operation and preferred mode

🔥 Hotspots

Centroid, strength, average fitness, observation count

📊 Metrics

Named values with units, sampled as the run goes (convergence rate, diversity entropy, velocity variance)

Built to be Extended

Scenes come from pluggable sources (JSONL file, stdin, launched process, stream, persisted runs) and go to pluggable plugins (console summary, JSON summary, desktop window). Add your own by implementing:

public interface ISwarmSceneSource {
  IAsyncEnumerable<SwarmSceneFrame> ReadFramesAsync(CancellationToken ct);
}

public interface ISwarmScenePlugin {
  Task OnFrameReceivedAsync(SwarmSceneFrame frame, CancellationToken ct);
}
COMPLETE CATALOG (110 FUNCTIONS)

The 110 Registered Test Functions

The suite ships 110 registered test functions across nine problem families. Each reports recommended dimensions, default bounds and known optimum. Scaled variants share a name and differ by problem size so you can test high-dimensional scaling.

Showing 110 of 110 functions
Function ID Function Name Category Dimensions Known Optimum Formulation & Characterization Notes
sphere Sphere Unimodal 30D 0 Continuous, convex, isotropic bowl
rosenbrock Rosenbrock Unimodal 10D 0 Banana valley, non-separable gradient flow
zakharov Zakharov Unimodal 10D 0 Non-separable quadratic with power term
dixonprice Dixon-Price Unimodal 10D 0 Valley with quadratic index scaling
booth Booth Unimodal 2D 0 Plate-shaped quadratic benchmark
bent_cigar Bent Cigar Unimodal 10D 0 Extremely conditioned ill-scaled ridge
powell Powell Unimodal 24D 0 Quartic non-differentiable singularity
hyper_ellipsoid Rotated Hyper-Ellipsoid Unimodal 10D 0 Cumulative sum coordinate axes
sum_of_diff_powers Sum of Different Powers Unimodal 10D 0 Variable exponent steepness
rastrigin Rastrigin Multimodal 10D 0 Cosine lattice of local traps
ackley Ackley Multimodal 10D 0 Nearly flat outer region with deep hole
griewank Griewank Multimodal 10D 0 Product of cosine terms on parabola
schwefel Schwefel Multimodal 10D 0 Deceptive optimum at search space boundary
levy Levy Multimodal 10D 0 Sinusoidal modulation with sharp basin
michalewicz Michalewicz Multimodal 10D -9.66 Steep valleys with factorial basin count
beale Beale Multimodal 2D 0 Sharp corner ridges
goldstein_price Goldstein-Price Multimodal 2D 3 Eighth-order polynomial landscape
bukin_n6 Bukin N.6 Multimodal 2D 0 Thin parabolic canyon with ripple waves
eggholder Eggholder Multimodal 2D -959.6407 Extreme multimodality with chaotic basins
cross_in_tray Cross-in-Tray Multimodal 2D -2.0626 Cross-shaped ridge with 4 global corners
drop_wave Drop-Wave Multimodal 2D -1 Concentric circular ripple oscillations
easom Easom Multimodal 2D -1 Microscopic basin surrounded by flat plane
styblinski_tang Styblinski-Tang Multimodal 10D -391.6617 Quartic double-well per dimension
schaffer_n2 Schaffer N.2 Multimodal 2D 0 Circular ripple bands
schaffer_n4 Schaffer N.4 Multimodal 2D 0.292579 Asymmetric concentric ring barrier
alpine Alpine N.1 Multimodal 10D 0 Absolute sine product peaks
salomon Salomon Multimodal 10D 0 Radial wave rings around origin
hartmann3 Hartmann 3D Multimodal 3D -3.86278 4 local minima in unit hypercube
hartmann6 Hartmann 6D Multimodal 6D -3.32237 6 local minima with non-linear exponential matrix
happy_cat Happy Cat Multimodal 10D 0 Curved valley with steep surrounding walls
expanded_griewank_rosenbrock Expanded Griewank-Rosenbrock Multimodal 10D 0 Nested Griewank cosine ripple inside Rosenbrock valley
weierstrass Weierstrass Multimodal 10D 0 Continuous everywhere, differentiable nowhere fractal
g01 G01 Constrained 13D -15 CEC 2006, 9 linear inequality constraints
g02 G02 Constrained 20D -0.803619 CEC 2006, 2 non-linear inequalities
g03 G03 Constrained 10D -1 CEC 2006, 1 non-linear equality constraint
g04 G04 Constrained 5D -30665.539 CEC 2006, 6 non-linear inequalities
g05 G05 Constrained 4D 5126.4981 CEC 2006, cubic equality constraints
g06 G06 Constrained 2D -6961.81388 CEC 2006, cubic inequality constraint
g07 G07 Constrained 10D 24.3062 CEC 2006, 8 non-linear inequalities
g08 G08 Constrained 2D -0.095825 CEC 2006, 2 non-linear inequality boundaries
g09 G09 Constrained 7D 680.6301 CEC 2006, 4 non-linear inequality constraints
g10 G10 Constrained 8D 7049.3307 CEC 2006, linear and cubic inequalities
g11 G11 Constrained 2D 0.7499 CEC 2006, quadratic equality constraint
g12 G12 Constrained 3D -1 CEC 2006, 729 disjoint feasible sub-spheres
g13 G13 Constrained 5D 0.0539498 CEC 2006, 3 non-linear equality constraints
g14 G14 Constrained 10D -47.7649 CEC 2006, 3 linear equality constraints
g15 G15 Constrained 3D 961.715 CEC 2006, 2 equality constraints
g16 G16 Constrained 5D -1.9051553 CEC 2006, 38 linear/quadratic inequalities
g17 G17 Constrained 6D 8853.5396 CEC 2006, 4 non-linear equality constraints
g18 G18 Constrained 9D -0.8660254 CEC 2006, 13 non-linear inequality constraints
g19 G19 Constrained 15D 32.6555929 CEC 2006, 5 non-linear equality constraints
g21 G21 Constrained 7D 193.7245 CEC 2006, linear and non-linear equalities
g23 G23 Constrained 9D -400.0551 CEC 2006, 6 inequalities, 2 equalities
g24 G24 Constrained 2D -5.508 CEC 2006, 2 non-linear inequalities
pressure_vessel Pressure Vessel Design Constrained 4D 6059.714 Engineering benchmark: Ts, Th, R, L design
tension_compression_spring Tension/Compression Spring Design Constrained 3D 0.0126652 Engineering benchmark: wire dia, mean coil dia, active coils
welded_beam Welded Beam Design Constrained 4D 1.7249 Engineering benchmark: weld thickness, length, bar depth, width
zdt1 ZDT1 2 Objectives Multi-objective 30D Pareto Front [0, 1] Convex Pareto optimal front
zdt2 ZDT2 2 Objectives Multi-objective 30D Pareto Front [0, 1] Non-convex Pareto optimal front
zdt3 ZDT3 2 Objectives Multi-objective 30D Discontinuous Front 5 disconnected Pareto optimal curves
dtlz1 DTLZ1 3 Objectives Multi-objective 7D Linear Hyperplane 11^k - 1 local Pareto fronts
dtlz2 DTLZ2 3 Objectives Multi-objective 12D Spherical Sector Spherical Pareto frontier
dtlz3 DTLZ3 3 Objectives Multi-objective 12D Spherical with Traps DTLZ2 front surrounded by dense local traps
dtlz4 DTLZ4 3 Objectives Multi-objective 12D Biased Front Parametric density bias along coordinate axes
dtlz5 DTLZ5 3 Objectives Multi-objective 12D Degenerate Curve Degenerate 1D curve in 3D objective space
dtlz6 DTLZ6 3 Objectives Multi-objective 12D Extremely Degenerate Severe bias testing frontier dimensionality reduction
dtlz7 DTLZ7 3 Objectives Multi-objective 22D Disconnected Regions 2^(M-1) disconnected Pareto optimal regions
dtlz1_m5 DTLZ1 (many-objective) 5 Objectives Multi-objective 9D 5D Linear Hyperplane Many-objective 5D linear simplex
dtlz2_m5 DTLZ2 (many-objective) 5 Objectives Multi-objective 14D 5D Spherical Octant Many-objective 5D spherical sector
dtlz7_m5 DTLZ7 (many-objective) 5 Objectives Multi-objective 24D 5D Disconnected Fronts Many-objective 16 disconnected Pareto regions
dtlz3_m8 DTLZ3 (many-objective) 8 Objectives Multi-objective 17D 8D Spherical Hypersurface 8-objective extreme multimodal traps
dtlz4_m10 DTLZ4 (many-objective) 10 Objectives Multi-objective 19D 10D Biased Manifold 10-objective dense boundary bias
dtlz5_m15 DTLZ5 (many-objective) 15 Objectives Multi-objective 24D 15D Degenerate Manifold 15-objective high-dimensional manifold test
tsp_benchmark TSP Benchmark (Continuous) Combinatorial 10D Global Shortest Tour Continuous relaxation encoding of TSP
tsp_medium TSP (Medium) Combinatorial 30D Fixed Seed Tour 30-city seeded Euclidean permutation
tsp_high TSP (High) Combinatorial 100D Fixed Seed Tour 100-city seeded Euclidean permutation
tsp_very_high TSP (Very High) Combinatorial 200D Fixed Seed Tour 200-city large-scale route optimization
qap_benchmark QAP Benchmark (Continuous) Combinatorial 10D Optimal Facility Layout Quadratic Assignment Problem 10 facilities
qap_medium QAP (Medium) Combinatorial 30D Fixed Seed Assignment 30 facilities, distance x flow tensor
qap_high QAP (High) Combinatorial 100D Fixed Seed Assignment 100 facilities, large-scale assignment
qap_very_high QAP (Very High) Combinatorial 200D Fixed Seed Assignment 200 facilities high-dimensional permutation
knapsack 0/1 Knapsack Problem Combinatorial 20D Max Value Subset 20 items, weight capacity constraint
knapsack_medium Knapsack (Medium) Combinatorial 30D Fixed Seed Max Value 30 items with correlated weights
knapsack_high Knapsack (High) Combinatorial 100D Fixed Seed Max Value 100 items strongly correlated profits
knapsack_very_high Knapsack (Very High) Combinatorial 200D Fixed Seed Max Value 200 items high-dimensional knapsack
moving_peaks Moving Peaks Dynamic 5D Dynamic Peak 5 moving cone peaks shifting in coordinate space
moving_peaks_medium Moving Peaks (Medium) Dynamic 30D Dynamic Peak 8 peaks, changes every 3,000 evaluations
moving_peaks_high Moving Peaks (High) Dynamic 100D Dynamic Peak 10 peaks, changes every 5,000 evaluations
moving_peaks_very_high Moving Peaks (Very High) Dynamic 200D Dynamic Peak 12 peaks, changes every 7,000 evaluations
peaks_5 Moving Peaks Niching (5 peaks) Dynamic 5D Dynamic Niche Changes every 5,000 evaluations
peaks_10 Moving Peaks Niching (10 peaks) Dynamic 5D Dynamic Niche Changes every 5,000 evaluations
peaks_20 Moving Peaks Niching (20 peaks) Dynamic 5D Dynamic Niche Changes every 5,000 evaluations
df1 DF1 Dynamic Function Dynamic 10D Time-Varying Center CEC dynamic benchmark; the optimum position shifts over time
equal_maxima Equal Maxima Niching 1D 1.0 (5 equal peaks) 5 identical height sinusoidal peaks
five_uneven_peak_trap Five Uneven Peak Trap Niching 1D 1.0 (Global) 1 global peak and 4 deceptive sub-peaks
uneven_decreasing_maxima Uneven Decreasing Maxima Niching 1D 1.0 (Exponential Decay) Exponentially attenuated peak heights
himmelblau Himmelblau's Function Niching 2D 0 (4 global minima) 4 identical global optima at symmetric coordinates
six_hump_camel_back Six-Hump Camel Back Niching 2D -1.0316 (2 global) 2 global and 4 local minima
shubert Shubert Niching 2D -186.7309 (18 global) 18 global and 742 local minima
shubert_nd Shubert N-D Niching 5D High-Dimensional Niches Exponentially exploding niche grid
vincent Vincent Niching 2D 1.0 (36 global peaks) 6^D = 36 global peaks with non-uniform spacing
modified_rastrigin_niching Modified Rastrigin, all global optima Niching 2D 0 (Multiple Global) Modulated Rastrigin equalizing all local peaks
noisy_sphere Noisy Sphere σ = 0.1 Noisy 30D 0 Gaussian noise sigma = 0.1 on evaluation
noisy_sphere_high Noisy Sphere (High) σ = 0.1 Noisy 100D 0 100-dimensional noisy parabolic bowl
noisy_sphere_very_high Noisy Sphere (Very High) σ = 0.1 Noisy 200D 0 200-dimensional noisy parabolic bowl
noisy_rastrigin Noisy Rastrigin σ = 0.05 Noisy 10D 0 Multimodal traps + stochastic jitter sigma = 0.05
noisy_rastrigin_high Noisy Rastrigin (High) σ = 0.1 Noisy 100D 0 100D multimodal traps with evaluation noise
noisy_rastrigin_very_high Noisy Rastrigin (Very High) σ = 0.1 Noisy 200D 0 200D multimodal traps with evaluation noise
highdim_sphere_low High-D Sphere (Low) High-dimensional 10D 0 Seed expansion baseline (scales to 10,000D)
highdim_rastrigin_medium High-D Rastrigin (Medium) High-dimensional 30D 0 Multimodal seed expansion (scales to 5,000D)

Explore the Full Swarm Intelligence Stack

SwarmBench pairs directly with the 34 optimizers of HyperSwarm, the deterministic prompt-to-plan pipeline of SwarmDev, and the visual node-graph canvas of AutoML App.