opytimizer.optimizers.swarm.eho

Elephant Herding Optimization.

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

An EHO class, inherited from Optimizer.

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

References

G.-G. Wang, S. Deb and L. Coelho. Elephant Herding Optimization. International Symposium on Computational and Business Intelligence (2015).

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

Initialization method.

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

Matriarch influence.

beta

Center influence.

n_clans

Maximum number of clans.

n_ci

Number of elephants per clan.

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

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_get_agents_from_clan(agents: List[opytimizer.core.agent.Agent], index: int) → List[opytimizer.core.agent.Agent]

Gets a set of agents from a specified clan.

Parameters:
  • agents – List of agents.
  • index – Index of clan.
Returns:

A sorted list of agents that belongs to the specified clan.

Return type:

(List[Agent])

_updating_operator(agents: List[opytimizer.core.agent.Agent], centers: numpy.ndarray, function: opytimizer.core.function.Function) → None

Performs the separating operator.

Parameters:
  • agents – List of agents.
  • centers – List of centers.
  • function – A Function object that will be used as the objective function.
_separating_operator(agents: List[opytimizer.core.agent.Agent]) → None

Performs the separating operator.

Parameters:agents – List of agents.
update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Wraps Elephant Herd Optimization 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.