ADMMOptimizer#
- class ADMMOptimizer(qubo_optimizer=None, continuous_optimizer=None, params=None)[source]#
 Bases:
OptimizationAlgorithmAn 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.
- প্যারামিটার:
 qubo_optimizer (OptimizationAlgorithm | None) -- An instance of OptimizationAlgorithm that can effectively solve QUBO problems. If not specified then
MinimumEigenOptimizerinitialized with an instance ofNumPyMinimumEigensolverwill be used.continuous_optimizer (OptimizationAlgorithm | None) -- An instance of OptimizationAlgorithm that can solve continuous problems. If not specified then
SlsqpOptimizerwill be used.params (ADMMParameters | None) -- An instance of ADMMParameters.
Attributes
- parameters#
 Returns current parameters of the optimizer.
- রিটার্নস:
 The parameters.
Methods
- get_compatibility_msg(problem)[source]#
 Checks whether a given problem can be solved with the optimizer implementing this method.
- প্যারামিটার:
 problem (QuadraticProgram) -- The optimization problem to check compatibility.
- রিটার্নস:
 Returns the incompatibility message. If the message is empty no issues were found.
- রিটার্ন টাইপ:
 
- is_compatible(problem)#
 Checks whether a given problem can be solved with the optimizer implementing this method.
- প্যারামিটার:
 problem (QuadraticProgram) -- The optimization problem to check compatibility.
- রিটার্নস:
 Returns True if the problem is compatible, False otherwise.
- রিটার্ন টাইপ:
 
- solve(problem)[source]#
 Tries to solves the given problem using ADMM algorithm.
- প্যারামিটার:
 problem (QuadraticProgram) -- The problem to be solved.
- রিটার্নস:
 The result of the optimizer applied to the problem.
- রেইজেস:
 QiskitOptimizationError -- If the problem is not compatible with the ADMM optimizer.
- রিটার্ন টাইপ: