GroverOptimizer#
- class GroverOptimizer(num_value_qubits, num_iterations=3, converters=None, penalty=None, sampler=None)[fuente]#
Bases:
OptimizationAlgorithm
Uses Grover Adaptive Search (GAS) to find the minimum of a QUBO function.
- Parámetros:
num_value_qubits (int) – The number of value qubits.
num_iterations (int) – The number of iterations the algorithm will search with no improvement.
converters (QuadraticProgramConverter | List[QuadraticProgramConverter] | None) – The converters to use for converting a problem into a different form. By default, when None is specified, an internally created instance of
QuadraticProgramToQubo
will be used.penalty (float | None) – The penalty factor used in the default
QuadraticProgramToQubo
convertersampler (BaseSampler | None) – A Sampler to use for sampling the results of the circuits.
- Muestra:
ValueError – If both a quantum instance and sampler are set.
TypeError – When there one of converters is an invalid type.
Methods
- get_compatibility_msg(problem)[fuente]#
Checks whether a given problem can be solved with this optimizer.
Checks whether the given problem is compatible, i.e., whether the problem can be converted to a QUBO, and otherwise, returns a message explaining the incompatibility.
- Parámetros:
problem (QuadraticProgram) – The optimization problem to check compatibility.
- Devuelve:
A message describing the incompatibility.
- Tipo del valor devuelto:
- is_compatible(problem)#
Checks whether a given problem can be solved with the optimizer implementing this method.
- Parámetros:
problem (QuadraticProgram) – The optimization problem to check compatibility.
- Devuelve:
Returns True if the problem is compatible, False otherwise.
- Tipo del valor devuelto:
- solve(problem)[fuente]#
Tries to solve the given problem using the grover optimizer.
Runs the optimizer to try to solve the optimization problem. If the problem cannot be, converted to a QUBO, this optimizer raises an exception due to incompatibility.
- Parámetros:
problem (QuadraticProgram) – The problem to be solved.
- Devuelve:
The result of the optimizer applied to the problem.
- Muestra:
ValueError – If a quantum instance or a sampler has not been provided.
ValueError – If both a quantum instance and sampler are set.
AttributeError – If the quantum instance has not been set.
QiskitOptimizationError – If the problem is incompatible with the optimizer.
- Tipo del valor devuelto: