IAES International Journal of Artificial Intelligence (IJ-AI)

Received Dec 18, 2021 Revised Sep 30, 2022 Accepted Oct 15, 2022 This paper focuses on solving unrelated parallel machine scheduling with resource constraints (UPMR). There are j jobs, and each job needs to be processed on one of the machines aim at minimizing the makespan. Besides the dependence of the machine, the processing time of any job depends on the usage of a rare renewable resource. A certain number of those resources Rmax can be disseminated to jobs for the purpose of processing them at any time, and each job j needs units of resources (rjm) when processing in machine m. When more resources are assigned to a job, the job processing time minimizes. However, the number of resources available is limited, and this makes the problem difficult to solve for a good quality solution. Genetic algorithm shows promising results in solving UPMR. However, genetic algorithm suffers from premature convergence, which could hinder the resulting quality. Therefore, the work hybridizes genetic algorithm with a single-based metaheuristics (SBH) to handle the premature convergence in the genetic algorithm with the aim to escape from the local optima and improve the solution quality further. The single-based metaheuristics replaces the mutation in the genetic algorithm. The evaluation of the algorithm performance was conducted through extensive experiments.


INTRODUCTION
At the age of technology advancement, the demand for fast and optimum production in manufacturing industries is increasing. These motivated decision-makers and researchers utilize the intelligent system for an optimum scheduling of the production process. This will increase the profits, decrease costs, whilst satisfy the customer needs. Scheduling of the production is deemed one of the considerable activities of a company when it comes to the operational level as it assists in keeping the company competitive in the demanding consumer markets. The company needs to effectively utilize its resources, meet production deadlines, reduce production costs and other constraints while fulfilling customer satisfaction. The relevance and potential of research and application in the manufacturing area are enormous and, this had attracted researchers to investigate problems in production scheduling from various perspectives over the previous years [1]. Of the crucial scheduling problems is the parallel machine scheduling problem (PMS). Researchers have classified the PMS problem as being non-deterministic polynomial-time hardness (NP-hard) even with the utilization of more than one machine (two machines), and they considered it as a combinatorial optimization problem [2]. Many methods were used and applied to provide a feasible solution

PROBLEM FORMULATION
The uniqueness of UPMR is the resources constraints, in which all jobs require resources when being processed in the machine. In view of the nature and usage of resources, they can be described by classes, categories and also types when allocating resources to machines [26]. In classes, the resources can be categorized into two, where it depends on "time" a resource requires by the jobs when being process by the machine [27]. Resources required during the processing of the jobs, is called processing resources [2], [17], [23]. However, if resources required either before or after processing of a job, then the resources are referred to as input-output resources [27], [28]. In categories, the resources can be divided into two [28], which include resource constraints and resource divisibility. Firstly, in the resource constraints categories, it includes resources that are renewable, nonrenewable and double constraint. A renewable resource allows the resources to be re-used after being released from other job [2], [17], [23]. However, for nonrenewable resources, the resources can only be used once by some job (i.e. cannot be assigned to any other job) [29]. As for double constraint, it uses both resources at the same time [30]. Second, in the resource divisibility, the resources are categories as discrete and continuous. In a discrete resource, the resources are to be assigned to jobs in discrete amounts from a limited finite group of possible allocations which may contain one element only [23]. However, in continuous, the resources can be assigned to jobs in random quantities from a certain interval [26].
In type, the resources can be divided into static and dynamic [18]. In Static, the allocation of resources to machines is fixed [31], while in the dynamic, the resources can be allocated and reallocated in view of the jobs' assignments (the allocation need not be fixed) [23], [24]. In terms of assigning jobs to the machines, this assignment can be of two types: unspecified and specified [28]. In the unspecified, the assignment of job to machine is not prefixed [23], while the assignment of job to machine is prefixed in the specified [32].
This work focuses on UPMR problem that is unspecified, dynamic, processing resources, discrete and renewable. The selection of these resources constraint is because they are commonly used by other researcher (i.e., for result comparison purpose) and they reflect the real-world problem [2], [17], [23], [27], [28]. This research focus on minimizing the makespan of the unrelated parallel machine scheduling problem (UPMR) [33]. The following example sheds the light on the UPMR problem and raises the difference between this problem and the regular UPM. We need to take into mind the following example of an UPMR with two machines (m=2), six jobs (j= 6), 10 units of a scarce resource (Rmax= 5×m) and the times of the following processing times and the needs of the resource. The processing times pjm and resource needs rjm are j ×m matrices of the assignment machine m and job j, respectively. As it is known, the difference between the UPM and UPMR problem is the resource constraints. Referring up to Figure 2, the UPM problem produces Cmax 51. However, this solution is infeasible where it violates the resource constraints in the UPMR problem. The maximum availability of resources is violated by two units, (r51 and r42) between time 0 and time 10, three units (r11 and r42) between time 10 and time 21 and three units (r31 and r62) between time 38 and time 50. To get a feasible solution from an infeasible solution while keeping the jobs assigned to the same machines, the idle-time is important. Figure 3 shows that resources are not overused but the result is poor quality and the makespan increased to Cmax=84. It is possible to obtain feasible solutions without idle-time, but they are not optimal (Cmax=77) as shown in Figure 4. In Figure 5, resources are utilized, machines are optimized (always busy), and the makespan has not increased considerably when compared to the UPM problem which does not take into consideration the resource constraints shown in Figure 2

Mathematical model
This section reveals the hard constraints and the objective function for the UPMR problem. It is taken into consideration that the hard constraint needs to be satisfied for a feasible solution as shown in (1)-(3). On the other hand, the objective function, that is widely applied in the UPMR, is to minimize the maximum completion time of the jobs (see (4)). − Each job must be processed by exactly one machine; and finishes at exactly one time as shown in (1).
− One machine is allowed to process one job only at a time as this is illustrated in (2).
− Do not exceed the Rmax units of the resource at any time. The formulation is shown in (3).
− The objective function is to minimize the makespan also known as (Cmax) and it is specified as in (4).

PROPOSED ALGORITHM
As it is known, the genetic algorithm suffers from an imbalance between exploration and exploitation because its operation focuses more on exploring the search space rather than exploiting [34]. In addition, it also suffers from getting trapped into local optimal as it only takes the best solutions in population after the crossover and mutation operators. These drawbacks have not been solved even with many improvements to the standard genetic algorithm as reported in the literature. Such improvements included tuning parameters and selecting different types of operations [35]. Additionally, many researchers combine the genetic algorithm with single-based metaheuristic [36], [37].
At the beginning, the guided genetic algorithm is applied with parameters tuning [38]. The parameters are examined by fixing one value of each parameter and changing the values of other parameters each time. This process is repeated with each value of the other parameters. On the other hand, the multipopulation, k-tournament selection, guided crossover and insertion mutation are used. Next, the mutation process is replaced by the great deluge algorithm, tabu search algorithm and variable neighborhood search algorithm, to obtain guided genetic algorithm with greate deluge (GGA-GD), guided genetic algorithm with tabu search (GGA-TS) and guided genetic algorithm with variable neighborhood search (GGA-VNS) as shown in Figure 6. The single-based metaheuristics are used to create a balance between exploration and exploitation and to address getting stuck in local optimal.

Hybridizing genetic algorithm with great deluge algorithm
As mentioned, the great deluge algorithm will replace the mutation operator in the genetic algorithm. At each iteration, a neighbour solution is accepted if its quality is lower than the current value. Initially, the value of the level is set equal to the cost of the initial solution. Then, at each iteration, the level is decreased by the rain speed (UP) using (5).
This process will be repeated until the stopping criterion is reached (maximum number of iterations). The GD used the third type of the neighborhood structure based on the preliminary test as mentioned in the subsection 5.4. The pseudocode of hybridizing GGA-GD is presented in Figure 7.

Hybridizing genetic algorithm with tabu search algorithm
The procedure starts with a feasible initial solution obtained after the completion of the crossover operator of the genetic algorithm. This initial solution is stored both as the current and the best solution simultaneously. The algorithm will then form a set of neighboring solutions of the current solution that is not in the tabu list using a neighborhood structure. Then, the candidate solutions are evaluated using the objective function, and the best candidate solution which is not tabu is selected as the current solution. The fitness of the current solution will be compared to the best solution, and if it is better than it will replace the best solution. This new current solution is added to tabu list and, if it is full, the oldest element is removed from the tabu list. Next, the whole procedures are repeated for a certain number of iterations [39]. Based on preliminary test, the tabu search (TS) used the fourth type of neighborhood structure. The pseudocode of GGA-TS is presented in Figure 8.

Hybridizing genetic algorithm with variable neighborhood search algorithm
The variable neighborhood search algorithm (VNS) begins with a solution that is initial. After that, three steps constitute each iteration of the algorithm. These three steps are shaking, local search, and move as shown in Figure 9. − VNS will form a set of neighboring solutions based on k th neighborhood. After that, the candidate solutions are evaluated using the objective function, and a random candidate solution s′ is shaked from Nk(s) to be the current solution. In this work, four types of neighborhood structures are used gradually as mentioned in subsection 5.4. − A procedure of local search known as (hill climbing) is applied to the solution s′ to produce the solution s′′. The present solution is changed by the new local optima s′′ if and only if there is a better solution that has been discovered (i.e., f (s′′) < f (s)). The same search procedure, thus, is initiated from the solution s′′ in the first neighborhood N1. The local search process terminates when the maximum number of iterations stands for 3000 based on preliminary test. − If no better solution is located (i.e., f (s′′) ≥ f (s)), the algorithm moves to the next neighborhood Nk+1, randomly produces a new solution in this neighborhood, and aims to improve it. Figure 9. Pseudocode of GGA-VNS

Neighborhood strategies
The neighborhood structures have a prominent role in the performance of any SBH [34]. The existence of adequate neighborhood leads to enhance the ability of a SBH to generate good solutions [40]. In this work, the neighbor solution is created via four neighborhood structures: − Select one job and insert it to different position within the same machine. − Select one job and insert it to a different machine. − Select two jobs from the same machine and swap their positions. − Select two jobs from different machines and swap their positions.

Parameter tuning
The values of the parameters have direct effect on the performance of the metaheuristic algorithms [34]. Different problems and even different instances from the same problem data require different parameter values to reach an optimal or near optimal solution. The parameter settings for the proposed hybrid algorithms are discussed in this subsection. A preliminary test is conducted to determine the suitable parameters values. During the preliminary test, the genetic algorithm and SBH algorithms are executed 30 runs on ten instances (8×2, 12×4, 16×6, 20×2, 25×4, 30×6, 50×10, 150×20, 250×30 and 350×10) and the best results over 30 runs are reported. These instances are selected based on the size of the benchmark dataset. Table 1 summarizes the parameter settings of all the algorithms used in this study.

GA parameter settings
Genetic algorithm (GA) has four parameters, namely population size, crossover rate, mutation rate and number of generation (iteration). A preliminary test is used to determine the appropriate parameter values in guided genetic algorithm (GGA) [38]. Different values of the parameters are used and tested. The values used for population size are 20, 40, 60 and 100. In view of the results of the comparison carried out on all the datasets used, the most suitable value of the population size is 40 produces the best result obtained in seven out ten datasets. After setting the value of the population size, the crossover rate will be examined. The crossover rate must also be set. The values of the crossover rate that are tested are 0.3, 0.5, 0.7 and 0.9. The best crossover rate value for the eight datasets out of ten is 0.7. Next, the values of the mutation rate that are tested are 0.01, 0.05, 0.1 and 0.5. The value of the best mutation rate for the six datasets out of ten is 0.1. Finally, the values used for the number of iterations are 500, 1000, 2000, 4000 and 6000. Based on the results of the comparison carried out on all the datasets used, the most suitable value for the number of iterations is the value 4000 as the best results of seven datasets out of ten are obtained at this value.

GD parameter settings
GD is composed of two parameters. The first of these is rain speed (UP), which requires to be tuning and is calculated using (6)  BKS refers to the best-known solution. The second parameter is the number of iterations, which is set to 4000 out of four values (2000, 4000, 6000 and 8000) based on preliminary test. Based on the preliminary test, two parameters were fixed to examine the third one and so on. The parameters value of the TS used in this study based on preliminary test are: the tabu list length is fixed to 40, the number of neighborhood solutions is fixed to 6 and the number of iterations is fixed to 4000.

HC parameter settings
HC contains only one parameter, the number of iterations. The setting of parameter to 3000 is based on the results of the preliminary test. This preliminary test is, then, applied to the values of the different iterations (2000, 4000, 6000 and 8000).

RESULTS AND DISCUSSION
The proposed algorithms are evaluated and compared with state-of-the-art methods in terms of solution quality. The obtained results are reported as the relative percentage deviation (RPD) from the bestknown solution (BKS). The best-known solution is the solution obtained by [2], [17], [25]. The relative percentage deviation RPD for each instance is computed using (7) [42].
BKS is the Best-Known Solution which can be optimal if the makespan is equal to the optimum makespan of the problem without resources (UPM). Heusol is the best solution obtained by the proposed algorithm over all independent runs. The proposed algorithms are coded in C# 2012.5 and run on a PC with CPU Intel(R), Core (TM) i7, speed at 2.30 GHz and RAM 16.00 GB. A benchmark dataset used in this study is proposed by [2], [17], which consist of different sizes of dataset were used for the experiment (referred to as small, medium and large). The small size has 9 datasets, the medium has 9 datasets and the large has 12 datasets, where each data set has 50 instances. In total, there are 450 small instances, 450 medium instances and 600 large instances. The dataset can be reach at http://soa.iti.es. The number of resources is computed as Rmax = 5 × number of machines. The computational result of the given instance (8x2_2_U_10_100__R_inter) and Cmax along with the processing time and resource consumption are shown in Table 2.  3  8  2  0  51  6  1  1  47  57  3  6  2  51  91  3  2  1  57  85  1  5  1  85  100  4  7  2  91  133  1  3 1 100 119 4

Small instances result
Our first evaluation is using small instances as shown in Table 3. GGA-VNS outperformed GGA-TS and GGA-GD by 56% in terms of RPD. When comparing our algorithms with the state-of-the-art methods, UPMR algorithm obtains the lowest RPD in 5 instances followed by the EIG method and JMR that obtain 4 and 2 instances respectively. The ESS, GGA-TS and GGA-VNS obtain 1 instance followed by M4, M5 and GGA-GD which didn't record any results that outperform the mentioned algorithms. In view of the average relative percentage deviation (ARPD), the EIG obtains the lowest (best) value followed by GGA-VNS, ESS, GGA-TS, GGA-GD, M4, M5, JMR and UPMR. Comparatively, in terms of the average time AvTime, the UPMR and JMR methods need approximately 2000 seconds on average, the ESS and EIG at around 5 seconds on average. The GGA-GD, M5, GGA-VNS, M4 and GGA-TS methods need less than 1 second on average.  Table 4 show the results for medium instances. With respect to RPD, GGA-VNS and GGA-TS outperformed GGA-GD by 44% for each one (i.e., 4 instances for GGA-VNS and 4 instances for GGA-TS and 1 instance for GGA-GD). Taking ARPD into account, the GGA-VNS outperformed the GGA-TS and GGA-GD. In comparing the results of the study with the previous literature, the study found that EIG algorithm obtains the lowest RPD in 4 instances followed by the GGA-TS, ESS and GGA-VNS that obtain 3, 2 and 1 instances respectively. The UPMR, JMR, M4, M5 and GGA-GD did not record the lowest RPD compared to the earlier mentioned algorithms. In ARPD, the lowest (best) value is obtained by the EIG and then followed by ESS, GGA-VNS, GGA-TS, M4, M5, GGA-GD, JMR and UPMR. On the other hand, taking into consideration the average time AvTime, the study showed that the UPMR and JMR methods need 3600 seconds on average, whereas the ESS and EIG need around 14.5 seconds on average. In comparison, the GGA-GD, GGA-VNS, M5, GGA-TS and M4 methods show the need for less than 1 second on average.

Large instances result
Experiments of large instances are implemented as illustrated in Table 5. While GGA-VNS outperformed GGA-TS and GGA-GD by 75% (9 instances out of 12) in view of RPD. The GGA-VNS also outperformed the GGA-TS and GGA-GD in view of ARPD. In comparison with the state-of-the-art methods, EIG algorithm is found to obtain the lowest RPD in all instances and not for ARPD. As far as ARPD is concerned, the study showed that the lowest (best) value is obtained by EIG and then followed by ESS, GGA-VNS, GGA-TS, M5, GGA-GD and M4. In respect of the average time AvTime, the GGA-GD, GGA-TS and GGA-VNS need around 19 seconds on average. Subsequently, the EIG, ESS, M5 and M4 need around 60 seconds, 73 seconds, 102 seconds and 184 seconds respectively. As mentioned in Sub-section 5.1, 5.2 and 5.3, the hybridization process works on exchanging roles and investing the ability of SBH algorithms (GD, TS and VNS). This process in question is conducted to exploit the search space for the purpose of enhancing the deficit in the genetic algorithm. On the other hand, the ability of a genetic algorithm for exploring the search space is taken advantage of to enhance the deficit in SBH algorithms.

CONCLUSION AND FUTURE WORK
This work proposed a hybridization of genetic algorithm with single-based metaheuristic algorithms. The proposed methods able to efficiently and effectively produce quality results. The reason behind the success of our algorithms is because of the combination of the population-based metaheuristic represented by the genetic algorithm and the single-based metaheuristic represented by great deluge algorithm, tabu search algorithm and variable neighborhood search algorithm. The population-based metaheuristics, which are powerful in the exploration of the search space and weak in the exploitation of the solutions, will try to optimize solutions globally. The single-based metaheuristics, are powerful optimization methods in terms of exploitation, they will try to optimize solutions locally. Despite the quality of the results obtained, especially the GGA-VNS, it still needs to be improved to get better results or match the results of the literature. In the future, an adaptive hybrid GA is suggested to select the suitable single-based metaheuristic algorithm automatically in order to obtain better results.