A Two-Level Metaheuristic for the Job-Shop Scheduling Problem with Multipurpose Machines

This paper proposes a two-level metaheuristic consisting of lower- and upper-level algorithms for the job-shop scheduling problem with multipurpose machines. The lower-level algorithm is a local search algorithm used for ﬁnding an optimal solution. The upper-level algorithm is a population-based metaheuristic used to control the lower-level algorithm’s input parameters. With the upper-level algorithm, the lower-level algorithm can reach its best performance on every problem instance. Most changes of the proposed two-level metaheuristic from its original variants are in the lower-level algorithm. A main purpose of these changes is to increase diversity into solution neighborhood structures. One of the changes is that the neighbor operators of the proposed lower-level algorithm are developed to be more adjustable. Another change is that the roulette-wheel technique is applied for selecting a neighbor operator and for generating a perturbation operator. In addition, the proposed lower-level algorithm uses an adjustable delay-time limit to select an optional machine for each operation. The performance of the proposed two-level metaheuristic was evaluated on well-known benchmark instances. The evaluation’s results indicated that the proposed two-level metaheuristic performs well on most benchmark instances.


Introduction
e job-shop scheduling problem (JSP) is a well-known NP-hard optimization problem [1][2][3]. JSP involves scheduling jobs onto machines in order to minimize makespan, i.e., the schedule's length. Each job consists of a number of operations, where each operation must be processed on a predetermined machine with a predetermined processing time. To complete each job, all of its operations must be processed in the sequence from the first to the last operations. JSP has many variants and related problems, such as [4][5][6][7]. One of the well-known variants of JSP is the job-shop scheduling problem with multipurpose machines (MPMJSP) [8][9][10]. MPMJSP is defined as a generalized variant of JSP. An only difference between them is that each operation in JSP has only one predetermined machine, while each operation in MPMJSP may have more than one optional machine. is difference makes MPMJSP be closer to the real-world applications in modern factories than JSP because, nowadays, most machines have been developed for multiple tasks.
In this paper, the research's objective is to develop a high-performing algorithm for MPMJSP. To do so, this paper proposes a two-level metaheuristic, based on the framework of [5,11,12], consisting of upper-and lowerlevel algorithms. e upper-level algorithm is a populationbased metaheuristic that acts as a parameter controller for the lower-level algorithm. e upper-level algorithm's population consists of the parameter-value combinations of the lower-level algorithm. In a parameter-value combination, each parameter's value is iteratively changed by a sum of two changeable opposite-direction vectors. e directions of the first and the second vectors are toward and away from, respectively, the memorized best-found value. e lowerlevel algorithm is a local search algorithm searching for an optimal solution of the being-solved MPMJSP problem. Like other metaheuristics, the lower-level algorithm cannot perform its best on all instances with a single combination of input-parameter values.
is drawback can be overcome when its input parameters are controlled by the upper-level algorithm.
e proposed two-level metaheuristic is modified from its original variant [12], where the main differences are in their lower-level algorithms. eir lower-level algorithms both search for an optimal solution in hybrid neighborhood structures via their optional operators. eir optional neighbor operators are similarly modified from the traditional operators (i.e., swap, insert, and reverse) by limiting a distance between positions of two members selected in a solution-representing permutation. However, while the lower-level algorithm of [12] has only three levels of the distance limit, the distance limit in this paper is adjustable to any possible range. Another main difference is in their methods of generating their hybrid neighborhood structures. To generate each neighbor solution-representing permutation, the lower-level algorithm of [12] uses a given probability to select one of two neighbor operators. Instead, the proposed lower-level algorithm uses the roulette-wheel method [13] to select one from three neighbor operators. In this paper, the roulette-wheel method is also applied to select multiple optional operators for generating a perturbation operator. A purpose of using the roulette-wheel method is to diversify more on the hybridization of the neighborhood structure.
As mentioned, each operation in MPMJSP has one or more optional machines. e lower-level algorithm proposed in this paper uses the delay-time limit (δ), as its input parameter, to make a criterion of selecting a machine for each operation. is use of δ is different from the uses of δ in the other researches, e.g., [10,11,[14][15][16][17]. While the proposed lower-level algorithm uses δ to select a machine for each operation, the other researches use δ to select an operation into a timetable. A method of generating a schedule of the proposed lower-level algorithm is briefly presented as follows: First, an appearance order of all operations in a solution-representing permutation is used as a priority order for all operations. en, every operation is assigned one-by-one into a schedule by the given priority order. When being assigned, each operation must be processed on the machine that satisfies δ, and it must be started as early as the machine can. e remainder of this paper is divided into five sections. Section 2 describes MPMJSP and reviews the previous researches relevant to the proposed two-level metaheuristic. Section 3 describes the proposed two-level metaheuristic in detail. Section 4 shows experiment's results of evaluating the proposed two-level metaheuristic's performance. Section 5 then analyzes and discusses the experiment's results. Finally, Section 6 concludes the research's findings.

Preliminaries
In this section, the description of MPMJSP is given in Section 2.1, and the review on the previous researches relevant to the proposed two-level metaheuristic is given in Section 2.2.

Description of MPMJSP.
e job-shop scheduling problem with multipurpose machines (MPMJSP) is classified as a generalization of the job-shop scheduling problem (JSP). An only difference between JSP and MPMJSP is their numbers of optional machines of each operation. at is, while each operation in JSP has only one predetermined machine, each operation in MPMJSP has one or more optional machines. MPMJSP thus becomes JSP if each of its operations has only one optional machine. A similar variant of MPMJSP is the flexible job-shop scheduling problem (FJSP) [18,19]. MPMJSP and FJSP both are the JSP's variants where each operation may have more than one optional machine. However, the processing time of an operation in FJSP may change when changing its selected optional machine, while the processing time of each operation in MPMJSP is fixed for all of its optional machines. is means MPMJSP is a specific FJSP where, for each operation, all optional machines have the same processing time.
Notation used to describe MPMJSP in this paper is defined below:  must be processed by one of E ik1 , E ik2 , . . ., E ikm ik with the processing time of τ ik . Each machine cannot process more than one operation at a time, and it cannot be stopped during processing an operation. At the beginning (i.e., time 0), all jobs have already arrived, and all machines have not been occupied. An optimal schedule is a feasible schedule that minimizes makespan (i.e., the schedule's length).

Complexity
MPMJSP was first introduced by Brucker and Schlie [8]. ey also proposed a polynomial-time algorithm for MPMJSP with two jobs. MPMJSP with three jobs belongs to NP-hard problem even if the number of all machines is two [9]. Tabu-search algorithms were developed by [9] for solving three sets of MPMJSP benchmark instances, i.e., Edata, Rdata, and Vdata. Since then, these three instance sets have been commonly used for comparing results of different algorithms on MPMJSP. To date, many algorithms have been developed for solving MPMJSP and its closely related problems [10,[18][19][20][21].

Previous Relevant Researches.
Iterated local search is traditionally defined as a single-solution-based metaheuristic that can search for a global optimal solution. During an exploration, it uses a neighbor operator repeatedly to find a local optimum and then uses a perturbation operator to escape the found local optimum. Note that a perturbation operator stands for an operator that generates a new initial solution by largely modifying a found local optimal solution [22]. Some untraditional iterated local search algorithms are enhanced in their performance by using multiple initial solutions [23,24]. e iterated local search algorithms have been successful on many optimization problems, including MPMJSP and FJSP [25,26].
In iterated local search and related algorithms, there are three operators usually used as neighbor operators and perturbation operators. ese three operators are the traditional swap, insert, and reverse operators [27]. To explain the mentioned operators, let u and v be two different integers randomly generated from 1 to D, where D represents the number of all members in a solution-representing permutation. e swap operator is to swap between the two members in the u-th and the v-th positions of the permutation. e insert operator is to remove a member from the u-th position of the permutation and then insert it back at the v-th position. e reverse operator is to reverse the sequence of all members from the u-th to the v-th positions of the permutation.
A common drawback of most metaheuristics is that their performance is dependent on their parameter-value settings. To overcome such a drawback, many applications use upperlevel algorithms to control parameters of their solutionsearching algorithms [11,12,14,15,[28][29][30][31]. Some of them, e.g., [5], require more than two levels of algorithms for very complicated problems; however, most of them require only two levels. For solving JSP, there are two two-level metaheuristics acting as adaptive iterated local search algorithms [11,12]. In each of the two-level metaheuristics, the upperlevel algorithm controls the lower-level algorithm's input parameters, while the lower-level algorithm is a local search algorithm searching for an optimal job-shop schedule.
UPLA and MUPLA are the upper-level algorithms in [11,12], respectively; they both are population-based algorithms searching in real-number search spaces. In each of them, the population is a number of the parameter-value combinations of the lower-level algorithm. In a parametervalue combination, each parameter's value is iteratively changed by a sum of two changeable opposite-direction vectors. e first vector's and the second vector's directions are toward and away from, respectively, the memorized bestfound value. In only MUPLA, each parameter-value combination includes a different start operation-based permutation; thus, the two-level metaheuristic of [12] has a multistart property. LOLA, the lower-level algorithm in [11], is a local search algorithm exploring in a solution space of parameterizedactive schedules (i.e., hybrid schedules [16]). Its input parameters (i.e., a delay-time limit, a scheduling direction, a perturbation operator, and a neighbor operator) are controlled by UPLA, its upper-level algorithm. Because the delay-time limit (δ) is one of the input parameters controlled, UPLA then can control the solution space's size of parameterized-active schedules. Such a control of δ follows in the successes of the two-level PSOs of [14,15]. Other techniques of controlling δ can also be found in literature. For example, the value of δ in [10] is dependent on the number of jobs and the number of machines, while the value of δ in [17] is dependent on the algorithm's iteration index. In addition, the PSO in [32] controls the value of δ by using the concept of self-adaptive parameter control [28]. LOSAP, the lower-level algorithm in [12], is a local search algorithm searching in a probabilistic-based hybrid neighborhood structure. By a given probability, LOSAP randomly uses one from two predetermined operators to generate a neighbor solution-representing permutation. In other words, based on the given probability, LOSAP can switch between the two given operators anytime during its exploration. While the search performance of LOLA [11] is mainly based on its special solution space, that of LOSAP is mainly based on its hybrid neighborhood structure. LOSAP has multiple optional operators for its perturbation and neighbor operators. ese optional operators are modified from the traditional operators by limiting the distance of v from u. For generating v in LOSAP, there are three optional distance-limit levels:

Proposed Two-Level Metaheuristic
For solving MPMJSP, this paper proposes the two-level metaheuristic consisting of the lower-and upper-level algorithms. In this section, MPM-LOLA and MPM-UPLA represent the lower-level algorithm and the upper-level algorithm, respectively. e description of MPM-LOLA is given in Section 3.1, and the description of MPM-UPLA is given in Section 3.2.
3.1. MPM-LOLA. MPM-LOLA, as a variant of LOLA [11] and LOSAP [12], is a local search algorithm exploring in a hybrid neighborhood structure. Similar to LOLA and LOSAP, MPM-LOLA generates its neighborhood structure by using multiple optional operators. However, there are many changes of MPM-LOLA from its older variants. Although MPM-LOLA uses the delay-time limit (δ) like LOLA does, it uses δ in different way and purpose. While LOLA Complexity 3 uses δ to select an operation, MPM-LOLA uses δ to select an optional machine for each operation. In the remaining other parts, MPM-LOLA is more similar to LOSAP than LOLA. e major changes of MPM-LOLA from LOSAP are summarized below: (i) While the LOSAP's solution-decoding method generates JSP's solutions, the MPM-LOLA's solution-decoding method generates MPMJSP's solutions. (ii) MPM-LOLA is similar to LOSAP in that its optional operators are modified from the traditional operators by limiting the distance of v from u. However, while LOSAP has only three levels of distance limit, the distance limit of MPM-LOLA is adjustable to any possible range. (iii) Unlike LOSAP, MPM-LOLA applies the roulettewheel method to select a neighbor operator. It also applies the roulette-wheel method to select optional operators for generating a perturbation operator.
For the purpose of clarification, the description of MPM-LOLA is divided into two parts: a description of its solutiondecoding method and a description of its overall procedure. e solution-decoding method is described in Section 3.1.1, and the overall procedure is described in Section 3.1.2.

Solution-Decoding
Method. MPM-LOLA decodes a solution-representing permutation into a schedule by using the delay-time limit (δ) and the tiebreak criterion (TB). Note that TB is used only if there is more than one optional machine that satisfies δ. In this paper, every solution-representing permutation is in a form of the operation-based permutation [33,34]. An operation-based permutation is a permutation of numbers 1, 2, . . ., n where the number i (i � 1, 2, . . ., n) appears n i times. Remind that n and n i denote the number of all jobs and the number of all operations of the job J i , respectively. In the permutation, the number i in its k-th appearance represents the operation O ik . en, a schedule is constructed by scheduling all operations one-by-one in the order given by the permutation. Each operation must be processed by its optional machine that satisfies δ and TB, and it must be started as early as this machine can. It is noticed that the use of δ in this paper is different from those in the other researches, e.g., [10,11,[14][15][16]. While MPM-LOLA uses δ to select an optional machine for each operation, the other researches use δ to select an operation into the timetable.
As mentioned above, δ ∈ [0, 1) and TB ∈ {lowest, highest} are used to select an optional machine for each operation. If δ = 0, each operation must be processed on its optional machine that can start processing earliest. When the value of δ is assigned larger, the maximum delay-time allowed for each operation is then longer; consequently, it may increase the number of optional machines that satisfy δ for each operation. If there is more than one optional machine that satisfies δ, then TB is required as a tie breaker. If TB is selected to be lowest, the lowest-indexed optional machine that satisfies δ is selected; otherwise, the highest-indexed optional machine that satisfies δ is selected. Algorithm 1 presents the solution-decoding method used by MPM-LOLA. e algorithm uses δ and TB, as its input parameters, to transform an operation-based permutation into an MPMJSP's solution. Note that Algorithm 1 may return a different schedule from the same operationbased permutation if the values of δ and TB are changed. Notation used in Algorithm 1 is defined below: (i) Let D denote the number of all operations in the being-solved MPMJSP instance. us, D = n 1 + n 2 + . . . + n n , where n i is the number of all operations of the job J i (i = 1, 2, . . ., n).
(ii) Let U denote the sequence of operations transformed from the operation-based permutation.
(iii) Let Φ denote the schedule transformed from U.
(iv) Let O i′k′ denote the k′-th operation of the job J i′ , and it represents the as-yet-unscheduled operation that is currently in its turn to be scheduled.
(v) Let m i′k′ denote the number of all optional machines of O i′k′ .
(vii) Let E denote the chosen machine for processing O i′k′ . is machine must be chosen from all E i′k′l (l = 1, 2, . . ., m i′k′ ). (viii) Let δ be a real number within [0, 1) and denote the delay-time limit. (ix) Let TB ∈ {lowest, highest} denote the tiebreak criterion for selecting an optional machine to process O i′k′ . It is used only if there is more than one optional machine that satisfies δ. If TB = lowest, let E be the machine with the lowest l from all E i′k′l (where l = 1, 2, . . ., m i′k′ ) that satisfy δ.
If TB = highest, let E be the machine with the highest l from all E i′k′l (where l = 1, 2, . . ., m i′k′ ) that satisfy δ. Before an execution, eight MPM-LOLA's input parameters must be assigned values. e first input parameter, denoted by P, is the start operation-based permutation.
e remaining seven input parameters consist of two parameters for specifying a perturbation operator, three parameters for generating its neighbor operators, and two parameters for selecting an optional machine. In MPM-LOLA, the perturbation operator is to randomly use one from D-swap, D-insert, and D-reverse on the start operation-based permutation n times (remind that n denotes the number of all jobs). In each of these n random selections, the roulette-wheel technique is applied to select one from D-swap, D-insert, and D-reverse. e probabilities of selecting D-swap and D-insert in the roulette wheel are the second and the third input parameters of MPM-LOLA, respectively. Consequently, the probability of selecting D-reverse is unity subtracted by the sum of the probabilities of selecting D-swap and D-insert. e fourth to the sixth input parameters are used to generate MPM-LOLA's neighbor operators (i.e., d-swap, dinsert, and d-reverse). e fourth input parameter, denoted by d, is the distance limit of v from u for specifying d-swap, d-insert, and d-reverse. en, MPM-LOLA uses the roulettewheel technique to randomly select one from d-swap, dinsert, and d-reverse to generate a neighbor solution-representing permutation. In the roulette wheel, the probabilities of selecting d-swap and d-insert are the fifth and the sixth input parameters, respectively. e probability of selecting d-reverse is thus unity subtracted by the sum of the probabilities of selecting d-swap and d-insert. e delay-time limit (δ) and the tiebreak criterion (TB) are the MPM-LOLA's seventh and eighth input parameters, respectively. ese two input parameters are used to select an optional machine for each operation in constructing a schedule. us, instead of using δ and TB by MPM-LOLA itself, MPM-LOLA transfers the values of δ and TB into its solution-decoding method (Algorithm 1). e overall procedure of MPM-LOLA is given in Algorithm 2. Notation used in Algorithm 2 is defined below: Step 1. Receive a δ's value, a TB's value, and an operation-based permutation needed to be transformed from MPM-LOLA (Algorithm 2).
Step 2. Transform the operation-based permutation taken from Step 1 into U by changing the number i in its k-th appearance into the operation O ik (i � 1, 2, . . ., n; k � 1, 2, . . ., n i ). For example, the operation-based permutation ( Step 3. Transform U into Φ by using Steps 3.1 to 3.6.
Step 3.2. Let O i′k′ ⟵ the leftmost as-yet-unscheduled operation in U.
Step 3.4. Let E ⟵ the machine, chosen from all E i′k′l (l � 1, 2, . . ., m i′k′ ), that can start processing not-later-than σ + δτ i′k′ . If there is more than one machine that can be chosen as E, then choose one of them that has the lowest l if TB � lowest; otherwise, choose one of them that has the highest l.
Step 3.5. Modify Φ by assigning E to process O i′k′ . In the schedule, let E start processing O i′k′ as early as possible.
Step 3.6. If t < D, then t ⟵ t + 1 and repeat from Step 3.2. Otherwise, go to Step 4. (v) Let δ, which is a real number within [0, 1), denote the delay-time limit for selecting an optional machine for each operation. (vi) Let TB ∈ {lowest, highest} denote the tiebreak criterion for selecting an optional machine for each operation. (vii) Let P denote the start operation-based permutation. (viii) Let P 0 denote the current best-found operationbased permutation. An initial P 0 is generated from P via the perturbation operator. (ix) Let S 0 , which is decoded from P 0 , denote the current best-found schedule. In addition, Makespan(S 0 ) stands for the makespan of S 0 . (x) Let P 1 denote the current neighbor operationbased permutation. (xi) Let S 1 , which is decoded from P 1 , denote the current neighbor schedule. In addition, Makespan(S 1 ) stands for the makespan of S 1 .

MPM-UPLA.
MPM-UPLA is an upper-level algorithm of the proposed two-level metaheuristic. It uses the same framework of the upper-level algorithms of [11,12]. MPM-UPLA is thus a population-based search algorithm that acts as a parameter controller. It evolves the MPM-LOLA's input-parameter values, so that MPM-LOLA can return its best performance on every single MPMJSP instance. At the t-th iteration, the MPM-UPLA's population consists of N combinations of the MPM-LOLA's input-parameter values, i.e., C 1 (t), C 2 (t), . . ., C N (t). In short, let a parameter-value combination stand for a combination of the MPM-LOLA's input-parameter values. Let C g (t) ≡ (c 1g (t), c 2g (t), . . . , c 9g (t)) denote the g-th parameter-value combination (where g = 1, 2, . . ., N) in the population at the t-th iteration. It represents the value combination of the MPM-LOLA's input parameters, i.e., P, ρ S , ρ I , d, ρ NS , ρ NI , and TB. e delay-time limit, δ, is an important MPM-LOLA's input parameter controlled by MPM-UPLA. However, the value of δ is not assigned as a member in C g (t), but it is controlled by the MPM-UPLA's iteration index, t. At the first MPM-UPLA's iteration (t � 1), the value of δ is set to be 0.0 for MPM-LOLA. For every next 50 MPM-UPLA's iterations, the value of δ is increased by 0.2 for MPM-LOLA.
is setting of δ was based on the result of a preliminary study of this research. It found that the control of δ using the MPM-UPLA's iteration index usually performs better than the control of δ using C g (t).
e transformations from the C g (t)'s members into MPM-LOLA's parameter values are described below: (i) Let c 1g (t) represent P. In other words, P is directly equal to c 1g (t) in the transformation.
(ii) Let c 2g (t), c 3g (t), and c 4g (t) ∈ R be used together to determine the values of ρ S and ρ I . eir transformations are given in (1) and (2).
Step 2. Generate P 0 from P by using Steps 2.1 to 2.4.
Step 2.3. Modify P by using D-swap if p < ρ S , D-insert if ρ S ≤ p < ρ S + ρ I , and D-reverse otherwise.
Step 2.4. If r < n, let r ⟵ r + 1 and repeat from Step 2.2. Otherwise, let P 0 ⟵ P and go to Step 3.
Step 3. Execute Algorithm 1, with the taken values of δ and TB, for transforming P 0 into S 0 .
Step 4. Find a local optimal schedule by using Steps 4.1 to 4.5.
Step 4.3. Generate P 1 from P 0 by using d-swap if p < ρ NS , d-insert if ρ NS ≤ p < ρ NS + ρ NI , and d-reverse otherwise.
Step 4.4. Execute Algorithm 1, with the taken values of δ and TB, for transforming P 1 into S 1 .
Step 4.5. Update P 0 , S 0 , and t L by using Steps 4.5.1 to 4.5.3.
Step 5. Return P 0 and S 0 as the final (best-found) operation-based permutation and the final (best-found) schedule, respectively, to MPM-UPLA (Algorithm 3). ALGORITHM 2: MPM-LOLA's procedure. 6 Complexity (2) (iii) Let c 5g (t) ∈ R be used to determine the value of d. In its transformation, let d be equal to the rounded integer from 1 + Dc 5g (t), where D is the number of all operations in the MPMJSP instance. After that, c 7g (t), and c 8g (t) ∈ R be used together to determine the values of ρ NS and ρ NI . eir transformations are given in (3) and (4).
(v) Let c 9g (t) ∈ R be used to determine the value of TB. (ii) Let C g (t) ≡ (c 1g (t), c 2g (t), . . . , c 9g (t)) denote the g-th parameter-value combination (where g = 1, 2, . . ., N) in the MPM-UPLA's population at the t-th iteration. (iii) Let Score(C g (t)) denote the performance score of C g (t). Note that the lower the performance score, the better the performance. (iv) After executing MPM-LOLA with the parameter values given by C g (t), let its final (best-found) operation-based permutation and final (bestfound) schedule be denoted by P fg (t) and S fg (t), respectively. (v) Let Makespan(S fg (t)) denote the makespan of S fg (t). (vi) Let C best ≡ (c 1best , c 2best , . . ., c 9best ) denote the best parameter-value combination ever found by the population. In addition, let Score(C best ) denote the performance score of C best . (vii) Let S best denote the best schedule ever found by the population.

Experiment's Results
In this paper, an experiment was conducted to compare MPM-UPLA's results with those of TS, PSO, and CP. Let TS, PSO, and CP represent the tabu-search algorithm [9], the particle swarm optimization algorithm [10], and the ILOG constraint programming optimizer [20], respectively. ese three algorithms were chosen because they perform well on the same benchmark instance sets used in this paper's experiment. In Sections 4 and 5, let MPM-UPLA stand for the whole two-level metaheuristic, i.e., MPM-UPLA combined with MPM-LOLA. e reason is that MPM-UPLA uses MPM-LOLA as its component when solving MPMJSP.
In the comparison, this paper's experiment used three benchmark instance sets, i.e., Edata, Rdata, and Vdata, taken from [9,20,21]. Each instance set consists of 66 instances, modified from the well-known JSP benchmark instances [35][36][37][38][39]. e difference among the three instance sets is the number of optional machines of each operation in their instances. In Edata, the average number of optional machines of each operation is 1. (ii) e stopping criterion of MPM-UPLA was to stop when any of the below conditions was satisfied: (a) e 1,000-th iteration (i.e., t � 1,000 in Algorithm 3) was reached. (b) e 150-th minute of computational time was reached. (c) e known optimal solution was found. If the optimal solution has been yet unknown, its lower bound [20,21] was used instead.
With the above settings, the experiment's results on Edata, Rdata, and Vdata are presented in Tables 1 to 3, respectively. ese tables first show the name, size, and best-known solution value of each instance. e best-known solution value, given by literature, stands for the upper bound of the optimal solution value. For each instance, each table then shows the best-found solution values of TS [9], PSO [10], CP [20], and MPM-UPLA. e best-found solution values of TS, PSO, and CP are their best solution values taken from their original articles [9,10] and [20], respectively. For MPM-UPLA, its best-found solution value on each instance is a minimum of the best-found solution values from its five trials in this experiment. Each table also shows an average of the best-found solution values, the average number of used iterations, and the average computational time from the MPM-UPLA's five trials on each instance.

Complexity 7
Notation and terminologies used for each instance in Tables 1 to 3 [20,21]. If the bestknown solution value has been proven to be an optimal solution value, it is presented without parentheses. Otherwise, it is an upper bound of the optimal solution value and is presented within parentheses. For each instance set, Table 4 shows Avg %BD of each algorithm on each instance category. Of each algorithm, %BD of each instance denotes a percent deviation of the best-found solution value from the best-known solution value. en, Avg %BD denotes an average of %BDs of all instances in their category. In Table 4, each instance is classified into one of 13 instance categories, based on its source and size. e details of these 13 categories are given below: (v) LA16-20 consists of five 10-job/10-machine instances, i.e., LA16, LA17, . . ., LA20.
Step 1. Receive a value of N and a stopping criterion from a user. Let t ⟵ 1, δ ⟵ 0.0, and Score(C best ) ⟵ + ∞.
Step 2.2. Randomly generate c 1g (t) from any possible operation-based permutation.
Step 2.4. If g < N, let g ⟵ g + 1 and repeat from Step 2.2. Otherwise, go to Step 3.
Step 3. Evaluate Score(C g (t)), and update C best and S best by using Steps 3.1 to 3.6.
Step 3.2. Transform C g (t) into the values of P, ρ S , ρ I , d, ρ NS , ρ NI , and TB.
Step 3.3. Execute MPM-LOLA (Algorithm 2) with the last-updated values of P, ρ S , ρ I , d, ρ NS , ρ NI , TB, and δ in order to receive P fg (t) and S fg (t).
Step 3.5. If Score(C g (t)) ≤ Score(C best ), then let C best ⟵ C g (t), Score(C best ) ⟵ Score(C g (t)), and S best ⟵ S fg (t).
Step 4.5. If g < N, then let g ⟵ g + 1 and repeat from Step 4.2. Otherwise, go to Step 5.
Step 5. If the stopping criterion is not met, then let t ⟵ t + 1 and repeat from Step 2. Otherwise, return S best as the final result to the user. ALGORITHM 3: MPM-UPLA's procedure. 8 Complexity      In addition to the 13 categories, Table 4 includes four more instance categories, i.e., M6-LA40, SM-M6-LA40, M6-ORB10, and SM-M6-ORB10. ese additional categories were used for comparing performance of the algorithms. SM in SM-M6-LA40 and SM-M6-ORB10 indicates that these categories contain only small-to-medium instances. Let instances be defined as small-to-medium instances if their nm < 150 and large instances otherwise (where n � the number of jobs and m � the number of machines). e details of these four additional categories are given below: (i) M6-LA40 consists of the first 43 instances of all 66 instances, starting from M6 to LA40. ese 43 instances were used by TS [9] and PSO [10] in their original articles. (ii) SM-M6-LA40 consists of all 23 small-to-medium instances from M6-LA40. (iii) M6-ORB10 consists of all 66 instances, starting from M6 to ORB10. ese 66 instances were used by CP [20] in its original article. (iv) SM-M6-ORB10 consists of all 43 small-to-medium instances from M6-ORB10.

Result Analysis and Discussion
is section analyzes and discusses the results shown in Section 4. Like Section 4, MPM-UPLA in this section stands for the whole two-level metaheuristic, i.e., MPM-UPLA e performance of MPM-UPLA was compared with the performance of TS [9], PSO [10], and CP [20] via three performance indicators. ese indicators are the number of instances achieved in finding the best-known solutions, the number of instances won by an algorithm against another, and the average percent deviation of the algorithm's best-found solution value from the bestknown solution value (Avg %BD). Of each instance, the bestknown solution value means the best solution value found by the published literature. An only exception is in LA31 of Rdata, where its best-known solution value was taken from the best-found solution value of MPM-UPLA. e reason is that, in LA31 of Rdata, MPM-UPLA found the better solution than the previously published best-known solution.
For each instance set, this section separates analyses on the first 43 instances from those on all 66 instances. e reason is that the results of TS and PSO were given on only the 43 instances in their original articles [9,10], while the results of CP were given on the 66 instances in its original article [20]. In addition, this section separates analyses on small-to-medium instances from those on all given instances. Note that all instances with nm < 150 are defined as small-to-medium instances (where n = the number of jobs and m = the number of machines). Sections 5.1 to 5.3 show the analyses and discussions via the three given indicators. en, Section 5.4 provides an overall summary from Sections 5.1 to 5.3. is value is defined as the optimal solution value because it equals the optimal solution value's lower bound given in [20].  us, as a conclusion, MPM-UPLA outperforms TS, PSO, and CP in finding the best-known solutions on all three instance sets, especially Rdata. On Rdata, the number of instances achieved by MPM-UPLA is more than double the number of instances achieved by each of the others. Moreover, MPM-UPLA also found the new best-known solution value on LA31 of Rdata.

e Number of Instances Won.
is section first compares the number of instances won by MPM-UPLA with those by TS, PSO, and CP on the first 43 instances of each instance set. Note that in the first 43 instances, there are 23 small-to-medium instances included. e numbers of instances won in Edata, Rdata, and Vdata were counted from Tables 1, 2 As a conclusion, in terms of the number of instances won, MPM-UPLA outperforms the three other algorithms on Edata and Rdata. For Vdata, MPM-UPLA outperforms TS and PSO but underperforms CP. However, when considering only small-to-medium instances, MPM-UPLA outperforms CP on Vdata.

Avg %BD.
is section analyzes Avg %BDs in Table 4. To do so, it first analyzes Avg %BDs of the first 43 instances of each instance set. en, it analyzes those of the 23 small-tomedium instances of the first 43 instances. In Table 4, the rows M6-LA40 and SM-M6-LA40 provide Avg % BDs of the first 43 instances and those of the 23 small-to-medium instances, respectively. For Avg %BDs of the first 43 instances, MPM-UPLA outperforms the three other algorithms on Edata and Rdata, but it underperforms the three other algorithms on Vdata. When considering only the 23 small-to-medium instances, MPM-UPLA obviously outperforms the three other algorithms on all three instance sets. Of each instance set, the analysis results are detailed below: (i) For the first 43 instances of Edata, MPM-UPLA's Avg %BD (i.e., 0.24%) is much better than those of TS, PSO, and CP (i.e., 3.16%, 2.26%, and 0.69%, respectively). Based on these 43 instances, paired t tests concluded that the mean %BD of MPM-UPLA is significantly better than those of TS, PSO, and CP (with p values of 3 × 10 −10 , 1 × 10 −8 , and 0.0002, respectively). When considering only the 23 smallto-medium instances, MPM-UPLA's Avg %BD (i.e., 0.02%) is also much better than those of TS, PSO, and CP (i.e., 2.07%, 0.65%, and 0.27%, respectively).
Of each instance set, this section then compares Avg % BDs of MPM-UPLA and CP from all 66 instances and from their 43 small-to-medium instances. In Table 4, the rows M6-ORB10 and SM-M6-ORB10 provide Avg %BDs of all 66 instances and those of the 43 small-to-medium instances, respectively. For all 66 instances, MPM-UPLA outperforms CP on Edata and Rdata, but it underperforms CP on Vdata. However, when considering only the 43 small-to-medium instances, MPM-UPLA obviously outperforms CP on all three instance sets. Of each instance set, the comparison results are detailed below: (i) For all 66 instances of Edata, MPM-UPLA's Avg % BD (i.e., 0.26%) is better than CP's Avg %BD (i.e., 0.96%). A paired t-test concluded that the mean % BD of MPM-UPLA is significantly better than the mean %BD of CP (with p value of 0.00001). When considering only the 43 small-to-medium instances, MPM-UPLA's Avg %BD (i.e., 0.07%) is also better than CP's Avg %BD (i.e., 0.67%). (ii) For all 66 instances of Rdata, MPM-UPLA's Avg % BD (i.e., 0.57%) is better than CP's Avg %BD (i.e., 0.87%). A paired t-test concluded that the mean % BD of MPM-UPLA is significantly better than the mean %BD of CP (with p value of 0.00002). When considering only the 43 small-to-medium instances, MPM-UPLA's Avg %BD (i.e., 0.24%) is also better than CP's Avg %BD (i.e., 0.55%). (iii) For all 66 instances of Vdata, MPM-UPLA's Avg % BD (i.e., 0.78%) is worse than CP's Avg %BD (i.e., 0.07%). However, when considering only the 43 small-to-medium instances, MPM-UPLA's Avg % BD (i.e., 0.01%) is better than CP's Avg %BD (i.e., 0.04%). Based on the 43 small-to-medium instances, a paired t-test concluded that the mean %BD of small-to-medium instances of MPM-UPLA is significantly better than that of CP (with p value of 0.002).
As a conclusion, based on Avg %BDs, MPM-UPLA obviously outperforms the three other algorithms on Edata and Rdata, but it underperforms the three other algorithms on Vdata. When considering only the small-to-medium instances, MPM-UPLA outperforms the three other algorithms on all three instance sets.

Overall Summary.
In the number of instances achieved in finding the best-known solutions, MPM-UPLA outperforms the three other algorithms on all three sets of instances. In the number of instances won, MPM-UPLA outperforms the three other algorithms on Edata and Rdata; MPM-UPLA outperforms TS and PSO but underperforms CP on Vdata. However, when considering only small-tomedium instances, MPM-UPLA outperforms CP on Vdata in the number of instances won. In Avg %BD, MPM-UPLA outperforms the three other algorithms on Edata and Rdata, but it underperforms the three other algorithms on Vdata. However, when considering only small-to-medium instances, MPM-UPLA outperforms the three other algorithms on Vdata. As a conclusion, MPM-UPLA usually performs very well on the MPMJSP instances where each operation has less than four optional machines (e.g., the instances in Edata and Rdata). When each operation has many optional machines (i.e., ≥ 0.5m optional machines), MPM-UPLA usually performs well on only small-to-medium instances (i.e., the instances of nm < 150).

Conclusion
In this paper, a two-level metaheuristic was proposed for solving MPMJSP. e two-level metaheuristic consists of MPM-UPLA and MPM-LOLA as its upper-and lower-level algorithms, respectively. MPM-UPLA, a population-based algorithm, acts as the MPM-LOLA's parameter controller. MPM-LOLA is a local search algorithm, searching for an MPMJSP's optimal solution. MPM-LOLA has many changes from its older variants, such as perturbation and neighbor operators. It also uses a unique method to select an optional machine for each operation. e MPM-UPLA's function is to evolve the MPM-LOLA's input-parameter values, so that MPM-LOLA can perform its best for every single instance. In this paper's experiment, the performance of the two-level metaheuristic was evaluated on the three instance sets, i.e., Edata, Rdata, and Vdata. e experiment's results indicated that the two-level metaheuristic performs very well on Edata and Rdata. For Vdata, the two-level metaheuristic usually performs well on only the category of small-to-medium instances.
us, a future research should be focused to enhance the two-level metaheuristic's performance, especially on large instances of Vdata.

Data Availability
e data used to support the findings of this study are available from the author upon request.

Conflicts of Interest
e author declares that there are no conflicts of interest.