Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

ADMMOptimizer

ADMMOptimizer(qubo_optimizer=None, continuous_optimizer=None, params=None)

GitHub(opens in a new tab)

An implementation of the ADMM-based heuristic.

This algorithm is introduced in [1].

References:

[1] Gambella, C., & Simonetto, A. (2020). Multi-block ADMM Heuristics for Mixed-Binary

Optimization on Classical and Quantum Computers. arXiv preprint arXiv:2001.02069.

Parameters

  • qubo_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can effectively solve QUBO problems.
  • continuous_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can solve continuous problems.
  • params (Optional[ADMMParameters]) – An instance of ADMMParameters.

Raises

NameError – CPLEX is not installed.


Methods

get_compatibility_msg

ADMMOptimizer.get_compatibility_msg(problem)

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

Parameters

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

Return type

Optional[str]

Returns

Returns True if the problem is compatible, otherwise raises an error.

Raises

QiskitOptimizationError – If the problem is not compatible with the ADMM optimizer.

is_compatible

ADMMOptimizer.is_compatible(problem)

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

Parameters

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

Return type

bool

Returns

Returns True if the problem is compatible, False otherwise.

solve

ADMMOptimizer.solve(problem)

Tries to solves the given problem using ADMM algorithm.

Parameters

problem (QuadraticProgram) – The problem to be solved.

Return type

ADMMOptimizationResult

Returns

The result of the optimizer applied to the problem.

Raises

QiskitOptimizationError – If the problem is not compatible with the ADMM optimizer.

Was this page helpful?
Report a bug or request content on GitHub.