Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

Qiskit’s optimization module

qiskit.optimization

Qiskit’s optimization module covers the whole range from high-level modeling of optimization problems, with automatic conversion of problems to different required representations, to a suite of easy-to-use quantum optimization algorithms that are ready to run on classical simulators, as well as on real quantum devices via Qiskit.

This module enables easy, efficient modeling of optimization problems using docplex(opens in a new tab). A uniform interface as well as automatic conversion between different problem representations allows users to solve problems using a large set of algorithms, from variational quantum algorithms, such as the Quantum Approximate Optimization Algorithm (QAOA), to Grover Adaptive Search(opens in a new tab) (GroverOptimizer), leveraging fundamental algorithms provided by Qiskit Aqua. Furthermore, the modular design of the optimization module allows it to be easily extended and facilitates rapid development and testing of new algorithms. Compatible classical optimizers are also provided for testing, validation, and benchmarking.

Qiskit’s optimization module supports Quadratically Constrained Quadratic Programs – for simplicity we refer to them just as Quadratic Programs – with binary, integer, and continuous variables, as well as equality and inequality constraints. This class of optimization problems has a vast amount of relevant applications, while still being efficiently representable by matrices and vectors. This class covers some very interesting sub-classes, from Convex Continuous Quadratic Programs, which can be solved efficiently by classical optimization algorithms, to Quadratic Unconstrained Binary Optimization QUBO) problems, which cover many NP-complete, i.e., classically intractable, problems.

QuadraticProgramQuadratically Constrained Quadratic Program representation.

Representation of a Quadratically Constrained Quadratic Program supporting inequality and equality constraints as well as continuous, binary, and integer variables.

QiskitOptimizationErrorClass for errors returned by Qiskit’s optimization module.

In addition to standard Python errors the optimization module will raise this error if circumstances are that it cannot proceed to completion.

INFINITYConvert a string or number to a floating point number, if possible.

A constant for infinity.


Submodules

algorithmsOptimization algorithms (qiskit.optimization.algorithms)
applicationsOptimization applications (qiskit.optimization.applications)
convertersOptimization converters (qiskit.optimization.converters)
problemsOptimization problems (qiskit.optimization.problems)
Was this page helpful?