Fruit fly Optimization Algorithm has been invented by Pan in 2011 and it is based on the food search behavior of fruit flies. Fruit fly optimization (FFO) is one of the latest meta-heuristic methods presented in the literature. FFO simulates the intelligent foraging behavior of fruit flies or vinegar flies in finding food. Fruit flies live in the temperate and tropical climate zones. They have very sensitive osphresis and vision organs which are superior to other species. They feed chiefly on rotten fruits . In the process of finding food, their osphresis organs smell all kinds of scents in the air. They then fly towards the corresponding locations. When they get close to the food locations, they find foods using their visions and then fly towards that direction. The FFO algorithm has many advantages such as a simple structure, immediately accessible for practical applications, ease of implementation and speed to acquire solutions. Therefore, it has captured much attention and has been successfully applied to solve a wide range of practical optimization problems including the financial distress, power load forecasting, web auction logistics service, PID controller tuning, and multidimensional knapsack problem . However, to the best of our knowledge, the FFO algorithm has not yet been used to solve high-dimensional continuous function optimization problems which are used extensively in science, engineering, and finance. Most of these problems are no longer linear, quadratic, nor unimodal. Their objective functions are often multimodal with peaks, valleys, channels, and flat hyper-planes of different heights. Solving these types of problems to optimality undoubtedly becomes a true challenge .
2. Inspiration of Fruit flies Optimization Algorithm
All that they require is a moist area of fermenting stuff. That stuff can be ripened fruits or vegetables, as well as drains, garbage disposals, empty bottles and cans, trash bags, or cleaning rags and mops. The term fruit fly is used to describe a broad category of small flies that range from only slightly annoying to seriously damaging to fruit . If your apple fruits are suffering from discolored scars on the rinds or are full of fly larvae, your orchard may be under attack by Mexican fruit flies (Anastrepha ludens), Oriental fruit flies (Bactrocera dorsalis) or Mediterranean fruit flies (Ceratitis capitata). Unlike vinegar flies, these exotic fruit flies don’t simply use over-ripe fruit as nurseries for their young, but actively attack ripening fruits and can cause. The term fruit fly is used to describe a broad category of small flies that range from only slightly annoying to seriously damaging to fruit. If your apple fruits are suffering from discolored scars on the rinds or are full of fly larvae, your orchard may be under attack by Mexican fruit flies (Anastrepha ludens), Oriental fruit flies (Bactrocera dorsalis) or Mediterranean fruit flies (Ceratitis capitata). Unlike vinegar flies, these exotic fruit flies don’t simply use over-ripe fruit as nurseries for their young, but actively attack ripening fruits and can cause serious loss in your home apple grove .
3. Fruit fly Optimization Algorithm
The basic FFO consists of four consecutive phases. These are initialization, osphresis foraging, population evaluation, and vision foraging. Firstly, FFO sets its control parameters, i.e., population size and a termination criterion, and initializes its fruit fly swarm location. Then FFO is repeated with the search process of osphresis foraging and vision foraging until the termination criterion is satisfied . At the osphresis foraging phase, a population of fruit flies randomly searches food sources around the fruit fly swarm location. After that, the smell concentration value or fitness value is evaluated for each of the food sources. In the vision foraging phase, the best food source with the maximum smell concentration value is found and then the fruit fly group flies towards it .
3.1. Different types of Fruit fly Optimization Algorithm
There are several types of fruit flies,
- Bactrocera dorsalis
- Bactrocera cucurbitae
- Bactrocera correcta
- Bactrocera carambolae
- Bactrocera papayae
- Bactrocera occipitalis
- Bactrocera philippinensis
- Bactrocera invadenns
3.2. Flow Chart
3.3. Steps for Fruit Fly optimization Algorithm
- Initialize the population size
- Fruit fly swarm location
- Osphresis foraging & Vision foraging
- Termination criterion
3.3.1. Initialize the population size
A good initial swarm location may result in a faster convergence to good solutions. To obtain a good swarm location, we randomly generate a population of PS solutions and the best one among them is selected as the initial fruit fly swarm location .
3.3.2. Fruit fly swarm location
Fruit fly optimization algorithm is inspired by the behavior of the fruit flies found in nature. Fruit fly (lat. Drosophila) is superior in comparison with other similar species, especially in terms of food foraging using osphresis and vision characteristics . The smell foraging phase enables an individual to search and locate food sources around the fruit fly swarm. For each of the food sources the smell concentration that corresponds to the fitness value is evaluated next. In the vision foraging phase maximum smell concentration value is allocated, and then the swarm is directed towards it .
3.3.3. Osphresis foraging & Vision foraging
Randomly generate a number of fruit flies around the fruit fly swarm so as to form a population (osphresis search process). In the osphresis foraging phase, a population of food sources is produced randomly with a uniform distribution around its fruit fly swarm location. In the scheduling literature, two commonly used operators to generate neighboring solutions for a job permutation are insertion and pair wise exchange. Any one of the above two operators can be used in the osphresis foraging phase . In the vision foraging phase, according to the basic FFO, if the best food source with the lowest fitness is better than the current fruit fly swarm location, it will replace the swarm location. The above method easily results in search stagnation since too much local exploration is stressed. To address the problem, we introduce a global osphresis foraging and a global vision foraging phases . In the global osphresis foraging phase, we generate PS food sources by performing a random insertion operator and a random pair wise exchange to the current fruit fly swarm location. This operation helps the algorithm move far from the current local optimum .
In the global vision foraging, the best food sources generated replaces the current swarm location regardless of its objective values better or worse. This modification is beneficial as it prevents the algorithm to stall around a local optimum, and provides a high chance for FFO to move to a new promising region that has not been explored before .
3.3.4. Termination criterion
If the stopping criterion (maximum number of iterations) is satisfied, computation is terminated. Otherwise, the osphresis foraging and vision foraging phases are repeated .
4. Numerical Expression for FFA
According to the food finding characteristics of fruit fly swarm, the FOA can be divided into seven steps as follows .
Step1: Parameter Initialization
The main parameters of the FOA are the total evolution number, the population size pop, and the initial fruit fly swarm location[X0, Y0] and the random value is 20.
5. Applications of FFO
- Delivering the products to be sent to the agents in the shortest way
- Proposed method and Shortest path found
- Implemented in an Intel core
- Test functions
- Neural network
- Data mining
- Principal component regression
6. Advantages of FFO
- Simple structured
- Solves the problems fast
- Easily adaptable to the applications
- Program code is short and easily understandable
- A stable algorithm
- Has few parameters
 Hong-ze Li, Sen Guo, Chun-jie Li, Jing-qi Sun. A hybrid annual power load forecasting model based on generalized regression neural network with fruit fly optimization algorithm. Knowledge-Based Systems 37 (2013) 378–387.
 Quan-Ke Pan a,b, Hong-Yan Sang b, Jun-Hua Duan b, Liang Gao. An improved fruit fly optimization algorithm for continuous function optimization problems. Knowledge-Based Systems 62 (2014) 69–83.
 Marko Mitić, Najdan Vuković, Milica Petrović, Zoran Miljković.Chaotic fruit fly optimization algorithm. KNOSYS 3251.
 Jiuqi Han and Peng Wang, Xin Yang.Tuning of PID Controller Based on Fruit Fly Optimization Algorithm. International Conference on Mechatronics and Automation August 5 – 8.
 Su-Mei Lin. Analysis of service satisfaction in web auction logistics service using a combination of Fruit fly optimization algorithm and general regression neural network. Neural Comput & Applic (2013) 22:783–791.
 Xiaofang Yuan a, Xiangshan Dai a, Jingyi Zhao a, Qian He. On a novel multi-swarm fruit fly optimization algorithm and its application. Applied Mathematics and Computation 233 (2014) 260–271.
 Lin Wanga, Yuanlong Shi a, Shan Liu. An improved fruit fly optimization algorithm and its application to joint replenishment problems. Expert Systems with Applications 42 (2015) 4310–4323.
 Hongze Li 1, Sen Guo 1, Huiru Zhao 1, Chenbo Su 2 and Bao Wang. Annual Electric Load Forecasting by a Least Squares Support Vector Machine with a Fruit Fly Optimization Algorithm. Energies 2012, 5, 4430-4445.
 Jun-qing Li a, b, Quan-ke Pan d, Kun Mao a, P.N. Suganthan. Solving the steelmaking casting problem using an effective fruit fly optimisation algorithm. Knowledge-Based Systems (2014).
 Lianghong Wu, Cili Zuo, Hongqiang Zhang. A cloud model based fruit fly optimization algorithm. Knowledge-Based Systems (2015).
 Rui Hu, Shiping Wen, Zhigang Zeng, Tingwen Huang. A Short-Term Power Load Forecasting Model Based on the Generalized Regression Neural Network with Decreasing Step Fruit Fly Optimization Algorithm.PII: S0925-2312(16)31044-X.NEUCOM17556.
 Hazim Iscan, Mesut Gunduz. Parameter Analysis on Fruit Fly Optimization Algorithm. Journal of Computer and Communications, 2014, 2, 137-141.
 Seyed Mohsen Mousavi, Najmeh Alikar, Seyed Taghi Akhavan Niaki, Ardeshir Bahreininejad. Optimizing a location allocation-inventory problem in a two-echelon supply chain network: A modified Fruit Fly optimization algorithm. PII: S0360-8352(15)00245-4.CAIE 4056.
 Hongde Dai, Guorong Zhao, Jianhua Lu, Shaowu Dai. Comment and improvement on ‘‘A new Fruit Fly Optimization Algorithm: Taking the financial distress model as an example’’. Knowledge-Based Systems 59 (2014) 159–160.
LinWanga, RuiLiua, ShanLiub. An effective and efficient fruit fly optimization algorithm with level probability policy and its applications. Knowledge-Based Systems 97(2016)158–174.
 Yuliang Conga*, Jianwei Wanga, Xiaolei Lia. Traffic Flow Forecasting by a Least Squares Support Vector Machine with a Fruit Fly Optimization Algorithm. Procedia Engineering 137 (2016) 59 – 68.
 Zhenzong He, Hong Qi*, Yuchen Yao, Liming Ruan. Inverse estimation of the particle size distribution using the Fruit Fly Optimization Algorithm. Applied Thermal Engineering (2014) 1-9.
 Guohua Cao, Lijuan Wu. Support vector regression with fruit fly optimization algorithm for seasonal electricity consumption forecasting. Energy 115 (2016) 734-745.
 Tao Meng Quan-Ke Pan. An Improved Fruit Fly Optimization Algorithm for Solving the Multidimensional Knapsack Problem. PII: S1568-4946(16)30592-0. ASOC3913.
 Stratis Kanarachos, James Griffin, Michael E. Fitzpatrick. Efficient truss optimization using the contrast-based fruit fly optimization algorithm. Computers and Structures 182 (2017) 137–148.
 Hong-yan Sang, Tao Meng, Quan-ke Pan. Scheduling the Hybrid Flow shop Problem Using a Global Fruit Fly Optimizer. 2017 IEEE 3rd International Conference on Control Science and Systems Engineering.
 Chuncai Xiao, 1, 2 Kuangrong Hao, 1, 2 and Yongsheng Ding1, 2. An Improved Fruit Fly Optimization Algorithm Inspired from Cell Communication Mechanism. Volume 2015, Article ID 492195.