DQM Solver Properties#

This section describes the properties of quantum-classical hybrid discrete quadratic model solvers such as the Leap service’s hybrid_discrete_quadratic_model_version1. For the parameters you can configure, see the DQM 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 LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()        
>>> 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 LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> sampler.properties["maximum_number_of_biases"]  
5000000000

maximum_number_of_cases#

Maximum number of cases accepted by the solver.

For more details about cases and their role in DQMs, see the Discrete Quadratic Models section.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> sampler.properties["maximum_number_of_cases"]   
500000

maximum_number_of_variables#

Maximum number of problem variables accepted by the solver.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                    
>>> sampler.properties["maximum_number_of_variables"]   
5000

maximum_time_limit_hrs#

Maximum allowed run time, in hours, that can be specified for the solver.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> 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 DQM solvers, this is a combination of the numbers of interactions, variables, and cases that reflects the “density” of connectivity between the problem’s 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 LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> sampler.properties["minimum_time_limit"]        
[[20000,5],
 [100000,6],
 [200000,13],
 [500000,34],
 [1000000,71],
 [2000000,152],
 [5000000,250],
 [20000000,400],
 [250000000,1200]]

parameters#

List of the parameters supported for the solver.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> 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:

\[\frac{num\_seconds}{quota\_conversion\_rate}\]

See the Solver Usage Charges section for more information.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> sampler.properties["quota_conversion_rate"]     
20

supported_problem_types#

Indicates what problem types are supported for the solver.

DQM solvers support the following energy-minimization problem types:

  • dqm

    Discrete quadratic models (DQM) are unconstrained and typically represent problems with several distinct options; for example, which shift should employee X work, or should the state on a map be colored red, blue, green, or yellow? The model uses variables that can represent a set of values such as {red, green, blue, yellow} or {3.2, 67}; constraints are typically represented as penalty models.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()                
>>> sampler.properties["supported_problem_types"]   
['dqm']

version#

Version number of the solver.

Example#

>>> from dwave.system import LeapHybridDQMSampler
...
>>> sampler = LeapHybridDQMSampler()    
>>> sampler.properties["version"]       
1.12