AFRICAN BUFFALO OPTIMIZATION

This is an introductory paper to the newly-designed African Buffalo Optimization (ABO) algorithm for solving combinatorial and other optimization problems. The algorithm is inspired by the behavior of African buffalos, a species of wild cows known for their extensive migrant lifestyle. This paper presents an overview of major metaheuristic algorithms with the aim of providing a basis for the development of the African Buffalo Optimization algorithm which is a nature-inspired, population-based metaheuristic algorithm. Experimental results obtained from applying the novel ABO to solve a number of benchmark global optimization test functions as well as some symmetric and asymmetric Traveling Salesman’s Problems when compared to the results obtained from using other popular optimization methods show that the African Buffalo Optimization is a worthy addition to the growing number of swarm intelligence optimization techniques.


INTRODUCTION
A very common consideration in scientific, business and engineering designs is the issue of cost and serviceability, thus, highlighting the need for optimization. Just as business organizations are concerned with maximizing profit, so engineering-design organizations are concerned with continually maximizing the efficiency of the designed products and scientists are continually researching to obtain better results with less input of time and materials. Efficient algorithms are, therefore, required to help solve these problems. This gave rise to the development of some traditional algorithms like the Newton-Raphson (Ben-Israel, 1966), Linear Programming (LP) (Luenberger, 1973), Dynamic Programming (Bertsekas, Bertsekas, Bertsekas, & Bertsekas, 1995), finite elements (Ghanem & Spanos, 2003), finite volume methods (Said & Wegman, 2009) etc. Similarly, lots of relatively-modern algorithms that draw their inspiration from the harmonious, self-organized elements in nature have also been developed. These moden algorithms are classified as Natural Computing.
Natural Computing is simply the process of using the computer to extract ideas from nature to develop computational systems or using natural materials such as molecules to perform computation. From this definition, it is explicit that natural computing can either be drawing inspiration from nature, otherwise called Nature-Inspired Computing (NIC) or computing with natural materials (CWN). Computing with natural materials is one of the most recent computing paradigms where researchers are working to replace the use of silicons in the development of new software or hardware computational tools to those that use natural media (Zang, Zhang, & Hapeshi, 2010). Nature-inspired optimization algorithms are getting increasingly popular in the past few decades in scientific and engineering research all over the world. Researchers thrilled by this development have adduced several reasons for this: some of these reasons are that they are devloped to mimic the most successful dynamics in biological, chemical and physical processes in nature. This situation throws up the issue of choice of algorithm (since we now have several of them) whenever a researcher has an optimization problem to solve. Generally, there is consensus among researchers, that the choice of the 'best' algorithm to solve a particular problem is based largely on the type of problem one is confronted with. This line of thought is reinforced by the No freelunch theorems for optimization (Wolpert & Macready, 1997). In fact, for large-scale, nonlinear optimization problems, there is no consensus on the recommended guidelines for making a choice of algorithm (Yang, 2011).
The rest of this paper is oragnised thus: section 2 deals with the review of related literature; section 3 focusses on the swarm intelligence techniques highlighting their individual strengths and weaknesses; section 4 is concerned with the African Buffalo Optimization detailing the nature of the buffalos, their communication and the basic flow of the algorithm; section 5 examines how the African Buffalo Optimization searches divergent search spaces; section 6 validates the algorithm performance in solving Symmetric Travelling Salesman's Problems; section 7 examines the ABO performance in Asymmetric Travelling Salesman's Problems and section 8 draws conclusion on the study.

REVIEW OF LITERATURE
Traditional Optimization algorithms such as the Simplex Method and Newton-Raphson are usually deterministic in nature and use the gradient-based approach. They are very effective in smooth monomodal problems since they use function values and their derivatives in arriving at solutions. However, in situations where there is a break in the objective function, these methods encounter great difficulties. In such situations, nongradient (derivatives-free) methods which only use function values such as Hooke-Jeeves pattern search and Nelder-Mead downhill simplex are preferred (Haftka & Gürdal, 2012).
The traditional optimization algorithms are very good in solving problems with large number of decision variables. Similarly, these methods require very little problemspecific tuning of parameters. Moreover, in addition to their being rather difficult optimization techniques, they are very inefficient in multimodal search environments. Again, they encounter serious difficulties in solving discrete optimization problems and are very weak in handling situations with numerical noise (Arora, 2004;Vanderplaats, 2007).

Stochastic algorithms
There are broadly two types of stochastic algorithms, namely, Naure-inspired Computing (NIC) and Computing with Nature (CWN). Both types make elaborate use of heuristics and metaheuristics. Heuristic algorithms simply exploit some information about a particular problem in order to solve it. The use of heuristics enables algorithms to obtain quality solutions to difficult optimization problems at a reasonable time.
However, they are near-exact algorithms. That is to say those heuristic algorithms do not guarrantee the exact optimal solutions. Metaheuristics, on the other hand simply means 'beyond heuristics' and are generally expected to perform better than heuristics. In general, metaheuristic algorithms employ some local search in addition to global exploration through the use of randomizations. Randomizations help these algorithms to steer away from being restricted in a local environment to a more global search. For the purpose of this study, we will use heuristic and metaheuristic algorithms interchangeably since both are usually non-exact methods but rather employ trial-byeliminating-errors approach. The overall aim of any metaheuristic algorithm is to achieve the best possible result by using internal mechanisms to achieve adequate exploration and exploitation of the search space (Blum & Roli, 2003).
Metaheuristics, like we shall see in the next section, is generally classified as either population-based or trajectory-based. Population-based metaheuristics can be traceable to Holland whose works used a combination of theoritical genetics and automata methodology. Since 1962 when Holland published his work, several researchers have been attracted to this method of applying variation and diversification techniques to a population to achieve results within a search space. Some of these methods include Schaffer's Vector-Evaluated Genetic Algorithm (VEGA) (Schaffer, 1985); Farmer, Packard and Perelson's Artificial Immune Systems (Farmer, Packard, & Perelson, 1986); Holland's and Rechenberg's Evolutionary Strategies (Eigen, 1973); Dorigo and Di Caro's Ant Colony Optimization ACO (Di Caro & Dorigo, 1998), Grey Wolf Optimizer (Mirjalili, Mirjalili, & Lewis, 2014), to mention a few.
Most population-based techniques exploit some previous knowledge of the solution space and use this in the initialization phase to move the search agents towards the feasibe region. In situations where this information is absent, the decison vectors are distributed uniformly within the search space. Based on the foregoing discussion, most population-based metaheuristics have a format similar to Figure1.

Characteristics of metaheuristic algorithms
Two important features mark out a good metaheuristic algorithms and these are their abilities to employ global search mechanism (otherwise called exploration or diversification) and local search (exploitation or intensification) mechanism in course of a search. While diversification ensures that the algorithm covers as much as it can of the search space within a reasonable search time, the intensification ensures that the algorithm concentrates a closer search possibly around the areas with promising outcomes in addition to selecting the search candidates (decision vectors) that has the best results/solutions. An 'excellent' metaheuristic algorithm, therefore, is one that is able to achieve the best trade off between exploration and exploitation. When an algorithm embarks on too concentrated exploitation, it may likely be trapped in a local minima and so makes it impossible to trace the global optima. Conversely, embarking on too much exploration with very little exploitation will result in the system finding it hard to converge. Similarly, too detailed exploration and exploitation will lead to so much delay at a great cost of users' time and computer resources. In the same vein, too little exploration and exploitation will result in the degradation of the algorithm's efficiency and effectiveness.
Another key feature of a good algorithm is the ability to identify the best solution in a particular iteration and possibly the best design vector associated with such best solution. This is genarally called 'The survival of the fittest' criterion. One way of achieving this is to keep updating the current best found so far (Yang, 2011).

Randomization in metaheuristics
Given that that the three main concerns of metaheuristic algorithms are exploration, explotation and identifying the best performer, the mechanism employed by each algorithm to achieve these marks out an algorithm from the others. In general, algorithms achieve these noble goals through randomization in combination with a deterministic procedure. A common mechanism to achieve randomization is to determine the upper and lower boundaries in a uniformly distributed variable between 0 and 1. Algorithms such as Particle Swarm Optimization and Firefly Algorithm employ this method. Other algorithms use the Levy flight. Still some algorithms employ the use of crossover and mutation to achieve the exploration effects. Mutation ensures that new solutions are different from the initial populations (parents) while crossover places a limit on over-exploration (Rani, Jain, Srivastava, & Perumal, 2012). These kinds of algorithms, like the Genetic Algorithm (GA), achieve intensification by generating new solutions around a priomising or a superior solution. This could be achieved by employing a random walk as the move in Simulatted Annealing (SA) (Kirkpatrick, Gelatt, & Vecchi, 1983) and pitch adjustment in Harmony Search (HS) algorithm (Mahdavi, Fesanghary, & Damangir, 2007): Aside handling the issue of intensification and diversification, another important characteristic of a good optimization algorithm is identifying and preseving the decision vectors (individuals) with good solutions while at the same time discarding bad performers. This elitism is helpful, especially in mutimodal and multi-objective problems. Elitism in GA and Pg in Particle Swarm Optimization are good examples. Discarding of worse solutions is achieved by some form of randomization and probabilistic selection criteria such as mutation in Genetic Algorithms and casting away of an unproductive nest in. Cuckoo Search algorithm (Gandomi, Yang, & Alavi, 2013).

Classification and taxonomy of metaheuristic algorithms
Metaheuristic algorithms have been classified in several ways in literature. One of such ways is to classify them as either population-based or trajectory-based. Populationbased optimization techniques solves problems using a number of decision vectors at a time. An example of this is the GA which uses a set of strings. So also is Particle Swarm that uses a number of agents or particles (Kennedy, 2010). On the other hand, 1: Initialise population 2: Evaluate the objective function 3: repeat 4: Evaluate the population quality 5: Apply the variation operator 6: Evaluate the objective function 7: until termination condition Simulated Annealing and Hill Climbing are trajectory-based and use a single agent that moves through the search space in a piecewise fashion (Kennedy, 2010;Mirjalili et al., 2014).
Another way to classify metaheuristic optimization algorithms is to identify them as either Evolutionary or deterministic. (Venter, 2010). A popular general-purpose deterministic algorithm is the DIRECT algorithm which makes use of Lipschitzian technique to identify promising subregions in the search space. (Olafsson, 2006). For the purpose of this paper, however, our interest is the Population-based optimization techniques. At this juncture, let us attempt to a taxonomy of the Nature-inspired algorithms. This attempt is by no means exhaustive but will give a clearer picture of these optimization techniques ( Figure 2).

Swarm-based techniques
Swarm Intelligence is based on collective social interactions of organisms and involves the implementation of collective intelligence of groups of simple agents such as ants, animals, plants and other elements in our ecosystem based on their behavior in real-life situations. Since the African Buffalo Optimization belongs to the Swarm Intelligence group of algorithms, it is pertinent to do a critical review of some major algorithms in this sub-category of nature-inspired algorithms.

Particle swarm optimization
Particle swarm optimization (PSO), inspired by the flocking of birds and schooling of fishes in search for food, was proposed by Kennedy and Eberhart as a populationbased, stochastic, global optimization technique with the aim of being simple, easy to implement yet efficient search technique. Till date, it has proven to be a very successful algorithm enjoying wide applicability in several problem domains. The PSO harnesses the velocity and positions of these simple ants in its search for solutions. Each agent called particles in PSO represents a solution to the problem being solved using five major parameters, namely, the current position, the particles' best position, the best position found by its neighbor, the individual particle's knowledge of the its best position achieved so far as well as the its current velocity. Using a simple rule, a particle updates its velocity and position with each iteration as the algorithm progresses until it reaches termination condition. Moreover, an information repository is maintained that documents the best achieved objective function values for each particle involved in the search process PSO models the behavior of, for example, a swarm of birds searching for a food source. The entire particles converge on the best solution through the use of the information gathered by each particle, the neighboring particle as well as that obtained from the entire flock. The algorithm starts by initializing the particles in the search space, followed by updating the position and velocity of each particle in each iteration. The updating rule is (1) where i represents the ith particle in the swarm; u represents the uth iteration and Vi u is the velocity of ith particle in uth iteration; ∆t is a unit of time. At the beginning, each particle is given random position and velocity that gets updated with each construction step. In Eq. (10), Vi u represents the particle's velocity; C1, and C2 represent the cognitive and social factors; r1 and r2 represents the random numbers; P i k is the individual particle's best position; P g k is the best particle in the herd; and X i k is the position of particle i. Basically, the action steps in PSO algorithm are as in Figure 3.

Figure 3. PSO pseudocode
Comment: A critical examination of the PSO algorithm reveals that classical PSO algorithm is easy to implement and there are relatively fewer parameters to adjust than in some algorithms like the ACO. It is important to make this assessment based on the classical PSO because there have been several modifications of the initial PSO of late with the introduction of more parameters in a bid to achieve better results (Clerc & Kennedy, 2002).
Moreover, PSO has a more efficient memory capability than algorithms like the GA. Also, PSO achieves better diversity in exploring the search space since all the particles use the information obtained by the best particles in each iteration to improve their locations and speed. This search scheme is diametrically opposed to GA, for instance, where the worse solutions are discarded and the population only revolves around the fittest individuals.
PSO shares some similarities with algorithms like the GP, ES and GA through the intialization of solutions and the update of generations. Though the PSO does not use evolution operators like mutation, crossover, inversion and selection, particles aim at the optimum by following the global best particle. On the whole, PSO has been proven to be effective in searching continuous functions and in multimodal seach environments (Bonabeau, Dorigo, & Theraulaz, 1999). However, PSO uses several parameters and this affects the speed and efficiency of the algorithm.

Ant colony optimization (ACO)
This is one of the most popular metaheuristic algorithms in literature. The Ant Colony Optimization algorithm was developed by Marco Dorigo and Di Caro in 1999 after some initial work on the Ant System by Marco Dorigo and Ant Colony System by Dorigo and Gambardella. The Ant Colony Optimization was inspired by the random walk of ants in search of food. Once a food source is located, the ant that discovered the food carries a particle of the food and as it returns to the nest, usually follows a shorter route and continually deposits some amount of pheromones as a way of informing other ants of its breakthrough. The neighboring ants, perceiving the scent of the pheromone will likely join the successful ant to track the food source. Once these ants get to the food source, they, in turn, carry some fragments of the food and on their way back to the nest, drop pheromones as they further optimize the route of the initial ant. This 1. Initialize the swarm by assigning random position and velocity to each particle. 2. Evaluate the fitness function for each particle. 3. For each particle, compare the particle's fitness value with its personal best so far. If the present fitness value (obtained from step 2 above) is better than the personal best value obtained from previous iterations, then set this present best fitness value as particle's best and the current particle's position, xi, as the best position so far. Also identy Pi's best performing neighbor 4. Identify the particle in the entire swarm that has the best fitness value so far as set it as the group best fitness. 5. Update the velocities and positions of all the particles using (2) and (3). 6. Repeat steps 2-5 until you reach the stopping criteria.
process increases the pheromone concentration on the favourite 'shortest' route and in that process attract other ants. Within a short while, the colony of ants are on the optimized route moving to and from the food source. On the other hand, when an ant arrives at the food and could not find food, may be, because that food is exhausted or the particular ant missed the direction of the food source, on its way back it drops no pheromone and so with time that route loses its attraction due to pheromone evaporation. This situation leads the ants to explore other areas.
The ACO algorithm is designed by a process of simulating the ant foraging behavior, brood sorting, nest building and self-assembling. The ACO has three main functions, namely, ConstructAntSolutions, Pheromone Update and DeamonActions. Here the artificial ants move through adjacent states of a problem according to a transition rule and, in this way, gradually build a solution iteratively.
(ii)Pheromone Update: This function updates pheromone trails either through pheromone reinforcement or evaporation. The is done in two ways depending on the variant of the ACO one is working with. The pheromone update function could be done at the end of each iteration or when the ants individually completes a solution.
(iii)DeamonActions: This function is rather optional depending on the problem being solved. It involves increasing the pheromone levels to select promising edges (Kumbharana & Pandey, 2013). See Figure 4.
Step 1: Initialise pheromone values τ for all the edges in the graph. For a start, all the edges should have equal amount of pheromone unless there exist some heuristic information favouring some edges that may lead to speedier convergence.
Step 3: Update the pheromone values for each edge depending on the quality of solution.
Step 4 Go to Step 2 until stopping criterium is reached. Comment: The ACO has proven to be a robust algorithm that can be easily hydridized with other algorithms to enhance efficiency. Moreover, it is efficient in search situations where the graph is prone to dynamic changes. Also ACO performs well in distributed computing environments. However, it has the weakness of easily falling into premature convergence because its pheromone update is according to the present best path. Again, it uses several parameters that require proper tuning. Such parameters as pheromone quantity, pheromone update rule, evarporation rate, pheromone reinforcement rate etc [28,27].

Artificial Bee Colony (ABC)
This is inspired by the behavior of natural honey bee swarm and was proposed by Karaboga andBasturk in 2009 (Karaboga &Akay, 2009). This algorithm categorizes bees into three: scout bees, onlooker bees and employed bees. A scout bee is one that flies around the search place seeking solutions (food source); an onlooker bee is one that is in the nest waiting for the report of the scout bee and an employed bee is one that after watching the waggle dance of the scout bee opts to join in harvesting the food source. A scout bee transform to an employed bee once it (the same scout bee) is involved in harvesting the food source. In this algorithm, the food source represents a solution to the optimization problem. The volume of nectar in a food source represents the quality (fitness) of the solution.
When the employed bee brings some nectar to the hive, it has three options: return to get more nectar, accompany other dancing bee to a new site or simply stay back at the hive. The bee's decision is informed by a number of factors ranging from the distance of the food source to the hive, the quality and quantity of the available nectar at the food source and the number of employed bees harvesting the nectar at that food source. The global search mechanism of the ABC depends of the random search capacity of the scout bees while the exploitation capacity of the algorithm is based on the activities of the employed and onlooker bees. This bee behavior can be replicated in some real life problems, such as in transportation and business applications (Pham et al., 2011). For the pseudo-code of ABC, please refer to Figure 5.
(2) Evaluate fitness of the individual bees in the population.  Comment: Previous studies on the ABC has shown that it is very effective in feedforward artificial neural networks training in addition to the algorithm being very efficient in multidimensional search environments due to its capacity to get out of a local minimum with ease. However, studies on the Artificial Bee Colony are still not widespread [31][32][33] and there are several parameters to appropriately tune in order to get good results.

Bee Colony Optimization
In this algorithm, a population of artificial bees conducts a search for the optimal solution(s). Each bee generates one solution to the problem. The Bee Colony Optimization algorithm makes use of two alternating phases, namely, forward pass phase and backward pass phase. In the forward pass phase, the bees explore the search space through a number of moves that construct or improve a solution and thereby creating a new solution. After arriving at this partial solution, the bees return to the nest to initiate the backward pass phase where they communicate information about their newly-found solutions. They communicate the distance as well as the quality of the food source (solution) to the nest through a waggle dance. Based on the information collected at this phase, the bees (including the dancer) decide, with a certain probability, to abandon the newly-found solution and remain in the nest or to follow the dancing bee to the food source. This leads to the second forward pass where the bees improve on the previously found solutions and after which they return to another backward pass phase. These phases are performed repeatedly until a stopping criterion is reached. The stopping criterion could be the maximum number of forward/backward pass phases, the maximum number of forward/backward phases without tangible improvement of the objective function or the arrival at the optimal solution. Basically, the pseudo-code of the Bee Colony Optimization algorithm is as in Figure 6.
1. Initialization: set every bee to an empty solution; (some previous knowledge of the problem is helpful here) 2. For each bee, perform the forward pass: a) Set ; k is a counter for constructive moves in the forward pass; b) Evaluate all possible constructive moves; c) According to the results from the evaluation, select one move using the roulette wheel; d) If , return to step 2b. 3. Let the bees start the backward pass phase; 4. Based on the objective function value of each bee, sort the bees; 5. Let each bee decide, randomly, whether to continue its own exploration and become a recruiter, or to become a follower of bees with higher objective function value; 6. For every follower bee, choose a new solution from recruiter bees using a the roulette wheel; 7. If the stopping criterion is not reached, return to step 2; 8. Output the best result. Figure 6. BCO pseudo-code Comment: The mechanism that informs the decision of a bee to follow a particular dancer is not well established but it is rather vaguely considered that the decision to follow a particular bee is a function of the food source [34]. However, the abandonment phenomenon is of great benefit to the algorithm. That is to say that when the employed bees could not find the optimized solutions after some repetitions, they transform to the scout bees again and move in random paths to start searching for optimized solutions. This way, the solutions which are not optimized are abandoned and further search are made for the global optimized points. This procedure helps the algorithm not to fall into a local optima or minima in a multi-dimensional search environment. As a result, it could be safe to say that the artificial bees use a combination of of local and global searching methods to arrive at solutions.
It should, however, be observed that that the BCO has complicated fitness function. As such, obtaining good results is a fuction of proper setting of parameters such as minimum overshoot, rise time, steady state error and settling time in the state response. Moreover, it has been observed that Bee algorithm is not as adaptive as ACO. Finally, BCO algorithm shows poor performance and remains inefficient in exploring search space because its search equation is significantly influenced by a random quantity which helps in exploration at the cost of exploitation of the search space [35].

AFRICAN BUFFALO OPTIMIZATION (ABO) ALGORITHM
At this juncture, one may be tempted to ask: 'Since we have several algorithms already, why then do we need to add more?' A critical review of the algorithms discussed so far, in this study, reveals that the algorithms exhibit exceptional strength in solving different problems. However, they are plagued by several inadequacies ranging from premature convergence, the use of several parameters and inefficient exploration of the search space, complicated fitness function to delay in obtaining optimal or near-optimal solutions [32]. The African Buffalo Optimization is, therefore, an attempt to complement the existing algorithms with the aim of solving some of the perceived weaknesses of the earlier algorithms, especially the problems of delay and inefficiency.

African buffalos
The Africa Buffalo is Africa's only wild cow and is of the same species with the domestic cattle. They are referred to as Buffalo, African Buffalo, Cape buffalo, Forest buffalo, and Savannah buffalo. They are usually very strong, imposing, and fiercelooking. Most times, their colour is usually blackish-grey or dark-brown. Moreover, both males and female have upturned horns, meeting at a central protective shield on their forehead, called boss. These African Buffalos live in herds of up to 1,000 individuals. These large animals are unique in their ability to defend themselves and to help one another in times of danger, especially when under attack by a pride of lions. They are about the only known animal that dare to confront a lion in defence of one of their own in danger. This do by responding to the distress/alert call from a buffalo in danger or other other buffalos oberving the incidence. In response to the distress waaa calls, the herd will group together to defend another of their kind that is under attack from a predator.
Their famed cooperative abilities is further highlighted by their voting behaviour in decision making. It is believed that the buffalos consult widely among themselves in taking decisions about the choice of of grazing fields. In a study, it was discovered that their movements are controlled by the majority decisions. This they do by standing up and gazing at a particular direction in turns. When the average direction of gaze is compared with the subsequent movement of the herd, the average deviation is only three degrees, which is well within measurement error. On days in which cows differ sharply in their direction of gaze, the herd tends to split and graze in separate patches for the night (Stueckle & Zinner, 2008).
In addition to this evidence for communal decision making, there is no evidence for individual leadership. For example, no individual cow or bull stays in the vanguard of the herd for more than a few minutes. Prins (Prins, 1996) regards communal decision making in buffalo herds as similar to the famous bee dance, in which individuals also communicate the direction of beneficial resources to each other (Wilson, 1997).

Communication among African buffalos
African buffalos use two main sounds to organise themselves in their constant migrant lifestyle in search of grazing lands. They emit low-pitched, two-to four-second calls intermittently at three-to six-second intervals to signal the herd to move. To signal to the herd to change direction, buffaloss will emit "cracky" waaa sounds. When moving to drinking places, some individuals make long 'maaa' calls to summon the herd. When being aggressive, they make explosive grunts that may last for a couple of seconds or turn into rumbling growl. Cows produce croaking calls when looking for their calves. Calves will make a similar call of a higher pitch when in distress. When threatened by predators, they make a long drawn-out 'waaa' calls. Dominant individuals, especially males, make long intimidating 'maaa' calls to announce their presence and location. A more intense version of the same call is emitted as a warning to ward off an encroaching inferior.

African buffalo optimization
African Buffalo Optimization (A.B.O) is a simulation of the alert ('maaa') and alarm ('waaa') calls of African buffalos in their foraging assignments. The waaa calls is used to warn the buffalos of the presence of predators, ward off an approaching inferior, assert dominance or express the lack of pastures in a particular area and therefore urge the herd to move on to safer or more rewarding areas (exploration). Whenever this call is made, the animals are asked to be alert and to seek a safer or better grazing field. The maaa calls is used to encourage the buffalos to be relaxed as there are good grazing fields around, reassure an inferior and to express satisfaction about the amount of pastures cum favourable grazing atmosphere at a particular location (exploitation). With these sounds, the buffalos are able to optimize their search for food source. The ABO is a population-based algorithm in which individual buffalos work together to solve a given problem. Using the waaa (move on) signal or the maaa (hang around) signal, the animals are able to obtain amazing solutions in their exploration and exploitation of the search space.
This study is an attempt to develop a robust, fast, efficient, effective, yet simpleto-implement algorithm that has enormous capacity to explore and exploit the search space by simulating the communicative and coopertaive characteristics of the African buffalos in their search for solutions. It solves the problem of premature convergence by regularly monitoring and updating the location of the best buffalo in the herd. In a situation where the best buffalo is not updating in a given number of iteration, the entire herd is re-initialized. This helps to ensure adequate exploration. The problem of slow speed is handled with the African Buffalo Optimization's use of very few parameters, primarily the learning parameters (lp1 and lp2). The issue of adequate exploration and exploitation of the solution space is further enhanced with the democratic equation (Eq.3) where the animals regularly communicate with one another.

The ABO algorithm
In Figure 7, the w.k represents the waaa (move on / explore) signals of the buffalos with particular reference to buffalo k; m.k is the maaa (stay to exploit); w.k +1 is the request for further exploration; m.k+1 represents a call for further exploitation; lp1 and lpr2 are the learning parameters.
Step1. Objective function τ Step2. Initialization: randomly place buffalos to nodes at the solution space; Step3. Update the buffalos fitness values using Equation (11) (11) where m.k and w.k represents the exploration and exploitation moves respectively of the kth buffalo (k=1,2,………..N) ; lpr1 and lpr2 are learning factors usually [0,1]; bgmax is the herd's best fitness and bpmax , the individual buffalo's best Step4. Update the location of buffalo k (bpmax and bgmax) using (12): Step5. Is bgmax updating? Yes, go to 6. If No, go to 2 Step6. If the stopping criteria is not met, go back to algorithm step 3,else go to 7 Step7. Output best solution.

Figure 7. ABO algorithm Mathematical model
African Buffalo Optimization algorithm, basically, models the three principal aforementioned characteristics of the African Buffalo, namely, excellent memory, regular communication and exceptional intelligence. The waaa calls of buffalo k (k=1, 2, 3…n) which propels the buffalos to move on to explore other grazing areas since where they are presently is unsafe or lacks sufficient pasture is represented by w.k and the maaa sound which asks the animals to stay on to exploit the present location because it has enough pasture and is safe is represented by m.k . Mathematically, the democratic equations which determines the movement of the buffalos is: The democratic Equation (3) has three main parts, namely, the memory part ( ) which is an indication that the animals are aware that they have relocated from their former positions ( ) to a new one. This is an indication of their extensive memory capacity which is a vital tool in their migrant lifestyle. The second part represents the cooperative attributes of the animals . The buffalos are excellent communicators and are able to track the location of the best buffalo in each iteration. The last part of this equation ( ) brings out the exceptional intelligence of these animals. They are able to tell their previous best productive location in comparison to their present position. This enables them take informed decisions in their search for solutions. Eq. 12, basically, propels the buffalos to a new location following the outcome of Eq. 11. The algorithm begins by initializing the population of buffalos. It does this by assigning a random location to each buffalo within the search space. Next, it updates each buffalo's fitness in relation to the target goal and in this way ascertain the herd's best animal (bgmax) and each buffalos personal best (bpmax.k ). In each step, each animal keeps a memory of its coordinates. If the present fitness is better than the individual's maximum fitness (bpmax), the algorithm saves the location vector for the particular buffalo. If the fitness is better than the herd's overall maximum, it saves it as the herd's maximum (bgmax). Next, the algorithm updates the location of the buffalos using Eq.4. After this, it confirms the improvement or otherwise of the leading buffalo(bgmax).
If there is no improvement in a number of iteration, the algorithm re-initializes the entire herd. If the best buffalo is improving its positions, the algorithm checks to see if the stopping criteria is reached. If our best buffalo fitness (bgmax) meets our exit criteria, it ends the run and provides the location vector as the solution to the given problem. Some of the high points of this new algorithm are its ease of implementation, ability to search both locally and globally at the same time, use of relatively few parameters, flexibility and fast rate of convergence. The Algorithm flowchart is presented in Figure 8.

NUMERICAL TESTS
Numerical investigations are very necessary in testing the capacity of novel algorithms to arrive at solutions. The new algorithms should be investigated for speed, convergence and robustness (Baritompa & Hendrix, 2005). In this section, the test for speed is done by Average number of Function Evaluations ('AFE') taken to arrive at the optimal solution; convergence by the relative error between the optimal solution obtained by the algorithm ('Best') and the Optimal result of the function ('Opt') and robustness by testing different search spaces ranging from Unimodal non-separable, Multi-modal nonseparable to Multi-modal separable. A comparative lower relative error, therefore, is indicative of a better algorithm. To do this, six benchmark global optimization functions were selected due to their diversities and difficulties they pose to search algorithms. Two functions are selected in each category: from unimodal and separable, we chose Brown 1 and Brown2; from multi-modal and non-separable functions, we chose Hartman3 and Branin functions and from multimodal and separable, we chose F1 and F3 functions (Ali, Khompatraporn, & Zabinsky, 2005).
The experimental results obtained were compared with those from Improved Genetic Algorithm (IGA) and the Staged Continuous Tabu Search (SCTS) algorithm (Zheng, Ngo, Shum, Tjin, & Binh, 2005). These algorithms chosen to compare with the ABO in this study have posted some of the best results in literature. The detailed comparison is shown in Table 1. In Table 1, The Relative Error is obtained by: In a situation where the optimal result of a function is 0, the formula for obtaining is:  Table 1 shows the capacity of ABO to obtain competitive results in searching diverse search spaces. The novel algorithm obtained optimal results in four of the six test functions; with IGA obtaining the optimal solution in two out of the six test cases and SCTS obtaining none. ABO's capacity to escape local minima is traceable to her frequent updating of the fitness of each buffalo in relation to the best buffalo in the herd.
Another strength of the ABO as can be observed here is its speed in obtaining solutions. This is evaluated using the average number of function eveluations (AFE). In all the test instances, the ABO is faster in five of the six functions than the other algorithms. The cummulative AFE of the ABO is 17,674 to IGA's 240,771 and SCTS's 127,939. This shows that ABO is 1362% faster than than the IGA and 724% faster than the SCTS (See Figure 9).

APPLICATION OF THE ABO TO SOLVE THE SYMMETRIC TSP
In applying ABO to solve the TSP, the basic solution steps are: (a.) choose, according to some criterion, a start city at which the buffalos are positioned; (b.) use the democratic Eq. 3 and heuristic values to probabilistically construct a buffalo tour by adding cities that the animals are yet to visit. (c.) calculate buffalo fitness using Eq. 11 & move the animals to the next node with Eq. 12.
(d) repeat steps b and c until the buffalos complete the tour (d.) go back to the initial city. (e.) after all buffalos have completed their tour, determine the best route using Eq. 5 In Eq. 5, lp1 and lp2 are learning paramters >0, m is the 'maaa' call asking the animals to hang around to exploit edge ab, w is the 'waaa' call asking the buffalos to explore edge ab. For buffalo k, the probability of buffalo k moving from city 'a' to city 'b' depends on the combination of two values, viz., the desirability of the move, as computed by some heuristic indicating the prior attractiveness of that move and the summative benefit of the move to the entire herd, indicating how proficient it has been in the past to making that particular move. The denominator values represent the post indication of the desirability of that move. The paths are improved usually when all buffalos have completed their solution. The algorithm parameters are set as population=40, lpr1 = 0.6, lpr2 as 0.5.

Experimental work on TSP
In our next set of experiments, we examined the performance of ABO on some unpopular TSP benchmark datasets. We compared our output with the results obtained by using Honey Bee Mating Optimization (HBMO). We chose to compare our work with the HBMO because this (HBMO) study presently holds the best TSP result in literature (Marinakis, Marinaki, & Dounias, 2011). The result is presented in Table 2. In Table 2, both ABO and HBMO were able to obtain above 99.98% accuracy in all the 24 benchmark TSP instances ranging from 280 to 14,461 nodes/cities which were under investigation. These are commanding performances.
In comparing the computational costs of obtaining results, there is such a gulf in the time taken (and by implication, computer resources) to obtain results: while it took ABO 26.93 seconds to solve all the 24 problems, it took HBMO a whopping 6,471.52 seconds. This shows ABO is more than 240 times faster than the HBMO and since speed is a measure of good algorithm, ABO is a better algorithm. This fact becomes clearer when one observes that in spite of ABO's speed, the novel algorithm was able to obtain over 99.98% accuracy in all the test cases. The speed of the ABO is traceable to its use of relatively fewer parameters to most other popular algorithms in its search for solutions. The ABO's controlling parameters are the learning factors (lp1 and lp2). These parameters coupled with the intelligence and communication abilities of the buffalos are effective tools of the algorithm in achieving good results.

ABO ON THE ASYMMETRIC TRAVELLING SALESMAN'S PROBLEM
It is pertinent, at this juncture, to test the performance of the African Buffalo Optimization (ABO) on the Asymmetric Travelling Salesman's Problems. To do this, we carried out experiments on 15 out of the 19 benchmark optimization problems available on TSPLIB95 (Reinelt, 1991). The choice of the datasets is informed by their complexity and popularity in literature. The results obtained from this exercise was compared with those obtained from three other heuristic algorithms available in Tspsolve (Hurwitz & Craig) . The comparative algorithms are Addition heuristics, Assign heuristics, Loss and Patching heuristics (Rocha, Fernandes, & Soares, 2004). The Addition Heuristics employs the construction method in its search and tour development; the Loss Heuristics uses a technique described in (Van der Cruyssen & Rijckaert, 1978) and the Patching Heuristics engages in solving an assignment problem and later integrates the subtours into one tour using the patching technique (Karp & Steele, 1985) This comparison is relevant because there are three basic methods of solving asymmetric Travelling Salesman's Problem in literature and these are the Constructive method, the Improvement method and the Composite method that uses a combination of the first two (Helsgaun, 2000). The ABO solves the asymmetric Travelling Salesman's Problem using the composite method. It starts by using the constructive method, especially for problems involving less than 100 nodes but turns to improve upon the construction as the number of nodes increases. This, coupled with the ABO's use of very few parameters enables the ABO to arrive at solutions faster than many other methods. Basically, tour construction method builds a tour by simply adding a new node that has not been added or visited at each step/iteration. When the tour has been constructed, the buffalos return to the starting node, avoiding any already visited node as much as possible. An example of a method that uses strict Construction technique is the nearest neighborhood algorithm (Suchal & Návrat, 2010) . Meanwhile, the tour improvement method gets a tour improved through making improvements/exchanges on the already existing tours. Examples are the 2-opt algorithm and the Lin-Kernighan algorithm (Helsgaun, 2000). The composite method, on the hand, as in ABO, starts solving the problem by constructing a tour through the addition of unvisited nodes and then performs improvement exchanges depending on the location of the best buffalo. This helps the algorithm to arrive at better solutions. The result is presented in Table 3 below.
As close look at Table 3 shows that the ABO outperforms the other methods in obtaining the optimal solutions. The ABO obtained optimal solution in three ATSP instances: Ftv38,Ft53 and Ftv64 in addition to obtaining over 99.5% accuracy in the remaining instances. Meanwhile the other methods were only able to obtain optimal result in one instance each and that is Br17. Their performances in other instances were rather not encouraging. For instance, the cummulative relative error percentage of the ABO in all ATSP instances is 1.53% to Addition Heuristics 102.52%; Loss Heuristics 59.43 and Patching Heuristics 67.68%. From this analysis, it is obvious that ABO outperformed other methods. Table 3. ABO and other Heuristics on ATSP

African buffalo optimization with Lin-Kernighan Algorithm
To conclude our validation process of the African Buffalo Optimization algorithm, it is neccessary to compare its performance with that of the famous Lin-Kernighan method developed by Helsgaun. It is imperative to compare the ABO with Lin-Kerninghan since the latter, aside from being the most pospular of all Lin-Kernighan pproaches, it is about the fastest algorithm in solving asymmetric Travelling Salesman's Problems. This comparison deals with the examination of the success rate of both approaches and the time taken to arrive at solutions. The success rate is obtained by calculating the percentage successful run of the algorithm in question to get the optimal or nearoptimal result of the particular TSP instance. The result is presented in Table 4 below.
The good runs of the ABO continues when compared with Lin-Kernighan algorithm (See Table 4). In terms of time used to obtain their results, both algorithms performed extremely well with the Lin-Kernighan performing a little better than the ABO. It took the ABO a cummulative time of 0.3 second to solve all the problems to Lin-Kernighan's cummulative total of 0.0 second. Moreover, experimental data obtained shows that the ABO obtained 100% success in reaching optimal or nearoptimal solutions to all the test cases. The same cannot be said of the Lin-Kernighan which obtained a disappointing 21% success in P43, 47% in Ftv35, 53% in Ftv38, 95% in Kro124p and 99% in Ry48p. This, again, underscores ABO's superior performance when in competition with many popular methods.

CONCLUSION
This paper introduces the African Buffalo Optimization algorithm. It highlights the basic flow of the novel algorithm. The ABO algorithm benchmarked on some challenging global optimization test functions and over 24 Symmetric and 15 Asymmetric Travelling Salesman's Problems was validated by comparing its performance with other methods that use similar or different memory matrix and information propogation techniques in their search for solutions. The results obtained from using the ABO in all the comparative instances are quite competitive. In fact, in most cases, the ABO ouperformed the other methods that use different techniques to construct their tours. It is worthy of note that the speed of the ABO in arriving at solutions is one remarkable contribution of the novel agorithm. It is therefore our conclusion that the ABO is a worthy addition to the Swarm Intelligence family of optimization algorithms.
In view of the competitive performance of the African Buffalo Optimization (ABO) to solving the benchmark test functions and TSP instances in this study, the authors hope to apply the ABO to solving other optimization problems like Job Scheduling, Knapsack Problem, Vehicle Routing and solving urban transport problems.