Green Scheduling of Identical Parallel Machines with Release Date, Delivery Time and No-Idle Machine Constraints

Global warming and climate change are threatening life on earth. These changes are due to human activities resulting in the emission of greenhouse gases. This is caused by intensive industrial activities and excessive fuel energy consumption. Recently, the scheduling of production systems has been judged to be an effective way to reduce energy consumption. This is the field of green scheduling, which aims to allocate jobs to machines in order to minimize total costs, with a focus on the sustainable use of energy. Several studies have investigated parallel-machine shops, with a special focus on reducing and minimizing the total consumed energy. Few studies explicitly include the idle energy of parallel machines, which is the energy consumed when the machines are idle. In addition, very few studies have considered the elimination of idle machine times as an efficient way to reduce the total consumed energy. This is the no-idle machine constraint, which is the green aspect of the research. In this context, this paper addresses the green parallel-machine scheduling problem, including release dates, delivery times, and no-idle machines, with the objective of minimizing the maximum completion time. This problem is of practical interest since it is encountered in several industry processes, such as the steel and automobile industries. A mixed-integer linear programming (MILP) model is proposed for use in obtaining exact solutions for small-sized instances. Due to the NPhardness of the studied problem, and encouraged by the successful adaptation of metaheuristics for green scheduling problems, three genetic algorithms (GAs) using three different crossover operators and a simulated annealing algorithm (SA) were developed for large-sized problems. A new family of lower bounds is proposed. This was intended for the evaluation of the performance of the proposed algorithms over the average percent of relative deviation (ARPD). In addition, the green aspect was evaluated over the percentage of saved energy, while eliminating the idle-machine times. An extensive experimental study was carried out on a benchmark of test problems with up to 200 jobs and eight machines. This experimental study showed that one GA variant dominated the other proposed procedures. Furthermore, the obtained numerical results provide strong evidence that the proposed GA variant outperformed the existing procedures from the literature. The experimental study also showed that the adoption of the no-idle machine time constraints made it possible to reduce the total consumed energy by 29.57%, while the makespan (cost) increased by only 0.12%.


Introduction
In recent decades, impressive climate change has been observed. This is due to greenhouse gas emission. These greenhouse gas emissions are strongly related to excessive industrial activities and fuel energy consumption. According to the US Energy Information

Literature Review
In this section, the classical parallel machine scheduling problem and some of its important variants are briefly reviewed. Afterwards, the GSP-related literature focusing on parallel machines is presented. This literature mainly discusses the consideration of energy consumption, with a focus on idle energy consumption. Finally, the research gap is deduced.

Classic Parallel Machine Scheduling Problem
In the classical deterministic identical parallel machine problem, there are a number of independent jobs to be processed in a range of identical machines. Each job has to be carried out on one of the machines during a fixed processing time, without preemption. Finding the schedule that minimizes the maximum completion time (makespan) is considered as the objective for this problem. For more than 50 years, the study of identical parallel scheduling has been considered to be one of the most important types of scheduling. Many parallel scheduling problems have been proved to be NP-hard [18]. Polynomial algorithms are not, therefore, likely to be used to achieve optimal solutions; thus, several heuristics and metaheuristics were investigated, such as in [19][20][21]. To determine near optimal solution for these problems, many polynomial-time algorithms have been suggested. The longest processing time (LPT) rule was proposed in [22] and has received significant attention. It solves single-criterion makespan problems and is one of the earliest scheduling guidelines for parallel machine scheduling problems. It is a priority rule, and the job is placed in a non-increasing processing time order, and the next task on the list is scheduled.
In the literature, loading in the identical parallel machine was linked to different programming criteria, even if the workload imbalance was considered a restriction or a purpose. The authors in [23] proposed a dynamic neural network that uses time to solve Sustainability 2021, 13, 9277 4 of 29 the scheduling problem with different penalty parameters. The simulation tests have shown that all data sets are covered by the proposed network and are less effective than LPT. The authors in [24] proposed a neural net algorithm (NNA) to minimize makespan on parallel processing machines with identical job sizes with the introduction of a master weight matrix (MWM) and new methods of coding. The result is remarkably effective compared with other heuristics, especially in large-scale instances. In [25], the authors proposed a genetic algorithm (GA) based on a heuristic procedure with SPT and LPT rules to minimize the workload unbalance between the machines and reduce the makespan. Due to the accuracy and speed of the solution, the authors found better results than those for the strategies proposed in their first study [26].
The authors in [27] presented an SA approach solving the same parallel machinery make-up problem. The findings show that the SA algorithm is very successful even for large problems. This is because the execution time is less than one second for all generated test problems. Thus, in the form of complicated scheduling problems, the SA approach is worth considering. A mixed-integer linear programming method was developed by [28] and solved using CPLEX for small to moderately large-scale problems, with various availability limitations on all machines. The authors used lexicographic enumeration algorithms to solve major problems. Dominance rules are proposed for reducing the search space and increasing the efficiency of the algorithm. To formulate an identical parallel machine scheduling problem, in [29], the authors used an integer linear programming model (ILP), which aims to reduce the total relative imbalance, and the most extended processing time algorithm is used to find an initial solution. The findings showed that mathematical modeling and algorithms are essential tools and are more efficient than conventional approaches for these problems.

Green Parallel Machine Scheduling Problem with Energy Consumption Consideration
Green parallel machine scheduling problems with energy consumption consideration were addressed in the literature, and in the following, the most recent papers are presented. In [30], a green parallel machine scheduling problem was studied, with the simultaneous minimization of energy consumption and makespan. Greedy heuristic and local search procedures were developed to solve the latter problem. Experimental results show the efficiency of the proposed procedures. The green uniform parallel machine scheduling problem was examined in [31], where the consumed energy and makespan were optimized simultaneously as a bi-objective function. Several efficient heuristics were proposed and tested on a benchmark of instances.
An unrelated parallel machine scheduling problem with an energy efficiency consideration was addressed in [32]. A mixed integer linear program (MILP), dominance rules, and a heuristic algorithm were developed to solve the latter problem. In [33], the unrelated parallel machine scheduling problem, with the optimization of total tardiness and energy consumption, was addressed. GA, Cat Swarm Optimization and Interactive Artificial Bee Colony were proposed to solve the studied problem. A green identical parallel machine scheduling problem, with simultaneous minimization of the total consumed energy and makespan, was studied in [15]. A local strategy search was applied to obtain satisfactory solutions.
The authors in [34] studied an identical parallel machine scheduling problem with energy consumption consideration. The energy consumption is introduced as a constraint. Efficient heuristics were proposed to solve this problem. In [35], the parallel dedicated machine problem with energy consumption limits was addressed. First, complexity results were provided. Mixed-integer linear programming and a local search heuristic were developed to solve the studied problem. The experimental study shows the efficiency of the proposed heuristic. An identical parallel machine problem with simultaneous minimization of the consumed energy and the makespan was addressed in [15]. In the latter study, a local search-based constructive heuristic was proposed. The effectiveness of the presented heuristic was proofed over an extensive experimental study. The authors in [36] studied a parallel identical batch-processing machine scheduling problem with dynamic arrival jobs. The makespan and electric consumed energy are simultaneously minimized through a bi-objective function. An ant colony-based algorithm was proposed to identify the optimal Pareto. In addition, a local optimization-based heuristic was presented. The experimental study provided proof of the efficiency of the proposed procedures.
An unrelated parallel machine scheduling problem, with the maximum energy consumption constraint, was considered in [37]. A three-stage heuristic was proposed to provide a near optimal solution. In the first and second stages, the consumed energy was minimized. The third stage focused on makespan minimization. The experimental study shows that the developed methods outperform the existing procedures.
The authors in [32] were interested in an unrelated parallel machine scheduling problem with energy consumption consideration. The objective is the energy cost minimization. A mixed integer linear program was proposed. Several inequalities and dominance rules were presented to enhance the performance of the proposed program. In addition, a heuristic algorithm was proposed for large-sized instances. The experimental study shows that the proposed methods outperform the existing ones.
An unrelated parallel machine problem, with simultaneous minimization of the consumed energy and makespan, was considered in [38]. In order to provide a near optimal solution, a mimetic differential evolution algorithm was proposed. This algorithm was enhanced by embedding a local search-based heuristic. Experimental results show that the proposed algorithm outperforms the existing procedures.
The authors in [39] studied a parallel machine scheduling problem with an energy consumption budget. In other terms, the energy consumption is considered as a constraint. The net revenue is the objective function to be maximized. A modified variable neighborhood search algorithm was presented. The computational results show that the presented algorithm outperforms existing methods.
An unrelated parallel machine scheduling problem was considered in [33]. The objective function to be minimized is a linear combination of the consumed energy and the mean weighted tardiness. Three metaheuristics were presented to solve the studied problem. The obtained solutions were compared with exact solutions for small-sized instances, and the results are satisfactory.
In [40], a parallel machine scheduling problem, with a reduction in the total electricity demand, was addressed. A mathematical optimization program was proposed to obtain schedules minimizing the total consumed energy. Computational results show the efficiency of the proposed algorithm.
A scheduling parallel batch processing machines problem with minimization of makespan and consumed energy was studied in [41]. In order to solve the latter problem, a metaheuristic with new features was proposed. The intensive experimental study shows that the presented metaheuristic outperforms the existing algorithms.

Green Parallel Machine Scheduling Problem with Idle Energy Consideration
In the previous references, the consumed energy in GSP is totally taken into account either in the objective function or as a constraint. In other references, the focus is placed on idle machine energy. This kind of energy is consumed while the machine is idle. Eliminating or reducing this kind of energy is seen as an effective way to reduce the total consumed energy [2]. In the following, a literature review focused on idle machine energy is presented.
In [42], an unrelated parallel machine problem with energy consumption consideration was addressed. The consumed energy and the total tardiness are minimized simultaneously. The total consumed energy is explicitly expressed as the sum of setup energy and idle energy. A mathematical program and an enhanced ant colony algorithm were proposed. The experimental study shows that the proposed methods are efficient and outperform the existing ones. The authors in [7] studied an unrelated parallel machine scheduling problem with energy consumption consideration. The idle energy is incorporated explicitly within the total consumed energy. An iterated local search algorithm was proposed to solve the studied problem. The latter problem was encountered in a textile plant.
The research work in [13] was inspired by a steel industry real-life case. The obtained scheduling problem is a parallel machine problem considering release date, deadlines, and energy consumption. In this study, the idle energy was considered explicitly in order to reduce the consumed energy. A mathematical model was presented in order to tackle the latter problem, and the numerical results show that the proposed method outperforms the existing procedure.
The authors in [43] addressed an identical parallel machine scheduling problem considering release dates, deadlines, and energy consumption. The objective is the minimization of the total consumed energy. A machine can switch from a sleep mode to an active mode. In the sleep mode, there is no energy consumption. Moving from the sleep mode to the active mode requires energy consumption. An efficient heuristic based on a linear program relaxation was presented.

Green Parallel Machine Scheduling Problem with Idle Machine Times Elimination
Reducing the consumed energy can be performed by eliminating the idle machine times [2]. In this context, the no-idling constraint is taken into account. The authors in [44] studied the identical parallel machine scheduling problem with unit processing times, release dates, deadlines, and no-idle machines constraints. In the latter study, several theoretical proprieties and an efficient heuristic were presented. Some particular cases for release dates and/or deadlines were addressed, and polynomial algorithms were provided. Lower and upper bounds were developed in addition to an integer linear program. The experimental study shows the efficiency of the proposed methods.
In [45], the parallel machine scheduling problem with release dates, delivery times, and no-idle machine constraints was addressed. Several proprieties of the studied problem were established, and a family of new lower bounds was proposed. A family of efficient heuristics were presented, where some of them are based on an exact procedure, designated for the parallel machine scheduling problem with release dates and delivery times. The intensive experimental study shows the efficiency of the presented procedures.
The parallel machine scheduling problem with release dates, delivery times, and no-idle machine constraints was examined in [46]. In the latter study, authors proposed several dominance rules and heuristics to solve the studied problem. These heuristics are extensions of well-known rules developed originally for the parallel machine scheduling problem with only release date and delivery times. Among these rules are Jackson's rule and Pott's algorithm.

Summary of Literature Review
From the literature review, one can observe that the literature presented for the green parallel machine scheduling problem with energy consumption consideration is satisfactory. However, few research works considered idle energy reduction. In addition, there are very few papers dealing with the no-idle machine times constraint as a means of energy saving, for parallel machine scheduling problems. This is the main motivation behind the study of the identical parallel machine scheduling problem with release dates, delivery times, and no-idle machine times.

Problem Definition and Proprieties
In this section, the studied problem is defined, some of its useful proprieties are presented, and a set of lower bounds is proposed.

Problem Definition
The deterministic parallel machine scheduling problem with release dates, delivery times, and no-idle machines is stated as follows. A set J = {J 1 , J 2 , . . . , J n } of n jobs (components) has to be processed on m identical parallel machines (furnaces), with n > m. The idle time between two consecutive processed jobs in a machine is not permitted. Indeed, during an idle machine time, a machine is consuming energy without performing any task; this is the idle energy. In a recent study, the idle energy derived from the idle machine times represents 80% of the total consumed energy [9]. Therefore, eliminating the idle machine times is seen as an efficient means to totally eliminate idle energy and consequently to reduce the total consumed energy.
Each job, J i , has a release date (head or arrival time), r i , from which the job, J i , is available for processing in any available machine. Each job, J i (1 ≤ i ≤ n), is assigned to a machine where it is processed during p i . After being processed, a job J i (1 ≤ i ≤ n) exits the machine where it is processed, and it remains in the system (shop) during q i . This is the delivery time (q i ) and it corresponds to a cooling period of the job J i that leaves a furnace.
Each machine processes at most only one job at the same time. It is worth noting that the completion time, C i , of a job, J i , is the date it exits the system (shop). In other terms, C i = f i + q i , where f i is the finishing processing date of job J i in a machine. Its objective is to find a feasible schedule that minimizes the maximum completion time, C max (makespan), of all jobs, which is expressed as follows: The scheduling is performed under the following assumptions:

•
All machines are available for the processing of the jobs at time zero and the entire time horizon. • A job is assigned to exactly one machine at the same time.

•
Preemption during the processing of a job is not allowed.

•
The processing times, p i ; the release dates, r i ; and the delivery times, q i , are assumed to be deterministic and integral (1 ≤ i ≤ n).
According to the three-field notation [47], this problem is denoted as P m , N I r j , q j C max , where NI indicates the non-idle machine time constraint.
In the following, an illustrative example is given.

Example 1.
Consider two furnaces that must heat different pieces (components) to a certain temperature. The pieces arrive at the system on different dates (release dates). The pieces have a delivery time that must elapse between completion processing in a furnace and exiting the system (shop). This corresponds to a cooling period of the processed piece. Maintaining a furnace's required temperature while it is idle is an energy-consuming period without performing any task. This is a waste of energy and consequently an environmental issue. Furthermore, the idle period adds an extra energy cost. This can be avoided by not allowing the idle machine times between consecutive jobs. This could be seen as a green practice.
The data for the given example are presented in Table 1. The example consists of five jobs (n = 5) and two machines (m = 2), where the input parameters are listed in Table 1. Figure 1 shows an optimal solution for Example 1. The example consists of five jobs ( = 5) and two machines ( = 2), where the input parameters are listed in Table 1. Figure 1 shows an optimal solution for example 1. The date of the finishing processing for job 1 is 8; this is the date when job 1 exits machine 1. The delivery time (cooling duration) of job 1 is 3. Then, job 1 leaves the system at 8 + 3 = 11; this is the completion time of job 1.
It is worth noting that in the previous solution ( Figure 1), job 4 can start at its release date, = 3, but if so, the no-idle machine constraint is not satisfied, and an idle time appears from time 6 to 7. Thus, job 4 is constrained to start later at time 4.

Problem Properties
In this subsection, several useful and relevant proprieties of the studied problem are presented.

Proposition 1. The problem , | , |
is NP-hard in the strong sense.

Symmetry
Remark 1. The , | , | is symmetric in the following sense. The problems , | , | and , | , | have the same optimal solutions, which means that the roles of the release dates and the delivery time are symmetric.

Proof of Remark 1. Indeed, if
is an upper bound and is the timeline, then considering the new timeline − allows us to retrieve the same schedules for both problems. In particular, this holds for the optimal schedules. □ An immediate consequence of the last remark (Remark 1) is to systematically investigate the original problem ( , | , | ) and its symmetric ( , | , | ), while running the algorithms, in order to improve the obtained solution. This is applicable for the lower bounds and the metaheuristics that are proposed later in this work.
In the following, the original problem ( , | , | ) is referred to as the Forward problem, and the symmetric problem ( , | , | ) is referred to as the Backward problem. The date of the finishing processing for job 1 is 8; this is the date when job 1 exits machine 1. The delivery time (cooling duration) of job 1 is 3. Then, job 1 leaves the system at 8 + 3 = 11; this is the completion time of job 1.
It is worth noting that in the previous solution ( Figure 1), job 4 can start at its release date, r 4 = 3, but if so, the no-idle machine constraint is not satisfied, and an idle time appears from time 6 to 7. Thus, job 4 is constrained to start later at time 4.

Problem Properties
In this subsection, several useful and relevant proprieties of the studied problem are presented.

Complexity
Proposition 1. The problem P m , N I r j , q j C max is NP-hard in the strong sense.
Proof of Proposition 1. Indeed, the problem P m r j , q j C max , which is a relaxation of P m , N I r j , q j C max , is NP-hard in the strong sense [48].

Symmetry
Remark 1. The P m , N I r j , q j C max is symmetric in the following sense. The problems P m , N I r j , q j C max and P m , N I q j , r j C max have the same optimal solutions, which means that the roles of the release dates and the delivery time are symmetric.
Proof of Remark 1. Indeed, if UB is an upper bound and t is the timeline, then considering the new timeline UB − t allows us to retrieve the same schedules for both problems. In particular, this holds for the optimal schedules. An immediate consequence of the last remark (Remark 1) is to systematically investigate the original problem (P m , N I r j , q j C max ) and its symmetric (P m , N I q j , r j C max ), while running the algorithms, in order to improve the obtained solution. This is applicable for the lower bounds and the metaheuristics that are proposed later in this work.
In the following, the original problem (P m , N I r j , q j C max ) is referred to as the Forward problem, and the symmetric problem (P m , N I q j , r j C max ) is referred to as the Backward problem.
3.2.3. Relationship between the Problems P m |r j ,q j |C max and P m ,NI|r j ,q j |C max Proposition 2. If LB is a lower bound for the problem P m r j , q j C max , then LB is also a lower bound for the problem P m , N I r j , q j C max .
Proof of Proposition 2. An optimal schedule, S * N I , for P m , N I r j , q j C max with an optimal value, C * N I , is a feasible schedule for P m r j , q j C max . If C * is the optimal value of P m r j , q j C max , then C * ≤ C * N I . Consequently, if LB is a lower bound for P m r j , q j C max , then LB ≤ C * ≤ C * N I .

Corollary 1.
If LB denotes the optimal solution of P m r j , q j C max , then LB is a lower bound of P m , N I r j , q j C max .
Proof of Corollary 1. An optimal solution of P m r j , q j C max is also a lower bound for P m r j , q j C max . Based on Proposition 2, this optimal solution is a lower bound for P m , N I r j , q j C max .

Remark 2.
The lower bound LB (Corollary 1) is the optimal solution of the P m r j , q j C max . In this study, the Branch and Bound (B&B) algorithm developed in [48] was used to optimally solve the problem P m r j , q j C max due to its efficiency. In addition, P m r j , q j C max is NP-hard, and the (B&B) might fail to solve it optimally within a prefixed time limit (300 s). In this case, the best obtained lower bound while running the (B&B) is considered as the lower bound for the current studied problem.
In the following, the obtained lower bound from Corollary 1 and Remark 2 will be adopted as a lower bound for the problem P m , N I r j , q j C max , and will be denoted LB.

Mixed Integer Linear Formulation
In this section, a mixed integer linear program (MILP) is proposed. The MILP model was developed to determine the optimal solution for this problem and was solved by using the programming software IBM ILOG CPLEX (Academic).
The main issue while developing the mixed integer linear program is the integration of the no-idle constraint. To this aim, a dummy job denoted by J 0 was included within the set of jobs. The processing time, release date, and delivery time of this job were set to 0, respectively. This dummy job is useful to serve as the predecessor for all jobs.
The notations for the developed MILP are presented in Table 2. The MILP model can be formulated as follows.
. . , n; and j = 1, 2, . . . , n x ik ∈ {0, 1}, i = 1, 2, . . . , n; and k = 1, 2, . . . , m y ijk ∈ {0, 1}, i = 1, 2, . . . , n; j = 0, 1, . . . , n; k = 1, 2, . . . , m • Equation (1) is the objective function, which minimizes the maximum completion time (makespan). • Constraint (2) proposes that the completion time f i + q i of each job i ∈ J is less than the maximum completion time C max . • Constraint (3) proposes that each job should be assigned to exactly one machine. • Constraint (4) proposes that each processed job, i ∈ J, in a machine has a unique immediate predecessor. It is worth mentioning that the first processed job in each machine has as immediate predecessor, the dummy job J 0 . • Each processed job has at most one immediate successor job; this is the meaning of constraint (5). • Constraints (6) proposes that the first processed job in each machine has as immediate predecessor, the dummy job J 0 . • Equation (7) expresses the relationship between the starting time, s i , and the completion processing time, f i , for each job i ∈ J. • Equation (8) stipulates that the dummy job, J 0 , finishes processing at time 0. Therefore, it precedes all other jobs. • Constraint (9) expresses the precedence constraint between two consecutive jobs. These constraints eliminate any overlap between the consecutive jobs. • Constraint (10) causes each job i ∈ J to start processing after its release date, r i . • Constraint (11) ensures that the difference between the start time of a job and the end of its predecessor job is not larger than the total processing time (satisfaction of the noidle time constraint). Indeed, if job j is processed immediately after job i on machine k, then y ijk = 1. Consequently, constraint (11) proposes that f j ≤ (s i + p i ) + p j . Based on (7), we have s i + p i = f i , then f j ≤ f i + p j . Constraint (9) proposes that f i ≤ s j and f j ≤ f i + p j ≤ s j + p j = f j . Thus, f i + p j = f j , and there is no idle time between jobs i and j. These are the constraints expressing the green scheduling aspect, since the idle machine times are eliminated, which allows the idle consumed energy to be eliminated. This is the main difference with a classical scheduling problem (with idle machine times). • Constraint sets (12) and (13) enable integrality for binary decision variables. Finally, constraint (14) imposes non-negativity for real decision variables.

Metaheuristics Procedures
The studied problem is NP-hard in the strong sense. In order to provide a near optimal solution, several metaheuristics were investigated and adapted. More precisely, two metaheuristics were developed in order to solve the studied scheduling problem. These metaheuristics are the genetic algorithm (GA) and the simulated annealing algorithm (SA). This choice is justified by a study of the most recent literature, for the green parallel machine scheduling problems using metaheuristics. According to this literature [49][50][51][52][53][54][55], the genetic algorithm and simulated annealing are successful methods for solving parallel machine scheduling problems. In this context, three variants of GA were developed. These variants use three different crossover operators. The algorithm parameter tuning is included in the experimental section.

Genetic Algorithms
Genetic algorithms (GA) were developed first by John Holland in [56]. GAs attempt to simulate the process of natural evolution through (genetic) selection by following the principles of natural evolution in a given environment. Natural evolution does not act directly on living beings, but it operates on the chromosomes' DNA. However, the used vocabulary in GAs is similar to that in natural genetics, but the natural genetics processes are much more complicated than the processes of the GA models.
The terminology used in GAs depends on natural genetic processes: chromosomes are the elements from which they are made (individuals). These chromosomes are grouped into populations, and a combination of chromosomes is considered the reproductive stage. This is performed utilizing a mutation operator and/or a crossing operator. Other concepts are specific to the GA field, such as the quality index (fitness), also called the performance index, which is a measure used to classify chromosomes. The same goes for the evaluation function, representing the theoretical formula for calculating and finding the quality index of a chromosome.
For a given optimization problem, an individual represents a feasible solution in the solution space. Every individual associated with the value of the objective function is optimized. The iterative search generates populations of individuals on which we apply selection, crossing, and mutation processes. The selection aims to promote the best elements of the population for the criterion considered (the best suited), mutation, and crossing, which ensure an exploration of the solution space. Figure 2 shows the simplified iterative operation of GAs.
To create GAs and solve problems effectively, it is important to identify how to represent the solutions (chromosome representation), define an evaluation function, develop the different operators, and determine the parameters, such as the choice of stopping criteria and the probability of an operator's application. Representation, fitness, initial population, genetic operators, and standard stopping rules are discussed in detail below.
To implement a GA for the problem under study, the first step is to form a good representation of the problem's information in the form of a chromosome. This chromosome's representation must be complete, considering all the possible solutions to the problem, which can be codified using this representation. Additionally, all the adjustments on this chromosome must correspond to feasible solutions (principle of validity).

Chromosome Representation
For the problem considered in this paper, the chromosome's representation should simultaneously reflect two main characteristics:

•
The job assignments to machines; • The sequence of assigned jobs in each machine.
In this study, a chromosome is represented by a permutation of jobs. The decoding consists of assigning the first unscheduled job in the permutation to the most available machine, with the elimination of the idle time by right shifting the jobs until no idle time is detected. Example 2. The chromosome when = 6 and = 2 is presented in Figure 3. From the chromosome representation, the sequence on machine 1 is 3 − 2 − 6, and the sequence on machine 2 is 5 − 4 − 1.

Initial Population
The GA's initial population represents the algorithm's starting population, which can strongly condition the speed of an algorithm. If the optimum position in the solution space is completely unknown, it is natural to randomly generate individuals by making uniform draws of the solution space. On the other hand, if a priori information on the problem is available, it seems to create individuals in a particular sub-domain to accelerate convergence. The prior knowledge from our research literature could be utilized for some dispatching rules or simple heuristics, such as the earliest release date, Jackson's algorithm, or the shortest processing time. In this study, the initial population was randomly generated.

Chromosome Representation
For the problem considered in this paper, the chromosome's representation should simultaneously reflect two main characteristics:

•
The job assignments to machines; • The sequence of assigned jobs in each machine.
In this study, a chromosome is represented by a permutation of jobs. The decoding consists of assigning the first unscheduled job in the permutation to the most available machine, with the elimination of the idle time by right shifting the jobs until no idle time is detected. Example 2. The chromosome when n = 6 and m = 2 is presented in Figure 3.

Chromosome Representation
For the problem considered in this paper, the chromosome's representation should simultaneously reflect two main characteristics:

•
The job assignments to machines; • The sequence of assigned jobs in each machine.
In this study, a chromosome is represented by a permutation of jobs. The decoding consists of assigning the first unscheduled job in the permutation to the most available machine, with the elimination of the idle time by right shifting the jobs until no idle time is detected. Example 2. The chromosome when = 6 and = 2 is presented in Figure 3. From the chromosome representation, the sequence on machine 1 is 3 − 2 − 6, and the sequence on machine 2 is 5 − 4 − 1.

Initial Population
The GA's initial population represents the algorithm's starting population, which can strongly condition the speed of an algorithm. If the optimum position in the solution space is completely unknown, it is natural to randomly generate individuals by making uniform draws of the solution space. On the other hand, if a priori information on the problem is available, it seems to create individuals in a particular sub-domain to accelerate convergence. The prior knowledge from our research literature could be utilized for some dispatching rules or simple heuristics, such as the earliest release date, Jackson's algorithm, or the shortest processing time. In this study, the initial population was randomly generated. From the chromosome representation, the sequence on machine 1 is 3 − 2 − 6, and the sequence on machine 2 is 5 − 4 − 1.

Initial Population
The GA's initial population represents the algorithm's starting population, which can strongly condition the speed of an algorithm. If the optimum position in the solution space is completely unknown, it is natural to randomly generate individuals by making uniform draws of the solution space. On the other hand, if a priori information on the problem is available, it seems to create individuals in a particular sub-domain to accelerate convergence. The prior knowledge from our research literature could be utilized for some dispatching rules or simple heuristics, such as the earliest release date, Jack-son's algorithm, or the shortest processing time. In this study, the initial population was randomly generated.

Selection Operator
Unlike other optimization techniques, genetic algorithms do not require any particular hypothesis on the objective function's regularity. In particular, the genetic algorithm does not use its successive derivatives, making its field of application very broad. No continuity assumption is required either. The selection operator chooses the most suitable individuals to enable the closest solution population to converge towards the global optimum. However, in the literature, many selection techniques are more or less adapted to problems they deal with. In this study, the roulette wheel selection rule was used [57].

Reproduction
Reproduction means the cloning of an individual without modification, which will pass to the next generation. In this way, reproduction is an alternative genetic operator to crossing and mutation, since they modify the individuals that pass into the next generation. The purpose of reproduction is to keep individuals with high fitness of the present age in the next generation.

Crossover Operator
Crossover aims to enrich the diversity of the population by manipulating the structure of the chromosomes [58]. Conventionally, crosses are considered with two parents and generate two children. The selection process chooses both parents. Crossbreeding allows innovation (children are different from their parents) and is based on the idea that two successful parents will produce better children. The crossover rate p_c (p_c ∈ [0, 1]) represents the proportion of parents on which a crossover operator will act. There are several crossover operators in the literature regarding the creation of new child chromosomes with the best fitness value. In the following, the most used crossover operators are as follows: (1) the block order crossover operator (BOX) [2], (2) linear order crossover operator (LOX) [3], and (3) position-based crossover operator (POX) [4]. In this study, three variants of GA are proposed. These variants use crossover operators (BOX), (LOX), and (POX), respectively. These metaheuristics are denoted as GA BOX , GA LOX , and GA POX , respectively. All three variants of GA share the same operators, except the crossover ones.

Mutation
The mutation is considered a primary operator, providing a small randomness element in individuals in the population [59]. Although it is recognized that the crossing operator is responsible for searching for the space of possible solutions, the mutation operator is responsible for increasing or reducing the search space within the genetic algorithm as well as for promoting the genetic variability of the individuals in the population. The probability (or ratio) p_m defines the probability of mutating each element (gene) of representation. There are several techniques for applying the mutation to individuals in a population, but the most commonly used is to mutate the percentage of total genes in the population.

Replacement Strategies
The replacement phase concerns the survivor selection of both the parent and offspring populations. When the population's size is constant, it allows individuals to be withdrawn according to a given selection strategy. Elitism always consists of selecting the best individuals from the parents and the offspring. This method leads to rapid convergence, and a premature convergence could occur. Sometimes, selecting bad (in terms of fitness) individuals is necessary to avoid the sampling error problem. These replacement strategies may be stochastic or deterministic.

Simulated Annealing
The simulated annealing (SA) algorithm was firstly proposed in [60] to deal with highly non-linear problems, and afterward, the authors suggested it for solving combinatorial optimization problems. Since then, SA has had a significant impact on the field of metaheuristic research for its simplicity and efficiency in solving combinatorial optimization problems by escaping local optima. It has also been extensively studied to deal with continuous optimization problems also applied to numerous other areas. It originates from the fields of material science and physics [5], where the SA algorithm simulates the energy changes in a system subjected to a cooling process until it converges to an equilibrium state (steady frozen state).
The SA is one of the popular metaheuristics successfully applied to various combinatorial optimization problems. SA is a memoryless algorithm because the algorithm does not use any information gathered during the search. From an initial solution, SA proceeds in several iterations.
The SA improves a solution by iteratively moving the current solution s to a neighborhood solutionś, generated randomly. Ifś is better than s, then the movement from s toś is accepted, i.e., s is replaced byś. Ifś is worse than s, it is accepted with a probability of e −∆E/T , called an uphill move, where ∆E represents the difference between the objective function values of s andś, and T is a parameter called the temperature. As the algorithm progresses, the probability that such moves are accepted decreases. The distribution of the probability equation is as follows:

P(∆E, T) = e −∆E/T
When the temperature increases, the probability of accepting the worst move also increases. At a given temperature, the lower the objective function's increase is, the more significant the likelihood of accepting the move is. T is initially set to T 0 = T max , and is decreased after every iteration. The algorithm (Algorithm 1) is terminated if temperature T reaches T f = T min . It is worth noting that T max and T min are the maximum and minimum temperatures, respectively. The best solution found at the beginning of the search is stored in addition to the current solution.

Algorithm 1 SA algorithm
Input: Cooling schedule. s = s 0 ; %Generation of the initial solution T = T max ; % Starting temperature Repeat Repeat % At a fixed temperature % Generate a random neighbor s ∆E = f (s ) − f (s); If ∆E ≤ 0 then s = s % Accept the neighbor solution Else accept s with a probability e −∆E/T Until Equilibrium condition %, e.g., a given number of iterations executed at each temperature T T = g(T); %Temperature update Until Stopping criteria satisfied %, e.g., T < T min Output: Best solution found A few parameters control the search's progress, which is the temperature and the number of iterations performed at each temperature. The main elements of SA can be summarized as follows:

•
The acceptance probability function: the main element of SA that enables nonimproving neighbors to be selected.

•
The cooling schedule: tis defines the temperature at each step of the algorithm. It plays an essential role in the efficiency and effectiveness of the algorithm.
Regarding the stopping condition, the theory suggests a final temperature equal to 0. In practice, one can stop the search when the probability of accepting a move is negligible. The following stopping criteria may be utilized: • Reaching a final temperature T F . • Achieving a predetermined number of iterations without improvement.

•
The objective function reaches a pre-specified threshold value (e.g., lower bound). • A predetermined number of evaluations.

Experimental Study and Results
This section evaluates the performance of the proposed MILP, GAs, and SA, and compares the proposed procedures to the existing ones. Computational experiments were carried out with 4000 instances for the proposed algorithms. The proposed algorithms were coded using C++ and the MILP using CPLEX software. The computational experiments were undertaken on an MSI computer with the following specifications: processor: Intel (R) Core™ i7-7700 HQ CPU at 2.8 GHz; RAM: 8 GB.

Data Set Generation
The test problems were generated as in previous studies [45]. Two classes of instances were generated (Class A and Class B) with different problem sizes of jobs (n = 10, 20, 40, 50, and 200) (m = 2, 3,5,8). Parameters for Class A and Class B are presented as follows.

Class A •
The processing times p i were randomly and uniformly generated in [1,10].

Class B
• The processing times, p i , were randomly and uniformly generated in [1, n].

•
The release dates, r i , were randomly and uniformly generated in [1, n].
Combinations of different parameters resulted in a total of 4000 test problems.

Parameters Tuning
In this section, the parameter design of GAs and SA is investigated and tuned. Different combinations of parameters returned different results for the metaheuristic algorithms, which means the parameter values used in each algorithm affect their performance.
To identify each design parameter's proper settings, a pilot run was conducted based on screening and the literature. The Taguchi design of L9 [32] was used to study the effect of the parameters of the proposed algorithm on the makespan, C max , and the best settings for each proposed metaheuristic parameters were determined. The detailed results for the tuned variables are given in Table 3 and Figures A1-A6 (Appendix A).
More precisely, the GA parameters that should be determined are as follows: • Population size; • Crossover rate; • Mutation rate; • Stopping condition.
The SA parameters that should be determined before the experimental study are as follows: Maximum number of iterations: MAX_ITER; • Temperature reduction factor: ALPHA; • Number of function evaluations before temperature reduction: NT factor. The determination of these parameters requires a preliminary experimental phase, performed in a reduced number of instances, and on a given set of values for each parameter (Table 4). For example, the population size parameter belongs to the set {40, 80, 120}, and one of these values has to be selected. The design of this experimentation is performed following the Taguchi design of L9 [32]. Figures A1-A5 present the average relative percent deviation (ARPD) for each parameter and for each number of jobs (n). Each figure contains four curves, where each one represents a specific parameter. If, for example, we focus on the population size parameter selection, we observe that for all numbers of jobs, the minimum ARPD is reached for Population Size = 120. Therefore, the adopted value of the population size parameter is 120. This reasoning is valid for the rest of the parameters. Figure A6 is reserved for the SA parameter selection, and the same reasoning as for GA holds.
The summary of the main parameters and their levels regarding GAs and SA are shown in Table 4.

Results and Discussions
In this subsection, the proposed procedures (GAs, SA, MILP and LB) are assessed. First, a pairwise comparison between the metaheuristics was performed using the average relative percent deviation (ARPD) and the average computation time (Time). Then, the best metaheuristic was selected, and its absolute efficiency was evaluated throughout the average relative gap using the lower bound (LB). In addition, the best obtained metaheuristic was compared to the MILP formulation. Finally, a comparison of the best metaheuristic with existing algorithms was carried out.

Metaheuristics Pairwise Comparison
First, the following should be noted: • GA BOX denotes the genetic algorithm based on the block order crossover operator. • GA LOX denotes the genetic algorithm based on a linear order crossover operator. • GA POX denotes the genetic algorithm based on a position-based crossover operator. • SA denotes the simulated annealing algorithm.
For instance, we adopted the following notations and definitions: • C BOX denotes the makespan obtained via GA BOX . • C LOX denotes the makespan obtained via GA LOX . • C POX denotes the makespan obtained via GA POX . • C SA denotes the makespan obtained via SA.
For a given algorithm, H ∈ {GA BOX , GA LOX , GA POX , SA}, the relative percent deviation (with reference to C best ) is defined as follows: • For a subset of instances, ARPD is the average RPD.
The three variants of GA and the SA algorithm were compared using the ARPD and the average consumed time, Time(s), running the algorithm. The detailed results are presented in Tables 5 and 6   Based on Table 5 and Figure 4, the GA POX metaheuristic largely outperforms the other metaheuristics for Class A, with an average of ARPD = 0%. In addition, the average consumed computation time is satisfactory and Time = 6.37 s. The SA presents the best average time with Time = 0.12 s. According to Table 6 and Figure 5, the same behavior is detected for Class B. Indeed, the GA POX algorithm is the leading metaheuristic with ARPD = 0.2%. More precisely, ARPD = 0%, except for n = 200, where ARPD ≤ 2.5%.

Performance of the Metaheuristic GA
Based on the previous subsection, presents the best performance compared to the others. In this subsection, and based on the proposed lower bound ( ) (in Section 3.2.3; Remark 2), a relative percent deviation (RPD) between and the obtained was used to assess the performance of the proposed algorithm. The relative percent deviation is expressed as follows: The provides an upper bound on the relative absolute distance between the makespan of the metaheuristic and the optimal solution (which is unknown). Indeed, if * denotes the optimal value of the makespan, then ≤ * ≤ . Therefore, = × 100 ≥ * * × 100.
Therefore, the allows the solution quality to be evaluated. The related results are detailed in Table 7. In the latter table, the used key performance measures are the Except the GA POX , the other metaheuristics are very sensitive to n and m. Indeed, for these metaheuristics, the ARPD and Time increase dramatically as n and m increase. Therefore, the metaheuristic GA POX is selected as the best metaheuristic among the four proposed ones.

Performance of the Metaheuristic GA POX
Based on the previous subsection, GA POX presents the best performance compared to the others. In this subsection, and based on the proposed lower bound (LB) (in Section 3.2.3; Remark 2), a relative percent deviation (RPD) between LB and the obtained C max was used to assess the performance of the proposed algorithm. The relative percent deviation is expressed as follows: The RPD provides an upper bound on the relative absolute distance between the makespan of the metaheuristic GA POX and the optimal solution (which is unknown). Indeed, if C * max denotes the optimal value of the makespan, then LB ≤ C * max ≤ C GA POX . Therefore, Therefore, the RPD allows the solution quality to be evaluated. The related results are detailed in Table 7. In the latter table, the used key performance measures are the average, the minimum, and the maximum RPD, which are denoted, respectively, as Average, Min, and Max.
Based on Table 7, the average relative deviation is ARPD = 0.06% for Class A and ARPD = 0.11% for Class B. This is strong evidence that the proposed metaheuristic performs well, since the ARPD is very low. This means that the provided solution is too close to the optimal solution. In addition, the maximum ARPD for Classes A and B are, respectively ARPD = 14.71% and ARPD = 15.60%. The maximum ARPD is obtained for both n = 40 and m = 8. The minimum ARPD for each m is observed for n = 10 and n = 200. For each number of machines, m, the ARPD presents a maximum for a certain number of jobs n; for example, for m = 8, the maximum is reached for n = 20 (Class A). This maximum depends on m.

Comparison of MILP with GA POX
Since the problem is NP-hard in the strong sense, developing an exact method (MILP) to solve small instances for the studied problem could be useful. Indeed, the solution for MILP can provide a good basis for the experimental assessment of the developed approximation approach GA POX . In this study, the MILP (as expected) is able to optimally solve only small-sized instances within an acceptable computational time. In order to test the efficiency of the proposed GA POX , the optimal solution C MILP provided by MILP (for n = 10, m = 2 and 3) was compared to the results obtained by GA POX , throughout the computational time (Time) and the relative percent deviation, as follows: The results are reported in Table 8. Based on this table, we observe that the optimal solution is reached by the GA POX for all the instances within an average time of 0.01 s. Consequently, this represents a preliminary satisfactory result for GA POX . In addition, we observe that the MILP procedure is a time-consuming procedure, since for some small-sized instances, the average computation time exceeds 1000 s.

GA POX Metaheuristic Comparison with Existing Methods
To evaluate the performance of GA POX , a comparison with existing methods [45] was performed. The comparison was carried out on the same test problems. The existing methods are a set of four heuristics, namely, H EP−EP , H MS−MS , H EP−MS , and H MS−EP . These heuristics are two-phase procedures. In the first phase, a feasible solution is produced, while in the second phase, an improvement procedure is carried out. These heuristics are based on the Modified Schrage algorithm (MS) and/or Exact Procedure (EP) (see [45] for more details). The comparison between the GA POX and the four existing heuristics was performed over ARPD relatively to the lower bound, LB. In addition, the average computation time (TI ME) was used to complete the comparison. The global results are provided in Table 9. Based on Table 9, the G POX outperforms the existing heuristics since it reaches the minimum ARPD, which is ARPD = 0.085%, for all test problems. In addition, the average computational time is satisfactory with Time = 6.310 s, which is ranked second after the H MS−MS algorithm. Indeed, H MS−MS is a polynomial heuristic. This heuristic should be discarded due to its high ARPD7.445%. In addition, the reduction in the ARPD is 100 × {(0.140 − 0.085)/0.140} = 39.29% compared to the best previous heuristic, H EP−MS . This provides strong evidence of the efficiency and the performance of the G POX metaheuristic. More detailed results are presented in Tables 10 and 11. Based on Table 10, the G POX outperforms the existing heuristics since it reaches the minimum average relative gap, which is ARPD = 0.06%. In addition, for all combinations (n, m), G POX presents the minimum ARPD compared to the other heuristics. For Class B, and based on almost linear compared to the number of jobs n. This remark could be further investigated in future research works.

Green Aspect Analysis
The objective of this study was to reduce the total consumed energy by the elimination of idle energy. This section aims to numerically evaluate the efficiency of the proposed methods to achieve this goal. In this context, for each test problem, the G POX algorithm was applied first with the no-idle constraint and then without the no-idle constraint. The two obtained respective schedules are denoted as SN I (schedule with no idle) and SI (schedule with idle). The respective makespans are denoted as C SN I and C SI . In addition, the consumed energy is assumed to be proportional to the duration [2]. In other terms, if T is a period of time and E is the corresponding consumed energy, then a positive real k exists, such that: Therefore, the percent of saved idle energy, PSIE, is expressed as follows: where I SI is the total idle time for the schedule, SI, which is proportional to the idle energy. The expression ∑ n i=1 p i + I SI is proportional to the total consumed energy for the schedule SI. In addition, PMA denotes the percent of makespan augmentation from SI to SN I. PMA is expressed as follows: In the following table (Table 12), the average PSIE (APSIE) and PMA (APMA) after running the G POX algorithm on all the test problems are presented. According to Table 12, an important reduction in the total consumed energy (29.57%) was achieved by the elimination of idle machine times. In addition, only an augmentation of 0.12% in the total cost is observed. This is strong evidence of the efficiency of the proposed procedure in saving energy and enforcing the green scheduling benefits. More detailed results are presented in Table 13.
Based on Table 12, the maximum APSIE and APMA were reached for (n = 200, m = 2) and (n = 10, m = 2), respectively. In addition, APSIE and APMA decreased when m increased. The same behavior was exhibited by APSIE and APMA when n increased.

Conclusions and Future Works
This study investigated a scheduling problem for m identical parallel machines under release dates, delivery times, and no-idle time constraints. The objective was makespan minimization. This problem is among the green scheduling problems since idle time is not permitted. Indeed, during the idle time, the machine is available without processing jobs. This is a waste of energy. By eliminating the idle time, the consumed energy is saved and minimized; this is the green aspect of this problem. In order to solve the studied problem, we propose a mixed-integer programming model (MILP) and a family of metaheuristics. This is due to the NP-hardness of the studied problem. The family of metaheuristics is composed of three variants of the GA and SA algorithm. The three variants of the GA are based on three different crossover operators. In addition, a lower bound (LB) is proposed. This lower bound was used to evaluate the produced solution. This was performed using the relative percent deviation. Extensive computational experiments were carried out to evaluate the performance and efficiency of the proposed procedures (metaheuristic MILP and LB). The relative percent deviation and computation time were used as performance measures. The MILP reached the optimal solution for small-sized instances. For large-sized instances, the MILP was unable to reach the optimal solution. In addition, the numerical results indicate the superiority of the proposed GA POX in comparison to the MILP and the remaining proposed metaheuristics. Furthermore, it was shown that GA POX outperforms the existing heuristics.
Future research works have to explore other metaheuristics and provide an efficient exact algorithm for the studied problem. The proposed procedures in this work could be useful as initial point for building such exact algorithms. In addition, more realistic constraints could be included to study problems such as the setup times, the maintenance intervention dates, or the machine unavailability constraints. Additionally, the investigation of other objective functions, such as the total tardiness minimization, could be considered.