CobylaOptimizer
CobylaOptimizer(rhobeg=1.0, rhoend=0.0001, maxfun=1000, disp=None, catol=0.0002)
GitHub(opens in a new tab)
The SciPy COBYLA optimizer wrapped as an Qiskit OptimizationAlgorithm
.
This class provides a wrapper for scipy.optimize.fmin_cobyla
(https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.fmin_cobyla.html(opens in a new tab)) to be used within the optimization module. The arguments for fmin_cobyla
are passed via the constructor.
Examples
>>> from qiskit.optimization.problems import QuadraticProgram
>>> from qiskit.optimization.algorithms import CobylaOptimizer
>>> problem = QuadraticProgram()
>>> # specify problem here
>>> optimizer = CobylaOptimizer()
>>> result = optimizer.solve(problem)
Initializes the CobylaOptimizer.
This initializer takes the algorithmic parameters of COBYLA and stores them for later use of fmin_cobyla
when solve()
is invoked. This optimizer can be applied to find a (local) optimum for problems consisting of only continuous variables.
Parameters
- rhobeg (
float
) – Reasonable initial changes to the variables. - rhoend (
float
) – Final accuracy in the optimization (not precisely guaranteed). This is a lower bound on the size of the trust region. - disp (
Optional
[int
]) – Controls the frequency of output; 0 implies no output. Feasible values are {0, 1, 2, 3}. - maxfun (
int
) – Maximum number of function evaluations. - catol (
float
) – Absolute tolerance for constraint violations.
Methods
get_compatibility_msg
CobylaOptimizer.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 contains only continuous variables, and otherwise, returns a message explaining the incompatibility.
Parameters
problem (QuadraticProgram
) – The optimization problem to check compatibility.
Return type
str
Returns
Returns a string describing the incompatibility.
is_compatible
CobylaOptimizer.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.
solve
CobylaOptimizer.solve(problem)
Tries to solves the given problem using the optimizer.
Runs the optimizer to try to solve the optimization problem.
Parameters
problem (QuadraticProgram
) – The problem to be solved.
Return type
OptimizationResult
Returns
The result of the optimizer applied to the problem.
Raises
QiskitOptimizationError – If the problem is incompatible with the optimizer.