0% found this document useful (0 votes)
26 views17 pages

International Journal of Production Research: Click For Updates

Uploaded by

Olivia brianne
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views17 pages

International Journal of Production Research: Click For Updates

Uploaded by

Olivia brianne
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

This article was downloaded by: [Johns Hopkins University]

On: 01 January 2015, At: 11:40


Publisher: Taylor & Francis
Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,
37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Production Research


Publication details, including instructions for authors and subscription information:
http://www.tandfonline.com/loi/tprs20

Genetic algorithm with local search for the unrelated


parallel machine scheduling problem with sequence-
dependent set-up times
a a a
Duygu Yilmaz Eroglu , H. Cenk Ozmutlu & Seda Ozmutlu
a
Department of Industrial Engineering, Uludag University, Bursa, Turkey
Published online: 02 Jun 2014.

Click for updates

To cite this article: Duygu Yilmaz Eroglu, H. Cenk Ozmutlu & Seda Ozmutlu (2014) Genetic algorithm with local search
for the unrelated parallel machine scheduling problem with sequence-dependent set-up times, International Journal of
Production Research, 52:19, 5841-5856, DOI: 10.1080/00207543.2014.920966

To link to this article: http://dx.doi.org/10.1080/00207543.2014.920966

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained
in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no
representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the
Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and
are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and
should be independently verified with primary sources of information. Taylor and Francis shall not be liable for
any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever
or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of
the Content.

This article may be used for research, teaching, and private study purposes. Any substantial or systematic
reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any
form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://
www.tandfonline.com/page/terms-and-conditions
International Journal of Production Research, 2014
Vol. 52, No. 19, 5841–5856, http://dx.doi.org/10.1080/00207543.2014.920966

Genetic algorithm with local search for the unrelated parallel machine scheduling problem
with sequence-dependent set-up times
Duygu Yilmaz Eroglu*, H. Cenk Ozmutlu and Seda Ozmutlu

Department of Industrial Engineering, Uludag University, Bursa, Turkey


(Received 14 March 2013; accepted 18 April 2014)

In this paper, a genetic algorithm (GA) with local search is proposed for the unrelated parallel machine scheduling prob-
lem with the objective of minimising the maximum completion time (makespan). We propose a simple chromosome
structure consisting of random key numbers in a hybrid genetic-local search algorithm. Random key numbers are fre-
quently used in GAs but create additional difficulties when hybrid factors are implemented in a local search. The best
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

chromosome of each generation is improved using a local search during the algorithm, but the better job sequence
(which might appear during the local search operation) must be adapted to the chromosome that will be used in each
successive generation. Determining the genes (and the data in the genes) that would be exchanged is the challenge of
using random numbers. We have developed an algorithm that satisfies the adaptation of local search results into the GAs
with a minimum relocation operation of the genes’ random key numbers – this is the main contribution of the paper. A
new hybrid approach is tested on a set of problems taken from the literature, and the computational results validate the
effectiveness of the proposed algorithm.
Keywords: parallel machine scheduling; sequence-dependent set-up times; genetic algorithms

1. Introduction
This work focuses on the problem of scheduling jobs with machine- and sequence-dependent set-up times on unrelated
parallel machines to minimise the maximum completion time (makespan). The unrelated parallel machine scheduling
problem (PMSP) has a set N = {1, …, n} of n jobs that must be processed on one machine in a set M = {1, …, m} of m
unrelated parallel machines (Rm). When job’s processing time is dependent on the assigned machine and there is no rela-
tionship among these machines, the machines are considered unrelated. The set-up times are sequence and machine
dependent (Sijk ). Each machine has its own matrix of set-up times, and these matrices differ from one another. The set-
up time on machine i between jobs j and k differs from the set-up time between jobs k and j on the same machine.
In scheduling theory, the makespan (Cmax) is defined as the completion time of the final job (when it leaves the sys-
tem). A smaller Cmax implies a higher utilisation, which is closely related to the throughput rate of the system. There-
fore, reducing Cmax will lead to a higher throughput rate (Kashan, Karimi, and Jolai 2010). Therefore, minimising the
makespan is the objective of this study. The problem will be referred to as Rm/Sijk/Cmax. Minimising the makespan of a
scheduling problem with m identical parallel machines and sequence-dependent set-up times is categorised as NP-Hard
(Yalaoui and Chu 2003). Thus, a more complex case of the problem with unrelated parallel machines is also NP-Hard.
We propose a simple chromosome structure that consists of random key numbers in a hybrid genetic-local search
algorithm. In the existing literature, random key numbers are frequently used in chromosomes. However, a local search
application inside the genetic algorithm (GA) makes the situation more complex. Inside each generation of the GA, we
attempt to determine a better job sequence using a local search. The better job sequence must be adapted to the chromo-
some that will be used in each successive generation. We must determine the data to be exchanged, the condition and in
which genes we will regenerate the new random key numbers. To manage the random key numbers according to the
desired sequence that might appear during the local search operations implemented in the GA, we develop algorithms
that satisfy the adaptation of local search results into the GAs with a minimum relocation operation of the genes’
random key numbers. The performance of the proposed approach is tested on small and large benchmark sets of
instances, and the results show that the proposed genetic algorithm with local search (GALA) outperforms the solution
of ant colony optimization (ACO) (Arnaout, Rabadi, and Musa 2010) in most scenarios, whose performance was better

*Corresponding author. Email: [email protected]

© 2014 Taylor & Francis


5842 D. Yilmaz Eroglu et al.

when compared with the other heuristics, according to our knowledge. To validate the proposed algorithm, another
comparison is made using integrating the dominance properties with a genetic algorithm (GADP2) which was suggested
by Chang and Chen (2011). Also in this comparison, proposed GALA outperformed the GADP2. Because the proposed
hybrid algorithms are specifically designed, we cannot use standard GA applications. Therefore, we have developed a
computer programme using C# for the proposed hybrid genetic-local search algorithms. This paper is organised as fol-
lows. Section 2 provides a review of the existing literature. In Section 3, the proposed GA is described. The local search
technique based on integrated dominance properties is explained in Section 4. In Section 5, the experimental design and
computational results are reported. Section 6 concludes the paper.

2. Literature review
PMSPs were first developed by McNaughton (1959). Since then, these types of problems have received continuous
interest from researchers. Allahverdi et al. (2008) presented a review of scheduling problems with set-up times. They
classified scheduling problems into batching/non-batching considerations and with sequence-independent/sequence-
dependent set-up times. They also classified the literature according to shop environments (single machine, parallel
machines, flow shop, no-wait flow shop, flexible flow shop, job shop and open shop, among others). Machine set-up
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

time is an important factor for scheduling problems in manufacturing environments, and researchers have also investi-
gated sequence-dependent set-up times. Zhu and Wilhelm (2006) presented a review of scheduling problems that
included sequence-dependent set-up times. Guinet (1993) proposed a new heuristic to solve the identical PMSP with
sequence-dependent set-up times and the performance of a method was evaluated on different problem sizes. Kurz and
Askin (2001) developed several heuristics for the problem of scheduling in identical parallel machines with sequence-
dependent set-up times and possibly non-zero ready times. Radhakrishnan and Ventura (2000) developed a mathematical
programming formulation and simulated annealing algorithm for the identical parallel machines scheduling problem that
considers earliness-tardiness penalties and sequence-dependent set-up times. Li and Yang (2009) reviewed non-identical
parallel machine scheduling with minimisation of total weighted completion times. Models and relaxations were catego-
rised in this paper, and heuristics and optimising methods were surveyed for the problems. Lin, Pfund, and Fowler
(2011) compared the performances of various heuristics for unrelated PMSPs. They presented a metaheuristic, and the
results of computations showed that the proposed method outperformed other existing heuristics for each of the three
objectives – minimised makespan, total weighted completion time and total weighted tardiness – when run with a
parameter setting that was appropriate for the objective.
Martello, Soumis, and Toth (1997) developed lower bounds for Rm||Cmax based on Lagrangian relaxation. Dessouky
(1998) presented a branch-and-bound procedure for uniform parallel machines to minimise the maximum lateness.
Azizoglu and Kirca (1999) formulated the scheduling of jobs on unrelated parallel machines to minimise the regular
total cost functions problem as a mathematical programme and then solved this problem using a branch-and-bound algo-
rithm. Liu and Chang (2000) proposed a Lagrangian relaxation-based approach. Chen and Powell (2003) observed that
solving a problem for non-identical parallel machines was more complex for any objective than identical parallel
machines and that a sequence-dependent set-up time would make the problem more complicated. Because of the prob-
lem complexity, researchers have tried to find an appropriate heuristic rather than an optimal solution for the parallel-
machine scheduling problem. Hop and Nagarur (2004) studied the scheduling problem of n printed circuit boards
(PCBs) for m non-identical parallel machines. A composite GA was developed to solve the multi-objective problem. The
test results of the proposed methodology showed that the solutions were efficient and obtained within a reasonable
amount of time. To adapt the GA to non-identical PMSPs, Balin (2011) proposed an algorithm with a new crossover
operator and an optimality criterion. The new algorithm was tested on a numerical example, and the findings indicated
that in addition to its high computational speed for larger-scale problems, the proposed GA fitted the non-identical
PMSP of minimising the makespan. Keskinturk, Yildirim, and Barut (2012) focused on minimising the average relative
percentage of imbalance and used the ACO algorithm for load balancing in parallel machines with sequence-dependent
set-up times. The test results for different random data showed that the ACO outperformed the GA and heuristics. Lin
and Hsieh (2014) focused on unrelated PMSP with set-up times and ready times to minimise total weighted tardiness.
They presented a mixed integer programming model, a heuristic and iterated hybrid metaheuristic for the studied prob-
lem and the performance of proposed methods was evaluated by comparing the existing metaheuristics.
Random keys GA was introduced by Bean (1994). Using random keys as the encoding scheme is easy to adjust to
electromagnetism-like mechanism simulated annealing (Jamili, Shafia, and Tavakkoli-Moghaddam 2011) and genetic
(Huang, Huang, and Lai 2012) algorithms. Random keys in our study, give us the opportunity of getting feasible solu-
tions after each crossover operation in GA. Conversely, random keys create additional difficulty when hybrid factors are
International Journal of Production Research 5843

implemented in a local search. The proposed algorithm GALA, managed to solve this problem using developed calibra-
tion method.
In this section, some of the previous studies on the unrelated PMSP with the objective of minimising the makespan
are discussed. All of these studies and the study in this paper considered the following assumptions:
 machine-dependent and job sequence-dependent set-up times
 all of the jobs are available at time zero
A metaheuristic Meta-RaPS was introduced by Rabadi, Moraga, and Al-Salem (2006), and its performance was eval-
uated by comparing its solutions to those obtained by existing heuristics. The results of the metaheuristic showed that
the solutions were efficient. A two-stage ACO algorithm was proposed by Arnaout, Rabadi, and Musa (2010). The per-
formance of this metaheuristic was evaluated using benchmark problems, and the solutions were found to be efficient.
Another method was suggested by Chang and Chen (2011) for the same NP-Hard problem. A set of dominance proper-
ties was developed that included inter-machine and intra-machine switching properties as necessary conditions of job
sequencing orders in the derived optimal schedule. These researchers also introduced a new meta-heuristic by GADP2.
The performance of this meta-heuristic was evaluated by using the benchmark problems, and the solutions were found
to be efficient. Rabadi, Moraga, and Al-Salem (2006), Arnaout, Rabadi, and Musa (2010), Chang and Chen (2011) used
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

SchedulingResearch (2005) data-sets. In this research, we used the same data-set and the proposed GALA outperformed
the mentioned methods in most of the combinations studied in this paper. Vallada and Ruiz (2011) proposed a GA that
included a crossover operator with a limited local search along with a fast local search procedure; this method was
tested on another data-set and outperformed the evaluated methods.

3. Proposed genetic algorithm


The GA is a search technique based on the principles of genetics and natural selection. One of the important issues is
the genetic representation (string of symbols) of each solution in a population. A GA begins by creating an initial popu-
lation of chromosomes. The string is referred to as a chromosome and the symbols as genes. After the initial population
is generated and the ‘fitness’ (i.e. minimisation of the Cmax) values for each chromosome are determined, the GA manip-
ulates the selection process by such operations as reproduction, crossover and mutation. The algorithm was introduced
in the 1970s by Holland (1975). As the searching technique of GAs (Goldberg 1989) became popular in the mid-1980s,
many researchers began to apply this heuristic to scheduling problems.
The encoding must be designed to utilise the algorithm’s ability to transfer information among chromosome strings
efficiently and effectively (Goldberg 1989). To qualify our encoding scheme, the permutation of jobs in this work is
shown through random keys. Each job has a random number between 0 and 1. These random keys show the relative
order of the jobs for each machine. A detailed description of developed GALA is provided in the following subsections.

3.1 Encoding scheme


In the proposed GALA, a chromosome is designed by a string of random keys. Figure 1 illustrates a sample chromo-
some structure. The string involves n (number of jobs) sections. Each section is further divided into m (number of
machines) genes. Each gene has a random key number. The sequence of jobs will be determined by the random key
numbers (between 0 and 1) of each gene. For the chromosome structure in Figure 1, we have 2 machines and 3 jobs.
For Job1, select the machine that has the smallest random number between the numbers generated for Job1. The selected
value is 0.21, which indicates Machine1. Thus, Job1 will be processed on Machine1. For Job2, Machine2 will be selected
with a value of 0.14. Similarly, for Job3, Machine2 will be selected with the min value of 0.76. The selected values
(0.21, 0.14 and 0.76) are provided in bold in Figure 1.

Jobs 1 2 3
Machines 1 2 1 2 1 2

Random Keys 0.21 0.32 0.63 0.14 0.95 0.76

Figure 1. Representation of a chromosome in the proposed GALA.


5844 D. Yilmaz Eroglu et al.

3.2 Fitness function (Cmax)


According to the problem under consideration, there are machine-dependent processing times and sequence-dependent
set-up times.
 pij: processing time of Jobj, j ∈ N at Machinei, i ∈ M.
 Sijk: machine-based, sequence-dependent set-up time on Machinei, i ∈ M when processing Jobk, k ∈ N after
having processed Jobj, j ∈ N.
For the example that considered three jobs and two machines, Table 1 contains the processing times for Machine1
and Machine2. The set-up times of Machine1 and Machine2 for the jobs under consideration are shown in Tables 2 and
3, respectively. The values on the diagonals of Tables 2 and 3 indicate the set-up times if the related job is processed at
the first position of the machines. According to the chromosome shown in Figure 1, Machine1 will process Job1;
Machine2 will process both Job2 and Job3. The sequence of jobs on Machine2 will be determined according to the ran-
dom key numbers (0.14 and 0.76). Increasing the arrangement of these random numbers will constitute the job sequence
of Machine2. The sequence will be Job2–Job3 for Machine2. Machine1 will only process Job1. The completion time of
the operations on Machine1 is 18, and completion time of operations on Machine2 is 33 according to the pij and Sijk val-
ues. Thus, Cmax will be 33. The chromosome’s schedule and makespan value are shown in Figure 2. The number of dif-
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

ferent chromosomes and Cmax values will be determined by the population size.

3.3 Genetic operators


After the initial population has been generated, selection, crossover and mutation operations are iteratively used to
search for the best solution.
 Selection: In the proposed GALA, chromosomes are selected into the mating pool based on the random selec-
tion method (Haupt and Haupt 2004). According to this method, moms and dads are randomly chosen from the
population.
 Crossover: Crossover is a method for sharing information between chromosomes. Pc is the crossover rate,
which will determine the quantity of crossover operations into the population. The crossover operator will be
applied to selected chromosomes. Single-point crossover will be used as the crossover operator in our algo-
rithm. This operator randomly chooses the crossing point and exchanges the genes between two parents to cre-
ate offspring. Figure 3 illustrates this operation.
In Figure 3, the crossing point is selected randomly at position two. To create Offspring1, first, Parent1 passes its
genes that are on the left of the crossover point to Offspring1. In a similar manner, Parent2 passes its genes to the left
of the same crossover point to Offspring2. Next, the genes to the right of the crossover point of Parent1 (Parent2) are
copied to Offspring2 (Offspring1).
 Mutation: To prevent convergence to a local optimum, the mutation operator is used. In the proposed algorithm,
a mutation is implemented as follows. Chromosomes to which the mutation operation will be applied are ran-
domly selected from the population according to the mutation rate (Pm). The value of the randomly selected
gene of the chromosome will be replaced with a new random number. This operation will be applied to all of
the selected chromosomes. In this manner, chromosomes with new schedules and makespan values are
obtained. The fitness value may be better, worse or the same after applying this operator. For an example, in
Figure 4, if the randomly selected chromosome is Parent1 and the randomly selected gene’s key number, 0.95,
is changed to 0.45, which is also randomly generated for the mutation operation, the sequence on Machine1
and Machine2 will be altered. New selected values are given in bold in Parent1* in Figure 4. Machine1 will
process Job1 and Job3. Machine2 will process Job2. This process will generate a new makespan value of 32,
which is better than the previous value.

Table 1. Total processing times of the jobs on the machines.

pij Job1 Job2 Job3

Machine1 14 11 12
Machine2 17 19 10
International Journal of Production Research 5845

Table 2. Set-up times for Machine1.

Sijk Job1 Job2 Job3

Job1 4 8 2
Job2 6 3 4
Job3 3 7 1

Table 3. Set-up times for Machine2.

Sijk Job1 Job2 Job3

Job1 2 5 6
Job2 4 1 3
Job3 2 1 4
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

S111:4 + p11:14=18

Machine1 Job1

S222:1 + p22:19=20 S223:3 + p23:10=13

Machine2 Job2 Job3

18 20 33

Figure 2. Resulting schedule and Cmax for chromosome in Figure 1.

Parent1 0.21 0.32 0.63 0.14 0.95 0.76

Parent2 0.62 0.54 0.89 0.42 0.26 0.33


Crossover point is two

Offspring1 0.21 0.32 0.89 0.42 0.26 0.33

Offspring2 0.62 0.54 0.63 0.14 0.95 0.76

Figure 3. Crossover operation: two parents mate to produce two offspring.

4. Local search
Integrating a local search technique within a GA will typically generate more competitive results. The integrated domi-
nance properties method was proposed by Chang and Chen (2011). In this method, the decision to exchange two jobs
(intra-machine or inter-machines) is made according to the result of calculations, which are detailed described in the
cited paper. While adapting this method to our GALA, we designed a local search method based on integrated domi-
nance properties. Our goal was to search all possible chromosome alternatives in order to gain better processing and
5846 D. Yilmaz Eroglu et al.

Jobs 1 2 3
Machines 1 2 1 2 1 2

Parent1 0.21 0.32 0.63 0.14 0.95 0.76

Parent1* 0.21 0.32 0.63 0.14 0.45 0.76

Figure 4. Mutation operation.

set-up times for each job. In the proposed local search method, the following three disparities were created (as compared
with integrated dominance properties method).
(1) Job interchange: We only use set-up times (instead of adjusted processing times which is described in the
study of Chang and Chen (2011)), while interchanging two jobs that are processed on the same machine
(2) Job exchange: Although the jobs under consideration are not on the same machine, set-up times and process-
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

ing times are both considered in the calculations.


(3) During the job interchanges or exchanges on chromosome, the random numbers must be redesigned. After
the decision to interchange or exchange jobs is made, random numbers must be redesigned to achieve the
required sequence. To change the minimum number of random numbers on the chromosome, a new approach
is generated. This process – calibration of random numbers – is also managed and coded in the proposed
local search method.
All of the situations for local search have been considered and written in pseudo-code summarised in Appendix 1.
The proposed inter-machine (interchange) and intra-machine (exchange) job changes will be explained in the subsection
of ‘A’ and the calibration of random numbers will be explained in the subsection of ‘B’. The notation for the pseudo-
code and explanations of local search is as follows.
g: Number of selected genes from the chromosome, which is ordered by machine and then by job sequence. Each
individual gene contains machine and job features. Figure 5 explains the sample gene structure for an example with
seven jobs and two machines. The structure also indicates the sequence of jobs for each machine.
 i and j: Comparing gene numbers to decide whether the jobs in these genes should be exchanged.
 Gene(i)Machine: Indicates the machine number on ith gene. According to the structure shown in Figure 5, the
machine number for 1st gene (Gene(1)Machine) is 1.
 Gene(i)Job: Indicates the job number on ith gene. According to the structure shown in Figure 5, the job number
for 1st gene (Gene(1)Job) is 4.
 STMach(i)Job( j,k): Set-up time on Gene(i)Machine between Gene(j)Job and Gene(k)Job.
 PTMach(i),Job( j): Processing time of Gene(j)Job on Gene(i)Machine
 CT_Gene(i)Machine: Completion time of Gene(i)Machine

(A) Interchange and exchange of jobs


(a) Interchange of jobs: There are two cases to be considered within the inter-machine interchange, they are
adjacent jobs interchange and non-adjacent jobs interchange.
(i) In the inter-machine, adjacent jobs interchange section of pseudo-code, steps are as follows;
(1) If Gene(i − 1)Job precedes Gene(i)Job, then ‘a’ represents the sum of set-up time differences
between after interchange and before interchange situations.
(2) If Gene(i)Job is the first job on the machine, ‘b’ represents the sum of set-up time differences
between after interchange and before interchange situations.

Gene number 1 2 3 4 5 6 7
Machine number 1 1 1 1 2 2 2
Job number 4 5 7 2 1 3 6

Figure 5. Sample gene structure for an example that contains seven jobs and two machines.
International Journal of Production Research 5847

(3) Either ‘a’ or ‘b’ must be equal to 0


(4) If Gene(j)Job precedes Gene(j + 1)Job, then ‘c’ represents set-up time differences between after
interchange and before interchange situations.
(5) If the sum of a, b and c is less than 0, a better completion time is obtained. Let interchange
Gene(i)Job and Gene(j)Job exist on the schedule.
(6) Then, calibrate random key numbers. Subsection ‘B’, item ‘i’ is description of inter-machine
interchange.
(ii) Non-adjacent interchange: The steps for determining whether interchanges Gene(i)Job and Gene
(j)Job are on the schedule are similar to adjacent interchange. During the calculation of ‘a’ and ‘b’,
additional set-up time differences coming into existence. The remaining steps are the same as adja-
cent interchange situation.
(b) Intra-machine exchanging: Intra-machine exchanging section of pseudo-code steps are as follows;
(1) Calculate completion times of Gene(i)Machine and Gene(j)Machine before exchange. ‘D1’ represents
maximum value of these two values.
(2) If Gene(i − 1)Job precedes Gene(i)Job on Gene(i)Machine, then ‘a1’ represents set-up time differences
between after interchange and before interchange situations. If Gene(i)Job is the first job on
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

Gene(i)Machine, second ‘a1’ of pseudo-code represents the sum of set-up time differences between
after interchange and before interchange situations.
(3) If Gene(i)Job precedes Gene(i + 1)Job on Gene(i)Machine, then ‘a2’ represents set-up time differences
between after interchange and before interchange situations.
(4) If Gene(j − 1)Job precedes Gene(j)Job on Gene(j)Machine, then ‘b1’ represents set-up time differences
between after interchange and before interchange situations. If Gene(j)Job is the first job on
Gene(j)Machine, second ‘b1’ of pseudo-code represents the sum of set-up time differences between
after interchange and before interchange situations.
(5) If Gene(j)Job precedes Gene(j + 1)Job on Gene(j)Machine, then ‘b2’ represents set-up time differences
between after interchange and before interchange situations.
(6) Calculate new completion times of Gene(i)Machine and Gene(j)Machine after possible exchange. ‘D2’
represents the maximum value of these two values.
(7) If D2 is smaller than D1, then a better completion time is obtained. Let exchange Gene(i)Job and
Gene(j)Job exist on the schedule.
(8) Then, calibrate random key numbers. Subsection ‘B’, item ‘ii’ is description of intra-machine
exchange.
(B) Calibration of random numbers on the chromosome: If we decide to change Gene(i)Job and Gene(j)Job, we
must calibrate the chromosome to recognise the new situation. To recognise the job changes by chromosome,
the following configurations must also be integrated in the code.
(i) Inter-machine interchange: Figure 6 shows before and after interchange of jobs on the same machine.

Figure 6. An example for calibration of random numbers on the chromosome for inter-machine interchanges.
5848 D. Yilmaz Eroglu et al.

Selected genes from chromosome and non-selected genes from chromosome constitute a chromosome.
The realised interchanges are shown in bold on the after interchange section of Figure 6. The steps for
interchanging Gene(i)Job and Gene(j)Job in Figure 6 are as follows.
(1) Random numbers of the jobs are exchanged (0.14 for Gene(i)Job → JobB and 0.40 for
Gene(j)Job → JobA will be changed to 0.14 for Gene(i)Job → JobA, 0.40 for Gene(j)Job → JobB)
(2) 0.14 is smaller than 0.40. Therefore, there is no need to change the other random numbers for JobA
after the interchange because the current situation guarantees that JobA will select Machine1.
(3) 0.40 is bigger than 0.14. Therefore, after the interchange, the other random numbers for JobB smal-
ler than 0.40 must be changed. For example, 0.23 is smaller than 0.40. A new random number
greater than 0.40 will be randomly generated (0.56) and changed with 0.23. Thus, JobB will to
select Machine1.
(ii) Intra-machine exchange: Figure 7 shows before and after exchange of jobs on two different machines.
The realised exchanges are shown in bold in the after exchange section of Figure 7. The steps of
exchanging Gene(i)Job and Gene(j)Job in Figure 7 are as follows.
(1) Random numbers of the jobs (Gene(i)Job → JobB and Gene(j)Job → JobC) for related machines
(Machine1, Machine2) are exchanged. (0.14 and 0.23 will be exchanged with 0.78 and 0.12)
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

(2) 0.12 is smaller than 0.14. Therefore, there is no need to change the other random numbers for JobB
after the exchange because the current situation guarantees that JobB will select Machine2.
(3) 0.14 is bigger than 0.12. Therefore, after the exchange the other random numbers for JobC smaller
than 0.14 must be changed. For example, 0.13 is smaller than 0.14. A new random number greater
than 0.14 will be randomly generated (0.54) and changed with 0.13. Thus, JobC will to select
Machine1.

5. Experimental design and computational results


The proposed algorithm was coded in C# language and run on a computer with an Intel Core 2 Duo processor running
at 2.26 GHz. Test samples were provided by SchedulingResearch (2005).

5.1 Experimental results and parameter values


Makespan values and elapsed times were registered for the selected 4-machine, 20-job problem structure for every 100
generations up to 1000 generations to determine the optimal number of generations. Figure 8 provides the average
makespan values and elapsed times of five replications for the analysed generations with the selected parameters.
Figure 8 shows that after 500 generations, there is no improvement in the makespan. Thus, the number of generations
can be set to 500.

Figure 7. An example for calibration of random numbers on the chromosome for intra-machine exchanges.
International Journal of Production Research 5849
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

Figure 8. Average makespan values and elapsed times for the determined number of generations.

The parameter configuration of the GALA was established by the Design of Experiment (DoE) method.
The 4-machine, 20-job problem structure was chosen to determine the optimal parameter setting by DoE. The levels of
the three factors are listed in Table 4. Five replications were conducted for each combination, and the makespan values
were calculated by running the programme until 500 generations had elapsed. In Table 5, the estimates obtained through
the regression analysis are shown, including significant factors (p-value ≤ 0.05). The results indicate that the probability
of crossover (Pc), probability of mutation (Pm) and the interaction of them (Pc*Pm) are significant, with low p-values
shown (in bold) in Table 5. The best combination of values is in bold face in Table 4 (details about the statistical analy-
sis are not shown due to space restrictions). According to Table 4, when Psize is equal to 100, Pc is equal to 1 and Pm
is equal to 0.2, which are shown in bold, the algorithm yields the better performance in terms of makespan. To check
the selected parameter values, we made the second analysis by decreasing the value of the mutation rate (Pm) to 0.1,
but we could not get the better results. The population size (Psize) is not set to greater values than 100 because of the
high impact on the elapsed time. And the crossover rate (Pc) is already set to the maximum possible value of 1.

5.2 Computational results


The proposed algorithm was tested on problem sets that were obtained from SchedulingResearch (2005). For all
instances, the processing and set-up times were uniformly distributed between 50 and 100. To test the effect of the num-
ber of jobs and machines on the algorithms, two different problem sets were created. For small instances, the combina-
tions were 2 machines and 6, 7, 8, 9, 10, and 11 jobs; 4 machines and 6, 7, 8, 9, 10, and 11 jobs; 6 machines and 8, 9,
10, and 11 jobs; and 8 machines and 10 and 11 jobs. For large instances, the combinations were 2 machines and 20
jobs, 4 machines and 20 jobs, 6 machines and 20, 40, 60, 80 and 100 jobs, 8 machines and 20, 40, 60, 80 and 100 jobs,
and 10 machines and 20, 40, 60, 80 and 100 jobs. Each machine–job combination was tested with 15 instances of the
problem. We compared the results obtained for the GALA with those obtained for the ACO that was introduced by
Arnaout, Rabadi, and Musa (2010) in the first sub section and with those obtained for the GADP2 that was introduced
by Chang and Chen (2011) in the second sub-section.

Table 4. Parameter values used to assess the proposed genetic algorithm.

Parameter Value

Population size (Psize) 80; 100


Probability of crossover (Pc) 0.5; 1.0
Probability of mutation (Pm) 0.2; 0.5
5850 D. Yilmaz Eroglu et al.

Table 5. Parameter estimates.

Term Effect Coef. SE Coef. T P

Constant 606.025 0.2789 2172.53 0.000


Psize −0.450 −0.225 0.2789 −0.81 0.426
Pc −2.450 −1.225 0.2789 −4.39 0.000
Pm 1.350 0.675 0.2789 2.42 0.021
Psize × Pc 0.050 0.025 0.2789 0.09 0.929
Psize × Pm −0.150 −0.075 0.2789 −0.27 0.790
Pc × Pm −1.150 −0.575 0.2789 −2.06 0.047
Psize × Pc × Pm 0.750 0.375 0.2789 1.34 0.188

5.2.1 Comparison with ACO


The algorithms that employed the aforementioned data-set resource, compared by Arnaout, Rabadi, and Musa (2010)
and the ACO proposed by Arnaout, Rabadi, and Musa (2010), outperformed the other algorithms. Thus, we compared
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

the results obtained for the proposed algorithm with those obtained for the ACO that was introduced by Arnaout,
Rabadi, and Musa (2010).
The average relative percentage improvement (δ) was computed for each instance according to the following expres-
sion:
CmaxGA  CmaxACO
Relative percentage improvement ðdÞ ¼ 1   100:
CmaxACO
where CmaxACO is the solution of the algorithm proposed by Arnaout, Rabadi, and Musa (2010) and CmaxGA is the solu-
tion obtained by the proposed GALA. The smaller Cmax value is better. Because of the perception of improvement gener-
ally reminiscent of positive value, ‘–1’ is multiplied in the formulation. So, positive relative percentage improvement (δ)
value indicates our algorithm gives better results than the compared one. Our algorithm was run for small and large
instances in two cases. The first case was ‘Pc: 0.5, # of Generation: 300’, and the second case was ‘Pc: 1, # of Genera-
tion: 500’ based on the experimental design results. All of the other experimental design parameters remained constant
for each case.
Figure 9 shows the average relative percentage improvement values for small instances. For small instances, the pro-
posed GALA outperforms ACO, which outperformed the other heuristic methods. The average δ value in the case of
‘Pc: 0.5, # of Generation: 300’ was 0.027, while the average δ value in the case of ‘Pc: 1, # of Generation: 500’ was
0.032. For some of the small problems, the optimal solution was found beforehand by the MIP that was proposed by
Rabadi, Moraga, and Al-Salem (2006). These combinations are denoted in Figure 9 with triangles.
For large instances, the Cmax values and standard deviations (SD) were calculated and compared with those obtained
using ACO. Table 6 shows the average values of Cmax and SD for the proposed GALA and ACO. According to Table 6,
the proposed GA outperforms ACO in terms of SD for large instances. Table 6 also shows that GALA outperforms ACO

Figure 9. Average relative percentage improvement for small instances.


International Journal of Production Research 5851

Table 6. Comparison of the average Cmax and SD values for the proposed GALA and ACO.

GALA ACO
# of machines # of jobs Cmax SD Cmax SD

2 20 1236.20 31.39 1237.80 32.15


4 20 609.73 10.5 617.13 11.23
20 445.93 4.76 452.73 6.77
40 790.87 8.42 805.4 10.39
6 60 1162.40 8.62 1163.47 15.87
80 1543.93 10 1545.33 11.49
100 1910.13 7.47 1897.47 14.21
20 340.13 5.01 347.6 8.38
40 589.27 4.35 599.27 9.3
8 60 882.67 6.09 893.8 10.19
80 1150.20 7.93 1142.40 8.67
100 1430.87 5.08 1439.07 12.91
20 245.73 4.18 252.53 6.2
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

40 474.53 3.48 485.53 8.99


10 60 699.47 5.73 708.27 8.44
80 926.6 4.7 925.87 10.28
100 1149.00 9.69 1141.53 19.17

for 13 combinations out of the 17, in terms of Cmax. Figure 10 shows comparison of SD for GALA and ACO in graph.
According to Figure 10, in each point, GALA outperforms ACO in terms of SD for large instances. To show whether
the difference is significant or not, we applied paired t-test using 15 instances’ results of GALA and ACO for each com-
bination. The results of paired t-test are shown in Table 7. The significances of bold and italic values in Table 7 can be
clarified as follows: for 13 combinations (bold numbers in T-value column) out of the 17, GALA has better Cmax values,
but the results also indicate that the difference is significant between proposed GALA and ACO for 10 combinations
(bold numbers in p-value column) out of the 13 with low p-values (≤0.05), as shown in Table 7. For 4 combinations
out of the 17 (italic numbers in T-value column) ACO has better Cmax values. But, the difference is significant between
ACO and GALA for 2 combinations (italic numbers in p-value column) out of 4, with low p-values as shown in Table 7.
The average relative percentage improvement (δ) was computed for large instances, as shown in Figure 11. The average

Table 7. The results of paired t-test for each combination.

Paired t-test results*


# of machines # of jobs 95% CI for mean difference T-value p-value

2 20 (–0.70; 3.90) 1.49 0.158


4 20 (4.78; 10.02) 6.06 0.000
20 (4.769; 8.831) 7.10 0.000
40 (10.52; 18.54) 7.78 0.000
6 60 (–5.28; 7.42) 0.36 0.724
80 (–4.63; 7.43) 0.50 0.626
100 (–18.71; −6.62) −4.49 0.001
20 (4.43; 10.51) 5.27 0.000
40 (4.83; 15.17) 4.15 0.001
8 60 (5.75; 16.52) 4.43 0.001
80 (–13.07; −2.53) −3.18 0.007
100 (1.94; 14.46) 2.80 0.014
20 (3.61; 9.99) 4.57 0.000
40 (6.01; 15.99) 4.73 0.000
10 60 (4.23; 13.37) 4.13 0.001
80 (–6.85; 5.38) −0.26 0.801
100 (–17.97; 3.03) −1.53 0.149

*(t-test of mean difference = 0 (vs. not = 0)).


5852 D. Yilmaz Eroglu et al.
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

Figure 10. Comparison of SD values for GALA and ACO.

δ value in the case of ‘Pc: 0.5, # of Generation: 300’ was 0.07, while the average δ value in the case of ‘Pc: 1, # of
Generation: 500’ was 0.84. It can be concluded from Table 6, Table 7, Figures 10 and 11, that the proposed GALA out-
performs the ACO algorithm for the stated combinations especially in the case of ‘Pc: 1, # of Generation: 500.
Even though the computational times for ACO are not available for comparison with the proposed GALA, the aver-
age computational times for the stated small and large problem set combinations are reported in Table 8. For small prob-
lem sets, the computational time for the ‘Pc: 0.5, # of Generation: 300’ case was 3.14 times better than that for the ‘Pc:
1, # of Generation: 500’ case on average. Similarly, for large problem sets, the computational time for the ‘Pc: 0.5, # of
Generation: 300’ case was 3.10 times better than that for the ‘Pc: 1, # of Generation: 500’ cases on average.

Figure 11. Average relative percentage improvement for large instances.


International Journal of Production Research 5853

Table 8. Average computational times for the proposed GALA (s).

Small problem sets Large problem sets


Average CPU (s) Average CPU (s)
# of # of Pc: 1, # of Pc: 0.5, # of # of # of Pc: 1, # of Pc: 0.5, # of
machines jobs generation: 500 generation: 300 machines jobs generation: 500 generation: 300

2 6 8.55 2.74 2 20 107.94 31.01


2 7 11.28 3.56 4 20 169.94 49.56
2 8 14.44 4.60 6 20 213.03 61.67
2 9 18.02 5.73 6 40 1096.83 338.38
2 10 23.45 7.10 6 60 3012.35 921.70
2 11 26.30 8.66 6 80 6201.28 1905.52
4 6 12.43 3.99 6 100 11,361.07 3514.64
4 7 16.54 5.27 8 20 238.27 72.96
4 8 21.57 6.88 8 40 1239.80 402.04
4 9 26.73 8.64 8 60 3313.30 1092.21
4 10 35.47 10.94 8 80 6925.12 2244.14
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

4 11 41.91 13.28 8 100 12,736.27 3944.99


6 8 26.09 8.44 10 20 267.34 80.95
6 9 33.03 10.62 10 40 1396.59 451.70
6 10 42.20 13.34 10 60 3715.72 1199.50
6 11 50.94 16.57 10 80 7689.28 2600.85
8 10 47.67 15.36 10 100 14,353.08 4946.21
8 11 58.73 18.61 Average CPU (s) 4355.13 1403.41
Average CPU (s) 28.63 9.13

Table 9. Comparison of the minimum, average and maximum Cmax values for the proposed GALA and GADP2.

GALA GADP2
Cmax Cmax
# of machines # of jobs Min Avg Max Min Avg Max

2 20 1196.00 1236.20 1297.00 1242.00 1254.00 1266.00


20 434.00 445.93 452.00 448.00 454.00 459.00
6 40 778.00 790.87 805.00 809.00 831.00 853.00
60 1147.00 1162.40 1176.00 1219.00 1246.00 1270.00
80 1526.00 1543.93 1569.00 1622.00 1648.00 1672.00

Figure 8 is useful for determining the effect of the number of generations on computation time. In the 4 machine,
20 job case, the best solution is 604 for Cmax. Although, as the number of generations increased to 500, the algorithm
achieved the best solution of Cmax on average (obtained by five trials); three out of five runs for 300 generations had
the best result with a SD of 4.83. Decreasing the number of generation from 500 to 300 results in a computational time
savings of 39%, as shown in Figure 8.

5.2.2 Comparison with GADP2


To validate the proposed algorithm, another comparison is made using GADP2, which was suggested by Chang and
Chen (2011). Table 9 shows the results of this comparison. Five combinations – which are studied in both studies – are
considered for the comparison. In Table 9, Min is the lower bound value, Max is the upper bound value and Avg is the
average value of 15 instances for each combination. It can be concluded from Table 9 that the proposed GALA outper-
forms the GADP2 for the Min, Max and Avg values of stated combinations.

6. Conclusions and future direction of research


In this work, we have proposed a GALA for the unrelated PMSP with machine-dependent and sequence-dependent set-
up times to minimise the makespan. The proposed algorithm is innovated in its use of random key numbers to
5854 D. Yilmaz Eroglu et al.

determine the schedule of each machine and its application of a local search method based on integrated dominance
properties. To overcome the problem of managing random key numbers according to the desired job sequence that
might appear during a local search operation implementing the GA, various methods are developed. The proposed algo-
rithm was validated using small and large problems sets that were provided by SchedulingResearch (2005).The parame-
ter values of the GA were determined according to the DoE approach. After the algorithm was calibrated, we obtained
the best combination of parameters. Then, the programme was run with the selected parameters and the results were
compared with those obtained by ACO, which was proposed by Arnaout, Rabadi, and Musa (2010) and the GADP2 that
was introduced by Chang and Chen (2011). The proposed GALA obtained better results compared with those obtained
by ACO for most of the combinations. Also, in the second comparison, GALA outperforms GADP2 that was introduced
by Chang and Chen (2011) for the studied combinations.
Applying the proposed GALA on the other field of activity, for example, data mining might be noteworthy. It would
be interesting to extend the study allowing the combination of features from ACO and GALA. Future research directions
involve the consideration of different search algorithms, such as simulated annealing and the noising method. Generating
hybrid algorithms through the use of different meta-heuristics’ strengths may be a worthwhile avenue of research. The
proposed hybrid approach can be applied on any GA-based methodology. For example, the study proposed by Kethley
and Alidaee (2002) can be a good candidate to apply our hybrid approach in the future studies. Application of the pro-
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

posed algorithm to multi-objective fitness functions would be a novel research topic. Other constraints, such as priority
conditions, could be incorporated into future research. Machine eligibility restriction would also be included into the
proposed method in order to get closer to the real systems as in the study of Hu, Bao, and Jin (2010). The other parallel
machines’ problems like batch-processing machines seem to be also interesting.
The proposed algorithm in this paper and benchmarks are available upon request from us.

References

Allahverdi, A., C. T. Ng, T. C. E. Cheng, and M. Y. Kovalyov. 2008. “A Survey of Scheduling Problems with Setup Times or Costs.”
European Journal of Operational Research 187: 985–1032.
Arnaout, J. P., G. Rabadi, and R. Musa. 2010. “A Two-stage Ant Colony Optimization Algorithm to Minimize the Makespan on
Unrelated Parallel Machines with Sequence-dependent Setup Times.” Journal of Intelligent Manufacturing 21: 693–701.
Azizoglu, M., and O. Kirca. 1999. “Scheduling Jobs on Unrelated Parallel-machines to Minimize Regular Total Cost Functions.” IIE
Transactions 31: 153–159.
Balin, S. 2011. “Non-identical Parallel Machine Scheduling Using Genetic Algorithm.” Expert Systems with Applications 38:
6814–6821.
Bean, J. C. 1994. “Genetic Algorithms and Random Keys for Sequencing and Optimization.” ORSA Journal on Computing 6 (2):
154–160.
Chang, P. C., and S. H. Chen. 2011. “Integrating Dominance Properties with Genetic Algorithms for Parallel Machine Scheduling
Problems with Setup Times.” Applied Soft Computing 11: 1263–1274.
Chen, Z. L., and W. B. Powell. 2003. “Exact Algorithms for Scheduling Multiple Families of Jobs on Parallel Machines.” Naval
Research Logistics 50: 823–840.
Dessouky, M. M. 1998. “Scheduling Identical Jobs with Unequal Ready Times on Uniform Parallel Machines to Minimize the
Maximum Lateness.” Computers & Industrial Engineering 34: 793–806.
Goldberg, D. E. 1989. Genetic Algorithms in Search, Optimization and Machine Learning. Menlo Park, CA: Addison-Wesley,
Reading.
Guinet, A. 1993. “Scheduling Sequence-dependent Jobs on Identical Parallel Machines to Minimize Completion Time Criteria.”
International Journal of Production Research 31 (7): 1579–1594.
Haupt, R. L., and S. E. Haupt. 2004. Practical Genetic Algorithms. 2nd ed. New Jersey: Wiley.
Holland, J. A. 1975. Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan.
Hop, N. V., and N. N. Nagarur. 2004. “The Scheduling Problem of PCBs for Multiple Non-identical Parallel Machines.” European
Journal of Operational Research 158: 577–594.
Hu, X., J. S. Bao, and Y. Jin. 2010. “Minimising Makespan on Parallel Machines with Precedence Constraints and Machine
Eligibility Restrictions.” International Journal of Production Research 48 (6): 1639–1651.
Huang, C. S., Y. C. Huang, and P. J. Lai. 2012. “Modified Genetic Algorithms for Solving Fuzzy Flow Shop Scheduling Problems
and Their Implementation with CUDA.” Expert Systems with Applications 39: 4999–5005.
Jamili, A., M. A. Shafia, and R. Tavakkoli-Moghaddam. 2011. “A Hybridization of Simulated Annealing and Electromagnetism-like
Mechanism for a Periodic Job Shop Scheduling Problem.” Expert Systems with Applications 38: 5895–5901.
Kashan, A. H., B. Karimi, and F. Jolai. 2010. “An Effective Hybrid Multi-objective Genetic Algorithm for Bi-criteria Scheduling on
a Single Batch Processing Machine with Non-identical Job Sizes.” Engineering Applications of Artificial Intelligence 23:
911–922.
International Journal of Production Research 5855

Keskinturk, T., M. B. Yildirim, and M. Barut. 2012. “An Ant Colony Optimization Algorithm for Load Balancing in Parallel
Machines with Sequence-dependent Setup Times.” Computers & Operations Research 39: 1225–1235.
Kethley, R. B., and B. Alidaee. 2002. “Single Machine Scheduling to Minimize Total Weighted Late Work: A Comparison of
Scheduling Rules and Search Algorithms.” Computers & Industrial Engineering 43 (3): 509–528.
Kurz, M. E., and R. G. Askin. 2001. “Heuristic Scheduling of Parallel Machines with Sequence-dependent Set-up Times.” Interna-
tional Journal of Production Research 39 (16): 3747–3769.
Li, K., and S. Yang. 2009. “Non-identical Parallel-machine Scheduling Research with Minimizing Total Weighted Completion Times:
Models, Relaxations and Algorithms.” Applied Mathematical Modelling 33: 2145–2158.
Lin, Y. K., and F. Y. Hsieh. 2014. “Unrelated Parallel Machine Scheduling with Setup Times and Ready Times.” International
Journal of Production Research 52 (4): 1200–1214.
Lin, Y. K., M. E. Pfund, and J. W. Fowler. 2011. “Heuristics for Minimizing Regular Performance Measures in Unrelated Parallel
Machine Scheduling Problems.” Computers & Operations Research 38: 901–916.
Liu, C. Y., and S. C. Chang. 2000. “Scheduling Flexible Flow Shops with Sequence-dependent Setup Effects.” IEEE Transactions on
Robotic Automation 16 (4): 408–429.
Martello, S., F. Soumis, and P. Toth. 1997. “Exact and Approximation Algorithms for Makespan Minimization on Unrelated Parallel
Machines.” Discrete Applied Mathematics 75 (2): 169–188.
McNaughton, R. 1959. “Scheduling with Deadlines and Loss Functions.” Management Science 6: 1–12.
Rabadi, G., R. Moraga, and A. Al-Salem. 2006. “Heuristics for the Unrelated Parallel Machine Scheduling Problem with Setup
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

Times.” Journal of Intelligent Manufacturing 17: 85–97.


Radhakrishnan, S., and J. A. Ventura. 2000. “Simulated Annealing for Parallel Machine Scheduling with Earliness–tardiness Penalties
and Sequence-dependent Set-up Times.” International Journal of Production Research 38 (10): 2233–2252.
SchedulingResearch. (2005). Accessed June 7, 2012. http://SchedulingResearch.com.
Vallada, E., and R. Ruiz. 2011. “A Genetic Algorithm for the Unrelated Parallel Machine Scheduling Problem with Sequence Depen-
dent Setup Times.” European Journal of Operational Research 211: 612–622.
Yalaoui, F., and C. Chu. 2003. “An Efficient Heuristic Approach for Parallel Machine Scheduling with Job Splitting and Sequence-
dependent Setup Times.” IIE Transactions 35 (2): 183–190.
Zhu, X., and W. E. Wilhelm. 2006. “Scheduling and Lot Sizing with Sequence-dependent Setup: A Literature Review.” IIE Transac-
tions 38: 987–1007.

Appendix 1
Here, we give pseudo-code for the local search. For brevity only the key steps are detailed.
C# notation is used.
Algorithm: Local search
For all generations G
For the population P
For all chromosomes C
i = 0 to g
j = i + 1 to g
If Gene(i)Machine == Gene(j)Machine → (inter-machine interchange)
If j = i + 1 → (adjacent jobs)
a = 0; b = 0; c = 0;
If i > 0 && Gene(i)Machine == Gene(i – 1)Machine
a = (STMach(i) Job(i – 1,j) – STMach (i)Job(i – 1,i)) + (STMach(i) Job ( j,i) – STMach(i) Job(i,j))
If i == 0 || Gene(i)Machine! = Gene(i – 1)Machine → (Gene(i)Job is the first job on Gene(i)Machine)
b = (STMach(i) Job( j,j) – STMach(i) Job(i,i)) + (STMach(i) Job( j,i) – STMach(i) Job(i,j))
If j < g – 1 && Gene(j)Machine == Gene(j + 1)Machine
c = STMach(i)Job(i,j + 1) – STMach(i) Job( j,j + 1) →
If a + b + c < 0
Let to interchange Gene(i)Job and Gene(j)Job on the schedule
Calibrate random key numbers → (Subsection ‘B’, item ‘i’)
If j > i + 1 → (non-adjacent jobs)
a = 0; b = 0; c = 0;
If i > 0 && Gene(i)Machine == Gene(i – 1)Machine
a = (STMach(i)Job(i – 1,j) – STMach(i)Job (i – 1,i)) + (STMach(i)Job( j,i + 1) – STMach(i)Job (i,i + 1))
+ (STMach (i)Job( j – 1,i) –STMach (i)Job ( j – 1,j))
If i == 0 || Gene(i)Machine! = Gene(i – 1)Machine → (Gene(i)Job is the first job on Gene(i)Machine)
b = (STMach (i)Job( j,j) – STMach (i)Job(i,i)) + (STMach (i)Job( j,i + 1) – STMach (i)Job (i,i + 1))
+ (STMach (i)Job( j – 1,i) – STMach (i)Job( j – 1,j))
If j < g – 1 && Gene(j)Machine == Gene(j + 1)Machine
c = (STMach(i) Job(i,j + 1) – STMach(i) Job( j,j + 1))
If a + b + c < 0
5856 D. Yilmaz Eroglu et al.

Let to interchange Gene(i)Job and Gene(j)Job on the schedule


Calibrate random key numbers → (Subsection ‘B’, item ‘i’)
If Gene(i)Machine ! = Gene(j)Machine → (intra-machine exchanging)
a = 0; a1 = 0; a2 = 0; b = 0; b1 = 0; b2 = 0; MakespanD1 = 0; MakespanD2 = 0;
a = CT_Gene(i)Machine + PTMach(i)Job( j) – PTMach(i)Job(i)
If i > 0 && Gene(i)Machine == Gene(i – 1)Machine
a1 = (STMach(i)Job (i – 1,j) – STMach(i)Job(i – 1,i))
If i == 0 || Gene(i)Machine ! = Gene(i – 1)Machine → (Gene(i)Job is the first job on Gene(i)Machine)
a1 = (STMach(i)Job ( j,j) – STMach(i)Job(i,i))
If Gene(i)Machine == Gene(i + 1)Machine
a2 = STMach(i)Job( j,i + 1) – STMach(i)Job(i,i + 1)
b = CT_Gene(j)Machine + PTMach( j)Job(i) – PTMach ( j)Job( j)
If Gene(j)Machine == Gene(j – 1)Machine
b1 = (STMach( j)Job( j – 1,i) – ST Mach( j)Job( j – 1,j))
If Gene(j)Machine ! = Gene(j – 1)Machine
b1 = (STMach( j)Job(i,i) – STMach( j)Job( j,j)) → (Gene(j)Job is the first job on Gene(j)Machine)
If j < g – 1 && Gene(j)Machine == Gene(j + 1)Machine
b2 = (STMach( j)Job(i,j + 1) – STMach( j)Job( j,j + 1)
a = a + a1 + a2
Downloaded by [Johns Hopkins University] at 11:40 01 January 2015

b = b + b1 + b2
MakespanD1 = Max(CT_Gene(i)Machine; CT_Gene(j)Machine)
MakespanD2 = Max(a; b)
If MakespanD2 < MakespanD1
Let to exchange Gene(i)Job and Gene(j)Job on the schedule
Calibrate random key numbers → (Subsection ‘B’, item ‘ii’)

You might also like