opytimizer.optimizers.swarm.sfo

Sailfish Optimizer.

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

A SFO class, inherited from Optimizer.

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

References

S. Shadravan, H. Naji and V. Bardsiri. The Sailfish Optimizer: A novel nature-inspired metaheuristic algorithm for solving constrained engineering optimization problems. Engineering Applications of Artificial Intelligence (2019).

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

Initialization method.

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

Percentage of initial sailfishes.

A

Attack power coefficient.

e

Attack power decrease.

sardines

List of sardines.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_generate_random_agent(agent: opytimizer.core.agent.Agent) → opytimizer.core.agent.Agent

Generates a new random-based agent.

Parameters:agent – Agent to be copied.
Returns:Random-based agent.
Return type:(Agent)
_calculate_lambda_i(n_sailfishes: int, n_sardines: int) → float

Calculates the lambda value (eq. 7).

Parameters:
  • n_sailfishes (int) – Number of sailfishes.
  • n_sardines (int) – Number of sardines.
Returns:

Lambda value from current iteration.

Return type:

(float)

_update_sailfish(agent: opytimizer.core.agent.Agent, best_agent: opytimizer.core.agent.Agent, best_sardine: opytimizer.core.agent.Agent, lambda_i: float) → numpy.ndarray

Updates the sailfish’s position (eq. 6).

Parameters:
  • agent – Current agent’s.
  • best_agent – Best sailfish.
  • best_sardine – Best sardine.
  • lambda_i – Lambda value.
Returns:

An updated position.

Return type:

(np.ndarray)

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

Wraps Sailfish Optimizer 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.
  • iteration – Current iteration.