Skip to content

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.

Compatible Backends

Backend Default
DWave

Initialization

Python
from luna_quantum.solve.parameters.algorithms.search_algorithms.tabu_search import TabuSearch

algorithm = TabuSearch(
    backend=None,
    num_reads=None,
    tenure=None,
    timeout=100,
    seed=None,
    num_restarts=1000000,
    energy_threshold=None,
    coefficient_z_first=None,
    coefficient_z_restart=None,
    lower_bound_z=None,
    initial_states=None,
    initial_states_generator='random'
)

Usage

Python
from luna_quantum.algorithms import TabuSearch

algorithm = TabuSearch()
solve_job = algorithm.run(model, name="my-solve-job")