1 Introduction

Processing energy consumption and setup energy consumption are the most important two parts of energy consumption in production activities. Processing energy consumption refers to the energy consumption in the process of job processing. Due to the differences in the machines, there are differences in processing energy consumption generated by jobs processed in different machines. Setup energy consumption refers to the energy consumption of the machine in the production switching process. When the processing processes of two consecutive processing jobs are inconsistent, the machine needs to be readjusted to process subsequent jobs, and the machine adjustment process will produce energy consumption that cannot be ignored. Energy-aware scheduling (energy efficiency scheduling) is one of the effective ways to reduce these two-part energy consumptions, which has been widely studied [1,2,3,4,5]. With the development of science and technology and the improvement of living standards, consumers are not satisfied with the products that provide standard functions. Personalized customization has become more and more popular. Facing the demand of large-scale personalized customization, the manufacturing industries have changed from the traditional mass production model to the multi-variety and small batch manufacturing model. In the multi-variety and small batch manufacturing mode, a large number of production switching lead to the increase of manufacturing cost and the decrease of production efficiency. In the process of scheduling, group technology is used to combine the jobs with the same process to produce together, so as to reduce production switching and production costs, which is an effective way to solve the problem of multi-variety and small batch manufacturing mode. There are two main grouping strategies in group technology [6]. The first one is to combine all jobs of the same process into a group for processing. This strategy can minimize production switching, but may increase the makespan and lead to the imbalance of machine load. The second is to allow multiple setups in jobs of the same process, that is, jobs of the same process can be divided into multiple groups. This strategy will reduce the makespan and balance the machine load, but may increase the production switching.

The group scheduling problem is more complex than the traditional scheduling problem. When the first group strategy is adopted, the group scheduling problem needs to solve two subproblems: (i) the traditional scheduling problem; and (ii) the jobs sorting problem within a group. When the second grouping strategy is adopted, group scheduling needs to solve three subproblems. In addition to the above two problems, it also needs to solve the jobs grouping problem of the same process (how many groups of jobs of the same process are divided into and what jobs each group contains). Flexible flow shop is a type of flow shop, which is a manufacturing system that exists widely in the real world. Jobs need to be processed in multiple stages in order to form the final product, and there are multiple parallel machines in each stage. In the study of group scheduling in flow shop, the first grouping strategy is used in most literature [7,8,9,10,11,12,13,14,15,16,17]. There are few studies on the second grouping strategy, Shahvari and Logendran [18] optimized the completion time and tardiness simultaneously in the group scheduling of flexible flow shop, they abandoned the assumption that each group has single setup, allowing multiple setups for each type of job. Feng et al. [19] allowed multiple setups in the group scheduling of flexible flow shop, the makespan and preventive maintenance were considered simultaneously in their study. Jain et al. studied the group scheduling problem of flow shop with sequence-dependent setup time (SDST), which considered SDST among groups and among part types within a group [20].

At present, most of the researches on group scheduling in flow shop consider that the process differences of jobs are consistent in all stages [21,22,23,24]. However, there are many manufacturing systems in reality, and the differences of jobs process are not consistent [6, 25]. For example, jobs may have the same process in the first stage, but may not have the same process in the later stages. There are few studies on group scheduling of flow shop considering inconsistency of the process differences of jobs. Andrés et al. [26] studied the group scheduling problem of tile industry, which is a three-stage flexible flow shop. They defined similarity coefficient for each job, and grouped jobs based on similarity coefficients to reduce setup time. Among the existing studies on group scheduling, most of them use group technology to reduce the setup time, makespan, earliness and tardiness and so on [27,28,29,30,31,32,33,34,35,36,37]. However, setup time minimization is not the same as setup energy consumption minimization. Up to now, the research on group scheduling to reduce energy consumption is rare. He et al. studied the group scheduling problem of flow shop, which optimized makespan, total flow time and total energy consumption at the same time [38].

Inspired by the production scheduling of tissue paper enterprises, this paper studies the problem of energy-aware scheduling of two-stage flexible flow shop considering inconsistency of the process differences of jobs, which intends to reduce the energy consumption by using group technology. The studied manufacturing system consists of two processing stages. The jobs with the same processing technology in the second stage must have the same processing technology in the first stage. On the contrary, jobs with the same processing technology in the first stage may not have the same processing technology in the second stage. By combining group technology with scheduling, this study not only improves production efficiency by optimizing the makespan, but also optimizes processing energy consumption and setup energy consumption to improve energy efficiency. The main contributions of this paper are as follows:

  1. 1.

    A new energy-aware scheduling method based on group technology is proposed for the two-stage flexible flow shop considering inconsistency of the process differences of jobs.

  2. 2.

    An improved multi-objective scatter search algorithm is proposed. According to the characteristics of this problem, a three-layer chromosome encoding scheme is proposed, and a dynamic split strategy is used to split the jobs dynamically in the process of chromosome decoding, which ensures the load balance between machines. In order to ensure the diversity of population, a method of generating population diversity and a method of updating reference set are designed. In addition, according to the characteristics of encoding scheme, a combination method and a local improvement method are designed.

  3. 3.

    A case study is carried out based on the real data from a tissue paper enterprise to evaluate performance of the proposed method.

The rest of the paper is arranged as follows: Sect. 2 describes the proposed problem and establishes the mathematical model of the problem; Sect. 3 describes the proposed multi-objective scatter search method in detail; Sect. 4 analyzes the performance of the proposed method through a case study; The last section is the conclusion, which summarizes the content of this study from many aspects.

2 Problem Description and Modeling

2.1 Problem Description

This study is inspired by the production scheduling of tissue paper enterprises, which belongs to two-stage flexible flow shop manufacturing system, including papermaking stage and conversion stage. There are many parallel production lines in the papermaking stage and the conversion stage, each production line can process many types of products. Any job needs to be processed in any production line in the papermaking stage first, and then in any production line in the conversion stage. In the papermaking stage, the pulp board, water, chemicals, etc. are mixed, and the base paper is produced through pulping, refining, forming, pressing, drying and reeling. In the conversion stage, the base paper is processed by the rewinder to produce the rewinder strip, then cut into small rolls, and finally packaged by the packaging machine to get the final product. In the production process, various accessories, such as paper core, packaging film and perfume, are needed. For the same type of finished products, they must use the same base paper. However, different types of finished products may also use the same base paper. According to the characteristics of the products produced in the papermaking stage and the conversion stage, the types of jobs of tissue paper enterprises may appear as shown in Fig. 1. Figure 1 shows the processing technology of J1 and J2 is the same in papermaking stage and conversion stage. The J3 and J4 have the same processing technology in the papermaking stage, while the processing technology in the conversion stage is different. Among the tissue paper enterprises, there are hundreds type of finished products and dozens type of base paper. In production scheduling of tissue paper enterprises, jobs with the same type of processing technology in the papermaking stage are often arranged to be produced together, and the same type of processing technology in the conversion stage are arranged to be produced together as far as possible. However, due to the differences between the machine, the two jobs of continuous production in the papermaking stage are not necessarily continuous production in the conversion stage, which makes it difficult to reduce production switching.

Fig. 1
figure 1

The example of types of jobs in tissue paper enterprises

Tissue paper enterprises are energy intensive manufacturing industries. Processing energy consumption and setting energy consumption are the two parts that account for the largest proportion of total energy consumption. The processing energy consumption of the job is not only related to the process of the product, but also to the machine. In the papermaking stage, the grammage of the product is one of the most important factors affecting the energy consumption. The larger the grammage, the greater the energy consumption. The processing energy consumption of conversion stage is mainly related to the height and length of the small roll. The speed of the machine varies greatly according to the height and length of the small roll, which leads to the difference of energy consumption between products. In the tissue paper enterprises, setup time and setup energy consumption are related to the processing sequence and machine. For example, in the papermaking stage, there is a difference between the energy consumption of the conversion from low grammage products to high grammage products and the energy consumption of the conversion from high grammage products to low grammage products. In addition, according to the characteristics of production scheduling in tissue paper enterprises, this paper has the following assumptions:

  1. 1.

    Each product can be produced in any production line.

  2. 2.

    The second operation can only be started after the first operation is completed.

  3. 3.

    Any production line can only process one job at a time.

  4. 4.

    Once a job starts production, it cannot be interrupted.

  5. 5.

    A job can no longer be divided into multiple jobs.

2.2 Modeling

In the two-stage flexible flow shop, it is assumed that there are n jobs \(J = \left\{ {J_{1} ,J_{2} ,\ldots,J_{n} } \right\}\) and m machines \(M = \left\{ {M_{1} ,M_{2} ,\ldots,M_{m} } \right\}\). There are \(m1\) machines \(M^{p} = \left\{ {M_{1}^{p} ,M_{2}^{p} ,\ldots,M_{m1}^{p} } \right\}\) in the first stage and \(m2\) machines \(M^{c} = \left\{ {M_{1}^{c} ,M_{2}^{c} ,\ldots,M_{m2}^{c} } \right\}\) in the second stage. According to the process characteristics of jobs in the first stage, jobs can be divided into \(p\) types, according to these \(p\) types of jobs, all jobs can be divided into \(p^{\prime}\) groups \(G^{\prime} = \left\{ {G^{\prime}_{1} ,G^{\prime}_{2} ,\ldots,G^{\prime}_{{p^{\prime}}} } \right\}\). The Group \(G^{\prime}_{i}\) contains \(p^{\prime\prime}_{i}\) jobs, each group contains jobs of the same type, different groups may have the same type of jobs. \(\pi_{{G^{\prime}_{i} }}\) represents the sequence of jobs in group \(G^{\prime}_{i}\), \(\pi_{{G^{\prime}_{i} }} \left( j \right)\) represents the \(j\)-th job in group \(G^{\prime}_{i}\). According to the process characteristics of jobs in the second stage, jobs can be divided into \(c\) types, according to these \(c\) types of jobs, all jobs can be divided into \(c^{\prime}\) groups \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\). The Group \(G^{\prime\prime}_{i}\) contains \(c^{\prime\prime}_{i}\) jobs, each group contains jobs of the same type, different groups may have the same type of jobs. Each \(G^{\prime}_{j}\) is consist of multiple \(G^{\prime\prime}_{i}\). \(\pi_{{G^{\prime\prime}_{i} }}\) represents the sequence of jobs in group \(G^{\prime\prime}_{i}\), \(\pi_{{G^{\prime\prime}_{i} }} \left( j \right)\) represents the \(j\)-th job in group \(G^{\prime\prime}_{i}\). Because jobs of the same process can be divided into multiple groups, so \(p \le p^{\prime}\) and \(c \le c^{\prime}\). Because of the jobs with the same process in the second stage, they must have the same process in the first stage. On the contrary, jobs with the same process in the first stage, they may not have the same process in the second stage. Therefore, \(p \le c\), but \(p^{\prime}\) may not be less than \(c^{\prime}\). Combined with group technology, the energy-aware scheduling model of two-stage flexible flow shop can be represented by the following formula:

$$ \left\{ \begin{gathered} \min \left( C \right) \hfill \\ \min \left( E \right) \hfill \\ \end{gathered} \right., $$
(1)
$$ E = E^{p} + E^{s} , $$
(2)
$$ C = \max \left( {C_{i,h} } \right) \, \forall i \in J; \;\;\;\forall h \in M, $$
(3)
$$ E^{p} = \sum\limits_{{i \in G^{\prime}}} {\sum\limits_{{j \in M^{p} }} {\left( {O_{i,j} \cdot U_{i,j}^{p} \cdot \sum\limits_{{k \in G^{\prime}_{i} }} {T_{k,j}^{p} } } \right)} } { + }\sum\limits_{{i \in G^{\prime\prime}}} {\sum\limits_{{j \in M^{c} }} {\left( {O_{i,j} \cdot U_{i,j}^{p} \cdot \sum\limits_{{k \in G^{\prime\prime}_{i} }} {T_{k,j}^{p} } } \right)} } , $$
(4)
$$ E^{s} = \sum\limits_{{i \in G^{\prime}}} {\sum\limits_{{j \in G^{\prime}}} {\sum\limits_{{h \in M^{p} }} {Q_{i,j,h} \cdot P_{i,j,h}^{s} \cdot T_{i,j,h}^{s} } } } + \sum\limits_{{i \in G^{\prime\prime}}} {\sum\limits_{{j \in G^{\prime\prime}}} {\sum\limits_{{h \in M^{c} }} {Q_{i,j,h} \cdot P_{i,j,h}^{s} \cdot T_{i,j,h}^{s} } } } , $$
(5)
$$ Q_{i,j,h} \left( {B_{j,h} - C_{i,h} - T_{i,j,h}^{s} } \right)= 0 \;\;\forall i,j \in G^{\prime};\;\;\;\forall h \in M^{p} , $$
(6)
$$ \left\{ \begin{gathered} \sum\limits_{{h \in M^{c} }} {O_{j,h} B_{j,h} } = \sum\limits_{{k \in M^{p} }} {O_{{\pi_{{G^{\prime\prime}_{j} }} \left( 1 \right),k}} C_{{\pi_{{G^{\prime\prime}_{j} }} \left( 1 \right),k}} } {\text{ if }}j{\text{ is the first job group on the machine }}\forall j \in G^{\prime\prime} \hfill \\ Q_{i,j,h} \left( {B_{j,h} - \max \left( {C_{i,h} ,\sum\limits_{{k \in M^{p} }} {O_{{\pi_{{G^{\prime\prime}_{j} }} \left( 1 \right),k}} C_{{\pi_{{G^{\prime\prime}_{j} }} \left( 1 \right),k}} } } \right) - T_{i,j,h}^{s} } \right){\text{ = 0 else }}\forall i,j \in G^{\prime\prime};\forall h \in M^{c} \hfill \\ \end{gathered} \right., $$
(7)
$$ B_{{\pi_{{G^{\prime}_{i} }} \left( {k + 1} \right),h}} - C_{{\pi_{{G^{\prime}_{i} }} \left( k \right),h}} = 0 \;\;\forall i \in 1,2,\ldots,p^{\prime};\;\;\;\forall k \in 1,2,\ldots,p^{\prime\prime}_{i} { - }1;\;\;\forall h \in M^{p} , $$
(8)
$$ B_{{\pi_{{G^{\prime\prime}_{i} }} \left( {k + 1} \right),h}} - \max (C_{{\pi_{{G^{\prime\prime}_{i} }} \left( k \right),h}} {,}\sum\limits_{{j \in M^{p} }} {O_{{\pi_{{G^{\prime\prime}_{i} }} \left( {k + 1} \right),j}} \cdot C_{{\pi_{{G^{\prime\prime}_{i} }} \left( {k + 1} \right),j}} } ) = 0 \;\;\forall i \in 1,2,\ldots,c^{\prime};\;\;\forall k \in 1,2,\ldots,c^{\prime\prime}_{i} { - }1;\;\;\forall h \in M^{c} , $$
(9)
$$ T_{i,j}^{p} = \sum\limits_{k \in i} {T_{k,j}^{p} } \, \forall i \in G^{\prime}, $$
(10)
$$ T_{i,j}^{p} = \sum\limits_{k \in i} {T_{k,j}^{p} } \, \forall i \in G^{\prime\prime}, $$
(11)
$$ C_{i,h} - B_{i,h} = T_{i,h}^{p} \, \forall i \in G^{\prime} \cup J;\;\;\forall h \in M^{p} , $$
(12)
$$ C_{i,h} - B_{i,h} = T_{i,h}^{p} \, \forall i \in G^{\prime\prime} \cup J;\;\;\forall h \in M^{c} , $$
(13)
$$ \sum\limits_{{j \in M^{p} }} {O_{i,j} } = 1 \, \forall i \in J, $$
(14)
$$ \sum\limits_{{j \in M^{c} }} {O_{i,j} } = 1 \, \forall i \in J, $$
(15)

where \(C\) is the makespan, \(E\) is the total energy consumption, \(C_{i,h}\) represents the complete time of group i or the complete time of job i on machine h. \(E^{p}\) represents the processing energy consumption, \(E^{s}\) represents the setup energy consumption. \(O_{i,j} { = }\left\{ {0,1} \right\}\), it equals one means that group i or job i is processed on machine j, it equals zero means that group i or job i is not processed on machine j. Because the jobs of the same group have the same process, the processing power of the jobs of the same group on the same machine is the same, \(U_{i,j}^{p}\) is the processing power of group i on machine j. \(T_{k,j}^{p}\) represents the processing time of group k or job k on machine j. \(Q_{i,j,h} = \left\{ {0,1} \right\}\), when group i and group j are two consecutive processing job groups of machine h, \(Q_{i,j,h} = 1\), otherwise, \(Q_{i,j,h} = 0\). \(P_{i,j,h}^{s}\) represents the power of group i switching to group j on machine h, it equals the power of last job of group i switching to the first job of group j on machine h. \(T_{{_{i,j,h} }}^{s}\) represents the setup time of group i switching to group j on machine h, it equals the setup time of the last job of group i switching to the first job of group j on machine h.

Formulas (6) and (7) ensure that the machine can only process one group at the same time, where \(B_{j,h}\) represents the start time of the group j or job j on machine h. In stage one, the start time of the next group is the end time of the previous group plus the setup time. In stage two, the start time of the next group is equal to the maximum value of the completion time of the first operation of first job of the group and the completion time of the previous group plus the setup time. In addition, formulas (8) and (9) indicate the jobs in each group must not be preempted, that means the start of the next job must wait until the end of the previous job. Moreover, in stage two, the start of the job must wait until the completion of the previous operation of the job. Equations (10) and (11) show that the processing time of each group is equal to the total processing time of all jobs in the group. Formulas (12) and (13) indicate that each job cannot be interrupted once it is started. Formulas (14) and (15) indicate that each job must and can only be processed once in each stage.

3 The Improved Multi-objective Scatter Search Algorithm

The scatter search algorithm was first proposed by Glover [39] to solve the integer programming problem. The scatter search algorithm defines a flexible framework, which contains multiple modules, including diversity generation module, solution improvement module, reference set update module, subset generation module, solution combination module, etc. The scatter search algorithm forms high-quality and diverse solutions in the reference set, and then generates new solutions through the subset generation and combination methods, and improves the new solutions by the solution improvement method, and then renews the reference set, and obtains the global optimal solution or satisfactory solution by continuously cycling the above steps. The Fig. 2 is the flow chart of the scatter search algorithm. According to the characteristics of the problem, combined with the fast non-dominated sorting algorithm, this paper develops an improved multi-objective scatter search algorithm (IMSS). First, a three-layer chromosome coding scheme is proposed, and a dynamic split strategy is used to split the job group dynamically in the process of chromosome decoding to ensure the load balance between machines. To ensure the diversity of population, a method of population diversity generation is developed and applied to the reference set updating method. In addition, according to the characteristics of encoding, a combination method and a local improvement method are designed. Each step of the proposed algorithm is shown in Fig. 2.

Fig. 2
figure 2

The flow chart of scatter search algorithm

3.1 Encoding and Decoding

According to the research problem, in the first stage, the problems of processing sequence of job groups \(G^{\prime} = \left\{ {G^{\prime}_{1} ,G^{\prime}_{2} ,\ldots,G^{\prime}_{{p^{\prime}}} } \right\}\) and machine assignment need to be solved. Because the jobs in the same group are of the same type, the order of jobs in the same group does not affect the setup energy consumption and completion time. In addition, this paper uses the rule that the machine with the earliest available time is assigned first. When the order of job groups is determined, the problem of machine assignment is solved. Therefore, the processing sequence of job groups \(G^{\prime} = \left\{ {G^{\prime}_{1} ,G^{\prime}_{2} ,\ldots,G^{\prime}_{{p^{\prime}}} } \right\}\) can be represented by a vector. To reduce setup energy consumption, we combine jobs with the same process in the first stage into a group. For example, when \(p^{\prime} = 3\), it can use [1,2,3] to represent the processing sequence of groups in stage one. The first chromosome determines the processing order of groups \(G^{\prime} = \left\{ {G^{\prime}_{1} ,G^{\prime}_{2} ,\ldots,G^{\prime}_{{p^{\prime}}} } \right\}\), but it cannot determine the processing order of groups \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\). As the job sequence of each group \(G^{\prime}_{i}\) will affect the completion time and energy consumption of the second stage. Therefore, we use a chromosome to represent the jobs sequence of each group \(G^{\prime}_{i}\). To reduce switching, the minimum unit of sequencing for each group \(G^{\prime}_{i}\) is set to a \(G^{\prime\prime}_{i}\). Suppose \(G^{\prime}_{1}\) consists of \(G^{\prime\prime}_{1}\), \(G^{\prime\prime}_{2}\) and \(G^{\prime\prime}_{3}\), \(G^{\prime}_{2}\) consists of \(G^{\prime\prime}_{4}\), \(G^{\prime\prime}_{5}\) and \(G^{\prime\prime}_{6}\), \(G^{\prime}_{3}\) consists of \(G^{\prime\prime}_{7}\) and \(G^{\prime\prime}_{8}\). Then, the second chromosome can be represented by a vector [1,2,3,4,5,6,7,8]. In addition, the sequence of jobs in each group \(G^{\prime\prime}_{i}\) does not affects energy consumption, but affects the completion time. Because the jobs of each group \(G^{\prime\prime}_{i}\) are processed on the same machine in the first and second stages, to reduce the makespan, according to the NEH rule, the jobs of each group \(G^{\prime\prime}_{i}\) are sorted according to the processing time from small to large. So, the third layer chromosome represents the jobs sequence of each group \(G^{\prime\prime}_{i}\), and it is fixed. Figure 3 shows a three-layer chromosome representation of jobs \(J1{-}J20\). Here, it is assumed that the processing time of jobs \(J1{-}J20\) increase from small to large.

Fig. 3
figure 3

Three-layer chromosome scheme

In the iteration process, chromosomes need to be decoded to form a feasible production schedule. The first layer of chromosomes represents sequence of \(G^{\prime}\). Because the jobs of the same group \(G^{\prime}_{i}\) have the same process in the first stage, in order to reduce the setup energy consumption, the jobs of the same group \(G^{\prime}_{i}\) should be processed on the same machine in the first stage. Assume there are three machines \(M^{p} = \left\{ {M_{1}^{p} ,M_{2}^{p} ,M_{3}^{p} } \right\}\) in the first stage, \(M_{1}^{p}\) has the earliest available time, then \(M_{2}^{p}\), and finally \(M_{3}^{p}\). Assume there are three machines \(M^{c} = \left\{ {M_{1}^{c} ,M_{2}^{c} ,M_{3}^{c} } \right\}\) in the second stage, \(M_{1}^{c}\) has the earliest available time, then \(M_{2}^{c}\), and finally \(M_{3}^{c}\). According to the above chromosome coding, for the convenience of demonstration, it is assumed that the processing time of all jobs is the same. The first layer chromosome is [1,2,3], which means that the jobs of \(G^{\prime}_{3}\) are first arranged to be processed in \(M_{1}^{p}\). According to the second layer chromosome and the third layer chromosome, the job sequence of \(G^{\prime}_{3}\) is [17,18,19,20], so the job processing sequence on \(M_{1}^{p}\) is [17,18,19,20]. Similarly, the processing sequence on \(M_{2}^{p}\) is [1,2,3,4,5,6,7], and the processing sequence on \(M_{3}^{p}\) is [8,9,10,11,12,13,14,15,16]. Figure 4 is the job processing sequence diagram of the three machines. From the figure, it can be seen that the load of the machine is unbalanced, the load of \(M_{1}^{p}\) is much less than that of \(M_{3}^{p}\). For this reason, a dynamic split strategy (DSS) is proposed, the \(J_{10}\) and \(J_{11}\) are moved to the \(M_{1}^{p}\) through DSS and thus balance the load of \(M_{1}^{p}\) and \(M_{3}^{p}\). The detail of the DSS is described in Sect. 3.2. Although \(G^{\prime}_{2}\) is split and the setup energy consumption is increased, but the load of the machine is balanced, the result is shown in Fig. 5.

Fig. 4
figure 4

The jobs processing sequence in stage one

Fig. 5
figure 5

The adjusted job processing sequence of stage one

According to the processing sequence of group \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\) in the first stage, calculate the starting processing time of each group \(G^{\prime\prime}_{i}\), sort \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\) from small to large according to the start processing time, then the processing sequence of \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\) in the second stage can be obtained. For example, according to the processing sequence of the first stage, the order of \(G^{\prime\prime} = \left\{ {G^{\prime\prime}_{1} ,G^{\prime\prime}_{2} ,\ldots,G^{\prime\prime}_{{c^{\prime}}} } \right\}\) is [8,1,4,7,6,2,5_1,5_2,3], 5_1 consists of \(J10\) and \(J11\), 5_2 consists of \(J12\), \(J13\) and \(J14\), 5_1 and 5_2 are part of \(G^{\prime\prime}_{5}\) and has the same process. According to the third layer chromosome and [8,1,4,7,6,2,5_1,5_2,3], it can obtain the jobs processing sequence of \(M_{1}^{c}\) is [13, 14, 17,18,19,20], and the jobs processing sequence of \(M_{2}^{c}\) is [1,2,3,4,5,6], and the jobs processing sequence of \(M_{3}^{c}\) is [7,8,9,10,11,12, 15, 16]. Figure 5 shows the job processing sequence of the machines in the second stage. It can be seen from the Fig. 6, although the setup energy consumption is increased when move \(J14\) from \(M_{3}^{c}\) to \(M_{1}^{c}\) via dynamic split strategy, but the load of the machines is more balanced, the result is shown as Fig. 7. In this paper, dynamic splitting strategy is used to achieve load balancing of the machines with the minimum increment of setup energy consumption. It should be noted that when adjusting the job in stage two, the completion time of the job in stage one should be considered to ensure that the processing of the job follows the constraints of processing sequence.

Fig. 6
figure 6

The jobs processing sequence in stage two

Fig. 7
figure 7

The adjusted job processing sequence in stage two

3.2 Dynamic Split Strategy

It is easy to cause the load imbalance of the machines by scheduling jobs in groups as described above. The imbalance referred to here can be understood as that there are some jobs that can be processed earlier when it is moved to other machines for processing, such as J14 in Fig. 6. Therefore, the machine load balance here refers to that no job can be processed earlier by moving jobs to other machines. In this paper, a dynamic splitting strategy is developed to balance the load of the machines. The specific steps are as follows:

figure a

3.3 Method of Diversity Population Generation

Generating diverse population is one of the conditions to ensure the global search ability of scatter search algorithm. A diverse population means that each individual has a large distance. There are many indicators to measure individual distance, suppose \(D\left( {x_{1} ,x_{2} } \right)\) is the distance between individual \(x_{1}\) and \(x_{2}\), in this paper, \(D\left( {x_{1} ,x_{2} } \right)\) is set as the sum of different edges of two individuals. For example, given two individuals \(x_{1} = [1,3,5,4,2]\) and \(x_{2} = [5,4,1,2,3]\). The edges of \(x_{1}\) are (1,3), (3,5), (5,4), (4,2), the edges of \(x_{2}\) are (5,4), (4,1), (1,2), (2,3), so \(D\left( {x_{1} ,x_{2} } \right) = 3\). Because the third layer chromosome is fixed, only the first and second layers of chromosomes need to be generated. The proposed population generation method is as follows.

figure b

3.4 The Solution Improvement Method

Apply the improvement method to the solution can further improve the quality of the solution. The solution improvement method is generally designed based on the local search method. Although the complex method can improve the quality of the solution more effective, it will also increase the operation time. However, the too simple method is difficult to improve the quality of the solution. In this paper, a solution improvement method is designed based on variable neighborhood search algorithm. The key of variable neighborhood search algorithm is neighborhood action. According to the characteristics of chromosome coding, three kinds of neighborhood actions are designed in this paper. The first neighborhood action is to use the exchange, inversion and insertion operators to disturb the first layer chromosome, so as to generate new individuals. The second neighborhood action is to use the exchange, inversion and insertion operators to disturb a segment of the second layer chromosome, which the segment is the segment of the second layer chromosome that correspond to the job group \(G^{\prime}_{i}\) which is randomly selected from \(G^{\prime}\). The third neighborhood action is to combine the first two neighborhood actions. The following is the flow of the proposed solution improvement method.

figure c

3.5 Subset Generation Method

In the scatter search algorithm, the reference set \({\text{Ref}}\) consists of two parts, \({\text{Ref}} 1\) and \({\text{Ref}} 2\), respectively. Where \({\text{Ref}} 1\) stores high-quality solutions, while \({\text{Ref}} 2\) stores diverse solutions. In this paper, two subsets are generated, the first subset \(Subset1 = \left\{ {p_{1} ,p_{2} } \right\}\) is composed of two solutions selected by the tournament selection mechanism from \({\text{Ref}} 1\). The second subset \(Subset2 = \left\{ {p_{3} ,p_{4} } \right\}\) is also composed of two solutions, one is selected from \({\text{Ref}} 1\) by the tournament selection mechanism, and the other is selected from \({\text{Ref}} 2\) by the tournament selection mechanism.

3.6 The Solution Combination Method

According to the characteristics of coding, this paper designs three solution combination methods. In the first method, the first layer chromosome of the two solutions is crossed and the second layer and the third layer chromosome remain unchanged. In the second method, the second layer chromosome of the two solutions is crossed, and the first layer and third layer chromosome remain unchanged. The third method is to cross the first layer and second layer chromosomes at the same time, and the third layer chromosome remain unchanged. The crossing method used in this paper is the linear order crossover (LOX) [40]. First, three methods are used to combine the solutions of subset one and subset two, and a total of six new solutions are obtained. Then the Pareto rank and crowding distance of each solution are calculated. Finally, according to the Pareto rank and crowding distance, the best one of the six new solutions is selected to inherit to the next generation.

3.7 Reference Set Updating Method

Through the solution combination method and the solution improvement method, a new population \(popn\) will be obtained. Based on the old reference set and the new population, the new reference set can be obtained using the reference set updating method. The developed reference set update method is as follows: (1) Merge the new population \(popn\) and \({\text{Ref}}\), remove the repeated solution to get the remaining solution \(popu\), and calculate the Pareto rank and crowding distance of each solution of \(popu\). (2) Assume the size of \({\text{Ref}} 1\) is \({\text{Ref}} 1\_num\), the size of \({\text{Ref}} 2\) is \({\text{Re}} f2\_num\), the size of \(popu\) is \(popu\_num\), if the \(popu\_num\) less than \({\text{Ref}} 1\_num\) + \({\text{Re}} f2\_num\), then \({\text{Ref}} 1\_num\) + \({\text{Re}} f2\_num\)-\(popu\_num\) solutions are generated by diversity generation method and added to \(popu\) to obtain a new population \(popun\), and calculate the Pareto rank and crowding distance of each solution of \(popun\). Select \({\text{Ref}} 1\_num\) best solutions as the new \({\text{Ref}} 1\) and \({\text{Re}} f2\_num\) solutions with the largest distance as the new \({\text{Ref}} 2\) from \(popun\). Otherwise, select \({\text{Ref}} 1\_num\) best solutions as the new \({\text{Ref}} 1\) and \({\text{Re}} f2\_num\) solutions with the largest distance as the new \({\text{Ref}} 2\) from \(popu\).

4 Experiment

To prove the superiority of the proposed algorithm, this paper compares the proposed algorithm with NSGA-II, which is an outstanding multi-objective optimization algorithm. All algorithms are written in MATLAB 2015b and the operating environment: Windows 10, 8G RAM, 2.11 GHz Intel Core i7-8650U.

4.1 Experiment Data

Because of the particularity of the problem, there is no standard data set available. In this paper, based on the real data of tissue paper enterprise, Monte Carlo method is used to generate the required experimental data. A total of 25 scheduling problems are used to test the performance of the proposed algorithm, and the information contained in each problem is shown in Table 1. The number of process types indicates the process selection range of the jobs of the scheduling problem in each stage. For example, the number of process types in the first stage is 20, indicating that the process in the first stage of each job of the scheduling problem is randomly selected from 20 processes. Similarly, the number of process types in the second stage is 100, indicating that the process in the second stage of each job of the scheduling problem is randomly selected from 100 processes. The number of machines for both the first and second stages is set to five. The size of each job is randomly generated from [120,000,180,000], and the processing speed of each machine is randomly generated from [900,1200], where the machines have the same speed when processing the job with same processes. The processing energy consumption per unit time of machine in stage one and stage two is generated from [1200,1500] and [120,150], respectively. The machines have the same processing energy consumption per unit time when processing the jobs with the same processes. The setup energy consumption per unit time of machine stage one and stage two is generated from [800,1000] and [80,100], respectively. The setup time in stage one and stage two is generated from [10,60]. The setup energy consumption per unit time and setup time relate to the processes of the two consecutive jobs and machine.

Table 1 The details of 25 scheduling problems

4.2 Evaluation Methods

The multi-objective optimization algorithm obtains the non-dominated solution set. The quality of the non-dominated solution set can be measured from the uniformity, universality and the degree of approaching the optimal solution. At present, many evaluation methods only evaluate one of the indexes of the solution. The hypervolume (HV) index is one of the rare indexes that can evaluate the uniformity, universality and the degree of approaching the optimal solution at the same time [41]. In this paper, hypervolume index is used to evaluate the quality of solution. The larger the hypervolume index is, the better the quality of solutions is. In addition, the evolutionary algorithm is stochastic, and it is not reliable to compare the differences between the algorithms only through one run. In this paper, each algorithm is run 20 times, and t-test is used to test whether there is significant difference between the two algorithms. The significance level is set to 95%, and the corresponding p value is 0.05, that is, when p value is less than 0.05, it can be considered that there is significant difference between the two algorithms. All algorithms have the same population size and number of iterations, that is, the population size is set to 100, and the maximum number of iterations is set to 100. In addition, the crossover and mutation rates of NSGA-II are set to 0.8 and 0.2, respectively.

4.3 Results and Discussion

To prove the effectiveness of group technology in reducing energy consumption, 25 scheduling problems are solved by NSGA-II without group technology, and then 25 scheduling problems are solved by NSGA-II with group technology (NSGA-II-GT). Table 2 shows the average energy consumption and the average makespan obtained by NSGA-II and NSGA-II-GT. It can be seen from Table 2 that not only the energy consumption of NSGA-II-GT is lower than that of NSGA-II, but also the makespan of NSGA-II-GT is smaller than that of NSGA-II. This is because after grouping the same type of jobs, a lot of setup time is reduced, thus the makespan is reduced. Figure 8 shows the energy consumption and makespan reduction rate of NSGA-II-GT compared with NSGA-II, the energy consumption reduction rate can reach 20.25%, while the makespan reduction rate can reach 13.68%. The average energy consumption reduction rate and makespan reduction rate are 19.23% and 13.06%, respectively. It can be seen from Table 2 and Fig. 8 that group technology has significant effect on reducing energy consumption and makespan.

Table 2 The average energy consumption and the average makespan obtained by NSGA-II and NSGA-II-GT
Fig. 8
figure 8

The energy consumption reduction rate and makespan reduction rate

Group technology merges all kinds of the same jobs together, which may reduce the freedom of scheduling and leads to the imbalance of machine load. Figure 9 is the Gantt chart of a solution obtained by NSGA-II-GT. It can be seen from the figure that the load of both the first stage machine and the second stage machine is unbalanced, which means that some jobs can be processed in advance, such as job 147, 139,130, etc. Besides, it can be seen that the load unbalance of stage one is higher than that of stage two. The reason is that there are more jobs in each group in stage one, which leads to lower freedom of scheduling. It should be noted that the process of the job is uniformly distributed in this study. If not, the size of each group is more different, which is more likely to lead to load imbalance. For this reason, a dynamic splitting strategy is designed to reduce the machine imbalance caused by group technology. Figure 10 shows the Gantt chart of the solution obtained by NSGA-GT with dynamic split strategy (NSGA-GTDSS), it can be seen from the figure that some jobs have been started earlier, and some additional setup time and setup energy consumption may be increased at the same time. To analyze the performance of the dynamic splitting strategy, for each problem, 1000 individuals are randomly generated and then decoded by decoding scheme with dynamic splitting strategy (DS-DSS) and the decoding scheme with no dynamic splitting strategy (DS-NDSS), respectively. Figures 11 and 12 show the average makespan and energy consumption of DS-DSS and DS-NDSS. Figure 11 shows that the makespan of DS-DSS is smaller than that of DS-NDSS, but Fig. 12 shows that the energy consumption of DS-DSS is higher than that of DS-NDSS. Figure 13 shows the degree of unbalance of DS-DSS and DS-NDSS, it can be seen the degree of unbalance of DS-DSS less than 4%, while the degree of unbalance of DS-DSS greater than 10% and the highest is about 20%. From Fig. 13, it can be concluded that the dynamic splitting strategy can effectively balance the load of the machines. Although dynamic splitting strategy leads to the increase of energy consumption, but the makespan is reduced, and the machine load is more balanced.

Fig. 9
figure 9

The Gantt chart of the solution of NSGA-II-GT. a, b correspond to the Gantt chart of the first stage and the second stage, respectively

Fig. 10
figure 10

The Gantt chart of the solution of NSGA-II-GTDSS. a, b correspond to the Gantt chart of the first stage and the second stage, respectively

Fig. 11
figure 11

The average makespan of DS-DSS and DS-NDSS

Fig. 12
figure 12

The average energy consumption of DS-DSS and DS-NDSS

Fig. 13
figure 13

The degree of unbalance of DS-DSS and DS-NDSS

To make a fair comparison between NSGA-II and IMSS, IMSS and NSGA-II adopt group technology and dynamic splitting strategy simultaneously (IMSS-GTDSS, NSGA-II-GTDSS). Because the solutions obtained by NSGA-II-GTDSS and IMSS-GTDSS are non-dominated solution sets, the HV index is used to measure the quality of the solutions of the two algorithms, and analyze the difference between the two algorithms through t-test. Table 3 lists the HV metrics of the solutions obtained by the two algorithms and the result of the t-test. From Table 3, it can be seen that the HV index of the solutions obtained by IMSS-GTDSS algorithm is larger than that of NSGA-II-GTDSS, indicating that the solutions obtained by IMSS-GTDSS have better quality. The p value of all t-tests is less than 0.05, which indicates that there is a significant difference between IMSS-GTDSS and NSGA-II-GTDSS. Table 4 shows the average energy consumption and the average makespan of NSGA-II-GTDSS and IMSS-GTDSS, it can be seen from the table that the average makespan obtained by IMSS-GTDSS are less than those obtained by NSGA-II-GTDSS, and the most of average energy consumption obtained by IMSS-GTDSS are less than those obtained by NSGA-II-GTDSS. There is no energy consumption and makespan obtained by NSGA-II-GTDSS is less than that obtained by IMSS-GTDSS simultaneously. Figure 14 shows the energy consumption and makespan reduction rate of IMSS-GTDSS compared with NSGA-II. It can be seen from the figure that the energy consumption can be reduced by 20.18% and the makespan can be reduced by 15.64%. The average energy consumption reduction rate and makespan reduction rate are 19.24% and 15.07%. Compared with NSGA-II-GT, the energy consumption reduction rate is similar, but the makespan reduction rate is increased by about 2%, and it is mentioned that the dynamic splitting strategy has a significant effect on the load balance of the machine. Thus, the dynamic splitting strategy can be considered in decoding. Moreover, in order to evaluate the robustness of the proposed method, the coefficient of variation (CV) is used to evaluate the discrete degree of the solution. Figure 15 shows the CV of HV index of NSGA-II-GTDSS and IMSS-GTDSS. It can be seen from the figure that most of the CV of IMSS-GTDSS is smaller than that of NSGA-II-GTDSS, indicating that the solutions of IMSS-GTDSS algorithm are less discrete and the IMSS-GTDSS has better robustness than NSGA-II-GTDSS.

Table 3 The HV metrics obtained by NSGA-II-GTDSS and IMSS-GTDSS and the result of the t-test
Table 4 The average energy consumption and the average makespan obtained by NSGA-II-GTDSS and IMSS-GTDSS
Fig. 14
figure 14

The energy consumption reduction rate and makespan reduction rate of IMSS-GTDSS

Fig. 15
figure 15

The CV of IMSS-GTDSS and NSGA-II-GTDSS

5 Conclusions

In this paper, the problem of energy-aware scheduling of two-stage flexible flow shop considering inconsistency of the process differences of jobs is studied. Group technology is used to reduce setup energy consumption, and dynamic split strategy is used to solve the problem of unbalanced machine load caused by group technology. According to the characteristics of the research problem, an improved multi-objective scatter search algorithm is proposed to solve the problem. The experimental results show that the group technology can not only reduce the energy consumption, but also reduce the makespan, and the dynamic split strategy can effectively balance the load of the machine. Finally, by comparing with the existing excellent algorithms, it shows that the improved multi-objective scatter search algorithm has better performance.

The personalized needs of consumers are constantly improving. The traditional manufacturing systems are bound to seek transformation and upgrading. The manufacturing system of enterprises must develop more advanced technology, which can effectively improve production efficiency and reduce costs on the premise of meeting the needs of consumers. This study can provide a reference way for enterprises to reduce energy consumption cost and improve production efficiency in the operation level under the multi-variety and small batch manufacturing mode.

Job delivery time is one of the important factors affecting production scheduling, and future work will consider the group strategy with job delivery time. The energy consumption cost is closely related to the electricity price, and the optimization of energy consumption cost under time-of-use electricity tariffs is also one of the future works. In addition, in practical applications, the speed of the algorithm is a non-negligible problem, and how to speed up the algorithm in solving large-scale problems is a challenge.