MultiStartOptimizer#

class MultiStartOptimizer(trials=1, clip=100.0)[source]#

Bases: OptimizationAlgorithm, ABC

An abstract class that implements multi start optimization and should be sub-classed by other optimizers.

Constructs an instance of this optimizer.

Parameters:
  • 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.

Raises:

ValueError – if the variable trials has a value smaller than 1.

Attributes

clip#

Returns the clip value for this optimizer.

Returns:

The clip value.

trials#

Returns the number of trials for this optimizer.

Returns:

The number of trials.

Methods

abstract get_compatibility_msg(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 the incompatibility message. If the message is empty no issues were found.

Return type:

str

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:

bool

multi_start_solve(minimize, problem)[source]#

Applies a multi start method given a local optimizer.

Parameters:
Returns:

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

Return type:

OptimizationResult

abstract 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.

Returns:

The result of the optimizer applied to the problem.

Raises:

QiskitOptimizationError – If the problem is incompatible with the optimizer.

Return type:

OptimizationResult