QuadraticProgramToQubo
class QuadraticProgramToQubo(penalty=None)
Bases: qiskit.optimization.converters.quadratic_program_converter.QuadraticProgramConverter
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.convert(problem)
Parameters
penalty (Optional
[float
]) – Penalty factor to scale equality constraints that are added to objective. If None is passed, penalty factor will be automatically calculated.
Methods
convert
QuadraticProgramToQubo.convert(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
QuadraticProgram
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.
interpret
QuadraticProgramToQubo.interpret(x)
Convert a result of a converted problem into that of the original problem.
Parameters
x (Union
[ndarray
, List
[float
]]) – The result of the converted problem.
Return type
ndarray
Returns
The result of the original problem.
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.
Attributes
penalty
Returns the penalty factor used in conversion.
Return type
Optional
[float
]
Returns
The penalty factor used in conversion.