# Parameter Determination of Milling Process Using a Novel Teaching-Learning-Based Optimization Algorithm

Authors: Zhibo Zhai; Shujuan Li; Yong Liu
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

Cutting parameter optimization dramatically affects the production time, cost, profit rate, and the quality of the final products, in milling operations. Aiming to select the optimum machining parameters in multitool milling operations such as corner milling, face milling, pocket milling, and slot milling, this paper presents a novel version of TLBO, TLBO with dynamic assignment learning strategy (DATLBO), in which all the learners are divided into three categories based on their results in “Learner Phase”: good learners, moderate learners, and poor ones. Good learners are self-motivated and try to learn by themselves; each moderate learner uses a probabilistic approach to select one of good learners to learn; each poor learner also uses a probabilistic approach to select several moderate learners to learn. The CEC2005 contest benchmark problems are first used to illustrate the effectiveness of the proposed algorithm. Finally, the DATLBO algorithm is applied to a multitool milling process based on maximum profit rate criterion with five practical technological constraints. The unit time, unit cost, and profit rate from the Handbook (HB), Feasible Direction (FD) method, Genetic Algorithm (GA) method, five other TLBO variants, and DATLBO are compared, illustrating that the proposed approach is more effective than HB, FD, GA, and five other TLBO variants.


---

## Body

## 1. Introduction

In modern manufacturing, determining optimal cutting parameters is of great importance to improve the quality of products, to reduce the machining costs, and to maximize the profit rate. The main cutting parameters in multitool milling operations include the feed per tooth, cutting velocity, and the radial and axial depths of cut. The conventional methods of selecting of cutting parameters mainly depend either on the operator experience or on machining data from handbooks. But it is a known fact that the cutting parameters obtained from these resources, in most cases, are extremely conservative. Consequently, it may not perform high productivity. So it is necessary to develop a new technique to investigate the cutting optimization problem.There are many mathematical programming techniques to be used extensively for optimization of cutting parameter over the past few decades. In earlier studies, Gupta et al. [1] developed an integer programming for the determination of optimal subdivision of depth of cut in multipass turning with constraints. Subsequently, Wang et al. [2] used deterministic graphical programming to optimize machining parameters of cutting conditions for single pass turning operations. Shin and Joo [3] used a dynamic programming for the determination of optimum of machining conditions with practical constraints. Petropoulos [4] developed a geometric programming model for the selection optimal selection of machining rate variables.Although these mathematical programming techniques have been applied to solve the cutting parameter optimization problem, these studies have not involved some important cutting constraints. Considering the number of constraints such as surface roughness, cutting force, cutting velocity, machining power, and tool life, cutting parameter optimization problem is very complicated. The additional variables due to number of passes make the solution procedure more complicated. These mathematical programming techniques incline to obtain local optima and may be only useful for a specific problem.Recently, nontraditional optimization approaches recently have been developed to solve the cutting parameter optimization problem. Shunmugam et al. [5] used a Genetic Algorithm (GA) to optimize cutting parameters in multipass milling operations, exploiting total production cost as the objective function. Li et al. [6] developed a two-phase GA to optimize the spindle speed and feed and select the tools for drilling blind holes in parallel drilling operations to obtain the minimum completion time. Krimpenis and Vosniakos [7] used a GA to optimize rough milling for parts with sculptured surfaces and select process parameters such as federate, cutting speed, width of cut, raster pattern angle, spindle speed, and number of machining slices of variable thickness. Although GA has some advantages over traditional techniques, the successful application of GA depends on the population size and the diversity of individual solutions in the search space. If its diversity cannot be maintained before the global optimum is reached, it may prematurely converge to a local optimum. Liu and Wang [8] proposed a modified GA to optimize milling parameter selection. The operating domain is defined and changed to be around the optimal point in its evolutionary processes so that the convergence speed and accuracy are improved. Wang et al. [9] presented a parallel genetic simulated annealing to select optimal machining parameters for multipass milling operations. The Taguchi method was initially used to predict cutting parameter performance measures, and then the GA was utilized to optimize the cutting conditions. Subsequently, Öktem [10] discussed the utilization of Artificial Neural Network (ANN) and GA for predicting the best combinations of cutting parameters to provide the best surface roughness. Li et al. [11] suggested combining the ANN and GA to minimize the make-span in production scheduling problems. António et al. [12] used a GA based on an elitist strategy to minimize manufacturing costs of multipass cutting parameters in face milling operations. Zhou et al. [13] applied fuzzy particle swarm optimization algorithm (PSO) to select the machining parameters for milling operations. Zarei et al. [14] proposed a Harmony Search (HS) algorithm to define the optimum cutting parameters for a multipass face milling operation. Mahdavinejad et al. [15] developed a new hybrid optimization approach by combining the immune algorithm with ANN to predict the effect of milling parameters on the final surface roughness of Ti-6Al-4V work pieces. Briceno et al. [16] selected an ANN for modeling and simulating the milling process. Orthogonal design and specifically equally spaced dimensioning showed that ANN is a good method to define process parameters. Venkata Rao and Pawar [17] used an Artificial Bee Colony (ABC) algorithm to minimize production time of a multipass milling process to determine the optimal process parameters such as the number of passes, depth of cut for each pass, cutting velocity, and feed. Onwubolu [18] used a new optimization technique based on tribes to select the optimum machining parameters in multipass milling operations such as plain milling and face milling by simultaneously considering multipass rough machining and finish machining.Although some improvements in optimizing machining parameters in milling operations have been made, these nontraditional optimization approaches require a lot of specific controlling parameters except for the common parameters such as number of generation and population size. For instance, the GA involves crossover and mutation probability. Similarly, the HS algorithm includes harmony memory considering rate, bandwidth rate, and a random select rate. These specific controlling parameters affect significantly the performance of the above mentioned algorithms. Improper parameters of algorithms either raise total complexity of consumption time or fall into the local optimum. So there remains a need for efficient and effective optimization algorithms for the cutting parameters determination.Very recently, Rao et al. proposed a Teaching-Learning-Based Optimization (TLBO) [19] algorithm. This algorithm does not need specific controlling parameters except for the common parameters such as number of generation and population size. As a stochastic search strategy, it is a new algorithm based on swarm intelligence having the characteristics of rapid convergence, simple computation, and no specific controlling parameters except for the common parameters such as number of generation and population size. However, it has some undesirable dynamical properties that degrade its searching ability [20]. One of the most important issues is that the population tends to be trapped in the local optima solution because of diversity loss. To improve the performance of the original TLBO, a few modified or improved algorithms are proposed in recent years, such as teaching-learning-based optimization with dynamic group strategy (DGSTLBO) [20], teaching-learning-based optimization with neighborhood search (NSTLBO) [21], an elitist teaching-learning-based optimization algorithm (ETLBO) [22], and a variant of teaching-learning-based optimization algorithm with differential learning (DLTLBO) [23]. These modified TLBOs have better performance than the original TLBO on classical benchmark functions. Although the abovementioned variants TLBO have some improvements, they never focus on correct assignment problem. That is to say, each learner should be assured correct assignment of learning objects in the “Learner Phase.” To this aim, we present a novel version of TLBO, TLBO with dynamic assignment learning strategy (DATLBO), in which all the learners are divided into three categories in the “Learner Phase”: good learners, moderate learners, and poor ones. Good learners are self-motivated and try to learn by themselves; each moderate learner uses a probabilistic approach to select one of good learners to learn; each poor learner also uses a probabilistic approach to select several moderate learners to learn. The modification tries to both enable the diversity of the population to be preserved in order to discourage premature convergence and achieve balance between the explorative and exploitative tendencies of achieving better solution. A case study in multitool milling operations is used to verify DATLBO. The results are compared with results from GA [24], the feasible direction method [25], handbook recommendations [26], and five other TLBO variants.The paper is organized as follows. Section2 gives a short introduction to modeling of milling operations. Original TLBO algorithm and the proposed algorithm, DATLBO, are described in Section 3. This case study of multitool milling parameter optimization is presented in Section 4, and the summary and conclusions are given in Section 5. The last section provides the nomenclature.


## 2.
Modeling of Milling Operations

Milling is a machining process which uses rotary multiple tooth cutters to remove material from a work piece. Figure1 displays two kinds of milling operations: end milling and face milling. As the cutter rotates, each tooth removes a small amount of material from the advancing work piece during each spindle revolution.Figure 1
Milling operations.
(a)
End milling
(b)
Face millingIn this study, face milling and end milling operations are considered. For multitool milling operations, it is very important to select the optimum process parameters such as depth of cut, feed per tooth, and cutting velocity. Depth of cut is usually predetermined by the work piece geometry and operation sequence. Hence, determining machining process parameters can be simplified to determining the proper cutting velocity and feed per tooth.


### 2.1. Modeling of Unit Time, Unit Cost, and Profit Rate

The mathematical model of multitool milling operations formulated in this study is based on the research of Tolouei-Rad and Bidhendi [25]. The decision variables considered for this model are cutting velocity (v) and feed per tooth fz. The objective function is to maximize the profit rate. The unit production time for a single part in multitool milling operations is the sum of setup time, machining time, and tool changing time. The unit production time is(1)Tu=ts+∑i=1mtmi+∑i=1mtcti,where the machining time is (2)tmi=πdiK1000vifzizi,i=1,2,…,m.The unit cost for producing of the part in multitool milling operations is the sum of material cost, setup cost, machining cost, tool cost, and tool changing cost. The unit cost is(3)Cu=cmat+cl+cots+∑i=1mcl+cotmi+∑i=1mcl+cotci+ctitmiTi,where the tool life is (4)Ti=60QiCiaei/fzi/5giaeifziwiπdiNi/10001/ni.For multitool milling operations the profit rate is(5)Pr=Sp-cmat+cl+cots+∑i=1mcl+cotmi+∑i=1mcl+cotci+ctitmi/Tits+∑i=1mtmi+∑i=1mtcti.


### 2.2. Milling Process Constraints

Feed per tooth is in the range determined by the minimum and maximum feed per tooth of the machine tool:(6)fzmin≤fz≤fzmax.Optimum cutting velocity is in the range determined by the minimum and maximum cutting velocity of the machine tool:(7)vmin≤v≤vmax.The total cutting force constraint is(8)CFapxFfzyFaeuFzdqFNwFKFC-Fcper≤0.Machining power cannot exceed the effective maximum machining power. Therefore, the power constraint is(9)Fcv1000-ePm≤0.The required surface roughness cannot exceed the maximum allowable surface roughness. Therefore the surface roughness constraint for end milling operations is [25](10)318fz24d-Raat≤0and for face milling constraint is [25] (11)318fztanla+cotca-Raat≤0.


## 2.1. Modeling of Unit Time, Unit Cost, and Profit Rate

The mathematical model of multitool milling operations formulated in this study is based on the research of Tolouei-Rad and Bidhendi [25]. The decision variables considered for this model are cutting velocity (v) and feed per tooth fz. The objective function is to maximize the profit rate. The unit production time for a single part in multitool milling operations is the sum of setup time, machining time, and tool changing time. The unit production time is(1)Tu=ts+∑i=1mtmi+∑i=1mtcti,where the machining time is (2)tmi=πdiK1000vifzizi,i=1,2,…,m.The unit cost for producing of the part in multitool milling operations is the sum of material cost, setup cost, machining cost, tool cost, and tool changing cost. The unit cost is(3)Cu=cmat+cl+cots+∑i=1mcl+cotmi+∑i=1mcl+cotci+ctitmiTi,where the tool life is (4)Ti=60QiCiaei/fzi/5giaeifziwiπdiNi/10001/ni.For multitool milling operations the profit rate is(5)Pr=Sp-cmat+cl+cots+∑i=1mcl+cotmi+∑i=1mcl+cotci+ctitmi/Tits+∑i=1mtmi+∑i=1mtcti.


## 2.2. Milling Process Constraints

Feed per tooth is in the range determined by the minimum and maximum feed per tooth of the machine tool:(6)fzmin≤fz≤fzmax.Optimum cutting velocity is in the range determined by the minimum and maximum cutting velocity of the machine tool:(7)vmin≤v≤vmax.The total cutting force constraint is(8)CFapxFfzyFaeuFzdqFNwFKFC-Fcper≤0.Machining power cannot exceed the effective maximum machining power. Therefore, the power constraint is(9)Fcv1000-ePm≤0.The required surface roughness cannot exceed the maximum allowable surface roughness. Therefore the surface roughness constraint for end milling operations is [25](10)318fz24d-Raat≤0and for face milling constraint is [25] (11)318fztanla+cotca-Raat≤0.


## 3. Teaching-Learning-Based Optimization

### 3.1. TLBO Algorithm

Inspired by the philosophy of teaching and learning, Rao et al. presented a teaching-learning-based optimization (TLBO) [19]. It was developed based on the simulation of a classical learning process in a class. Like other population set-based methods such as GA, DE, and PSO, TLBO also uses a population of candidate solutions, called learners, with their positions initialized randomly from the search space. The teacher is generally referred to as a highly learned person who shares his or her knowledge with the learners in a class. The quality of a teacher affects the outcome (i.e., grads or marks) of learners. Furthermore, learners also learn from interaction between themselves.In original TLBO algorithm, different design variables will be analogous to different subjects offered to learners and the learners’ result is analogous to the “fitness,” as in other population based optimization techniques. The learning process of TLBO is divided into two phases which consists of “Teacher Phase” and “Learner Phase.”Teacher Phase. During teaching phase, the best learner or teacher tries to bring the mean result of the class in a subject taught by him or her who depends on his or her capability. But in practice, a teacher can only move the mean of a class up to close to his or her result to some extent. Suppose that T denotes the teacher and M denotes the mean at any iteration. If T moves M toward its own level mean M, the new mean will be T designated as Mnew. The difference between the existing mean and the new mean is given as follows:(12)Difference_Mean=rMnew-TFM,where r is a random vector in which each element is a random number in the range [0,1]. TF denotes a teaching factor which decides the value of mean to be changed, and the value of TF can be either 1 or 2. Based on (12), the updating formula of the learning for a learner Xi in teacher phase is given by(13)Xnew,i=Xi+DifferenceMean.Learner Phase. During learning phase, each learner interacts with other learners to improve his knowledge. The random interaction of learners is going with the help of formal communications, presentations, group discussions, and so forth. If the other learner have more knowledge than him or her, the learner learns something new. The learner mode is based on the following expression:(14)Xnew,i=Xi+rXi-Xj,Xi+rXj-Xi.


### 3.2. DATLBO Algorithm

In the original TLBO, each learner interacts randomly with other learners in “Learner Phase,” which has certain blindness and does not assure correct assignment of learning objects to each learner. During the course of optimization, this situation results in slower convergence rate of optimization problem. Motivated by the fact, we propose a novel version of TLBO, TLBO with dynamic assignment learning strategy (DATLBO).


#### 3.2.1. Dynamic Assignment Learning Strategy

Study reveals that birds employ different strategies to conduct mating process among their society. The ultimate success of a bird to raise a brood with superior features depends on an appropriate assignment strategy it uses [27]. It is well known that, in the original TLBO, each learner interacts randomly with other learners in “Learner Phase,” which has a certain degree of blindness and does not assure correct assignment of learning objects to each learner. To be more specific, appropriate assignment strategy can play an important role in improving the results of the whole class. Inspired by the above bird mating process, all the learners are divided into three categories based on their results: good learners, moderate learners, and poor ones. The good learners are those learners that have the most result; the moderate learners are those learners that have the better result, and the poor ones are those learners that have bad result. Totally, each category has its own learning pattern. By means of this assignment, entire class is split into different categories of learners as per their level and each learner is assigned an appropriate learning object. The way by which each category produces a candidate solution will be explained below in detail.


#### 3.2.2. Each Category Learning Pattern in the Dynamic Assignment Learning Strategy

Each good learner is able to self-learn without the help of others in “Learner Phase”; that is to say, good learners are self-motivated and try to learn by themselves. Therefore, each good learner tries to increase his or her own knowledge abilities of certain subject by making a small change in her subjects probabilistically. From the optimization view, exploitation of the best solutions found so far is performed by good learners. The self-learning pattern pseudocode of each good learner is implemented in Pseudocode1, where Xnew,i is a newly generated learner according to Xi, D is the problem dimension, r1, r2, r3 are uniformly distributed random numbers in the range [0,1], sf is the self-motivated factor of each good learner, and η denotes the step size.Pseudocode 1
(1)For  c=1 to D do
(2)If  r1>sf
(3)Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(4)Else
(5)Xnew,i(c)=Xi(c);
(6)End If
(7)End ForEach moderate learner selects one of the whole good learners with a probabilistic approach and learns from his own interesting good learner. The assignment good learner has a better chance of being selected with more knowledge. The learning pattern pseudocode of each moderate learner is implemented in Pseudocode2, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting good learner, r is a vector whose each element is distributed randomly in the range [0,1], Xj is the selected object from the whole good learners, sf is the self-motivated factor of each moderate learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 2
(1)Xnew,i=Xi+w×r×Xj-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c);
(4)End IfEach poor learner tends to learn from two or more moderate learners that are selected with a probabilistic approach. The learning pattern pseudocode of each poor learner is implemented in Pseudocode3, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting moderate learner, ni is the number of being selected moderate learners, ri is a vector whose each element, distributed randomly in [0,1], Xj is the jth selected object from the whole moderate learners, r2 is a random number in the range [0,1], sf is the self-motivated factor of each poor learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 3
(1)Xnew,i=Xi+w×∑m=1niri×Xjm-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c)
(4)End IfAs explained above, the pseudocode of the dynamic assignment learning strategy is given in Pseudocode4.Pseudocode 4:The pseudocode of dynamic assignment learning strategy.
Begin
Set: sf = sfmin⁡-(sfmin⁡-sfmax⁡)∗t/tmax⁡; [pp, mm] = sort(fitness); fitness = pp; X = X(mm,:);
(1)For  i=1:n1
(2)For  c=1 to D do
(3) If  r1>sf
(4) Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(5) Else
(6) Xnew,i(c)=Xi(c);
(7) End If
(8)End For
(9)End For
(10) index1 = roulette wheel 1 (fitness, n1, n2);
(11)For  i=1:n2
(12)For  c=1 to D do
(13)Xnew,n1+i(c)=Xn1+i(c)+w×r×Xindex1(c)-Xn1+i(c);
(14)End For
(15) m=randi(D);
(16)If  r1>sf
(17)Xnew,n1+i(m)=l(m)-r2×l(m)-u(m);
(18)End If
(19)End For
(20) index2 = roulette wheel 2 (fitness, n1, n3, nm1);
(21)For  i=1:n3
(22)For  c=1 to D do
(23)For  k=1:nm1
(24)For  c=1 to D do
(25)X3k(c)=rand1,D∗Xindex1(i,k)(c)-Xn1+n2+i(c);
(26)End For
(27)End For
(28)Xnew,n1+n2+i(c)=Xn1+n2+i(c)+w∗sumX3k;
(29)m=randi(D);
(30)If  r1>sf
(31)Xnew,n1+n2+i(m)=l(m)-r2×l(m)-u(m);
(32)End If
(33)End For
(34)End For
End


#### 3.2.3. Each Category Parameters Adjustment in the Dynamic Assignment Learning Strategy

To apply the dynamic assignment learning strategy to DATLBO algorithm, the appropriate parameters have to be tuned. It seems that the most important parameter is the proportion of each learner from the class. It is suggested that the percentages of good learners, moderate learners, and bad learners are, respectively, set to 20, 50, and 30 of the class. Only one assigned good learner and two or three assigned moderate learners will be enough. Self-motivated factor is between 0 and 1.sf can be set between 0.9 and 1. Small values of this parameter may result in bad impact on the performance of the assignment learning strategy. It is better to select sf as an increasing linear function which changes from a small value nearby zero (e.g., 0.1) to a large one nearby 1 (e.g., 0.9). This behavior allows learners to change their subjects abilities at the beginning of the assignment learning strategy with high probability. This probability decreases during the generations and helps the learners to converge to the global solution. The step size η can be selected from the order of 10-2 or 10-3. To provide a good balance between local and global search, w decreases linearly from a value nearby 2 to a small one nearby 0.


### 3.3. The Pseudocode of DATLBO Algorithm

By incorporating the dynamic assignment learning strategy in “Learner Phase” into the original TLBO framework, the DATLBO algorithm is developed. The pseudocode of DATLBO algorithm is presented in Pseudocode5.Pseudocode 5:The pseudocode of DATLBO algorithm.
Input: N, D, K, e, m, t, FESMAX; n1=0.2∗N; n2=0.5∗N; n3=0.3∗N;
w
max
⁡ = 2.5; wmin⁡ = 0.25 = 0.001; sfmax⁡ = 0.9; sfmin⁡ = 0.1; nm1 = 2; K = 3;
(1)t=0;
(2) Generate an initial population:X={x1,x2,…,xN};
(3) FES =N; tmax⁡=floorFESMAX-N/N;
(4)While FES <= FESMAX
(6) Evaluate the objective function values:f(X);
(7) [kk, ll] = min(fitness);
(7) Find the best learner:gbestt;
(8)mbest = mean(X);
(9)For  i=1:N
(10)TF = round(1 + rand);
(11) For  j=1:D
(12)Xnew,i(j)=Xi(j)+rand×gbest(j)-TF×mbest(j);
(13)If  Xnew,i(j)>lu2(j)
(14)Xnew,i(j)=maxlu1(j),2×lu2j-Xnew,i(j)
(15)End If
(16)If  Xnew,i(j)<lu1(j)
(17)Xnew,i(j)=maxlu2(j),2×lu1j-Xnew,i(j);
(18)End If
(19)End For
(20)End For
(21) sf =sfmin⁡-(sfmin⁡-sfmax⁡)∗(t/tmax⁡); [pp, mm] = sort(fitness); fitness = pp; X=X(mm,:)
(22)For  i=1:n1
(23)For  c=1 to D do
(24)If  r1>sf
(25)Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(26)Else
(27)Xnew,i(c)=Xi(c);
(28)End If
(29)End For
(30)End For
(31) index1 = roulette wheel 1 (fitness, n1, n2);
(32)For  i=1:n2
(33)For  c=1 to D do
(34)Xnew,n1+i(c)=Xn1+i(c)+w×r×Xindex1(c)-Xn1+i(c);
(35)End For
(36)m=randi(D);
(37)If  r1>sf
(38)Xnew,n1+i(m)=l(m)-r2×l(m)-u(m);
(39)End If
(40)End For
(41) index2 = roulette wheel 2 (fitness, n1, n3, nm1);
(42)For  i=1:n3
(43)For  c=1 to D do
(44) For  k=1:nm1
(45)  For  c=1 to D do
(46)   X3k(c)=rand1,D∗Xindex1(i,k)(c)-Xn1+n2+i(c);
(47)End For
(48) End For
(49) Xnew,n1+n2+i(c)=Xn1+n2+i(c)+w∗sumX3k;
(50)  m=randi(D);
(51)  If  r1>sf
(52)  Xnew,n1+n2+i(m)=l(m)-r2×l(m)-u(m);
(53)  End If
(54) End For
(55)End For
End


### 3.4. Experiments and Comparisons

#### 3.4.1. Benchmark Functions Used in Experiments

To analyze and compare the performance and accuracy of DATLBO algorithm, a large set of CEC2005 tested benchmark functions are used to do the experiments. Based on the shape characteristics, the set of benchmark functions are grouped into unimodal functions (F1 to F5) and basic multimodal functions (F6 to F12). The brief descriptions of these benchmark functions are listed in Table 1. For more details about the definition of benchmark functions, refer to [28].Table 1
Benchmark functions definition.
Name
Definition
Range
F
1
Shifted sphere function
[50, 100]
F
2
Shifted Schwefel’s problem 1.2
[50, 100]
F
3
Shifted rotated high conditioned elliptic function
[50, 100]
F
4
Shifted Schwefel’s problem 1.2 with noise in fitness
[50, 100]
F
5
Schwefel’s problem 2.6 with global optimum on bounds
[50, 100]
F
6
Shifted Rosenbrock’s function
[50, 100]
F
7
Shifted rotated Griewank’s function without bounds
[300, 600]
F
8
Shifted rotated Ackley’s function with global optimum on bounds
[16, 32]
F
9
Shifted Rastrigin’s function
[2.5, 5]
F
10
Shifted rotated Rastrigin’s function
[2.5, 5]
F
11
Shifted rotated Weierstrass function
[0.25, 0.5]
F
12
Schwefel’s problem 2.13
[50, 100]


#### 3.4.2. Experimental Platform, Termination Criterion, and Parameter

All experiments run in the same machine with a Celoron2.26 GHz CPU, 2 GB memory, and windows XP operating system with Matlab7.9. For the purpose of decreasing statistical errors, all experiments independently run 25 times for twelve test functions of 30 variables and 300,000 function evaluations (FES) as the stopping criterion.The parameter setting of DATLBO algorithm is as follows:N=50, K=3, and number of good learners, moderate learners, and poor learners is set to 10, 25, and 15, respectively; roulette wheel is used as the selection approach; number of being assigned good learners and moderate learners are set to 1 and 2, respectively; self-motivated factor sf=0.9; step size η=10-3. The parameters of other algorithms agree well with the original papers.


#### 3.4.3. Performance Metric

The mean valueFmean and standard deviation (SD) of the function error value Fx-F(x∗) are recorded to evaluate the performance of each algorithm, where F(x) and F(x∗) denote the best fitness value and the real global optimization value of test problem, respectively. To verify whether the overall optimization performance of various algorithms is significantly different, statistical analysis method is used to compare the results obtained by algorithms for kinds of problems. Therefore, to statistically compare DATLBO algorithm with other five algorithms, the statistical tool Wilcoxons rank sum test [29] at a 0.05 significance level is used to evaluate whether the median fitness values (Fmean) of two solutions from any two algorithms.


#### 3.4.4. Numerical Experiments and Results

In this section, DATLBO algorithm is compared with five other TLBO variants. Each corresponding table presents the experimental results, and the last three rows of each table summarize the comparison results. The best results are shown in bold.From the statistical results of Table2, we can see that none of the algorithms can perfectly solve the twelve CEC2005 standard benchmark functions. From the Wilcoxon’s rank sum test listed in the last three rows of Table 2, it is clear that DATLBO algorithm outperforms original TLBO algorithm on test functions except for functions F5, F6, and F7. Although DLTLBO algorithm outperforms DATLBO algorithm on test function F4, DATLBO algorithm is significantly better than DLTLBO algorithm on other test functions such as F1, F3, F6, F8, F9, F10, F11, and F12. By the ensemble of assignment learning strategy, DATLBO algorithm achieves promising results on unimodal and multimodal functions. DATLBO algorithm outperforms TLBO, DGSTLBO, ETLBO, NSTLBO, and DLTLBO algorithms over nine, nine, seven, nine, and nine out of twelve test functions, respectively. The convergence graphs comparison on twelve test functions for D=30 derived from six relevant TLBO algorithms are shown in Figure 2. From the convergence graphs, we can see that our DATLBO algorithm has better convergence speed and solution quality in most cases than other five relevant TLBO algorithms. Therefore, it is interesting to note that the overall performance of DATLBO algorithm is significantly better than original TLBO, ETLBO, NSTLBO, DGSTLBO, and DLTLBO algorithm.Table 2
Results of six algorithms over 25 independent times on 12 test functions of 30 variables with 300,000 FES.
Function
Result
TLBO
DGSTLBO
ETLBO
NSTLBO
DLTLBO
DATLBO
F
1
F
mean SD
2.63E − 27− 1.22E − 27
1.69E − 09− 2.34E − 09
1.49E − 27− 2.11E − 27
9.31E − 20− 1.24E − 19
6.32E − 27− 2.55E − 26
1.86E − 28 4.02E − 29
F
2
F
mean SD
7.81E − 09− 1.06E − 08
1.33E − 08− 1.75E − 09
6.00E − 10− 8.48E − 10
6.01E − 09− 2.05E − 00
1.45E − 14− 2.94E − 15
1.34E − 16 6.95E − 17
F
3
F
mean SD
1.30E − 06− 7.28E − 05
2.12E + 06− 8.88E + 05
2.73E + 05+ 4.57E + 05
1.81E + 06− 4.57E + 05
1.09E + 06− 3.67E + 04
3.66E + 03 2.68E + 03
F
4
F
mean SD
3.58E + 02− 9.37E + 00
2.74E + 02− 1.69E + 02
2.01E + 03− 2.84E + 03
7.83E + 03− 3.48E + 03
3.65E − 01+ 1.38E − 02
1.65E + 02 1.44E + 02
F
5
F
mean SD
2.46E + 03+ 1.05E + 03
4.26E + 03− 8.32E + 02
8.42E + 02− 1.88E + 03
4.24E + 03+ 1.22E + 03
3.27E + 04− 9.02E + 02
5.81E + 03 1.35E + 03
−+ ≈
41 0
41 0
41 0
41 0
41 0
F
6
F
mean SD
1.84E + 01+ 2.81E + 01
6.74E + 02− 7.14E + 02
1.39E + 01
+ 3.10E + 01
9.67E + 01− 6.92E + 01
4.52E + 01
+ 2.16E + 01
5.52E + 01 3.62E + 01
F
7
F
mean SD
4.70E + 03≈ 1.45E − 12
4.70E + 03≈ 6.78E − 13
4.70E + 03≈ 1.49E + 03
4.70E + 03≈ 2.23E − 12
4.70E + 03≈ 3.35E − 14
4.75E + 03 9.59E − 13
F
8
F
mean SD
2.09E + 01− 3.52E − 02
2.09E + 01− 4.71E − 02
2.08E − 01+ 6.35E − 02
2.09E + 01− 4.17E − 02
2.08E + 01− 5.19E − 02
2.00E + 01 5.60E − 02
F
9
F
mean SD
8.86E + 01− 1.38E + 01
6.11E + 01+ 1.17E + 01
2.07E + 01− 4.63E + 01
1.06E + 02≈ 2.48E + 01
2.28E + 01− 2.36E + 01
9.95E − 00 4.45E − 00
F
10
F
mean SD
1.39E + 02 4.17E + 01
1.09E + 02− 7.09E + 01
3.02E + 01 6.76E + 01
1.68E + 02 3.88E + 01
1.12E + 02− 3.35E + 01
1.07E + 01 2.09E + 01
F
11
F
mean SD
3.25E + 01− 6.06E − 00
1.87E + 01≈ 1.90E − 00
6.10E − 00− 1.36E − 01
3.32E + 01− 4.29E − 00
6.15E − 00− 1.52E − 01
6.04E − 00 4.45E − 00
F
12
F
mean SD
7.53E + 03− 7.36E + 03
2.70E + 04− 1.20E + 04
1.15E + 03≈ 2.58E + 03
9.84E + 03− 7.83E + 03
4.05E + 06− 2.22E + 03
2.51E + 03 3.00E + 03
−+ ≈
51 1
51 1
32 2
50 2
51 1
−+ ≈
92 1
92 1
73 2
91 2
92 1
“−”, “+”, and “≈ ” denote that the performance of the corresponding algorithm is significantly worse than, significantly better than, and similar to that of DATLBO, respectively.Figure 2
Convergence graph of the mean function error values derived from six algorithms versus the number of FES on twelve test functions.


## 3.1. TLBO Algorithm

Inspired by the philosophy of teaching and learning, Rao et al. presented a teaching-learning-based optimization (TLBO) [19]. It was developed based on the simulation of a classical learning process in a class. Like other population set-based methods such as GA, DE, and PSO, TLBO also uses a population of candidate solutions, called learners, with their positions initialized randomly from the search space. The teacher is generally referred to as a highly learned person who shares his or her knowledge with the learners in a class. The quality of a teacher affects the outcome (i.e., grads or marks) of learners. Furthermore, learners also learn from interaction between themselves.In original TLBO algorithm, different design variables will be analogous to different subjects offered to learners and the learners’ result is analogous to the “fitness,” as in other population based optimization techniques. The learning process of TLBO is divided into two phases which consists of “Teacher Phase” and “Learner Phase.”Teacher Phase. During teaching phase, the best learner or teacher tries to bring the mean result of the class in a subject taught by him or her who depends on his or her capability. But in practice, a teacher can only move the mean of a class up to close to his or her result to some extent. Suppose that T denotes the teacher and M denotes the mean at any iteration. If T moves M toward its own level mean M, the new mean will be T designated as Mnew. The difference between the existing mean and the new mean is given as follows:(12)Difference_Mean=rMnew-TFM,where r is a random vector in which each element is a random number in the range [0,1]. TF denotes a teaching factor which decides the value of mean to be changed, and the value of TF can be either 1 or 2. Based on (12), the updating formula of the learning for a learner Xi in teacher phase is given by(13)Xnew,i=Xi+DifferenceMean.Learner Phase. During learning phase, each learner interacts with other learners to improve his knowledge. The random interaction of learners is going with the help of formal communications, presentations, group discussions, and so forth. If the other learner have more knowledge than him or her, the learner learns something new. The learner mode is based on the following expression:(14)Xnew,i=Xi+rXi-Xj,Xi+rXj-Xi.


## 3.2. DATLBO Algorithm

In the original TLBO, each learner interacts randomly with other learners in “Learner Phase,” which has certain blindness and does not assure correct assignment of learning objects to each learner. During the course of optimization, this situation results in slower convergence rate of optimization problem. Motivated by the fact, we propose a novel version of TLBO, TLBO with dynamic assignment learning strategy (DATLBO).


### 3.2.1. Dynamic Assignment Learning Strategy

Study reveals that birds employ different strategies to conduct mating process among their society. The ultimate success of a bird to raise a brood with superior features depends on an appropriate assignment strategy it uses [27]. It is well known that, in the original TLBO, each learner interacts randomly with other learners in “Learner Phase,” which has a certain degree of blindness and does not assure correct assignment of learning objects to each learner. To be more specific, appropriate assignment strategy can play an important role in improving the results of the whole class. Inspired by the above bird mating process, all the learners are divided into three categories based on their results: good learners, moderate learners, and poor ones. The good learners are those learners that have the most result; the moderate learners are those learners that have the better result, and the poor ones are those learners that have bad result. Totally, each category has its own learning pattern. By means of this assignment, entire class is split into different categories of learners as per their level and each learner is assigned an appropriate learning object. The way by which each category produces a candidate solution will be explained below in detail.


### 3.2.2. Each Category Learning Pattern in the Dynamic Assignment Learning Strategy

Each good learner is able to self-learn without the help of others in “Learner Phase”; that is to say, good learners are self-motivated and try to learn by themselves. Therefore, each good learner tries to increase his or her own knowledge abilities of certain subject by making a small change in her subjects probabilistically. From the optimization view, exploitation of the best solutions found so far is performed by good learners. The self-learning pattern pseudocode of each good learner is implemented in Pseudocode1, where Xnew,i is a newly generated learner according to Xi, D is the problem dimension, r1, r2, r3 are uniformly distributed random numbers in the range [0,1], sf is the self-motivated factor of each good learner, and η denotes the step size.Pseudocode 1
(1)For  c=1 to D do
(2)If  r1>sf
(3)Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(4)Else
(5)Xnew,i(c)=Xi(c);
(6)End If
(7)End ForEach moderate learner selects one of the whole good learners with a probabilistic approach and learns from his own interesting good learner. The assignment good learner has a better chance of being selected with more knowledge. The learning pattern pseudocode of each moderate learner is implemented in Pseudocode2, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting good learner, r is a vector whose each element is distributed randomly in the range [0,1], Xj is the selected object from the whole good learners, sf is the self-motivated factor of each moderate learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 2
(1)Xnew,i=Xi+w×r×Xj-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c);
(4)End IfEach poor learner tends to learn from two or more moderate learners that are selected with a probabilistic approach. The learning pattern pseudocode of each poor learner is implemented in Pseudocode3, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting moderate learner, ni is the number of being selected moderate learners, ri is a vector whose each element, distributed randomly in [0,1], Xj is the jth selected object from the whole moderate learners, r2 is a random number in the range [0,1], sf is the self-motivated factor of each poor learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 3
(1)Xnew,i=Xi+w×∑m=1niri×Xjm-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c)
(4)End IfAs explained above, the pseudocode of the dynamic assignment learning strategy is given in Pseudocode4.Pseudocode 4:The pseudocode of dynamic assignment learning strategy.
Begin
Set: sf = sfmin⁡-(sfmin⁡-sfmax⁡)∗t/tmax⁡; [pp, mm] = sort(fitness); fitness = pp; X = X(mm,:);
(1)For  i=1:n1
(2)For  c=1 to D do
(3) If  r1>sf
(4) Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(5) Else
(6) Xnew,i(c)=Xi(c);
(7) End If
(8)End For
(9)End For
(10) index1 = roulette wheel 1 (fitness, n1, n2);
(11)For  i=1:n2
(12)For  c=1 to D do
(13)Xnew,n1+i(c)=Xn1+i(c)+w×r×Xindex1(c)-Xn1+i(c);
(14)End For
(15) m=randi(D);
(16)If  r1>sf
(17)Xnew,n1+i(m)=l(m)-r2×l(m)-u(m);
(18)End If
(19)End For
(20) index2 = roulette wheel 2 (fitness, n1, n3, nm1);
(21)For  i=1:n3
(22)For  c=1 to D do
(23)For  k=1:nm1
(24)For  c=1 to D do
(25)X3k(c)=rand1,D∗Xindex1(i,k)(c)-Xn1+n2+i(c);
(26)End For
(27)End For
(28)Xnew,n1+n2+i(c)=Xn1+n2+i(c)+w∗sumX3k;
(29)m=randi(D);
(30)If  r1>sf
(31)Xnew,n1+n2+i(m)=l(m)-r2×l(m)-u(m);
(32)End If
(33)End For
(34)End For
End


### 3.2.3. Each Category Parameters Adjustment in the Dynamic Assignment Learning Strategy

To apply the dynamic assignment learning strategy to DATLBO algorithm, the appropriate parameters have to be tuned. It seems that the most important parameter is the proportion of each learner from the class. It is suggested that the percentages of good learners, moderate learners, and bad learners are, respectively, set to 20, 50, and 30 of the class. Only one assigned good learner and two or three assigned moderate learners will be enough. Self-motivated factor is between 0 and 1.sf can be set between 0.9 and 1. Small values of this parameter may result in bad impact on the performance of the assignment learning strategy. It is better to select sf as an increasing linear function which changes from a small value nearby zero (e.g., 0.1) to a large one nearby 1 (e.g., 0.9). This behavior allows learners to change their subjects abilities at the beginning of the assignment learning strategy with high probability. This probability decreases during the generations and helps the learners to converge to the global solution. The step size η can be selected from the order of 10-2 or 10-3. To provide a good balance between local and global search, w decreases linearly from a value nearby 2 to a small one nearby 0.


## 3.2.1. Dynamic Assignment Learning Strategy

Study reveals that birds employ different strategies to conduct mating process among their society. The ultimate success of a bird to raise a brood with superior features depends on an appropriate assignment strategy it uses [27]. It is well known that, in the original TLBO, each learner interacts randomly with other learners in “Learner Phase,” which has a certain degree of blindness and does not assure correct assignment of learning objects to each learner. To be more specific, appropriate assignment strategy can play an important role in improving the results of the whole class. Inspired by the above bird mating process, all the learners are divided into three categories based on their results: good learners, moderate learners, and poor ones. The good learners are those learners that have the most result; the moderate learners are those learners that have the better result, and the poor ones are those learners that have bad result. Totally, each category has its own learning pattern. By means of this assignment, entire class is split into different categories of learners as per their level and each learner is assigned an appropriate learning object. The way by which each category produces a candidate solution will be explained below in detail.


## 3.2.2. Each Category Learning Pattern in the Dynamic Assignment Learning Strategy

Each good learner is able to self-learn without the help of others in “Learner Phase”; that is to say, good learners are self-motivated and try to learn by themselves. Therefore, each good learner tries to increase his or her own knowledge abilities of certain subject by making a small change in her subjects probabilistically. From the optimization view, exploitation of the best solutions found so far is performed by good learners. The self-learning pattern pseudocode of each good learner is implemented in Pseudocode1, where Xnew,i is a newly generated learner according to Xi, D is the problem dimension, r1, r2, r3 are uniformly distributed random numbers in the range [0,1], sf is the self-motivated factor of each good learner, and η denotes the step size.Pseudocode 1
(1)For  c=1 to D do
(2)If  r1>sf
(3)Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(4)Else
(5)Xnew,i(c)=Xi(c);
(6)End If
(7)End ForEach moderate learner selects one of the whole good learners with a probabilistic approach and learns from his own interesting good learner. The assignment good learner has a better chance of being selected with more knowledge. The learning pattern pseudocode of each moderate learner is implemented in Pseudocode2, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting good learner, r is a vector whose each element is distributed randomly in the range [0,1], Xj is the selected object from the whole good learners, sf is the self-motivated factor of each moderate learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 2
(1)Xnew,i=Xi+w×r×Xj-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c);
(4)End IfEach poor learner tends to learn from two or more moderate learners that are selected with a probabilistic approach. The learning pattern pseudocode of each poor learner is implemented in Pseudocode3, where Xnew,i is a newly generated learner according to Xi, w is a time-varying weight to adjust the importance of the interesting moderate learner, ni is the number of being selected moderate learners, ri is a vector whose each element, distributed randomly in [0,1], Xj is the jth selected object from the whole moderate learners, r2 is a random number in the range [0,1], sf is the self-motivated factor of each poor learner, and u and l are the upper and lower bounds of the elements, respectively.Pseudocode 3
(1)Xnew,i=Xi+w×∑m=1niri×Xjm-Xi;
(2)If  r1>sf
(3)Xnew,i(c)=r2×l(c)-u(c)
(4)End IfAs explained above, the pseudocode of the dynamic assignment learning strategy is given in Pseudocode4.Pseudocode 4:The pseudocode of dynamic assignment learning strategy.
Begin
Set: sf = sfmin⁡-(sfmin⁡-sfmax⁡)∗t/tmax⁡; [pp, mm] = sort(fitness); fitness = pp; X = X(mm,:);
(1)For  i=1:n1
(2)For  c=1 to D do
(3) If  r1>sf
(4) Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(5) Else
(6) Xnew,i(c)=Xi(c);
(7) End If
(8)End For
(9)End For
(10) index1 = roulette wheel 1 (fitness, n1, n2);
(11)For  i=1:n2
(12)For  c=1 to D do
(13)Xnew,n1+i(c)=Xn1+i(c)+w×r×Xindex1(c)-Xn1+i(c);
(14)End For
(15) m=randi(D);
(16)If  r1>sf
(17)Xnew,n1+i(m)=l(m)-r2×l(m)-u(m);
(18)End If
(19)End For
(20) index2 = roulette wheel 2 (fitness, n1, n3, nm1);
(21)For  i=1:n3
(22)For  c=1 to D do
(23)For  k=1:nm1
(24)For  c=1 to D do
(25)X3k(c)=rand1,D∗Xindex1(i,k)(c)-Xn1+n2+i(c);
(26)End For
(27)End For
(28)Xnew,n1+n2+i(c)=Xn1+n2+i(c)+w∗sumX3k;
(29)m=randi(D);
(30)If  r1>sf
(31)Xnew,n1+n2+i(m)=l(m)-r2×l(m)-u(m);
(32)End If
(33)End For
(34)End For
End


## 3.2.3. Each Category Parameters Adjustment in the Dynamic Assignment Learning Strategy

To apply the dynamic assignment learning strategy to DATLBO algorithm, the appropriate parameters have to be tuned. It seems that the most important parameter is the proportion of each learner from the class. It is suggested that the percentages of good learners, moderate learners, and bad learners are, respectively, set to 20, 50, and 30 of the class. Only one assigned good learner and two or three assigned moderate learners will be enough. Self-motivated factor is between 0 and 1.sf can be set between 0.9 and 1. Small values of this parameter may result in bad impact on the performance of the assignment learning strategy. It is better to select sf as an increasing linear function which changes from a small value nearby zero (e.g., 0.1) to a large one nearby 1 (e.g., 0.9). This behavior allows learners to change their subjects abilities at the beginning of the assignment learning strategy with high probability. This probability decreases during the generations and helps the learners to converge to the global solution. The step size η can be selected from the order of 10-2 or 10-3. To provide a good balance between local and global search, w decreases linearly from a value nearby 2 to a small one nearby 0.


## 3.3. The Pseudocode of DATLBO Algorithm

By incorporating the dynamic assignment learning strategy in “Learner Phase” into the original TLBO framework, the DATLBO algorithm is developed. The pseudocode of DATLBO algorithm is presented in Pseudocode5.Pseudocode 5:The pseudocode of DATLBO algorithm.
Input: N, D, K, e, m, t, FESMAX; n1=0.2∗N; n2=0.5∗N; n3=0.3∗N;
w
max
⁡ = 2.5; wmin⁡ = 0.25 = 0.001; sfmax⁡ = 0.9; sfmin⁡ = 0.1; nm1 = 2; K = 3;
(1)t=0;
(2) Generate an initial population:X={x1,x2,…,xN};
(3) FES =N; tmax⁡=floorFESMAX-N/N;
(4)While FES <= FESMAX
(6) Evaluate the objective function values:f(X);
(7) [kk, ll] = min(fitness);
(7) Find the best learner:gbestt;
(8)mbest = mean(X);
(9)For  i=1:N
(10)TF = round(1 + rand);
(11) For  j=1:D
(12)Xnew,i(j)=Xi(j)+rand×gbest(j)-TF×mbest(j);
(13)If  Xnew,i(j)>lu2(j)
(14)Xnew,i(j)=maxlu1(j),2×lu2j-Xnew,i(j)
(15)End If
(16)If  Xnew,i(j)<lu1(j)
(17)Xnew,i(j)=maxlu2(j),2×lu1j-Xnew,i(j);
(18)End If
(19)End For
(20)End For
(21) sf =sfmin⁡-(sfmin⁡-sfmax⁡)∗(t/tmax⁡); [pp, mm] = sort(fitness); fitness = pp; X=X(mm,:)
(22)For  i=1:n1
(23)For  c=1 to D do
(24)If  r1>sf
(25)Xnew,i(c)=Xi(c)+η×r2-r3+Xi(c);
(26)Else
(27)Xnew,i(c)=Xi(c);
(28)End If
(29)End For
(30)End For
(31) index1 = roulette wheel 1 (fitness, n1, n2);
(32)For  i=1:n2
(33)For  c=1 to D do
(34)Xnew,n1+i(c)=Xn1+i(c)+w×r×Xindex1(c)-Xn1+i(c);
(35)End For
(36)m=randi(D);
(37)If  r1>sf
(38)Xnew,n1+i(m)=l(m)-r2×l(m)-u(m);
(39)End If
(40)End For
(41) index2 = roulette wheel 2 (fitness, n1, n3, nm1);
(42)For  i=1:n3
(43)For  c=1 to D do
(44) For  k=1:nm1
(45)  For  c=1 to D do
(46)   X3k(c)=rand1,D∗Xindex1(i,k)(c)-Xn1+n2+i(c);
(47)End For
(48) End For
(49) Xnew,n1+n2+i(c)=Xn1+n2+i(c)+w∗sumX3k;
(50)  m=randi(D);
(51)  If  r1>sf
(52)  Xnew,n1+n2+i(m)=l(m)-r2×l(m)-u(m);
(53)  End If
(54) End For
(55)End For
End


## 3.4. Experiments and Comparisons

### 3.4.1. Benchmark Functions Used in Experiments

To analyze and compare the performance and accuracy of DATLBO algorithm, a large set of CEC2005 tested benchmark functions are used to do the experiments. Based on the shape characteristics, the set of benchmark functions are grouped into unimodal functions (F1 to F5) and basic multimodal functions (F6 to F12). The brief descriptions of these benchmark functions are listed in Table 1. For more details about the definition of benchmark functions, refer to [28].Table 1
Benchmark functions definition.
Name
Definition
Range
F
1
Shifted sphere function
[50, 100]
F
2
Shifted Schwefel’s problem 1.2
[50, 100]
F
3
Shifted rotated high conditioned elliptic function
[50, 100]
F
4
Shifted Schwefel’s problem 1.2 with noise in fitness
[50, 100]
F
5
Schwefel’s problem 2.6 with global optimum on bounds
[50, 100]
F
6
Shifted Rosenbrock’s function
[50, 100]
F
7
Shifted rotated Griewank’s function without bounds
[300, 600]
F
8
Shifted rotated Ackley’s function with global optimum on bounds
[16, 32]
F
9
Shifted Rastrigin’s function
[2.5, 5]
F
10
Shifted rotated Rastrigin’s function
[2.5, 5]
F
11
Shifted rotated Weierstrass function
[0.25, 0.5]
F
12
Schwefel’s problem 2.13
[50, 100]


### 3.4.2. Experimental Platform, Termination Criterion, and Parameter

All experiments run in the same machine with a Celoron2.26 GHz CPU, 2 GB memory, and windows XP operating system with Matlab7.9. For the purpose of decreasing statistical errors, all experiments independently run 25 times for twelve test functions of 30 variables and 300,000 function evaluations (FES) as the stopping criterion.The parameter setting of DATLBO algorithm is as follows:N=50, K=3, and number of good learners, moderate learners, and poor learners is set to 10, 25, and 15, respectively; roulette wheel is used as the selection approach; number of being assigned good learners and moderate learners are set to 1 and 2, respectively; self-motivated factor sf=0.9; step size η=10-3. The parameters of other algorithms agree well with the original papers.


### 3.4.3. Performance Metric

The mean valueFmean and standard deviation (SD) of the function error value Fx-F(x∗) are recorded to evaluate the performance of each algorithm, where F(x) and F(x∗) denote the best fitness value and the real global optimization value of test problem, respectively. To verify whether the overall optimization performance of various algorithms is significantly different, statistical analysis method is used to compare the results obtained by algorithms for kinds of problems. Therefore, to statistically compare DATLBO algorithm with other five algorithms, the statistical tool Wilcoxons rank sum test [29] at a 0.05 significance level is used to evaluate whether the median fitness values (Fmean) of two solutions from any two algorithms.


### 3.4.4. Numerical Experiments and Results

In this section, DATLBO algorithm is compared with five other TLBO variants. Each corresponding table presents the experimental results, and the last three rows of each table summarize the comparison results. The best results are shown in bold.From the statistical results of Table2, we can see that none of the algorithms can perfectly solve the twelve CEC2005 standard benchmark functions. From the Wilcoxon’s rank sum test listed in the last three rows of Table 2, it is clear that DATLBO algorithm outperforms original TLBO algorithm on test functions except for functions F5, F6, and F7. Although DLTLBO algorithm outperforms DATLBO algorithm on test function F4, DATLBO algorithm is significantly better than DLTLBO algorithm on other test functions such as F1, F3, F6, F8, F9, F10, F11, and F12. By the ensemble of assignment learning strategy, DATLBO algorithm achieves promising results on unimodal and multimodal functions. DATLBO algorithm outperforms TLBO, DGSTLBO, ETLBO, NSTLBO, and DLTLBO algorithms over nine, nine, seven, nine, and nine out of twelve test functions, respectively. The convergence graphs comparison on twelve test functions for D=30 derived from six relevant TLBO algorithms are shown in Figure 2. From the convergence graphs, we can see that our DATLBO algorithm has better convergence speed and solution quality in most cases than other five relevant TLBO algorithms. Therefore, it is interesting to note that the overall performance of DATLBO algorithm is significantly better than original TLBO, ETLBO, NSTLBO, DGSTLBO, and DLTLBO algorithm.Table 2
Results of six algorithms over 25 independent times on 12 test functions of 30 variables with 300,000 FES.
Function
Result
TLBO
DGSTLBO
ETLBO
NSTLBO
DLTLBO
DATLBO
F
1
F
mean SD
2.63E − 27− 1.22E − 27
1.69E − 09− 2.34E − 09
1.49E − 27− 2.11E − 27
9.31E − 20− 1.24E − 19
6.32E − 27− 2.55E − 26
1.86E − 28 4.02E − 29
F
2
F
mean SD
7.81E − 09− 1.06E − 08
1.33E − 08− 1.75E − 09
6.00E − 10− 8.48E − 10
6.01E − 09− 2.05E − 00
1.45E − 14− 2.94E − 15
1.34E − 16 6.95E − 17
F
3
F
mean SD
1.30E − 06− 7.28E − 05
2.12E + 06− 8.88E + 05
2.73E + 05+ 4.57E + 05
1.81E + 06− 4.57E + 05
1.09E + 06− 3.67E + 04
3.66E + 03 2.68E + 03
F
4
F
mean SD
3.58E + 02− 9.37E + 00
2.74E + 02− 1.69E + 02
2.01E + 03− 2.84E + 03
7.83E + 03− 3.48E + 03
3.65E − 01+ 1.38E − 02
1.65E + 02 1.44E + 02
F
5
F
mean SD
2.46E + 03+ 1.05E + 03
4.26E + 03− 8.32E + 02
8.42E + 02− 1.88E + 03
4.24E + 03+ 1.22E + 03
3.27E + 04− 9.02E + 02
5.81E + 03 1.35E + 03
−+ ≈
41 0
41 0
41 0
41 0
41 0
F
6
F
mean SD
1.84E + 01+ 2.81E + 01
6.74E + 02− 7.14E + 02
1.39E + 01
+ 3.10E + 01
9.67E + 01− 6.92E + 01
4.52E + 01
+ 2.16E + 01
5.52E + 01 3.62E + 01
F
7
F
mean SD
4.70E + 03≈ 1.45E − 12
4.70E + 03≈ 6.78E − 13
4.70E + 03≈ 1.49E + 03
4.70E + 03≈ 2.23E − 12
4.70E + 03≈ 3.35E − 14
4.75E + 03 9.59E − 13
F
8
F
mean SD
2.09E + 01− 3.52E − 02
2.09E + 01− 4.71E − 02
2.08E − 01+ 6.35E − 02
2.09E + 01− 4.17E − 02
2.08E + 01− 5.19E − 02
2.00E + 01 5.60E − 02
F
9
F
mean SD
8.86E + 01− 1.38E + 01
6.11E + 01+ 1.17E + 01
2.07E + 01− 4.63E + 01
1.06E + 02≈ 2.48E + 01
2.28E + 01− 2.36E + 01
9.95E − 00 4.45E − 00
F
10
F
mean SD
1.39E + 02 4.17E + 01
1.09E + 02− 7.09E + 01
3.02E + 01 6.76E + 01
1.68E + 02 3.88E + 01
1.12E + 02− 3.35E + 01
1.07E + 01 2.09E + 01
F
11
F
mean SD
3.25E + 01− 6.06E − 00
1.87E + 01≈ 1.90E − 00
6.10E − 00− 1.36E − 01
3.32E + 01− 4.29E − 00
6.15E − 00− 1.52E − 01
6.04E − 00 4.45E − 00
F
12
F
mean SD
7.53E + 03− 7.36E + 03
2.70E + 04− 1.20E + 04
1.15E + 03≈ 2.58E + 03
9.84E + 03− 7.83E + 03
4.05E + 06− 2.22E + 03
2.51E + 03 3.00E + 03
−+ ≈
51 1
51 1
32 2
50 2
51 1
−+ ≈
92 1
92 1
73 2
91 2
92 1
“−”, “+”, and “≈ ” denote that the performance of the corresponding algorithm is significantly worse than, significantly better than, and similar to that of DATLBO, respectively.Figure 2
Convergence graph of the mean function error values derived from six algorithms versus the number of FES on twelve test functions.


## 3.4.1. Benchmark Functions Used in Experiments

To analyze and compare the performance and accuracy of DATLBO algorithm, a large set of CEC2005 tested benchmark functions are used to do the experiments. Based on the shape characteristics, the set of benchmark functions are grouped into unimodal functions (F1 to F5) and basic multimodal functions (F6 to F12). The brief descriptions of these benchmark functions are listed in Table 1. For more details about the definition of benchmark functions, refer to [28].Table 1
Benchmark functions definition.
Name
Definition
Range
F
1
Shifted sphere function
[50, 100]
F
2
Shifted Schwefel’s problem 1.2
[50, 100]
F
3
Shifted rotated high conditioned elliptic function
[50, 100]
F
4
Shifted Schwefel’s problem 1.2 with noise in fitness
[50, 100]
F
5
Schwefel’s problem 2.6 with global optimum on bounds
[50, 100]
F
6
Shifted Rosenbrock’s function
[50, 100]
F
7
Shifted rotated Griewank’s function without bounds
[300, 600]
F
8
Shifted rotated Ackley’s function with global optimum on bounds
[16, 32]
F
9
Shifted Rastrigin’s function
[2.5, 5]
F
10
Shifted rotated Rastrigin’s function
[2.5, 5]
F
11
Shifted rotated Weierstrass function
[0.25, 0.5]
F
12
Schwefel’s problem 2.13
[50, 100]


## 3.4.2. Experimental Platform, Termination Criterion, and Parameter

All experiments run in the same machine with a Celoron2.26 GHz CPU, 2 GB memory, and windows XP operating system with Matlab7.9. For the purpose of decreasing statistical errors, all experiments independently run 25 times for twelve test functions of 30 variables and 300,000 function evaluations (FES) as the stopping criterion.The parameter setting of DATLBO algorithm is as follows:N=50, K=3, and number of good learners, moderate learners, and poor learners is set to 10, 25, and 15, respectively; roulette wheel is used as the selection approach; number of being assigned good learners and moderate learners are set to 1 and 2, respectively; self-motivated factor sf=0.9; step size η=10-3. The parameters of other algorithms agree well with the original papers.


## 3.4.3. Performance Metric

The mean valueFmean and standard deviation (SD) of the function error value Fx-F(x∗) are recorded to evaluate the performance of each algorithm, where F(x) and F(x∗) denote the best fitness value and the real global optimization value of test problem, respectively. To verify whether the overall optimization performance of various algorithms is significantly different, statistical analysis method is used to compare the results obtained by algorithms for kinds of problems. Therefore, to statistically compare DATLBO algorithm with other five algorithms, the statistical tool Wilcoxons rank sum test [29] at a 0.05 significance level is used to evaluate whether the median fitness values (Fmean) of two solutions from any two algorithms.


## 3.4.4. Numerical Experiments and Results

In this section, DATLBO algorithm is compared with five other TLBO variants. Each corresponding table presents the experimental results, and the last three rows of each table summarize the comparison results. The best results are shown in bold.From the statistical results of Table2, we can see that none of the algorithms can perfectly solve the twelve CEC2005 standard benchmark functions. From the Wilcoxon’s rank sum test listed in the last three rows of Table 2, it is clear that DATLBO algorithm outperforms original TLBO algorithm on test functions except for functions F5, F6, and F7. Although DLTLBO algorithm outperforms DATLBO algorithm on test function F4, DATLBO algorithm is significantly better than DLTLBO algorithm on other test functions such as F1, F3, F6, F8, F9, F10, F11, and F12. By the ensemble of assignment learning strategy, DATLBO algorithm achieves promising results on unimodal and multimodal functions. DATLBO algorithm outperforms TLBO, DGSTLBO, ETLBO, NSTLBO, and DLTLBO algorithms over nine, nine, seven, nine, and nine out of twelve test functions, respectively. The convergence graphs comparison on twelve test functions for D=30 derived from six relevant TLBO algorithms are shown in Figure 2. From the convergence graphs, we can see that our DATLBO algorithm has better convergence speed and solution quality in most cases than other five relevant TLBO algorithms. Therefore, it is interesting to note that the overall performance of DATLBO algorithm is significantly better than original TLBO, ETLBO, NSTLBO, DGSTLBO, and DLTLBO algorithm.Table 2
Results of six algorithms over 25 independent times on 12 test functions of 30 variables with 300,000 FES.
Function
Result
TLBO
DGSTLBO
ETLBO
NSTLBO
DLTLBO
DATLBO
F
1
F
mean SD
2.63E − 27− 1.22E − 27
1.69E − 09− 2.34E − 09
1.49E − 27− 2.11E − 27
9.31E − 20− 1.24E − 19
6.32E − 27− 2.55E − 26
1.86E − 28 4.02E − 29
F
2
F
mean SD
7.81E − 09− 1.06E − 08
1.33E − 08− 1.75E − 09
6.00E − 10− 8.48E − 10
6.01E − 09− 2.05E − 00
1.45E − 14− 2.94E − 15
1.34E − 16 6.95E − 17
F
3
F
mean SD
1.30E − 06− 7.28E − 05
2.12E + 06− 8.88E + 05
2.73E + 05+ 4.57E + 05
1.81E + 06− 4.57E + 05
1.09E + 06− 3.67E + 04
3.66E + 03 2.68E + 03
F
4
F
mean SD
3.58E + 02− 9.37E + 00
2.74E + 02− 1.69E + 02
2.01E + 03− 2.84E + 03
7.83E + 03− 3.48E + 03
3.65E − 01+ 1.38E − 02
1.65E + 02 1.44E + 02
F
5
F
mean SD
2.46E + 03+ 1.05E + 03
4.26E + 03− 8.32E + 02
8.42E + 02− 1.88E + 03
4.24E + 03+ 1.22E + 03
3.27E + 04− 9.02E + 02
5.81E + 03 1.35E + 03
−+ ≈
41 0
41 0
41 0
41 0
41 0
F
6
F
mean SD
1.84E + 01+ 2.81E + 01
6.74E + 02− 7.14E + 02
1.39E + 01
+ 3.10E + 01
9.67E + 01− 6.92E + 01
4.52E + 01
+ 2.16E + 01
5.52E + 01 3.62E + 01
F
7
F
mean SD
4.70E + 03≈ 1.45E − 12
4.70E + 03≈ 6.78E − 13
4.70E + 03≈ 1.49E + 03
4.70E + 03≈ 2.23E − 12
4.70E + 03≈ 3.35E − 14
4.75E + 03 9.59E − 13
F
8
F
mean SD
2.09E + 01− 3.52E − 02
2.09E + 01− 4.71E − 02
2.08E − 01+ 6.35E − 02
2.09E + 01− 4.17E − 02
2.08E + 01− 5.19E − 02
2.00E + 01 5.60E − 02
F
9
F
mean SD
8.86E + 01− 1.38E + 01
6.11E + 01+ 1.17E + 01
2.07E + 01− 4.63E + 01
1.06E + 02≈ 2.48E + 01
2.28E + 01− 2.36E + 01
9.95E − 00 4.45E − 00
F
10
F
mean SD
1.39E + 02 4.17E + 01
1.09E + 02− 7.09E + 01
3.02E + 01 6.76E + 01
1.68E + 02 3.88E + 01
1.12E + 02− 3.35E + 01
1.07E + 01 2.09E + 01
F
11
F
mean SD
3.25E + 01− 6.06E − 00
1.87E + 01≈ 1.90E − 00
6.10E − 00− 1.36E − 01
3.32E + 01− 4.29E − 00
6.15E − 00− 1.52E − 01
6.04E − 00 4.45E − 00
F
12
F
mean SD
7.53E + 03− 7.36E + 03
2.70E + 04− 1.20E + 04
1.15E + 03≈ 2.58E + 03
9.84E + 03− 7.83E + 03
4.05E + 06− 2.22E + 03
2.51E + 03 3.00E + 03
−+ ≈
51 1
51 1
32 2
50 2
51 1
−+ ≈
92 1
92 1
73 2
91 2
92 1
“−”, “+”, and “≈ ” denote that the performance of the corresponding algorithm is significantly worse than, significantly better than, and similar to that of DATLBO, respectively.Figure 2
Convergence graph of the mean function error values derived from six algorithms versus the number of FES on twelve test functions.


## 4. Case Study for Milling Operation

### 4.1. Problem Description

In order to compare the performance of the DATLBO algorithm with the other algorithms, a case study from [25] is used to test. A work piece has four machined features, namely, a step, pocket, and two slots. The milling operation schematic is shown in Figure 3. The three-dimensional view is in Figure 3(a), the front view is in Figure 3(b), and the top view is in Figure 3(c). The objective is to find optimum machining parameters with the maximum profit rate. Table 4 shows the limits of the cutting velocity and feed per tooth for this case study. Five milling operations, face milling, corner milling, pocket milling, slot milling 1, and slot milling 2, respectively, are in Table 3. The data for the tools for each operation are in Table 5.Table 3
Milling operations.
Operation
Operation type
Tool number
a
e (mm)
K (mm)
R
a (mm)
F
c (per)
1
Face milling
1
10
450
2
156,449.4
2
Corner milling
2
5
90
6
17,117.74
3
Pocket milling
2
10
450
5
17,117.74
4
Slot milling 1
3
10
32
—
14,264.78
5
Slot milling 2
3
5
84
1
14,264.78Table 4
Cutting velocity and feed per tooth ranges.
Operation
Operation type
Cutting velocity limits(m/min)
Feed per tooth limits(mm/tooth)
1
Face milling
60–120
0.05–0.4
2
Corner milling
40–70
0.05–0.5
3
Pocket milling
40–70
0.05–0.5
4
Slot milling 1
30–50
0.05–0.5
5
Slot milling 2
30–50
0.05–0.5Table 5
Tools data.
Too
Tool type
Quality
d (mm)
z
Price ($)
l
a
c
a
1
Face mill
Carbide
50
6
49.50
45
5
2
End mill
HSS
10
4
7.55
0
5
3
End mill
HSS
12
4
7.55
0
5Figure 3
Milling operation schematic.
(a)
Three-dimensional view
(b)
Front view
(c)
Top viewThe machine tool is a vertical CNC milling machine;Pm=8.5 kW and e=95%. The work piece material is 10L50l leaded steel with hardness = 225 BHN. Other data include Sp=$25, Cmat=$0.55, Co=1.45 $/min, Cl=0.45 $/min, ts=2 min, tct=0.5 min, C=33.98 for HSS tools, w=0.28, C=100.05 for carbide tools, Kp=2.24, n=0.15 for HSS tools, n=0.53 for carbide tools, and g=0.14, CF=7900, xF=1.0, yF=0.75, uF=1.1, qF=1.3, wF=0.2, and KFC=0.25; all the data are from [25].


### 4.2. Applications of DATLBO Algorithm to Case Study

In this case study, Deb’s heuristic constrained handling method is used to handle the constraints with the DATLBO and five other TLBO variants. A tournament selection operator is used in Deb’s heuristic method [30] to select and compare the two solutions. The following three heuristic rules are implemented:Rule 1: if one solution is feasible and the other infeasible, the feasible solution is preferred.Rule 2: if both the solutions are feasible, the solution having the better objective function value is preferred.Rule 3: if both solutions are infeasible, the solution having the least constraint violation is preferred.These rules are implemented at the end of the teacher and learner phases. Deb’s constraint handling methods are used to select the new solution. For this case study, the DATLBO and five other TLBO variants are run for 25 times and the termination condition is a maximum number of 300,000 function evaluation. The population size and the dimension are set to 30 and 10, respectively.Tables6–11 show the optimal feed per tooth and cutting velocity obtained by the DATLBO and five other TLBO variants, respectively, for five operations when the maximum profit rate is reached. Figures 4–6 and Table 12 compare the unit cost, unit time, and profit rate obtained by the HB, FD, GA, DATLBO, and five other TLBO variants. Compared to the HB solution, the unit cost decreases by 38%, 39%, 40%, 41%, 43%, 41%, 45%, and 46%, the unit time decreases by 41%, 44%, 46%, 48%, 48%, 47%, 47%, and 51%, and the profit rate increases by 2.51, 2.73, 2.94, 3.00, 3.18, 2.96, 3.25, and 3.66 times for the FD, GA, TLBO, DGSTLBO, ETLBO, NSTLBO, DLTLBO, and DATLBO, respectively. The maximum profit rate given by the DATLBO algorithm is 3.31 $/min, which is better than all the other optimization methods used for the same model.Table 6
Optimal results obtained by TLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
90.2536
0.3706
10.91
5.04
2.80
60.8891
0.2196
50.3567
0.2712
34.5682
0.1509
39.3216
0.3991Table 7
Optimal results obtained by DGSTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
89.3821
0.4872
10.90
4.92
2.86
42.3654
0.4035
41.2251
0.4902
42.8636
0.4662
44.2648
0.4628Table 8
Optimal results obtained by ETLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
91.7539
0.4638
10.54
4.87
2.97
71.3328
0.3898
60.1682
0.4026
38.2543
0.4502
35.3826
0.4026Table 9
Optimal results obtained by NSTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
91.3682
0.3831
10.89
5.01
2.81
58.9875
0.2537
54.3568
0.3633
38.4828
0.2086
41.3682
0.4128Table 10
Optimal results obtained by DLTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
90.4209
0.3905
9.97
4.98
3.02
60.3259
0.2686
52.6538
0.3562
35.3864
0.2482
40.6637
0.5129Table 11
Optimal results obtained by DATLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
95.5829
0.3931
9.82
4.61
3.31
43.6843
0.3902
43.8542
0.4879
40.2535
0.3085
41.9932
0.4873Table 12
Comparison of results for milling case study by various methods.
Method
C
u, unit cost ($)
T
u, unit time (min)
P
r, profit rate ($/min)
Handbook [26]
18.36
9.40
0.71
FD [25]
11.35
5.48
2.49
GA [24]
11.11
5.22
2.65
TLBO
10.91
5.04
2.80
DGSTLBO
10.90
4.92
2.86
ETLBO
10.54
4.87
2.97
NSTLBO
10.89
5.01
2.81
DLTLBO
9.97
4.98
3.02
DATLBO
9.82
4.61
3.31Figure 4
Comparison of unit cost obtained by various methods.Figure 5
Comparison of unit time obtained by various methods.Figure 6
Comparison of profit rate obtained by various methods.


## 4.1. Problem Description

In order to compare the performance of the DATLBO algorithm with the other algorithms, a case study from [25] is used to test. A work piece has four machined features, namely, a step, pocket, and two slots. The milling operation schematic is shown in Figure 3. The three-dimensional view is in Figure 3(a), the front view is in Figure 3(b), and the top view is in Figure 3(c). The objective is to find optimum machining parameters with the maximum profit rate. Table 4 shows the limits of the cutting velocity and feed per tooth for this case study. Five milling operations, face milling, corner milling, pocket milling, slot milling 1, and slot milling 2, respectively, are in Table 3. The data for the tools for each operation are in Table 5.Table 3
Milling operations.
Operation
Operation type
Tool number
a
e (mm)
K (mm)
R
a (mm)
F
c (per)
1
Face milling
1
10
450
2
156,449.4
2
Corner milling
2
5
90
6
17,117.74
3
Pocket milling
2
10
450
5
17,117.74
4
Slot milling 1
3
10
32
—
14,264.78
5
Slot milling 2
3
5
84
1
14,264.78Table 4
Cutting velocity and feed per tooth ranges.
Operation
Operation type
Cutting velocity limits(m/min)
Feed per tooth limits(mm/tooth)
1
Face milling
60–120
0.05–0.4
2
Corner milling
40–70
0.05–0.5
3
Pocket milling
40–70
0.05–0.5
4
Slot milling 1
30–50
0.05–0.5
5
Slot milling 2
30–50
0.05–0.5Table 5
Tools data.
Too
Tool type
Quality
d (mm)
z
Price ($)
l
a
c
a
1
Face mill
Carbide
50
6
49.50
45
5
2
End mill
HSS
10
4
7.55
0
5
3
End mill
HSS
12
4
7.55
0
5Figure 3
Milling operation schematic.
(a)
Three-dimensional view
(b)
Front view
(c)
Top viewThe machine tool is a vertical CNC milling machine;Pm=8.5 kW and e=95%. The work piece material is 10L50l leaded steel with hardness = 225 BHN. Other data include Sp=$25, Cmat=$0.55, Co=1.45 $/min, Cl=0.45 $/min, ts=2 min, tct=0.5 min, C=33.98 for HSS tools, w=0.28, C=100.05 for carbide tools, Kp=2.24, n=0.15 for HSS tools, n=0.53 for carbide tools, and g=0.14, CF=7900, xF=1.0, yF=0.75, uF=1.1, qF=1.3, wF=0.2, and KFC=0.25; all the data are from [25].


## 4.2. Applications of DATLBO Algorithm to Case Study

In this case study, Deb’s heuristic constrained handling method is used to handle the constraints with the DATLBO and five other TLBO variants. A tournament selection operator is used in Deb’s heuristic method [30] to select and compare the two solutions. The following three heuristic rules are implemented:Rule 1: if one solution is feasible and the other infeasible, the feasible solution is preferred.Rule 2: if both the solutions are feasible, the solution having the better objective function value is preferred.Rule 3: if both solutions are infeasible, the solution having the least constraint violation is preferred.These rules are implemented at the end of the teacher and learner phases. Deb’s constraint handling methods are used to select the new solution. For this case study, the DATLBO and five other TLBO variants are run for 25 times and the termination condition is a maximum number of 300,000 function evaluation. The population size and the dimension are set to 30 and 10, respectively.Tables6–11 show the optimal feed per tooth and cutting velocity obtained by the DATLBO and five other TLBO variants, respectively, for five operations when the maximum profit rate is reached. Figures 4–6 and Table 12 compare the unit cost, unit time, and profit rate obtained by the HB, FD, GA, DATLBO, and five other TLBO variants. Compared to the HB solution, the unit cost decreases by 38%, 39%, 40%, 41%, 43%, 41%, 45%, and 46%, the unit time decreases by 41%, 44%, 46%, 48%, 48%, 47%, 47%, and 51%, and the profit rate increases by 2.51, 2.73, 2.94, 3.00, 3.18, 2.96, 3.25, and 3.66 times for the FD, GA, TLBO, DGSTLBO, ETLBO, NSTLBO, DLTLBO, and DATLBO, respectively. The maximum profit rate given by the DATLBO algorithm is 3.31 $/min, which is better than all the other optimization methods used for the same model.Table 6
Optimal results obtained by TLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
90.2536
0.3706
10.91
5.04
2.80
60.8891
0.2196
50.3567
0.2712
34.5682
0.1509
39.3216
0.3991Table 7
Optimal results obtained by DGSTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
89.3821
0.4872
10.90
4.92
2.86
42.3654
0.4035
41.2251
0.4902
42.8636
0.4662
44.2648
0.4628Table 8
Optimal results obtained by ETLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
91.7539
0.4638
10.54
4.87
2.97
71.3328
0.3898
60.1682
0.4026
38.2543
0.4502
35.3826
0.4026Table 9
Optimal results obtained by NSTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
91.3682
0.3831
10.89
5.01
2.81
58.9875
0.2537
54.3568
0.3633
38.4828
0.2086
41.3682
0.4128Table 10
Optimal results obtained by DLTLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
90.4209
0.3905
9.97
4.98
3.02
60.3259
0.2686
52.6538
0.3562
35.3864
0.2482
40.6637
0.5129Table 11
Optimal results obtained by DATLBO algorithm for milling case study.
Cutting velocity
Feed per tooth
Unit cost
Unit time
Profit rate
(m/min)
(mm/tooth)
($)
(min)
($/min)
95.5829
0.3931
9.82
4.61
3.31
43.6843
0.3902
43.8542
0.4879
40.2535
0.3085
41.9932
0.4873Table 12
Comparison of results for milling case study by various methods.
Method
C
u, unit cost ($)
T
u, unit time (min)
P
r, profit rate ($/min)
Handbook [26]
18.36
9.40
0.71
FD [25]
11.35
5.48
2.49
GA [24]
11.11
5.22
2.65
TLBO
10.91
5.04
2.80
DGSTLBO
10.90
4.92
2.86
ETLBO
10.54
4.87
2.97
NSTLBO
10.89
5.01
2.81
DLTLBO
9.97
4.98
3.02
DATLBO
9.82
4.61
3.31Figure 4
Comparison of unit cost obtained by various methods.Figure 5
Comparison of unit time obtained by various methods.Figure 6
Comparison of profit rate obtained by various methods.


## 5. Summary and Conclusions

A novel version TLBO algorithm, the DATLBO algorithm, is proposed for cutting parameter selection of a multitool milling operation. In the proposed DATLBO algorithm, all the learners are divided into three categories based on their results in “Learner Phase”: good learners, moderate learners, and poor ones. Good learners are self-motivated and try to learn by themselves; each moderate learner uses a probabilistic approach to select one of good learners to learn; each poor learner also uses a probabilistic approach to select several moderate learners to learn. The DATLBO is applied to a case study for a multitool milling selection problem based on maximum profit rate criterion with five practical technological constraints. Significant improvements are obtained with the DATLBO algorithm in comparison to the results by HB, FD, GA, TLBO, DGSTLBO, ETLBO, NSTLBO, and DLTLBO algorithms. These results show that the DATLBO algorithm is an important alternative for optimization of machining parameters in multitool milling operations.



---

*Source: 425689-2015-11-22.xml*