Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK. Go to the latest version.

qiskit.optimization.algorithms.CobylaOptimizer

class CobylaOptimizer(rhobeg=1.0, rhoend=0.0001, maxfun=1000, disp=None, catol=0.0002, trials=1, clip=100.0)

GitHub

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) 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.
  • trials (int) – The number of trials for multi-start method. The first trial is solved with the initial guess of zero. If more than one trial is specified then initial guesses are uniformly drawn from [lowerbound, upperbound] with potential clipping.
  • clip (float) – Clipping parameter for the initial guesses in the multi-start method. If a variable is unbounded then the lower bound and/or upper bound are replaced with the -clip or clip values correspondingly for the initial guesses.

__init__

__init__(rhobeg=1.0, rhoend=0.0001, maxfun=1000, disp=None, catol=0.0002, trials=1, clip=100.0)

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.
  • trials (int) – The number of trials for multi-start method. The first trial is solved with the initial guess of zero. If more than one trial is specified then initial guesses are uniformly drawn from [lowerbound, upperbound] with potential clipping.
  • clip (float) – Clipping parameter for the initial guesses in the multi-start method. If a variable is unbounded then the lower bound and/or upper bound are replaced with the -clip or clip values correspondingly for the initial guesses.

Methods

__init__([rhobeg, rhoend, maxfun, disp, …])Initializes the CobylaOptimizer.
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.
multi_start_solve(minimize, problem)Applies a multi start method given a local optimizer.
solve(problem)Tries to solves the given problem using the optimizer.

Attributes

clipReturns the clip value for this optimizer.
trialsReturns the number of trials for this optimizer.

clip

Returns the clip value for this optimizer.

Return type

float

Returns

The clip value.

get_compatibility_msg

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

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.

multi_start_solve

multi_start_solve(minimize, problem)

Applies a multi start method given a local optimizer.

Parameters

  • minimize (Callable[[array], Tuple[array, Any]]) – A callable object that minimizes the problem specified
  • problem (QuadraticProgram) – A problem to solve

Return type

OptimizationResult

Returns

The result of the multi start algorithm applied to the problem.

solve

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.

trials

Returns the number of trials for this optimizer.

Return type

int

Returns

The number of trials.

Was this page helpful?
Report a bug or request content on GitHub.