BQM Solver Properties#
This section describes the properties of quantum-classical hybrid
binary quadratic model solvers such as the Leap
service’s hybrid_binary_quadratic_model_version2
. For the parameters
you can configure, see the BQM Solver Parameters section.
category#
Type of solver.
hybrid
: Quantum-classical hybrid; typically one or more classical algorithms run on the problem while outsourcing to a quantum processing unit (QPU) parts of the problem where it benefits most.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["category"]
'hybrid'
maximum_number_of_biases#
Maximum number of biases, both linear and quadratic in total, accepted by the solver.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["maximum_number_of_biases"]
200000000
maximum_number_of_variables#
Maximum number of problem variables accepted by the solver.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["maximum_number_of_variables"]
1000000
maximum_time_limit_hrs#
Maximum allowed run time, in hours, that can be specified for the solver.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["maximum_time_limit_hrs"]
24.0
minimum_time_limit#
Minimum required run time, in seconds, the solver must be allowed to work on the given problem. Specifies the minimum time as a piecewise-linear curve defined by a set of floating-point pairs. The second element is the minimum required time; the first element in each pair is some measure of the problem, dependent on the solver: for hybrid BQM solvers, this is the number of variables.
The minimum time for any particular problem is a linear interpolation calculated
on two pairs that represent the relevant range for the given measure of the
problem. For example, if minimum_time_limit
for a hybrid BQM
solver were [[1, 0.1], [100, 10.0], [1000, 20.0]]
, then the minimum time
for a 50-variable problem would be 5 seconds, the linear interpolation of the
first two pairs that represent problems with between 1 to 100 variables.
For more details, see Ocean software’s samplers section for solver methods that calculate this parameter, and their descriptions.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["minimum_time_limit"]
[[1, 3.0],
[1024, 3.0],
[4096, 10.0],
[10000, 40.0],
[30000, 200.0],
[100000, 600.0],
[1000000, 600.0]]
parameters#
List of the parameters supported for the solver.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["parameters"]["time_limit"]
'Maximum requested runtime in seconds.'
quota_conversion_rate#
Rate at which user or project quota is consumed for the solver as a ratio to QPU solver usage. Different solver types may consume quota at different rates.
Time is deducted from your quota according to:
See the Solver Usage Charges section for more information.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["quota_conversion_rate"]
20
supported_problem_types#
Indicates what problem types are supported for the solver.
BQM solvers support the following energy-minimization problem types:
bqm
Binary quadratic models (BQM) are unconstrained and typically represent problems of decisions that could either be true (or yes) or false (no); for example, should an antenna transmit, or did a network node fail? The model uses \(0/1\)-valued variables and \(-1/1\)-valued variables; constraints are typically represented as penalty models.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["supported_problem_types"]
['bqm']
version#
Version number of the solver.
Example#
>>> from dwave.system import LeapHybridBQMSampler
...
>>> sampler = LeapHybridBQMSampler()
>>> sampler.properties["version"]
2.2