Coyote Optimization Algorithm.

class opytimizer.optimizers.population.coa.COA(params: Optional[Dict[str, Any]] = None)

A COA class, inherited from Optimizer.

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


J. Pierezan and L. Coelho. Coyote Optimization Algorithm: A New Metaheuristic for Global Optimization Problems. IEEE Congress on Evolutionary Computation (2018).

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

Initialization method.

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

Number of packs.


Number of coyotes per pack.

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_pack(agents: List[opytimizer.core.agent.Agent], index: int) → List[opytimizer.core.agent.Agent]

Gets a set of agents from a specified pack.

  • agents – List of agents.
  • index – Index of pack.

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

Return type:


_transition_packs(agents: List[opytimizer.core.agent.Agent]) → None

Transits coyotes between packs (eq. 4).

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

Wraps Coyote Optimization Algorithm over all agents and variables.

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