ADMMOptimizer

class ADMMOptimizer(qubo_optimizer=None, continuous_optimizer=None, params=None)[source]

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

ADMMOptimizer.get_compatibility_msg(problem)

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

ADMMOptimizer.is_compatible(problem)

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

ADMMOptimizer.solve(problem)

Tries to solves the given problem using ADMM algorithm.