DWAVE
BF - Brute Force
The Brute Force Solver utilizes a conventional brute force approach to search through all possible solutions. The solver becomes very slow for problems with 18 or more variables.
Provider: dwave
Solution Example:
Parameters:
DS - Dialectic Search
The Dialectic Search Solver uses a path search between two states representing the thesis and antithesis. A greedy search is used to reduce the energy by applying bit flips in an attempt to find the solution. For the Dialectic Search Solver, if the target keyword is set, the max_iter keyword is ignored. If the timeout keyword is provided, the max_time keyword is ignored. However, both can be used as equivalents. Both options are available for a more convenient interaction over multiple different solvers expecting different parameter names, esentially tuning the same thing.
Provider: dwave
Solution Example:
Parameters:
decomposer
: Decomposer
Decomposer parameters.
Default:size
: int
Nominal number of variables in the subproblem. Actual subproblem can be smaller, depending on other parameters (e.g. `min_gain`).
Default: 10min_gain
: float
Minimum reduction required to BQM energy, given the current sample. A variable is included in the subproblem only if inverting its sample value reduces energy by at least this amount.
Default: Nonerolling
: bool
If True, successive calls for the same problem (with possibly different samples) produce subproblems on different variables, selected by rolling down the list of all variables sorted by decreasing impact.
Default: truerolling_history
: float
Fraction of the problem size, as a float in range 0.0 to 1.0, that should participate in the rolling selection. Once reached, subproblem unrolling is reset. Min: 0.0, Max: 1.0
Default: 1silent_rewind
: bool
If False, raises :exc:`EndOfStream` when resetting/rewinding the subproblem generator upon the reset condition for unrolling.
Default: truetraversal
: 'energy', 'bfs', 'pfs'
Traversal algorithm used to pick a subproblem of `size` variables. Options are: energy: Use the next `size` variables in the list of variables ordered by descending energy impact. bfs: Breadth-first traversal seeded by the next variable in the energy impact list. pfs: Priority-first traversal seeded by variables from the energy impact list, proceeding with the variable on the search boundary that has the highest energy impact.
Default: "energy"tabu_antithesis
: Tabu
Tabu parameters for the antithesis phase.
Default:num_reads
: int
Number of reads. Each read is generated by one run of the tabu algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonetenure
: int
Tabu tenure, which is the length of the tabu list, or number of recently explored solutions kept in memory. Default is a quarter of the number of problem variables up to a maximum value of 20.
Default: Nonetimeout
: float
Maximum running time per read in milliseconds.
Default: 100initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none': if the number of initial states specified is smaller than `num_reads`, raises ``ValueError``. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"tabu_synthesis
: Tabu
Tabu parameters for the synthesis phase.
Default:num_reads
: int
Number of reads. Each read is generated by one run of the tabu algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonetenure
: int
Tabu tenure, which is the length of the tabu list, or number of recently explored solutions kept in memory. Default is a quarter of the number of problem variables up to a maximum value of 20.
Default: Nonetimeout
: float
Maximum running time per read in milliseconds.
Default: 100initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none': if the number of initial states specified is smaller than `num_reads`, raises ``ValueError``. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8max_tries
: int
Maximum number of times the synthesis phase is run for the **same** input state. On each improvement, the better state is used for the next input state, and the try/trial counter is reset.
Default: 100K - Kerberos
Kerberos divides the problem into subproblems and solves them using Tabu Search, Simulated Annealing and QPU Subproblem Sampling. These algorithms are executed in parallel and afterwards the best solutions are combined. This procedure is applied iteratively until the best solution is found or a termination criterion is met.
Provider: dwave
Solution Example:
Parameters:
tabu
: TabuKerberos
Tabu parameters for Kerberos algorithm.
Default:timeout
: float
Maximum running time per read in milliseconds.
Default: 100max_time
: float
Timeout for tabu search.
Default: Nonenum_reads
: int
Number of reads. Each read is generated by one run of the tabu algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonetenure
: int
Tabu tenure, which is the length of the tabu list, or number of recently explored solutions kept in memory. Default is a quarter of the number of problem variables up to a maximum value of 20.
Default: Noneinitial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none': if the number of initial states specified is smaller than `num_reads`, raises ``ValueError``. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"simulated_annealing
: SimulatedAnnealing
Simulated annealing parameters for Kerberos algorithm.
Default:num_reads
: int
Number of reads. Each read is generated by one run of the simulated annealing algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonenum_sweeps
: int
Number of sweeps used in annealing.
Default: 1000beta_range
: Tuplefloat, float, NoneType
A 2-tuple defining the beginning and end of the beta schedule, where beta is the inverse temperature. The schedule is applied linearly in beta. Default range is set based on the total bias associated with each node.
Default: Nonebeta_schedule_type
: 'linear', 'geometric'
Beta schedule type, or how the beta values are interpolated between the given 'beta_range'.
Default: "geometric"initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none:' if the number of initial states specified is smaller than `num_reads`, raises an error. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"decomposer
: Decomposer
Decomposer parameters for Kerberos algorithm.
Default:size
: int
Nominal number of variables in the subproblem. Actual subproblem can be smaller, depending on other parameters (e.g. `min_gain`).
Default: 10min_gain
: float
Minimum reduction required to BQM energy, given the current sample. A variable is included in the subproblem only if inverting its sample value reduces energy by at least this amount.
Default: Nonerolling
: bool
If True, successive calls for the same problem (with possibly different samples) produce subproblems on different variables, selected by rolling down the list of all variables sorted by decreasing impact.
Default: truerolling_history
: float
Fraction of the problem size, as a float in range 0.0 to 1.0, that should participate in the rolling selection. Once reached, subproblem unrolling is reset. Min: 0.0, Max: 1.0
Default: 1silent_rewind
: bool
If False, raises :exc:`EndOfStream` when resetting/rewinding the subproblem generator upon the reset condition for unrolling.
Default: truetraversal
: 'energy', 'bfs', 'pfs'
Traversal algorithm used to pick a subproblem of `size` variables. Options are: energy: Use the next `size` variables in the list of variables ordered by descending energy impact. bfs: Breadth-first traversal seeded by the next variable in the energy impact list. pfs: Priority-first traversal seeded by variables from the energy impact list, proceeding with the variable on the search boundary that has the highest energy impact.
Default: "energy"qpu
: Qpu
QPU parameters for Kerberos algorithm.
Default:num_reads
: int
Number of states (output solutions) to read from the sampler.
Default: 100num_retries
: int
Number of times the sampler will retry to embed if a failure occurs.
Default: 0sampling_params
: SamplingParams
Sampling parameters for the QPU. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html#anneal-offsets for more details
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneanneal_schedule
: Any
Anneal schedule for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Nonefast_anneal
: bool
Use the fast-anneal protocol instead of the standard anneal.
Default: falseflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation for the sampling.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Noneinitial_state
: Any
Initial state for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Nonenum_reads
: int
Number of reads for the sampling. Min: 1
Default: 1programming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falsereinitialize_state
: bool
Whether to reinitialize state for the sampling. Should be `None` if `initial_state` is `None`.
Default: Noneauto_embedding_params
: AutoEmbeddingParams
Auto embedding parameters for the QPU. See https://docs.ocean.dwavesys.com/projects/system/en/stable/reference/generated/minorminer.find_embedding.html for more details.
Default:embedding_parameters
: EmbeddingParameters
Embedding parameters for the auto embedding.
Default:max_no_improvement
: int
Maximum number of failed iterations to improve the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10random_seed
: int
Seed for the random number generator. If None, seed is set by `os.urandom()`.
Default: Nonetimeout
: int
Algorithm gives up after `timeout` seconds.
Default: 1000max_beta
: float
Qubits are assigned weight according to a formula (beta^n) where n is the number of chains containing that qubit. This value should never be less than or equal to 1. If None, `max_beta` is effectively infinite.
Default: Nonetries
: int
Number of restart attempts before the algorithm stops. On D-WAVE 2000Q, a typical restart takes between 1 and 60 seconds.
Default: 10inner_rounds
: int
The algorithm takes at most this many iterations between restart attempts; restart attempts are typically terminated due to `max_no_improvement`. If None, `inner_rounds` is effectively infinite.
Default: Nonechainlength_patience
: int
Maximum number of failed iterations to improve chain lengths in the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10max_fill
: int
Restricts the number of chains that can simultaneously incorporate the same qubit during the search. Values above 63 are treated as 63. If None, `max_fill` is effectively infinite.
Default: Nonethreads
: int
Maximum number of threads to use. Note that the parallelization is only advantageous where the expected degree of variables is significantly greater than the number of threads. Min: 1.
Default: 1return_overlap
: bool
This function returns an embedding, regardless of whether or not qubits are used by multiple variables. `return_overlap` determines the function's return value. If True, a 2-tuple is returned, in which the first element is the embedding and the second element is a bool representing the embedding validity. If False, only an embedding is returned.
Default: falseskip_initialization
: bool
Skip the initialization pass. Note that this only works if the chains passed in through `initial_chains` and `fixed_chains` are semi-valid. A semi-valid embedding is a collection of chains such that every adjacent pair of variables (u,v) has a coupler (p,q) in the hardware graph where p is in chain(u) and q is in chain(v). This can be used on a valid embedding to immediately skip to the chain length improvement phase. Another good source of semi-valid embeddings is the output of this function with the `return_overlap` parameter enabled.
Default: falseinitial_chains
: Any
Initial chains inserted into an embedding before `fixed_chains` are placed, which occurs before the initialization pass. These can be used to restart the algorithm in a similar state to a previous embedding; for example, to improve chain length of a valid embedding or to reduce overlap in a semi-valid embedding (see `skip_initialization`) previously returned by the algorithm. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []fixed_chains
: Any
Fixed chains inserted into an embedding before the initialization pass. As the algorithm proceeds, these chains are not allowed to change, and the qubits used by these chains are not used by other chains. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []restrict_chains
: Any
Throughout the algorithm, it is guaranteed that chain[i] is a subset of `restrict_chains[i]` for each i, except those with missing or empty entries. Each value in the dictionary is a list of qubit labels.
Default: []suspend_chains
: Any
This is a metafeature that is only implemented in the Python interface. `suspend_chains[i]` is an iterable of iterables; for example, `suspend_chains[i] = [blob_1, blob_2]`, with each blob_j an iterable of target node labels. This enforces the following: for each suspended variable i, for each blob_j in the suspension of i, at least one qubit from blob_j will be contained in the chain for iminorminer accomplishes this through the following problem transformation for each iterable blob_j in `suspend_chains[i]`, Add an auxiliary node Zij to both source and target graphs Set fixed_chains[Zij] = [Zij] Add the edge (i,Zij) to the source graph Add the edges (q,Zij) to the target graph for each q in blob_j
Default: []loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8cpu_count_multiplier
: int
Multiplier for the CPU count.
Default: 1LBQM - Leap Hybrid Bqm
Leap's quantum-classical hybrid solvers are intended to solve arbitrary application problems formulated as quadratic models. This solver accepts arbitrarily structured, unconstrained problems formulated as BQMs, with any constraints typically represented through penalty models.
Provider: dwave
Solution Example:
Parameters:
time_limit
: float, int, NoneType
The time limit for the solver.
Default: NoneLCQM - Leap Hybrid Cqm
Leap's quantum-classical hybrid solvers are intended to solve arbitrary application problems formulated as quadratic models. This solver accepts arbitrarily structured problems formulated as CQMs, with any constraints represented natively.
Provider: dwave
Solution Example:
Parameters:
time_limit
: float, int, NoneType
The time limit for the solver.
Default: Nonespin_variables
: Liststr
The list of spin variables.
Default: NonePT - Parallel Tempering
Parallel Tempering uses multiple optimization procedures per temperature. During the cooling process, an exchange of replicas can take place between the parallel procedures, thus enabling higher energy mountains to be overcome.
Provider: dwave
Solution Example:
Parameters:
n_replicas
: int
Number of replicas for the parallel tempering. Default is 2.
Default: 2random_swaps_factor
: int
Factor for random swaps. Default is 1.
Default: 1fixed_temperature_sampler
: FixedTemperatureSampler
Parameters for the fixed temperature sampler.
Default:num_sweeps
: int
Number of sweeps for the sampler.
Default: 10000num_reads
: int
Number of reads for the sampler.
Default: Nonecpu_count_multiplier
: int
Multiplier for the CPU count. Default is 5.
Default: 5loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8PTQ - Parallel Tempering Qpu
Parallel Tempering uses multiple optimization procedures per temperature. During the cooling process, an exchange of replicas can take place between the parallel procedures, thus enabling higher energy mountains to be overcome.
Provider: dwave
Solution Example:
Parameters:
n_replicas
: int
Number of replicas for the parallel tempering.
Default: 4decomposer
: Decomposer
Parameters for the decomposer.
Default:size
: int
Nominal number of variables in the subproblem. Actual subproblem can be smaller, depending on other parameters (e.g. `min_gain`).
Default: 10min_gain
: float
Minimum reduction required to BQM energy, given the current sample. A variable is included in the subproblem only if inverting its sample value reduces energy by at least this amount.
Default: Nonerolling
: bool
If True, successive calls for the same problem (with possibly different samples) produce subproblems on different variables, selected by rolling down the list of all variables sorted by decreasing impact.
Default: truerolling_history
: float
Fraction of the problem size, as a float in range 0.0 to 1.0, that should participate in the rolling selection. Once reached, subproblem unrolling is reset. Min: 0.0, Max: 1.0
Default: 1silent_rewind
: bool
If False, raises :exc:`EndOfStream` when resetting/rewinding the subproblem generator upon the reset condition for unrolling.
Default: truetraversal
: 'energy', 'bfs', 'pfs'
Traversal algorithm used to pick a subproblem of `size` variables. Options are: energy: Use the next `size` variables in the list of variables ordered by descending energy impact. bfs: Breadth-first traversal seeded by the next variable in the energy impact list. pfs: Priority-first traversal seeded by variables from the energy impact list, proceeding with the variable on the search boundary that has the highest energy impact.
Default: "energy"qpu
: Qpu
Parameters for the QPU.
Default:num_reads
: int
Number of states (output solutions) to read from the sampler.
Default: 100num_retries
: int
Number of times the sampler will retry to embed if a failure occurs.
Default: 0sampling_params
: SamplingParams
Sampling parameters for the QPU. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html#anneal-offsets for more details
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneanneal_schedule
: Any
Anneal schedule for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Nonefast_anneal
: bool
Use the fast-anneal protocol instead of the standard anneal.
Default: falseflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation for the sampling.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Noneinitial_state
: Any
Initial state for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Nonenum_reads
: int
Number of reads for the sampling. Min: 1
Default: 1programming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falsereinitialize_state
: bool
Whether to reinitialize state for the sampling. Should be `None` if `initial_state` is `None`.
Default: Noneauto_embedding_params
: AutoEmbeddingParams
Auto embedding parameters for the QPU. See https://docs.ocean.dwavesys.com/projects/system/en/stable/reference/generated/minorminer.find_embedding.html for more details.
Default:embedding_parameters
: EmbeddingParameters
Embedding parameters for the auto embedding.
Default:max_no_improvement
: int
Maximum number of failed iterations to improve the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10random_seed
: int
Seed for the random number generator. If None, seed is set by `os.urandom()`.
Default: Nonetimeout
: int
Algorithm gives up after `timeout` seconds.
Default: 1000max_beta
: float
Qubits are assigned weight according to a formula (beta^n) where n is the number of chains containing that qubit. This value should never be less than or equal to 1. If None, `max_beta` is effectively infinite.
Default: Nonetries
: int
Number of restart attempts before the algorithm stops. On D-WAVE 2000Q, a typical restart takes between 1 and 60 seconds.
Default: 10inner_rounds
: int
The algorithm takes at most this many iterations between restart attempts; restart attempts are typically terminated due to `max_no_improvement`. If None, `inner_rounds` is effectively infinite.
Default: Nonechainlength_patience
: int
Maximum number of failed iterations to improve chain lengths in the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10max_fill
: int
Restricts the number of chains that can simultaneously incorporate the same qubit during the search. Values above 63 are treated as 63. If None, `max_fill` is effectively infinite.
Default: Nonethreads
: int
Maximum number of threads to use. Note that the parallelization is only advantageous where the expected degree of variables is significantly greater than the number of threads. Min: 1.
Default: 1return_overlap
: bool
This function returns an embedding, regardless of whether or not qubits are used by multiple variables. `return_overlap` determines the function's return value. If True, a 2-tuple is returned, in which the first element is the embedding and the second element is a bool representing the embedding validity. If False, only an embedding is returned.
Default: falseskip_initialization
: bool
Skip the initialization pass. Note that this only works if the chains passed in through `initial_chains` and `fixed_chains` are semi-valid. A semi-valid embedding is a collection of chains such that every adjacent pair of variables (u,v) has a coupler (p,q) in the hardware graph where p is in chain(u) and q is in chain(v). This can be used on a valid embedding to immediately skip to the chain length improvement phase. Another good source of semi-valid embeddings is the output of this function with the `return_overlap` parameter enabled.
Default: falseinitial_chains
: Any
Initial chains inserted into an embedding before `fixed_chains` are placed, which occurs before the initialization pass. These can be used to restart the algorithm in a similar state to a previous embedding; for example, to improve chain length of a valid embedding or to reduce overlap in a semi-valid embedding (see `skip_initialization`) previously returned by the algorithm. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []fixed_chains
: Any
Fixed chains inserted into an embedding before the initialization pass. As the algorithm proceeds, these chains are not allowed to change, and the qubits used by these chains are not used by other chains. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []restrict_chains
: Any
Throughout the algorithm, it is guaranteed that chain[i] is a subset of `restrict_chains[i]` for each i, except those with missing or empty entries. Each value in the dictionary is a list of qubit labels.
Default: []suspend_chains
: Any
This is a metafeature that is only implemented in the Python interface. `suspend_chains[i]` is an iterable of iterables; for example, `suspend_chains[i] = [blob_1, blob_2]`, with each blob_j an iterable of target node labels. This enforces the following: for each suspended variable i, for each blob_j in the suspension of i, at least one qubit from blob_j will be contained in the chain for iminorminer accomplishes this through the following problem transformation for each iterable blob_j in `suspend_chains[i]`, Add an auxiliary node Zij to both source and target graphs Set fixed_chains[Zij] = [Zij] Add the edge (i,Zij) to the source graph Add the edges (q,Zij) to the target graph for each q in blob_j
Default: []fixed_temperature_sampler
: FixedTemperatureSampler
Parameters for the fixed temperature sampler.
Default:num_sweeps
: int
Number of sweeps for the sampler.
Default: 10000num_reads
: int
Number of reads for the sampler.
Default: Nonecpu_count_multiplier
: int
Multiplier for the CPU count.
Default: 5loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8PA - Population Annealing
Population Annealing uses a sequential Monte Carlo method to minimize the energy of a population. The population consists of walkers that can explore their neighborhood during the cooling process. Afterwards, walkers are removed and duplicated using bias to lower energy. Eventually, a population collapse occurs where all walkers are in the lowest energy state.
Provider: dwave
Solution Example:
Parameters:
fixed_temperature_sampler
: FixedTemperatureSampler
Parameters for the fixed temperature sampler.
Default:num_sweeps
: int
Number of sweeps for the sampler.
Default: 10000num_reads
: int
Number of reads for the sampler.
Default: Nonemax_iter
: int
Maximum number of iterations. Default is 20.
Default: 20max_time
: int
Maximum time in seconds that the algorithm is allowed to run. Default is 2.
Default: 2PAQ - Population Annealing Qpu
Population Annealing uses a sequential Monte Carlo method to minimize the energy of a population. The population consists of walkers that can explore their neighborhood during the cooling process. Afterwards, walkers are removed and duplicated using bias to lower energy. Eventually, a population collapse occurs where all walkers are in the lowest energy state.
Provider: dwave
Solution Example:
Parameters:
decomposer
: Decomposer
Parameters for the decomposer, which selects variables for the graph search to stop.
Default:size
: int
Nominal number of variables in the subproblem. Actual subproblem can be smaller, depending on other parameters (e.g. `min_gain`).
Default: 10min_gain
: float
Minimum reduction required to BQM energy, given the current sample. A variable is included in the subproblem only if inverting its sample value reduces energy by at least this amount.
Default: Nonerolling
: bool
If True, successive calls for the same problem (with possibly different samples) produce subproblems on different variables, selected by rolling down the list of all variables sorted by decreasing impact.
Default: truerolling_history
: float
Fraction of the problem size, as a float in range 0.0 to 1.0, that should participate in the rolling selection. Once reached, subproblem unrolling is reset. Min: 0.0, Max: 1.0
Default: 1silent_rewind
: bool
If False, raises :exc:`EndOfStream` when resetting/rewinding the subproblem generator upon the reset condition for unrolling.
Default: truetraversal
: 'energy', 'bfs', 'pfs'
Traversal algorithm used to pick a subproblem of `size` variables. Options are: energy: Use the next `size` variables in the list of variables ordered by descending energy impact. bfs: Breadth-first traversal seeded by the next variable in the energy impact list. pfs: Priority-first traversal seeded by variables from the energy impact list, proceeding with the variable on the search boundary that has the highest energy impact.
Default: "energy"qpu
: Qpu
Parameters for the Quantum Processing Unit (QPU).
Default:num_reads
: int
Number of states (output solutions) to read from the sampler.
Default: 100num_retries
: int
Number of times the sampler will retry to embed if a failure occurs.
Default: 0sampling_params
: SamplingParams
Sampling parameters for the QPU. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html#anneal-offsets for more details
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneanneal_schedule
: Any
Anneal schedule for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Nonefast_anneal
: bool
Use the fast-anneal protocol instead of the standard anneal.
Default: falseflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation for the sampling.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Noneinitial_state
: Any
Initial state for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Nonenum_reads
: int
Number of reads for the sampling. Min: 1
Default: 1programming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falsereinitialize_state
: bool
Whether to reinitialize state for the sampling. Should be `None` if `initial_state` is `None`.
Default: Noneauto_embedding_params
: AutoEmbeddingParams
Auto embedding parameters for the QPU. See https://docs.ocean.dwavesys.com/projects/system/en/stable/reference/generated/minorminer.find_embedding.html for more details.
Default:embedding_parameters
: EmbeddingParameters
Embedding parameters for the auto embedding.
Default:max_no_improvement
: int
Maximum number of failed iterations to improve the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10random_seed
: int
Seed for the random number generator. If None, seed is set by `os.urandom()`.
Default: Nonetimeout
: int
Algorithm gives up after `timeout` seconds.
Default: 1000max_beta
: float
Qubits are assigned weight according to a formula (beta^n) where n is the number of chains containing that qubit. This value should never be less than or equal to 1. If None, `max_beta` is effectively infinite.
Default: Nonetries
: int
Number of restart attempts before the algorithm stops. On D-WAVE 2000Q, a typical restart takes between 1 and 60 seconds.
Default: 10inner_rounds
: int
The algorithm takes at most this many iterations between restart attempts; restart attempts are typically terminated due to `max_no_improvement`. If None, `inner_rounds` is effectively infinite.
Default: Nonechainlength_patience
: int
Maximum number of failed iterations to improve chain lengths in the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10max_fill
: int
Restricts the number of chains that can simultaneously incorporate the same qubit during the search. Values above 63 are treated as 63. If None, `max_fill` is effectively infinite.
Default: Nonethreads
: int
Maximum number of threads to use. Note that the parallelization is only advantageous where the expected degree of variables is significantly greater than the number of threads. Min: 1.
Default: 1return_overlap
: bool
This function returns an embedding, regardless of whether or not qubits are used by multiple variables. `return_overlap` determines the function's return value. If True, a 2-tuple is returned, in which the first element is the embedding and the second element is a bool representing the embedding validity. If False, only an embedding is returned.
Default: falseskip_initialization
: bool
Skip the initialization pass. Note that this only works if the chains passed in through `initial_chains` and `fixed_chains` are semi-valid. A semi-valid embedding is a collection of chains such that every adjacent pair of variables (u,v) has a coupler (p,q) in the hardware graph where p is in chain(u) and q is in chain(v). This can be used on a valid embedding to immediately skip to the chain length improvement phase. Another good source of semi-valid embeddings is the output of this function with the `return_overlap` parameter enabled.
Default: falseinitial_chains
: Any
Initial chains inserted into an embedding before `fixed_chains` are placed, which occurs before the initialization pass. These can be used to restart the algorithm in a similar state to a previous embedding; for example, to improve chain length of a valid embedding or to reduce overlap in a semi-valid embedding (see `skip_initialization`) previously returned by the algorithm. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []fixed_chains
: Any
Fixed chains inserted into an embedding before the initialization pass. As the algorithm proceeds, these chains are not allowed to change, and the qubits used by these chains are not used by other chains. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []restrict_chains
: Any
Throughout the algorithm, it is guaranteed that chain[i] is a subset of `restrict_chains[i]` for each i, except those with missing or empty entries. Each value in the dictionary is a list of qubit labels.
Default: []suspend_chains
: Any
This is a metafeature that is only implemented in the Python interface. `suspend_chains[i]` is an iterable of iterables; for example, `suspend_chains[i] = [blob_1, blob_2]`, with each blob_j an iterable of target node labels. This enforces the following: for each suspended variable i, for each blob_j in the suspension of i, at least one qubit from blob_j will be contained in the chain for iminorminer accomplishes this through the following problem transformation for each iterable blob_j in `suspend_chains[i]`, Add an auxiliary node Zij to both source and target graphs Set fixed_chains[Zij] = [Zij] Add the edge (i,Zij) to the source graph Add the edges (q,Zij) to the target graph for each q in blob_j
Default: []fixed_temperature_sampler
: FixedTemperatureSampler
Parameters for the fixed temperature sampler.
Default:num_sweeps
: int
Number of sweeps for the sampler.
Default: 10000num_reads
: int
Number of reads for the sampler.
Default: Nonemax_iter
: int
Maximum number of iterations.
Default: 20max_time
: int
Maximum time in seconds that the algorithm is allowed to run.
Default: 2QLQ - Qbsolv Like Qpu
QBSolv Like Simulated Annealing breaks down the problem and solves the parts individually using a classic solver that uses Simulated Annealing. This particular implementation uses hybrid.SimulatedAnnealingSubproblemSampler (https://docs.ocean.dwavesys.com/projects/hybrid/en/stable/reference/ samplers.html#simulatedannealingsubproblemsampler) as a sampler for the subproblems to achieve a QBSolv like behaviour.
Provider: dwave
Solution Example:
Parameters:
qbsolv_like
: QBSOLVLike
Parameters for the QBSOLV-like solver.
Default:decomposer_size
: int
Size for the decomposer.
Default: 50rolling
: bool
Whether to use rolling for the solver.
Default: truerolling_history
: float
Rolling history for the solver.
Default: 0.15cpu_count_multiplier
: int
CPU count multiplier for the solver.
Default: 1loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8qpu
: Qpu
QPU parameters
Default:num_reads
: int
Number of states (output solutions) to read from the sampler.
Default: 100num_retries
: int
Number of times the sampler will retry to embed if a failure occurs.
Default: 0sampling_params
: SamplingParams
Sampling parameters for the QPU. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html#anneal-offsets for more details
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneanneal_schedule
: Any
Anneal schedule for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Nonefast_anneal
: bool
Use the fast-anneal protocol instead of the standard anneal.
Default: falseflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation for the sampling.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Noneinitial_state
: Any
Initial state for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Nonenum_reads
: int
Number of reads for the sampling. Min: 1
Default: 1programming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falsereinitialize_state
: bool
Whether to reinitialize state for the sampling. Should be `None` if `initial_state` is `None`.
Default: Noneauto_embedding_params
: AutoEmbeddingParams
Auto embedding parameters for the QPU. See https://docs.ocean.dwavesys.com/projects/system/en/stable/reference/generated/minorminer.find_embedding.html for more details.
Default:embedding_parameters
: EmbeddingParameters
Embedding parameters for the auto embedding.
Default:max_no_improvement
: int
Maximum number of failed iterations to improve the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10random_seed
: int
Seed for the random number generator. If None, seed is set by `os.urandom()`.
Default: Nonetimeout
: int
Algorithm gives up after `timeout` seconds.
Default: 1000max_beta
: float
Qubits are assigned weight according to a formula (beta^n) where n is the number of chains containing that qubit. This value should never be less than or equal to 1. If None, `max_beta` is effectively infinite.
Default: Nonetries
: int
Number of restart attempts before the algorithm stops. On D-WAVE 2000Q, a typical restart takes between 1 and 60 seconds.
Default: 10inner_rounds
: int
The algorithm takes at most this many iterations between restart attempts; restart attempts are typically terminated due to `max_no_improvement`. If None, `inner_rounds` is effectively infinite.
Default: Nonechainlength_patience
: int
Maximum number of failed iterations to improve chain lengths in the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10max_fill
: int
Restricts the number of chains that can simultaneously incorporate the same qubit during the search. Values above 63 are treated as 63. If None, `max_fill` is effectively infinite.
Default: Nonethreads
: int
Maximum number of threads to use. Note that the parallelization is only advantageous where the expected degree of variables is significantly greater than the number of threads. Min: 1.
Default: 1return_overlap
: bool
This function returns an embedding, regardless of whether or not qubits are used by multiple variables. `return_overlap` determines the function's return value. If True, a 2-tuple is returned, in which the first element is the embedding and the second element is a bool representing the embedding validity. If False, only an embedding is returned.
Default: falseskip_initialization
: bool
Skip the initialization pass. Note that this only works if the chains passed in through `initial_chains` and `fixed_chains` are semi-valid. A semi-valid embedding is a collection of chains such that every adjacent pair of variables (u,v) has a coupler (p,q) in the hardware graph where p is in chain(u) and q is in chain(v). This can be used on a valid embedding to immediately skip to the chain length improvement phase. Another good source of semi-valid embeddings is the output of this function with the `return_overlap` parameter enabled.
Default: falseinitial_chains
: Any
Initial chains inserted into an embedding before `fixed_chains` are placed, which occurs before the initialization pass. These can be used to restart the algorithm in a similar state to a previous embedding; for example, to improve chain length of a valid embedding or to reduce overlap in a semi-valid embedding (see `skip_initialization`) previously returned by the algorithm. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []fixed_chains
: Any
Fixed chains inserted into an embedding before the initialization pass. As the algorithm proceeds, these chains are not allowed to change, and the qubits used by these chains are not used by other chains. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []restrict_chains
: Any
Throughout the algorithm, it is guaranteed that chain[i] is a subset of `restrict_chains[i]` for each i, except those with missing or empty entries. Each value in the dictionary is a list of qubit labels.
Default: []suspend_chains
: Any
This is a metafeature that is only implemented in the Python interface. `suspend_chains[i]` is an iterable of iterables; for example, `suspend_chains[i] = [blob_1, blob_2]`, with each blob_j an iterable of target node labels. This enforces the following: for each suspended variable i, for each blob_j in the suspension of i, at least one qubit from blob_j will be contained in the chain for iminorminer accomplishes this through the following problem transformation for each iterable blob_j in `suspend_chains[i]`, Add an auxiliary node Zij to both source and target graphs Set fixed_chains[Zij] = [Zij] Add the edge (i,Zij) to the source graph Add the edges (q,Zij) to the target graph for each q in blob_j
Default: []QLSA - Qbsolv Like Simulated Annealing
QBSolv Like Simulated Annealing breaks down the problem and solves the parts individually using a classic solver that uses Simulated Annealing. This particular implementation uses hybrid.SimulatedAnnealingSubproblemSampler (https://docs.ocean.dwavesys.com/projects/hybrid/en/stable/reference/ samplers.html#simulatedannealingsubproblemsampler) as a sampler for the subproblems to achieve a QBSolv like behaviour.
Provider: dwave
Solution Example:
Parameters:
qbsolv_like
: QBSOLVLike
Parameters for the QbSolveLike solver.
Default:decomposer_size
: int
Size for the decomposer.
Default: 50rolling
: bool
Whether to use rolling for the solver.
Default: truerolling_history
: float
Rolling history for the solver.
Default: 0.15cpu_count_multiplier
: int
CPU count multiplier for the solver.
Default: 1loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8simulated_annealing
: SimulatedAnnealing
Parameters for the Simulated Annealing.
Default:num_reads
: int
Number of reads. Each read is generated by one run of the simulated annealing algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonenum_sweeps
: int
Number of sweeps used in annealing.
Default: 1000beta_range
: Tuplefloat, float, NoneType
A 2-tuple defining the beginning and end of the beta schedule, where beta is the inverse temperature. The schedule is applied linearly in beta. Default range is set based on the total bias associated with each node.
Default: Nonebeta_schedule_type
: 'linear', 'geometric'
Beta schedule type, or how the beta values are interpolated between the given 'beta_range'.
Default: "geometric"initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none:' if the number of initial states specified is smaller than `num_reads`, raises an error. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"QLTS - Qbsolv Like Tabu Search
QBSolv Like Tabu Search breaks down the problem and solves the parts individually using a classic solver that uses Tabu Search. This particular implementation uses hybrid.TabuSubproblemSampler (https://docs.ocean.dwavesys.com/projects/hybrid/en/stable/reference/ samplers.html#tabusubproblemsampler) as a sampler for the subproblems to achieve a QBSolv like behaviour.
Provider: dwave
Solution Example:
Parameters:
qbsolv_like
: QBSOLVLike
Parameters for the QbSolveLike solver.
Default:decomposer_size
: int
Size for the decomposer.
Default: 50rolling
: bool
Whether to use rolling for the solver.
Default: truerolling_history
: float
Rolling history for the solver.
Default: 0.15cpu_count_multiplier
: int
CPU count multiplier for the solver.
Default: 1loop
: Loop
Parameters for the main loop of the algorithm.
Default:max_iter
: int
Maximum number of iterations.
Default: 100max_time
: int
Time in seconds after which the algorithm will stop.
Default: 5convergence
: int
Number of iterations with unchanged output to terminate algorithm.
Default: 3target
: float
Energy level that the algorithm tries to reach.
Default: Nonertol
: float
Relative tolerance for convergence.
Default: 0.00001atol
: float
Absolute tolerance for convergence.
Default: 1e-8tabu_search
: Tabu
Parameters for the Tabu Search.
Default:num_reads
: int
Number of reads. Each read is generated by one run of the tabu algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonetenure
: int
Tabu tenure, which is the length of the tabu list, or number of recently explored solutions kept in memory. Default is a quarter of the number of problem variables up to a maximum value of 20.
Default: Nonetimeout
: float
Maximum running time per read in milliseconds.
Default: 100initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none': if the number of initial states specified is smaller than `num_reads`, raises ``ValueError``. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"QA - Quantum Annealing
Quantum Annealing uses a minor embedding to map problems onto a specified D-Wave sampler. The sampler solves the problem with the specified sampler method. With each call of the sampling method, the minor embedding is recalculated.
Provider: dwave
Solution Example:
Parameters:
embedding
: Embedding
Parameters for the auto embedding.
Default:chain_strength
: Mapping, NoneType
Sets the coupling strength between qubits representing variables that form a `chain`. Mappings should specify the required chain strength for each variable. By default, `chain_strength` is calculated with `~dwave.embedding.chain_strength.uniform_torque_compensation`.
Default: Nonechain_break_fraction
: bool
Add a `chain_break_fraction` field to the unembedded response with the fraction of chains broken before unembedding.
Default: trueembedding_parameters
: EmbeddingParameters
Embedding parameters for the embedding.
Default:max_no_improvement
: int
Maximum number of failed iterations to improve the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10random_seed
: int
Seed for the random number generator. If None, seed is set by `os.urandom()`.
Default: Nonetimeout
: int
Algorithm gives up after `timeout` seconds.
Default: 1000max_beta
: float
Qubits are assigned weight according to a formula (beta^n) where n is the number of chains containing that qubit. This value should never be less than or equal to 1. If None, `max_beta` is effectively infinite.
Default: Nonetries
: int
Number of restart attempts before the algorithm stops. On D-WAVE 2000Q, a typical restart takes between 1 and 60 seconds.
Default: 10inner_rounds
: int
The algorithm takes at most this many iterations between restart attempts; restart attempts are typically terminated due to `max_no_improvement`. If None, `inner_rounds` is effectively infinite.
Default: Nonechainlength_patience
: int
Maximum number of failed iterations to improve chain lengths in the current solution, where each iteration attempts to find an embedding for each variable of S such that it is adjacent to all its neighbours.
Default: 10max_fill
: int
Restricts the number of chains that can simultaneously incorporate the same qubit during the search. Values above 63 are treated as 63. If None, `max_fill` is effectively infinite.
Default: Nonethreads
: int
Maximum number of threads to use. Note that the parallelization is only advantageous where the expected degree of variables is significantly greater than the number of threads. Min: 1.
Default: 1return_overlap
: bool
This function returns an embedding, regardless of whether or not qubits are used by multiple variables. `return_overlap` determines the function's return value. If True, a 2-tuple is returned, in which the first element is the embedding and the second element is a bool representing the embedding validity. If False, only an embedding is returned.
Default: falseskip_initialization
: bool
Skip the initialization pass. Note that this only works if the chains passed in through `initial_chains` and `fixed_chains` are semi-valid. A semi-valid embedding is a collection of chains such that every adjacent pair of variables (u,v) has a coupler (p,q) in the hardware graph where p is in chain(u) and q is in chain(v). This can be used on a valid embedding to immediately skip to the chain length improvement phase. Another good source of semi-valid embeddings is the output of this function with the `return_overlap` parameter enabled.
Default: falseinitial_chains
: Any
Initial chains inserted into an embedding before `fixed_chains` are placed, which occurs before the initialization pass. These can be used to restart the algorithm in a similar state to a previous embedding; for example, to improve chain length of a valid embedding or to reduce overlap in a semi-valid embedding (see `skip_initialization`) previously returned by the algorithm. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []fixed_chains
: Any
Fixed chains inserted into an embedding before the initialization pass. As the algorithm proceeds, these chains are not allowed to change, and the qubits used by these chains are not used by other chains. Missing or empty entries are ignored. Each value in the dictionary is a list of qubit labels.
Default: []restrict_chains
: Any
Throughout the algorithm, it is guaranteed that chain[i] is a subset of `restrict_chains[i]` for each i, except those with missing or empty entries. Each value in the dictionary is a list of qubit labels.
Default: []suspend_chains
: Any
This is a metafeature that is only implemented in the Python interface. `suspend_chains[i]` is an iterable of iterables; for example, `suspend_chains[i] = [blob_1, blob_2]`, with each blob_j an iterable of target node labels. This enforces the following: for each suspended variable i, for each blob_j in the suspension of i, at least one qubit from blob_j will be contained in the chain for iminorminer accomplishes this through the following problem transformation for each iterable blob_j in `suspend_chains[i]`, Add an auxiliary node Zij to both source and target graphs Set fixed_chains[Zij] = [Zij] Add the edge (i,Zij) to the source graph Add the edges (q,Zij) to the target graph for each q in blob_j
Default: []sampling_params
: SamplingParams
Parameters for the sampling. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html for more details
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneanneal_schedule
: Any
Anneal schedule for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Nonefast_anneal
: bool
Use the fast-anneal protocol instead of the standard anneal.
Default: falseflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation for the sampling.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Noneinitial_state
: Any
Initial state for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Nonenum_reads
: int
Number of reads for the sampling. Min: 1
Default: 1programming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falsereinitialize_state
: bool
Whether to reinitialize state for the sampling. Should be `None` if `initial_state` is `None`.
Default: NoneRRQA - Repeated Reverse Quantum Annealing
Repeated Reverse Quantum Annealing begins the annealing process from a previously initialized state and increases the temperature from there. Afterwards, the temperature is decreased again until the solution is found. This procedure is repeated several times with this particular solver. (for additional information see: D-Wave Reverse Annealing)
Provider: dwave
Solution Example:
Parameters:
sampling_params
: RRQuantumAnnealingSamplingParams
Parameters for the RRQuantumAnnealingSamplingParams. See https://docs.dwavesys.com/docs/latest/c_solver_parameters.html for more details.
Default:anneal_offsets
: Any
Anneal offsets for the sampling.
Default: Noneannealing_time
: Any
Annealing time for the sampling.
Default: Noneauto_scale
: Any
Whether to auto scale for the sampling.
Default: Noneflux_biases
: Any
Flux biases for the sampling.
Default: Noneflux_drift_compensation
: bool
Whether to use flux drift compensation.
Default: trueh_gain_schedule
: Any
H gain schedule for the sampling.
Default: Nonemax_answers
: int
Maximum number of answers for the sampling. Min: 1
Default: Noneprogramming_thermalization
: float
Programming thermalization for the sampling. Has to be positive.
Default: Nonereadout_thermalization
: float
Readout thermalization for the sampling. Has to be positive.
Default: Nonereduce_intersample_correlation
: bool
Whether to reduce intersample correlation for the sampling.
Default: falseinitial_states
: Dictstr, int
Initial states for the solver. For each list element `state`, one call to the sampler with the parameter `initial_state=state` will be made in the first iteration.
Default: Nonen_initial_states
: int
Number of initial states to create when `initial_states` is None. If `initial_states` is not None, this parameter will be ignored. Min: 1
Default: 1samples_per_state
: int
How many samples to create per state in each iteration after the first. Min: 1
Default: 1beta_schedule
: Listfloat
Beta schedule for the solver.
Default: [0.5,3]timeout
: float
Timeout for the solver.
Default: 300max_iter
: int
Maximum number of iterations for the solver.
Default: 10target
: Any
The target energy for the solving process.
Default: Nonecheck_trivial
: bool
Whether to check for trivial variables. Checking for trivial variables means an overhead. On the other hand, when set to `False`, trivial variables, i.e., variables without interactions, will lead to a runtime error.
Default: trueRRSA - Repeated Reverse Simulated Annealing
Repeated Reverse Simulated Annealing finds the solution to a problem using an annealing process. Initially, random states are chosen in the solution landscape. Afterwards, as the temperature decreases, states are chosen that are more energetically favorable. At the end of the complete annealing process, the resulting states make up the solution.
Provider: dwave
Solution Example:
Parameters:
simulated_annealing
: RRSimulatedAnnealing
Simulated Annealing params in each iteration.
Default:num_sweeps
: int
Number of sweeps used in annealing.
Default: 1000num_sweeps_per_beta
: int
Number of sweeps to perform at each `beta`. One sweep consists of a sequential Metropolis update of all spins.
Default: 1beta_schedule
: Sequencefloat
Sequence of `beta` values swept. Format must be compatible with `numpy.array(beta_schedule, dtype=float)`. Values should be non-negative.
Default: Nonerandomize_order
: bool
When `True`, each spin update selects a variable uniformly at random. This method is ergodic, obeys detailed balance and preserves symmetries of the model. When `False`, updates proceed sequentially through the labeled variables on each sweep so that all variables are updated once per sweep. This method: * can be non-ergodic in special cases when used with `proposal_acceptance_critera=='Metropolis'`. * can introduce a dynamical bias as a function of variable order. * has faster per spin update than the True method.
Default: falseproposal_acceptance_criteria
: 'Gibbs', 'Metropolis'
When 'Gibbs', each spin flip proposal is accepted according to the Gibbs criteria. When 'Metropolis', each spin flip proposal is accepted according to the Metropolis-Hastings criteria.
Default: "Metropolis"num_reads
: int
Number of reads. Each read is generated by one run of the simulated annealing algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonebeta_range
: Tuplefloat, float, NoneType
A 2-tuple defining the beginning and end of the beta schedule, where beta is the inverse temperature. The schedule is applied linearly in beta. Default range is set based on the total bias associated with each node.
Default: Nonebeta_schedule_type
: 'linear', 'geometric'
Beta schedule type, or how the beta values are interpolated between the given 'beta_range'.
Default: "geometric"initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none:' if the number of initial states specified is smaller than `num_reads`, raises an error. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"num_reads_per_iter
: Listint
Number of reads in each iteration. Use `num_reads_per_iter[i]` in iteration `i`, and `num_reads_per_iter[-1]` once the list is exhausted. If the parameter is `None`, fall back to `simulated_annealing.num_reads`. Min length: 1.
Default: Noneinitial_states
: Any
One or more samples, each defining an initial state for all the problem variables. Initial states are given one per read, but if fewer than additional values are generated as specified by `initial_states_generator`. See `~dimod.as_samples` for a description of 'samples-like.
Default: Nonetimeout
: float
Timeout for the solver.
Default: 5max_iter
: int
Maximum number of iterations for the solver.
Default: 10target
: Any
The target energy for the solver.
Default: NoneSA - Simulated Annealing
Simulated Annealing is a probabilistic technique for approximating the global optimum of a given function. It performs well on problems where approximate global optima are more desirable than exact local optima. For more details, check the DWave website.
Provider: dwave
Solution Example:
Parameters:
num_sweeps_per_beta
: int
Number of sweeps to perform at each `beta`. One sweep consists of a sequential Metropolis update of all spins.
Default: 1seed
: int
Seed to use for the PRNG. Specifying a particular seed with a constant set of parameters produces identical results. If not provided, a random seed is chosen.
Default: Nonebeta_schedule
: Sequencefloat
Sequence of `beta` values swept. Format must be compatible with `numpy.array(beta_schedule, dtype=float)`. Values should be non-negative.
Default: Noneinitial_states
: Any
One or more samples, each defining an initial state for all the problem variables. Initial states are given one per read, but if fewer than additional values are generated as specified by `initial_states_generator`. See `~dimod.as_samples` for a description of 'samples-like.
Default: Nonerandomize_order
: bool
When `True`, each spin update selects a variable uniformly at random. This method is ergodic, obeys detailed balance and preserves symmetries of the model. When `False`, updates proceed sequentially through the labeled variables on each sweep so that all variables are updated once per sweep. This method: * can be non-ergodic in special cases when used with `proposal_acceptance_critera=='Metropolis'`. * can introduce a dynamical bias as a function of variable order. * has faster per spin update than the True method.
Default: falseproposal_acceptance_criteria
: 'Gibbs', 'Metropolis'
When 'Gibbs', each spin flip proposal is accepted according to the Gibbs criteria. When 'Metropolis', each spin flip proposal is accepted according to the Metropolis-Hastings criteria.
Default: "Metropolis"num_reads
: int
Number of reads. Each read is generated by one run of the simulated annealing algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonenum_sweeps
: int
Number of sweeps used in annealing.
Default: 1000beta_range
: Tuplefloat, float, NoneType
A 2-tuple defining the beginning and end of the beta schedule, where beta is the inverse temperature. The schedule is applied linearly in beta. Default range is set based on the total bias associated with each node.
Default: Nonebeta_schedule_type
: 'linear', 'geometric'
Beta schedule type, or how the beta values are interpolated between the given 'beta_range'.
Default: "geometric"initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none:' if the number of initial states specified is smaller than `num_reads`, raises an error. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"TS - Tabu Search
Tabu Search is a heuristic optimization method that works with the help of a tabu list. Initially, random states are chosen in the solution landscape. Afterwards, an iterative search for energetically better states in the neighborhood is started from these states. According to a tabu strategy, states are added to the tabu list that are not allowed to be selected as successor states for a tabu duration. The tabu search ends as soon as there are no better successor states in the neighborhood. The resulting state is therefore the solution to the problem."
Provider: dwave
Solution Example:
Parameters:
initial_states
: Any
One or more samples, each defining an initial state for all the problem variables. Initial states are given one per read, but if fewer than `num_reads` initial states are defined, additional values are generated as specified by `initial_states_generator`.
Default: Noneseed
: int
32-bit unsigned integer seed to use for the PRNG. If the `timeout` parameter is not None, results from the same seed may not be identical between runs due to finite clock resolution.
Default: Nonenum_restarts
: int
Maximum number of tabu search restarts per read. Setting this value to zero results in a simple tabu search.
Default: 1000000energy_threshold
: float
Terminate when an energy lower than or equal to `energy_threshold` is found.
Default: Nonecoefficient_z_first
: int
`max(bqm.num_variables*coefficient_z_first, lower_bound_z)` bounds the number of variable updates considered in the first simple tabu search (STS). Variable updates arising from the STS greedy-descent subroutine, invoked upon discovery of new global optima, are excluded from the count. The coefficient defaults to 10_000 for small problems (up to 500 variables) and 25_000 for larger problems.
Default: Nonecoefficient_z_restart
: int
Controls the number of variable updates on restarted simple tabu search stages, matching the description for `coefficient_z_first`. The coefficient defaults to `coefficient_z_first/4`
Default: Nonelower_bound_z
: int
Sets a minimum number of variable updates on all simple tabu searches, see `coefficient_z_first`. The bound defaults to 500_000.
Default: Nonenum_reads
: int
Number of reads. Each read is generated by one run of the tabu algorithm. If `num_reads` is not explicitly given, it is selected to match the number of initial states given. If initial states are not provided, only one read is performed.
Default: Nonetenure
: int
Tabu tenure, which is the length of the tabu list, or number of recently explored solutions kept in memory. Default is a quarter of the number of problem variables up to a maximum value of 20.
Default: Nonetimeout
: float
Maximum running time per read in milliseconds.
Default: 100initial_states_generator
: 'none', 'tile', 'random'
Defines the expansion of `initial_states` if fewer than `num_reads` are specified: 'none': if the number of initial states specified is smaller than `num_reads`, raises ``ValueError``. 'tile': reuses the specified initial states if fewer than `num_reads` or truncates if greater. 'random': expands the specified initial states with randomly generated states if fewer than `num_reads` or truncates if greater.
Default: "random"