ScipyMilpOptimizer#
- class ScipyMilpOptimizer(disp=False)[source]#
Bases:
OptimizationAlgorithm
The MILP optimizer from Scipy wrapped as a Qiskit
OptimizationAlgorithm
.This class provides a wrapper for
scipy.milp
(https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.milp.html) to be used within the optimization module.Initializes the ScipyMILPOptimizer.
- Parameters:
disp (bool) – Whether to print MILP output or not.
Attributes
- disp#
Returns the display setting.
- Returns:
Whether to print scipy.milp information or not.
Methods
- get_compatibility_msg(problem)[source]#
Checks whether a given problem can be solved with this optimizer.
Checks if the problem has only linear objective function and linear constraints. The
scipy.milp
supports only linear objective function and linear constraints.- Parameters:
problem (QuadraticProgram) – The optimization problem to check compatibility.
- Returns:
An empty string (if compatible) or a string describing the incompatibility.
- Return type:
- 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.
- Returns:
Returns True if the problem is compatible, False otherwise.
- Return type:
- solve(problem)[source]#
Tries to solve the given problem using the optimizer.
Runs the optimizer to try to solve the optimization problem. If problem is not convex, this optimizer may raise an exception due to incompatibility, depending on the settings.
- Parameters:
problem (QuadraticProgram) – The problem to be solved.
- Returns:
The result of the optimizer applied to the problem.
- Raises:
QiskitOptimizationError – If the problem is incompatible with the optimizer.
- Return type: