Dual Resource Constrained Scheduling Considering Operator Working Modes and Moving in Identical Parallel Machines Using a Permutation-Based Genetic Algorithm

. This paper proposes a novel dual resource constrained (DRC) scheduling problem under identical parallel machine environment that consider operator working modes and moving activity between machines with regards to the makespan minimization objective. We define the working modes as all operator activities when the operators interact with the machines such as loading, setup, controlling, and unloading. Firstly, we provide the mathematical model of the problem using Mixed Integer Linear Programming (MILP). We add unloading activity beside setup to be included in the model. Also, we consider the moving activity that is usually neglected in DRC scheduling problem. Moreover, we propose a permutation-based genetic algorithm (PGA) to tackle the computational burden of the bigger size problem. Then, we run a full factorial experiment with replication to compare the solution quality and computational time of our PGA to the solver and random search method. The results show that our proposed PGA could solve the problem in a reasonable time that is faster than the solver with a good quality solution that is better than random search.


Introduction
Recently, many industries use partially automated machines for producing products which operators can leave them in the machining time.The operators are necessary for such only activities like the loading and unloading jobs, sometimes controlling or doing the setup [1].The total idle time of operators becomes the highest if they only operate a machine each.However, assigning an operator to two or more machines results in some machine waiting time that increases the makespan or the tardiness.Dual resource constrained (DRC) scheduling considers both machine and operator resources as limiting resources [2].Most research in DRC scheduling deals in a condition that the operator number is not less than the number of machines, e.g.[3] and [4].On the next level, we find articles that deal with fewer operators, but they cannot supervise many jobs at the time [5], [6].Only a little research considers an operator can supervise several machines simultaneously [7] as in [1], [8].
There are several approaches to solve the DRC scheduling with each operator can process many jobs simultaneously.One approach uses a given finite set of working modes as a reference to estimate the job processing time using multipliers [1].The other approach uses mixed-integer linear programming (MILP) model allowing an operator to do many setup activities and leave the machine while processing the job to minimize the makespan [8].In this work, we combine the advantages of both to propose a new approach by applying MILP model to get a more accurate solution and considering many working modes such as loading, setup and unloading activities.Also, this research considers transportation time between machines.

Problem statement
Figure 1 illustrates the proposed DRC scheduling problem with three identical parallel machines and two same-skill operators with five jobs.It must consider not only the sequence of jobs in each machine but also the activity/task sequence of jobs and moving sequence performed by each operator that makes this problem becomes harder to solve.Therefore, we must include the operators' assignment on the Gantt chart to describe the schedule.The new consideration of task allocation causes the job assignment to the operator becomes more flexible in which one job can be performed by different operators, e.g., setup performed by an operator and unloading by another operator.We only consider setup (that includes loading) and unloading activities in the model.This contribution do not appear in the traditional scheduling problem since the operators always control the same machine.The other contribution related to moving route and time makes the computation of makespan more precise.We describe the problem statement of this DRC scheduling problem as follows.The production system consists of a set M of m identical parallel machines and a set W of w identical operators where w ≤ m.This production system must produce a set N of n jobs aiming at the minimization of the makespan.Each job needs three sequence activities, which are setup, machining, and unloading performed on a unique machine.Each operator can contribute to any b activities of working modes from a set B. In our case, the b value is two consisting setup and unloading activities.Thus, each Operator moving from machine h to machine i operator could move from one machine after finishing one activity b to the other machine to perform any activity in set B. Any activity b of job i starts if both the assigned machine j and operator k are available.

The mathematical model
We refer to the previous research [8] then adjust and add some new constraints to build our own MILP model.We adjust some constraints in several ways by adding new activity indices (1 for setup and 2 for unloading) to the decision variables and place the operator indices as the main resource instead of the machine.It is because the operator assignment is more complicated than the machine since two operators are possible to execute the same job.We also include transportation time between machines as a new parameter.The mathematical formulation is reported as follow.

Indices
Constraint ( 2) ensures the assignment any activity of specific job to only one operator and one machine, and there is only one activity of one job which precedes.Constraint (3) forces that each activity of one job precedes at most one other activity of one job conducted by the same operator.Constraint (4) denotes each worker starts by unloading of job 0. Constraint (5) ensures that there is no assignment for setup of job 0. Constraint (6) forces that setup and unloading activities of one job must perform on the same machine.Constraint (7) ensures the feasibility of sequence of activity by each operator: if activity b of job l precedes activity c of job f, it must have a predecessor of activity a of job j.Constraint (8) states that the minimum time lag between the operation completion time of and the moving completion time before activity b of job l must be equal to its operation time.Constraint (9) denotes that the difference between the moving completion time to do activity b of job l and the completion time of previous activity a of job j is at least equal to the moving time required by itself.Constraint (10) ensures, on each machine, that the unloading activity is possible after the machine finishes processing the job.Constraint (11) forces that each machine starts processing the job immediately after the setup activity.The twofold constraints (12) accommodates the feasibility sequence on each machine: if setup activity of job l and unloading activity of job f processed on the same machine, then unloading activity of job f must be completed before setup activity of job l starts, or vice versa.Constraint (13) fixes there is no time for unloading activity of job 0. Constraint (14) defines the makespan value.Finally, Constraint (15) and ( 16) define the corresponding binary variables.

4
The proposed permutation-based GA One of the most common meta-heuristic technique used in scheduling problem is Genetic Algorithm (GA) [9].Since it is proven and easier to develop, we consider GA to solve our problem at first that can perform as the basic comparator to other techniques for the future research.Genetic algorithm (GA) that is found by Holland in 1975 mimics the biological processes [10].This meta-heuristic procedure works with a set of solutions (chromosomes) called as population.A chromosome, which contains alleles, represents one solution that is evaluated by its fitness value that indicates the objective function.The initial population usually comes from a random process.At every iteration, the selection mechanism chooses a couple of chromosomes (parents).The parents follow the crossover mechanism to generate new solutions (offspring) by combining their structure.Moreover, each chromosome can experience changing of allele sequence based on the mutation scheme to prevent the solution trapped into local optima.Finally, this algorithm will stop to iterate after it meets the stop criterion such as the maximum iteration number (generation number).
The encoding scheme plays a vital role to yield the effectiveness and the efficiency of the algorithm [7].On the other hand, our DRC scheduling deals with three kinds of assignments: sequence of activity between jobs, operator to each activity, and machine to each job.We use a simple single-string as one chromosome containing n alleles that represent the sequence of jobs.In decoding phase, this sequence becomes a reference in resulting those three assignments to get the fitness value (the makespan).In the mathematical formulation, let  ̅ =  () becomes the job on the i-th allele to represent a job sequence chromosome (see Fig, 2).
( 1)  ( 2)  ( 3)  ( 4)  ( 5) Fig. 2.An example of a chromosome represents a job sequence (4-1-5-3-2) with n = 5 jobs Our decoding algorithm consists of seven steps (as follow) that need an iterative process as many as the number of activities, which is twice of the jobs number.18) and ( 19) and back to step 2.

Procedure of decoding
We use the binary tournament as our selection method since it is more efficient than rank method and more effective than roulette wheel method [11] [12].Moreover, we choose two-point crossover that has been largely adopted in combinatorial problem and block swapping scheme [13] for our crossover and mutation schemes.Finally, the stop criterion is the number of generations.
Before comparing, we set GA parameter using a full factorial experimental design without replication for each case and analyze the result using graphical descriptive statistics to find the convergence point that represents the optimal generation number and Tukey test with 95% confidence interval to find the least population size from the best.Then, both parameters are used in another full factorial experimental design to find the optimal crossover and mutation probability in each case.
The number of strings needed to reach convergence point becomes higher when the case becomes more complex.The algorithm needs only 200 strings in the small-sized problem and needs more strings of 7,500 and 30,000 strings respectively for medium and big-sized problems.On the other hand, the generation number is always smaller than the population size in all cases.Also, in our experiments, we acknowledge that the crossover probability never becomes lower when the case becomes more complex, which needs to be analyzed more deeply in the future.
We implement a full factorial experiment design with five replication for PGA and RS and without replication for the solver.To evaluate the solution quality, we use relative percentage deviation (RPD) for each method i according to the equation (20): Where   is the total completion time (makespan) resulted from method i and    is the best makespan among all methods.Table 1 also shows that PGA and RS can yield the optimal solution in the smallsized problem except for subcase 4 x 4 x 2 and 5 x 4 x 2. We acknowledge that our decoding algorithm always assigns a resource immediately after it is free, but, in that subcase, the optimal solution has different sequence logic.Our meta-heuristics also have better computational time than the solver in the small-sized problem.
The PGA outperforms other methods for average RPD in the medium-sized problem respectively with only 0.72% compared to RS with 1.55% and solver with 43.31%.Also, in the big-sized problem, the average deviation of PGA solution from the best is only 0.73% compared to the RS with 4.73%.By running for 5 minutes, the Gurobi solver can only reach 57.94%, on average, of the difference between its upper and lower bounds in the medium-sized problem.We also acknowledge that the solver cannot reach the optimal solution after one day running.Moreover, the computational (run) time of PGA is very reasonable compared to the RS that the difference is not more than 15 seconds even in the big-sized problem.

Conclusions
In this paper, we propose a novel DRC scheduling under an identical parallel machine environment that considers operator working modes and moving activity concerning the makespan minimization objective.We develop a MILP model at first, but it can only solve the small-sized problem in reasonable time.Therefore, we propose a permutation-based genetic algorithm (PGA) to tackle the computational burden.To test its performance in solution quality and computational time, we compare the PGA to the solver and RS.Firstly, we set the PGA parameter using statistical approaches.We acknowledge that the appropriate parameters depend on the case.The comparison results show that the PGA could solve the problem in a reasonable time that is faster than the solver with a good quality solution that is better than random search.There are several ideas for improvement for the next potential research.First, to involve a new social objective function such as operator's productivity or workload balance.Second, to extend the model into more complex machine configuration, e.g., flow shop or job shop.Third, to implement other meta-heuristics methods.