Docs/Solver Selection

Solver Selection

A practical decision framework for picking the right solver based on problem type, size, and latency budget.

Start with GPU Annealing

If you're unsure which solver to use, start with solver="gpu". It handles TSP, CVRP, portfolio optimization, scheduling, MaxCut, QUBO, and bin packing out of the box. It scales to ~50,000 variables on a single A100 and typically returns results in under 2 minutes.

Only switch to a specialized solver when GPU Annealing consistently misses your quality target or the problem has structure that another solver exploits better.

Decision flowchart

Problem has > 10,000 variables?→ Use Hybrid Solver
Need ensemble quality + time budget?→ Use Multi-GPU
Job shop / scheduling with precedence?→ Try Tabu Search first
Graph problem, research on quantum methods?→ Use QAOA (≤ 200 vars)
Molecular / physics Hamiltonian?→ Use VQE
Everything else→ Use GPU Annealing

Solver profiles

GPU Annealing

Massively parallel simulated annealing running thousands of Markov chains simultaneously on GPU. Best general-purpose solver for medium-to-large combinatorial problems. Start here.

Best for

TSP, CVRP, general QUBO up to ~50,000 variables

Avoid when

Problems with strong algebraic structure (use exact solvers)

Scale

NP-hard, large instances

Speed

Very fast (seconds–minutes)

Tabu Search

Memory-augmented local search that avoids recently visited solutions. Excellent for scheduling problems where domain structure guides neighborhood moves.

Best for

Job shop scheduling, structured constraint problems, warm-start from good initial solution

Avoid when

Highly rugged energy landscapes with many local minima

Scale

Medium instances (up to ~5,000 variables)

Speed

Fast, deterministic

Hybrid Solver

Automatic domain decomposition that breaks large QUBOs into GPU-sized subproblems, solves them in parallel, and stitches results. Handles problems too large for a single pass.

Best for

Large-scale problems (10,000+ variables), problems that exceed single-GPU memory

Avoid when

Small instances where overhead isn't worth it

Scale

Very large instances

Speed

Moderate (minutes), auto-decomposes problem

QAOA

Quantum Approximate Optimization Algorithm. Runs on simulated quantum circuits. Best for benchmarking quantum-classical hybrid approaches on graph problems.

Best for

MaxCut, graph partitioning, research into quantum advantage

Avoid when

Production workloads requiring low latency; problems over ~200 variables

Scale

Small-to-medium (≤ 200 variables)

Speed

Slow (minutes to hours at high circuit depth)

VQE

Variational Quantum Eigensolver. Minimizes expectation value of a Hamiltonian. Designed for quantum chemistry and physics applications, not combinatorial optimization.

Best for

Molecular ground-state energy, physics-motivated optimization

Avoid when

General combinatorial problems; anything needing fast turnaround

Scale

Small (≤ 50 qubits)

Speed

Slow (research-grade)

Multi-GPU

Distributes independent annealing runs across multiple GPUs. Use when a single GPU run doesn't meet your solution quality target within the allotted time.

Best for

Time-critical large instances; ensemble averaging across independent runs

Avoid when

When a single GPU already solves the problem within time budget

Scale

Any size

Speed

Scales with GPU count

Tuning solver config

GPU Annealing

Key parameters: n_runs (number of independent Markov chains, default 256), n_sweeps (steps per run, default 10,000), beta_range (inverse temperature schedule). Increasing n_runs improves solution quality almost linearly with GPU time.

Tabu Search

Key parameters: tabu_tenure (how many iterations a move stays forbidden, default 20), max_iter, aspiration (override tabu if move improves global best).

QAOA

Key parameter: depth (circuit layers p, default 4). Deeper circuits produce better approximation ratios but longer runtimes. p=1 is fast; p≥8 is research-grade.