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:
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