piglot.optimisers.aoa.AOA

class AOA(objective: Objective, n_solutions=10, alpha=5.0, mu=0.5, epsilon=1e-12, seed=1, MOA_start=0.2, MOA_end=1.0)[source]

Bases: ScalarOptimiser

AOA optimiser. Documentation: https://www.sciencedirect.com/science/article/pii/S0045782520307945

Attributes

n_solutionsinteger

population size (number of candidate solutions)

alphafloat

non-negative sensitive parameter used to define the accuracy of the exploitation over the iterations

mufloat

non-negative control parameter to adjust the search process

epsilonfloat

small number to avoid division by zero

seedint

random state seed

MOA_startfloat

Math Optimizer Accelerated function initial value

MOA_endfloat

Math Optimizer Accelerated function end value

Methods

_optimise(self, func, n_dim, n_iter, bound, init_shot):

Solves the optimization problem

Methods

optimise

Optimiser for the outside world.

optimise(n_iter: int, parameters: ~piglot.parameter.ParameterSet, output_dir: str, stop_criteria: ~piglot.optimiser.StoppingCriteria = <piglot.optimiser.StoppingCriteria object>, verbose: bool = True) Tuple[float, ndarray]

Optimiser for the outside world.

Parameters

objectiveObjective

Objective function to optimise.

n_iterint

Maximum number of iterations.

parametersParameterSet

Set of parameters to optimise.

output_dirstr

Whether to write output to the output directory, by default None.

stop_criteriaStoppingCriteria

List of stopping criteria, by default none attributed.

verbosebool

Whether to output progress status, by default True.

Returns

float

Best observed objective value.

np.ndarray

Observed optimum of the objective.