Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

ADMMOptimizer

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

GitHub

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.