advanced scheduling model for unrelated parallel machines … · the appropriate gene sequences...

8
ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020 20 ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES PROBLEM WITH JOB-SEQUENCE DEPENDENT SETUP TIMES, AVAILABILITY CONSTRAINTS AND TIME WINDOWS Anita AGÁRDI 1,* and Károly NEHÉZ 1 1 University of Miskolc, Institute of Informatics, Egyetemváros, 3515, Miskolc, Hungary Corresponding author, Anita Agárdi, e-mail: [email protected] ABSTRACT: Production scheduling is still an important method at manufacturing companies, providing accurate, real-time schedules and helps in decision support. This article examines a specific production planning problem, the Advanced Scheduling Model for Unrelated Parallel Machines Problem with Job-Sequence Dependent Setup Times, Availability Constraints and Time Windows. In this problem, many different types of products have to be manufactured. Each job has predefined average machining times and can have time windows, which mean that the task can only be performed at a certain time interval. There is also a setup time, which means the period required to prepare a machine to accept a new job or operation. Number of machines, availability constraints (indicates how long the machine can be used) are also known in advance and our goal is to minimize the setup time, considering all constraints. In this paper, we present the solution of the problem with Genetic Algorithm. We also present a permutation representation of the problem and the evaluation of the representation. Dataset and test results are also presented. Based on the test results Genetic Algorithm can be an effective algorithm to solve the Parallel Machines Problem. KEYWORDS: scheduling, parallel machines problem, setup time, time window, production, optimization 1 INTRODUCTION One of the most important tasks of each manufacturing company is to strive for the cost- efficient production. Cost-efficient production involves making efficient use of machines. When we set up our machines, i.e. we switch from one product type to another, production stops, so the machines are unused. So, one of the most important factor is, how to minimize these setup intervals. This paper presents an advanced scheduling model for a specific: Unrelated Parallel Machines Problem with Job-Sequence Dependent Setup Times, Availability Constraints and Time Windows problem. During the problem-solving process the machines have different capacities. Each job has time window, this means that each job must be performed within an interval. Jobs and machines have different setup times. It means, that switching form one job to another has some time cost. The machines are initially in the initial state and require a predefined setup time to start each job. After completing the jobs, machines must also be reset. In this paper first we present a literature review on parallel machines problem. In the next session, we describe the details of Unrelated Parallel Machines Problem with Job-Sequence Dependent Setup Times, Availability Constraints and Time Windows - problem. Our problem has been solved with a genetic algorithm, so in Section 4 the mathematical details of our solution - the applied crossover (partially matched crossover, order crossover, cycle crossover) and mutation techniques - is also presented. For verifying the results, test dataset and test results are also presented. In the last section, concluding remarks have been made.

Upload: others

Post on 12-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

20

ADVANCED SCHEDULING MODEL FOR UNRELATED

PARALLEL MACHINES PROBLEM WITH JOB-SEQUENCE

DEPENDENT SETUP TIMES, AVAILABILITY CONSTRAINTS

AND TIME WINDOWS

Anita AGÁRDI

1,* and Károly NEHÉZ

1

1 University of Miskolc, Institute of Informatics, Egyetemváros, 3515, Miskolc, Hungary

Corresponding author, Anita Agárdi, e-mail: [email protected]

ABSTRACT: Production scheduling is still an important method at manufacturing companies,

providing accurate, real-time schedules and helps in decision support. This article examines

a specific production planning problem, the Advanced Scheduling Model for Unrelated

Parallel Machines Problem with Job-Sequence Dependent Setup Times, Availability

Constraints and Time Windows. In this problem, many different types of products have to be

manufactured. Each job has predefined average machining times and can have time

windows, which mean that the task can only be performed at a certain time interval. There is

also a setup time, which means the period required to prepare a machine to accept a new job

or operation. Number of machines, availability constraints (indicates how long the machine

can be used) are also known in advance and our goal is to minimize the setup time,

considering all constraints. In this paper, we present the solution of the problem with

Genetic Algorithm. We also present a permutation representation of the problem and the

evaluation of the representation. Dataset and test results are also presented. Based on the

test results Genetic Algorithm can be an effective algorithm to solve the Parallel Machines

Problem.

KEYWORDS: scheduling, parallel machines problem, setup time, time window, production,

optimization

1 INTRODUCTION

One of the most important tasks of each

manufacturing company is to strive for the cost-

efficient production. Cost-efficient production

involves making efficient use of machines. When

we set up our machines, i.e. we switch from one

product type to another, production stops, so the

machines are unused. So, one of the most important

factor is, how to minimize these setup intervals.

This paper presents an advanced scheduling model

for a specific: Unrelated Parallel Machines Problem

with Job-Sequence Dependent Setup Times,

Availability Constraints and Time Windows

problem. During the problem-solving process the

machines have different capacities. Each job has

time window, this means that each job must be

performed within an interval. Jobs and machines

have different setup times. It means, that switching

form one job to another has some time cost. The

machines are initially in the initial state and require

a predefined setup time to start each job. After

completing the jobs, machines must also be reset. In

this paper first we present a literature review on

parallel machines problem. In the next session, we

describe the details of Unrelated Parallel Machines

Problem with Job-Sequence Dependent Setup

Times, Availability Constraints and Time Windows

- problem. Our problem has been solved with a

genetic algorithm, so in Section 4 the mathematical

details of our solution - the applied crossover

(partially matched crossover, order crossover, cycle

crossover) and mutation techniques - is also

presented. For verifying the results, test dataset and

test results are also presented. In the last section,

concluding remarks have been made.

Page 2: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

21

Fig. 1. The characterization of Parallel Machines Problem

2 THE PARALLEL MACHINES

PROBLEM

The Parallel Machines Problem is a common

problem in manufacturing systems. The base

problem is scheduling independent jobs on

identical machines in order to minimize the

makespan (the total finishing time). Fig. 1. shows

the set of boundary conditions and their associated

types based on the literature. The boundary

conditions are: machines, jobs, time and objective

function. In Fig. 1. we summarized the most

important types of parallel machines scheduling

problems. Machine eligibility restrictions [1], which

means that a machine may be capable of processing

a job or not belongs to the machines and jobs

parameters. The identical machine parallel

scheduling [2-3] is associated with machines, jobs

and time main conditions. In our case the machines

are identical (identical capacity, energy

consumption). Processing times are machine

independent. Uniform parallel machines [3] means,

that the machines have different speeds (job

processing times are different on different

machines). This type associated with machines, jobs

and time. The job availability interval [4] also

belongs to machines, jobs and time. This constraint

means that the machine is available to process jobs

in a limited time interval. In case of machine and

sequence-dependent setup times [1] the setup time

depends on the job, the preceding job, and the

processing machine. The learning effect [5] type

means, that the actual processing time of each jobs

on a machine is the product of its basic processing

time and the so-called learning factor. This type of

parallel machines problem belongs to the machines,

jobs and time main factor. In case of fuzzy parallel

machine problem [6] jobs have fuzzy processing

time and machines have fuzzy completion time, and

fuzzy makespan. This type can belong to machines,

jobs and time main condition. Time-of-use

electricity tariffs [7] belongs to all main category. In

case of this specific problem the goal function is the

minimization of the total electricity cost. Each job

has a power consumption rate on each machine. The

jobs with priority level [1] connect with job main

condition. In this problem each job has priority,

which is considered when scheduling. It is advisable

to carry out important jobs first. The conflict

constraint [8] also only belongs to jobs main

category type. In case of this constraint the pairs of

jobs are mutually disjoint due to resource

availability. Jobs conflicting to each other cannot be

processed simultaneously. The sequence dependent

setup times [9] means that the setup times depend

on the actual job and on the preceding job. This

type of parallel machines problem can be associated

with jobs and time main category. The due date

[10], release time [11] and the time window [12]

Page 3: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

22

(the combination of due date and release time) are

associated with jobs and times main factor. Due

date [10] means that the jobs must be started no

later than that time. Release time [11] means that

the jobs must be started no earlier than that time.

The last two types in the image belong to the

objective function category. The minimization of

the total earliness and tardiness time [13] means,

that delayed customer orders reduce customer

satisfaction, but early completion creates inventory

storage costs, which increase the total cost. This

type also belongs to time category, but green

scheduling [14] only belongs to goal function. In

case of green scheduling the goal function takes into

account the machine processing costs alongside the

other production criteria.

Several heuristics are developed to solve the

Parallel Machines Problems, for example: Genetic

Algorithm [15-18] Simulated Annealing [19-21]

Tabu Search [22-26] Ant Colony Optimization [27-

28] Particle Swarm Optimization [29-33] Harmony

Search [34].

3 THE UNRELATED PARALLEL

MACHINES PROBLEM WITH JOB-

SEQUENCE DEPENDENT SETUP

TIMES, AVAILABILITY

CONSTRAINTS AND TIME

WINDOWS

This section presents the Unrelated Parallel

Machines Problem with Job-Sequence Dependent

Setup Times, Availability Constraints and Time

Windows. In the case of our specific problem the

number of tasks, the number of machines is given in

advance. We also know the setup times of each

jobs. The jobs also have production times, and time

windows. Time window means that a job must be

started at a certain time interval. Machines have a

capacity limit for the production time. Our goal is to

make all jobs and minimize the setup times.

In Figure 2. the Unrelated Parallel Machines

Problem with Job-Sequence Dependent Setup

Times Availability Constraints and Time Windows

is demonstrated. In this example 3 machines can be

used. 17 jobs need to be done. Each job has

duration, earliest and latest starting time. Each job

has setup times. Machines have reset state from

which after setup the first job can be done. After all

jobs have been completed, the machines must be

reset. In Figure 2. the first machine makes (after 0-

hour setup time) the Job 1, than the Job 3 (after 1

hour setup time), than Job 5, Job 8, Job 6, Job 2.

Second machine (after 0-hour setup time) does Job

4, after 1-hour setup time Job 7, then Job 10, Job

14, Job 9, Job 15. Third machine does Job 11 (after

1-hour setup time), then Job 16 (after 3 hours setup

time), then Job 12, Job 17, Job 13.

Fig. 2. The Unrelated Parallel Machines Problem with Job-Sequence Dependent Setup Times, Availability

Constraints and Time Windows

In the following we present the mathematical model

of the Unrelated Parallel Machines Problem with

Job-Sequence Dependent Setup Times, Availability

Constraints and Time Windows.

The objective function is to minimize setup time:

(1)

One job must be performed once:

Page 4: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

23

(2)

(3)

Continuity of production:

(4)

Time window:

(5)

(6)

The machine does not exceed the availability

constraint limit:

(7)

4 OPTIMIZATION ALGORITHM

4.1 Genetic Algorithm

Genetic Algorithm (GA) is a partial search

algorithm, which does not guarantee to find the

globally optimum solution of a problem. Compared

to other optimization algorithms and iterative

methods, GA uses sample populations, which

consists of individuals. Each individual represents a

solution. Individuals can be assigned a fitness value

based on the objective function. Generally, one of

two individuals will be the better whose fitness

value is better. [35]

BEGIN PROCEDURE

Step 1.: Initialization the population with random

individuals

Step 2.: Calculation the fitness value for each

individual

WHILE (termination criteria is not met) DO

Step 3.: Bringing certain parents to the next

generation

Step 4.: Recombination of selected parent

pairs

Step 5.: Mutation of selected new individuals

Step 6.: Evaluation of new individuals

Step 7.: Selecting individuals of the next

generation

END WHILE END PROCEDURE

Fig. 3 The pseudo code of the Genetic Algorithm

The first step is to create the initial population.

The next task is to calculate the fitness values of the

initial individuals. After calculating the fitness

values of the initial population, a loop follows. The

following population is always produced in the

loop. In the loop selecting two individuals from the

existing population, which will be the parents. The

parent individuals are crossed. The result of the

crossover is two new individuals. Mutations can

then be made on the two new individuals. Then we

calculate the fitness value of the new individuals.

The next generation is then selected. Algorithm

ends when we reach the termination criteria, in our

case reaching a given iteration count.

In the following, we present the applied

representation and evaluation technique, then the

crossover and mutation techniques.

Fig. 4 The representation of the problem

The evaluation of the permutation is the

following: each element of the permutation denotes

each job. We take each element of the permutation

in sequence until we hit the capacity limit of the

first machine or the time window of the job. If we

hit a limit, then the task will be assigned to the next

machine. If there are no more free machines or no

more jobs, the assignment ends. Calculation of

fitness is as follows: we need to take the machine's

setup time for the first task assigned to them, and

then the setup time between each task, and lastly the

last task assigned to that machine and its setup time.

The goal is the minimization of the setup time and

considering all limits (availability constraints and

time windows).

The fitness function is the following:

fitness=all_setup_time*(not_completed_job+1)

In the following we present the applied

crossover techniques, which are the follows:

Partially Matched Crossover (PMX), Cycle

Crossover (CX), Order Crossover (OX). Crossover

is the process of creating new individuals. The

procedure creates the new individuals by selecting

the appropriate gene sequences from the parents.

Partially Matched Crossover (PMX): [35,36]

First, we select two random locations on the parent

chromosomes. The fragment between the two

locations is called the fitting section. This process

can be seen in Figure 5. The genes here are paired.

Thus the following pairs of numbers are exchanged:

(8,7), (7,9), (6,8), (5,4).

Fig. 5 The Partially Matched Crossover

Order Crossover (OX): In this procedure also

two points are randomly selected, which give a

fitting section. First, the elements of the fitting

Page 5: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

24

section of the first individual are deleted from the

second individuals (and vice versa), so holes are

created (denoted by the letter H in Figure 6). These

holes in the offspring must be in the fitting section,

so the fitting section of the offspring must be left

blank (denoted by H in Figure 6). The first non-hole

(non-H) gene in the parent will be the first element

of the offspring. The other genes can now be

inserted so that always taken the next non-empty

(non-H letter) gene in the parent and placed in the

next free space in the offspring in the following

matter: the fitting section of the offspring must be

empty. In the offspring, we place the genes in the

fitting section of the other parent chromosome in

place of the blank space (indicated with H in Figure

6). [36]

Fig. 6 The Order Crossover

Cycle Crossover (CX): this crossover is based on

the fact, that an element is transferred from the first

or second parent to the new entity [36]. In Figure 7.

the first element of the first and second parents are

taken, so the (2,2) pair. The first child gets number

2, and the second also gets number 2. Then the (1,5)

pair is taken into account. The first child gets the

number 1, the second gets the number 5. The

second child have number 5, so the first child also

must have number 5. Therefore, we take the (5,4)

pair into account, and the first child get number 5,

the second get number 4. Then the (4,1) pair is

chosen. The circle is then closed, because the first

child has number 1. Then the first child gets the

elements of the second parent, while the second

child gets the elements of the first parent.

Fig. 7 The Cycle Crossover

Mutation: The 2-opt operator was used for

mutation. In permutation, this means selecting a

section randomly and inverting the elements in that

section. [37]

Fig. 8 The 2-opt operator

5 TEST RESULTS

Table 1. Parameters of the Genetic algorithm Number of iterations 500

Number of populations 150

Partially Matched Crossover rate 0.3

Order Crossover rate 0.3

Cycle Crossover rate 0.3

Mutation rate 0.1

In this section we present the test results. First,

we tested our algorithm with benchmark data from

Shunji Tanaka dataset [38]. Table 2 and Figure 9

indicate the results of the benchmark data. Then the

efficiency of our algorithm is tested with our

dataset. Table 3 indicates the parameters of the

machine, while table 4 shows the parameters of the

task, and table 5 indicates the setup parameters.

Table 2. Benchmark data test results Benchmark dataset Result

Name of the

dataset

Number of jobs

Number of machines

Number of created jobs

(average)

Number of machines (average)

20_02_02_06_001

20 2 18.7 2

20_06_02_08_002

20 6 20 6

Fig. 9. The test result of the 20_02_02_06_001 dataset

Page 6: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

25

Table 3. Machine parameters Machine Capacity

M1 5000

M2 4000

M3 5000

M4 5500

M5 4500

M6 5000

M7 5000

Table 4. Task parameters Task Start time window End time window Processing time

T1 275 3340 520

T2 362 4780 520

T3 1256 4700 84

T4 1000 3200 120

T5 452 4500 54

T6 0 5500 325

T7 1000 4300 200

T8 2563 3210 420

T9 1000 5000 810

T10 1200 5500 810

T11 3200 4500 410

T12 2300 4200 630

T13 12 4800 1200

T14 2400 5500 850

T15 3400 4200 500

T16 1122 4900 412

T17 2120 5000 560

T18 1500 5000 250

Table 5. The setup parameters T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 M1 M2 M3 M4 M5 M6 M7

T1 - 15 12 25 14 13 14 22 23 29 10 8 17 14 12 24 17 13 23 15 25 14 32 12 22

T2 12 - 11 10 14 18 25 24 27 23 11 20 22 21 23 24 22 21 25 12 12 25 20 25 22

T3 10 13 - 20 24 21 20 15 17 15 23 14 22 30 34 15 4 18 20 24 26 17 12 22 30

T4 34 31 12 - 24 20 14 15 22 27 30 21 22 18 15 10 14 18 25 34 24 25 22 22 21

T5 21 14 15 22 - 4 12 25 32 34 28 15 21 28 19 24 25 18 23 34 30 21 28 26 27

T6 27 25 23 24 35 - 32 25 24 28 27 26 35 28 29 34 26 28 34 29 28 29 24 22 29

T7 8 35 33 39 34 15 - 19 33 22 27 29 22 27 29 22 20 23 34 32 5 10 11 19 29

T8 15 22 29 28 35 15 22 - 24 29 27 25 26 24 32 25 37 24 26 28 35 22 28 24 33

T9 28 22 21 15 12 9 29 33 - 24 20 37 36 34 31 25 29 20 24 26 37 12 15 19 20

T10 35 32 26 20 18 9 17 22 25 - 38 21 15 20 15 20 16 20 22 29 36 34 35 22 25

T11 22 24 25 20 15 20 18 25 32 41 - 22 10 19 9 18 10 16 14 29 34 12 10 15 12

T12 25 12 5 16 19 20 22 24 32 12 22 - 16 20 12 22 24 26 30 34 16 22 27 29 35

T13 25 24 5 12 19 20 24 26 15 20 35 15 - 21 24 12 15 23 25 35 37 20 22 21 15

T14 21 20 13 15 25 12 16 22 25 35 33 31 21 - 22 25 26 32 34 39 16 25 22 26 22

T15 23 22 25 15 26 20 24 22 28 29 24 26 23 25 - 26 22 24 25 20 21 22 26 23 20

T16 20 21 22 24 28 26 25 24 26 22 24 25 12 12 13 - 11 10 7 9 12 22 25 23 24

T17 35 33 31 26 24 25 26 22 26 12 5 23 28 33 34 7 - 32 15 16 19 12 29 25 22

T18 15 24 25 10 12 13 19 35 34 25 26 20 24 26 24 27 22 - 24 25 20 21 23 25 22

M1 25 21 25 20 23 25 21 25 20 22 23 10 25 26 24 25 32 25 - - - - - - -

M2 22 21 25 22 23 28 35 36 33 34 26 35 32 33 39 13 15 2 - - - - - - -

M3 10 20 23 24 25 26 20 21 26 12 13 15 12 24 26 23 22 36 - - - - - - -

M4 12 20 22 23 15 10 12 14 20 26 20 23 24 25 10 5 23 24 - - - - - - -

M5 10 23 10 22 23 24 23 5 15 24 23 26 29 23 24 23 22 25 - - - - - - -

M6 10 23 20 15 26 22 23 25 22 25 27 35 34 33 26 12 25 20 - - - - - - -

M7 24 25 10 20 25 26 23 24 25 26 33 34 35 28 22 26 11 15 - - - - - - -

Fig. 10. The test result of our dataset

Based the benchmark dataset and our dataset the

presented algorithm is efficient for solving Parallel

Machines Scheduling Problem. Table 2 indicates

that, the first benchmark data set is almost perfectly

solved and the second dataset is perfectly solved.

For our test data is also proved its effectiveness.

Page 7: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

26

6 CONCLUSION

Parallel Machines Scheduling Problem is an

important production optimization task. Many types

have evolved over the years, which we have

presented in the study. In this paper we presented a

specific solution for the “Unrelated Parallel

Machines Problem with Job-Sequence Dependent

Setup Time, Availability Constraints and Time

Windows” type of problem. In this case machines

of different capacities are required to complete the

jobs. The job has processing times and time

windows. Moving from one task to another requires

setup times. The objective function is the

minimization of the setup time with all the

restrictions. In this article, we introduced a genetic

algorithm to solve this problem. The efficiency of

the algorithm was proved with benchmark test

results.

7 REFERENCES

[1] Rauchecker, G., & Schryen, G. (2019). Using

high performance computing for unrelated parallel

machine scheduling with sequence-dependent setup

times: Development and computational evaluation of a

parallel branch-and-price algorithm. Computers &

Operations Research, 104, 338-357.

[2] Żurowski, M., & Gawiejnowicz, S. (2019).

Scheduling preemptable position-dependent jobs on two

parallel identical machines. Computers & Industrial

Engineering, 132, 373-384.

[3] Soper, A. J., & Strusevich, V. A. (2019).

Schedules with a single preemption on uniform parallel

machines. Discrete Applied Mathematics, 261, 332-343.

[4] Wang, X., & Cheng, T. C. E. (2015). A heuristic

for scheduling jobs on two identical parallel machines

with a machine availability constraint. International

Journal of Production Economics, 161, 74-82.

[5] Przybylski, B. (2018). A new model of parallel-

machine scheduling with integral-based learning effect.

Computers & Industrial Engineering, 121, 189-194.

[6] Li, K., Chen, J., Fu, H., Jia, Z., & Fu, W.

(2019). Uniform parallel machine scheduling with fuzzy

processing times under resource consumption constraint.

Applied Soft Computing, 105585.

[7] Che, A., Zhang, S., & Wu, X. (2017). Energy-

conscious unrelated parallel machine scheduling under

time-of-use electricity tariffs. Journal of Cleaner

Production, 156, 688-697.

[8] Hong, H. C., & Lin, B. M. (2018). Parallel

dedicated machine scheduling with conflict graphs.

Computers & Industrial Engineering, 124, 316-321.

[9] Gedik, R., Rainwater, C., Nachtmann, H., &

Pohl, E. A. (2016). Analysis of a parallel machine

scheduling problem with sequence dependent setup times

and job availability intervals. European Journal of

Operational Research, 251(2), 640-650.

[10] Bank, J., & Werner, F. (2001). Heuristic

algorithms for unrelated parallel machine scheduling

with a common due date, release dates, and linear

earliness and tardiness penalties. Mathematical and

computer modelling, 33(4-5), 363-383.

[11] Centeno, G., & Armacost, R. L. (1997). Parallel

machine scheduling with release time and machine

eligibility restrictions. Computers & industrial

engineering, 33(1-2), 273-276.

[12] Gabrel, V. (1995). Scheduling jobs within time

windows on identical parallel machines: New model and

algorithms. European Journal of Operational Research,

83(2), 320-329.

[13] Cheng, C. Y., & Huang, L. W. (2017).

Minimizing total earliness and tardiness through

unrelated parallel machine scheduling using distributed

release time control. Journal of manufacturing systems,

42, 1-10.

[14] Safarzadeh, H., & Niaki, S. T. A. (2019). Bi-

objective green scheduling in uniform parallel machine

environments. Journal of cleaner production, 217, 559-

572

[15] Zhou, S., Xie, J., Du, N., & Pang, Y. (2018). A

random-keys genetic algorithm for scheduling unrelated

parallel batch processing machines with different

capacities and arbitrary job sizes. Applied Mathematics

and Computation, 334, 254-268.

[16] Sheremetov, L., Martínez-Muñoz, J., & Chi-

Chim, M. (2018). Two-stage genetic algorithm for

parallel machines scheduling problem: Cyclic steam

stimulation of high viscosity oil reservoirs. Applied Soft

Computing, 64, 317-330.

[17] Woo, Y. B., Jung, S., & Kim, B. S. (2017). A

rule-based genetic algorithm with an improvement

heuristic for unrelated parallel machine scheduling

problem with time-dependent deterioration and multiple

rate-modifying activities. Computers & Industrial

Engineering, 109, 179-190.

[18] Joo, C. M., & Kim, B. S. (2015). Hybrid genetic

algorithms with dispatching rules for unrelated parallel

machine scheduling with setup time and production

availability. Computers & Industrial Engineering, 85,

102-109.

[19] Xiao, J., Yang, H., Zhang, C., Zheng, L., &

Gupta, J. N. (2015). A hybrid Lagrangian-simulated

annealing-based heuristic for the parallel-machine

capacitated lot-sizing and scheduling problem with

sequence-dependent setup times. Computers &

Operations Research, 63, 72-82.

[20] Kim, D. W., Kim, K. H., Jang, W., & Chen, F. F.

(2002). Unrelated parallel machine scheduling with setup

times using simulated annealing. Robotics and

Computer-Integrated Manufacturing, 18(3-4), 223-231.

[21] Lo, Z. P., & Bavarian, B. (1992). Optimization

of job scheduling on parallel machines by simulated

annealing algorithms. Expert Systems with applications,

4(3), 323-328.

[22] Alharkan, I., Saleh, M., Ghaleb, M. A., Kaid, H.,

Farhan, A., & Almarfadi, A. (2019). Tabu search and

particle swarm optimization algorithms for two identical

parallel machines scheduling problem with a single

Page 8: ADVANCED SCHEDULING MODEL FOR UNRELATED PARALLEL MACHINES … · the appropriate gene sequences from the parents. ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

ACADEMIC JOURNAL OF MANUFACTURING ENGINEERING, VOL.18, ISSUE 2/2020

27

server. Journal of King Saud University-Engineering

Sciences.

[23] Shahvari, O., & Logendran, R. (2017). An

enhanced tabu search algorithm to minimize a bi-criteria

objective in batching and scheduling problems on

unrelated-parallel machines with desired lower bounds

on batch sizes. Computers & Operations Research, 77,

154-176.

[24] Lara, A. F. B., Yalaoui, F., & Dugardin, F.

(2012). A tabu search algorithm to minimize the total

tardiness in the parallel machines scheduling problem.

IFAC Proceedings Volumes, 45(6), 1371-1376.

[25] Sels, V., Coelho, J., Dias, A. M., & Vanhoucke,

M. (2015). Hybrid tabu search and a truncated branch-

and-bound for the unrelated parallel machine scheduling

problem. Computers & Operations Research, 53, 107-

117.

[26] Hornyák, O., Erdélyi F., Kulcsár Gy. (2006).

Detailed Scheduling and Uncertainty Management in

Customized Mass Production, Proceedings of the 12th

International Conference on Machine Design and

Production UMTIK, pp. 423-428., 6 p.

[27] Jia, Z., Yan, J., Leung, J. Y., Li, K., & Chen, H.

(2019). Ant colony optimization algorithm for scheduling

jobs with fuzzy processing time on parallel batch

machines with different capacities. Applied Soft

Computing, 75, 548-561.

[28] Cheng, B., Wang, Q., Yang, S., & Hu, X. (2013).

An improved ant colony optimization for scheduling

identical parallel batching machines with arbitrary job

sizes. Applied Soft Computing, 13(2), 765-772.

[29] Hulett, M., Damodaran, P., & Amouie, M.

(2017). Scheduling non-identical parallel batch

processing machines to minimize total weighted

tardiness using particle swarm optimization. Computers

& Industrial Engineering, 113, 425-436.

[30] Pakzad-Moghaddam, S. H. (2016). A Lévy flight

embedded particle swarm optimization for multi-

objective parallel-machine scheduling with learning and

adapting considerations. Computers & Industrial

Engineering, 91, 109-128.

[31] Torabi, S. A., Sahebjamnia, N., Mansouri, S. A.,

& Bajestani, M. A. (2013). A particle swarm

optimization for a fuzzy multi-objective unrelated

parallel machines scheduling problem. Applied Soft

Computing, 13(12), 4750-4762.

[32] Chen, Y. Y., Cheng, C. Y., Wang, L. C., &

Chen, T. L. (2013). A hybrid approach based on the

variable neighborhood search and particle swarm

optimization for parallel machine scheduling problems—

a case study for solar cell industry. International Journal

of Production Economics, 141(1), 66-78.

[33] Kashan, A. H., & Karimi, B. (2009). A discrete

particle swarm optimization algorithm for scheduling

parallel machines. Computers & Industrial Engineering,

56(1), 216-223.

[34] Zammori, F., Braglia, M., & Castellano, D.

(2014). Harmony search algorithm for single-machine

scheduling problem with planned maintenance.

Computers & Industrial Engineering, 76, 333-346.

[35] A. S. Tasan & M. Gen, “A genetic algorithm

based approach to vehicle routing problem with

simultaneous pick-up and deliveries.” Computers &

Industrial Engineering, 62(3), 2012, pp. 755-761.

[36] V. A. Cicirello, “Non-wrapping order crossover:

An order preserving crossover operator that respects

absolute position.” In Proceedings of the 8th annual

conference on Genetic and evolutionary computation,

2006, pp. 1125-1132. ACM.

[37] K. Deep & H. Mebrahtu, “Combined mutation

operators of genetic algorithm for the travelling salesman

problem.” International Journal of Combinatorial

Optimization Problems and Informatics, 2(3) 2011

[38] Shunji Tanaka: Total Tardiness Problem on

Identical Parallel Machines

https://sites.google.com/site/shunjitanaka/pmtt

(Accessed: 2019. 11. 14.)

8 NOTATIONS

Table 6. symbols used in this paper

Symbol Explanation of the

symbol

Number of jobs

Jobs

Processing time of each

jobs

Number of machines

Machines

Production capacity of

machines

The time windows of the

jobs, where

Setup times of the jobs,

where 0 indicates the

reset state of the machine.

Decision variable.

1 if the job and job

belongs to the machine, and after the job the machine performs

the job.

0 else

Starting time of the job