Advertisement

Improving Energy Efficiency in Discrete Parts Manufacturing System Using an Ultra-Flexible Job Shop Scheduling Algorithm

  • Ning LiuEmail author
  • Y. F. Zhang
  • Wen Feng Lu
Regular Paper
  • 37 Downloads

Abstract

Improving energy efficiency has been one of main objectives in modern manufacturing enterprises. Various approaches aiming at efficient energy management have been proposed/developed, among which minimizing energy consumption by energy-sensible production scheduling techniques has emerged as a promising one. However, reported workshop models are quite simple and unrealistic. This paper studies a more realistic workshop model called ultra-flexible job shop (uFJS). In an uFJS, the sequence among operations for a job can be changed within certain constraints. To formulate this energy-efficient scheduling problem, a mixed-integer linear programming model was developed. To deal with large-sized problems, a specially designed genetic algorithm (GA) was subsequently proposed and implemented. Numerical results showed the proposed GA worked with decent effectiveness and efficiency. Finally, several comparative studies are carried out to further demonstrate its efficacy in terms of energy efficiency improvement. The advantage of the uFJS as compared to other relative simple workshop models is also shown. By considering the flexibility in operation sequencing in each job, the uFJS effectively integrates process planning and scheduling in discrete parts manufacturing system, thus providing a much larger solution space for more energy-efficient solutions. It therefore provides an excellent platform for decision-makers when developing energy-efficient techniques and strategies

Keywords

Energy efficiency Discrete parts manufacturing system Production scheduling Ultra-flexible job shop Mixed-integer linear programming Genetic algorithm 

List of Symbols

CTk

Critical off-on time of Mk

di

Due date of Ji

Ek,off- on

Energy consumed by Mk during an off-on process

ETijk

The ending time of Oij on Mk; ETijk ≥ 0

FS

Flow shop

G, P, Ns, PRM, PRC, PSC1, PSC2, PSM1, PSM2

GA parameters

GA

Genetic algorithm

GRA

Grey relational analysis

i

Job index

IPk

The idle power of Mk

ITk

The total idle time of Mk in a schedule

j

Operation index

Ji

A job specified by i

JS

Job shop

k

Machine index

L

A large positive number, set as 100

MILP

Mixed-integer linear programming

Mk

A machine specified by k

MS

Machine state-based

NP

Non-deterministic polynomial-time

Oij

An operation specified by i and j

P

Population size

PM

Precedence matrix

PP

Process parameter-based

PPijk

The average processing power required by Mk to process Oij

PTijk

The processing time required by Mk to process Oij

RC

R-matrix crossover

RM

R-matrix mutation

S/N

Signal-to-noise

SC1, SC2

S-matrix crossovers

SM

Single machine

SM1, SM2

S-matrix mutations

STijk

The starting time of Oij on Mk; STijk ≥ 0

TBS

Technical building service

TEC

The total energy consumption of a schedule

TIijk

The length of transition interval immediately before Oij on Mk; TIijk ≥ 0

TPE

The total processing energy of a schedule

TTE

The total transition energy of a schedule

uFJS

Ultra-flexible job shop environment

xijk

If Oij is assigned to Mk, xijk = 1; otherwise, xijk=0

yijk- ijk

If Oij on Mk precedes Oij on machine k′, yijkijk  = 1; otherwise, yijkijk = 0

zijk

If TIijk is assigned off-on state, zijk = 1; otherwise zijk = 0

Ωk

The number of off-on transitions on Mk

1 Introduction

In the past decades, environmental concerns have been increasing due to greenhouse gas emission and climate change. Exhausting energy resources and stringent environmental legislations have been imposing huge pressure on modern enterprises to reduce their carbon footprint. It has been widely accepted that manufacturing industry are one of the largest energy consumers, but with low energy efficiency [1, 2]. As a consequence, improving energy efficiency in manufacturing, especially in discrete parts manufacturing system, has become a popular research issues in both industry and academia [3].

To achieve better energy efficiency control, an important prerequisite is to accurately estimate energy consumption in discrete parts manufacturing. It is therefore necessary to develop energy consumption estimation models for performing various machining processes on various machine tools. So far, reported energy consumption models can be approximately categorized into two major types: machine state-based (MS) models and process parameter-based (PP) models. The former estimate energy consumption by considering different machine states, e.g., idle, air-cut, spindle acceleration and deceleration [4, 5]. Furthermore, Schmidt et al. presented an approach to predict the electrical energy consumption for an arbitrary product on a specific machine [6]. The main limitation of MS models, however, is that the implementation may not be straightforward due to difficulties involved in identification of various machine states. On the other hand, the PP models appear more promising due to easy implementation and their decent accuracy level. Using an empirical method, Li and Kara found an inverse relationship between the specific energy consumption and MRR for a turning process [7]. Later, Li et al. extended the empirical model by taking spindle speed into consideration for a machine tool with relatively low standby power [8]. Subsequently, Liu et al. proposed a hybrid approach by calculating the cutting power at the tooltip analytically in a slot milling process [9]. These works have made significant contributions to accurate estimation of the energy consumption in a particular process, thus providing huge potential to address energy efficiency issues in manufacturing.

Generally, in discrete parts manufacturing, energy efficiency issues can be considered at three levels: operation planning (i.e., determining parameters for executing a particular process), process planning (i.e., translating the part design into machining instructions for manufacturing a particular part), and scheduling (i.e., allocating machining resources over the shop floor for producing a set of jobs). Accordingly, related research on optimization approaches maximizing energy efficiency generally follows three directions: (1) optimization of machining parameters for a particular process, (2) optimization in process planning for producing a particular part, and (3) optimization in scheduling for producing a set of jobs.

In the first category, the specific parameters in a process are identified and controlled to achieve maximum energy efficiency. For example, Camposeco-Negrete applied Taguchi method to optimize the turning parameters to improve energy efficiency [10]. Using the response surface method, Campatelli et al. optimized the process parameters to minimize power consumption in a milling process [11, 12]. More recently, Dureja et al. investigates the use of minimal quantities of lubricant as an alternative solution to green machining [13]. The aforementioned efforts have made valuable contributions to improving energy efficiency at the operation level. However, since machining itself usually takes up only a small portion of the total energy consumption [14], optimization at this level may have limited energy saving potential. For example, the cutting efficiency in a slot milling process could be as low as 13.67% [9].

In the second category, energy efficiency is considered in process planning, in which a set of operational instructions (machines and cutters) are selected and sequenced to convert the workpiece from raw material to the designed part. Some pioneer research works can be found in feature-based process planning [15]. Recently, this area has attracted certain attention and several frameworks were proposed for energy-efficient process planning [16, 17]. More specifically, the impacts of operation selection and operation sequencing on carbon emissions was investigated by Yin et al. [18]. Although energy-efficient process planning has shown some promising potential, it is still at an early stage. In addition, the energy saving potential is hard to quantify.

The last category represents a high-level approach to address energy efficiency issues. It was pointed out by Chu et al. that the concept of smart factory are of great importance for the future paradigm of manufacturing [19], and appropriate simulation model may help the manufacturing factories to save energy [20]. From the perspective of smart factory, energy saving can be achieved by systematic determination of machining activities over a period of time when scheduling a set of jobs. It was reported that energy savings could be achieved by turning off non-bottleneck machines instead of leaving them idle [21]. Following this approach, Mouzon and Yildirim presented a framework to minimize total energy consumption and total tardiness on a single machine (SM) [22]. Similarly, in SM environment, Shrouf et al. minimized the total energy consumption costs by avoiding high-energy price periods [23]. On the other hand, Fang et al. presented a mathematical model for minimizing power consumption and carbon footprint in a flow shop (FS) [24]. A more realistic form of FS is the hybrid or flexible FS, where an operation can be processed by more than one machine. For this kind of workshop model, Luo et al. addressed both production efficiency and electric power consumption [25], and Dai et al. proposed an evolutional algorithm to obtain an energy-efficient schedule in a flexible FS [26]. Compared to a FS, a job shop (JS) has an extra flexibility, i.e., each job has a fixed route, but different jobs may have different routes. For JS scheduling, Liu et al. presented a model for minimizing total electricity consumption and weighted tardiness [27]. These works have shown that substantial potential exists in scheduling for reducing energy consumption. However, the workshop models investigated by these works are relatively simple and far from realistic. For example, Liu et al. [27] assumed that an operation can only be processed by one particular machine. This is not typically the case in real production. In fact, it is common to find alternative machines for the same operation (e.g., a hole can be produced by a drill press/vertical milling machine/CNC machine center). Therefore, it is necessary to consider a more versatile or more flexible workshop model to reflect real manufacturing activities.

The work presented in this paper addresses energy-efficient scheduling issues in an ultra-flexible job shop environment (uFJS). Compared to a classic JS, an uFJS has two extra flexibilities: (1) an operation can be processed by more than one machine, i.e., machine assignment to a process is not pre-determined, and (2) the rigid and non-rigid precedence relationships among operations are considered, i.e., the route for a job is not fixed. It is worth noting that the first flexibility actually characterizes a classic FJS, while the second flexibility distinguishes the uFJS from a classic FJS. At the same time, the proposed scheduling algorithm has two different optimization objectives: minimum tardiness and minimum energy consumption. Only when tardiness can be avoided, the energy consumption minimization becomes meaningful.

In Sect. 2, the uFJS scheduling problem is introduced and then formulated using mixed-integer linear programming (MILP). For solution methods in large-sized problems, a genetic algorithm (GA) based algorithm is proposed in Sect. 3. Section 4 describes the determination of GA parameters using grey relational analysis. Section 5 describes several comparative studies based on which the proposed methods are discussed. Finally, Sect. 6 concludes the paper.

2 Problem Description

In this section, the classic FJS is firstly described, followed by the introduction of the uFJS. Then, a typical energy consumption profile is presented based on which the energy consumption in a schedule can be estimated. Finally, MILP is employed to formulate the energy-efficient scheduling problem.

2.1 The Classic FJS Model

A classic FJS scheduling problem can be described as follows [28]. A set of jobs J = {Ji} are dispatched onto a set of machines M = {Mk}. Ji consists of a set of operations Oi= {Oij}, which must be sequentially performed according to a predefined route. Oij is allowed to be processed on any machine from a given machine set Maij (Maij ⊆ M). Ji has a due date di. Without loss of generality, the FJS scheduling problem makes the following assumptions:
  1. 1.

    Each machine can only process one operation at a time.

     
  2. 2.

    Each machine is continuously available for production.

     
  3. 3.

    An operation cannot begin until its predecessors are completed.

     
  4. 4.

    Once an operation is begun on a machine, it must not be interrupted.

     
  5. 5.

    All jobs are available at time zero.

     

2.2 The uFJS Model

Compared with the FJS, the uFJS allows one more flexibility, i.e., the sequence of operations for a job can be changed subject to the rigid precedence constraints (e.g., drilling is performed before deburring). In any given process plan for a job, where a set of ordered operations are present, it is common that the order among some operations can be interchanged without violating the rigid precedence constraints. More specifically, the precedence relationships among a set of operations in a process plan can be represented by a precedence matrix (PM) [29]. An example of PM for J0 is shown in Table 1, where “entry (OX, OY) = 1” means OX must be performed before OY; “entry (OX, OY) = − 1” means OX must be performed after OY; and “entry (OX, OY) = 0” means there is no precedence constraints between OX and OY. For example, O02 must be performed after O00 and before O03, but it can be processed either before or after O01. These precedence constraints can also be visualized in the modified disjunctive graph in Table 1. Apparently, there exist several feasible process plans for this simple example, e.g., “O00 → O01 → O02 → O03”, “O00 → O02 → O03 → O01”, and “O00 → O02 → O01 → O03”.
Table 1

An example of a precedence matrix and its modified disjunctive graph

Compared with JS scheduling problems, the two extra flexibilities in uFJS extend the schedule solution space tremendously, and thus may lead to better solutions in terms of any given objective. This finding is also in line with the results presented in [30]. They found that the inflexibility on machine assignment and operation sequencing might cause severe unbalanced resource loading and tardiness. By considering these two flexibilities in scheduling, they successfully developed a solution in minimizing tardiness and/or balanced machine utilization rate. In terms of energy consumption, it is also believed that an uFJS will enlarge the scheduling solution space than its counterpart FJS, thus leading to a scheduling solution with better energy efficiency. For illustration, the example in Table 1 is extended to qualitatively demonstrate this effect, as is shown in Fig. 1. Figure 1a shows a schedule by treating the problem in a classic FJS, where the sequence among operations is fixed. It can be seen from the Gantt chart that idle intervals exist on both M1 and M2, resulting in a considerable amount of unproductive energy consumption. In contrast, by treating this problem in an uFJS, the newly ordered operations as shown in Fig. 1b are also considered feasible. As a result, the original idle interval on M1 is reduced to zero, and at the same time, the original idle interval on M2 is reduced to a shorter one. In this way, the unproductive energy consumption in Fig. 1b is much lower than that in Fig. 1a, leading to a higher energy efficiency.
Fig. 1

An example showing effects on energy consumption in different workshop models. a A schedule in a classic FJS. b A schedule in an uFJS

2.3 Energy Consumption Estimation in a Schedule

In order to perform energy-efficient scheduling, one must be able to assess the total energy consumption of a given schedule. The energy consumption profile of a certain machine can be accessed using a power meter [9]. For any machine in a Gantt chart, there are two kinds of usage intervals: (1) the processing interval during which an operation is being processed on the assigned machine; (2) the transition interval when the machine is waiting for an operation to process. The energy consumption of these intervals can then be worked out based on the machine’s energy consumption profiles [8]. An example is shown in Fig. 2 where the energy consumption profile is obtained using a power meter with a sampling frequency of 10 Hz. Mk performs Oij (with time PTijk) and Oij (with time PTijk), and is “waiting” in between. The average processing powers for Oij and Oij are PPijk and PPijk, respectively. The total amount of processing energy consumed by Mk is represented by the shaded areas of Fig. 2. When Mk is “waiting”, it takes one of the following two states:
Fig. 2

Energy consumption profile of two operations scheduled on the same machine

  1. 1.

    idle—it consumes idle power IPk;

     
  2. 2.

    offonMk is firstly turned off (energy consumption: Ek,off). Before Mk can be used for production, it needs to be turned on and warmed up (energy consumption: Ek,on). These two events are combined into a single one called offon transition with energy consumption Ek,offon = Ek,off + Ek,on. At the same time, an offon transition takes a minimum amount of time Tk,offon for its completion.

     
For a given transition interval of total time TI, the first task is to determine its states: idle or offon. The method introduced by Mouzon et al. [21] is adopted and slightly modified. Firstly, the critical off-on time (CTk) of Mk is calculated as,
$$CT_{k} = \frac{{E_{k,off - on} }}{{IP_{k} }}.$$
(1)
Secondly, the state of the transition interval is determined by the following:
  1. 1.

    If TI < CTk, the transition interval is assigned idle.

     
  2. 2.

    If TI > Tk,offon, the transition interval is assigned off-on.

     
  3. 3.

    If CTk ≤ TI ≤ Tk,offon, the transition interval is assigned offon. At the same time, the interval must be extended to Tk,offon. The original schedule must be updated accordingly.

     

Once the state of every transition interval is assigned, the total energy consumption can be assessed.

2.4 Energy Consumption Estimation in a Schedule

In this section, the uFJS scheduling problem is formulated using MILP. The following supplementary assumptions are used:
  1. 1.

    All machines are idle at time zero.

     
  2. 2.

    Energy consumption due to technical building service (TBS) is considered constant. Therefore, the total energy consumption to be minimized can be seen as the total electricity consumed by all machines over the shop floor.

     
For a given schedule, the total processing energy (TPE) can be obtained by summing up the processing energy of all operations as,
$$TPE = \sum\limits_{i \in J} {\sum\limits_{{j \in O_{i} }} {\sum\limits_{{k \in M^{aij} }} {PP_{ijk} \cdot PT_{ijk} \cdot x_{ijk} } } } .$$
(2)
Meanwhile, the total transition energy (TTE) can be obtained by summing up the transition energy of all operations as,
$$TTE = \sum\limits_{i \in J} {\sum\limits_{{j \in O_{i} }} {\sum\limits_{{k \in M^{aij} }} {(IP_{k} \cdot TI_{ijk} \cdot (1 - z_{ijk} ) + E_{k,off - on} \cdot z_{ijk} )} } } .$$
(3)
With the above analysis, the energy-efficient uFJS scheduling problem can be formulated as a MILP model to minimize the total energy consumption (TEC) subject to a set of constraints, as described in Eqs. (4)–(18).
$${\text{minimize: }}TEC = TPE + TTE.$$
(4)
Subject to:
$$\sum\limits_{{k \in M^{aij} }} {x_{ijk} = 1\quad \forall i \in J,} \; \, \forall j \in O_{i}$$
(5)
$$ET_{ijk} = ST_{ijk} + PT_{ijk} \cdot x_{ijk} \quad \, \forall i \in J, \, \forall j \in O_{i} , \, \forall k \in M^{aij} \,$$
(6)
$$ST_{ijk} + ET_{ijk} \le x_{ijk} \cdot L\quad \forall i \in J, \, \forall j \in O_{i} , \, \forall k \in M^{aij} \,$$
(7)
$$ST_{ijk} \ge ET_{{i^{\prime}j^{\prime}k}} - y_{{ijk - i^{\prime}j^{\prime}k}} \cdot L\quad \forall i, \, i^{\prime} \in J, \, \forall j \in O_{i} , \, \forall j^{\prime} \in O_{{i^{\prime}}} ,j^{\prime} \ne j, \, \forall k \in M^{aij} \cap M^{{ai^{\prime}j^{\prime}}} \,$$
(8)
$$ST_{{i^{\prime}j^{\prime}k}} \ge ET_{ijk} - (1 - y_{{ijk - i^{\prime}j^{\prime}k}} ) \cdot L\;\; \, \forall i,\;i^{\prime} \in J, \, \forall j \in O_{i} , \, \forall j^{\prime} \in O_{i'} , \, j \ne j^{\prime}, \, \forall k \in M^{aij} \cap M^{{ai^{\prime}j^{\prime}}}$$
(9)
$$ST_{ijk} \ge ET_{{ij^{\prime}k^{\prime}}} - y_{{ijk - ij^{\prime}k^{\prime}}} \cdot L\;\;\forall i \in J, \, \forall j,j^{\prime} \in O_{i} , \, \forall k \in M^{aij} , \, k' \in M^{{aij^{\prime}}} , { }k \ne k^{\prime}$$
(10)
$$ST_{{ij^{\prime}k^{\prime}}} \ge ET_{ijk} - (1 - y_{{ijk - ij^{\prime}k^{\prime}}} ) \cdot L\;\;\forall i \in J, \, \forall j,j^{\prime}O_{i} , \, \forall k \in M^{aij} , \, k^{\prime} \in M^{{aij^{\prime}}} , { }k \ne k^{\prime}$$
(11)
$$y_{{ijk - i^{\prime}j^{\prime}k}} > (ST_{{i^{\prime}j^{\prime}k}} - ET_{ijk} ) /L\;\;\forall i, \, i^{\prime} \in J, \, \forall j \in O_{i} , \, \forall j^{\prime} \in O_{i'} , \, j \ne j^{\prime}, \, \forall k \in M^{aij} \cap M^{{ai^{\prime}j^{\prime}}} \,$$
(12)
$$y_{{ijk - ij^{\prime}k^{\prime}}} > (ST_{{ij^{\prime}k^{\prime}}} - ET_{ijk} ) /L\quad \forall i \in J,\;\forall j,j^{\prime} \in O_{i} , \, \forall k \in M^{aij} , \, k^{\prime} \in M^{{ai^{\prime}j^{\prime}}} , { }k \ne k^{\prime}$$
(13)
$$\sum\limits_{{k \in M^{aij} }} {ET_{ijk} \le \sum\limits_{{k' \in M^{aij'} }} {ST_{{ij^{\prime}k^{\prime}}} } \quad \, \forall i \in J,\forall j,j^{\prime} \in O_{i} ,\;(j,j^{\prime}) = 1}$$
(14)
$$TI_{ijk} = \mathop {\hbox{min} }\limits_{{i^{\prime} \in J, \, \forall j^{\prime} \in O_{i'} , \, j^{\prime} \ne j}} (ST_{ijk} - ET_{i'j'k} + y_{{ijk - i^{\prime}j^{\prime}k}} \cdot L) \cdot x_{ijk} \quad \forall i \in J, \, \forall j \in O_{i} , \, k \in M^{aij}$$
(15)
$$z_{ijk} \le TI_{ijk} /CT_{k} - TI_{ijk} /L\quad \forall i \in J,\;\forall j \in O_{i} ,\;\forall k \in M^{aij}$$
(16)
$$z_{ijk} \ge (TI_{ijk} - CT_{k} )/L\quad \forall i \in J,\;\forall j \in O_{i} ,\;\forall k \in M^{aij}$$
(17)
$$\mathop {\hbox{max} }\limits_{{j \in O_{i} ,k \in M^{aij} }} ET_{ijk} \le d_{i} \quad \forall i \in J.$$
(18)

Equation (4) is the objective function. Constraint (5) ensures that each operation is assigned to and only to one machine. Constraint (6) states that once an operation is started on the assigned machine, it must not be interrupted until it is finished. Constraint (7) guarantees that if an operation is not assigned to a machine, the starting time and ending time on that machine should be zero. Constraints (8) and (9) make sure that no more than one operation can be processed by a machine at any time. Constraints (10 and (11) show that operations within the same job cannot be processed simultaneously by different machines. Constraints (12) and (13) define the decision variable yijkijk on different occasions. Constraint (14) ensures the precedence constraints in precedence matrices are not violated. Constraint (15) defines the length of transition interval immediately before an operation. Constraints (16) and (17) determine the status of the transition interval. Finally, constraint (18) imposes the due date constraint on each job.

3 The Proposed GA-Based Solution Algorithm

Naturally, a MILP engine can be used to develop a solution algorithm to solve this uFJS scheduling problem. At the same time, it is obvious this problem is non-deterministic polynomial-time (NP) hard, and the MILP algorithm is only feasible to problems of small sizes. For large-sized problems, a search algorithm is needed to find high-quality solutions. Genetic algorithm is a well-known evolutionary search algorithm designed for NP-complete problems [31]. With proper implementation (e.g., GA operators and reproduction mechanism), it could search the whole solution space effectively and efficiently. As a result, a GA-based search algorithm is developed for finding the optimal or “near optimal” plans/schedule solution within a reasonable amount of time.

3.1 Solution Representation

The uFJS scheduling has three simultaneous tasks to perform, i.e., operation routing within each job, machine assignment, and operation sequencing on assigned machines. A chromosome (representing a schedule solution) must be designed in such a way that the entire solution space can be traversed by modifying the chromosome. In this paper, the proposed chromosome for a m-machine and n-job problem consists of two matrices: (1) a S-matrix with the size of \(m \times \mathop \sum \limits_{i \in J} l_{i}\), where li is the number of operations of Ji, and (2) a R-matrix with the size of n × limax, where limax = max li.

In a S-matrix, the k-th row stands for Mk-1. The entries in the k-th row represent the operations on Mk−1 and they are to be performed sequentially. In a R-matrix, the i-th row stands for Ji−1. The entries in the i-th row represent the process plan of Ji−1. When S(k, j) or R(i, j) is empty, a dummy entry of “0” is used. A row in S-matrix stores the sequencing information of operations on the same machine, while a row in R-matrix provides the sequencing information of operations in the same job. S-matrix and R-matrix work together when determining the final Gantt chart.

For better understanding, an example is shown in Fig. 3. In Fig. 3a, the 4th row of S-matrix means O00 and O12 are assigned to M3, and O00 is performed before O12. In Fig. 3b, the first row of R-matrix means J0 consists of two operations, O00 and O01, and O00 must be performed before O01. The R-matrix in Fig. 3b can be easily visualized as a disjunctive graph in Fig. 3c. With the given S-matrix and R-matrix, the final schedule can be determined as the Gantt chart in Fig. 3d.
Fig. 3

A solution representation for an uFJS with 3 jobs/4 machines. a S-matrix. b R-matrix. c The disjunctive graph represented by the R-matrix. d The Gantt chart for the chromosome

With this solution representation, any changes on machine assignment and/or operation sequence can be easily made in the S-matrix, and any changes on routes of the jobs can be achieved in the R-matrix. Thus, this representation can cover the whole solution space for the uFJS scheduling problem.

3.2 Overall GA Procedure

To search for the optimal or near-optimal solution, the overall procedure of the proposed GA based algorithm, named as uFJS-GA in this paper, is described as follows:
  1. 1.

    Randomly initialize P chromosomes in the first generation.

     
  2. 2.

    Check and repair to make all the chromosomes feasible.

     
  3. 3.

    Evaluate these P chromosomes in the current generation.

     
  4. 4.

    If the stopping criterion is met, go to step (5); otherwise, generate P chromosomes in the next generation according to the reproduction mechanism and go to step (2).

     
  5. 5.

    Output the obtained solution and stop.

     

The detailed implementation of uFJS-GA will be described in the following sections.

3.3 First Generation Initialization and Fitness Evaluation

The procedure for random generation of a single chromosome is described in this section. For a given uFJS problem, the R-matrix is generated first. For the generation of the entries in a row (job), the following steps are carried out.
  1. 1.

    For the leftmost empty entry, randomly pick up one operation (from those of the job) that does not have any predecessor according to its PM.

     
  2. 2.

    Update the PM by deleting the picked operation from rows and columns.

     
  3. 3.

    If the PM becomes empty, go to (4). Otherwise, go to (1).

     
  4. 4.

    Fill up all the empty entries of the row with “0”. Stop.

     

By applying the above procedures, one row at a time, a R-matrix can be randomly generated that satisfies the PM of the job automatically.

For the same uFJS problem, a S-matrix can also be generated independently by randomly sequencing the operations of each row (machine). However, a S-matrix generated in such a way may not satisfy the routes in the already generated R-matrix, making the chromosome infeasible. For example, given four operations A, B, C, and D, if “D → A” and “B → C” are defined in R-matrix, a S-matrix of “(M1) A → B” and “(M2) C → D” will present a cyclic precedence conflict. Hence, the generation of S-matrix must be based on the already generated R-matrix. A procedure similar to the generation of R-matrix is employed. For the generation of the entries in a row (machine), the following steps are carried out:
  1. 1.

    Randomly pick up one operation with no predecessor according to the generated R-matrix.

     
  2. 2.

    Randomly select one machine from the machine set that can process the picked operation, and assign the operation to the leftmost empty entry in the row representing the machine in S-matrix.

     
  3. 3.

    Update the R-matrix by deleting the picked operation.

     
  4. 4.

    If there is no operation left in R-matrix, go to (5). Otherwise, go to (1).

     
  5. 5.

    Fill up all the empty entries in the S-matrix with “0” and restore the R-matrix. Stop.

     

By applying the above procedures, a S-matrix can be randomly generated that satisfies the already generated R-matrix automatically, which will guarantee its feasibility.

3.4 Creation of Offsprings

In a GA, searching for the optimal solution is conducted based on the evolution of the chromosomes over generations. In this evolution, new chromosomes (offsprings) need to be created by applying GA operations (crossover and mutation). Apparently, GA operators play an important role in the performance of the GA. Properly designed GA operators will not only help to increase the possibility of obtaining a good solution, but also to improve the searching efficiency.

For the uFJS scheduling problem, four kinds of GA operators are designed to achieve changes in job routes, machine assignment, and operation sequence on each machine. Besides, operators for R-matrix and S-matrix are independently designed and performed. These GA operators are briefly described as follows:
  • R-matrix crossover (RC). The mechanism of RC is illustrated in Fig. 4. A segment in a row, consisting of several entries, is randomly selected from Parent 1 (P1). The offspring inherits all entries from P1 except those in the selected segment (see Offspring′). Then it inherits the missing entries in their appearing order from P2 (see Offspring) so that the offspring is feasible.
    Fig. 4

    R-matrix crossover operator

  • R-matrix mutation (RM). The mechanism of RC is illustrated in Fig. 5. One entry and one position are randomly selected in a row. The offspring inherits all entries from the parent except those between the selected entry (inclusive) and position (see Offspring′ in Fig. 5). The missing entry at the selected position in the offspring is filled by the selected entry (see Offspring″). Finally, the offspring inherits the other missing entries in their appearing order from its parent (see Offspring). The generated offspring will be checked to satisfy the PM before going to the next step. If not, the process is repeated until a feasible offspring is obtained.
    Fig. 5

    R-matrix mutation operator

  • Two S-matrix crossovers: SC1 and SC2 (see Fig. 6). The operations within the parents are transformed into a single row (called a line) to facilitate the operation. Entries of “0” in this line act as machine divider. For SC1, several discrete entries are randomly picked up in P1. For SC2, a segment consisting of several continuous entries is randomly picked up in P1. The offspring inherits all the entries from P1 except these picked entries (see Offspring′ of SC1). Then it inherits the missing entries in their appearing order in P2 (see Offspring″ of SC1). At last, the offspring is transformed to S-matrix.
    Fig. 6

    The two S-matrix crossover operators

  • Two S-matrix mutations: SM1 and SM2 (see Fig. 7). The S-matrix is first transformed into a line. For SM1, an entry and a position are randomly selected in the parent. A similar procedure to RM (see Fig. 5) is applied to generate the offspring. For SM2, two discrete entries are randomly picked up and their positions are exchanged to form an offspring in line. At last, the offspring is transformed to S-matrix.
    Fig. 7

    The two S-matrix mutation operators

3.5 Reproduction Mechanism and Stopping Criterion

In the process of reproduction, parents are randomly selected from the current generation. Each GA operator is assigned a probability according to which the GA operator is invoked.

The selection scheme of uFJS-GA is based on the elitism principle. A parameter called generation gap (G < 1) is used to control the total number of newly generated offsprings. Specifically, G × P chromosomes from the current generation are randomly selected to generate G × P offsprings. Based on fitness competition between the offsprings and their parents, chromosomes with lower fitness value are retained, forming one part of the next generation. Meanwhile, the other part is constituted by the other (1 − G) × P chromosomes in the current generation that take no part in the reproduction. In this way, elitism is automatically guaranteed. At the same time, the variety of chromosomes can also be reserved. The search algorithm stops when the best solution of a generation remains unchanged for a fixed number (Ns) of generations.

4 Determination of GA Parameters Using Grey Relational Analysis (GRA)

In the uFJS-GA, there are a number of parameters, i.e., population size (P), GA operator probabilities (PRM, PRC, PSC1, PSC2, PSM1 and PSM2), generation gap (G) and stopping generation requirement (NS). A proper setting of these parameters is therefore necessary. Traditional trial-and-error method is not only tedious but also inefficient. Cheng and Chang successfully employed the traditional Taguchi experimental design and signal-to-noise (S/N) analysis in the parameter setting for a genetic algorithm [32]. However, it is also noticed that Taguchi method can only deal with a single objective. In fact, besides fitness value, repeatability/stability should also be considered as an important criterion in evaluating search algorithms. In other words, a search algorithm should be able to give solutions with high quality and low deviation over runs. To address these two objectives simultaneously, the grey relational analysis (GRA) that has been widely used in solving complicated interrelationships among the multiple performance characteristics, is applied to set the GA parameters in this paper. The details for implementing the GRA can be found in the work by Lin and Lin [33].

In this paper, the GA parameters are set using a relatively large instance of 8 jobs/8 machines with 27 operations in total (see Table 2). In Table 2, all the jobs are prismatic parts requiring a set of machining processes, such as drilling, slotting, end-milling, etc. The workshop is assumed to have seven machine tools including vertical/horizontal milling machines, CNC milling machine and drill press. For example, M3 is a modern CNC milling machine and it can process all the required operations. An entry under a column (M0M7) indicates the processing time and average processing power required by the assigned machine to perform the operation, e.g., “5 (6)” under M0 (for J0) means M0 needs 5 time units to perform O00 with an average processing power of 6 power units. Besides, “–” means the machine cannot perform the operation. Column d represents the maximum allowable time for a job, which is converted from its due date. The energy consumed by these machines during their off-on process is {Ek,offon} = {15, 21, 12, 16, 12, 24, 28, 10}.
Table 2

Data set for the instance with 8 jobs/8 machine and 27 operations

Job

O

M 0

M 1

M 2

M 3

M 4

M 5

M 6

M 7

PM

d

J 0

O 00

5 (6)

3 (11)

5 (10)

3 (6)

5 (10)

10 (11)

9 (4)

\(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 1 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & 0 & 0 \\ \end{array} } \\ \end{array} } \right]\)

30

O 01

10 (7)

5 (7)

8 (7)

5 (7)

9 (11)

9 (9)

6 (4)

O 02

10 (9)

5 (5)

2 (10)

4 (11)

5 (4)

J 1

O 10

5 (6)

7 (12)

3 (10)

9 (7)

3 (10)

9 (12)

\(\left[ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 \\ { - 1} & 0 & 0 & 0 \\ { - 1} & 0 & 0 & 1 \\ { - 1} & 0 & { - 1} & 0 \\ \end{array} } \right]\)

30

O 11

8 (8)

5 (7)

2 (8)

5 (7)

7 (11)

10 (12)

9 (6)

O 12

10 (9)

5 (8)

4 (10)

1 (12)

7 (4)

O 13

10 (6)

8 (12)

9 (7)

6 (5)

9 (7)

7 (8)

J 2

O 20

10 (8)

7 (6)

5 (10)

2 (11)

4 (7)

\(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 1 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & 0 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & { - 1} & 0 \\ \end{array} } \\ \end{array} } \right]\)

20

O 21

10 (8)

6 (7)

4 (13)

6 (7)

9 (11)

10 (12)

O 22

1 (8)

4 (12)

5 (10)

6 (10)

5 (10)

10 (10)

7 (5)

J 3

O 30

3 (10)

1 (9)

6 (10)

5 (12)

6 (10)

7 (11)

8 (11)

4 (7)

\(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \\ \end{array} } \right]\)

20

O 31

12 (9)

11 (10)

7 (11)

8 (8)

7 (11)

5 (9)

6 (10)

9 (7)

O 32

4 (9)

6 (11)

2 (7)

10 (9)

2 (7)

9 (10)

5 (9)

7 (4)

J 4

O 40

3 (8)

6 (12)

7 (8)

8 (5)

7 (8)

10 (12)

\(\left[ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 \\ { - 1} & 0 & 0 & 0 \\ { - 1} & 0 & 0 & 1 \\ { - 1} & 0 & { - 1} & 0 \\ \end{array} } \right]\)

30

O 41

10 (6)

7 (9)

4 (7)

7 (9)

8 (8)

6 (10)

O 42

9 (10)

8 (10)

7 (7)

8 (10)

2 (11)

7 (10)

O 43

11 (6)

9 (12)

6 (6)

5 (11)

3 (11)

6 (5)

J 5

O 50

6 (7)

7 (10)

1 (11)

4 (9)

1 (11)

9 (10)

10 (7)

\(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 1 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & 0 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & { - 1} & 0 \\ \end{array} } \\ \end{array} } \right]\)

20

O 51

11 (9)

9 (11)

9 (7)

9 (11)

7 (11)

6 (11)

4 (4)

O 52

10 (6)

5 (10)

9 (11)

10 (6)

9 (11)

10 (9)

J 6

O 60

5 (8)

4 (12)

2 (7)

6 (8)

2 (7)

10 (10)

\(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} } \\ {\begin{array}{*{20}c} { - 1} & { - 1} & 0 \\ \end{array} } \\ \end{array} } \right]\)

30

O 61

9 (12)

9 (10)

9 (10)

10 (12)

5 (6)

O 62

8 (9)

9 (10)

3 (11)

9 (10)

6 (10)

10 (7)

J 7

O 70

2 (10)

8 (10)

5 (9)

9 (13)

5 (9)

4 (11)

10 (7)

\(\left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & { - 1} & 0 & 1 \\ 0 & { - 1} & { - 1} & 0 \\ \end{array} } \right]\)

20

O 71

7 (8)

4 (9)

7 (8)

8 (15)

7 (8)

10 (12)

O 72

9 (6)

9 (11)

8 (8)

6 (10)

7 (9)

1 (4)

O 73

9 (10)

3 (7)

7 (9)

3 (7)

5 (9)

8 (11)

The implemented uFJS-GA was used to solve this case for the experiment designed by Taguchi L27 (38) orthogonal array with three levels of each factor as shown in Table 3, where P is the population size and G the generation gap. \(P^{\prime}_{SC1}\)1,\(P^{\prime}_{SC2}\), \(P^{\prime}_{SM1}\), and \(P^{\prime}_{SM2}\) represent the relative probabilities for the four S-matrix operators, respectively. The actual probability of a GA operator is calculated as \(P_{i} = {{P^{\prime}_{i} } \mathord{\left/ {\vphantom {{P^{\prime}_{i} } {\sum {P^{\prime}_{i} } }}} \right. \kern-0pt} {\sum {P^{\prime}_{i} } }}\), where \(P^{\prime}_{i}\) is the entry in a column at level i. PRC is the probability for R-matrix crossover and PRM = − PRC. Ns is the stopping criterion. Due to the non-deterministic nature of the GA, the experimental results of each parameter setting are averaged over 50 separate runs.
Table 3

The three levels of factors in L27 orthogonal array

Level

1

2

3

A (P)

100

200

300

B (G)

0.3

0.5

0.7

C (\(P^{\prime}_{SC1}\))

1

2

3

D (\(P^{\prime}_{SC2}\))

1

2

3

E (\(P^{\prime}_{SM1}\))

1

2

3

F (\(P^{\prime}_{SM2}\))

1

2

3

G (PRC)

0.3

0.5

0.7

H (Ns)

1000

2000

3000

The numerical experiment results are shown in Table 4, with \(\bar{y}\) representing the average fitness value and σ the standard deviation. Based on the results, the aforementioned GRA was carried out, with the grey relational grades calculated as shown in Table 5. According to GRA, a larger grey relational grade is preferred, thus giving the optimal combination as A1B3C1D1E3F1G1H3 (see bold values in Table 5), which was not included in the 27 settings. To test the effectiveness of this parameter combination, a confirmation test was then conducted in which Ns was set as 3000. Figure 8 shows the fitness evolution against generation in one of the confirmation tests, in which the search history of two traditional minimization algorithms (greedy descent and steepest descent) is also shown. The results are shown in the last row (marked as “**”) of Table 4. It can be seen that the optimal parameter setting achieved an average fitness of 653.9, slightly better than the best average fitness of 654.1 in setting-7. Meanwhile, σ is also reduced to 2.7, which is lower than that of any above setting. The effectiveness of the GRA is thus clearly shown.
Table 4

Numerical test results for L27 orthogonal array and confirmation test

No.

Factors

Performance

A

B

C

D

E

F

G

H

\(\bar{y}\) [EU]

σ

1

1

1

1

1

1

1

1

1

718.9

11.4

2

1

1

1

1

2

2

2

2

678.3

7.6

3

1

1

1

1

3

3

3

3

665

7.3

4

1

2

2

2

1

1

1

2

664.1

7.2

5

1

2

2

2

2

2

2

3

656.3

6.6

6

1

2

2

2

3

3

3

1

687.7

13.4

7

1

3

3

3

1

1

1

3

654.1

3.3

8

1

3

3

3

2

2

2

1

679.9

11.4

9

1

3

3

3

3

3

3

2

656.9

8.5

10

2

1

2

3

1

2

3

1

766.1

32.2

11

2

1

2

3

2

3

1

2

721.9

27.4

12

2

1

2

3

3

1

2

3

685.9

13.8

13

2

2

3

1

1

2

3

2

705.4

21.7

14

2

2

3

1

2

3

1

3

673.3

12.3

15

2

2

3

1

3

1

2

1

717.8

19.9

16

2

3

1

2

1

2

3

3

678.5

11.1

17

2

3

1

2

2

3

1

1

694.1

13.3

18

2

3

1

2

3

1

2

2

671.6

9.9

19

3

1

3

2

1

3

2

1

779.5

24.1

20

3

1

3

2

2

1

3

2

702.6

17.5

21

3

1

3

2

3

2

1

3

684.2

16.1

22

3

2

1

3

1

3

2

2

701.9

18.3

23

3

2

1

3

2

1

3

3

680.6

13.7

24

3

2

1

3

3

2

1

1

702.9

13.1

25

3

3

2

1

1

3

2

3

673.2

7.6

26

3

3

2

1

2

1

3

1

707

17.9

27

3

3

2

1

3

2

1

2

671.4

5.5

**

1

3

1

1

3

1

1

3

653.9

2.7

Table 5

Grey relation grade for each level of the studied parameters

Level

1

2

3

A (P)

0.765

0.559

0.591

B (G)

0.554

0.632

0.730

C (\(P^{\prime}_{SC1}\))

0.648

0.642

0.626

D (\(P^{\prime}_{SC2}\))

0.650

0.644

0.622

E (\(P^{\prime}_{SM1}\))

0.614

0.629

0.673

F (\(P^{\prime}_{SM2}\))

0.651

0.642

0.623

G (PRC)

0.672

0.639

0.605

H (Ns)

0.524

0.655

0.737

Fig. 8

The fitness evolution in one of the confirmation tests

5 Results and Discussions

In this section, a comparative study between the implemented uFJS-GA and several other algorithms is firstly conducted using a set of instances. Subsequently, another comparative study is carried out among several workshop models to demonstrate the advantage of the uFJS model.

5.1 Comparative Study Between Other Algorithms and uFJS-GA

The MILP algorithm and uFJS-GA were implemented with CPLEX 12.6 and JAVA on a PC (3.3 GHz and 4 GB RAM), respectively. Since MILP cannot handle problems of large sizes, two traditional optimization algorithms, steepest descent algorithm and greedy descent algorithm [34], were also implemented for comparison. A set of 12 instances (see Table 6) were then used to test their performances. For each instance, 50 separate runs were conducted. The performance of these algorithms was also presented in Table 6, in which \(\overline{TE}\) and TEmin in energy units (EU) represent the obtained average fitness and minimal fitness obtained in the repeated numerical tests (50 runs), respectively. \(\bar{t}\) is the average search time and η is the success rate of finding TEmin. The follow results can be observed:
Table 6

Obtained results for the uFJS scheduling problems with different sizes

Instance settings

MILP algorithm

Steepest descent

Greedy descent

uFJS-GA

No.

n

m

li

TE [EU]

t [s]

TE [EU]

t [s]

TE [EU]

t [s]

\(\overline{TE}\,\) [EU]

TEmin [EU]

η (%)

\(\bar{t}\) [s]

1

3

3

6

216.0

0.3

838.7

0.0

216.0

0.0

216.0

216.0

100

0.0

2

3

4

7

293.0

2.1

882.2

0.0

293.0

0.0

293.0

293.0

100

0.1

3

3

4

8

323.0

6.2

878.4

0.0

323.0

0.2

323.0

323.0

100

0.5

4

4

4

9

336.0

8.0

872.3

0.0

336.6

0.5

336.4

336.0

100

1.0

5

4

4

10

354.0

19.1

826.2

0.0

355.1

1.0

354.8

354.0

100

1.1

6

5

5

13

425.0

657.5

884.9

0.0

441.3

1.8

425.5

425.0

88.0

2.1

7

6

5

14

460.0

5160.7

875.5

0.0

486.1

2.0

460.7

460.0

94.0

2.9

8

5

6

14

459.0

59,384.4

831.6

0.0

477.4

3.5

461.6

459.0

56.0

3.3

9

6

6

17

866.6

0.0

516.4

4.9

503.8

503.0

78.0

5.4

10

7

6

19

830.7

0.0

585.8

6.3

564.9

563.0

28.0

8.7

11

7

7

21

926.7

0.0

636.2

7.5

617.9

615.0

20.0

9.2

12

8

8

27

879.6

0.0

693.4

10.2

653.6

651.0

14.0

27.8

  1. 1.

    Comparative results against MILP. Although MILP algorithm could guarantee to find the optimal solution, the required search time increases exponentially as the problem size gets larger. As can be seen from Table 6, the MILP algorithm was only able to find the global minima (within a reasonable amount of time) for the first eight instances (up to 5-job/6-machine). In contrast, the uFJS-GA also managed to find the global minima of all eight instances, but within a much shorter time. The effectiveness and efficiency of the proposed uFJS-GA in small sized problems is clearly shown.

     
  2. 2.

    Comparative results against steepest descent algorithm and greedy descent algorithm. For instances of large sizes, uFJS-GA, steepest descent algorithm and greedy descent algorithm managed to obtain solutions within a reasonable amount of time. As can be seen from Table 6, the solutions obtained by steepest descent algorithm are very poor. This is because search can be easily trapped in local minimum. On the other hand, greedy descent algorithm did a more reasonable job. Still, uFJS-GA outperformed it in nearly all instances, especially in large-sized problems. Although the true optimal solutions for these relative large-sized problems are not known, it can be safely stated that the solutions obtained by uFJS-GA are of decent quality.

     

It is also noted that the success rate of the uFJS-GA for finding TEmin decreased with the increase of the instance sizes (from 78 to 14%). Therefore, larger number of runs is recommended with instances of larger sizes.

5.2 Comparative Study Among Different Shop Floor Models

In order to demonstrate the effectiveness of the proposed uFJS model in achieving better energy efficiency, a comparison study is performed against the following three workshop models.
  1. 1.
    Classic FJS, where operations are allowed to be performed by alternative machines, but the operations in each job have to be sequentially performed according to a predetermined route. Compared to the uFJS, the precedence matrix of a job is simplified as
    $$PM_{i} = \left[ {\begin{array}{*{20}c} 0 & 1 & \cdots & 1 \\ { - 1} & 0 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 1 \\ { - 1} & \cdots & { - 1} & 0 \\ \end{array} } \right]$$
     
  2. 2.

    Ultra job shop (uJS), where there is flexibility in the route of each job, but each operation can only be processed on one machine.

     
  3. 3.

    Classic job shop (JS), where the operations in each job have to be sequentially performed according to a predetermined route, and each operation can only be processed on one machine.

     
The same 12 instances in Table 6 were used for the comparative study and the average results over 50 separate runs were recorded in Table 7. Several interesting findings are observed from the results in Table 7.
Table 7

The results of the comparative study

Instance settings

uFJS

FJS

uJS

JS

No.

n

m

li

\(\overline{TE}\) [EU]

\(\overline{TE}\) [EU]

\(\overline{TE}\) [EU]

\(\overline{TE} \,\) [EU]

1

3

3

6

216.0

225.0

286.0

301.0

2

3

4

7

293.0

302.0

366.0

380.0

3

3

4

8

323.0

332.0

449.0

463.0

4

4

4

9

336.0

348.0

530.0

538.0

5

4

4

10

354.0

374.0

580.0

585.0

6

5

5

13

425.5

441.0

665.0

695.0

7

6

5

14

460.7

472.3

680.5

698.3

8

5

6

14

461.6

469.7

685.9

714.1

9

6

6

17

503.8

516.8

788.5

813.9

10

7

6

19

564.9

578.3

894.6

918.5

11

7

7

21

617.9

632.1

1012.1

1034.2

12

8

8

27

653.6

687.3

1815.5

1929.2

  1. 1.

    Compared to FJS and uFJS, the energy efficiency of JS and uJS is much poorer. This is because JS and uJS assume that an operation can only be processed by one machine. This unrealistic assumption can easily cause bottleneck machines, unbalanced resource loading, and poor energy efficiency. In contrast, FJS and uFJS could achieve a higher energy efficiency by considering alternative machines.

     
  2. 2.
    Compared to FJS, lower energy consumption is achieved in uFJS in all instances. To have a better insight, the two best schedules for instance-12 from FJS and uFJS are shown in Fig. 9a, b, respectively. Clearly, there are four idle intervals in the FJS schedule, while there is only one idle interval in the uFJS schedule. This was achieved by adjusting the routes of certain jobs according to their precedence matrices.
    Fig. 9

    The Gantt charts for instance 12. a The best schedule for a FJS (TE = 686 EU). b The best schedule for an uFJS (TE = 651 EU)

     

Obviously, the uFJS model is superior to the other three workshop models in achieving better energy efficiency. The main reason is that process planning and scheduling are no longer two separate tasks in the uFJS model. Instead, they are partially integrated by the introduction of the flexibility in determining the routes for the jobs. This integration therefore provides extra solution space compared to other workshop models. However, it becomes a much more difficult challenge to find a good solution from such an enlarged solution space. The proposed GA-based scheduling algorithm is able to obtain high-quality solutions in a reasonable amount of time, proving to be an effective and efficient solution algorithm for uFJS scheduling problems.

5.3 Trade-Off Between Energy Consumption and Tardiness

As shown in Table 7, the current implementation of the algorithms assumes that the job tardiness for a given problem can be reduced to zero. However, there may be some problems where job tardiness is inevitable, i.e., the delivery time cannot be met for all jobs. With such cases, minimizing tardiness usually has the top priority. In other words, saving in energy consumption becomes meaningful only when job tardiness can be effectively minimized. With slight modification, the proposed uFJS-GA is also able to address such problems. The solution procedure is described as follows:
  1. 1.

    For uFJS-GA, change the fitness to F = T, where T is the total tardiness of the current solution. The uFJS-GA is then run to find the achievable minimal tardiness Tmin.

     
  2. 2.

    For uFJS-GA, change the fitness to F = TEC + p(T  Tmin), where p is an extreme large penalty factor and T is the total tardiness of the current solution. The uFJS-GA is then run to find the optimal solution with the minimum energy consumption while the overall tardiness is maintained as Tmin.

     

6 Conclusions

Energy efficiency is of vital importance in manufacturing nowadays. Related energy saving techniques are key to energy-efficient manufacturing. However, the workshop models investigated in the existing literature are relatively simple and far from realistic. To address this problem, this paper investigates a more realistic production environment, i.e., the uFJS model. By considering flexibilities in process planning and scheduling, the proposed workshop model can better characterize the real production activities. Distinguished from other workshop models (e.g., classic FJS and classic JS), the uFJS has three simultaneous tasks to perform, i.e., operation routing in each job, machine assignment, and operation sequencing on the assigned machines. To formulate and solve the energy-efficient scheduling problem in the uFJS, a MILP algorithm has been developed. For large-sized instances, a genetic algorithm (named uFJS-GA) has been designed. The parameters were determined with grey relational analysis to improve the uFJS-GA in terms of solution quality and standard deviation. Compared with other minimization algorithms (i.e., MILP, steepest descent and greedy descent), uFJS-GA worked more efficiently and effectively. Comparative study against other workshop models shows the uFJS is more energy-efficient. By allowing operation sequencing flexibility (for any particular job) in the scheduling stage, the integration of process planning and scheduling is effectively achieved in the uFJS. As a result, the solution space is tremendously enlarged and more energy-efficient solutions can be obtained.

From the managerial point of view, by treating a machine workshop as an uFJS, the potential to achieve higher energy efficiency is greatly improved. At the same time, for an uFJS, the uFJS-GA is a powerful tool to help make process planning and scheduling decisions.

In the next phase of our study, some of the constraints and assumptions will be relaxed to further characterize real production, e.g., machine may not be continuously available and material supply may be delayed. Meanwhile, work is underway towards energy-efficient rescheduling in the uFJS to deal with machine breakdown/recover and urgent job arrivals.

Notes

Compliance with Ethical Standards

Conflict of interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.

References

  1. 1.
    Dornfeld, D. A. (2014). Moving towards green and sustainable manufacturing. International Journal of Precision Engineering and Manufacturing—Green Technology, 1, 63–66.CrossRefGoogle Scholar
  2. 2.
    Park, C., Kwon, K., Kim, W., & Min, B. (2009). Energy consumption reduction technology in manufacturing—A selective review of policies, standards, and research. International Journal of Precision Engineering and Manufacturing—Green Technology, 10, 151–173.CrossRefGoogle Scholar
  3. 3.
    Kang, H. S., et al. (2016). Smart manufacturing: Past research, present findings, and future directions. International Journal of Precision Engineering and Manufacturing—Green Technology, 3, 111–128.CrossRefGoogle Scholar
  4. 4.
    Avram, O. I., & Xirouchakis, P. (2011). Evaluating the use phase energy requirements of a machine tool system. Journal of Cleaner Production, 19, 699–711.CrossRefGoogle Scholar
  5. 5.
    Balogun, V. A., & Mativenga, P. T. (2013). Modelling of direct energy requirements in mechanical machining processes. Journal of Cleaner Production, 41, 179–186.CrossRefGoogle Scholar
  6. 6.
    Schmidt, C., Li, W., Thiede, S., Kara, S., & Herrmann, C. (2015). A methodology for customized prediction of energy consumption in manufacturing industries. International Journal of Precision Engineering and Manufacturing—Green Technology, 2, 163–172.CrossRefGoogle Scholar
  7. 7.
    Li, W., & Kara, S. (2011). An empirical model for predicting energy consumption of manufacturing processes: A case of turning process. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 225, 1636–1646.CrossRefGoogle Scholar
  8. 8.
    Li, L., Yan, J., & Xing, Z. (2013). Energy requirements evaluation of milling machines based on thermal equilibrium and empirical modelling. Journal of Cleaner Production, 52, 113–121.CrossRefGoogle Scholar
  9. 9.
    Liu, N., Zhang, Y. F., & Lu, W. F. (2015). A hybrid approach to energy consumption modelling based on cutting power: A milling case. Journal of Cleaner Production, 104, 264–272.CrossRefGoogle Scholar
  10. 10.
    Camposeco-Negrete, C. (2013). Optimization of cutting parameters for minimizing energy consumption in turning of AISI 6061 T6 using Taguchi methodology and ANOVA. Journal of Cleaner Production, 53, 195–203.CrossRefGoogle Scholar
  11. 11.
    Campatelli, G., Lorenzini, L., & Scippa, A. (2014). Optimization of process parameters using a response surface method for minimizing power consumption in the milling of carbon steel. Journal of Cleaner Production, 66, 309–316.CrossRefGoogle Scholar
  12. 12.
    Campatelli, G., Scippa, A., Lorenzini, L., & Sato, R. (2015). Optimal workpiece orientation to reduce the energy consumption of a milling process. International Journal of Precision Engineering and Manufacturing—Green Technology, 2, 5–13.CrossRefGoogle Scholar
  13. 13.
    Dureja, J. S., et al. (2015). Performance evaluation of coated carbide tool in machining of stainless steel (AISI 202) under minimum quantity lubrication (MQL). International Journal of Precision Engineering and Manufacturing—Green Technology, 2, 123–129.CrossRefGoogle Scholar
  14. 14.
    Yoon, H. S., et al. (2014). A comparison of energy consumption in bulk forming, subtractive, and additive processes: Review and case study. International Journal of Precision Engineering and Manufacturing—Green Technology, 1, 261–279.CrossRefGoogle Scholar
  15. 15.
    Sheng, P., Srinivasan, M., & Kobayashi, S. (1995). Multi-objective process planning in environmentally conscious manufacturing: A feature-based approach. CIRP Annals—Manufacturing Technology, 44, 433–437.CrossRefGoogle Scholar
  16. 16.
    Newman, S. T., Nassehi, A., Imani-Asrai, R., & Dhokia, V. (2012). Energy efficient process planning for CNC machining. CIRP Journal of Manufacturing Science and Technology, 5, 127–136.CrossRefGoogle Scholar
  17. 17.
    Singh, S., Goodyer, J., & Popplewell, K. (2007). Integrated environmental process planning for the design and manufacture of automotive components. International Journal of Production Research, 45, 4189–4205.CrossRefzbMATHGoogle Scholar
  18. 18.
    Yin, R., Cao, H., Li, H., & Sutherland, J. W. (2014). A process planning method for reduced carbon emissions. International Journal of Computer Integrated Manufacturing, 27, 1175–1186.CrossRefGoogle Scholar
  19. 19.
    Chu, W. S., et al. (2016). From design for manufacturing (DFM) to manufacturing for design (MFD) via hybrid manufacturing and smart factory: A review and perspective of paradigm shift. International Journal of Precision Engineering and Manufacturing—Green Technology, 3, 209–222.CrossRefGoogle Scholar
  20. 20.
    Zhao, W. B., Jeong, J. W., Do Noh, S., & Yee, J. T. (2015). Energy simulation framework integrated with green manufacturing-enabled PLM information model. International Journal of Precision Engineering and Manufacturing—Green Technology, 2, 217–224.CrossRefGoogle Scholar
  21. 21.
    Mouzon, G., Yildirim, M. B., & Twomey, J. (2007). Operational methods for minimization of energy consumption of manufacturing equipment. International Journal of Production Research, 45, 4247–4271.CrossRefzbMATHGoogle Scholar
  22. 22.
    Mouzon, G., & Yildirim, M. B. (2008). A framework to minimise total energy consumption and total tardiness on a single machine. International Journal of Sustainable Engineering, 1, 105–116.CrossRefGoogle Scholar
  23. 23.
    Shrouf, F., Ordieres-Meré, J., García-Sánchez, A., & Ortega-Mier, M. (2014). Optimizing the production scheduling of a single machine to minimize total energy consumption costs. Journal of Cleaner Production, 67, 197–207.CrossRefGoogle Scholar
  24. 24.
    Fang, K., Uhan, N., Zhao, F., & Sutherland, J. W. (2011). A new approach to scheduling in manufacturing for power consumption and carbon footprint reduction. Journal of Manufacturing Systems, 30, 234–240.CrossRefGoogle Scholar
  25. 25.
    Luo, H., Du, B., Huang, G. Q., Chen, H., & Li, X. (2013). Hybrid flow shop scheduling considering machine electricity consumption cost. International Journal of Production Economics, 146, 423–439.CrossRefGoogle Scholar
  26. 26.
    Dai, M., Tang, D., Giret, A., Salido, M. A., & Li, W. D. (2013). Energy-efficient scheduling for a flexible flow shop using an improved genetic-simulated annealing algorithm. Robotics and Computer-Integrated Manufacturing, 29, 418–429.CrossRefGoogle Scholar
  27. 27.
    Liu, Y., Dong, H., Lohse, N., Petrovic, S., & Gindy, N. (2014). An investigation into minimising total energy consumption and total weighted tardiness in job shops. Journal of Cleaner Production, 65, 87–96.CrossRefGoogle Scholar
  28. 28.
    Wang, Y. F. (2010). Optimization for process planning and scheduling in parts manufacturing. PhD diss. National University of Singapore.Google Scholar
  29. 29.
    Ma, G. H., Zhang, Y. F., & Nee, A. Y. C. (2000). A simulated annealing-based optimization algorithm for process planning. International Journal of Production Research, 38, 2671–2687.CrossRefGoogle Scholar
  30. 30.
    Wang, J., Zhang, Y. F., Nee, A. Y. C., Wang, Y. F., & Fuh, J. Y. H. (2009). Reducing tardy jobs by integrating process planning and scheduling functions. International Journal of Production Research, 47, 6069–6084.CrossRefzbMATHGoogle Scholar
  31. 31.
    De Jong, K. A. & Spears, W. M. Using genetic algorithms to solve NP-complete problems. in ICGA 124–132 (1989).Google Scholar
  32. 32.
    Cheng, B.-W., & Chang, C.-L. (2007). A study on flowshop scheduling problem combining Taguchi experimental design and genetic algorithm. Expert Systems with Applications, 32, 415–421.CrossRefGoogle Scholar
  33. 33.
    Lin, J. L., & Lin, C. L. (2002). The use of the orthogonal array with grey relational analysis to optimize the electrical discharge machining process with multiple performance characteristics. International Journal of Machine Tools and Manufacture, 42, 237–244.CrossRefGoogle Scholar
  34. 34.
    Il’ev, V. P. (2001). An approximation guarantee of the greedy descent algorithm for minimizing a supermodular set function. Discrete Applied Mathematics, 114, 131–146.MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Korean Society for Precision Engineering 2019

Authors and Affiliations

  1. 1.Department of Mechanical EngineeringNational University of SingaporeSingaporeSingapore

Personalised recommendations