qiskit.optimization.converters.IntegerToBinary
class IntegerToBinary
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.
__init__
__init__()
Initialize self. See help(type(self)) for accurate signature.
Methods
__init__ () | Initialize self. |
convert (problem) | Convert an integer problem into a new problem with binary variables. |
interpret (x) | Convert back the converted problem (binary variables) to the original (integer variables). |
convert
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
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.