Skip to main content

Backends

Available Backends

To check available backends we will create a StrangeworksOptimizer object and call the backends method. We can print the names of the available backends with the following code:

from strangeworks_optimization import StrangeworksOptimizer

so = StrangeworksOptimizer()
backends = so.backends()
for backend in backends:
print(backend.name)

Here's are some available backend samplers supported through Strangeworks Optimization:

SolverDescriptionBackends (see catalog for complete list)
AquilaAquila is QuEra's 256-qubit neutral-atom quantum computer. It operates as an analog Hamiltonian simulator on a user-configurable architecture, executing programmable coherent quantum dynamics on up to 256 neutral-atom qubitsbraket.aquila
D-WaveD-Wave's quantum annealing hardware relies on metal loops of niobium that have tiny electrical currents running through them.dwave.Advantage_system4.1, dwave.Advantage_system6.4, dwave.Advantage2_4, dwave.hybrid_binary_quadratic_model_version2p, dwave.hybrid_discrete_quadratic_model_version1p, dwave.hybrid_constrained_quadratic_model_version1p, dwave.SimulatedAnnealingSampler, dwave.RandomSampler
FujitsuFujitsu's Digital Annealer provides an alternative to quantum computing technology, which is at present both very expensive and difficult to run.fujitsu.DA3
GurobiGurobi is an industry-leading solver for mathematical optimizationgurobi.qubo, gurobi.mps
HitachiCMOS annealing machine is a non-Neumann architecture computer that Hitachi has developed by utilizing the structure of SRAM, a storage device, to perform optimization processing with the Ising model.hitachi.cmos_annealer
InfinityQInfinityQ offers the quantum inspired TitanQ solverinfinityq.titanq
JiJJiJ is part of the Strangeworks Syndicate and is working on developing quantum annealing devicesjij.SA, jij.SQA, jij.LeapHybridCQM
LightsolverLightsolver is a quantum annealing solver that uses a hybrid quantum-classical approach to solve optimization problemslightsolver.lasermind
NECNEC is developing quantum annealers using superconducting parametron qubits with a greater number of all-to-all connected qubits.nec.vector_annealer
QuantagoniaQuantagonia offers a Hybrid Quantum Platform for solving complex computational problemsquantagonia.qubo, quantagonia.mps
ToshibaToshiba's Simulated Bifurcation Machine (SBM) is a quantum-inspired optimization algorithm that can be run on classical hardwaretoshibo.qubo, toshibo.qplib, toshiba.pubo

Note: This list is not exhaustive. For a complete list of backends, see the catalog or reach out via Slack here.

Solver Parameters

Particular solvers may have specific parameters that can be set. For example, the D-Wave sampler has a num_reads parameter that can be set to specify the number of samples to generate. The Gurobi sampler has a time_limit parameter that can be set to specify the maximum time to run the solver and so on.

To set the parameters for a particular solver, we can pass options to the StrangeworksOptimizer during initialization.

from strangeworks_optimization import StrangeworksOptimizer

...

so = StrangeworksOptimizer(model=model,
solver=solver,
options=options)

sw_job = so.run()

Each sampler has its own Parameter Model available for import from strangeworks_optimization_models.parameter_models. See the Optimization Providers section for more details on individual solvers and their parameters.