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.

CplexOptimizer

class CplexOptimizer(disp=False)

GitHub

The CPLEX optimizer wrapped as an Qiskit OptimizationAlgorithm.

This class provides a wrapper for cplex.Cplex (https://pypi.org/project/cplex/) to be used within the optimization module.

Examples

>>> from qiskit.optimization.problems import QuadraticProgram
>>> from qiskit.optimization.algorithms import CplexOptimizer
>>> problem = QuadraticProgram()
>>> # specify problem here, if cplex is installed
>>> optimizer = CplexOptimizer() if CplexOptimizer.is_cplex_installed() else None
>>> if optimizer: result = optimizer.solve(problem)

Initializes the CplexOptimizer.

Parameters

disp (Optional[bool]) – Whether to print CPLEX output or not.

Raises

NameError – CPLEX is not installed.


Attributes

disp

Type: bool

Returns the display setting.

Return type

bool

Returns

Whether to print CPLEX information or not.


Methods

get_compatibility_msg

CplexOptimizer.get_compatibility_msg(problem)

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

Returns '' since CPLEX accepts all problems that can be modeled using the QuadraticProgram. CPLEX may throw an exception in case the problem is determined to be non-convex.

Parameters

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

Return type

str

Returns

An empty string.

is_compatible

CplexOptimizer.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.

is_cplex_installed

static CplexOptimizer.is_cplex_installed()

Returns True if cplex is installed

solve

CplexOptimizer.solve(problem)

Tries to solves the given problem using the optimizer.

Runs the optimizer to try to solve the optimization problem. If problem is not convex, this optimizer may raise an exception due to incompatibility, depending on the settings.

Parameters

problem (QuadraticProgram) – The problem to be solved.

Return type

OptimizationResult

Returns

The result of the optimizer applied to the problem.

Raises

QiskitOptimizationError – If the problem is incompatible with the optimizer.

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