Solving Just-in-Time Single Machine Scheduling with Variable Discrete Speed Machine using Hybrid NSGA-II

Please cite this article as: Kurniawan, B., Irman, A., Febianti, E., K, Kulsum, Herlina, L., Ilhami, M. A., Muharni, Y., & Tadesse, F. G. (2021). Solving Just-in-Time Single Machine Scheduling with Variable Discrete Speed Machine using Hybrid NSGA-II . Jurnal Teknik Industri, 22(2), 211-223. https://doi.org/10.22219/JTIUMM.Vol22.No2.211-223 Solving Just-in-Time Single Machine Scheduling with Variable Discrete Speed Machine using Hybrid NSGA-II


Introduction
Energy has become a primary need in human life. Energy supports life and drives the economy. However, as the population is growing and the economic development is accelerating, energy consumption increases proportionally. According to the Energy Information Administration (EIA) annual report, energy consumption will increase by 50% by 2050. The industrial sector will be the largest energy user with a proportion of around 50% [1]. Currently, fossil fuels are the primary sources of energy, which are rapidly diminishing due to the increasing energy demand. In addition, the combustion of fossil fuels produces carbon dioxide that is responsible for global warming and climate change. Therefore, the growing energy demand can raise two crucial problems that affect human life: energy and the environment.
To reduce the negative impacts of energy consumption, government bodies around the globe have issued energy-efficient policies. For example, renewable energy resources are gradually used to replace non-fossils fuels as an alternative energy source. [2]. Another policy is imposing tariffs according to the demand by incentivizing the private sectors to change their energy consumption patterns or adjusting machine speed [3,4]. Being the most significant energy consumer, the industrial sector is required to increase efficiency and reduce consumption. One of the efforts made in efficiency and consumption reduction is by planning and scheduling their operation effectively. As a result, the research has shifted to creating a manufacturing environment that considers energy and sustainability [5][6][7][8]. Among the topics in this area, considerable research has been investigating energy-conscious scheduling in a hybrid flow shop [9]. This approach is commonly used in solving energy-conscious scheduling [10][11][12][13]. However, because scheduling is known as an NP-hard problem, the use of metaheuristics is redundant [14][15][16]. The idea of making machines idle when the electricity price is high and operating when the electricity price is low has been applied in a single machine scheduling [17]. Stochastic nature in processing and release time has also been considered in the parallel machine scheduling with energy consideration [18]. An energy-conscious single machine scheduling was investigated by Aghelinejad, et al. [19], [20]. This research developed mathematical models to describe the problem and proposed an exact approach for solving them.
As for just-in-time scheduling, Fernandez et al. proposed a constructive heuristic for permutation flow-shop scheduling [21]. Furthermore, a tabu search and variable neighborhood were implemented to solve the hybrid flow shop problems with different time windows [22]. Most scheduling problems assume the non-preemption, i.e., once a job is processed on a machine, it cannot be interrupted. A study investigated this assumption in a single machine scheduling [23]. A mixed-integer programming model for JIT scheduling in an unrelated parallel machine environment was addressed by Xiong et al. [24] solved a flow-shop JIT scheduling in a casting factory. An artificial fish swarm algorithm was proposed to solve the flow-shop JIT scheduling in which the demand was fuzzy [25]. For single-machine JIT scheduling, scheduling and delivery with controllable due dates were solved with a bi-level genetic algorithm [26]. Uncertainty in processing time and due date in a single machine JIT scheduling was investigated by Abedi, et al. [27]. An exact approach was proposed to solve a preemptive single-machine JIT scheduling [28]. A recent survey has been conducted to report the trend in JIT scheduling [29]. Researchers were also interested in single machine JIT scheduling with periodic maintenance [30,31]. A hybrid approach consists of local search, and a genetic algorithm was proposed to solve the single batch JIT scheduling in a chemical factory [32]. A lower bound approximation for the same problem was proposed by Zhang, et al. [33]. To address problems caused by a machine becoming unavailable, a single machine JIT scheduling was proposed [34].
Inspired by the importance of energy and scheduling to reduce energy consumption, this research investigated single machine scheduling that considers energy usage in a JIT environment. The objective was to minimize the earliness/tardiness penalty while simultaneously reduce energy consumption. Considering that energy consumption is a function of machine speed, a machine that can process jobs faster most likely consumes a considerable amount of energy. On the other hand, a small amount of energy is required to process the job in a normal mode. Thus, the machine speed affects ISSN : 1978- the completion time of the job, and in turn, it affects the earliness/tardiness. Given that the scheduling problem has more than one objective function, the hybrid NSGA-II that incorporates local search is proposed to solve the conflicting objectives.
It can be implied that although research in single machine JIT scheduling is ubiquitous [27,[35][36][37], there has been no previous research that combines the single machine JIT scheduling with energy consumption attributed to the machine's speed. The difference between the research and the previous research on single machine JIT is the objective function. This research aimed to overcome earliness/tardiness penalty and energy consumption with discrete variable speed. Most research in JIT single-machine has focused on the objective of just-in-time (the weighted sum of earliness and tardiness). Furthermore, research has also focused on solving the problem as the singleobjective optimization. Therefore, this research's novelty is addressing the multiobjective JIT single-machine scheduling problem. Most notably, this research considered the energy consumption resulting from the speed of the machine.
Reflecting on the previous discussion, there are several contributions that this research aimed to present. First, this research proposed a mathematical model for the JIT single machine scheduling that considers energy consumption. Secondly, this research employed a hybrid NSGA-II to solve the problem. Lastly, this research confirmed that the proposed method is more efficient in solving the problem than the standard NSGA-II.
In this paper, the discussion is laid out into five parts; Section 1 is the introduction. Section 2 describes the problem, modification of the NSGA-II, and numerical experiments. Section 2 is the results and discussion. The last section concludes this research with further research and research.

Methods
This section presents the methodology used in this research. First, the problem formulation is described, and the mathematical model is developed (Subsection 2.1). Secondly, the researchers propose the hybrid NSGA-II for solving the problem (Section 2.2). Finally, the researchers designed the numerical experiments to show the effectiveness of the proposed method (Subsection 2.3).

Problem Formulation
A factory has a machine to process jobs or orders from its customers, where = 1, 2, … , . The machine's speed can be operated into three modes (indexed by ): fast, standard, and slow. If the machine is operated using the fast mode, the processing time of a job will be shorter than those in normal or slow mode. However, the machine consumes more energy in fast mode than those in normal or slow mode. The energy consumption of the machine using mode is denoted by . Once the machine uses a mode, it cannot be changed until the job is finished.
The processing time of a job is denoted as . Every job has a deadline (due date), . Finally, each job has a start time and completion time . There is a tardiness penalty for completing the job beyond the deadline. On the other hand, the earliness penalty occurs if the jobs are finished before the deadline. , , and denote the earliness of a job, tardiness of a job, and the number of speed modes of the machines, respectively.
The scheduling problem assumes the following issues: (1) there are no maintenance activities during job processing, (2) there is no machine breakdown during job processing, and (3) there is no job preemption, i.e., a job must be processed without disruption.
The previous research indicates that the JIT single machine scheduling problem was investigated initially by Sidney [36]. The research introduced the terminology of earliness and tardiness penalty. Soon after that, many authors developed other models based on this concept.
To develop the mathematical model for JIT single machine scheduling, two binary variables, and , and a very big number are introduced. = 1, if job is processed using speed mode , 0 otherwise. = 1, if job is processed before job , 0 otherwise.
The research designed the following mathematical model.
subject to Equation (1) is the objective function that consists of the JIT penalty and energy consumption. Equation (2)-(3) are the disjunctive constraints emphasizing that a machine can process only one job at a time. Equation (4)-(5) calculate the earliness and tardiness of a job. Finally, Equation (6) ensures a job is processed using only one speedmode.

Hybrid NSGA-II
Since the problem concerned in this research is multi-objective optimization, this research proposes a hybrid NSGA-II with a local search to find a non-dominated solution set. The NSGA-II, designed by Deb, et al. [37], is one of the most popular evolutionary algorithm multi-objective methods used for multi-objective optimization problems.

Encoding
The encoding uses two vectors of length . The first vector represents the job, while the second vector represents the speed mode used by the machine to process a job. Fig. 1 depicts an individual consisting of 8 jobs and a machine with three-speed modes. Mode 1 indicates the machine is operating at a slow speed, mode 2 indicates standard speed, and mode 3 means that the machine is in fast mode.

Fitness of an individual
For a single-objective optimization problem, the fitness of an individual can be determined by its objective function. However, a solution of multi-objective optimization is a vector. Thus, it is not easy to compare a solution with others. Therefore, an individual's fitness in multi-objective optimization can be measured by its dominance [37]. Rank and crowding distance is used to determine the dominance of an individual over others. Individuals whom other individuals do not dominate are assigned to rank 1. Furthermore, individuals are given a rank of 2 if they are only dominated by individuals who rank 1. After each individual is categorized by ranking, the individuals in the population are given a crowding distance value. The greater the crowding distance value possessed by an individual, the better the individual is because the individual is located in a less crowded location. Fig. 2 shows the rank and crowding distance.

Selection, crossover, and mutation
The selection of individuals who will perform crossover is conducted using binary tournament selection. After the binary tournament is performed, the crossover is performed using the single-point crossover method. As for mutations, two types of mutations are carried out. The first mutation is job exchange. The second type of mutation is to change the machine's speed. An example of mutation is illustrated in Fig.  3.

Local search
A local search is performed after genetic operations (crossover and mutation) for intensifying the search process. The procedure of the local search is as follows: 1. An individual in rank one is randomly selected as an incumbent. 2. A perturbation is performed on the incumbent. The perturbation is either to change the job exchange or to change the machine's speed. For the next iteration, the perturbation will be performed on the incumbent. The local search is terminated after it reaches the number of iterations threshold.

Overall algorithm
The overall procedure of hybrid NSGA-II with local search is as follows. Let , = 1, 2, … , , be the number of iteration of the hybrid NSGA-II. At initiation = 0, the population with the size of popSize is generated randomly. Then, each individual in the population is categorized into rank, and its crowding distance is calculated.
After that, the selection process using binary tournaments is carried out to select individuals for crossover. The crossover produces offspring . The following process is mutations on randomly selected individuals. The result of the mutations is denoted as . Afterward, a local search is performed on a randomly selected individual. The nondominated individuals obtained from the local search are stored in .
The new individuals obtained from crossover, mutation, and local search are combined with the initial population, resulting in a new population for the next generation, +1 = + + + . The new population +1 is sorted based on rank and crowding distance, and as many as popSize from +1 is retained for the next evolution. This process is repeated until the number of iterations reaches . The procedure of hybrid NSGA-II is described in Algorithm 1.

Problem Instance and Parameters
As many as ten problem instances, i.e., the number of jobs 5,10,15,20,25,30,35,40,45,50, are generated randomly. For each instance, the machine has three modes: slow (mode 1), standard (mode 2), and fast (mode 3). The processing time of each job is a uniform distribution. Random numbers generate the energy consumption of the machine. Soon after the processing time of a job is generated, the due date for a job is calculated using the Equation (7). In the Equation, is a random number between 1.2 and 1.5, is the number of machine speed modes, is the number of jobs, and is the processing time of job when processed using mode .
The hybrid NSGA-II uses several parameters with local search. First, the population size popSize is 300. The crossover and mutation probabilities are 0.75 and 0.01, and the number of iterations is 300. Lastly, the NSGA-II algorithm is executed ten times for each instance. Algorithm 1. hybrid NSGA-II initialization: = 0, 0 = ∅ begin generate initial population ; calculate rank and crowding distance for all individuals; while x < select individuals using tournament and place them in the mating pool; crossover individuals and assign the offspring to ; mutate selected individuals and assign the mutated to ; perform local search and assign the individuals obtained from local search to ; combine the population +1 = + + + ; sorting +1 based on rank and crowding distance; keep population size of +1 constant as popSize; ← + 1; end while return ; end

Performance Metrics
Two metrics are used to measure the performance of the proposed hybrid NSGA with local search in solving scheduling problems. The first metric is the number of nondominated solutions found by the algorithm in one execution, denoted by . The larger the value, the better the algorithm. The second metric used in this study is the generational distance ( ). measures the Euclidian distance from each nondominated solution found by an algorithm ( ) with the closest solution from the reference set of solutions ( ).
To elaborate, is the number of non-dominated solutions, is the index of the nondominated solutions, and Δ is the closest Euclidian distance from the s-th solution to a solution in the reference set. Thus, an algorithm with a small value is better than an algorithm that produces a large .

Implementation
The proposed hybrid NSGA-II with local search is implemented in the JAVA programming language. Numerical experiments were carried out on a hexacore computer with 8 GB of RAM.

Results and Discussion
This section discusses the results of the numerical experiments. To evaluate the effectiveness of the hybrid NSGA-II, the research compared the proposed solution with the standard NSGA-II. The encoding, crossover, and mutation of standard NSGA-II were the same as those of hybrid NSGA-II. However, the local search was not embedded in the standard NSGA-II. Table 1 displays the results of the numerical experiments. Each instance was executed ten times. For each instance, all non-dominated solutions obtained from 10 runs were combined, and each individual was given a rank. All individuals classified in rank one were stored in the reference set. After that, the GD value for each run was calculated using Equation (8). The ̅̅̅̅ is the average of 10 runs for each instance. The metric measures how close the solution generated by an algorithm is to a reference set. Thus, the metric can be used to describe the accuracy of the resulting solution. The metric describes the algorithm's ability to explore multi-objective solutions. The greater the value, the better the ability of an algorithm to explore solutions. From Table 1, it can be implied that the accuracy and exploration ability of the hybrid algorithm are satisfactory.

Analysis of the Effectiveness of the Hybrid NSGA-II with Local Search
However, the algorithm's limitation is that the greater the number of jobs, the greater the , due to the scheduling has exponential complexity, i.e., the solution space will increase exponentially as the problem gets bigger. Fig. 4 shows the average computation time of each problem instance. The greater the number of jobs, the greater the time required. In the case of single-machine scheduling, the computation time is only affected by the number of jobs. It can be seen that the algorithm required less than 150 seconds to find a set of non-dominated solutions for 50 instances.

Analysis of the Computation Time
For each instance, the computation time required by hybrid NSGA-II was longer than that of the standard NSGA-II. The time lag was caused by the time to perform the local search by hybrid NSGA-II. On average, hybrid NSGA-II required approximately 25% more time than the standard NSGA-II.

Managerial Implications
Decision-makers can have a set of alternative solutions that are tailored to their preferences. Fig. 5 shows several alternative solutions that decision-makers can use in determining the desired solution. In addition, this algorithm can be implemented for solving real-world cases because it can solve a single machine scheduling problem with 50 jobs in less than 150 seconds. Although the hybrid NSGA-II requires more time than the standard NSGA-II, the quality of non-dominated solutions found by the hybrid NSGA-II is beyond NSGA-II. Therefore, this research concluded that a manufacturing company could implement the proposed method that implements a just-in-time production system.

Conclusion
This study addressed multi-objective single machine JIT scheduling with discreet variable speed to minimize earliness/tardiness penalty and energy consumption. The machine can be adjusted into several speed modes. Energy consumption is attributed to the function of machine speed. The hybrid NSGA-II and local search worked effectively to solve this problem. Based on numerical experiments, the hybrid NSGA-II and local search efficiently found a set of non-dominated solutions. The results obtained by the hybrid NSGA-II were compared with those obtained by the standard GA. The scheduling problem can be extended in future research by considering the electricity tariff that depends on the usage time (also known as Time-Of-Use or TOU tariffs). Another possible research area is comparing the hybrid NSGA-II with other methods, such as the multiobjective evolutionary algorithm with decomposition (MOEA/D) or the strength Pareto evolutionary algorithm (SPEA2).

Data Availability
Raw data are not presented in the paper. If you need the raw data, please contact the author via email.