{'fraction_non_alphanumeric': 0.034010210740470614, 'fraction_numerical': 0.009443015623200645, 'mean_word_length': 4.6758169934640526, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A New Approach Based on Matching Theory and Simulated Annealing for Parallel Machine Scheduling Problems


 As an extension of the classical Parallel Machine Scheduling Problem (PMSP), Unrelated Parallel Machine Scheduling Problem (UPMSP) is a much substantial issue in the modern manufacturing environment. It has been demonstrated to be a NP-hard problem. This research suggests a hybrid algorithm that combines Matching Theory (MT) and Simulated Annealing (SA) for solving an UPMSP with sequence-dependent setup time aimed at minimizing the total completion time. The hybrid algorithm is based on allocation of works to the best machine that can do it, and the determination of the order in which jobs have to be handled on the machines. The hybridization of MT and SA that integrates the features of these two individual parts is the main innovation aspect of the strategy. MT encourages the convergence, while SA promotes the diversity. Therefore, the designed algorithm can balance the intensification and diversification very well. Some tests were conducted using 16 tests for two problems to assess the efficiency of the suggested algorithm. Furthermore, the execution of the suggested algorithm with that of other meta-heuristic methods was contrasted. The outcome revealed that the performance dimensions of the suggested algorithm overrated those of other techniques.

( ) is the objective function. Therefore, a significant challenge in this process is to coordinate between machines to execute the scheduling of resource-task assignments' optimality. Considering the machines and works as two various agent groups, the options can be studied as a two-sided relation. Game theory (GT) is a very important tool to deal with the interaction of some players [6]. It has been widely applied to handle with several situations in a wide number of fields like economics, management, politics, engineering, sociology, philosophy and so on [7]. In complex situations, conventional game theoretical models can hardly be used. Hence, when the problem becomes more complex, a new perspective called "matching theory" (MT) should be used due to the difficulty of utilizing a conventional game theoretically [8]. Therefore, the machine agents can apparent their desires over the job agents, and conversely. Each machine ranks jobs in the other side based on the processing time; on the other hand, each job ranks all machines according to the setup time. Thus, the matching, which take into consideration machine assignment and job sequencing, can be performed simultaneously, not sequentially. Parallel machine scheduling problem is of NP-hard optimization problems, which could be solved using algorithmic approaches. For this purpose, we propose an approach based on MT and SA. Therefore, a representation encoding has been constructed based on two distinct alleles. The first generated allele would be regarded as our proposed algorithm. This avoids the machines assigning their resources to the jobs that are not very suitable for them and vice versa, because the scheduling and process planning were performed simultaneously, and not consecutively. The second allele will be generated by SA. The goal of this research is to present a novel method, which aims to (i) reduce the complexity of UPMSP, (ii) avoid the machines that assign their resources to the jobs that are not very suitable for them and vice versa, and (iii) allow an efficient workload balance among the machines (i.e. to avoid overloading certain machines with tasks while others remain free). To the best of our knowledge, this is the initial attempt in this direction. The remainder of this article is arranged as follows: The related works concerning PMSP and MT are introduced in Section 2. The preliminaries for UPMSP, SA, and MT are shown in Section 3. Section 4 presents the proposed hybrid algorithm SA -matching to find solution for the UPMSP with dependent setup times. Section 5 discusses the results of the experiments and evaluates the efficiency of the suggested method by comparing it with three other algorithms. In Section 6, the conclusion and future relevant works are discussed.
2. Methodological background A brief literature review of UPMSP and matching theory is provided in this section. Finally, we identify the research gap.

UPMSP
UPMSP was first proposed by McNaughton (1959) [9]. It has been a field of study for more than six decades. PMSP was shown to be an NP-hard problem. There are several PMSP reviews, including Sin and Cheng [10], Mokotoff [11], Kravchenko and Werner [12], and Edis, Oguz and Ozkarahan [13]. Exacts, heuristics and metaheuristics methods have been proposed along this direction. Few exact methods to solve PMSP have been established [14], [15], [16] and [17]. To achieve optimal solutions to small problem cases, exact approaches are convenient. For large scale problems, exact approaches are often incapable of optimizing PMSP in the reasonable time. In order to address this problem efficiently, metaheuristic and heuristic methods have been suggested to handle the well-known NP-hard UPMSP. It has been shown that metaheuristic techniques and hybrid algorithms are the most efficient and powerful alternative strategies to solve UPMSPs. Morales et al. [18] suggested an Iterated Greedy Algorithm (IGA) to minimize the overall completion time with setup times in a parallel machine scheduling problem. Bozorgirad and Logendran [19] developed Tabu-search-based algorithms for solving the problem of sequence-dependent group-scheduling using UPMSPs. Also Anagnostopoulos et al. [20] addressed UPMSPs to minimize makespan. To reach a near-optimum solution for this NP-hard with sequence-dependent setup times, SA algorithm was applied. However, the number of solutions created from the neighborhoods has increased dramatically by raising the number of works (increasing the size of the problem), which may make the algorithm (SA, for example) experience a number of weaknesses (e.g. time, efficient solution and local optimum). Therefore, interest in the development of hybrid metaheuristic algorithms has been growing over the years to solve complex problems. Similar to as a number of ressearchers such as Behnamian et al. [4], Xu et al. [21], Haddad et al. [22], Schaller [23] and Joo et al. [24],have utilized hybrid metaheuristic algorithms to outperform pure metaheuristic algorithms for various applications. Báez et al. [25] proposed a hybrid algorithm that integrates Greedy Randomized Adaptive Search Procedure (GRASP) and Variable Neighborhood Search (VNS) to reduce the total completion time in UPMSP with dependent setup time. Schaller [16] studied PMSPs with family setup time to minimize lateness. He proposed some techniques to solve the desired problem by rely on GA and Tabu-search. In the literature, there exist many research studies regarding the application of SA combined with another algorithm to solve PMSPs. Jouhari et al. [2] proposed an integrated approach based on SA and Sine Cosine Algorithm (SCA) to solve UPMSP with sequence-dependent setup times. It aims to get solutions near to optimal by updating the solutions according to their properties. Abdeljaoued et al. [26] presented two new heuristics to achieve a suitable solution and one SA metaheuristic for the purpose of improving the solution's quality for PMSPs under resource reservation limitations. A new hybridization of the symbiotic organism search algorithm with SA has been established in another study [5] to address UPMSP with sequence-based setup times.

Matching theory
Another body of research that inspired this work is collaboration between different machines in PMSPs in order to deal with the high dynamics of problem. Matching theory (MT) can be summed up in finding the stable matching between different agents by organizing the relations among them. Recently, the application of MT in various fields (e.g. economics and communication) has received increasing attention to handle resource allocation problems [8], [27], [28]. Gu, Y. et al. [29] presented the first comprehensive tutorial to provide an integrated behavior of MT towards engineering problems through defining several classes of matching scenarios and applying them in several applications drawn from the state-of-the-art research in resource allocation in wireless networks. With the aim of enhancing evolutionary algorithms, as the first work in this direction, Li, K. et al. [30] applied MT and stable matching model for organizing the selection process between sub-problems and solutions for multiobjective evolutionary algorithm based on decomposition, where sub-problems and solutions (two factors) would be able to convey their inclinations over each other. Despite the importance of this tool to develop low complexity, high performance, and decentralized protocols complex networks [8], to the best of our knowledge, there is no related research in the literature on PMSPs by MT.

Research gap
The aforementioned literature sections proved the importance of hybrid algorithms to solve UPMSP. Although metaheuristic algorithms are one of the most attractive methodologies in optimization, they cannot guarantee the optimal solution [31]. In this instance, obtaining optimal solutions seems to be very hard, particularly in the case of large-scale problems. Also, the literature showed that the hybridization of a metaheuristic with optimization techniques would greatly increase consistency of the solutions and computational performance. Diversity and convergence are critical for metaheuristic optimization in order to achieve a near-optimum solution. The proposed hybrid metaheuristic benefits from the advantages of MT and SA to deal more effectively with the UPMSP. The SA algorithm is chosen primarily because of its capability to achieve high-quality solutions in combination with its ability to search around the solution area in order not to become trapped in a local optimum [5], [32]. A further advantage of the hybridization method with SA is that it is simple to identify the neighborhood structures [32]. In contrast, to avoid the machines assigning their resources to jobs that are not very suitable for them and vice versa, MT had been applied. Therefore, MT encourages the convergence. The basic principle behind integrating these two algorithms is to balance the convergence and diversity of the algorithmic search, thereby finding a better optimum schedule for UPMSP.

Preliminaries 3.1 Problem formulation
The UPMSP with sequence-dependent setup time can be defined as follows [24]. Suppose that N = {1, . . . , n} indicates the jobs that will be handled on M = {1, . . . , m} unrelated machines. The UPMSP consists of assigning n obtained jobs to m available machines, and to decide the arrangement of the jobs on the machines that can process them in manner that keeps the total completion time is minimized. Any machine can handle any of the jobs exactly once. Additionally, each job j ∈ N has an associated processing time that relies on the machine ∈ M where it will be assigned. Furthermore, if job j is processed just after job k, the machine setup time is needed, where i represents the machine on which jobs are processed. Considering the above features of the issue, we discuss the MIP formulation for the unrelated parallel machine scheduling with sequence-dependent setup time [24]. The MIP model can be obtained as follows:

=
(1) S.T: Where, indicates completion time for job j, is the starting time of job j, is sequence-dependent setup time to handle job j after job k on machine i , and represents processing time for job j on machine i . In addition, = 1 if job j is available to producing at machine k; 0, otherwise. In addition, N represents the number of jobs, M indicates the number of machines, and V is a large positive number.
are two binary variables. is equal to 1, if job j is assigned to machine i; 0, otherwise, is equal to 1, if job k is handled after job j on machine i; 0, otherwise. The objective function (1) minimizes Makespan. Constraint (2) forces each j to be performed only by one machine. Constraint (3) allows that each job is processed after another job. Constraint (4) indicates that there is one job at most to be produced after each job on machine i. Constraint (5) specifies that a machine can process the available job. Constraint (6) specifies the time to start the job j. Constraint (7) specifies the time for completion of job j. Constraint (8) confirms that is bigger than the completion time of the work.

Simulated Annealing (SA) algorithm:
First, we introduce a SA algorithm. Our approach is based upon combining the SA algorithm with MT. The SA algorithm has been inspired from the similarity of the annealing process in metals [33]. It also uses the objective function of an optimization problem as an alternative for the energy of a material. SA has been regarded as improvement heuristic because the initial solution obtained by SA is iteratively improved upon. Sometimes, worse neighboring solutions are also accepted according to the Boltzmann's probability distribution. This procedure prevents the algorithm to stuck in any local optimum it finds in its early execution. SA performs this in a probabilistic manner. In the initial stages of optimization, worse solutions are adopted with a comparatively high probability, which decreases over time in order to reach convergence. The dynamic threshold for accepting a worse solution is defined by using probability function. By using cooling schedule scheme, which is the main parameter of the SA algorithm, the SA temperature regularly decreases from a moderately high value to near zero. When the algorithm temperature decreases to a pre-determined final value, the SA phase stops. One key weaknesses of SA is that it can require much tuning of the initial temperature and annealing schedule. Additionally, there is a clear gap between the efficiency of the solutions and the required time for calculating them [2], [26].

Matching theory
MT was first developed in a Nobel Prize winning paper, [30], and found several applications in many areas of search over time (e.g., [34]- [35]). Proposed in economics, stable matching can be an effective way to solve conflicts of interests between selfish agents of the market. The benefits of MT include: (i) an appropriate model for characterizing heterogeneous agent interactions, each having its own category, goal, and information, (ii) the capability to identify common "preferences" in order to deal with the problem complexity, (iii) a suitable solution that accurately represents various stable and optimal goals of the problem, and (iv) an effective algorithmic implementation that is essentially self-organizing and fast-moving. The stable marriage problem (SMP) proposed in [30], considers matching two groups of agents, i.e. men and women. According to his desires, each man ranks the women, and vice versa. If a match involves a woman and a man who are not paired jointly but prefer each other to their allocated partners, it is definitely undesirable. The matching that contains such pair is defined as an unstable matching because they have reasonable motivation to break up; instead they pair each other from their real marriages. Figure 1 shows an example of simple marriage problem, where m1, m2, m3 are men, and, w1, w2, w3 are women, we have listed their order of preference over the other sort around. For example, for m1, [w1, w2, w3] means that m1 ranks w1 first, w2 second, and w3 last. Some couples are linked by robust lines, e.g., (w3, m1), the other couples is linked by dashed lines, e.g., (w2, m1). Obviously, the matching {(w1, m2), (w2, m3), (w3, m1)} is stable whereas the matching {(w1, m2), (w2, m1), (w3, m3)} is unstable. The reason is that m2 prefers w3 to w1, and w3 prefers m2 to her spouse m3.

Solution Approach
This section presents the proposed approach for solving the UPMSP with sequence-dependent setup times. The proposed approach is based on combining the SA algorithm with MT to create a more efficient local search capability for the SA algorithm. Generally, it begins by creating a random solution for UPMSP. The SA then creates a new solution from the neighbor( ( )) of the original solution . The objective function (minimizing Cmax) is calculated for these two solutions. Then the difference ∆ between the fitness ( ) and fitness ( )is calculated. ∆ < 0 implies that is better than ; then is the SA current solution, and the temperature T will be reduced after a new iteration is added. If ∆ > 0, it implies is worse than ; then would be acceptable with the probability −∆ . MT is then used to improve by using its technique. The above-mentioned procedures are described in more detail below.

Solution Update
The solution update begins by choosing solution from the solution neighbor and calculates fitness ( ) (the fitness function). Then the difference ∆ between the fitness ( ) and fitness ( ) is calculated. ∆ < 0 implies that is better than ; then is the SA current solution. If ∆ > 0, it implies that is worse than then would be acceptable with the probability −∆ . The MT is using to allocate the job to the best machine that can do it. We assume that each machine has list of preferences. To make it easier, the only factor that is taken into account is the monotonic preference connection; this assumes that each machine (agent) is able to put all the jobs on the alternate side sequentially. Let ≻ denotes that machine j prefers job to , and ≻ indicates that job prefers machine to . A matching is considered to be stable under the following two circumstances: If job t could not match any machine, then no machine s tends to choose t over its current paired job. If job t matches a machine other than s, then t chooses its current match over s, so that s goes for its present pair, and not for t. In other words, pairing t with s would not offer them a better situation than when they are with their current given pairs. To make it simple, the current research defines the preference list in the following way: 1) A machine selects the job that uses its max capability, considering the cost of every capability in the system. 2) A job prefers the machine that completes it with high performance.
The mentioned preference values enable us to simply come up with two preference arranging matrices of machines and jobs ∇ , ∇ . The parts of the ℎ row in ∇ are the preference arranging of on all the tasks in t, and the parts of the ℎ row in ∇ are the preference arranging of on all the machines in s. In such an ascending order of choice preferences, all of them arising. The pseudo-code of calculating∇ , ∇ is presented in Algorithm 1.  The proposed method in the Stable Marriage Algorithm (SMA) is applied in Algorithm 2 for consistent matching between machines and jobs. Algorithm 2 starts by releasing all machines and jobs (i.e., machines and jobs are not matched to any one on the other side). In Algorithm 2, ̅ ℎ = ∅ indicates that the job is set free, and 1 indicates that it is connected. In a comparable scenario, ̅ ℎ [ ] represents that is free, and ∅( , ) = 0 indicates that has not offered to choose formerly as a partner. On the other hand, 1 indicates that it has carried out so. Line 6 requests Algorithm 1 to calculate ∇ , ∇ . The algorithm randomly selects machine and figures out the highest−ranking job , to which has still not suggested; this happens in the main while-loop when several machines are still set free (line 8 to line 9). If is also free, then and tj would be connected with each other (line 11 to line 13). Under the condition that is not free, separates from its present pair and pairs with provided that ≻ (line 15 to line 17). The main while-loop finishes exactly when N machine-job couples have been created; putting it in another way, it gives no free machine. [∇ , ∇ ] computing preference list 7: While some tasks are still not matched, do 8: Randomly choose task from ̅ ℎ ; 9: Find , s most preferred system with ∅( , ) = 0; 10: ∅( , ) → 1;

Computational Results
In this part, we introduce a set of tests to show that the suggested meta-heuristic overrates the other meta-heuristics discussed in this paper. Therefore, the outcome of the suggested algorithm is contrasted with the other three algorithms: GA, SA, and Population-based Simulated Annealing ( ).

Cases of tests
Since we did not found any prominent benchmark in the literature for the problem studied, we generated 16 test instances for two problems, and also allocated to each problem its own machine and job group. Numbers of machines for two problems are 4, 6, 8 and 16. The first problem has 16, 30, 40 and 80 jobs, and the second problem has 40, 80, 100 and 200 jobs. The processing times were uniformly generated ( = [10,60]) for 16 instances. Each proposed meta-heuristic was addressed with the MATLAB software by a computer with 3 GHz processor and 1 GB of RAM. To determine the parameter settings of meta-heuristic, we considered common parameter settings in the literature. For the suggested GA, the mutation probabilities and crossover were set as 0.15 and 0.85, respectively. We initially set the temperature and the temperature reduction rate of the proposed SA_MATCH, SA and as 10 and 0.8, respectively.

Comparative analysis of algorithms
To evaluate the quality of the results of the applied algorithms, we considered the Relative Percentage Deviation (RPD) [36], which considers the most common performance measure and is computed as follows: Where, ℎ is the average value of the solution, which is obtained by an assigned method, and is the best solution obtained amongst all the other ways or the best known solution. RPD value closer to zero produces the best results.
is obtained by running a particular algorithm five times for a specific problem, and ℎ is the final average solution for all the five runs given by the algorithm.
Overall, we tested the algorithms for 320 runs (four algorithms * 16 examples * five runs per instance). Table 1 provides the results of this study. Each row indicates example test, and its columns indicate the values of mean RPD and MAD for the corresponding algorithm.    Table 1 illustrates the results of the average of Cmax. As clearly shown, the proposed algorithm can obtain the smallest Cmax among all the test problems, especially for big size problems. Table 2 presents the mean RPD and MAD of the five replications for 4, 6, 8 and 16 machines for SA_MATCH, GA, SA and . The results of the proposed algorithm give the best performance with a lower value of RPD and MAD. On average, it gives a better result in comparison with its opponents. In order to justify the outcomes, a set of statistical significance tests of the perceived variances in the RPD values of each applied algorithm were carried out. Since SA_MATCH, SA and give very lower RPD with smaller variance than GA, it is much demanding to point out the variances between SA_MATCH, SA and . Therefore, we decided to eliminate GA from the statistical tests. Figure 3 displays the mean plots and Tukey HSD intervals at 95% confidence level for the all problems given in Table 2. Figure 3 shows the mean plots and 95% confidence level Tukey HSD intervals for all issues given in Table 2. Figure 3 illustrates that there are variations statistically observable between the RPD values in all the applied algorithms. The plots show that the RPD in SA_MATCH is remarkably different with that in SA_MATCH, SA and , because the number of jobs per machine and the number of machines increase, as illustrated in Figs 4 and 5. These results are due to the fact that the proposed hybrid algorithm does not check for the filled spaces. In addition, it has both intensification and diversification mechanisms and works well at the same time. Hence, SA_MATCH proves to be an effective approach for solving parallel machine scheduling for any problem size comparing to GA, SA and . The proposed algorithm has the following advantages: speed of execution, ease of implementation and better response. The outcomes of the implementation of the suggested algorithm for several problem instances showed that it works better than the SA, GA and algorithms, especially in large size problems.
Among the benefits of the proposed meta-heuristic are the following: • simple algorithm structure • ability to evade local optimizations • extensive searchable answer space • algorithm convergence mechanism in problem generation method.

Conclusion
The presented work presents a new brand approach to improve the efficacy of scheduling in a parallel machine in manufacturing systems. This algorithm is grounded upon integrating the SA algorithm with the matching theory (MT). The most important part of this hybrid algorithm is to produce new answer formulas from the best current answer. Another feature is allocation of jobs to the best machine that can do it. We assumed that each machine has a list of preferences, meaning that one machine can rank all of its jobs. For simplicity, this article defines priority in the following way. A machine prefers a job with small processing time. Conversely, a job prefers a system that has less setup time. One of the main strength points of the algorithm is that it has both diversification and convergence mechanisms and works well at the same time. The results of the suggested algorithm, with low RPD values, produced the best efficiency and provided better results than the average of its opponents. It was also found that the proposed algorithm has a significant difference with other algorithms in terms of providing near optimal solution, especially for large size problems.
In conclusion, SA_MATCH proved to be an efficient method for solving parallel machine scheduling for any problem size comparing to GA, SA and . As future works, this algorithm can be expanded to be applied to various problems, as well as One-to-Many Matching or Many-to-Many Matching.