opytimizer.optimizers.swarm.pio

Pigeon-Inspired Optimization.

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

A PIO class, inherited from Optimizer.

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

References

H. Duan and P. Qiao. Pigeon-inspired optimization:a new swarm intelligence optimizerfor air robot path planning. International Journal of IntelligentComputing and Cybernetics (2014).

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

Initialization method.

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

Number of mapping iterations.

n_c2

Number of landmark iterations.

R

Map and compass factor.

n_p

Number of pigeons.

velocity

Array of pulse rates.

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

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_calculate_center(agents: List[opytimizer.core.agent.Agent]) → numpy.ndarray

Calculates the center position (eq. 8).

Parameters:agents – List of agents.
Returns:The center position.
Return type:(np.ndarray)
_update_center_position(position: numpy.ndarray, center: numpy.ndarray) → None

Updates a pigeon position based on the center (eq. 9).

Parameters:
  • position – Agent’s current position.
  • center – Center position.
Returns:

A new center-based position.

Return type:

(np.ndarray)

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

Wraps Pigeon-Inspired Optimization over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • iteration – Current iteration.