AQARIOS

SAGA - Simulated Annealing Assisted Genetic Algorithm

QAGA hybrid solver algorithm using the paradigm of Genetic Algorithms: We keep track of a population of possible solutions to an optimization/decision problem in the QUBO formulation, and iteratively create new solutions from these using mutations and recombinations. A selection ensures we only keep track of the most promising solutions in the population for the next iteration, where these again are used to create new solutions. This process is run until a predefined stopping criterion is reached, which might be a desired solution quality (i.e. an energy level) or a boundary on the time/iterations the algorithm is allowed to run. At the end, the best found solution vector and its corresponding solution value is returned. The Simulated Annealing Genetic Algorithm is used for the mutation.

Provider:

dwave

Solution Example:

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

Parameters:

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false

Provider:

dwave

Solution Example:

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

Parameters:

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false

Provider:

dwave

Solution Example:

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

Parameters:

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false

QAGA - Quantum Assisted Genetic Algorithm

QAGA hybrid solver algorithm using the paradigm of Genetic Algorithms: We keep track of a population of possible solutions to an optimization/decision problem in the QUBO formulation, and iteratively create new solutions from these using mutations and recombinations. A selection ensures we only keep track of the most promising solutions in the population for the next iteration, where these again are used to create new solutions. This process is run until a predefined stopping criterion is reached, which might be a desired solution quality (i.e. an energy level) or a boundary on the time/iterations the algorithm is allowed to run. At the end, the best found solution vector and its corresponding solution value is returned. The Simulated Annealing Genetic Algorithm is used for the mutation.

Provider:

dwave

Solution Example:

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

Parameters:

use_qpu: bool

Whether to use the QPU for the optimization problem. Default is True.

Default: true

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false

Provider:

dwave

Solution Example:

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

Parameters:

use_qpu: bool

Whether to use the QPU for the optimization problem. Default is True.

Default: true

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false

Provider:

dwave

Solution Example:

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

Parameters:

use_qpu: bool

Whether to use the QPU for the optimization problem. Default is True.

Default: true

p_size: int

The population size for the genetic algorithm.

Default: 40

p_inc_num: int

The increment number for the population size.

Default: 0

p_max: int

The maximum population size.

Default: -1

pct_random_states: int

The percentage of random states in the initial population.

Default: 0

mut_rate: int

The mutation rate for the genetic algorithm.

Default: 1

rec_rate: int

The recombination rate for the genetic algorithm.

Default: 1

rec_method: str

The recombination method for the genetic algorithm.

Default: "one_point_crossover"

num_sweeps: int

The number of sweeps for the simulated annealing.

Default: 1000

num_sweeps_inc_factor: int

The increment factor for the number of sweeps.

Default: 1

num_sweeps_inc_max: int

The maximum increment for the number of sweeps.

Default: -1

beta_range_type: str

The type of beta range for the simulated annealing.

Default: "default"

beta_range: str

The beta range for the simulated annealing.

Default: "beta_range"

target: Any

The target solution for the optimization problem.

Default: None

atol: int

The absolute tolerance for the optimization problem.

Default: 0

rtol: int

The relative tolerance for the optimization problem.

Default: 0

timeout: float

The timeout for the optimization problem in seconds.

Default: 5

max_iter: int

The maximum number of iterations for the optimization problem.

Default: -1

max_consistent_iters: int

The maximum number of consistent iterations for the optimization problem.

Default: -1

return_overhead: bool

Whether to return the overhead of the optimization problem.

Default: false