Flying Fox
Optimizer
Single-objective FFO
Objective function f(x), x=(x1,x2,...xn)
Calculate population size (N) and Survival List (SL) size (NL)
Initialize the flying fox population
Evaluate solutions
Find coolest and hottest positions (Best and worst solutions found so far)
Do While stopping criteria are not met
For i=1:N
Calculate the parameters for flying fox i
Update position of flying fox i
Evaluate new solution
if new solution is better
Accept the new solution
else
if new solution is in a far region
Replace flying fox i in far region through SL
Evaluate new solution
end
end
Update coolest and hottest positions and SL
end
Update pD
Replace flying foxes according to pD
Evaluate new solutions
Update coolest and hottest positions and SL
end while
Postprocess results and visualization.
Click on the links below to download simplified Matlab or Python demo codes, which show how to use the Flying Fox Optimizer to solve global optimization problems.
Researchers are allowed to use the demo codes mentioned above in their research projects, as long as they cite as:
Zervoudakis, K., & Tsafarakis, S. (2023). A global optimizer inspired from the survival strategies of flying foxes. Engineering with Computers, 39, 1583–1616. https://doi.org/10.1007/s00366-021-01554-w