OptimizationAlgorithm#

class OptimizationAlgorithm[source]#

Bases: ABC

An abstract class for optimization algorithms in Qiskit optimization module.

Methods

abstract get_compatibility_msg(problem)[source]#

Checks whether a given problem can be solved with the optimizer implementing this method.

Parameters:

problem (QuadraticProgram) – The optimization problem to check compatibility.

Returns:

Returns the incompatibility message. If the message is empty no issues were found.

Return type:

str

is_compatible(problem)[source]#

Checks whether a given problem can be solved with the optimizer implementing this method.

Parameters:

problem (QuadraticProgram) – The optimization problem to check compatibility.

Returns:

Returns True if the problem is compatible, False otherwise.

Return type:

bool

abstract solve(problem)[source]#

Tries to solves the given problem using the optimizer.

Runs the optimizer to try to solve the optimization problem.

Parameters:

problem (QuadraticProgram) – The problem to be solved.

Returns:

The result of the optimizer applied to the problem.

Raises:

QiskitOptimizationError – If the problem is incompatible with the optimizer.

Return type:

OptimizationResult