QuadraticProgramToQubo
QuadraticProgramToQubo(penalty=None)
Convert a given optimization problem to a new problem that is a QUBO.
Examples
>>> from qiskit.optimization.problems import QuadraticProgram
>>> from qiskit.optimization.converters import QuadraticProgramToQubo
>>> problem = QuadraticProgram()
>>> # define a problem
>>> conv = QuadraticProgramToQubo()
>>> problem2 = conv.encode(problem)
Parameters
penalty (Optional
[float
]) – Penalty factor to scale equality constraints that are added to objective.
Methods
decode
QuadraticProgramToQubo.decode(result)
Convert a result of a converted problem into that of the original problem.
Parameters
result (OptimizationResult
) – The result of the converted problem.
Return type
OptimizationResult
Returns
The result of the original problem.
encode
QuadraticProgramToQubo.encode(problem)
Convert a problem with linear equality constraints into new one with a QUBO form.
Parameters
problem (QuadraticProgram
) – The problem with linear equality constraints to be solved.
Return type
Returns
The problem converted in QUBO format.
Raises
QiskitOptimizationError – In case of an incompatible problem.
get_compatibility_msg
static QuadraticProgramToQubo.get_compatibility_msg(problem)
Checks whether a given problem can be solved with this optimizer.
Checks whether the given problem is compatible, i.e., whether the problem can be converted to a QUBO, and otherwise, returns a message explaining the incompatibility.
Parameters
problem (QuadraticProgram
) – The optimization problem to check compatibility.
Return type
str
Returns
A message describing the incompatibility.
is_compatible
QuadraticProgramToQubo.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.