International Journal of Production Research: Click For Updates
International Journal of Production Research: 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
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
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
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.
Jobs 1 2 3
Machines 1 2 1 2 1 2
ferent chromosomes and Cmax values will be determined by the population size.
Machine1 14 11 12
Machine2 17 19 10
International Journal of Production Research 5845
Job1 4 8 2
Job2 6 3 4
Job3 3 7 1
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
18 20 33
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
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
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
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.
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.
Parameter Value
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
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
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
δ 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.
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
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.
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
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.
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’)