Keywords

1 Introduction

Optimization is the selection of parameters within range to get the best solution possible while satisfying all constraints. It is used in various fields like engineering, medicine, economics, etc. There are many techniques available for optimization. Linear programming, nonlinear programming, quadratic programming, dynamic programming, geometric programming, generalized reduced radiant method, etc. are some of the traditional optimization techniques. These algorithms are commonly used for solving simple optimization problems. But, whenever we fail to solve any problem with traditional techniques, we find new ways to solve such problems. Many researchers have developed algorithms based on natural phenomenon. Genetic algorithm (GA) is inspired by Charles Darwin’s theory of natural evolution [1]. This algorithm uses the survival of the fittest criterion. Evolution strategies (ESs) also use principles of natural evolution [2]. Some other popular optimization algorithms are simulated annealing (SA), ant colony optimization (ACO), differential evolution (DE), cultural algorithm (CA), particle swarm optimization (PSO), evolutionary programming (EP), etc. [3].

Teaching-learning-based optimization (TLBO) algorithm is based on a relationship between teacher and students. Sample population considered for optimization can be considered as a group of students. Various design variables considered for evaluation are similar to different subjects taught in a class. Teacher in TLBO is analogous to the best solution so far. It works in two phases: teacher phase and learner phase. In mTLBO algorithm, modification was suggested in the learner phase.

In this paper, TLBO algorithm is discussed along with mTLBO. This paper is organized as follows: Sect. 2 gives summary of material and method used. Section 3 provides basic idea of TLBO algorithm. Section 4 explains the modification made in TLBO algorithm. Section 5 states the standard design problems. In Sect. 6, results are compared and discussed. In Sect. 7, paper is concluded.

2 Materials and Methods

Many evolutionary algorithms have been proved good for solving optimization problems. PSO was used to optimize various types of heat exchangers [4]. Artificial bee colony (ABC) algorithm was used to optimize mechanical draft counter flow wet-cooling tower [5]. The performance of these algorithms greatly depends upon their own algorithm-specific parameters. For example, PSO requires tuning of inertia weight and cognitive and social parameters, and GA requires tuning of mutation probability, selection operator, cross-over probability, etc. Also there are other issues like computation time and cost, convergence rate, population or swarm size, etc. which are of much concern. There were several modifications and variants made to overcome these problems.

TLBO algorithm was proposed to overcome parameter dependency of other algorithms [6]. Main advantage of this algorithm is that it is independent of any algorithm-specific parameters. It was successfully used for optimization of various engineering applications like casting process, flat plate solar air heater Stirling engine, etc. Recently, TLBO algorithm was used for thermo-economic analysis and optimization of a solar micro-CCHP [7]. Also TLBO along with DE was used for optimization of critical parameters of PEM fuel cell [8]. However, there are some drawbacks of TLBO algorithm like convergence to local optimal solution, slow convergence rate and large computational time for complex functions. Therefore, some modifications in the original algorithm were suggested in mTLBO algorithm [9]. Along with basic teaching-learning process, concept of tutorials was incorporated in the algorithm by adding one term in learner phase.

A hybrid approach based on differential evolution and tissue P systems (DETPS) was used to solve some standard design problems [10]. Modified differential evolution (MDE) algorithm and two-hybrid approaches, local search hybrid (MA-MDE) and harmony search hybrid (MDE-IHS) were also used by a researcher to optimize these problems [11]. TLBO or mTLBO algorithms have not been used to optimize these problems. In this paper, both TLBO and mTLBO algorithms are applied to these problems. The results are compared with DETPS, MDE, MA-MDE and MDE-HIS algorithms.

3 TLBO

Following are the five steps in working of TLBO algorithm.

3.1 Problem Statement or Function Definition

Mathematical modeling of given problem is required for its optimization. Population size (N) is determined according to complexity of problem, number of design variables (D), constraints (G), etc. Population size and number of design variables are analogous to number of students and number of subjects, respectively.

3.2 Initialization

Population of i rows and j columns is generated randomly using following equation:

$$X\begin{array}{*{20}c} {} \\ {\left( {i, j} \right)} \\ \end{array} = X\begin{array}{*{20}c} { {\min} } \\ j \\ \end{array} + \left( {X\begin{array}{*{20}c} { {\max} } \\ j \\ \end{array} - X\begin{array}{*{20}c} { {\min} } \\ j \\ \end{array} } \right) * {\text{rand}}$$
(1)

where rand represents a uniformly distributed random variable within the range (0, 1), and Xmin and Xmax represent minimum and maximum value for jth parameter, respectively. Initial solution is obtained by using these values in objective function and constraints.

3.3 Teacher Phase

Mean of each subject is calculated. The learner which gives the least objective function value (for minimization problem) is considered as the teacher for respective iteration. In this phase, mean of learners is shifted toward their teacher. Difference mean is calculated using following equation:

$${\text{Diff}}\_{\text{mean}}\_X\begin{array}{*{20}c} {} \\ {\left( {i, j} \right)} \\ \end{array} = r\left( {{\text{Teacher}}\_X\begin{array}{*{20}c} {} \\ j \\ \end{array} - {\text{mean}}\_X\begin{array}{*{20}c} {} \\ j \\ \end{array} } \right)$$
(2)

This difference mean is added to respective X(i, j), and new function values are obtained. Initial solution and newly obtained solution are compared, and the best function values are selected. This modified solution is the teacher phase solution.

3.4 Learner Phase

In this phase, the learners interact with each other. The process of mutual random interactions tends to improve their knowledge. For a given learner Xi, another learner Xr is randomly selected (i ≠ r). The ith parameter of the matrix Xnew in the learner phase is given as

$$\begin{array}{*{20}c} {X_{\text{new}} \begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} = X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} + {\text{rand * }}\left( {X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} - X\begin{array}{*{20}c} g \\ {\left( r \right)} \\ \end{array} } \right)\;{\text{if}}\;X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} < X\begin{array}{*{20}c} g \\ {\left( r \right)} \\ \end{array} } \\ {\text{or}} \\ {X_{\text{new}} \begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} = X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} + {\text{rand * }}\left( {X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} - X\begin{array}{*{20}c} g \\ {\left( r \right)} \\ \end{array} } \right)\;{\text{if}}\;X\begin{array}{*{20}c} g \\ {\left( i \right)} \\ \end{array} < X\begin{array}{*{20}c} g \\ {\left( r \right)} \\ \end{array} } \\ \end{array}$$
(3)

New function values are obtained, and newly obtained solution is compared with teacher phase solution, and the best function values are selected. This modified solution is the learner phase solution.

3.5 Algorithm Termination

After some iteration, final solution is obtained, and algorithm is terminated.

4 mTLBO Algorithm

In this algorithm, teacher phase remains same. Only learner phase is modified. Concept of tutorials given by teacher to students is used to improve the final solution. TLBO may not always give global optimum solution. It sometimes provides local optimum solution. To obtain global solution, an extra term was added to learner phase equation mentioned in Sect. (3.4).

$$\begin{array}{*{20}l} {X_{{{\text{new}}}} \begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} = X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} + {\text{rand*}}\left( {X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} - X\begin{array}{*{20}l} g \\ {\left( r \right)} \\ \end{array} } \right) + 0.5*\left( {1 + {\text{rand}}} \right)} \\ {*\left( {X\begin{array}{*{20}l} g \\ {{\text{Teacher}}} \\ \end{array} - X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} } \right)\;{\text{if}}\;X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} {\text{ < }}X\begin{array}{*{20}l} g \\ {\left( r \right)} \\ \end{array} } \\ {{\text{or}}} \\ {X_{{{\text{new}}}} \begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} = X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} + {\text{rand*}}\left( {X\begin{array}{*{20}l} g \\ {\left( r \right)} \\ \end{array} - X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} } \right) + 0.5*\left( {1 + {\text{rand}}} \right)} \\ {*\left( {X\begin{array}{*{20}l} g \\ {{\text{Teacher}}} \\ \end{array} - X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} } \right)\;{\text{if}}\;X\begin{array}{*{20}l} g \\ {\left( r \right)} \\ \end{array} {\text{ < }}X\begin{array}{*{20}l} g \\ {\left( i \right)} \\ \end{array} {\text{ }}} \\ \end{array}$$
(4)

where \(X^{g}_{\text{Teacher}}\) is the minimum objective function value after teacher phase.

5 Optimization Problems

Six design problems are chosen for optimization [12]. They contain continuous and binary type variables. Details of the problems are given in Appendix.

6 Results and Discussions

For both TLBO and mTLBO algorithms, population size of 50 is selected in all problems. Mean solution for each problem was obtained after extensive number of runs. Numbers of evaluations were calculated for each run, and average numbers of evaluations are taken into consideration. Standard deviation (SD) was also calculated among the population in all problems. Mean SD was calculated for all problems. Results are obtained for TLBO and mTLBO algorithms as shown in Table 1.

Table 1 Results of TLBO and mTLBO

From Table 1, it can be observed that mTLBO gives the least value of function in all problems, but the difference in solution of both TLBO and mTLBO is small. Table 2 gives the comparison of results obtained by various algorithms.

Table 2 Statistical result of mean solutions, standard deviations and numbers of evaluations

From Table 2, various observations can be made. Smallest function value is obtained by using mTLBO algorithm in all problems. For problems 2 and 4, TLBO also gives the least function value. Also mTLBO solves the problems in minimum number of evaluations. Standard deviation (SD) seems to be the least in case of DETPS except in problem 05 where MA-MDE has the minimum SD.

7 Conclusions

Following conclusions are drawn from the results obtained:

  1. i.

    Modified teaching-learning-based optimization algorithm (mTLBO) gives the best solution in all problems satisfying all constraints.

  2. ii.

    Compared with other algorithms, mTLBO has faster convergence rate.

  3. iii.

    Teaching-learning-based optimization (TLBO) algorithm gives better results than all algorithms except mTLBO.

  4. iv.

    Both TLBO and mTLBO give better solution in different types of problems and hence can be used in many engineering applications.