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

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

```
## 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"

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

```
## 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"

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

```
## 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