A novel path planning algorithm for mobile robot in dynamic environments using modified bat swarm optimization

The Journal of EngineeringVolume 2021, Issue 1 p. 37-48 ORIGINAL RESEARCH PAPEROpen Access A novel path planning algorithm for mobile robot in dynamic environments using modified bat swarm optimization Fatin Hassan Ajeil, Fatin Hassan Ajeil orcid.org/0000-0002-0310-7423 Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 IraqSearch for more papers by this authorIbraheem Kasim Ibraheem, Corresponding Author Ibraheem Kasim Ibraheem ibraheemki@coeng.uobaghdad.edu.iq orcid.org/0000-0001-7009-3634 Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 Iraq Correspondence Ibraheem Kasim Ibraheem, Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 Iraq. Email: ibraheemki@coeng.uobaghdad.edu.iqSearch for more papers by this authorAmjad J. Humaidi, Amjad J. Humaidi orcid.org/0000-0002-9071-1329 Department of Control and Systems Engineering, University of Technology, Baghdad, 10001 IraqSearch for more papers by this authorZeashan Hameed Khan, Zeashan Hameed Khan Department of Mechatronics Engineering, Air University, Islamabad, E-9 PakistanSearch for more papers by this author Fatin Hassan Ajeil, Fatin Hassan Ajeil orcid.org/0000-0002-0310-7423 Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 IraqSearch for more papers by this authorIbraheem Kasim Ibraheem, Corresponding Author Ibraheem Kasim Ibraheem ibraheemki@coeng.uobaghdad.edu.iq orcid.org/0000-0001-7009-3634 Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 Iraq Correspondence Ibraheem Kasim Ibraheem, Department of Electrical Engineering, College of Engineering, University of Baghdad, Baghdad, 10001 Iraq. Email: ibraheemki@coeng.uobaghdad.edu.iqSearch for more papers by this authorAmjad J. Humaidi, Amjad J. Humaidi orcid.org/0000-0002-9071-1329 Department of Control and Systems Engineering, University of Technology, Baghdad, 10001 IraqSearch for more papers by this authorZeashan Hameed Khan, Zeashan Hameed Khan Department of Mechatronics Engineering, Air University, Islamabad, E-9 PakistanSearch for more papers by this author First published: 21 January 2021 https://doi.org/10.1049/tje2.12009Citations: 1AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinked InRedditWechat Abstract This paper describes the path planning of an autonomous mobile robot using an advanced version of the swarm bat algorithm in a time-varying situation. The foremost objective of this present contribution is to acquire the shortest path between the initial and end-point avoiding dynamic obstacles. In this work, an adaptation of the frequency parameter of the standard bat algorithm to develop an improved version known as the modified frequency bat (MFB) algorithm is proposed. The modified frequency bat algorithm works in two steps, in the first step, the robot path is generated when there are no obstacles in the environment using the proposed method. As soon as an obstacle is detected near the robot, the second mode is initiated to avoid any obstacle. Extensive simulations are performed to validate the effectiveness of the proposed modified frequency bat algorithm by implementing it on standard benchmark functions and path planning problems and simultaneously matching its performance with the original bat algorithm. It has been concluded that the modified frequency bat algorithm shows superior performance as compared to the standard bat algorithm by drawing a shorter and collision-free path for the mobile robot path-planning problem. 1 INTRODUCTION Mobile robot path planning is a well-known study-case in the robotic domain; whereby the term "path planning" denotes the guidance and navigation of the robot from an initial posture to the end posture avoiding collisions and unsafe conditions [1]. The interest in path planning research problems started in the late '60s where numerous studies were endeavoured resulting in a considerable number of solutions contributed by the researchers [2-19]. These approaches include the roadmap method [2], cell decomposition method [3], potential field approach [4] and mathematical programming [5] etc. to mention a few examples. Later on, the shortcomings of these algorithms such as their ineffectiveness, considerably high computational cost and lack of precision as they are trapped in a local minimum were highlighted by the research community. To surpass these weaknesses, several heuristic-based methods were proposed including artificial neural networks (ANN) [6], particle swarm optimization (PSO) [7], genetic algorithm (GA) [8], and hybridization between them [9, 10]. One of the main benefits of heuristic-based methods is that it can yield satisfactory convergence that is particularly appropriate to resolve NP-complete problems. The path-planning problem is branched as local and global problems. The local path-planning problem calculates the path while the environment of the mobile robot is continuously changing due to its motion. Whereas, in the global path planning, the environment is entirely known in advance and the terrain must be stationary [11, 12]. Many researchers have investigated the path-planning problem in dynamic environments, for instance, authors of [13] suggested a novel scheme to choose the best route of the mobile robot by the ant colony optimization (ACO) algorithm in an unknown dynamic environment. In fact, in order to determine the optimal rule table of the fuzzy system, they used ACO algorithm. The fuzzy decision-making process is affected by the variation in angle between the mobile robot and the close obstacle and the distance between the initial and the end positions. A navigation methodology for the ground vehicle in a dynamic situation is proposed by using two kinds of fuzzy logic controllers in [14]. Target reaching fuzzy inference controller (TR-FIC) is presented as the first controller by using the angle difference between the vehicle heading and the target to ensure that the robot reaches the goal. While the obstacle avoidance fuzzy inference control (OA-FIC) is the second controller to avoid collision with the obstacles. Using obstacle sensing by the ground vehicle, one of these two controllers is selected for path planning. For dealing with the static and dynamic obstacles, researchers in [15] used a fuzzy logic controller (FLC) to avoid the static obstacles. However, dealing with a mobile obstacle is a complex problem, which is handled by estimating the orientation and the speed of all the dynamic obstacles and approximating the obstacle's future trajectory by generating a subsequent trajectory prediction table of each obstacle. Based on the distances between the robot–obstacle, robot–robot, and robot–goal, authors proposed a new fitness function by obtaining the shortest path for several mobile robots using PSO algorithm [16]. In [17], for collision avoidance of a wheeled mobile robot in a dynamic setting, a virtual disc in front of the mobile robot is considered, which is centred at the heading angle of the mobile robot. The crossing angle between the disc and the obstacles is computed and continuously changed in the direction of the mobile robot according to some specific rules. ANNs and radial basis neural networks are used to predict the movement of the dynamic obstacles to solve the motion-planning problem [18]. A hybrid neural network and the fuzzy system are used in [19] for tackling the motion planning problem in a dynamic environment. This work combined artificial potential field (APF) and fuzzy neural network (FNN) for globally optimized path planning on a dynamic environment in a real-time fashion. This technique used fuzzy logic to construct the space model, then integrated APF and FNN exploring for the shortest route while efficiently evading moving obstacles. Grid-based methods for mobile robot path planning can be found in [20]. The global search speed of bat algorithm has been enhanced based on mutation between bats during updating bats position, this enhancement capability applied to uninhabited compact air vehicle in [21], while in [22] hybridization between bat algorithm and cuckoo search proposed to reduce iterations number and simulation time to find the shortest path. It should be noted that mobile robot navigation including path planning could be regarded as a high-level motion planning task through which the mobile obtains data and reacts to its surroundings. This layer is built on the motion control inner layer, which controls the actuation of the mobile robot as commanded by the upper layer. Many linear and nonlinear control techniques are available for the design of the motion control layer as depicted in [23-29]. 1.1 Paper motivation One of the key shortcomings in the previous works referenced above is that a simple point model for the mobile robot is considered. While part of these studies concentrates on the calculation of the collision-free shortest path, different experiments focused on the evasion of the dynamic obstacles while obtaining the shortest path without taking into account path smoothness. On the other hand, in spite of the simplicity of the execution of the grid-based strategies utilized by some of the above works, there are certain points of weakness, for example, the loose portrayal of the obstacle, where if the obstacle resides in just a little region of the cell, the whole cell is occupied and kept for that obstacle. This prompts the misuse of the space and less adaptability in environments with dynamic obstacles. Motivated by the shortcomings of the above studies, a novel path-planning algorithm for the mobile robot is proposed. The algorithm involves path generation achieved using a novel heuristic nature-inspired algorithm, namely, the modified frequency bat (MFB) algorithm. The suggested MFB algorithm creates and selects the points that measure the objectivity, which is the shortest distance between the start and the end-points of the path. Then the proposed algorithm is integrated with a second unit, which is the obstacle avoidance module; it is employed to avoid obstacles using a proposed avoidance algorithm and consists of a deployed array of sensors around the mobile robot. Then by simple calculations of the data received by these sensors, the dynamic obstacles are avoided by the mobile robot. 1.2 Paper contribution The contribution of the present work is to find a collision-free shortest path (if it exists) from a starting position to a finishing point in a dynamic environment with moving obstacles using the proposed MFB algorithm. This proposed algorithm is integrated with obstacle detection and avoidance techniques to detect dynamic obstacles near the mobile robot using sensory vector information, as shown in Figure 1, then offering a new collision-free position for the mobile robot to resume its trip to its goal position using obstacle avoidance procedure based on the gap vector principle. FIGURE 1Open in figure viewerPowerPoint Path planning technique 2 PROBLEM DESCRIPTION AND KEY ASSUMPTIONS In this work, we assume a 2D world frame, as depicted in Figure 2. The mobile robot is at the starting point and the target is to reach the goal point by avoiding the dynamic obstacles present in the surroundings. The objective is to find the direct route between the initial and the finish point without collision with the dynamic obstacles in the working area by estimating the best possible future coordinates for the mobile robot taking into account the present location. Following are some of the key assumptions, which are made in order to simplify the problem as discussed in our approach: Circular shapes with equal size are used to represent the mobile robot and the obstacles. The motion of the mobile robot has no kinematic constraints except the motion of the obstacles. Obstacles are moving with fixed but different speeds according to the following relationships x o b s _ N e w = x o b s + v o b s × cos ∅ o b s y o b s _ N e w = y o b s + v o b s × sin ∅ o b s where ∅ obs is the slope of the linear motion. The movement of the mobile robot is omnidirectional at any time. Minimizing the distance function f ( x , y ) gives the shortest distance as follows: f ( x , y ) = ( x i + 1 − x i ) 2 + ( y i + 1 − y i ) 2 (1) fitness = 1 f ( x , y ) + ε (2) where, x i + 1 , y i + 1 represent the next position, x i , y i describe the current position, and ε is a small number (say 0.001) to prevent division by zero. FIGURE 2Open in figure viewerPowerPoint Path planning of mobile robot with dynamic obstacles. 3 SWARM BASED NAVIGATION ALGORITHM In this section, the standard BA will be presented. Moreover, the modification in the frequency parameter of the BA will also be demonstrated through a pseudo-code. 3.1 Bat algorithm (BA) The original BA is a bio-inspired algorithm established by Yang in 2010. This algorithm is fundamentally associated with the echolocation or bio-sonar features of miniature bats [30, 31]. Bats emit a sound pulse and listen to the echo returning from the obstacles during flight. This methodology is known as echolocation, which is an essential feature of the bat navigation as they are highly much dependent on sound reflection to assess nearby targets to avoid the collision or catch their preys. They are able to figure out the velocity, shape and size of the prey by utilizing the time difference of arrival between their ears, the loudness of the response and the delay time. Moreover, they are also capable of sending sound pulses at a high rate in order to sample the environment. By sampling the environment, they get comprehensive details about their close surroundings, which help them to discriminate the target location precisely. In addition to high rate environment sampling, the bats are able to classify near/far objects based on the loudness of the received signal. When the bats are near the victim, it transmits sound pulsations silently while during the searching process, they send noisy sound pulses. Bats chasing approach can be briefed as follows. The principle of echolocation is utilized by all bats in order to detect the distance. Additionally, they distinguish between nutrient or prey and background obstacles in a mystic way. Bats fly haphazardly with speed vi at posture xi with a frequency fmin, changing wavelength λ and loudness A0 to scan for the target. Subsequently, they can change the frequency/wavelength of the transmitted pulses (like radars) and alter the rate of pulse broadcast r ∈ [0, 1], depending upon the closeness of their prey. Even though the loudness can be changed in multiple different ways, it can be simply assumed that it decreases from a positive value A0 to a minimum value Amin depending upon the distance from the target. 3.1.1 The movement of artificial bats In a D-dimensional searching or solution, space is the region where the target (prey/food) is located. So, the bat randomly moves within the search space in search of the prey since no precise location information is known apriori. The food classification is determined by the fitness function as approximated by the bats. Initial population for n number of bats is randomly generated as in the given relation: x i = x min + rand × ( x min − x max ) (3)where i = 1, 2, … n. Each bat is related to a velocity vi(t) and a location xi(t) at iteration 't'. Among all the bats, there exists a best solution at the present time. As a result, the guidelines presented above can be converted into the updating equations for finding the real-time position and velocity of the bat. Since the frequency fi controls the range and the space of the movement, the position update procedure is given by the following equations: f i = f min + ( f max − f min ) × β , (4) v i ( t ) = v i ( t − 1 ) + ( x i ( t ) − x ∗ ) f i , (5) x i ( t ) = x i ( t − 1 ) + v i ( t ) , (6)where β ∈ [0, 1] is a random vector of a uniform distribution. Here x* is the present global best solution (for the location), which is found after matching all solutions amongst all the n bats. For the local search stage, once a result is chosen from the best available solutions at any particular stage, a new solution for each bat is locally produced using the random walk principle as follows: x new = x old + σ ∈ A ( t ) (7)where ε ∈ [−1, 1] is a random number and represents the direction and intensity of random walk, A(t) is the average loudness of all the bats at iteration step t. From the practical perspective, it is pertinent to use a scaling parameter σ in order to control the step size. 3.1.2 Loudness and pulse emission The loudness Ai and the rate of pulse emission ri are required to be updated continuously as the iterative process continues. Typically, the loudness Ai drops when a bat has detected its prey, although the rate of pulse radiation ri rises as per the given relation: A i ( t + 1 ) = α A i ( t ) (8) r i ( t + 1 ) = r i ( 0 ) [ 1 − e − γ t ] (9)where α and γ are constants. For any 0 < α < 1 and γ > 0. Despite the usefulness of the BA and its applications in various fields, there are still some fundamental issues that require more investigation as described next section. 3.2 The modified frequency bat algorithm Exploration and exploitation are the two significant divisions in the current metaheuristics. Exploration is the assessment ability of different secretive spaces to sense the optimal global target, while exploitation refers to discovering the optimal goal by exploiting the finest historical fitness information. A workable application of a metaheuristics algorithm relies upon the decent organization of these components. In the case of little search with over-utilization, the algorithm can trap into local optima [32]. On the other hand, a considerable search with under-utilization of the algorithm can bring gradual convergence and reduce the global searching performance. BA is an effective optimization algorithm in "exploitation" (i.e. local search), but at certain times it may get stuck at local optima, and consequently, it is not able to accomplish the global search efficiently. For BA, the searching depends totally on "random walks" so a rapid convergence may not be achieved [33-35]. As mentioned previously, the frequency controls the space and the range of the Bat movement. The sound pulses with a lower period (high frequency) will travel up to a shorter distance and vice versa. In addition, the search capability of BA diminishes over time. Consequently, a balance is required between exploration and exploitation using frequency amendment by assuming that the algorithm starts with low frequency to increase the global search capability and there is a gradual increase in the frequency as iterations proceed. Practically, this is realized by considering β as a function of some variables instead of a random number. In this way, it is ensured that the frequency will gradually increase with iterations. The factor β in Equation (4) is adapted as follows: β i ( t ) = t × e ( − ρ × r ) (10)where i = 1, 2, …, n, t is the iteration number, r is a random number (0,1), ρ is a number which is application dependent. For the path planning problem, the value of ρ is selected as 0.01. The pseudo-code for the proposed MFB algorithm is shown in Algorithm 1. Algorithm 1: Pseudo-code of the proposed MFB algorithm 1: Initialize MFB algorithm parameters: population size of n bats, frequencies fi, pulse rates ri and the loudness Ai; 2: Randomly generate initial solutions 3: While stopping criteria not satisfied 4: for i=1:n 5: Update frequencies, velocities, and positions using Equations (4)–(6) with βi as in Equation (10) 6: Move each bat locally following update Equation (7) 7: Update pulse rate and loudness using Equations (8) and (9) 8: Compute fitness defined in Equation (2) 9: end for 10: Choose the best bat that achieves the best fitness defined in Equation (2) 11: End 12: Obtain results; 4 OBSTACLE DETECTION AND AVOIDANCE The mobile robot traverses its path from the starting point (SP) to a goal point (GP) using BA or MFB algorithm until it senses an obstacle and tries to avoid it using obstacle avoidance (OA) technique. 4.1 Obstacles detection The OD is realized by imagining that the mobile robot is surrounded by twelve virtual sensors as shown in Figure 3. The simulation model of the mobile robot considers it a point model and the obstacles are expanded with respect to the size of the mobile robot as shown in Figure 4. The obstacles are identified by using sensory vector Vs (i.e. a binary vector providing info about the existence of obstacles, its dimension depends on the number of sensors (in this case 12 sensors are used). Therefore, the sensory vector is represented by twelve bit indexed by i ∈ (1,2,…,12). V s = [ a ( 1 ) , a ( 2 ) , … , a ( i ) , … , a ( 12 ) ] (11) FIGURE 3Open in figure viewerPowerPoint Mobile robot sensors deployment FIGURE 4Open in figure viewerPowerPoint Expanding obstacles corresponding to the size of the mobile robot The value of each bit indicates the existence of obstacle (a(i) = 1) or not (a(i) = 0). These sensors have equally sensing range (SR) (the maximum distance the mobile robot can measure) and angle of sensor ( 360 ∘ no . of sensor ). For each obstacle inside a specific sensor range (i.e. in the range between Si), draw the tangent lines to the extended obstacle (shown as dotted circles in Figure 5). Then, compute the angle between the mobile robot point and the tangent lines to the obstacle that belongs to a particular sensor range Si. For example, reference to Figure 5, for obstacle (Ob1) the range of tangent angles from TP1 to TP2 belong to S1 and S2 so, the corresponding bits (a(1), a(2)) in Vs set to logic (1), the same procedure is applied to obstacles (Ob3 and Ob4) in Figure 5, the sensory vector Vs is given as: V s = { 1 1 0 0 0 0 1 1 1 0 0 0 } FIGURE 5Open in figure viewerPowerPoint The detection, sensing, and angle ranges of the mobile robot 4.2 Obstacles avoidance (OA) Gap vector concept is used for the obstacle avoidance, gap vector Vg is a binary vector, where logic (0) serves as a free gap while logic (1) represents the occupancy gap. The size of the vector is given by its length as: length V g = length ( V s ) (12) V g = { b ( 1 ) , … , b ( i ) , … , b ( 12 ) } (13) The mobile robot picks the nearest gap to the goal. The gap vector Vg can be obtained from the sensing vector Vs (each consecutive zeros represent free gap (logic(0)), otherwise (logic (1)) which is similar to logical OR function as shown in Table 1 and Figure 6. From the example in Figure 5, Vs = {1 1 0 0 0 0 1 1 1 0 0 0}. TABLE 1. Gap vector construction Vs(i) Vs(i+1) Vg(i) 0 0 0 0 1 1 1 0 1 1 1 1 FIGURE 6Open in figure viewerPowerPoint Graphical illustration of gap vector construction, + means logical OR function From Figure 6, b 1 = a 1 + a 2 , b 2 = a 2 + a 3 , . . b 12 = a 12 + a 1 . Thus, the resulting gap vector Vg is given as, Vg = {1 1 0 0 0 1 1 1 1 0 0 1}. 5 PROPOSED PATH-PLANNING ALGORITHM In this work, we present the path-planning algorithm for an omnidirectional mobile robot moving in static and dynamic environments. In the first step of path-planning, the environment variables are initialized namely (SP, GP, ObsPos, SR), as well as some important parameters, are set for the ongoing execution of the MFB optimization algorithm. The path vector (called "path" onward) is used to store the current position of the mobile robot (MRPos). The mobile robot uses ultrasonic sensors to continuously gather information about the neighbouring environment and thereby detect obstacles while navigating toward the goal point (GP). The pseudocode of the algorithm is listed in Algorithm 2, SPPos: start position, GPPos: goal position ObsPos: obstacles position, SR: sensing range, rMR: radius of mobile robot, rObs: radius of obstacle, Q = rMR + rObs + SR. Algorithm 2: MFB algorithm based path planning algorithm in dynamic environments 1: Initialize: Environment setting: SPPos, GPPos, ObsPos, SR = 0.8, rMR, rObs, Q. MFB algorithm parameters: population size of n bats, frequency fi, pulse rate ri and the loudness Ai; 2: MRPos = SPPos; 3: path ← MRPos; 4: while (MRPos ≠ , GPPos) 5: ObsPos ← new ObsPos (assumption (3) of Section 2) 6: Collect data from virtual twelve sensors; 7: if d(MRPos, ObsPos) ≤ Q then 8: switch on [obstacle detection and avoidance procedure]; 9: else 10: navigate toward GP using MFB algorithm [Algorithm 1]; 11: end if 12: go to 3 13: end while 6 SIMULATION RESULTS The simulation of the suggested MFB algorithm is developed in two portions. In the initial part, the simulation testing of the MFB algorithm on benchmark functions is carried out. Whereas, in the second part, the path planning algorithm for the mobile robot is simulated in a dynamic environment. 6.1 Standard benchmark functions For any optimization problem, it is essential to validate its performance and compare with other existing algorithms over a good set of test functions. The test of reliability, efficiency and validation of optimization algorithms is frequently carried out by using a chosen set of common artificial problem called standard benchmarks or test functions as given below Equations (14)–(18). Artificial problems may include single global minimum, single or multiple global minima in the presence of many local minima, long narrow valleys, null-space effects and flat surfaces. These problems can be easily manipulated and modified to test the algorithms in diverse scenarios. Sphere function has d local minima except for the global one. It is continuous, convex and unimodal. f ( x ) = ∑ i = 1 d x i 2 subject to − 5.12 ≤ x i ≤ 5.12 min ( f ( x ) ) = 0 (14) Easom function is a 2D function and has several local minima. It is unimodal, and the global minimum has a small area relative to the search space. f ( x ) = − cos ( x 1 ) cos ( x 2 ) × exp ( − ( x 1 − π ) 2 − ( x 2 − π ) 2 ) subject to − 100 ≤ x i ≤ 100 min ( f ( x ) ) = − 1 (15) Three hump camel function is continuous, not convex, defined on 2 D space, multimodal, and differentiable. f ( x ) = − 2 x 1 2 − 1.05 x 1 4 + x 1 6 6 + x 1 x 2 + x 2 2 subject to − 5 ≤ x i ≤ 5 min ( f ( x ) ) = 0 (16) Rastrigin function has several local minima. It is highly multimodal, but locations of the minima are regularly distributed. f ( x ) = 10 × d + ∑ i = 1 d ( x i 2 − 10 cos ( 2 π x i ) ) subject to − 5.12 ≤ x i ≤ 5.12 min ( f ( x ) ) = 0 (17) Michalewicz function has d local minima, and it is multimodal. The parameter m defines the steepness of the valleys and ridges; a larger m leads to a more difficult search. The recommended value of m is m = 10. f ( x ) = − ∑ i = 1 d sin ( x i ) · sin 2 m i · x i 2 π subject to 0 ≤ x i ≤ π min ( f ( x ) ) = − 1.8013 (18) In the second step, after using these test benchmark functions, the performance of such an algorithm is evaluated by matching it with its variants. The benchmark functions of Equations (14)–(18) are listed in Table 2. We have tested the proposed MFB algorithm with 15 iterations for individual standard function in the list. In order to compare the outcome of both algorithms, the "mean" values in Table 3 are analysed. The sign "+" specifies that the MFB algorithm is better than the BA one: "−" means that both algorithms give a comparable performance, and "." signifies that the MFB algorithm is worse than the BA one. TABLE 2. Standard benchmark functions Fun name Formula C Fmin Search range F1: Sphere ∑ i = 1 d x i 2 U 0 [−5.12, 5.12] F2: Easom − cos ( x 1 ) cos ( x 2 ) × exp ( − ( x 1 − π ) 2 − ( x 1 − π ) 2 ) U −1 [−100, 100] F3: Three hump camel − 2 x 1 2 − 1.05 x 1 4 + x 1 6 6 + x 1 x 2 + x 2 2 M 0 [−5, 5] F4: Rastrigin 10 × d + ∑ i = 1 d ( x i 2 − 10 · cos ( 2 · π · x i ) ) M 0 [−5.12, 5.12] F5: Michalewicz − ∑ i = 1 d sin ( x i ) · sin 2 m ( i · x i 2 π ) M −1.8013 [0, π] C: characteristic; U: unimodal; M: multimodal; d: dimension; m: steepness; parameter = 10. TABLE 3. The comparative performance of the BA and MFB on the benchmark fu