Solver Properties & Parameters#

The Leap service provides several hybrid solvers with the properties and configurable parameters described here. For the properties and parameters of QPU solvers, see the QPU Solver Properties and QPU Solver Parameters sections.

Nonlinear Solver#

Nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints are not linear equalities and/or the objective function is not a linearfunction. Such optimization problems are pervasive in business and logistics: inventory management, scheduling employees, equipment delivery, and many more.

Large optimization problems can be formulated as nonlinear models, as described in the Model Construction (Nonlinear Models) section. You can then use the nonlinear hybrid solver hosted in the Leap™ service to find good solutions.

Properties of the nonlinear solver.

Nonlinear Solver Properties

Parameters of the nonlinear solver.

Nonlinear Solver Parameters

The design principles and major features of this solver are described in the dwave-optimization philosophy page.

CQM Solver#

Large optimization problems can be formulated as constrained quadratic models, as described in the Model Construction (Quadratic Models) section. You can then use the CQM hybrid solver hosted in the Leap service to find good solutions.

Properties of the CQM solver.

CQM Solver Properties

Parameters of the CQM solver.

CQM Solver Parameters

Additional Solvers#

BQM Solver#

Properties of the binary quadratic model (BQM) solver.

BQM Solver Properties

Parameters of the BQM solver.

BQM Solver Parameters

DQM Solver#

Properties of the discrete quadratic model (DQM) solver.

DQM Solver Properties

Parameters of the DQM solver.

DQM Solver Parameters

Examples#

Nonlinear Solver#

The following code solves an illustrative traveling-salesperson problem using a quantum-classical hybrid solver in the Leap service.

>>> from dwave.optimization.generators import traveling_salesperson
>>> from dwave.system import LeapHybridNLSampler
...
>>> DISTANCE_MATRIX = [
...     [0, 656, 227, 578, 489],
...     [656, 0, 889, 141, 170],
...     [227, 889, 0, 773, 705],
...     [578, 141, 773, 0, 161],
...     [489, 170, 705, 161, 0]]
...
>>> model = traveling_salesperson(distance_matrix=DISTANCE_MATRIX)
>>> sampler = LeapHybridNLSampler()
>>> results = sampler.sample(
...     model,
...     label='SDK Examples - TSP')

CQM Solver#

The following code creates a constrained quadratic model (CQM) representing a knapsack problem and solves it using a quantum-classical hybrid solver in the Leap service.

>>> from dimod.generators import random_knapsack
>>> from dwave.system import LeapHybridCQMSampler
...
>>> cqm = random_knapsack(10)
>>> sampler = LeapHybridCQMSampler()
>>> sampleset = sampler.sample_cqm(cqm,
...                                time_limit=180,
...                                label="SDK Examples - Bin Packing")