qiskit_addon_opt_mapper.solvers.GurobiSolver¶
- class GurobiSolver(disp=False)[source]¶
 Bases:
OptimizationSolverThe Gurobi optimizer wrapped as a
OptimizationSolver.This class provides a wrapper for
gurobipyto be used within the optimization module.Examples
>>> from qiskit_addon_opt_mapper.problems import OptimizationProblem >>> from qiskit_addon_opt_mapper.solvers import GurobiSolver >>> problem = OptimizationProblem() >>> # specify problem here, if gurobi is installed >>> optimizer = GurobiSolver() if GurobiSolver.is_gurobi_installed() else None >>> # Suppress gurobipy print info to stdout >>> import sys >>> class DevNull: ... def noop(*args, **kwargs): pass ... close = write = flush = writelines = noop >>> sys.stdout = DevNull() >>> result = optimizer.solve(problem)
Initializes the GurobiSolver.
- Parameters:
 disp (bool) – Whether to print Gurobi output or not.
- __init__(disp=False)[source]¶
 Initializes the GurobiSolver.
- Parameters:
 disp (bool) – Whether to print Gurobi output or not.
- Return type:
 None
Methods
__init__([disp])Initializes the GurobiSolver.
get_compatibility_msg(problem)Checks whether a given problem can be solved with this optimizer.
is_compatible(problem)Checks whether a given problem can be solved with the optimizer implementing this method.
Returns True if gurobi is installed.
solve(problem)Tries to solves the given problem using the optimizer.
Attributes
Returns the display setting.
- property disp: bool¶
 Returns the display setting.
- Returns:
 Whether to print Gurobi information or not.
- get_compatibility_msg(problem)[source]¶
 Checks whether a given problem can be solved with this optimizer.
Returns
''since Gurobi accepts all problems that can be modeled using theOptimizationProblem. Gurobi will also solve non-convex problems.- Parameters:
 problem (OptimizationProblem) – The optimization problem to check compatibility.
- Returns:
 An empty string.
- Return type:
 
- is_compatible(problem)[source]¶
 Checks whether a given problem can be solved with the optimizer implementing this method.
- Parameters:
 problem (OptimizationProblem) – The optimization problem to check compatibility.
- Returns:
 Returns True if the problem is compatible, False otherwise.
- Return type:
 
- solve(problem)[source]¶
 Tries to solves 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 (OptimizationProblem) – The problem to be solved.
- Returns:
 The result of the optimizer applied to the problem.
- Raises:
 OptimizationError – If the problem is incompatible with the optimizer.
- Return type: