opytimizer.optimizers.swarm.fpa

Flower Pollination Algorithm.

class opytimizer.optimizers.swarm.fpa.FPA(params: Optional[Dict[str, Any]] = None)

A FPA class, inherited from Optimizer.

This is the designed class to define FPA-related variables and methods.

References

X.-S. Yang. Flower pollination algorithm for global optimization. International conference on unconventional computing and natural computation (2012).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
beta

Lévy flight control parameter.

eta

Lévy flight scaling factor.

p

Probability of local pollination.

_global_pollination(agent_position: numpy.ndarray, best_position: numpy.ndarray) → numpy.ndarray

Updates the agent’s position based on a global pollination (eq. 1).

Parameters:
  • agent_position – Agent’s current position.
  • best_position – Best agent’s current position.
Returns:

A new position.

Return type:

(np.ndarray)

_local_pollination(agent_position: numpy.ndarray, k_position: numpy.ndarray, l_position: numpy.ndarray, epsilon: float) → numpy.ndarray

Updates the agent’s position based on a local pollination (eq. 3).

Parameters:
  • agent_position – Agent’s current position.
  • k_position – Agent’s (index k) current position.
  • l_position – Agent’s (index l) current position.
  • epsilon – An uniform random generated number.
Returns:

A new position.

Return type:

(np.ndarray)

update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Wraps Flower Pollination Algorithm over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • function – A Function object that will be used as the objective function.