The Cheetah Optimiser

The Cheetah optimiser is a new method for solving optimisation problems, these decision making problems have been solved in the past with many approaches. Linear programming, dynamic programming and gradient methods as examples of these. All algorithms come to similar solutions for each optimisation problem but have the issue of taking lots of time and needing many constraints. To address this there are many new methods for solving optimisation problems and in many cases we look to biology to create new methods based on hunting strategies of successful species and copying their means of survival.

The Cheetah optimiser is one such biologically inspired optimiser, it focuses on the hunting strategies of Cheetahs and their effective ways of conserving energy whilst hunting of vast stretches of savannah. Imagine a vast savannah of Data and trying to find minima within that data, to efficiently go through that data without wasting lots of time and energy but still come out with optimised results.

The main methods used to mimic the hunting strategy of this animal is as follows:

– Searching
Scan and observe prey, patrol and cover distance. uses energy

– Sitting and waiting (to conserve energy)
During the search mode the prey may become viable but if the cheetah does moves to fast it may spook the prey. With this optimiser it forces each cheetah to stay put and allow other cheetahs to search further so that they do not converge on a local minima.

– Attacking
When a cheetah attacks prey begins to flee, the cheetah also intercepts the prey based on the preys movement, during this the algorithm will have only 1 cheetah hunt for 1 prey, others may sit around and “cut off” the prey.

– Go home if no prey
To conserve energy from hunting if nothing is found at all in a long time the cheetah will return to a set point and restart the search elsewhere so to not waste time and computational resources

Sudo Code for CO

As this is an example of swarm intelligence algorithms I will try and demonstrate here with a very simple example of how it works

The most important part of swarm algorithms is setting up each particle, you need many particles with important values assigned to each of them: Position, Velocity, Best Value/ Closest value to Objective function. Every parameter relies on the others, and through many iterations each particle should slowly migrate towards the objective functions optimal point. The particle swarm algorithm demonstrated follows this flowchart:

Flowchart for Particle swarm algorithm

MatlabCode Link for swarm algorithm

Youtube link to Code working 🙂

We can use many different animals in future for different swarm intelligence algorithms, each animal is optimised to its own environment and I believe that all animals when observed in their survival show extreme efficiency through their thousands of years of evolution into a specific niche. Perhaps looking at special animals too, hummingbirds and the way they select flowers, wolves and their strategic pack hunting, pods of dolphins, sea anemone etc etc. The choices are endless and with lots of research into most animals for conservation etc we have so much info to base many different algorithms around. Perhaps some data is exceptionally optimal with a specific animals hunting strategy.

Jellyfish Hunting Optimiser Next Page