class ADMMOptimizer(qubo_optimizer=None, continuous_optimizer=None, params=None)[ソース]

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.

パラメータ
• qubo_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can effectively solve QUBO problems. If not specified then MinimumEigenOptimizer initialized with an instance of NumPyMinimumEigensolver will be used.

• continuous_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can solve continuous problems. If not specified then SlsqpOptimizer will be used.

• params (Optional[ADMMParameters]) – An instance of ADMMParameters.

__init__(qubo_optimizer=None, continuous_optimizer=None, params=None)[ソース]
パラメータ
• qubo_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can effectively solve QUBO problems. If not specified then MinimumEigenOptimizer initialized with an instance of NumPyMinimumEigensolver will be used.

• continuous_optimizer (Optional[OptimizationAlgorithm]) – An instance of OptimizationAlgorithm that can solve continuous problems. If not specified then SlsqpOptimizer will be used.

• params (Optional[ADMMParameters]) – An instance of ADMMParameters.

Methods

 __init__([qubo_optimizer, …]) type qubo_optimizer Optional[OptimizationAlgorithm] get_compatibility_msg(problem) Checks whether a given problem can be solved with the optimizer implementing this method. is_compatible(problem) Checks whether a given problem can be solved with the optimizer implementing this method. solve(problem) Tries to solves the given problem using ADMM algorithm.

Attributes

 parameters Returns current parameters of the optimizer.
get_compatibility_msg(problem)[ソース]

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

パラメータ

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

Optional[str]

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

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

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.

bool

Returns True if the problem is compatible, False otherwise.

property parameters

Returns current parameters of the optimizer.

ADMMParameters

The parameters.

solve(problem)[ソース]

Tries to solves the given problem using ADMM algorithm.

パラメータ

problem (QuadraticProgram) – The problem to be solved.

ADMMOptimizationResult

The result of the optimizer applied to the problem.

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