Nonlinear Solver Properties#

This section describes the properties of quantum-classical hybrid nonlinear-model solvers such as the Leap service’s hybrid_nonlinear_program_version1. For the parameters you can configure, see the Nonlinear 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 LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["category"]      
'hybrid'

maximum_decision_state_size#

Maximum size, in bytes, of all decision-variable states, decision_state_size(), accepted by the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["maximum_decision_state_size"]    
52428800

maximum_number_of_nodes#

Maximum number of nodes, num_nodes(), accepted by the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["maximum_number_of_nodes"]    
2000000

maximum_number_of_states#

Maximum number of initialized states[1], size(), accepted by the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["maximum_number_of_states"]    
1

maximum_state_size#

Maximum size, in bytes, of all states, state_size(), accepted by the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["maximum_state_size"]    
786432000

maximum_time_limit_hrs#

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

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["maximum_time_limit_hrs"]  
24.0

num_nodes_multiplier#

Multiplier applied to a problem’s total number of nodes, the product of which is used in the internal estimate of the problem’s minimum runtime.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["num_nodes_multiplier"]    
0.00008306792043756981

num_nodes_state_size_multiplier#

Multiplier applied to the totals of a problem’s state sizes and number of nodes, the product of which is used in the internal estimate of the problem’s minimum runtime.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["num_nodes_state_size_multiplier"]    
2.1097317822863965e-12

parameters#

List of the parameters supported for the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["parameters"]["time_limit"]  
'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 LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["quota_conversion_rate"]  
20

state_size_multiplier#

Multiplier applied to a problem’s state-size total, the product of which is used in the internal estimate of the problem’s minimum runtime.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["state_size_multiplier"]    
2.8379674360396316e-10

supported_problem_types#

Indicates what problem types are supported for the solver.

Nonlinear solvers support the following energy-minimization problem types:

  • nl

    Nonlinear models typically represent general optimization problems with an objective function and/or one or more constraints over integer and/or binary variables; the model supports constraints natively.

    This model is especially suited for use with decision variables that represent a common logic, such as subsets of choices or permutations of ordering. For example, in a traveling salesperson problem permutations of the variables representing cities can signify the order of the route being optimized and in a knapsack problem the variables representing items can be divided into subsets of packed and not packed.

Example#

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

time_constant#

Used to estimate the minimum runtime required for a problem.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["time_constant"]    
0.012671678446550176

version#

Version number of the solver.

Example#

>>> from dwave.system import LeapHybridNLSampler
...
>>> sampler = LeapHybridNLSampler()     
>>> sampler.properties["version"]  
1.5