IntegerToBinary
class IntegerToBinary
Bases: qiskit.optimization.converters.quadratic_program_converter.QuadraticProgramConverter
Convert a QuadraticProgram
into new one by encoding integer with binary variables.
This bounded-coefficient encoding used in this converted is proposed in [1], Eq. (5).
Examples
>>> from qiskit.optimization.problems import QuadraticProgram
>>> from qiskit.optimization.converters import IntegerToBinary
>>> problem = QuadraticProgram()
>>> var = problem.integer_var(name='x', lowerbound=0, upperbound=10)
>>> conv = IntegerToBinary()
>>> problem2 = conv.convert(problem)
References
[1]: Sahar Karimi, Pooya Ronagh (2017), Practical Integer-to-Binary Mapping for Quantum
Annealers. arxiv.org:1706.01945.
Methods
convert
IntegerToBinary.convert(problem)
Convert an integer problem into a new problem with binary variables.
Parameters
problem (QuadraticProgram
) – The problem to be solved, that may contain integer variables.
Return type
QuadraticProgram
Returns
The converted problem, that contains no integer variables.
Raises
QiskitOptimizationError – if variable or constraint type is not supported.
interpret
IntegerToBinary.interpret(x)
Convert back the converted problem (binary variables) to the original (integer variables).
Parameters
x (Union
[ndarray
, List
[float
]]) – The result of the converted problem or the given result in case of FAILURE.
Return type
ndarray
Returns
The result of the original problem.