Review on unrelated parallel machine scheduling problem with additional resources

limited resources is named as UPMR. The importance of the UPMR comes from the wealth of applications; they are applicable to engineering or scientific situations where it is needed to present the best sequence in a convincing period of time within limited number of resources. This paper shows some of the latest studies and related literature in the context of unrelated parallel machine scheduling problems with additional resources (UPMR) to ensure our research direction and many techniques have been applied for solving this problem. ABSTRACT: This study deals with an unrelated parallel machine scheduling problem with additional resources (UPMR). That is one of the important sub-problems in the scheduling. UPMR consists of scheduling a set of jobs on unrelated machines. In addition to that, a number of one or more additional resources are needed. UPMR is very important and its importance comes from the wealth of applications; they are applicable to engineering and scientific situations and manufacturing systems such as industrial robots, nurses, machine operators, bus drivers, tools, assembly plant machines, fixtures, pallets, electricity, mechanics, dies, automated guided vehicles, fuel, and more. The importance also comes from the concern about the limitation of resources that are dedicated for the production process. Therefore, researchers and decision makers are still working on UPMR problem to get an optimum schedule for all instances which have not been obtained to this day. The optimum schedule is able to increase the profits and decrease the costs whilst satisfying the customers’ needs. This research aims to review and discuss studies related to unrelated parallel machines and additional resources. Overall, the review demonstrates the criticality of resolving the UPMR problem. Metaheuristic techniques exhibit significant effectiveness in generating results and surpassing other algorithms. Nevertheless, continued improvement is essential to satisfy the evolving requirements of UPMR, which are subject to operational changes based on customer demand.


INTRODUCTION
In today's competitive world, where jobs are processed largely by machines, the requirement for smart organization becomes an essential need.
If we take into account the fact that the resources, we rely on are scarce, the need has become more urgent.Moreover, since one of the aims of the commercial sector aims is to turn a profit, then this profit could be increased if the manufacturing facilities were operating at their peak efficiency This problem arises in a variety of industry environments, including auto factories and food processing, among others.It is reasonable to expect that a variety of jobs will be processed by a variety of parallel machines, under a variety of specific circumstances, and with a variety of specific objectives.Considered scheduling jobs on parallel machines as a process involves two steps: the first is which jobs are to allocate to which machines and the second is the order of the jobs thar are to allocated to each of these machines.
The regular scheduling problem of the unrelated parallel machine (UPM) can be described as the processing some jobs on some parallel machines.The widely known objective is to minimize the maximum completion time of job.According to [1][2][3][4][5], UPM problem is "A set of n jobs has to be processed on exactly one machine out of a set of m machines.In this variant of the problem, processing times of the jobs differ according to the machine the job is assigned to".
UPM that considers limited resources is named as UPMR.The importance of the UPMR comes from the wealth of applications; they are applicable to engineering or scientific situations where it is needed to present the best sequence in a convincing period of time within limited number of resources.This paper shows some of the latest studies and related literature in the context of unrelated parallel machine scheduling problems with additional resources (UPMR) to ensure our research direction and many techniques have been applied for solving this problem.In today's highly competitive world, the use of machines for job processing has become essential in various industries.As resources become scarce, optimizing scheduling is crucial to boosting profits in fields like auto factories and food processing.Scheduling jobs on parallel machines involves two primary steps: allocating jobs to machines and determining the order of jobs on each machine.The unrelated parallel machine (UPM) scheduling problem aims to minimize the job completion time by scheduling some jobs on parallel machines.However, real-world scenarios often require additional resources, leading to the UPMR problem.This problem is significant in engineering and scientific contexts where efficient resource allocation is crucial.This paper reviews recent studies and related literature on the UPMR scheduling problem, providing insights into the techniques used to solve the problem and identifying potential areas for future research.We survey four major categories of papers, including machine environment, supplemental resources, objective functions, and approaches to problem-solving.

DEFINITIONS AND ASSUMPTIONS
In the era of automation and intelligence systems, the production process plays a crucial part in increasing the profits, decreasing the costs whilst satisfying the users.This has attracted the attention of many researches into developing an optimum scheduling for the production process.Production scheduling involves assigning jobs to machines to optimize performance metrics.One important sub-problem in scheduling is the unrelated parallel machine scheduling (UPM) problem, which involves scheduling jobs on machines to minimize the time needed to complete all jobs (makespan).However, to execute a job on a machine, a set of resources is required.When additional resources are taken into account, the problem is referred to as UPMR.In an UPM problem, the order in which jobs are scheduled on each machine does not affect the makespan.In contrast, in UPMR, the sequence of job assignments to machines affects the makespan, as different sequences imply different execution times due to limited resources.Several assumptions for the UPMR problem have been proposed in recent studies (e.g., [6][7][8][9][10]) which includes: • Only one machine processes one job.
• One job at a time can be processed by each machine.
• Any job processing, that was already initiated, must be fulfilled and finished uninterruptedly (non-preemptively).
• Every job requires a number of additional resources during their entire process not exceeding the Rmax at any time.
• The precedence constraints are sometimes possible between two jobs.

A CLASSIFICATION OF SCHEDULING PROBLEMS
A classification scheme for parallel machine scheduling problem introduced by [11][12][13].This scheme could employ a three-field problem classification α | β | γ.

MACHINE ENVIRONMENT CHARACTERISTICS
The characteristics of machine environments can be categorized into two groups: machine variety and machine environment.Concerning the variety of machines, the regular parallel machine scheduling problem addresses independent tasks that must be processed by a set of parallel machines non-preemptively to achieve a specific performance measure [14].The majority of studies focus on more than three machines, while some suggest that the number of machines may vary as part of the input [9].In terms of the machine environment, the parallel machine scheduling problem (PMSP) can be classified into three types that are based on the machines' nature: identical, uniform, and unrelated [15][16][17].However, previous studies employed a classification scheme that distinguished five sub-cases of parallel machines based on their environment [11,12].These sub-cases are: single machine (Ø), parallel dedicated machines (PD), identical parallel machines (P), uniform parallel machines (Q), and unrelated parallel machines (R).
Single machine refers to a production system that has only one machine for processing jobs or tasks.The machine is capable of performing a specific operation or a sequence of operations that are required to complete a job.Parallel dedicated machines, is a type of manufacturing system that consists of several dedicated machines that are used to produce a specific product or set of products.The machines are dedicated to the production of the product(s) and are arranged in parallel, where they operate simultaneously to produce the required output.Each machine in the parallel dedicated system performs a specific task in the production process.For example, in a parallel dedicated system for automobile manufacturing, there may be dedicated machines for welding, painting, and assembly.
Identical parallel machines, is a type of production system in which a set of machines is available to process a set of jobs, and all the machines are identical in terms of their processing capabilities, capacities, and speed [18].In other words, each machine in this production system is interchangeable with any other machine, and they can all perform the same tasks with the same level of efficiency.Uniform parallel machines, is a type of production system in which a set of machines is available to process a set of jobs, and all the machines have uniform or identical processing capabilities, but may have different processing speeds or capacities [19].In other words, the machines in the production system have the same processing capabilities and, thus, they can perform the same tasks, but they may process those tasks at different rates.
Unrelated parallel machines, on the other hand, is a type of production system in which a set of machines is available to process a set of jobs, and each machine has a unique processing capability or specialization [8].In other words, the machines in the system are not identical and have different processing capabilities or functions [20].The unrelated parallel machine is further divided into three sub-cases: regular UPM, with sequence-dependent setup time UPMSP, and with resources UPMR.

• Regular unrelated parallel machine
In regular unrelated parallel machine problems, the concept of unrelated parallel machines refers to a situation where a set of jobs must be processed on a specific machine from a group of parallel machines that are not related to each other.Each job must have a processing time assigned to it, and the processing should begin at time zero.
• Unrelated parallel machine with sequence dependent setup time In unrelated parallel machines with sequence-dependent setup times, an additional constraint is introduced, which is the time required to prepare the machine for a specific job.The setup times are dependent on both the job sequence and the machine used, and each machine has its own matrix of setup times.This creates a more complex scheduling problem where the optimal distribution of jobs among machines must be determined, and the best order for each machine must be established to ensure that the resource restrictions are met at all times.One example of this type of scheduling problem is RM |Sjkm|Cmax [3,21].
• Unrelated parallel machine with resources In the case of unrelated parallel machines with resources (UPMR), a renewable resource is required for each job within its processing time set, and only a limited amount of the resource is available at any given time.The scheduling problem involves assigning the jobs to the machines, determining the start and completion times, and ensuring that the machines are never stopped between the completion of one job and the start of another.This version of the problem is more complex due to the additional constraint of resource availability and may result in idle times if the machines are unable to process the next job due to a lack of resources [9].
Considering the importance of resource constraints in industrial settings, the UPMR problem is a crucial factor that must be taken into account when determining the optimal scheduling solution.

JOB CHARACTERISTICS AND CONSTRAINTS
A great reference of the characteristics and constraints of a job, including processing times, preemptions, and resource constraints, can be referred to [11,12,[22][23][24].It should be noted that the resource consumption and processing times of a job can vary depending on the machine that is allocated to process the job.This is particularly important in real manufacturing environments where different machines may need to be used simultaneously.In such cases, the processing time or resource consumption of a job on an old machine may differ significantly from that on a new machine, as noted in references [9,10].Thus, it is essential to carefully consider the characteristics of each machine and allocate jobs accordingly to optimize scheduling and resource utilization.

Processing times
The processing time of a job in a parallel application is significantly impacted by the machines to which it is assigned.As such, the allocation of jobs to machines is a critical factor that can greatly affect system performance and efficiency.To describe the processing times of jobs, the parameter β5 ∈ [Ø, pj = p] is used.Two possible values for β5 are: • β5 = Ø: This indicates that the processing times of jobs are arbitrary, and the parameter pj may or may not be used to represent these times.• β5 = (pj = p): This means that all jobs have the same processing time, which is equal to p units.

Possibility of preemptions
The processing of jobs can be interrupted or uninterrupted based on the allowance of preemptions.When preemptions are not allowed, the processing of any job must continue uninterruptedly until it is finished.However, in the case of preemptions, any operation's processing can be stopped and resumed later, even on a different machine.To determine whether preemption is possible or not, parameter β1 ∈ [Ø, pmtn] is used, where: • β1 = Ø: no preemption is allowed.

Machine eligibility restrictions (Job-machine assignment)
The assignment of the job to machine could be done in two ways: assigning jobs to unspecified or specified machines means a specific issue of the unrelated parallel machine environment.β7 ∈ [Ø, Mj]: means the eligibility restrictions of machines: • β7 = Ø: all machines are eligible for all jobs (unspecified).
• β7 = Mj: the processing of job j can only be carried out by a specific machine subset Mj of M machines (specified).

Additional Resource constraints
In some studies of parallel machine scheduling, machines are considered as a resource.However, in real-world manufacturing settings, jobs often require additional resources like automated guided vehicles, machine operators, tools, pallets, dies, and industrial robots for their handling and processing [12,25,26].These resources have various characteristics that must be taken into account while solving the UPMR problem (refer to Fig. 1).• β2 = Ø, then no additional resources are present.
• β2 = resλσδ, then specified resource constraints exist.λ, σ, and δ are described below: -If λ is a positive integer, it represents a constant variety of resource types that are equivalent to λ.If λ = ., it represents a part of the input, and its value is arbitrary.-If σ is a positive integer, then all resource sizes, or resource limits, are constant and equal to σ.If σ = ., then all resource sizes are characterized as arbitrary.-If δ is a positive integer, then all resource requirements have a constant upper bound that is equal to δ.If δ = ., then such bounds are not specified.
b) The additional resources are categorized into three classes based on their resource constraints [23,25]: • If a resource is used for a job, after being released from this job it may be used again for other job.This type of resources is called renewable [9,10].
• If a resource has already been used for one job, then it cannot be used for another job.This type of resources is named nonrenewable [27].• If both renewable resources and nonrenewable resources are used in the same time, this type is called doubly constrained [28].
c) In the resource divisibility, additional resources can be categorized into two classes, as per references [23,25].These classes are: • Discrete resources, which refer to the distribution of jobs in separate amounts from a specific, finite variety of possible allocations.These allocations may consist of just one element [20].• Continuous resources, which may be allocated to jobs in random, a priori unknown amounts from predetermined intervals.A significant amount of research on continuous resources is available [29].
d) The additional resources can be classified into two categories from the perspective of job processing [7]: • Processing resources: These are resources that are needed for processing a given job set on a specific machine.
• Input-output resources: These are resources that are required either before or after the processing of a job [7,23,30,31].
e) The allocation of resources to machines must be carefully considered, and there are two classes of allocation methods as described in [17]: • Static allocation: the resource allocation remains fixed throughout the schedule, and the additional resource cannot be switched to other machines.• Dynamic allocation: the assignment and non-assignment of resources are based on the type of job, and the additional resource can be switched among machines during the schedule.

GLOBAL OPTIMALITY CRITERION
There exist several types of objective functions used in the parallel machine scheduling problem.In constructing optimality criteria (refer to Table 1) [32], the following elementary functions are considered: This review paper focuses on a particular type of objective function utilized in parallel machine scheduling studies, which aims to minimize the makespan criterion.The makespan is responsible for balancing the machines based on their loads, leading to optimal machine utilization [6].Furthermore, the makespan can be defined as the time when the last job is completed [33,34], and a minimum makespan usually indicates efficient machine handling [32].

RELATED WORK
This section presents a review of the approaches used to solve the dynamic unrelated parallel machine scheduling problem, both specified and unspecified versions.According to the literature, these approaches can be classified into four categories: exact methods, ρ-approximation algorithms, problem-based heuristics, and metaheuristics.Scholars have explored and studied specified dynamic (sd) versions for UPMR problem.For example, [35] proposed a heuristic approach with secondary resource constraints to minimize makespan for specified dynamic UPMR.The results obtained by the computational processes indicate that the presented heuristic performs better than the simulated annealing.[36] presented an effective heuristic approach based on threshold-accepting method, tabu lists, and improvement steps with assistant equipment constraints as secondary resource constraints, for the specified dynamic unrelated parallel machine to minimize total tardiness.Computational experiences point out the capability of the suggested heuristic to gain the best solutions for the problems of small size, and considerably outperforms an ATCS procedure and a SA for the largesize instances.
Constraint programming (CP), integer programming (IP), and integrated IP/CP models were proposed by [37] to minimize Cmax for specified dynamic UPMR, and the combined IP/CP model obtained the best results in most instances.[38] have developed approaches of IP/IP and IP/CP models to minimize the makespan for specified dynamic unrelated parallel machine.They reported that better results are offered by IP/IP than IP when the constraints of resources are loose.Additionally, IP/CP model outperforms CP model when the constraints of the resource were tight.
Much literature on unspecified dynamic (ud) UPMR has also been presented in earlier studies.For example, [39] proposed 2-approximation, 3/2-approximation and 4-approximation approach so that to the Cmax and wjCj are minimized for unspecified dynamic UPMR.The 4-approximation method are rendered better than the other two methods.[40] made development on 3.75-approximation approach through the use of the rounding procedure which is utilized to solve ud-UPMR by the means of minimizing the makespan.As it can be seen, the results, obtained through the application of the model in question, outperform 4-approximation and 6.83-approximation.
A Lagrangian-based CP method has been suggested by the way of keeping the resource constraints relaxed [41].The results of this method have been compared to the results of IP and CP approaches for the sake of discovering the fact that the method of the proposed Lagrangian-based CP presents results that are really considered effective.An integer programming (IP) model has been proposed by [42] to solve dynamic UPMR problems which is defined as a relaxed IP based CP method used for the purpose solving the large-sized instances for dynamic UPMR and IP/CP model.To go further.This model, additionally, performs better than the IP model and obtains near-best solutions for problems characterized as being of large sizes.[20] study the scheduling problem of the unspecified dynamic UPMR.The aim of this study is oriented to scheduling jobs in parallel machines as a step to minimize the makespan.Two approaches have been presented by those two scholars: one is an integer linear programming ILP program and the other is a two-phase approach based on solutions, named the fixing algorithm.The fixing algorithm outperforms the ILP program.
L. Fanjul Peyro et al. investigated unspecified dynamic UPMR goal to minimize the makespan [9].The resources were very limited and unchanged in terms of their availability within the production aspect.The number of resources is based on the job in addition to the machine.They formulate this problem via two mixed integer linear programming MILPs.Of these approaches is one that was based on a model previously reported by [42] and referred to by UPMR-S.The second approach takes into account the aspect of resemblance to the strip packing problem (referred to by UPMR-P).Additionally, three techniques, matheuristic in nature, were also reported by those scholars.These included "Jobmachine reduction JMR, Machine-assignment fixing MAF and Greedy-based fixing GBF" which have been used in each one of the aforementioned methods (UPMR-P and UPMR-S) and resulted JMR-P, MAF-P, GBF-P, JMR-S, MAF-S, and GBF-S.The JMR-P approach, thus, performs better than all other approaches in most instances.
CP model has been presented to solve the unspecified dynamic unrelated parallel machine for the aim of minimizing the Cmax [17].The CP model, as shown by the results, outperforms the heuristic and exact methods in the earlier studies (UPMR-P, UPMR-S, MAF-P and MAF-S) for all instances used in the research.[43] has also suggested two approaches for the sake of solving the unrelated parallel machine scheduling problem with a renewable resource constraint to minimize the makespan.As such, the methods, in question, are MILP for two machines and MILP/CP model for more than two machines.If the solution of the MILP/CP model is not characterized as being the optimal, then, the solution of the problem is carried out by the use of a CP model.The MILP/CP outperforms CP model for a problem of a large size.
Multi-pass heuristics and local search methods (NEHst, NEHres and SWA) have been proposed by [10] for the sake of minimizing the makespan for unspecified dynamic UPMR.As for small instances, the best results were obtained by NEHres; in medium and large instances, the optimal results went to the M4 and M5 respectively.[44] suggested four approaches (RLS, SS, ESS and EIG) to minimize Cmax for unspecified dynamic unrelated parallel machines with additional resources.The results of the Enriched iterated greedy perform better than the methods that are related to instances of small, medium and large sizes.
Recently two works are applied to solve ud-UPMR: guided genetic algorithm (GGA) [45] and hybrid guided genetic algorithm (GGA-GD, GGA-TS and GGA-VNS) [46].Table 2 illustrates the strengths and limitations for the methods that are applied on the unspecified dynamic UPMR.

Technique
Strengths Limitations 2approximation algorithm [39] -It is often faster and easier to implement than exact optimization algorithms, which can be computationally expensive and time-consuming.-It is often simple to understand and interpret, making them useful for applications where complex algorithms may not be necessary.
-It does not provide the optimal solution to an optimization problem, which can be a disadvantage for applications where exact solutions are necessary.-It may not scale well to very large optimization problems, as the size of the problem can increase the computational complexity of the algorithm.-The quality of the approximation provided by a 2-approximation algorithm may depend on the specific instance of the optimization problem, and some instances may require a larger approximation factor than 2. 3/2approximation algorithm [39] -It guarantees that the solution it finds is no worse than 3/2 times the optimal solution, which can provide confidence in the quality of the solution.-It can often be implemented with relatively low computational overhead, making it a practical choice for many optimization problems.
-It is not guaranteed to find the optimal solution, and in some cases, it may produce solutions that are significantly worse than the optimal solution.-It can be sensitive to the specific problem instance and input data, and may not perform well for all problems.-The solutions produced by the 3/2approximation algorithm may be difficult to interpret or explain, particularly if the algorithm involves complex optimization techniques or heuristics.4approximation algorithm [39] -It is often much faster than exact algorithms, as they do not need to explore the entire solution space.-It is often robust to changes in the problem formulation, input data, or algorithm parameters.
-It may produce suboptimal solutions, meaning that the solution may not be as good as the optimal solution.-It may not be appropriate for some problems where a higher degree of accuracy is required.-The quality of the solution produced by a 4approximation algorithm depends on the problem structure, and in some cases, the solution produced may be significantly worse than the optimal solution.6.83approximation algorithm [40] -The algorithm provides a solution that is guaranteed to be no worse than 6.83 times the optimal solution, which is a strong performance guarantee.-LCP can be computationally expensive, especially when solving large-scale problems, and may require high-performance computing resources.-It may not always converge to an optimal solution, especially when the relaxation parameters are not properly tuned.-The Lagrangian function in LCP can become quite complex, making it difficult to interpret the results and identify the sources of any errors or inaccuracies.-LCP often requires the tuning of parameters, such as the penalty function coefficients and Lagrange multipliers, which can be a timeconsuming process.IP/CP approach [42] -IP/CP can handle a wide range of constraints, including both linear and nonlinear functions.-It can be very efficient in solving problems, particularly for small to medium-sized problems.-It can provide optimal solutions to complex problems that other methods may not be able to solve accurately -IP/CP is based on linear programming, and it may not be suitable for non-linear problems or problems with continuous variables.-IP/CP problems can be computationally complex, particularly for large-scale problems, leading to slow or inefficient solutions.
-Although IP/CP provides an exact solution, it may not always be practical and an approximate solution may be more efficient.-Sometimes, IP/CP may fail to find a feasible solution, resulting in an infeasible problem.ILP program [20] -ILP program can be applied to a wide range of problems, including scheduling, network optimization, and supply chain management, among others -It can handle problems with complex constraints and objectives, making them a flexible and powerful tool for optimization -ILP relies on linear equations, which may not accurately represent some real-world problems.Thus, there may be situations where the optimal solution obtained may not be the best solution in practice.
-Solving ILP problems can be computationally intensive, especially for large-scale problems.The computational complexity of ILP increases exponentially with the number of decision variables and constraints Fixing algorithm [20] -Fixing algorithm is relatively easy to implement and do not require extensive mathematical modeling or programming knowledge.-It can be adapted to handle a wide range of optimization problems and can be easily modified to accommodate different constraints and objectives.
-Fixing algorithm does not guarantee optimal solutions to the optimization problem.They may only provide good-quality solutions that are close to the optimal solution.-It may not be suitable for some types of optimization problems, especially those with complex constraints or objectives.-It may not be able to solve very large optimization problems due to computational limitations.-NEHres performance can be sensitive to the order in which the jobs are processed, which can make it difficult to achieve optimal results.-It only explores a limited search space, which can prevent it from finding globally optimal solutions in certain cases.-It is a rigid algorithm that does not allow for easy modification or customization, which can limit its usefulness in certain applications.SWA [10] -SWA can often converge to a high-quality solution relatively quickly.-It is a relatively simple heuristic algorithm that is easy to implement and understand.
-SWA performance can be sensitive to the order in which the jobs are processed, which can be a disadvantage if the input data is poorly structured.-It is only applicable to scheduling problems, and may not be useful for other problems.-It occasionally sticks in local optima and might not explore a wide variety of solutions.Enriched scatter search ESS [44] -ESS can find high-quality solutions to complex optimization problems -It can be used to solve a wide range of optimization problems, including both continuous and discrete problems.-It can converge to the global optimum of the problem.
-ESS can be computationally expensive and time-consuming, especially for large-scale optimization problems.-The performance of this algorithm can be sensitive to the choice of the parameters -The convergence rate of the algorithm can be slow, especially for problems with complex solution spaces.Enriched iterated greedy EIG [44] -EIG is often able to find high-quality solutions quickly, even for large and complex problems -It can be applied to a wide range of optimization problems, including both continuous and discrete problems -It can be scaled up to large problem sizes with a large number of variables -EIG can become trapped in local optima due to its lack of diversity in its search -The performance of the algorithm can be sensitive to the choice of the parameters -There is no guarantee that the algorithm will find the optimal solution to a given problem -GGA-TS requires careful tuning of various parameters, such as the population size, crossover rate, and tabu search parameters, to achieve good performance.-It may not provide an easy-to-interpret solution, as the optimal solution may be a combination of the genetic and tabu search components.-It may struggle to converge to an optimal solution, particularly if the optimization landscape is complex or poorly understood.

GGA-VNS [46]
-GGA-VNS can maintain diversity by using the genetic algorithm to explore a wide range of solutions and the variable neighborhood search algorithm to refine promising solutions.-It is flexible and can be easily adapted to different optimization problems by modifying the genetic algorithm or variable neighborhood search algorithm parameters.
-It can find good quality solutions quickly by using the genetic algorithm to explore the search space and the variable neighborhood search algorithm to refine the solutions.
-GGA-VNS may not always converge to an optimal solution, particularly if the optimization landscape is complex or poorly understood.-It can be complex and difficult to implement, particularly if the optimization problem involves complex constraints or objectives.-It requires careful tuning of parameters to achieve good performance, which can be timeconsuming and difficult.
In summary, careful consideration of the advantages and disadvantages of different approaches is essential before selecting an optimization technique.Exact methods such as Integer Programming, Lagrangian-based CP approach, IP/CP approach, ILP program, fixing algorithm, MILP model, Constraint programming, and MILP/CP provide a flexible framework for modeling various types of optimization problems.However, they may be computationally complex and sensitive to problem formulation.On the other hand, heuristic algorithms like NEHst are simple and effective for permutation flow shop scheduling problems but may not be suitable for other types of scheduling problems and may be sensitive to input data.Multi-pass heuristics, such as M1, M2, M3, M4, and M5, require careful design and parameter tuning for good performance and may be computationally expensive, produce complex solutions that are difficult to interpret, and get trapped in local optima.Approximation algorithms like the 2-approximation algorithm, 3/2-approximation algorithm, 4-approximation algorithm, 6.83-approximation algorithm, and 3.75approximation algorithm are simple, efficient, and robust.However, they may not produce the optimal solution, lack flexibility, and their performance may be sensitive to input characteristics.Metaheuristic algorithms, such as Enriched scatter search, enriched iterated greedy, guided genetic algorithm, and hybrid guided genetic algorithm, have their

FIGURE 1 .
FIGURE 1. -Classification of additional resources a) To characterize additional resources, Parameter β2 is used, which belongs to the range [Ø, resλσδ] [22, 23].The different values of β2 are defined as follows:

table 2
[46]ften requires careful tuning of algorithm parameters to achieve good performance, which can be time-consuming and difficult.-Itrequiresa more complex implementation than either GA or GDA alone, which can be challenging for some users GGA-TS[46]-GGA-TS can effectively explore a large search space and avoid local optima, resulting in better global optimization performance.-It can be customized to a wide range of optimization problems, and it can incorporate different variations of the genetic and tabu search algorithms.-It can efficiently explore the solution space and quickly converge to a good solution, especially for complex optimization problems.-It can handle noisy or uncertain input data and can adapt to changes in the problem formulation or search space.