Literature DB >> 36243886

Stochastic process and tutorial of the African buffalo optimization.

Julius Beneoluchi Odili1, A Noraziah2,3, Basem Alkazemi4, M Zarina5.   

Abstract

This paper presents the data description of the African buffalo optimization algorithm (ABO). ABO is a recently-designed optimization algorithm that is inspired by the migrant behaviour of African buffalos in the vast African landscape. Organizing their large herds that could be over a thousand buffalos using just two principal sounds, the /maaa/ and the /waaa/ calls present a good foundation for the development of an optimization algorithm. Since elaborate descriptions of the manual workings of optimization algorithms are rare in literature, this paper aims at solving this problem, hence it is our main contribution. It is our belief that elaborate manual description of the workings of optimization algorithms make it user-friendly and encourage reproducibility of the experimental procedures performed using this algorithm. Again, our ability to describe the algorithm's basic flow, stochastic and data generation processes in a language so simple that any non-expert can appreciate and use as well as the practical implementation of the popular benchmark Rosenbrock and Shekel Foxhole functions with the novel algorithm will assist the research community in benefiting maximally from the contributions of this novel algorithm. Finally, benchmarking the good experimental output of the ABO with those of the popular, highly effective and efficient Cuckoo Search and Flower Pollination Algorithm underscores the ABO as a worthy contribution to the existing body of population-based optimization algorithms.
© 2022. The Author(s).

Entities:  

Mesh:

Year:  2022        PMID: 36243886      PMCID: PMC9569383          DOI: 10.1038/s41598-022-22242-9

Source DB:  PubMed          Journal:  Sci Rep        ISSN: 2045-2322            Impact factor:   4.996


Introduction

The obvious contributions of optimization to ensuring efficiency and effectiveness of industrial and engineering processes have led to the popularity of optimization as an indispensable subfield in artificial intelligence, computer science and engineering fields of study. Optimization has been described as the economics of science and engineering[1]. This definition is apt because optimization is concerned with the minimization of inputs in order to obtain maximum possible yield. It finds relevance in basically all aspects of science and engineering. In industrial production, for instance, manufacturing and process engineers are concerned with the optimization of available resources (raw materials, industrial machines, human resources and time) in order to yield the greatest number of finished products of acceptable quality[2]. Optimization continues even to the distribution of such finished products. The transportation of the finished products to the distributors, customers and end-users should be done in a way that will maximally benefit the organization in terms of time and cost. Even at the level of end-users, optimization is required by the consuming organizations cum individuals in their use of the finished products to meet their organizational/individual needs. From the foregoing discussion, the need for optimization cannot be over-emphasized[3]. This overbearing influence of optimization has led to the development of several optimization algorithms in an attempt to improve the optimization procedures. Some of the popular optimization algorithms in literature include Genetic Algorithm, Particle Swarm Optimization, Sine-Cosine optimization algorithm[4], Simulated Annealing, Hill Climbing, Tabu Search, Hybrid Whale Nelder Mead algorithm[5], Great Deluge Algorithm etc[6]. These algorithms have been applied to solve several optimization problems ranging from vehicle routing, network routing, constrained truss optimization problems[7], job scheduling, collision-avoidance[8], mobile ad-hoc networks, tuning PID parameters of Automatic Voltage Regulators[9], sports and examination timetabling[10], test suite optimization[11], energy enhancement[12], global optimization problems[5], automobile connecting rod components etc[13] with good results. The constant need for further improvements in the existing technologies has led to the development of some recent development algorithms. These newly-developed optimization algorithms are sometimes called twenty first century algorithms. Notable among these twenty first century algorithms are the Firefly, Ebola Optimization Search Algorithm[14], Reptile Search Algorithm[15], Bat Algorithm[16], Dwarf Mongoose Optimization Algorithm[17], Animal Migration Optimization[18], Grey Wolf Optimization[19], League Championship[20], Sine–Cosine, Water Cycle, Grasshopper, Harris Hawks Optimization, Dragon Fly Optimization Algorithm[21], Whale Optimization[22], Gaining-sharing knowledge based algorithm[23] and the African Buffalo Optimization[24] algorithms. Since its introduction, the African Buffalo Optimization has enjoyed warm acceptance among researchers and wide application to different scientific and engineering processes[25-28]. So far, some of the application areas of the African Buffalo Optimization include Strategic management, numerical function evaluation[29], travelling salesman’s problem, PID parameter tuning of automatic voltage regulators[30], collision avoidance in electric fish[31] strategic integration of battery energy storage in distributed networks[28] etc. This warm reception necessitated the need for a detailed explanation of the algorithm’s operational processes so that other researchers may better understand its internal mechanisms and further explore the strengths of the algorithm. This is the motivation for this study. This study is significant because it is rare to find a similar study highlighting the literal working of newly-designed algorithms from a human perspective. Instead what is available, in literature, is a brief description from a machine perspective[32]. It is hoped that this study will simplify software design and development using the African Buffalo Optimization algorithm in solving different engineering, scientific and industrial problems. Moreover, it is hoped that it will stimulate interest, among researchers, in highlighting the literal working of algorithms from a human perspective. The knowledge of the literal workings of the African Buffalo Optimization algorithm will enhance the understanding, implementation and use of the algorithm. The rest of this paper is organized as follows: section two examines the materials and methods that basically describes the algorithms’ developmental processes as it relates specifically to the ABO; section three discusses the ABO algorithm; section four presents ABO solutions to global optimization problems as well technically exploring ABO’s search procedure in a two-dimensional search space; section five discusses the implementation of the ABO and the CS to solve the benchmark Rosenbrock function specifically highlighting the effects of the number of search population cum iterations in the search process and section six examines the ABO and FPA in solving the benchmark Dejong 5 (Shekel) function. Section seven draws conclusion on the study.

Materials and methods

The African buffalo optimization (ABO) was inspired by the migrant behaviour of the African buffalos, especially the organizational prowess of the buffalo herd in their movements from one part of Africa to the other in search of grazing pastures[33]. The development of the ABO began with a careful study of the movement and organization of the African buffalos in existing literature as well as from television documentary programs on National Geographic Wild Channel[34,35]. The design of the ABO is an effort to design a fast, robust, effective, efficient, yet simple-to-implement and user-friendly algorithm imbued with sufficient capacity to exploit and explore the solution space through thorough simulation of the democratic cum communicative capabilities of cape buffalos, (otherwise called African buffalos) in their quest for solutions[36]. ABO simulates the cooperative nature, communicative acumen coupled with the communal decision-making procedures of the African buffalos that places much premium on the harnessing of the collective intelligence of the entire herd. The buffalos use mainly two vocalizations to organize themselves in their search for solutions: the attraction sound /maaa/ for exploitation and repulsion /waaa/ sound for exploration. The herd movement, provision and protection of the entire buffalo community hinges on the effective utilization utilisation of both calls.

Stages in the development of the ABO

As earlier observed, the design of a swarm intelligence algorithm follows a six-step procedure. These six steps were diligently followed in the design of the African Buffalo Optimization[37,38], namely: Careful observation of the behavior of a group of organisms/creatures working harmoniously to realize the group’s objectives that seem rather impossible for an individual member of the group. The African buffalos were keenly studied based on observation from the National Geographic Wild television channel A model was developed that fully describes the behavior of a herd community, in this case of the African buffalos The development of a mathematical model based on the model of behavior developed in (ii) A pseudocode was designed to simulate the behavior of African buffalos A programming code was developed to implement the pseudocode The programming code was subjected to various mathematical cum experimental evaluations with the aim of fine-tuning the algorithm’s parameters to achieve the set objectives[39]. The methodology for design and applications of the ABO algorithm is presented in Fig. 1.
Figure 1

ABO design methodology flowchart.

ABO design methodology flowchart.

The ABO algorithm

The ABO algorithm[40] and flowchart is presented in Fig. 2:
Figure 2

ABO algorithm.

ABO algorithm. Please note that in Fig. 2, represents the /waaa/call. This call mobilizes the herd to move on (explore) with particular reference to buffalo k. The represents the /maaa/ call to exploit. Similarly, the call for more exploration; , a represents need for more exploitation; and , the learning parameters; and a random number which takes any value between 0 and 1 depending on the problem being solved: the higher the value, the more the exploitation and less of exploration and vice-versa.

ABO mathematical description

The ABO starts by randomly initializing the buffalo population within the search space. Next the buffalo’s exploitation capacities are evaluated using Eq. (1). The outcome of this evaluation is crucial in determining the next move of the buffalos in their search for fruitful grazing locations. The result of democratic Eq. (1) is fed into the exploration Eq. (2) [see Eq. (2) below] to determine whether the buffalos will remain in the same location or migrate to another location. If the (the buffalo with the best position in relation to the global optimum) is updating, the algorithm verifies if the stopping criteria has been reached. If yes, it terminates the run and outputs the location of the best buffalo as the output. If the stopping criterion has not been reached, the algorithm returns to step 2 to reassess the buffalos’ exploitation values. The controlling equation that propels the entire buffalo herd to relocate to other locations, probably more rewarding than the present location is: Equation 1 which is the exploration equation has three parts: the memory part () that reminds the buffalos that they have relocated to a new location from the previous location ); the second part which signals the cooperative behaviour of the buffalos and the third part () represents the buffalos capacity for excellent communication among the entire herd. Note that this decision is influenced by the learning parameter . The last part of Eq. (1): ( underscores the exceptional intelligence of these animals. They can tell their previous best productive location in comparison with their present location. This knowledge enables the buffalos to retrace their steps to the best previous rewarding location whenever they stray away into a starving location. Also, note that the buffalo’s exceptional intelligence with regards to the previous best rewarding location vis-à-vis their present location is influenced by the learning parameter As can be observed, the entire Eq. (1) highlights the buffalos’ ability to harness the collective intelligence, excellent memory capacity cum regular communication of the herd in making informed decisions in their search for solutions[41]. Again, it can be observed that the algorithm subtracts the dimensional element from the maximum vector and then multiplies this by the learning parameters (, ) usually between 0 and 1. The right values of the learning parameters (, ) are obtainable through parameter tuning process. Please note also that a higher value of biases the search towards global search while the higher the value of , the local search. The sum of these products is then added to the exploitation memory part of the equation () for the given dimension () to determine the actual fitness of the buffalos. Equation 2 basically, propels the buffalos to a new location following the outcome of Eq. (1). From Eq. (2), it can be seen that the movement of the buffalos is a function of the /waaa/ calls () and the /maaa/ calls of the buffalos being moderated by exploration driver which takes a value between 0 and 1. The higher the value of the , the less exploration and vice-versa. The ABO can be visualized thus: In Fig. 3, the movement of buffalo , therefore, from (the present exploration location), to other locations has to be influenced by other factors such as the , the exploitation location and appropriate adjustment of its position in relation to the herd’s best as well as its personal best ( with the covert bias of the learning parameters.
Figure 3

ABO visualization.

ABO visualization.

ABO for global optimization problems

In modern scientific investigations, scientists encounter problems that are multimodal with diverse objective functions and having different channels, hyperplanes, valleys, peaks etc. Ability to provide solutions to such global optimization problems distinguishes an effective and efficient optimization algorithm from the rest[42]. In our attempt to unravel the search potentials of the ABO, it is necessary to simulate ABO search procedure in a two-dimensional search space but first, let us examine the ABO solution steps.

ABO steps for solving global optimization problems

Initialize the buffalos randomly within the search space State the controlling ABO learning parameters: Using Eq. (1), verify the herd exploitation state noting each buffalo’s and the for the entire herd Using Eq. (2), determine the location of the buffalos Check if the is updating. Yes, go to Step 6, else return to Step 2 Verify stopping criteria. Reached, go to Step 7, else go to Step 3 Output the best result.

ABO on a two-dimensional space

At this juncture, let us attempt the demonstration of ABO on a two-dimensional search space. For this exercise, we initialize buffalo to location 7, 9; buffalo to 11, 15 and buffalo j, 4, 15 (see Fig. 4). Again, we assume the global optimum point is 41.5, 75. In the first iteration, we place as 0.6, as 0.5, is a random number [0, 1]. It is important to observe that the lower the value of , the more the exploration and vice-versa. For the sake of convenience, let assume values between 0.5 and 0.9 (see Fig. 1).
Figure 4

Starting locations.

Starting locations. Iteration 1 (for ): =each buffalo’s starting points, =11,15(bj), picked randomly At this point, the present exploitation values of buffalo k, represented by is (9.4, 12.6). Next, let us apply these new exploitation fitness dimensions to our buffalo location using exploration decision Eq. (2) Also, please note that the present location of buffalo , represented by is (32.8, 43.2). Plot these new values into our graph (see Fig. 5):
Figure 5

1st Iteration.

1st Iteration. Let us now see the performance of the ABO for buffalo at the first iteration. Iteration 1 (for ): = each buffalo’s starting points,  = 11,15(), picked randomly At this point, the present exploitation values of buffalo , represented by new is (8.2, 21.6). Next, let us apply these new exploitation fitness dimensions to our buffalo location using exploration decision Eq. (2) The new location of buffalo is (13.56, 40.67) as shown in Fig. 5. Iteration 1 (for ): = each buffalo’s starting points, =11, 15(), picked randomly At this point, the present exploitation values of buffalo , represented by new is (6.8, 15). Next, let us apply these new exploitation fitness dimensions to our buffalo location using exploration decision Eq. (2) Now, buffalo is in location 22.25, 37.5 (see Fig. 5). Iteration 2 (for ): We shall use the dimensions obtained from the first iteration to update our algorithm using Eq. (1). It should be observed that the algorithm updates value from iteration to iteration. Let us randomly take the as the and the individual buffalo’s newest locations as their . This is in appreciation of their performances at the first iteration and in line with the ABO’s strategy to avoid stagnation. For iteration2, therefore, the is 8.9, 15. = each buffalo’s previous points,  = 32.8,43.2 (), picked randomly Applying the new exploitation fitness dimensions to our buffalo location using exploitation decision Eq. (2) Next, we plot this present location of our buffalo into our graph shows that the buffalo is migrating towards our global maximum. (see Fig. 6):
Figure 6

2nd Iteration.

2nd Iteration. Iteration 2 (for ): = each buffalo’s previous points,  = 32.8,43.2 (), picked randomly Plotting the present values (16.01, 11.79) to Eq. (2): Now has moved to 36.96, 65.58 (Fig. 5). Iteration 2 (for ): = each buffalo’s starting points,  = 32.8,43.2 (), picked randomly Applying the present values of (7.47, 20.67) to Eq. (2): At this point, the ABO verifies the exit criterion and discovers that this has been met since its assignment is to obtain the optimum result which is (41.5, 75).

Implementation of the ABO and the CS

In this section, the popular benchmark Rosenbrock function is implemented using ABO and Cuckoo Search on a PC, 4 GB RAM, Intel Duo Core i7 370 CPU @ 3.40 GHz, 3.40GH running Windows 10 using MATLAB 2012b.The ABO parameters used in the experiments are lp1 = 0.7; lp2 = 0.5. For the CS, the parameters are: step = u./abs (v). ^ (1/beta); step size = 0.01* step; u = rand (size (s)) * sigma; pa = 0.5; v = rand (size(s)). Each specific experimental was executed five times. The aim of the experimental evaluations is to unravel the effect of the number of buffalos/nests and the iterations in obtaining good results with the objective of performing a comparative performance evaluation of both algorithms. The choice of Cuckoo Search is borne out of the fact that Cuckoo Search, in addition to being a recently developed metaheuristic, has so far proven to be very efficient and effective in solving several optimization problems. Some of the successful application areas of the Cuckoo Search includes job scheduling, flow shop scheduling, travelling salesman’s problems, image processing, speech recognition, global optimization problems etc[43]. The evaluation metrics used in the comparative performance analysis in this study are the algorithms efficiency and effectiveness. Effectiveness as used in this study refers to the capacity of the algorithms to algorithms to obtain the optimal results while algorithm efficiency refers to the algorithms capacity to obtain results using the most optimized resources[44,45].

Cuckoo search

Cuckoo Search (CS) algorithm was designed by X. Yang and S. Deb. The algorithm is a mathematical simulation of the irresponsible behaviour of cuckoo birds brooding over their eggs until such eggs are hatched[46]. The CS pseudocode[47] and flowchart[48] is presented in Fig. 7:
Figure 7

CS pseudocode.

CS pseudocode. CS starts its search by initializing, randomly, cuckoo bird nests. Next using Eq. (3), it evaluates the fitness of each nest. Once it obtains the cuckoo nest with the best fitness, it records same and compares it with the next best nest fitness in the subsequent iterations. In each iteration, the CS algorithm verifies the stopping criteria. Once the algorithm reaches the stopping criteria, the algorithm outputs the best fitness as the answer to the optimization problem being solved. The dataset for the Global optimization problems are obtained from the benchmark continuous global optimization test problems[49]. Rosenbrock function is one of functions designed by Kenneth Dejong for his Ph.D. Thesis in 1975. The others functions include Dejong 5 (Shekel foxhole), Sphere, Quartic and Step functions. Over time it has become very popular among researchers for testing optimization algorithms. Note that the benchmark Rosenbrock function is[50]:and the optimum solution is:

Comparative performance evaluation of ABO and cuckoo search

The experimental outcome when 10 buffalos/nests are executed with varying buffalo and nests population deployed to the search space is presented in Table 1. The choice of 10 buffalos/nest was informed by the recommendation of the designer of Cuckoo Search that the algorithms works better when a population of between 15 and 40 nests are used[51]. The experimental outcome is presented in Table 1.
Table 1

Simulation output with 10 buffalos/nests with different iterations.

IterationsABOCS
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminAverageTime (s)Average time (s)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminAverageTime (s)Average Time (s)
100.03590.04260.0220.0212.30800.56340.0400.031
0.05800.0210.00130.031
0.00280.0220.03290.033
0.10250.0210.47380.034
0.01370.0190.00120.018
1000.00180.05270.0300.05423.9731 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-13}$$\end{document}e-135.0611 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-13}$$\end{document}e-130.1720.163
0.00180.0599.8137 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-14}$$\end{document}e-140.162
0.00310.0604.4142 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-12}$$\end{document}e-120.154
0.03080.0591.5596 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-13}$$\end{document}e-130.170
0.22590.0635.5449 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-15}$$\end{document}e-150.157
10000.00110.00770.4680.46504.6147 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-85}$$\end{document}e-854.4527 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-78}$$\end{document}e-781.5651.5874
0.00042080.4551.0024 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-83}$$\end{document}e-831.556
0.000659740.4724.2801 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-78}$$\end{document}e-781.563
0.01240.4644.2170 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-69}$$\end{document}e-691.600
0.02410.4668.1493 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-75}$$\end{document}e-751.653
50002.503 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-07}$$\end{document}e-072.9357 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-062.2932.27302.4697 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-320}$$\end{document}e-3208.1187.9480
1.0443 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-04}$$\end{document}e-042.2913.0304 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-318}$$\end{document}e-3188.086
1.4071 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-062.2774.3782 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-318}$$\end{document}e-3187.867
6.6688 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-062.24707.848
3.0553 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-052.2584.9407 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-324}$$\end{document}e-3247.821
10,0001.8499 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-053.7547 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.6404.4880015.37215.761
3.5446 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.497015.586
2.8062 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.421015.683
6.9589 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.422015.979
3.6141 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.458016.183
Simulation output with 10 buffalos/nests with different iterations. The simulation results in Table 1 indicate that the best average outcome of the ABO (2.9357 at an average of 2.273 s) was obtained at 5000 iterations when searching with 10 buffalos. It is interesting, however, to note that a single best performance 2.503 which is the best individual result was obtained when 10 buffalos are deployed using different iterations (10, 100, 1000, 5000 and 10,000). This is a mark of the algorithm’s randomness: a mark of good algorithms[50]. In this Table, it is remarkable that the average output derived from using 10,000 iterations (3.7547 ) is inferior to deploying just 5000 iterations (2.9357 ). This result is interesting because in an earlier study on the Genetic Algorithm, it was observed that the use of a larger population/iteration leads to better results[52]. In the light of the findings of this study, it may be safe to say that the assertion of the earlier study could be algorithm-specific or problem-specific. In terms of the comparative results, the ABO was discovered to be a better starter. For instance at 10 iterations, the ABO has a better result of 0.0426 compared to CS’s 0.5634. Similarly, the ABO was faster at this point with 0.021 than the CS’s 0.031. However, in terms of obtaining the optimal or near optimal results, the tide changed from the 100 iterations, On the average, the CS, had better good results right from 100 iterations all through the 10,000 iterations but at a very inferior time when compared to the results obtained by the ABO. Right from when both algorithms were executed with just 100 iterations, the results of the CS were superior to those of the ABO. The average result of the CS at 100 iterations was 5.0611 as opposed to ABO’s 0.0527. This trend continues to 10,000 when the CS obtained the optimal solution of 0. Based on the findings of Table 1, it is necessary to investigate the performance of ABO and CS when a population of 50 search agents are deployed. This is the focus of the second set of experiments whose outcome is presented in Table 2.
Table 2

Simulation output with 50 buffalos/nests with different iterations.

IterationsABOCS
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminAverageTime (s)Average time (s)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminAverageTime (s)Average time (s)
100.01010.03570.0630.0510.10481.03340.0710.0784
0.05180.0521.18990.068
0.0910.0510.03140.068
0.0130.0372.92520.068
0.01270.0520.91570.117
1000.01260.00580.2290.2284.1464 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-14}$$\end{document}e-143.8376 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-15}$$\end{document}e-150.1720.163
0.00130.2256.8572 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-14}$$\end{document}e-140.162
0.00440.2292.6223 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-16}$$\end{document}e-160.154
0.00360.2302.7811 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-15}$$\end{document}e-150.170
0.00690.2272.7811 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-16}$$\end{document}e-160.157
10006.1493 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-054.4423 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-04}$$\end{document}e-041.9812.0321.3143 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-54}$$\end{document}e-542.2048 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-55}$$\end{document}e-556.2316.310
6.1548 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-051.9865.4190 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-56}$$\end{document}e-566.257
3.4435 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-04}$$\end{document}e-042.0561.6071 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-56}$$\end{document}e-566.364
2.8068 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-04}$$\end{document}e-042.0521.0727 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-55}$$\end{document}e-556.384
3.6573 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-052.0831.6111 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-54}$$\end{document}e-546.313
50004.1663 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-062.7808 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-064.5268.7616.8572 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-161}$$\end{document}e-1614.9646 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-165}$$\end{document}e-16526.77530.042
1.9063 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-07}$$\end{document}e-079.8302.6223 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-169}$$\end{document}e-16925.366
2.7224 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-059.7372.7811 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-165}$$\end{document}e-16531.439
1.6645 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-0510.0127.3016 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-165}$$\end{document}e-16532.744
3.4444 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-069.7025.2609 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-167}$$\end{document}e-16733.884
10,0007.8032 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-064.1005 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-0620.11720.2372.0759 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-269}$$\end{document}e-2695.3958 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-272}$$\end{document}e-27267.50068.441
5.9999 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-07}$$\end{document}e-0720.7346.5280 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-272}$$\end{document}e-27268.044
2.0300 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-07}$$\end{document}e-0719.8538.5684 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-271}$$\end{document}e-27168.585
1.0420 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-06}$$\end{document}e-0620.1388.2255 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-269}$$\end{document}e-26970.631
3.6275 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-05}$$\end{document}e-0520.3411.5813 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${e}^{-279}$$\end{document}e-27967.447
Simulation output with 50 buffalos/nests with different iterations. The simulation outcome of Table 2 follows the trend of Table 1. CS, generally, had better results than ABO but ABO has again proven to be a faster algorithm. A major contribution of this study is the discovery that the CS obtained better output at 5000 iterations when 10 nests were deployed (2.4697 ) than when 50 nests (4.9646 ). At 10,000 iterations using 10 nests, the CS converged at the optimum result (average: 0) but was unable to do same when 50 nests were used at the same 10,000 iterations (average: 5.3958 ). Also one wonders why the need of as much as 10,000 iterations using 50 nests when the result of 10 nests with 5000 iterations could do a better job. A closer look at the CS performance at just 1000 iterations shows that the algorithm performed better using just 10 nests at an average of 4.4527 than when searching with 50 nests (average: 2.2048 ). The finding here is, again, a deviation from the view that the more the iterations cum population, the better the result. When searching with 50 buffalos, the ABO had a better result at 5000 iterations with an average outcome of 2.7808 than at 10,000 iterations with an average of 4.1005 . Aside these few exceptions, the other results follow the general trend that the more the population cum iterations, the more likely, the chance of a better result[53]. In terms of the speed of execution, the experimental outcome in Table 2 is consistent with earlier findings that the deployment of more populations and more iterations may likely lead to more processing time but with better results[54]. The slow speed whenever more iterations and more populations are deployed is because the algorithm’s convergence gets slower as a result of more evaluations arising from such a situation.

Comparative performance of ABO and flower pollination algorithm

Flower Pollination Algorithm (FPA) which was designed by X.S. Yang has been very exceptional in obtaining good results when applied to solve optimization problems. The algorithm inspired by the normal pollination of natural flowers through self-pollination (biotic pollination) by water or wind or cross pollination (abiotic pollination) by other animals uses levy flight to arrive at solutions. In FPA self-pollination represents global search and cross pollination, local search. In either the local or global search, there exists a strict regulation by a switch search mechanism with a probability p ∈ [0, 1]. Global pollination is modelled by the following process: xit is the pollen i or solution vector xi at iteration t. gbest is the globally best solution. The parameter L is a step size, and is drawn from a Lévy distribution. Table 3 below presents the comparative performance evaluation of the ABO and FPA.
Table 3

Simulation output of ABO and FPA using a population of 10 buffalos/flowers.

IterationPopulationABOFPA
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminTime (s)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f}_{min}$$\end{document}fminTime (s)
101013.91220.24340.31900.025
22.33280.09260.11380.025
3.33250.07519.23250.026
11.88020.07511.29070.027
12.67470.07418.94580.029
Average12.8270.11229.9800.026
2012.67050.12812.67050.068
12.67050.12812.67080.039
12.67050.12912.67050.039
12.67050.12712.67050.036
12.67050.12912.67050.037
Average12.67050.12812.67060.044
10012.67050.5742.55260.173
7.87400.5681.07540.124
5.73730.5724.31960.136
6.67660.5811.00140.125
1.10960.5691.00340.125
Average6.8140.5731.9910.137
10002.02595.5283.46971.146
3.86995.5390.99611.126
0.99805.5210.99821.143
10.82685.4883.25071.134
9.68295.5241.07241.134
Average5.4815.5201.9571.137
50004.950527.4660.99865.550
2.029127.6390.99835.565
0.998027.3470.99815.538
2.982127.3951.00365.575
0.999227.3951.00425.517
Average2.39227.4481.0015.549
10,0000.998054.6550.999211.097
0.998054.8610.998311.035
0.998355.2990.998011.316
0.998055.1290.998011.335
0.998154.9140.998411.096
Average0.998154.9720.998411.176

Significant values are in bold.

Simulation output of ABO and FPA using a population of 10 buffalos/flowers. Significant values are in bold. FPA pseudo code of FPA is presented:[10]. In solving the complex Shekel Foxhole function that has 25 local minima and a global minimum, many algorithms struggle, but not FPA and ABO. Clearly, these two algorithms have been very competitive. Both algorithms used a population of 10 buffalos/flowers in their search which usually produces good results[2,3,29,47]. This population produced very good results as can be seen in Table 3. Please note that global minimum of the Shekel Foxhole function is[55]: From Table 3, it can be seen that the ABO arrived at the global optimum at iteration 1000. In the same vein, FPA best result at iteration1000 was 0.9982 which is also a good result. ABO’s average after five runs at iteration 5000 was 0.9981 to FPA’s 0.9984. It is obvious that the ABO has a slight advantage over the FPA in algorithm effectiveness. In terms of efficiency, FPA clearly performed better right from the beginning to the end. For instance while it took the ABO an average of 54.972 s to make five runs at 5000, the FPA only took 11.176. For emphasis, note that algorithm effectiveness is the capacity of algorithms to arrive at the global optimum but efficiency refers to the algorithm’s capacity to minimize the use of computer resources. Since the amount of time spent to arrive at a solution correlates with use of computer resources, the amount of time taken to arrive at a solution dictates the length of time that the computer resources are engaged: the shorter the time, the better[44]. In all, from the foregoing analysis, since algorithm’s performance is judged primarily by its efficiency and effectiveness, in view of the competitive results posted by the ABO so far, the algorithm can be deemed a worthy inclusion to the body of swarm optimization algorithms in literature.

Conclusion

This paper explains the algorithmic flow and data generation procedure of the African Buffalo Optimization algorithm. First, using very simple language as much as possible cum basic mathematical description with detailed examples, this paper explains the workings of the ABO in a manual setting. In the second part (see “Implementation of the ABO and the CS” and “Comparative performance of ABO and flower pollination algorithm”), a MATLAB implementation of the ABO CS and the FPA were done to solve the benchmark Rosenbrock and Shekel Foxhole functions with particular emphasis on the effect of the search population and the number of iterations in obtaining good results. After a number of experimental evaluations, the study agrees, that to a large extent, the more the number of iterations cum population, the more likely the chance of a better outcome. However, it must be observed that the more the population cum number of iterations, the more execution time taken to arrive at a solution. This is because the more the population cum iterations, the more the evaluations, therefore, leading to slower convergence[54]. It is our sincere belief that with this detailed explanation cum data description of the ABO, the research community will explore the search capacity of this novel algorithm in solving different types of optimization problems in science and engineering applications bearing in mind that so far swarm optimization algorithms have been applied to so many real life problems. Some of the potential real life application areas of the African Buffalo Optimization algorithm include such as parameter estimations[56], nonlinear system identification[57] learning of the weights of neural networks[58] and many others..

Threats to validity

While we celebrate the good and competitive results of the algorithms used in this study, it is worthy of note, however, that good results could be a function of the machine used in the study, the programming language used for coding and implementation as well as technical expertise of the programmer. Another factor that could be a threat to the validity of results could be the choice of benchmark test cases. Those algorithms perform very well in the chosen benchmark cases may not be a guarantee that they will do the same in other benchmarks. Moreover, the choice of the algorithms used in this particular study could be a threat: while acknowledging that the algorithms used in this study performed well against one another, they may not do the same when compared with other algorithms. Nevertheless, that these threats to the validity of the claims made in this study are highlighted, does not, in any way, contradict the findings/results obtained. For further study, it is recommended that performance of these algorithms be applied to a different dataset such as the CEC recent functions as well as similar datasets.
  7 in total

Review 1.  Comparative phylogeography of African savannah ungulates.

Authors:  E D Lorenzen; R Heller; H R Siegismund
Journal:  Mol Ecol       Date:  2012-06-15       Impact factor: 6.185

2.  A questionnaire-based evaluation of the veterinary cordon fence separating wildlife and livestock along the boundary of the Kruger National Park, South Africa.

Authors:  F Jori; D Brahmbhatt; G T Fosgate; P N Thompson; C Budke; M P Ward; K Ferguson; B Gummow
Journal:  Prev Vet Med       Date:  2011-05-04       Impact factor: 2.670

3.  Parameters-tuning of PID controller for automatic voltage regulators using the African buffalo optimization.

Authors:  Julius Beneoluchi Odili; Mohd Nizam Mohmad Kahar; A Noraziah
Journal:  PLoS One       Date:  2017-04-25       Impact factor: 3.240

4.  Adaptive Neuro-Fuzzy Inference System Based Orientation Control of an Intra-operative Ultrasound Robot.

Authors:  Shuangyi Wang; James Housden; Davinder Singh; Kawal Rhode
Journal:  IOP Conf Ser Mater Sci Eng       Date:  2019-01-24

Review 5.  A Comparative Performance Analysis of Computational Intelligence Techniques to Solve the Asymmetric Travelling Salesman Problem.

Authors:  Julius Beneoluchi Odili; A Noraziah; M Zarina
Journal:  Comput Intell Neurosci       Date:  2021-04-17

6.  Solving the Traveling Salesman's Problem Using the African Buffalo Optimization.

Authors:  Julius Beneoluchi Odili; Mohd Nizam Mohmad Kahar
Journal:  Comput Intell Neurosci       Date:  2016-01-10

7.  Gudermannian neural networks using the optimization procedures of genetic algorithm and active set approach for the three-species food chain nonlinear model.

Authors:  Zulqurnain Sabir; Mohamed R Ali; R Sadat
Journal:  J Ambient Intell Humaniz Comput       Date:  2022-01-18
  7 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.