InequalityToEquality#

class InequalityToEquality(mode='auto')[source]#

Bases: QuadraticProgramConverter

Convert inequality constraints into equality constraints by introducing slack variables.

Examples

>>> from qiskit_optimization.problems import QuadraticProgram
>>> from qiskit_optimization.converters import InequalityToEquality
>>> problem = QuadraticProgram()
>>> # define a problem
>>> conv = InequalityToEquality()
>>> problem2 = conv.convert(problem)
Parameters:

mode (str) –

To choose the type of slack variables. There are 3 options for mode.

  • ’integer’: All slack variables will be integer variables.

  • ’continuous’: All slack variables will be continuous variables.

  • ’auto’: Use integer variables if possible, otherwise use continuous variables.

Attributes

mode#

Returns the mode of the converter

Returns:

The mode of the converter used for additional slack variables

Methods

convert(problem)[source]#

Convert a problem with inequality constraints into one with only equality constraints.

Parameters:

problem (QuadraticProgram) – The problem to be solved, that may contain inequality constraints.

Returns:

The converted problem, that contain only equality constraints.

Raises:
Return type:

QuadraticProgram

interpret(x)[source]#

Convert a result of a converted problem into that of the original problem.

Parameters:

x (ndarray | List[float]) – The result of the converted problem or the given result in case of FAILURE.

Returns:

The result of the original problem.

Return type:

ndarray