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

optimizer = StrangeworksOptimizer()
backends = optimizer.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)
D-WaveD-Wave's quantum annealing hardware relies on metal loops of niobium that have tiny electrical currents running through them.dwave.Advantage_system6.4, dwave.Advantage2_prototype2.3, dwave.hybrid_binary_quadratic_model_version2p, dwave.hybrid_discrete_quadratic_model_version1p, dwave.hybrid_constrained_quadratic_model_version1p, dwave.SimulatedAnnealingSampler, dwave.RandomSampler
GurobiGurobi is an industry-leading solver for mathematical optimizationgurobi.qubo, gurobi.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
QuantagoniaQuantagonia offers a Hybrid Quantum Platform for solving complex computational problemsquantagonia.qubo, quantagonia.mps
JiJJiJ is part of the Strangeworks Syndicate and is working on developing quantum annealing devicesjij.SA, jij.SQA, jij.LeapHybridCQM
NECNEC is developing quantum annealers using superconducting parametron qubits with a greater number of all-to-all connected qubits.nec.vector_annealer
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
FujitsuFujitsu's Digital Annealer provides an alternative to quantum computing technology, which is at present both very expensive and difficult to run.fujitsu.DA3
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

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

...

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

sw_job = optimizer.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.