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
Solver profiles
Massively parallel simulated annealing running thousands of Markov chains simultaneously on GPU. Best general-purpose solver for medium-to-large combinatorial problems. Start here.
TSP, CVRP, general QUBO up to ~50,000 variables
Problems with strong algebraic structure (use exact solvers)
NP-hard, large instances
Very fast (seconds–minutes)
Memory-augmented local search that avoids recently visited solutions. Excellent for scheduling problems where domain structure guides neighborhood moves.
Job shop scheduling, structured constraint problems, warm-start from good initial solution
Highly rugged energy landscapes with many local minima
Medium instances (up to ~5,000 variables)
Fast, deterministic
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.
Large-scale problems (10,000+ variables), problems that exceed single-GPU memory
Small instances where overhead isn't worth it
Very large instances
Moderate (minutes), auto-decomposes problem
Quantum Approximate Optimization Algorithm. Runs on simulated quantum circuits. Best for benchmarking quantum-classical hybrid approaches on graph problems.
MaxCut, graph partitioning, research into quantum advantage
Production workloads requiring low latency; problems over ~200 variables
Small-to-medium (≤ 200 variables)
Slow (minutes to hours at high circuit depth)
Variational Quantum Eigensolver. Minimizes expectation value of a Hamiltonian. Designed for quantum chemistry and physics applications, not combinatorial optimization.
Molecular ground-state energy, physics-motivated optimization
General combinatorial problems; anything needing fast turnaround
Small (≤ 50 qubits)
Slow (research-grade)
Distributes independent annealing runs across multiple GPUs. Use when a single GPU run doesn't meet your solution quality target within the allotted time.
Time-critical large instances; ensemble averaging across independent runs
When a single GPU already solves the problem within time budget
Any size
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.
