Abstract
This paper proposes new metaheuristic algorithms for an identification problem of nonlinear friction model. The proposed cooperative algorithms are formed from the bacterial foraging optimization (BFO) algorithm and the tabu search (TS). The paper reports the search comparison studies of the BFO, the TS, the genetic algorithm (GA), and the proposed metaheuristics. Search performances are assessed by using surface optimization problems. The proposed algorithms show superiority among them. A realworld identification problem of the Stribeck friction model parameters is presented. Experimental setup and results are elaborated.
1. Introduction
AIbased algorithms have been successfully applied to solve optimal solutions of complex and NPhard problems in engineering. For some examples, dated back to 1995, the genetic algorithm was proposed to solve linebalancing problem to minimize the cycle time of the line for a given number of workstations [1], similar approach was used to optimize the determination of an optimal control sequence in modelbased predictive control [2], the simulated annealing and genetic algorithms were used to solve nonlinear controller parameter optimization for the diving and heading motions of a submarine model [3], and recently the particle swarm optimization algorithm was applied to optimize the parameters of a fuzzy control system that was used for the vibration control problem of a flexible structure [4], and so forth. Of a particular interest in control, current motion control technologies demand very high precision in positioning of an object, for example, in CNC machines, robots, and so forth. Difficulties caused by nonlinear friction arise under very low velocity motions, in which stickslip phenomenon pronouncedly exhibits. Control techniques can be used to compensate for the problem, and as such an accurate friction model is needed. To obtain the model it requires careful experimental setup, accurate measurement and appropriate identification algorithms. Due to strong nonlinearity of the friction model, the conventional regressive approach is inappropriate.
An identification task can be formulated as an optimization problem solvable by available optimization algorithms. Artificial intelligence (AI) based methods are efficient candidates of the present technology. There is a wide range of algorithms which has been applied to solve identification problems. For some instances, the genetic algorithm has been applied to various problems including the modelling of a laboratory scale process involving a coupled water tank system and the identification of a helicopter rotor speed controller [5] and the identification of induction machine parameters [6, 7]; the tabu search and simulated annealing algorithms were applied to identify the optimal parameter structure for groundwater models [8]; the adaptive tabu search was applied to harmonic identification for an active power filter [9]; the particle swarm optimization was applied to solve various problems including the identification of thermal power plant [10], the calculation of deformations in soil or rock in geotechnical engineering [11], and the identification of MIMO FIR systems [12]; the ant colony optimization algorithm was used to identify the aquifer parameters for the underground water control engineering [13]; the proportionate affine projection algorithm was applied to the identification of sparse impulse response [14]; recently, the bacterial foraging algorithm was applied for the radiofrequency identification (RFID) communication system [15].
Among those metaheuristics, evolutionary and bioinspired algorithms have gained major interests since they are not hard to understand, and programming according to the procedural lists is not so strict compared with conventional scientific programming. It also opens a new route to effectively obtain an optimal or suboptimal solution for a complex system. This paper proposes the use of the tabu search (TS) and the bacterial foraging optimization (BFO) algorithm in a cooperative manner. Due to the dominant explorative property of the BFO algorithm, the modified TS with the BFO builtin is able to start searching with an elite initial solution. While the sharp focusing property of the TS remains, the proposed algorithms can move towards the solution very rapidly. Section 2 of the paper explains the algorithms. The search performance was investigated using some wellknown unconstrained optimization problems on Pentium IV, 2.4 GHz, 640 Mbytes SDRAM. The search results are compared among the BFO, the TS, the genetic algorithm (GA), and the modified TS denoted as bacterial foragingtabu search (BTS). Since the GA is well known, review of the algorithms is omitted herein. The comparative results of performance studies are presented in Section 3. The proposed algorithms are applied to identify the parameters of the nonlinear Stribeck friction model. Section 4 presents the experimental setup, results, and discussions. Conclusions follow in Section 5.
2. Bacterial ForagingTabu Search Metaheuristics
2.1. Tabu Search
Tabu search (TS) originated by Glover [16, 17] has become one of the most efficient metaheuristic methods. It incorporates two major strategies, namely, intensification and diversification, respectively. Successful applications of the TS have appeared in various fields, for example, food processing [18], optimal power flow [19], flow shop problem [20], and so forth. For some complex systems containing many local optima, the simplistic TS is usually unable to release the search move from a local entrapment. This problem has been overcome by different modifications made to the TS. These include the reactive tabu search [21], probabilistic tabu search [22] and adaptive tabu search (ATS) [23]. The ATS has found various successful applications such as identification [9], control [24], and signal processing [25].
The ATS consists of two major additional strategies made to the conventional TS. These are backtracking (BT) and adaptive search radius (AR) mechanisms, respectively. The former assists the TS to release itself from being locked by a local solution. It looks up the tabu list (TL), that is, shortterm memory, for a visited elite solution, and uses this solution for starting a new search move. The later enhances the focusing characteristic of the TS. This strategy decreases the search radius gradually when the search comes close to a solution of high quality having a potential of being the optimal one. However, too short of the search radius could result in a slow search. Recommendations for selection of search parameters are in [23]. The ATS algorithm is presented as a part of the proposed algorithms in Section 2.3.
2.2. Bacterial Foraging Optimization
In 2002, Passino developed a new bioinspired optimization algorithm called bacterial foraging optimization (BFO) [26, 27]. The algorithm imitates the foraging behavior of E. coli bacteria; the computer codes appear in http://www2.ece.ohiostate.edu/~passino/ICbook/ic_code.html. The BFO has been applied to various optimization problems including estimation of harmonics [28], active power filter design [29], transmission loss reduction [30], and optimal power flow [31]. Unfortunately, the BFO sometimes does not converge to a highquality solution, particularly when applied to complicated problems. The difficulty has been resolved by some researchers [32, 33] who modified the chemotaxis step of the BFO to become an adaptive mechanism and, hence, the name adaptive bacterial foraging optimization, or ABFO. It incorporates an adaptive jumping step denoted as under a basic concept of a long step corresponding to a large deviation of the cost value from the targeted one, and vice versa. The ABFO algorithm consists of 4 main mechanisms as follows.
Chemotaxis
This mechanism imitates the swimming movement of a bacterium. The position of a bacterium is denoted as .
Swarming
When one bacterium presents itself in an elite position, that is, a local hill or valley, it attracts the others. Simultaneously, each bacterium tries to repel the others nearby. The attractive and the repellent effects are modeled as weighted summation of exponential terms presenting the objective function, . The weighting factors are , , , and and can be chosen arbitrarily.
Reproduction
The bacteria are classified during the computing process as healthy and unhealthy due to their cost values. Only the healthy ones reproduce by duplicating themselves at the same positions.
Elimination and Dispersal
The mechanism allows the unhealthy bacteria to be discarded. The healthy ones are dispersed randomly over the search space with the probability .
The original BFO and the ABFO algorithms run iteratively and terminate on the maximum iteration criterion. The solutions obtained from search are stored in a memory and eventually sorted to find the optimal solution. From testing the ABFO algorithm, it demonstrates a strong explorative (or diversification) property. This property is commonly found in populationbased algorithms, and the ABFO algorithm is one of them. In contrast, singlesolutionbased algorithms, such as the TS, have strong exploitative property [34–36]. Therefore, both algorithms complement each other in the senses that the ABFO is useful for provision of an elite initial solution to the TS, and the TS is an efficient tool to track down a global solution rapidly. The ABFO algorithm is presented as a part of the algorithms in the next section.
2.3. Bacterial ForagingTabu Search
As mentioned, the TS has a dominant focusing characteristic, while the ABFO is strong in explorative operation. Such properties can complement each other. Since the TS has straightforward procedures, and moves rapidly towards a local solution, the method forms the hunting steps for a satisfied solution to the problem. The two algorithms are combined to form new metaheuristics working in a cooperative manner. The new algorithms are referred to as bacterial foragingtabu search or BTS in short. In this new algorithmic form, it is unnecessary to employ the reproduction mechanism of the ABFO part because ranking the available solutions to single out one with the minimum cost is an important step. This specific solution is transferred to the TS part as an initial solution. The procedural list of the BTS algorithms is as follows.
Step 1. Initialize search parameters: , search space,, , , , , , , , , , , , , n_re_back, best_neighbor1, best_error, and .
Step 2. Randomly or heuristically select an initial solution from the search space. Set as the current solution.
Step 3. Compute objective functions according to (2.1) . Set ; ,
Step 4. Generate randomly the elements of the random vector , then compute the adaptive step size, using (2.2), and update the solution according to (2.3). Compute the objective function for according to (2.1). Set ,
Step 5. If then ; use the direction of the same random vector to compute and . Update and repeat Step 5 until .
Step 6. If , go to Step 3.
Step 7. Do minimum sorting of the objective functions . Define best_θ as the solution with the minimum . Set = best_.
Step 8. Generate a neighbourhood around within an initial search radius . Set solutions as the members of the set .
Step 9. Evaluate the objective function of each member belonging to . Define = best_neighbor1 as a solution with the minimum cost, .
Step 10. If , store in the , assign , otherwise, store in the .
Step 11. Invoke the when a solution deadlock occurs (the current solution has been repeated many times as defined by ) (Algorithm 1).

Step 12. If the termination criterion based on the values is met or ( exit with the global solution.
Step 13. Invoke the when the current solution is relatively close to a local minimum (Algorithm 2).

Step 14. Updated count. If then go to Step 8.
Referring to Step 12, one termination criterion is the maximum number of iterations. There are other approaches the users may employ, that is, maximum CPU time, maximum iteration with or without improvement in solution quality, and a solution of sufficient quality [35]. Another termination criterion is the sufficient solution quality concept, which is represented by the cost . The value of the cost depends on application. For engineering problems, the cost can be set from design specifications, component tolerances, and so forth. The maximum number of iterations () can be determined from the ratio of search boundary to search radius of the TS. Some presearch trials are useful to determine an adjustment to the value of . The above algorithms are general enough for various optimization problems. Specific alterations for the problem of friction model identification will be discussed in Section 4.
3. Search Performance
This section presents the performance comparison studies among the following algorithms: adaptive tabu search (ATS), adaptive bacterial foraging optimization (ABFO), bacterial foragingtabu search metaheuristics (BTS), and genetic algorithm (GA). Review of the GA is omitted since the algorithm is well known. Good sources that readers may refer to are [37–39]. Each of these algorithms performs search on several test functions for 50 trials, and the results are averaged. Each search trial begins the search with different initial solutions, while search parameters are kept the same for all trials.
This approach is commonly referred to as multiplepointssinglestrategy (MPSS) in metaheuristic contexts. The test functions adapted are wellknown unconstrained problems for testing optimization algorithms. These include Bohachevsky function (BF), Rastrigin function (RF), Shekel’s foxholes function (SF), Schwefel function (SchF), and Shubert function (ShuF), respectively. Table 1 summarizes these test functions in which is the minimum cost required to terminate the search. Search parameter settings for the ATS follow [23], the for ABFO follow [26], and for the GA follow MATLABGA Toolbox [39]. Tables 2 and 3 summarize the search parameters of the ATS and the ABFO, respectively. These parameters are adapted for the BTS with , in particular.
Table 4 summarizes the average results over 50 trials. There are 2 groups of data denoted as average search time and average search rounds, respectively. Since the ATS, ABFO, and GA have different algorithmic approaches, comparisons of their average search rounds are not meaningful. On the contrary, the ABFO is combined to the ATS in order to reduce search rounds and search time. So, it is meaningful to compare the search rounds consumed by the ATS and the BTS. In average, the proposed BTS consumes search rounds of 63.45% less than the ATS does. Referring to the search time data in Table 4, the BTS spends search time of 37.15% less than the ATS does, and 68.31% less than the ABFO does as averages. Moreover, the BTS consumes 58.21% less search time than the GA does. In terms of the number of local entrapment, the BTS encounters the entrapment of 73.43% less than the ATS does, and produces highquality solution to the problem. Convergence curves are shown in Figure 1 for comparison purposes.
(a)
(b)
(c)
(d)
(e)
Table 5 summarizes the solutions obtained from different methods. It can be noticed that the ABFO provides solutions with the best quality in an exchange of a considerably long search time (see Table 4). The proposed BTS provides solutions with second to the best quality within the shortest search time (see Table 4). Note that the solutions found by the BTS meet the criterion of minimum cost. This outstanding performance of the BTS is achieved due to the explorative characteristic of the ABFO, the exploitative characteristic of the TS, and the deadlock releasing property of the ATS.
Figure 2 shows a representation of bacteria movements on the search space of the test functions. Noticeably, large areas of search spaces are explored by the bacteria. In other words, the BTS can provide a highquality solution rapidly because the ABFO provides an elite initial solution to the ATS, and the ATS effectively releases the search from a deadlock or local entrapment while rapidly focuses the search to the solution.
(a)
(b)
(c)
(d)
(e)
The BTS has been applied to a constrained parametric search problem, that is, an identification of the nonlinear friction model. In the next section, experimental setup, and identification results are presented.
4. Identification Results
4.1. Experimental Setup
A closed loop position control system is a necessary test bed for monitoring stickslip phenomenon. The diagram in Figure 3 represents the experimental setup. The linear slide bed is the controlled plant consisting of a dc motor, a threaded rod, a reflector, and an ultrasonic transducer (UC3000UIE2). The effective moving range of the reflector is 0–400 mm with the home position at the middle. In test mode, the motion control circuit performs an initial test move of the reflector for the whole range and, eventually, places the reflector at the home position.
For the reflector to follow a ramp command, a closed loop position control has been built. The hardware components consist of a PC as a Pcontroller, a 12bit ADC, a 2Qdrive circuit, a current sensor, an ultrasonic transducer, a 2ndorder differentiator producing a speed signal from a position signal, and a few signal conditioning circuits including zerospan circuits and a bipolar voltage generator, respectively, and a dc power supply. In control mode, the motion follows an updown ramp command directing the reflector to move rightward (positive direction, rampup command) and leftward (negative direction, rampdown command). The reflector moves in the range of 50–350 mm in the control mode. A desired speed can be set via the keyboard of the PC functioning as a Pcontroller.
4.2. Nonlinear Friction Model
When two solid materials translating over one another at very low velocity, a stickslip phenomenon occurs. This phenomenon is caused by nonlinear friction characteristics also known as Stribeck’s effect [40]. An effective model describing the friction can be represented by the curve in Figure 4, and is referred to as complex friction model or Stribeck model [41–43]. When an applied force to a mass cannot overcome the static friction, which is represented by either or depending on the direction of motion, the mass cannot move.
This situation is referred to as stick mode, and described by the stickfriction force Once the applied force is greater than the static friction, the mass begins moving. After a certain period of time, the mass keeps up a higher velocity during which it encounters both Coulomb and viscous frictions. This situation is known as slip mode and described by the slipfriction force To cover the whole velocity range, the friction force can be expressed in a compact form as
4.3. Objective Function Implementation
During the search process to identify the friction model parameters, an objective function has to be evaluated repeatedly. To calculate the objective function, it is assumed that the translational dynamic can be represented by the massspring model as follows: in which the parameters , , , , and are to be identified. Below is the procedural list for objective function calculation.
Step 1. Calculate an average displacement . For rampingup motion, calculate an approximated force . For rampingdown motion, calculate an approximated force . An approximated force .
Step 2. If then .
If then .
If then .
Step 3. Calculate .
If then .
If then .
Step 4. Calculate the following forces: externally applied force—, spring force—, internally applied force—, stick friction force—if then , if then , if then , and slip friction force—.
Step 5. Calculate velocity and displacement of the mass:
.
If then otherwise .
.
Step 6. Calculate the objective function:
Step 7. Return to main search.
4.4. Algorithm Implementation
Regarding this identification problem, the mass (m) is known, kg. There are 5 parameters to be searched, that is, , , , , and , respectively. The termination criterion is either or. The procedural list below presents the implemented algorithm for this identification problem.
Step 1. Initialization: search parameters: , , , , , , , , , , , , and n_re_back = 5}, search spaces: , , , , and .
Step 2. Randomly assign real values to the parameters to be searched for sets. Calculate the corresponding objective functions. Select the solution set having the best objective function, and store it in the variable .
Step 3. Calculate the objective functions, , with taken into account according to (2.1). Assign .
Step 4. Random the value of in . Use (2.2) to calculate . Calculate the next parameters, , according to (2.3). Calculate the objective functions .
Step 5. Evaluate the objective functions: if () then (), otherwise remains unchanged. Update by using until iteration count = .
Step 6. Repeat Steps 3 to 5 for times.
Step 7. Evaluate the objective functions, J. Assign best_θ = minimum value of just found. Assign the current best solutions as the initial solutions, S_{0}, and their corresponding objective functions as the initial J_{0} values.
Step 8. In the neighborhood of with the search radius R, create randomly N sets of solutions and store them in the set S_{1}(r). Calculate the objective functions for all solutions according to the procedures described in Section 4.3.
Step 9. Based on the objective functions, do minimum sorting for the solutions in S_{1}(r). Assign best_neighbor1 = solutions with minimum objective functions and their objective functions = J_{1}.
Step 10. If () then (store in the 2nd–6th columns of TL, and store in the 7th column of TL), otherwise (store and in the TL).
Step 11 (backtracking mechanism). If the frequency of solution cycling occurrence is equal to BT, do minimum sorting for the previous solutions stored in the TL, retrieve the 5th backward solution set, and assign it as the initial solution set for the next search move.
Step 12. If ( or ) then (terminate the search, exit and render the best solutions).
Step 13 (Adaptive search radius mechanism). If (best_error < 15) then ().
If (best_error < 8) then ().
If (best_error < 3) then ().
Step 14. Go to Step 8 until computing expires.
4.5. Results and Discussions
4.5.1. Identification
Due to the strong nonlinearity in friction force, it is necessary to identify two sets of model parameters corresponding to rightward and leftward motions. Referring to Figure 5, the illustrated graphs correspond to the rightward motion, that is, rampup command of 5 mm/s, that uses the data in the range of 112–295 mm for identification. The convergence curve in Figure 5(a) indicates that the search terminated by . The cost of the returned results is . The obtained parameters are as follows: N, N, Ns/mm, mm/s, N/mm}. The experimental data and the model plots for displacement and force exerted by motor are illustrated in Figures 5(b) and 5(c), respectively. Good agreement between the experiment and the model can be observed.
(a)
(b)
(c)
For the leftward motion, that is, rampdown command of −5 mm/s, the graphical displays of identification results are shown in Figure 6. The data used for identification are in the range of 325–127 mm. As indicated by the convergence curve in Figure 6(a), the search terminated at the 528th iteration and returned the solutions with the cost . The obtained parameters are as follows: N, , Ns/mm, mm/s, N/mm}. The experimental data and the model plots in Figures 6(b) and 6(c) show a good agreement.
(a)
(b)
(c)
4.5.2. Validation
Model validation was conducted for both directions of motion. Figure 7 illustrates the experimental data and the model plots for the rightward direction covering two ranges, that is, 44–112 mm and 295–352 mm. Figures 7(a) and 7(b) display the plots of the displacement and the force exerted by motor for 44–112 mm range. Similarly, the results for 295–352 mm range are shown in Figures 7(c) and 7(d). For the leftward direction covering 352–325 mm and 127–68 mm ranges, similar graphical displays are illustrated in Figures 8(a) and 8(b). Very good agreement among the practical and the theoretical results can be observed.
(a)
(b)
(c)
(d)
(a)
(b)
(c)
(d)
Furthermore, the friction curves based on model plots are shown against the experimental data in Figure 9. Very good agreement between the two can be observed. Therefore, the identified models are very good representations of the nonlinear friction forces.
5. Conclusions
This paper has proposed new metaheuristics denoted as bacterial foragingtabu search (BTS), which are formed from the adaptive bacterial foraging optimization algorithm (ABFO) and the adaptive tabu search (ATS). The paper has elaborated the search performance assessment among the ABFO, ATS, GA, and BTS. The proposed BTS algorithms provide superior search performances as the presentation appears in Section 3. The algorithms have been applied to identify 5 parameters of the Stribeck friction model. An experimental bed of a closedloop position control of a linear slide bed was constructed at the laboratory. The system setup is described in Section 4. Several test runs of ramp command following control were conducted for the slide bed to follow ±5 mm/s commands such that the slide bed pronouncedly exhibited stickslip. The experimental data were split into 2 groups for identification and validation purposes. Section 4 also elaborates important issues of objective function and algorithm implementations as well as identification results. As a result of model validation, very satisfactory model parameters have been identified by the proposed metaheuristics.
Nomenclature
(A) Algorithms:  Maximum iteration 
:  Coefficient representing the depth of attractant released 
:  Coefficient representing the height of the repellant effect 
n_re_back:  kth backtracking solution retrieved from the TL 
:  Number of parameters to be optimized 
:  Coefficient representing the width of the attractant signal 
:  Coefficient representing the width of the repellant by the cell 
:  Adaptive radius 
:  Frequency of solution cycling 
:  Step size taken in random direction specified by the tumble 
:  Cost value of th bacterium 
:  Number of the neighbourhood 
:  Number of iterations to be carried out in a chemotactic loop 
:  Maximum number of elimination and dispersal events 
:  Number of reproduction loop 
:  Swimming length after which tumbling of bacteria in a chemotactic loop 
:  Probability with which the elimination and dispersal continues 
:  Search radius 
:  Number of bacteria in the population 
:  A half of number of bacteria (S/2) 
TL:  Tabu list 
:  A positive constant 
:  Random vector on 
:  Position of th bacterium. 
BF:  Bohachevsky function 
RF:  Rastrigin function 
SchF:  Schwefel function 
ShuF:  Shubert function 
SF:  Shekel’s foxholes function. 
a:  Gear ratio = 5.9 
i:  Motor current (A) 
:  Gravity constant (N/mm) 
:  Ball screw lead = 5 mm 
:  Mass (kg) 
:  Number of data 
v:  Velocity (mm/s) 
vss:  Crossover velocity (mm/s) 
:  Displacement of spring (mm) 
:  Displacement of mass (mm) 
:  Viscous friction coefficient Nm/rad/sec 
:  External input force (N) 
:  Friction force (N) 
:  Friction force of motor (N) 
:  Internal input force (N) 
:  Force equivalent to the inertia of motor (Nm) 
:  Inertia of motor Kg·m^{2} 
:  Inertia to force conversion factor = 
:  Linear to angular velocity conversion factor = (rad/m) 
:  Torque constant of motor N/A 
:  Torque to ball screw force conversion factor = 
:  Coulomb friction (N) 
:  Static friction (N) 
:  Viscous friction (Ns/mm) 
:  Moment (Nm) 
:  Displacement from measured (mm) 
:  Velocity band around zero velocity mm/s 
:  Notation for the term 
:  Gear box efficiency = 0.81 
:  Ball screw efficiency = 0.925 
:  Proportional controller gain. 
Acknowledgments
The authors are thankful to the Royal Golden Jubilee Ph.D. Program under Grant PHD/0091/2551 for the research grants as well as some partial fundings available from Suranaree University of Technology.