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:

## Example of creating solution for brute_force (BF) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="BF", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

None

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:

## Example of creating solution for dialectic_search (DS) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="DS", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

decomposer: Decomposer

Decomposer parameters.

Default:

size: int

Size for the decomposer.

Default: 10

min_gain: typing.Any

Minimum gain for the decomposer.

Default: None

rolling: bool

Whether to use rolling for the decomposer.

Default: true

rolling_history: int

Rolling history for the decomposer.

Default: 1

silent_rewind: bool

Whether to use silent rewind for the decomposer.

Default: true

traversal: str

Traversal for the decomposer.

Default: "energy"

tabu_antithesis: Tabu

Tabu parameters for the antithesis phase.

Default:

num_reads: int

Number of reads for the solver.

Default: None

tenure: int

Number of repeats for the solver.

Default: None

timeout: float

Timeout for the solver.

Default: 20

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

tabu_synthesis: Tabu

Tabu parameters for the synthesis phase.

Default:

num_reads: int

Number of reads for the solver.

Default: None

tenure: int

Number of repeats for the solver.

Default: None

timeout: float

Timeout for the solver.

Default: 20

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

update: dict

Update parameters for the algorithm.

Default: {"max_iter":100,"max_tries":100,"max_time":5}

target: typing.Any

Energy level that the algorithm tries to reach.

Default: None

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

## Example of creating solution for kerberos (K) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="K", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

TABU: kerberos.TabuKerberos

Tabu parameters for Kerberos algorithm.

Default:

num_reads: int

Number of reads for the tabu search. If None, no limit is enforced.

Default: 1

max_time: typing.Any

Maximum time for the tabu search. If None, no limit is enforced.

Default: None

simulated_annealing: SimulatedAnnealing

Simulated annealing parameters for Kerberos algorithm.

Default:

num_reads: int

Number of reads for the solver.

Default: None

num_sweeps: int

Number of sweeps for the solver.

Default: 1000

beta_range: typing.Any

Beta range for the solver.

Default: None

beta_schedule_type: str

Beta schedule type for the solver.

Default: "geometric"

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

decomposer: Decomposer

Decomposer parameters for Kerberos algorithm.

Default:

size: int

Size for the decomposer.

Default: 10

min_gain: typing.Any

Minimum gain for the decomposer.

Default: None

rolling: bool

Whether to use rolling for the decomposer.

Default: true

rolling_history: int

Rolling history for the decomposer.

Default: 1

silent_rewind: bool

Whether to use silent rewind for the decomposer.

Default: true

traversal: str

Traversal for the decomposer.

Default: "energy"

qpu: QPU

QPU parameters for Kerberos algorithm.

Default:

num_reads: int

Number of reads for the QPU.

Default: 100

num_retries: int

Number of retries for the QPU.

Default: 0

auto_embedding_params: AutoEmbeddingParams

Auto embedding parameters for the QPU.

Default:

embedding_parameters: EmbeddingParameters

Embedding parameters for the auto embedding.

Default:

max_no_improvement: int

Maximum number of iterations without improvement.

Default: 10

random_seed: typing.Any

Random seed for the embedding.

Default: None

timeout: float

Timeout for the embedding.

Default: 1000

max_beta: typing.Any

Maximum beta for the embedding.

Default: None

tries: int

Number of tries for the embedding.

Default: 10

inner_rounds: typing.Any

Number of inner rounds for the embedding.

Default: None

chainlength_patience: int

Chainlength patience for the embedding.

Default: 10

max_fill: typing.Any

Maximum fill for the embedding.

Default: None

threads: int

Number of threads for the embedding.

Default: 1

return_overlap: bool

Whether to return overlap for the embedding.

Default: false

skip_initialization: bool

Whether to skip initialization for the embedding.

Default: false

initial_chains: Any

Initial chains for the embedding.

Default: []

fixed_chains: Any

Fixed chains for the embedding.

Default: []

restrict_chains: Any

Restricted chains for the embedding.

Default: []

suspend_chains: Any

Suspended chains for the embedding.

Default: []

sampling_params: SamplingParams

Sampling parameters for the QPU.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

anneal_schedule: Any

Anneal schedule for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation for the sampling.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

initial_state: Any

Initial state for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

num_reads: int

Number of reads for the sampling.

Default: 1

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation for the sampling.

Default: false

reinitialize_state: bool

Whether to reinitialize state for the sampling.

Default: true

max_iter: int

Maximum number of iterations for the Kerberos algorithm.

Default: 100

max_time: int

Time in seconds after which the algorithm will stop.

Default: 5

convergence: int

Number of iterations with unchanged output to terminate algorithm.

Default: 3

target: typing.Any

Energy level that the algorithm tries to reach.

Default: None

cpu_count_multiplier: int

Multiplier for the CPU count.

Default: 1

rtol: float

Relative tolerance for convergence.

Default: 0.00001

atol: float

Absolute tolerance for convergence.

Default: 1e-8

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

## Example of creating solution for leap_hybrid_bqm (LBQM) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="LBQM", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

time_limit: typing.Any

The time limit for the solver.

Default: None

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

## Example of creating solution for leap_hybrid_cqm (LCQM) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="LCQM", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

time_limit: typing.Any

The time limit for the solver.

Default: None

spin_variables: typing.List[str]

The list of spin variables.

Default: None

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

## Example of creating solution for parallel_tempering (PT) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="PT", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

n_replicas: int

Number of replicas for the parallel tempering. Default is 2.

Default: 2

fixed_temperature_sampler: dict

Parameters for the fixed temperature sampler.

Default: {"num_sweeps":10000,"num_reads":null}

max_iter: int

Maximum number of iterations. Default is 3.

Default: 3

max_time: int

Time in seconds after which the algorithm will stop. Default is 5.

Default: 5

target: typing.Any

Energy level that the algorithm tries to reach. If None (default), the algorithm will run until any other stopping criterion kicks in.

Default: None

cpu_count_multiplier: int

Multiplier for the CPU count. Default is 5.

Default: 5

rtol: float

Relative tolerance for convergence. Default is 1e-7.

Default: 0.00001

atol: float

Absolute tolerance for convergence. Default is 1e-9.

Default: 1e-8

random_swaps_factor: int

Factor for random swaps. Default is 1.

Default: 1

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

## Example of creating solution for parallel_tempering_qpu (PTQ) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="PTQ", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

n_replicas: int

Number of replicas for the parallel tempering.

Default: 4

decomposer: Decomposer

Parameters for the decomposer.

Default:

size: int

Size for the decomposer.

Default: 10

min_gain: typing.Any

Minimum gain for the decomposer.

Default: None

rolling: bool

Whether to use rolling for the decomposer.

Default: true

rolling_history: int

Rolling history for the decomposer.

Default: 1

silent_rewind: bool

Whether to use silent rewind for the decomposer.

Default: true

traversal: str

Traversal for the decomposer.

Default: "energy"

qpu: QPU

Parameters for the QPU.

Default:

num_reads: int

Number of reads for the QPU.

Default: 100

num_retries: int

Number of retries for the QPU.

Default: 0

auto_embedding_params: AutoEmbeddingParams

Auto embedding parameters for the QPU.

Default:

embedding_parameters: EmbeddingParameters

Embedding parameters for the auto embedding.

Default:

max_no_improvement: int

Maximum number of iterations without improvement.

Default: 10

random_seed: typing.Any

Random seed for the embedding.

Default: None

timeout: float

Timeout for the embedding.

Default: 1000

max_beta: typing.Any

Maximum beta for the embedding.

Default: None

tries: int

Number of tries for the embedding.

Default: 10

inner_rounds: typing.Any

Number of inner rounds for the embedding.

Default: None

chainlength_patience: int

Chainlength patience for the embedding.

Default: 10

max_fill: typing.Any

Maximum fill for the embedding.

Default: None

threads: int

Number of threads for the embedding.

Default: 1

return_overlap: bool

Whether to return overlap for the embedding.

Default: false

skip_initialization: bool

Whether to skip initialization for the embedding.

Default: false

initial_chains: Any

Initial chains for the embedding.

Default: []

fixed_chains: Any

Fixed chains for the embedding.

Default: []

restrict_chains: Any

Restricted chains for the embedding.

Default: []

suspend_chains: Any

Suspended chains for the embedding.

Default: []

sampling_params: SamplingParams

Sampling parameters for the QPU.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

anneal_schedule: Any

Anneal schedule for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation for the sampling.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

initial_state: Any

Initial state for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

num_reads: int

Number of reads for the sampling.

Default: 1

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation for the sampling.

Default: false

reinitialize_state: bool

Whether to reinitialize state for the sampling.

Default: true

fixed_temperature_sampler: FixedTemperatureSampler

Parameters for the fixed temperature sampler.

Default:

num_sweeps: int

Number of sweeps for the sampler.

Default: 10000

num_reads: int

Number of reads for the sampler.

Default: None

max_iter: int

Maximum number of iterations.

Default: 5

max_time: int

Time in seconds after which the algorithm will stop.

Default: 5

target: typing.Any

Energy level that the algorithm tries to reach.

Default: None

cpu_count_multiplier: int

Multiplier for the CPU count.

Default: 5

rtol: float

Relative tolerance for convergence.

Default: 0.00001

atol: float

Absolute tolerance for convergence.

Default: 1e-8

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

## Example of creating solution for population_annealing (PA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="PA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

fixed_temperature_sampler: FixedTemperatureSampler

Parameters for the fixed temperature sampler.

Default:

num_sweeps: int

Number of sweeps for the sampler.

Default: 10000

num_reads: int

Number of reads for the sampler.

Default: None

max_iter: int

Maximum number of iterations. Default is 20.

Default: 20

target: typing.Any

Energy level that the algorithm tries to reach. If None (default), the algorithm will run until any other stopping criterion kicks in.

Default: None

max_time: int

Maximum time in seconds that the algorithm is allowed to run. Default is 2.

Default: 2

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

## Example of creating solution for population_annealing_qpu (PAQ) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="PAQ", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

decomposer: Decomposer

Parameters for the decomposer, which selects variables for the graph search to stop.

Default:

size: int

Size for the decomposer.

Default: 10

min_gain: typing.Any

Minimum gain for the decomposer.

Default: None

rolling: bool

Whether to use rolling for the decomposer.

Default: true

rolling_history: int

Rolling history for the decomposer.

Default: 1

silent_rewind: bool

Whether to use silent rewind for the decomposer.

Default: true

traversal: str

Traversal for the decomposer.

Default: "energy"

qpu: QPU

Parameters for the Quantum Processing Unit (QPU).

Default:

num_reads: int

Number of reads for the QPU.

Default: 100

num_retries: int

Number of retries for the QPU.

Default: 0

auto_embedding_params: AutoEmbeddingParams

Auto embedding parameters for the QPU.

Default:

embedding_parameters: EmbeddingParameters

Embedding parameters for the auto embedding.

Default:

max_no_improvement: int

Maximum number of iterations without improvement.

Default: 10

random_seed: typing.Any

Random seed for the embedding.

Default: None

timeout: float

Timeout for the embedding.

Default: 1000

max_beta: typing.Any

Maximum beta for the embedding.

Default: None

tries: int

Number of tries for the embedding.

Default: 10

inner_rounds: typing.Any

Number of inner rounds for the embedding.

Default: None

chainlength_patience: int

Chainlength patience for the embedding.

Default: 10

max_fill: typing.Any

Maximum fill for the embedding.

Default: None

threads: int

Number of threads for the embedding.

Default: 1

return_overlap: bool

Whether to return overlap for the embedding.

Default: false

skip_initialization: bool

Whether to skip initialization for the embedding.

Default: false

initial_chains: Any

Initial chains for the embedding.

Default: []

fixed_chains: Any

Fixed chains for the embedding.

Default: []

restrict_chains: Any

Restricted chains for the embedding.

Default: []

suspend_chains: Any

Suspended chains for the embedding.

Default: []

sampling_params: SamplingParams

Sampling parameters for the QPU.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

anneal_schedule: Any

Anneal schedule for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation for the sampling.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

initial_state: Any

Initial state for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

num_reads: int

Number of reads for the sampling.

Default: 1

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation for the sampling.

Default: false

reinitialize_state: bool

Whether to reinitialize state for the sampling.

Default: true

fixed_temperature_sampler: FixedTemperatureSampler

Parameters for the fixed temperature sampler.

Default:

num_sweeps: int

Number of sweeps for the sampler.

Default: 10000

num_reads: int

Number of reads for the sampler.

Default: None

max_iter: int

Maximum number of iterations. Default is 20.

Default: 20

target: typing.Any

Energy level that the algorithm tries to reach. If None (default), the algorithm will run until any other stopping criterion kicks in.

Default: None

timeout: float

Time in seconds after which the algorithm will stop if it hasn't already. Default is 5.

Default: 5

max_time: int

Maximum time in seconds that the algorithm is allowed to run. Default is 2.

Default: 2

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

## Example of creating solution for qbsolv_like_qpu (QLQ) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="QLQ", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

qbsolv_like: QBSOLVLike

Parameters for the QBSOLV-like solver.

Default:

decomposer_size: int

Size for the decomposer.

Default: 50

rolling: bool

Whether to use rolling for the solver.

Default: true

rolling_history: float

Rolling history for the solver.

Default: 0.15

max_iter: int

Maximum number of iterations for the solver.

Default: 10

max_time: int

Maximum time for the solver.

Default: 5

convergence: int

Convergence for the solver.

Default: 3

target: typing.Any

The target for the solver.

Default: None

cpu_count_multiplier: int

CPU count multiplier for the solver.

Default: 1

rtol: float

Relative tolerance for the solver.

Default: 0.00001

atol: float

Absolute tolerance for the solver.

Default: 1e-8

qpu: QPU

QPU parameters

Default:

num_reads: int

Number of reads for the QPU.

Default: 100

num_retries: int

Number of retries for the QPU.

Default: 0

auto_embedding_params: AutoEmbeddingParams

Auto embedding parameters for the QPU.

Default:

embedding_parameters: EmbeddingParameters

Embedding parameters for the auto embedding.

Default:

max_no_improvement: int

Maximum number of iterations without improvement.

Default: 10

random_seed: typing.Any

Random seed for the embedding.

Default: None

timeout: float

Timeout for the embedding.

Default: 1000

max_beta: typing.Any

Maximum beta for the embedding.

Default: None

tries: int

Number of tries for the embedding.

Default: 10

inner_rounds: typing.Any

Number of inner rounds for the embedding.

Default: None

chainlength_patience: int

Chainlength patience for the embedding.

Default: 10

max_fill: typing.Any

Maximum fill for the embedding.

Default: None

threads: int

Number of threads for the embedding.

Default: 1

return_overlap: bool

Whether to return overlap for the embedding.

Default: false

skip_initialization: bool

Whether to skip initialization for the embedding.

Default: false

initial_chains: Any

Initial chains for the embedding.

Default: []

fixed_chains: Any

Fixed chains for the embedding.

Default: []

restrict_chains: Any

Restricted chains for the embedding.

Default: []

suspend_chains: Any

Suspended chains for the embedding.

Default: []

sampling_params: SamplingParams

Sampling parameters for the QPU.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

anneal_schedule: Any

Anneal schedule for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation for the sampling.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

initial_state: Any

Initial state for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

num_reads: int

Number of reads for the sampling.

Default: 1

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation for the sampling.

Default: false

reinitialize_state: bool

Whether to reinitialize state for the sampling.

Default: true

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:

## Example of creating solution for qbsolv_like_simulated_annealing (QLSA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="QLSA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

qbsolv_like: QBSOLVLike

Parameters for the QBSOLV-like solver.

Default:

decomposer_size: int

Size for the decomposer.

Default: 50

rolling: bool

Whether to use rolling for the solver.

Default: true

rolling_history: float

Rolling history for the solver.

Default: 0.15

max_iter: int

Maximum number of iterations for the solver.

Default: 10

max_time: int

Maximum time for the solver.

Default: 5

convergence: int

Convergence for the solver.

Default: 3

target: typing.Any

The target for the solver.

Default: None

cpu_count_multiplier: int

CPU count multiplier for the solver.

Default: 1

rtol: float

Relative tolerance for the solver.

Default: 0.00001

atol: float

Absolute tolerance for the solver.

Default: 1e-8

simulated_annealing: SimulatedAnnealing

Parameters for the Simulated Annealing.

Default:

num_reads: int

Number of reads for the solver.

Default: None

num_sweeps: int

Number of sweeps for the solver.

Default: 1000

beta_range: typing.Any

Beta range for the solver.

Default: None

beta_schedule_type: str

Beta schedule type for the solver.

Default: "geometric"

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

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:

## Example of creating solution for qbsolv_like_tabu_search (QLTS) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="QLTS", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

qbsolv_like: QBSOLVLike

Parameters for the QBSOLV-like solver.

Default:

decomposer_size: int

Size for the decomposer.

Default: 50

rolling: bool

Whether to use rolling for the solver.

Default: true

rolling_history: float

Rolling history for the solver.

Default: 0.15

max_iter: int

Maximum number of iterations for the solver.

Default: 10

max_time: int

Maximum time for the solver.

Default: 5

convergence: int

Convergence for the solver.

Default: 3

target: typing.Any

The target for the solver.

Default: None

cpu_count_multiplier: int

CPU count multiplier for the solver.

Default: 1

rtol: float

Relative tolerance for the solver.

Default: 0.00001

atol: float

Absolute tolerance for the solver.

Default: 1e-8

tabu_search: TabuQBSolv

Parameters for the Tabu Search.

Default:

timeout: float

Timeout for the solver.

Default: 20

num_reads: int

Number of reads for the solver.

Default: None

tenure: int

Number of repeats for the solver.

Default: None

initial_states_generator: str

Initial states generator for the solver.

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:

## Example of creating solution for quantum_annealing (QA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="QA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

embedding: Embedding

Parameters for the auto embedding.

Default:

chain_strength: typing.Any

Chain strength for the embedding.

Default: None

chain_break_method: typing.Any

Chain break method for the embedding.

Default: None

chain_break_fraction: bool

Whether to use chain break fraction for the embedding.

Default: true

embedding_parameters: EmbeddingParameters

Embedding parameters for the embedding.

Default:

max_no_improvement: int

Maximum number of iterations without improvement.

Default: 10

random_seed: typing.Any

Random seed for the embedding.

Default: None

timeout: float

Timeout for the embedding.

Default: 1000

max_beta: typing.Any

Maximum beta for the embedding.

Default: None

tries: int

Number of tries for the embedding.

Default: 10

inner_rounds: typing.Any

Number of inner rounds for the embedding.

Default: None

chainlength_patience: int

Chainlength patience for the embedding.

Default: 10

max_fill: typing.Any

Maximum fill for the embedding.

Default: None

threads: int

Number of threads for the embedding.

Default: 1

return_overlap: bool

Whether to return overlap for the embedding.

Default: false

skip_initialization: bool

Whether to skip initialization for the embedding.

Default: false

initial_chains: Any

Initial chains for the embedding.

Default: []

fixed_chains: Any

Fixed chains for the embedding.

Default: []

restrict_chains: Any

Restricted chains for the embedding.

Default: []

suspend_chains: Any

Suspended chains for the embedding.

Default: []

return_embedding: typing.Any

Whether to return the embedding.

Default: None

sampling_params: SamplingParams

Parameters for the sampling.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

anneal_schedule: Any

Anneal schedule for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation for the sampling.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

initial_state: Any

Initial state for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

num_reads: int

Number of reads for the sampling.

Default: 1

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation for the sampling.

Default: false

reinitialize_state: bool

Whether to reinitialize state for the sampling.

Default: true

RRQA - 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](https://docs.dwavesys.com/docs/latest/c_qpu_annealing.html#reverse-annealing))

Provider:

dwave

Solution Example:

## Example of creating solution for repeated_reverse_quantum_annealing (RRQA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="RRQA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

sampling_params: repeated_reverse_quantum_annealing.RRQuantumAnnealingSamplingParams

Parameters for the RRQuantumAnnealingSamplingParams.

Default:

anneal_offsets: Any

Anneal offsets for the sampling.

Default: None

annealing_time: Any

Annealing time for the sampling.

Default: None

auto_scale: Any

Whether to auto scale for the sampling.

Default: None

flux_biases: Any

Flux biases for the sampling.

Default: None

flux_drift_compensation: bool

Whether to use flux drift compensation.

Default: true

h_gain_schedule: Any

H gain schedule for the sampling.

Default: None

max_answers: Any

Maximum number of answers for the sampling.

Default: None

programming_thermalization: Any

Programming thermalization for the sampling.

Default: None

readout_thermalization: Any

Readout thermalization for the sampling.

Default: None

reduce_intersample_correlation: bool

Whether to reduce intersample correlation.

Default: false

initial_states: typing.Any

Initial states for the solver.

Default: None

num_reads: int

Number of reads for the solver.

Default: 1

beta_schedule: List[float]

Beta schedule for the solver.

Default: [0.5,3]

timeout: float

Timeout for the solver.

Default: 5

max_iter: int

Maximum number of iterations for the solver.

Default: 10

target: typing.Any

The target for the solver.

Default: None

check_trivial: bool

Whether to check for trivial solutions.

Default: true

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

## Example of creating solution for repeated_reverse_simulated_annealing (RRSA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="RRSA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

simulated_annealing: repeated_reverse_simulated_annealing.RRSimulatedAnnealing

Parameters for the RRSimulatedAnnealing.

Default:

num_sweeps: int

Number of sweeps for the solver.

Default: 1000

num_sweeps_per_beta: int

Number of sweeps per beta for the simulated annealing.

Default: 1

interrupt_function: typing.Any

Interrupt function for the simulated annealing.

Default: None

beta_schedule: typing.Any

Beta schedule for the simulated annealing.

Default: None

randomize_order: bool

Whether to randomize order for the simulated annealing.

Default: false

proposal_acceptance_criteria: str

Proposal acceptance criteria for the simulated annealing.

Default: "Metropolis"

num_reads: int

Number of reads for the solver.

Default: None

beta_range: typing.Any

Beta range for the solver.

Default: None

beta_schedule_type: str

Beta schedule type for the solver.

Default: "geometric"

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

initial_states: typing.Any

Initial states for the solver.

Default: None

timeout: float

Timeout for the solver.

Default: 5

max_iter: int

Maximum number of iterations for the solver.

Default: 10

target: typing.Any

The target for the solver.

Default: None

SA - Simulated Annealing

[Simulated Annealing](https://en.wikipedia.org/wiki/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](https://docs.ocean.dwavesys.com/en/stable/docs_samplers/index.html#simulated-annealing).

Provider:

dwave

Solution Example:

## Example of creating solution for simulated_annealing (SA) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="SA", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

num_sweeps_per_beta: int

Number of sweeps per beta for the simulated annealing.

Default: 1

seed: Any

Seed for the simulated annealing.

Default: None

interrupt_function: typing.Any

Interrupt function for the simulated annealing.

Default: None

beta_schedule: typing.Any

Beta schedule for the simulated annealing.

Default: None

initial_states: typing.Any

Initial states for the simulated annealing.

Default: None

randomize_order: bool

Whether to randomize order for the simulated annealing.

Default: false

proposal_acceptance_criteria: str

Proposal acceptance criteria for the simulated annealing.

Default: "Metropolis"

num_reads: int

Number of reads for the solver.

Default: None

num_sweeps: int

Number of sweeps for the solver.

Default: 1000

beta_range: typing.Any

Beta range for the solver.

Default: None

beta_schedule_type: str

Beta schedule type for the solver.

Default: "geometric"

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

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:

## Example of creating solution for tabu_search (TS) from dwave solution = ls.solution.create( optimization_id=optimization.id, solver_name="TS", provider="dwave", parameters={}, qpu_tokens={} )

Parameters:

initial_states: typing.Any

Initial states for the solver.

Default: None

initial_states_generator: str

Initial states generator for the solver.

Default: "random"

num_reads: typing.Any

Number of reads for the solver.

Default: None

seed: typing.Any

Seed for the solver.

Default: None

tenure: int

Tenure for the solver.

Default: None

timeout: float

Timeout for the solver.

Default: 20

num_restarts: int

Number of restarts for the solver.

Default: 1000000

energy_threshold: typing.Any

Energy threshold for the solver.

Default: None

coefficient_z_first: typing.Any

Coefficient z first for the solver.

Default: None

coefficient_z_restart: typing.Any

Coefficient z restart for the solver.

Default: None

lower_bound_z: typing.Any

Lower bound z for the solver.

Default: None