Introduction

Problems of scheduling occur in many economic domains like airplane scheduling, train scheduling, time table scheduling and especially in the shop scheduling of manufacturing organizations. Scheduling is a crucial factor to improve the productivity of any organization and to meet the deadlines (due dates). Effective scheduling has become mandatory to the manufacturing organizations to maintain the good will among their customers and for survival in the market. Among all the shop scheduling problems, FJSP is the most difficult NP-hard (non-deterministic polynomial time hard) problem till date as pointed out by Garey et al. (1976). The completion time of the last job that leaves the shop floor is defined as the makespan for a scheduling problem by Pinedo (2008). A NP-hard problem is a kind of problem that even a small change in problem size results in exponential increase of computation time. An FJSP consists of all the complexities involved in solving a basic JSP like sequencing problem (i.e., arrangement of operations allotted to a given machine) and additionally, it has routing problem (i.e., each operation’s allocation to a machine from given set of machines). The method of solving routing problem first and then the sequencing problem is known as hierarchical approach. Most of the researchers have chosen hierarchical approach to solve FJSP. Because, encoding a meta-heuristic to FJSP is easier in hierarchical approach than an integrated approach. But the integrated approach is more powerful as it reduces the computational burden because both the sub-problems of FJSP are tackled simultaneously. So an effort is put in this paper to apply proposed teaching–learning-based optimization (TLBO) in an integrated approach. A recent work by Garmdare et al. (2017) best demonstrates the integrated approach in scheduling problem. TLBO is proposed by Rao et al. (2011) has been applied to different kinds of optimization problems in the past. TLBO is found to be one of the efficient algorithms to give good quality solutions in a reasonable computation time. TLBO has been applied to different scheduling problems like permutation flow shop scheduling by Xie et al. (2014), for job shop scheduling by Keesari and Rao (2014), for flow shop and job shop scheduling cases by Baykasoglu et al. (2014), for flexible job shop scheduling with fuzzy processing times by Xu et al. (2015), for re-entrant flexible flow shop by Shen et al. (2016) and for different scheduling problems by Buddala and Mahapatra (2016, 2017) and it is found that TLBO is one of the efficient meta-heuristic that can be applied to these scheduling problems. So, research is focused in this paper to apply TLBO to solve the NP-hard FJSP.

An effort to solve FJSP is first done by Brucker and Schlie (1990). They solved an FJSP problem with two jobs using a polynomial algorithm. Due to its complexity of FJSP, no exact method has been proposed to solve all sizes of FJSP problems till date. It is not always possible to obtain near optimal solutions to such an NP-hard problem in a reasonable computation time. Therefore, many heuristic and meta-heuristic techniques have been proposed in the recent past to generate near optimal solutions. Brandimarte (1993), based on integrated approach, has applied dispatching rules to solve the routing problem and used tabu search (TS) to solve sequencing problem. The most used algorithm to solve FJSP is genetic algorithm (GA). Chen et al. (1999) have applied GA for the first time, in hierarchical approach using chromosomal representation. Pezzella et al. (2008) have applied GA by integrating several rules to generate initial population, selection and crossover parameters. Gao et al. (2008) have applied GA with advanced mutation and crossover operators and hybridized GA with variable neighborhood descent (VND) technique to increase the search ability of FJSP. Zhang et al. (2011) proposed an improved chromosome representation for GA with a specially designed global selection and local selection parameters to generate good quality solutions. Chang et al. (2015) have proposed a hybrid taguchi GA to solve FJSP. It is a method that encodes feasible solutions to the initial chromosomes developed with Taguchi method behind mating. This is to increase the effectiveness of GA and to increase solution quality. Gambardella and Mastrolilli (1996) have developed two neighborhood functions using local search techniques and proposed two hybrid TS algorithms to solve single objective and multi objective FJSP, respectively. Kacem et al. (2002a) have proposed a pareto-optimal approach by hybridization of evolutionary algorithms and fuzzy logic to solve multi objective FJSP. Kacem et al. (2002b) have proposed two approaches called approach by localization and evolutionary approach to solve FJSP with makespan criterion in hierarchical approach. Based on the behavior of flying birds (the swarm intelligence), Xia and Wu (2005) have applied particle swarm optimization (PSO). By hybridizing PSO with the local search algorithm called simulated annealing (SA) to solve multi-objective FJSP. Singh and Mahapatra (2012) and Singh and Mahapatra (2016) have proposed PSO and quantum behaved particle swarm optimization (QPSO), respectively, using chaotic numbers generated from logistic mapping function instead of random numbers to solve FJSP. Fattahi et al. (2007) have proposed a mathematical model and used different heuristic techniques to solve FJSP. Six different hybrid heuristics were proposed and results show that hybrid algorithm combination of TS and SA outperformed other heuristic combinations. Garmsiri and Abassi (2012) and Liouane et al. (2007) have used a combination of ant system (AS) algorithm with TS algorithm. They proposed a hybrid ant colony optimization (HACO) to solve six FJSP problems where TS is used as a local search algorithm. Xing et al. (2010) have proposed a knowledge-based ant colony approach (KBACO) by integrating the knowledge model to ant colony optimization (ACO) to solve FJSP. Xing et al. (2009a) have proposed a new simulation model to solve multi-objective FJSP. Xing et al. (2009b) have proposed a new algorithm based on some empirical knowledge to solve multi-objective FJSP. Bagheri et al. (2010) have applied an artificial immune algorithm (AIA) to solve FJSP. Li et al. (2010) have proposed a hybrid tabu search algorithm (HTSA) to solve multi-objective FJSP where a variable neighborhood structure with two adaptive rules is used to hybridize TS to increase its local search ability. Based on the application of multiple independent searches that increase the exploration of search space, Yazdani et al. (2010) have proposed a parallel variable neighborhood search (PVNS) technique. This technique uses various neighborhood techniques to solve FJSP. Based on the natural phenomenon of bee colony, Wang et al. (2012) have proposed an artificial bee colony (ABC) algorithm to solve FJSP with makespan criterion. Li et al. (2014) have proposed a discrete artificial bee colony (DABC) to solve FJSP considering the preventive maintenance and non-preventive maintenance conditions. Based on the migration strategy of animals from one place to another, Rahmati and Zandieh (2012) have proposed a bio-geography-based optimization (BBO) to solve FJSP. Yuan et al. (2013) have proposed a hybrid harmony search (HHS) algorithm based on an integrated approach. Some local search technique is embedded in the harmony search algorithm to solve FJSP. Using some existing heuristics applied to harmony search (HS), Gao et al. (2016) have proposed a discrete harmony search (DHS) to solve multi-objective FJSP. Karthikeyan et al. (2015) have proposed a hybrid discrete firefly algorithm (HDFA) to solve multi-objective FJSP. Maleki-Darounkolaei et al. (2012), Noori-Darvish and Tavakkoli-Moghaddam (2012), Mirabi et al. (2014) and Kia et al. (2017) worked on sequence-dependent scheduling problems. Nouri et al. (2017) proposed a holonic multiagent model to solve FJSP.

Problem formulation

As JSP itself is an NP-hard, its extension FJSP is also an NP-hard. To find an optimal solution to an NP-hard problem in a reasonable computation time, is not always possible. Therefore, it is advisable to find a near optimal solution using meta-heuristic techniques in a reasonable computation time than searching an optimal solution with great computational effort. In a flexible job-shop scheduling problem, n jobs are to be arranged on m machines such that all the operations are executed successfully. There are n jobs (i = 1, 2, 3, …, n) with each job i having a predetermined number of operations J (j = 1, 2, 3, …, J) in a sequence that are to be executed on m machines (k = 1, 2, 3, … m). Manne (1960) proposed FJSP in a mixed integer linear programming (MILP) formulation with the following assumptions. All machines are different from each other. All jobs are different from each other. Machine breakdown during the operations is not allowed (non-preemption condition, i.e., an operation without any interruption must be completed). Any machine can perform at most one operation at an instant (resource constraint).

The following are the notations used for MILP formulation:

\(m\) :

Total number of machines

\(n\) :

Total number of jobs

\(Oij\) :

ith job’s jth operation

\(Ji\) :

ith job’s total number of operations

\(Pijk\) :

\(Oij\) operation’s processing time if performed on machine k

\(B\) :

A big number

\(Mij\) :

Number of machines available for processing operation \(Oij\)

\(Sijk\) :

Begin time of operation \(Oij\) on machine k

\(Cijk\) :

Completion time of operation \(Oij\) on machine k

\(Ci\) :

Final completion time of job i in shop floor

Cm :

Makespan

\(i, h\) :

Job index (1, 2, 3, …, n)

\(j, g\) :

Operation index (1, 2, 3, …, Ji)

\(k\) :

Machine index (1, 2, 3, …, m)

\(Xijk\) :

1, if Oij is executed on machine k

0, otherwise

\(Zijhgk\) :

1, if operation \(Ohg\) succeeds operation \(Oij\) on machine k

0, otherwise

The objective is to minimize makespan

$$Cm \ge Ci \quad \forall i$$
(1)

Subject to constraints

$$Ci \ge \sum Cijk \quad \forall k \in Mij \quad \& \quad \forall i,j \in Ji$$
(2)
$$Sijk + Cijk \le Xijk*B\quad \forall k \in Mij \quad \& \quad \forall i,j \in Ji$$
(3)
$$Cijk - Sijk \ge Pijk - \left( {1 - Xijk} \right)*B \quad \forall k \in Mij \quad \& \quad \forall i,j \in Ji$$
(4)
$$Sijk - Cjgk \ge \left( {Zijhgk} \right)*B \quad \forall i \le h, \quad \forall j\quad \& \quad k \in Mij \cap Mhg$$
(5)
$$Sijk - Cjgk \ge \left( {1 - Zijhgk} \right)*B \quad \forall i \le h, \quad \forall j\quad \& \quad k \in Mij \cap Mhg$$
(6)
$$\sum Sijk - \sum C\left( {ij - 1} \right)k \ge 0 \quad \forall i, \quad \forall j = \left( {2,3, \ldots , Ji} \right) \quad \& \quad \forall k \in Mij$$
(7)
$$\sum Xijk = 1 \quad \forall i,j \quad \& \quad k \in Mij$$
(8)
$$Sijk \ge 0 \quad \& \quad Cijk \ge 0 \quad \forall i,j,k$$
(9)
$$Cm \ge Ci \quad \forall i$$
(10)

Inequality (1) determines the objective makespan. Constraint (2) governs completion time of all the jobs. Constraints (3) and (4) restrict that the minimum time difference between starting and completion times must be processing time on that particular machine k. In the set \(Mij \cap Mhg\), constraints (5) and (6) assure that resource constraint is not violated (i.e., no two operations are allotted to same machine at a given time). Precedence relationships between them are ensured by the constraint (7), i.e., second operation of a job cannot be started until the first operation of the same job is completed. An operation can be executed on one and only one machine. This is assured by the constraint (8). If an operation is not assigned to a machine k, then the starting and completion times of that operation are zero on that machine k. This is ensured by constraint (9). Constraint (10) determines the makespan.

As it is not always possible to obtain near optimal solutions in a reasonable computation time, scheduling of jobs in FJSP is acknowledged as NP-hard problem is explained by Lenstra et al. (1977). The exact methods like dynamic programming proposed by Potts and Van Wassenhove (1987), branch and bound proposed by Brucker et al. (1994) and Artigues and Feillet (2008) are capable of solving only small size problems due to large complexity involved in FJSP. Most of them fail to solve large size problems to obtain good results and they also require large computation time and huge memory. The real world FJSP problems of medium and large-scale size are beyond the scope of these exact methods, in spite of their relative success rate to achieve optimal solution. So researchers focused on non-exact heuristic methods like dispatching rules. This research further continued to the application of meta-heuristic techniques like GA, PSO, TS, SA, ABC, BBO, HS, etc. which take less time compared to heuristic techniques.

Teaching–learning-based optimization

TLBO is proposed by Rao et al. (2011), Rao and Patel (2012, 2013) with an inspiration from the general teaching–learning process that how a teacher influences the knowledge of students. Students and teacher are the two main objects of a class and the algorithm explains the two modes of learning, i.e., via teacher (teacher phase) and discussion among the fellow students (student phase). A group of students of the class constitute the population of the algorithm. In any iteration, the best student of the class becomes the teacher. Execution of the TLBO is explained in two phases: they are teacher phase and student phase.

Teacher phase

A teacher puts his/her best to increase the knowledge of his/her students to his level. But practically it is not possible as learning by a student depends on his/her caliber to learn. In this process, each student’s knowledge increases and in turn the average knowledge of the class increases. At any iteration, let Zmean denote the mean knowledge of the class and teacher of the class is denoted as Zteacher. Then, the increased knowledge of a student is given by the expression

$$Z_{{{\text{new}}\;i}} = Z_{{{\text{old}}\;i}} + r \times \left( {Z_{\text{teacher}} {-}\left( {T_{\text{f}} \times Z_{\text{mean}} } \right)} \right)$$
(11)

where ‘i’ denotes student of the class, ‘r’ is a random number between zero to one and ‘Tf’ is called the teaching factor whose value is randomly chosen as one or two and there is no tuning of this teaching factor even though ‘Tf’ is an algorithm-specific parameter of TLBO.

Student phase

After a class is taught, students discuss among themselves. In this process, the knowledge of all students’ increases. At any iteration, let Za and Zb be two students who discuss after the class, a ≠ b. Then, the increased knowledge of the student is given by the expression

$$Z_{{{\text{new}}\;a}} = Z_{{{\text{old}}\;a}} + r_{i} \times \left( {Z_{a} - Z_{b} } \right)\,\,\,{\text{if}}\,\, \, F\left( {Z_{a} } \right) \le F\left( {Z_{b} } \right)$$
(12)
$$Z_{{{\text{new}}\;a}} = Z_{{{\text{old}}\;a}} + r_{i} \times \left( {Z_{b} {-}Z_{a} } \right)\,\,\,{\text{if}}\,\, \, F\left( {Z_{b} } \right) < F\left( {Z_{a} } \right)$$
(13)

Accept Znew i if it gives a better function value.

Problem mapping and representation

A real number encoding system is proposed in this paper which is used by Niu et al. (2009) to solve hybrid flow shop scheduling. To allot each operation of a job to a machine, integer part of the real number is used and to sequence the operations on each machine, fractional part is used. For better understanding, consider the example problem given in Table 1. Using the processing times data from Table 1, a priority order matrix of machines in the increasing order of processing times for each operation is calculated as shown in the Table 2.

Table 1 Example problem
Table 2 Order of priority

If there is a tie in processing times, machine with lower index number is given priority. The integer part is used to allot a machine from this priority order matrix to an operation. The stochastic representation of subject value is explained in Table 3. The initial subject values of student population are generated at random. Each subject value should be a positive real number. The maximum value a subject can have is the total number of machines available (tma). The minimum possible number that can be used is 1. So subject values are generated between the range (1, 1 + tma). For example, in Table 3 the operation O11 has a subject value of 2.8430 with integer value 2. So the operation O11 is allotted to second priority machine 4 according to the priority order matrix from Table 2. After the allotment, operations on each machine are sequenced in the increasing order of fractional values. For example, operations O12 and O34 are allotted to machine 1. The fractional value of O34 is less than O12. Therefore, O34 is sequenced first and O12 later. In this way, an initial sequencing is done (in Table 4) on the machines according to real number encoding system proposed by Niu et al. (2009).

Table 3 Stochastic representation of subject value
Table 4 Initial sequence of operations before optimization

Proposed algorithm

  1. 1.

    Input all the problem data like number of jobs, number of operations of each job, number of machines available for each job and the corresponding processing times.

  2. 2.

    Initialize students of the class. Generate initial subject values of the students randomly within the range. Sij = Sij min + (Sij max–Sij min) × r where Sij is the subject value of jth operation of job i. Sij min = 1, Sij max = (1 + tma) and r is a random number between (0, 1).

  3. 3.

    Generate the schedule using encoding scheme as proposed in problem mapping representation and the method to eliminate infeasible solution.

  4. 4.

    Evaluate each student’s knowledge (makespan).

  5. 5.

    Now evaluate the mean knowledge of all the students in the class.

  6. 6.

    Update the knowledge of all the students with teacher phase and student phase (Eqs. 11, 12 and 13) of TLBO.

  7. 7.

    Apply the local search as explained in the local search section.

  8. 8.

    Identify the best student of the class and replace the earlier teacher with best student if best student fitness is better than teacher.

  9. 9.

    Apply the mutation technique for every five iterations by randomly replacing 3% of the population.

  10. 10.

    Repeat the cycle to step 3 until the termination criterion is met.

  11. 11.

    End.

Method to eliminate infeasible solution

Because of the complexity of FJSP, there is very good chance for infeasible solution generation by the population of an algorithm during the run time. In this process too for example, on machine 2 in Table 4, operation O33 is sequenced before O31 which is an infeasible solution. In this paper, we propose a new method to eliminate infeasible solution when a real number encoding system is used. If we observe clearly, this problem arises when two or more operations of a job are allotted to a same machine and later operations of that job have low fractional value than the preceding operations. Here, O33 has a fractional value 0.3216 which is less than O31 fractional value 0.7951. Due to this reason, O33 is allotted before O31.

To eliminate this problem, all the fractional values of each job are first arranged in an ascending order as prescribed in Table 5. For example, job 1 operations O11 and O12 have fractional values 0.8430 and 0.4356, respectively. After the ascending order arrangement, the final fractional values of O11 and O12 are 0.4356 and 0.8430, respectively. In this way, we can eliminate the possibility of infeasible solution generation. The pseudo-code for the same is given in Fig. 1. The initial gantt chart solution to the example problem before the application of TLBO is given in Fig. 2.

Table 5 Elimination of infeasible solutions
Fig. 1
figure 1

Pseudocode to eliminate infeasible solution

Fig. 2
figure 2

Initial solution as per final subject values from Table 5

Local search (LS)

Like many meta-heuristics, TLBO also requires a local search technique to improve the solution exploration capacity of the algorithm while solving FJSP. A new local search technique is proposed in this paper. This local search technique can be applied to any meta-heuristic technique in the future. Only solutions with best makespan are considered for local search at every iteration. This method is explained in two steps. (1) Sequence swap (2) Machine swap. Before going to these two steps, all the critical operations of the solution are to be found. To improve the solution quality of FJSP, a promising critical path concept in operation scheduling phase (Zhang et al. 2007) is used as explained below.

Sequence swap

Out of these critical operations, only operations allotted to the same machine such that two or more operations which are adjacent to each other are collected and pairwise swapping (pair exchange method used by Xia and Wu 2005) is done to these collected operations and makespan is evaluated for each swap. If the swapping gives a better makespan value, then the old solution is replaced with the current new solution. For example, in Fig. 2, operations marked with a black line are critical operations. Operations O11 and O21 on machine 4 and operations O22 and O33 on machine 2 come under this category. These operations are swapped and checked for new makespan.

Machine swap

After sequence swap, each of the critical operation is picked and is allotted to its other machines from priority order one to three and the fitness value is evaluated. Generally, to obtain a minimum makespan, operations are to be allotted to machines that process in less time. So machine change technique is limited to a maximum of first three priority machines. In Fig. 2, each of the above-mentioned critical operations is allotted to their first three priority machines and checked for makespan. This is done by changing the integer value of that particular subject value. For example, O11 has a subject value of 2.4356. The integer value of 2 is replaced by 1 and then 3, which makes the subject value as 1.4356 and 3.4356, respectively. In this way, after the machine exchange process for each critical operation, if the obtained makespan value is better, then the solution is replaced with the current new better solution. Table 6 shows the final sequence of operations before optimization.

Table 6 Final sequence of operations before optimization

Mutation strategy (MS)

A sudden change in the gene of the offspring compared to parent gene during the natural evolution process is called mutation. Even though exploration capability of TLBO improved with the local search technique, we observe that TLBO gets trapped at the local optimum. Observing the makespan values of all the students, it is clear that almost all the students reach the same knowledge level (local optimum) after several iterations and there is no further improvement. To eliminate this drawback and to maintain diversity in the population, thus increasing the balance between exploration and exploitation, mutation technique from the genetic algorithm is incorporated to the algorithm. The total population of the class considered here is 100. Out of the total population, randomly two percent of population is made to undergo mutation for every five iteration. It means that two percent population is replaced with a new random solution using the equation in step 2 of proposed algorithm. The reasons to implement mutation strategy are (1) there is an improvement in the quality of solutions obtained and (2) this does not increase the computation burden much.

Results and discussion

The computational experiments aim to find the performance of TLBO to solve FJSP with makespan as the objective. Figure 3 shows the final solution obtained for the example problem in gantt chart and Table 7 shows the final sequence of operations for obtained optimized solution of the example problem using the proposed algorithm. We can observe that solution improved from a makespan value of 14 time units to eight time units. The experiments are conducted using MATLAB software on an i7 processor running at 3.40 GHz on the Windows 7 operating system. Tests have been carried out on all the instances by Brandimarte (1993) and Kacem et al. (2002a, b). There are five Kacem’s instances with problem size ranging from 4 × 5 to 15 × 10. There are a set of 10 Brandimarte’s problems with size ranging from 10 × 6 to 20 × 15. These are the only two data sets that are widely solved and available for comparison from the literature.

Fig. 3
figure 3

Final solution obtained from the proposed algorithm

Table 7 Final sequence of operations of optimized solution

When the teaching–learning-based optimization alone is applied to solve all the problems, we observed that TLBO is able to attain the best makespan values to four out of five Kacem’s problems. From this, we can conclude that TLBO alone is sufficient to solve the small and medium size problems. For the large size problems, i.e., fifth Kacem’s problem and all Brandimarte’s ten problems (MK01–MK10), TLBO alone could not obtain the best makespan values. So there is a limitation in TLBO to solve large problems. To improve the efficiency of TLBO with an aim to solve large problems, the local search technique proposed in this paper is applied and once again makespan values of all the problems are calculated. This time we found a very good improvement in the quality of solutions obtained. Equation 14 gives the percentage improvement (PI) of each problem and Eq. 15 gives the average percentage improvement (API) of all the problems, where ‘X’ is the index of the problem and ‘N’ is the total number of problems. There is an improvement in all the eleven big problems and the percentage improvement (PI) values are tabulated in fifth column of Table 8. The average percentage improvement (API) of proposed local search is 9.771.

$${\text{PI}} = \frac{{{\text{TLBO}} - {\text{Improved TLBO}}}}{\text{TLBO}} \times 100$$
(14)
$${\text{API}} = \frac{{\mathop \sum \nolimits_{X = 1}^{N} {\text{PI}}\left( X \right)}}{N}$$
(15)
Table 8 Percentage improvement in solutions

As best student of the class is considered as teacher in TLBO, after few iterations all the students learn and reach the same knowledge level. Due to this reason, it is observed that there is a loss of diversity in the population. So, like many meta-heuristics, TLBO also has a tendency to get trapped at the local optimum. To avoid this limitation, mutation strategy from genetic algorithm is incorporated to improve the quality of the solution and to maintain diversity. Once again tests have been carried out to find the makespan value of all the problems. Now, we observed not only a very good improvement in the quality of solutions but also four more best solutions are obtained, i.e., for the problems of MK01, MK03, MK05 and MK08. For Kacem’s fifth problem and MK02 problems, the second best solutions are obtained. The percentage improvement of proposed algorithm is tabulated in the last column of Table 8. The API value is 14.882 which is considerably a large improvement.

Table 9 shows the comparison of results obtained by TLBO with the previously solved other meta-heuristics. Out of 15 problems solved, the proposed TLBO gives the best solutions for eight problems. Comparing the TLBO with other algorithms, it outperformed genetic algorithm proposed by Chen et al. (1999) in four problems. Out of the three problems solved by Xia and Wu (2005) using PSO + SA from Kacem’s instances, TLBO gives better result to one problem than PSO + SA. TLBO outperformed HACO, used by Liouane et al. (2007), in one problem and gives equal results to all other five problems. TLBO outperformed Xing’s algorithm (used by Xing et al. 2009b) in six problems. TLBO outperformed AIA (used by Bagheri et al. 2010) in two problems. TLBO also outperformed BBO (used by Rahmati and Zandieh 2012) in four problems. Although other algorithms like ABC and DABC (used by Wang et al. 2012; Li et al. 2014) and HHS and DHS (used by Yuan et al. 2013; Gao et al. 2016) outperformed TLBO in few problems, the algorithms seem to be complex and contain algorithm-specific parameters to be tuned to generate the best solutions. On the other hand, TLBO is a simple algorithm and does not possess any algorithm-specific tuning parameters. Artificial bee colony (ABC) uses the number of scout bees, onlooker bees and employed bees, whereas Harmony search (HS) uses pitch adjusting rate, harmony memory consideration rate and number of improvisations. As tuning the parameters is a difficult task, this drawback can be eliminated using TLBO. Unlike other algorithms, parameter-less feature of TLBO eliminates the drawback of solving the NP-hard FJSP problem again and again until the right kind of tuning parameters is found. From these results, it is clear that TLBO is a competitive and simple algorithm that can be applied to solve FJSP.

Table 9 Results comparison of 15 benchmark problems of FJSP

Figures 4 and 5 show the rate of convergence of TLBO towards the optimal solution. After conducting experiments for different mutation percentage from the range one to five, it is found that most of the problems gave good results for two percent mutation. So mutation percent is fixed to two. Figure 6 shows the variation of results (makespan) of the problems for different mutation percentages.

Fig. 4
figure 4

Rate of convergence of TLBO for Kacem’s 8 by 8 problem

Fig. 5
figure 5

Rate of convergence of TLBO for MK08 problem

Fig. 6
figure 6

Result variation with mutation percentage

Conclusion

In this paper, one of the most difficult NP-hard flexible job shop scheduling problems with makespan as criterion is considered and an efficient and effective teaching–learning-based optimization is used to generate near optimal schedules for fifteen benchmark problems. A new local search procedure has been proposed and it is found to be effective. A new technique to successfully overcome the infeasible solutions that are generated during the run time is proposed using the real number encoding system. The mutation technique from the genetic algorithm is incorporated to algorithm to maintain the diversity in the population. Results show that the proposed TLBO is found to be one of the good problem solving approaches for solving FJSP, as it out performed many other algorithms from the literature. It gave the best results to 8 problems out of 15. As tuning the parameters of meta-heuristics itself is a herculean task, this paper stands as a basement for future research to concentrate or develop tuning parameter less algorithms to solve FJSP. The proposed TLBO avoids this drawback and, thus, reduces the computational burden too. The future work can be extended to hybridize TLBO with other local search techniques. Also, a hierarchical approach-based TLBO can be experimented to solve FJSP. The work can be further extended by considering the various uncertainties that are encountered in a real-life FJSP problem. Also, a multi-objective optimization study of FJSP can be carried out in the future.