Skip to content
Pasqal Documentation

Solving with classical heuristics

Several classical heuristics are made available for solving QUBOs such as tabu search or simulated annealing.

Section titled “Quickstart: Solving a QUBO with Tabu Search”

Below, we show how to solve a QUBO problem using the Tabu Search solver.

from qubosolver import QUBOInstance
from qubosolver.solver import QuboSolver
from qubosolver.config import SolverConfig, ClassicalConfig
qubo = QUBOInstance(coefficients=[[-2.0, 1.0], [1.0, -2.0]])
# we can return at most max_bitstrings solutions.
config = SolverConfig(use_quantum = False, classical=ClassicalConfig(classical_solver_type="tabu_search", max_bitstrings=2))
solver = QuboSolver(qubo, config)
solution = solver.solve()
print(solution)

Quickstart: Solving a QUBO with Simulated Annealing

Section titled “Quickstart: Solving a QUBO with Simulated Annealing”

Below, we show how to solve a QUBO problem using the Simulated Annealing solver.

from qubosolver import QUBOInstance
from qubosolver.solver import QuboSolver
from qubosolver.config import SolverConfig, ClassicalConfig
qubo = QUBOInstance(coefficients=[[-2.0, 1.0], [1.0, -2.0]])
config = SolverConfig(use_quantum = False, classical=ClassicalConfig(classical_solver_type="simulated_annealing", max_bitstrings=2))
solver = QuboSolver(qubo, config)
solution = solver.solve()
print(solution)
Section titled “Quickstart: Solving a QUBO with Simulated Annealing followed by tabu search”

Below, we show how to solve a QUBO problem using the Simulated Annealing solver, followed by Tabu Search.

from qubosolver import QUBOInstance
from qubosolver.solver import QuboSolver
from qubosolver.config import SolverConfig, ClassicalConfig
qubo = QUBOInstance(coefficients=[[-2.0, 1.0], [1.0, -2.0]])
config = SolverConfig(use_quantum = False, classical=ClassicalConfig(classical_solver_type="simulated_annealing_tabu_search", max_bitstrings=2))
solver = QuboSolver(qubo, config)
solution = solver.solve()
print(solution)