CobylaOptimizer#

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

Bases: MultiStartOptimizer

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.

প্যারামিটার:
  • 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 (int | None) -- 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.

Attributes

clip#

Returns the clip value for this optimizer.

রিটার্নস:

The clip value.

trials#

Returns the number of trials for this optimizer.

রিটার্নস:

The number of trials.

Methods

get_compatibility_msg(problem)[source]#

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.

প্যারামিটার:

problem (QuadraticProgram) -- The optimization problem to check compatibility.

রিটার্নস:

Returns a string describing the incompatibility.

রিটার্ন টাইপ:

str

is_compatible(problem)#

Checks whether a given problem can be solved with the optimizer implementing this method.

প্যারামিটার:

problem (QuadraticProgram) -- The optimization problem to check compatibility.

রিটার্নস:

Returns True if the problem is compatible, False otherwise.

রিটার্ন টাইপ:

bool

multi_start_solve(minimize, problem)#

Applies a multi start method given a local optimizer.

প্যারামিটার:
রিটার্নস:

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

রিটার্ন টাইপ:

OptimizationResult

solve(problem)[source]#

Tries to solves the given problem using the optimizer.

Runs the optimizer to try to solve the optimization problem.

প্যারামিটার:

problem (QuadraticProgram) -- The problem to be solved.

রিটার্নস:

The result of the optimizer applied to the problem.

রেইজেস:

QiskitOptimizationError -- If the problem is incompatible with the optimizer.

রিটার্ন টাইপ:

OptimizationResult