DYNAMIC WEIGHTED IDLE TIME HEURISTIC FOR FLOWSHOP SCHEDULING
AMIRA SYUHADA BINTI ZAINUDIN
UNIVERSITI TUN HUSSEIN ONN MALAYSIA
i
DYNAMIC WEIGHTED IDLE TIME HEURISTIC FOR FLOWSHOP
SCHEDULING
AMIRA SYUHADA BINTI ZAINUDIN
A thesis submitted in partial
fulfillment of the requirement for the award of the
Degree of Master of Mechanical Engineering
Faculty of Mechanical and Manufacturing Engineering
Universiti Tun Hussein Onn Malaysia
AUGUST 2017
iii
DEDICATED
To
My husband, Mr. Muhammad Hafeez
For your love, patience, friendship and
making everything
possible
My mother, Madam Azlina
A strong and gentle soul who taught me to trust in Allah,
believe in hard work and that so much
could be done with little
My father, Mr. Zainudin
For earning an honest living for us
and for supporting and encouraging me to believe in
myself
My research partner a.k.a my bestfriend, Noor Amira Isa
Who help me a lot to finished my thesis
My family and friends
Without whom none of my success would be possible
iv
ACKNOWLEDGEMENT
In the name of Allah, the Most Gracious and the Most Merciful
Alhamdullilah, all praise to Allah for the strengths and His blessing in completing
this thesis. My deep gratitude goes first to my supervisor; Prof. Madya Dr. Sh Salleh
bin Sh Ahmad who expertly guided me through my graduate education and who
shared the excitement of two years of discovery. His invaluable help of constructive
comments and suggestions throughout the experimental and thesis works have
contributed to the success of this research. Next to him, my deepest gratitude to my
beloved husband Mr. Muhammad Hafeez for gives me a full support and advice
during my progress in completing this project. I am feeling oblige in taking the
opportunity to sincerely thanks to my parents; Mr Zainudin and Mrs Azlina, whom I
am greatly indebted for me brought up with love and encouragement to this stage. At
last but not the least I am thankful to all my teachers and friends who have been
always helping and encouraging me throughout the year. I have no valuable words to
express my thanks, but my heart is still full of the favors received from every person.
v
ABSTRACT
The constructive heuristic of Nawaz, Enscore and Ham (NEH) has been introduced
in 1983 to solve flowshop scheduling. Many researchers have continued to improve
the NEH by adding new steps and procedures to the existing algorithm. Thus, this
study has developed a new heuristic known as Dynamic Weighted Idle Time (DWIT)
method by adding dynamic weight factors for solving the partial solution with
purpose to obtain optimal makespan and improve the NEH heuristic. The objective
of this study are to develop a DWIT heuristic to solve flowshop scheduling problem
and to assess the performance of the new DWIT heuristic against the current best
scheduling heuristic, ie the NEH. This research developed a computer programming
in Microsoft Excel to measure the flowshop scheduling performance for every
change of weight factors. The performance measure is done by using n jobs (n=6,10
and 20) and 4 machines. The weight factors were applied with numerical method
within the range of zero to one. Different weight factors and machines idle time were
used at different problem sizes. For 6 jobs and 4 machines, only idle time before and
in between two jobs were used while for 10 jobs and 20 jobs the consideration of idle
time was idle time before, in between two jobs and after completion of the last job.
In 6 jobs problem, the result was compared between DWIT against Optimum and
NEH against Optimum. While in 10 jobs and 20 jobs problem the result was
compared between DWIT against the NEH. Overall result shows that the result on 6
and 10 jobs problem the DWIT heuristic obtained better results than NEH heuristic.
However, in 20 jobs problem, the result shows that the NEH was better than DWIT.
The result of this study can be used for further research in modifying the weight
factors and idle time selections in order to improve the NEH heuristic.
vi
ABSTRAK
Heuristik konstruktif Nawaz, Enscore dan Ham (NEH) telah diperkenalkan pada
tahun 1983 untuk menyelesaikan penjadualan flowshop. Ramai penyelidik telah
meneruskan penyelidikan NEH dengan menambah langkah-langkah dan prosedur
baru untuk memperbaiki algoritma sedia ada. Oleh itu, satu heuristik baru yang
dikenalpasti sebagai Dynamic Weighted Idle Time (DWIT) menggunakan kaedah
faktor berat dinamik untuk menyelesaikan penyelesaian separa dengan tujuan
mendapatkan optima makespan dan memperbaiki NEH. Objektif kajian ini adalah
untuk membangunkan (DWIT) heuristik untuk menyelesaikan masalah penjadualan
flowshop dan menilai prestasi heuristik DWIT berbanding heuristik terbaik, iaitu
NEH. Kajian ini membangunkan pengaturcaraan komputer dalam Microsoft Excel
untuk mengukur prestasi penjadualan flowshop untuk setiap perubahan faktor
pemberat. Ukuran prestasi dilakukan dengan menggunakan n pekerjaan (n=6,10 dan
20) dan 4 mesin. Faktor pemberat digunakan dalam julat sifar hingga satu. Faktor
pemberat dan masa terbiar yang berbeza telah digunakan pada saiz masalah yang
berbeza. Untuk 6 pekerjaan dan 4 mesin, hanya masa terbiar sebelum dan di antara
dua pekerjaan telah digunakan manakala, bagi 10 pekerjaan dan 20 pekerjaan
pertimbangan masa terbiar adalah masa terbiar sebelum, di antara dua pekerjaan dan
selepas selesai tugas terakhir. Dalam masalah 6 pekerjaan, keputusan yang diperolehi
telah dibandingkan antara DWIT terhadap Optima dan NEH terhadap
Optima. Manakala dalam masalah 10 pekerjaan dan 20 pekerjaan keputusannya telah
dibandingkan antara DWIT terhadap NEH. Secara keseluruhan keputusan yang
diperolehi pada 6 dan 10 pekerjaan, DWIT mendapat keputusan yang baik
berbanding NEH. Manakala, pada 20 pekerjaan keputusan menunjukkan NEH lebih
baik berbanding DWIT. Hasil kajian ini boleh digunakan untuk penyelidikan
selanjutnya dalam mengubahsuai factor berat dan pilihan waktu terbiar untuk
meningkatkan NEH heuristik.
vii
TABLE OF CONTENTS
TITLE i
DECLARATION ii
DEDICATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
ABSTRAK vi
TABLE OF CONTENTS vii
LIST OF TABLES viii
LIST OF FIGURES x
LIST OF SYMBOLS AND ABBREVIATIONS xi
LIST OF APPENDICES xii
CHAPTER 1 INTRODUCTION 1
1.1 Background of study 1
1.2 Problem statement 3
1.3 Objective of study 4
1.4 Scope of study 4
1.5 Project justification 4
1.6 Thesis layout 5
CHAPTER 2 LITERATURE REVIEW 6
2.1 Introduction 6
2.2 Scheduling 7
2.2.1 Forward scheduling 9
2.2.2 Backward scheduling 10
2.2.3 Types of scheduling environments 10
viii
2.2.4 Job shop scheduling 11
2.2.5 Open shop scheduling 16
2.2.6 Batch shop scheduling 18
2.2.7 Flowshop scheduling 18
2.3 Heuristic 23
2.3.1 Nawaz, Enscore and Ham (NEH) heuristic 25
2.4 Sequencing rules 32
2.5 Weighted idle time 33
2.6 Makespan 38
2.7 Analysis literature review 40
2.8 Summary of the chapter 41
CHAPTER 3 METHODOLOGY 42
3.1 Introduction 42
3.2 Research procedure 44
3.2.1 Construct scheduling environment in 44
Microsoft Excel spreadsheets
3.2.2 Develop Visual Basic Application for 45
optimum solution
3.2.3 Gantt chart 45
3.3 Flowchart of DWIT heuristic and WIT heuristic 46
3.4 Dynamic weighted idle time (DWIT) heuristic 47
3.4.1 Six jobs and four machines 48
3.4.2 Ten jobs and four machines 58
3.4.3 Twenty jobs and four machines 61
3.4 Summary of the chapter 64
CHAPTER 4 RESULTS AND DISCUSSION 65
4.1 Introduction 65
4.2 Six jobs and four machines 65
4.2.1 Result of 100 sets of random data 66
4.2.2 Result of 10 replications of 100 sets of 67
random data
4.2.3 Data analysis of six jobs and four machines 69
4.3 Ten jobs and four machines 71
4.3.1 Result of 100 sets of random data 71
ix
4.3.2 Result of 10 replications of 100 sets of 72
random data
4.3.3 Data analysis of ten jobs and four machines 72
4.4 Twenty jobs and four machines 74
4.4.1 Result of 100 sets of random data 74
4.4.2 Result of 10 replications of 100 sets of 75
random data
4.4.3 Data analysis of twenty jobs and four machines 75
4.5 Comparison result of ten jobs and twenty jobs problem 76
4.6 Discussion of results 78
4.7 Discussion of the study 80
4.8 Summary of the chapter 82
CHAPTER 5 CONCLUSION AND RECOMMENDATION 83
5.1 Introduction 83
5.2 Summary of research 83
5.3 Conclusion 84
5.4 Recommendation 85
REFERENCES 86
APPENDIX 95
viii
LIST OF TABLES
2.1 Summary of scheduling environments 21
2.2 Processing time of NEH heuristic 29
2.3 Summary of Nawaz, Enscore and Ham (NEH) heuristic 31
2.4 Weight factor of WIT heuristic 35
2.5 Processing time of WIT heuristic 35
2.6 Summary of weighted idle time 37
2.7 Analysis of literature review 40
3.1 Weight factor value for six jobs and four machines 48
3.2 Non-increasing order of total processing time 49
3.3 Sequence of first two job 49
3.4 Total weighted idle time of first two jobs 50
3.5 Sequences of three jobs 51
3.6 Total weighted idle time of three jobs 52
3.7 Sequences of four jobs 53
3.8 Total weighted idle time of four jobs 54
3.9 Sequences of five jobs 55
3.10 Total weighted idle time of five jobs 56
3.11 Final result of minimum makespan 57
3.12 Weight factor value of 10 jobs and 4 machines 59
3.13 Non-increasing order of total processing time 59
3.14 Sequence for first two job 60
3.15 Total weighted idle time of first two jobs 60
3.16 Weight factor value for 20 jobs and 4 machines 61
ix
3.17 Non-increasing order of total processing time 62
3.18 Sequence for first two job 63
3.19 Total weighted idle time of first two jobs 63
4.1 Summary of results for DWIT heuristic against NEH heuristic for
6 jobs
66
4.2 Heuristic verification result for 6 jobs 68
4.3 Summary of results for DWIT heuristic against NEH heuristic for
10 jobs
71
4.4 Heuristic verification result for 10 jobs 72
4.5 Summary of result for DWIT heuristic against NEH heuristic for
20 jobs
74
4.6 Heuristic verification result for 20 jobs 75
x
LIST OF FIGURES
2.1 Example of job shop scheduling 13
2.2 Example of flowshop scheduling 20
2.3 The two possible schedules for a two-machine two-job
no-wait makespan problem
34
3.1 Flowchart of research methodology 44
3.2 Example of scheduling environment in Microsoft Excel 44
3.3 Example of gantt chart of the flowshop scheduling 45
3.4 Flowchart of DWIT heuristic 46
3.5 Flowchart of NEH heuristic 47
4.1 Dotplot of NEH vs OPT, WIT vs OPT and DWIT vs OPT for 6
jobs
69
4.2 Individual plot of NEH vs OPT, WIT vs OPT and DWIT vs OPT
for 6 jobs
70
4.3 Time series plot of DWIT vs NEH of 100 sets of data for 10 jobs 73
4.4 Time series plot of DWIT vs NEH of 100 sets of data for 20 jobs 76
4.5 Individual plot of DWIT vs NEH between 10 jobs and 20 jobs 77
4.6 Area graph of DWIT vs NEH between 10 jobs and 20 jobs 77
xi
LIST OF SYMBOLS AND ABBREVIATIONS
DWIT - Dynamic Weighted Idle Time
WIT - Weighted Idle Time
JSSP - Job Shop Scheduling Problem
FSP - Flowshop Scheduling Problem
FJSP - Flexible Job Shop Problem
FJSSP - Flexible Job Shop Scheduling Problem
PFSP - Permutation Flowshop Scheduling Problem
OSSP - Open Shop Scheduling Problem
NEH - Nawaz, Enscore and Ham
VBA - Visual Basic Application
IE - Industrial Engineering
SA - Simulated Annealing
GA - Genetic Algorithm
RA - Rapid Access
TS - Tabu Search
SL - Sarin and Lefoka
CPU - Central Processing Unit
WIP - Work-in-process
NP-complete - Non-deterministic polynomial time
NP-hard - Non-deterministic polynomial-time hard
xii
LIST OF APPENDICES
APPENDIX TITLE PAGE
A 100 Sets Generated Data for 6 Jobs Problem 95
B 100 Sets Generated Data for 10 Jobs Problem 99
C 100 Sets Generated Data for 20 Jobs Problem 102
D Processing Time 105
E Coding 113
1
CHAPTER 1
INTRODUCTION
1.1 Background of study
Industrial Engineering (IE) is a branch of engineering that has strong connection with
the management. Industrial engineering is more concerned with the design of
production and service system. It can be said to overlap with operational
management, operational research and manufacturing engineering. Industrial
engineering is correlated to productivity and quality. The role of industrial engineer
is to ensure that productivity and quality management are maintained and even
increased over time. The job as industrial engineer requires ability to analyse and
specify integrated components of people, machines, materials, and facilities to create
efficient and effective systems that will produce goods and services beneficial for
human being (Savory, 2005).
Scheduling is known as the process of arranging, controlling and optimizing
work in a production process or manufacturing process. Scheduling is the procedure
of generating the schedule which is a physical document and generally informs the
happening of things and demonstrate a plan for the timing of certain activities.
Generally, scheduling problem can be approached in two steps; in primary step
sequence is planned or decides how to choose the next job. In the next step, planning
of start time and possibly the completion time of each job is performed (Malik and
Dhingra, 2013).
2
Generally, scheduling is required in the manufacturing process and
particularly in engineering (Nayan, 2015). It is the process of arranging works in a
production. It involves the generating of a schedule on how to organize more than
one task or process. The main purpose of the scheduling system in the industry is to
increase the productivity and to reduce both the processing time and operating costs.
Moreover, scheduling process can be regarded as a decision-making process. It is
important to ensure that the process can achieve the target within a certain period of
time. In order to obtain the optimal solution, effective and efficient scheduling is
necessary.
Flowshop scheduling is one of the classes of scheduling problems other than
job shop scheduling and open shop scheduling. Flowshop scheduling is a special case
where there is strict order for all operation to perform all jobs. It is very interesting
area of study to be applied in a manufacturing process. Optimum result can be
obtained from the processing time of each machine. Besides, in flowshop scheduling,
a series of machines process the same jobs in sequence and the sequence to process
this job is the same for each machine (Nayan, 2015).
According to Modrák and Pandian (2010), in a shop floor of the industry, the
routings which are based upon the jobs that need to be processed on different
machines are one among the major activities. Therefore, the resource requirements
are not based on the quantity as in flowshop but rather the routings for the products
produced. However, both flowshop and job shop scheduling is to find a sequence of
jobs on given machines and the objective is to minimizing the completion times for
the production.
One of the problems solving technique for scheduling is by using heuristic
algorithm. It is suitable approach to solve the large scale scheduling problems. In
such case, heuristic algorithms find approximation solution but acceptable time and
space complexity play indispensable role (Kokash, 2005). This algorithm is just to
find a solution that is closest to the best result easily in a short time.
3
1.2 Problem statement
The Nawaz, Encsore and Ham (NEH) algorithm proposed by Nawaz et al., (1983)
uses the powerful job insertion technique after arranging the jobs in the descending
order of their total processing times. It selects the first two jobs as the initial partial
sequence and other jobs are inserted one by one from the third job to obtain a final
optimal makespan and its corresponding sequence. It has been generally agreed that
the NEH algorithm is known as one of the best available simple, constructive
heuristic even today (Baskar, 2016). But, NEH heuristic is not the best one for
flowtime optimisation (Allahverdi and Aldowaisan, 2002). Thus, this study has
developed a new heuristic known as Dynamic Weighted Idle Time (DWIT) method
by adding dynamic weight factors for solving the partial solution with purpose to
obtain optimal makespan and improve the NEH heuristic. Based on Baskar (2016),
NEH which has been introduced in 1983 is still the best known constructive heuristic
to solve flowshop scheduling problem with makepsan objective. For makespan
objective function, the NEH always uses makespan even in deciding partial schedule
arrangements. Weighted idle time is one of the newly proposed concepts for
flowshop scheduling due to its potential to produce better result than NEH heuristic
(Saleh, 2014). This proposed method utilizes the total weighted idle time for solving
partial schedule before finally use makespan as the final decision of complete
schedule. Based on Saleh (2014), from a total of 25 sets of data, 44% produced the
same maksepan performance for both weighted idle time and NEH solution. Another
36% showed that idle time produced better performance than NEH heuristic.
Whereas, the remaining 20% showed that the NEH heuristic was the best. Therefore,
this research proposal is intended towards conducting further in-depth investigations,
experiments and analysis to show that a new heuristic based on the modified version
of the weighted idle time can have the ability to compete with the NEH.
4
1.3 Objectives of study
The objectives of the study are as follows:
i. To develop a new heuristic identified as Dynamic Weighted Idle Time
(DWIT) heuristic to solve flowshop scheduling problem.
ii. To evaluate the performance of the new DWIT heuristic against the
current best scheduling heuristic, ie the NEH.
1.4 Scope of study
This research focused on the following:
i. Apply dynamic weighted idle time method by changing the weight factors at
each of sequencing step.
ii. Randomised data was generated by using Visual Basic Application
programming.
iii. The range of weight factors value to measure the flowshop scheduling
performance for every changes of weight factors are within (0.0
~ 1.0).
iv. Makespan criteria were used to identify the best performance of flow show
scheduling.
v. The performance measure is done by using 6 jobs 4 machines, 10 jobs 4
machines and 20 jobs 4 machines.
1.5 Project justification
Dynamic idle time weight factors were introduced as the manipulated variables for
the scheduling. This study performance measure was done by using 6 jobs 4
machines, 10 jobs 4 machines and 20 jobs 4 machines. This performance
measurement is based on previous study that starts with 6 jobs and 4 machines
(Bareduan and Hasan, 2012). Thus, this study continues the performance
measurement with 10 jobs 4 machines and 20 jobs 4 machines with a new method of
study. The performance measurement study was done until 20 jobs only due to the
simulation will take more time and several days to complete for bigger job numbers.
Based on Seda (2007), the research also used 10 jobs and 20 jobs for the permutation
5
flowshop scheduling problem. When used the high number of jobs, the search of
optimum in the space of permutations of jobs ended with a run time error so the
research need to find another approach to compute the optimal solution for the job
more than 20. Sahu (2009) compared the four heuristics in flowshop scheduling up to
10 jobs and 5 machines. From the analysis, it has been proved that NEH heuristic
shows the minimum value of makespan when compared to other heuristic (Gupta’s
heuristic, RA heuristic, CDS heuristic and Palmer’s heuristic) for most of the
problems but limited to 4 machines problems. As the machine size increases, RA
heuristic produced the best results (Malik and Dhingra, 2013). This study also used 4
machines to minimize the makespan and idle time. Therefore, based on Sahu (2009),
this study focused to limit to 4 machine problems and try to improve the makespan
performance. This study tested many different dynamic weight factors for idle time
in order to obtain better performance of flowshop scheduling. The result was
compared with the optimum makespan to evaluate its performance. This project
identified the best dynamic idle time weight factors suitable for problems identified
in scope of study. The finding of this investigation contributes to the area of
flowshop scheduling solutions using constructive heuristic.
1.6 Thesis layout
In this thesis, the brief introduction and discussion about the literature review and
research from other researchers are stated in Chapter 2. Besides, the methodology
and the development of a new algorithm method of this research are highlighted in
Chapter 3. Moreover, the experimental validation performance result of the new
purposed algorithm heuristic is presented in Chapter 4. Finally, the research
contributions, conclusion with future recommendation are discussed in Chapter 5.
6
6
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
This chapter discusses about the scheduling which is known to be very important in
the production and industrial system. Scheduling is a decision-making process that
was used on a regular basis in many manufacturing and service industries.
Scheduling deals with the allocation of resources to tasks over given time periods
and its goal is to optimize one or more objectives. One type of dynamic scheduling
strategy is used to dispatching rules to determine when a resource become available
and which task that resource should do next. The resources and tasks in an
organization can take many different forms. There were maybe machines in a
workshop, runaways at an airport, and crews at a construction site, processing units
in a computing environment and so on. Each task may have a certain priority level,
an earliest possible starting time and also a due date. So, there were different
objective that need to be achieved. One objective maybe the minimization of the
completion time of the last task, or maybe the minimization of the number of task
completed after their respective due dates. Overall this chapter includes section about
scheduling, heuristic, weighted idle time and makespan.
7
2.2 Scheduling
Scheduling is one of the important areas in the field of production management. It
also the most necessary tool for decisions making process in engineering and
manufacturing. Scheduling flowshop problem can be addressed as the setting with
penalties for tardiness in delivering customer orders, as well as cost for holding both
finished goods and work-in-process inventory (Bulbul et al., 2004 and Kemppainen,
2005).
Scheduling occurs in a very wide range of economic activities. It always
involves accomplishing a number of things that tie up various resources for period of
time. The resources are in limited supply. The things to be accomplished may be
called “jobs” or “projects” or “assignments” and are composed of elementary parts
called “activities” or “operations” and “delays”. Each activity requires certain
amounts of specified resources for a specified time called the “process time” (Morton
and Pentico, 1993).
According to Sule (2008), a schedule shows the planned time when
processing of a specific job will start on each machine that the job requires. It also
represents when the job will be completed on every machine. Thus, it is timetable for
both jobs and machines. The starting time of a job on the first machine in its
sequence of operation should be assuming zero lead time for the job. In a typical
real-world scheduling problem, the set of jobs changes dramatically over time and
the processing times of jobs are affected by various types of uncertainty. The goal is
to determine how the available machine processing time is to be allocated among
competing requests with the objective of optimizing the performance of the system.
In general, methods for solving dynamic scheduling problems must address the
combinatorial structure inherited in most interested scheduling problems (Terekhov
et al., 2013).
Efficient scheduling is how manufacturing companies minimize the cost and
punctuality to meet customer with the promised due date (Heizer and Render,
2014b). Although there has been an increasing interest in modelling and solving
scheduling problems in dynamic and uncertain environments, scheduling research
has mostly focused on devising effective method for solving deterministic problems
with a complex combinatorial structure (Bidot et al., 2009, Aytug et al., 2005,
Chaudhuri and Suresh, 1993). On the other hand, scheduling problems with a simpler
8
combinatorial structure but with stochastic and dynamic characteristic have been
studied for a long time.
According to Watanabe et al. (2005), scheduling is the allocation of resources
to perform a set of tasks over a period of time. Many real scheduling problems in the
manufacturing industries are quite complex and very difficult to be solved by
conventional optimization techniques. To develop a schedule, the processing time for
each job on each machine the job requires must be known. To calculate the
processing time for a job, it must consider both machines and job dependant factor
such as setup time, unit processing time, machine speed, quality factors and also the
number of unit needed. A machine schedule also displays the time when the machine
is idle. Idle time occur because of no job is available for processing or because all
jobs are being processed on other machines. When a machine is idle, it is the best
plan to stop for maintenance activities so that no productive time is taken away from
the machines.
The developing of effective and efficient scheduling approaches is necessary
for the optimal solution purpose. Based on Heizer and Render (2014a), efficient
scheduling is how manufacturing companies minimize the cost and punctuality to
meet customer with the promised due date. The scheduling theory concern about the
problems of allocating and prioritizing of customer orders correspond to an available
facility. Effective scheduling depends on matching the schedule to performance.
The right technique of scheduling depends on the volume of orders, the
nature of operations, the overall complexity of jobs and also the importance placed
on each of four criteria (Heizer and Render, 2014a):
Minimize completion time.
- It is evaluated by obtaining the average completion time.
Minimize customer waiting time.
- It is evaluated by determining the average number of late hours or days.
Minimize work-in-process (WIP) inventory.
- A direct relationship exists between the number of jobs in the system and
WIP inventory. Therefore, the less the number of jobs in the system, the
lower the inventory.
9
Maximize utilization.
- Utilization is decided by determining the percentage of the time when the
facility is utilized.
The four criteria that have been mentioned above are used to analyse the
scheduling performances. Moreover, the good scheduling techniques must be simple,
clear, easy to understand, easy to carry out, flexible and realistic (Heizer and Render,
2014a).
For some scheduling environments, it is perfectly valid to assume that job
processing time are deterministic in which the implicit enumeration techniques and
heuristics appears in the literature can be utilized (Aydilek and Allahverdi, 2009).
However, for some other scheduling environments, the assumption of deterministic
processing times may not be applicable. As stated by Sorouch (2007), the random
variation in processing times needs to be taken into account while searching for a
solution.
2.2.1 Forward scheduling
Forward scheduling or also known as in push mode operations, the provider send
work along in the absence of any call from the customer. In this mode, the providers
determine when and what is the work flow. In other words forward scheduling start
the processing when a job is received. Some system used this approach, for example,
radio and television station. Many manufacturers have a good flow because of the
provider choose the work flow instead of a customer demanding the work flow. The
schedule starts from its start time until the whole process is finished without
considering its due date. Lova (2002) mentioned that forward sequence is built
completing a partial sequence by scheduling each activity as early as possible (and
following the establish order).
10
2.2.2 Backward scheduling
Backward scheduling or pull scheduling is a method of determining a production
scheduling by working backwards from the due date to the start date and computing
the materials and time required at every operation or stage. The example using the
backward system are material requirement planning (MRP) and manufacturing
resources planning (MRP II).
Backward scheduling method is more complicated than forward scheduling
because the possibility of infeasibility caused by creating jobs that should have been
started yesterday or even earlier. If the resultant schedule is not feasible, the loading
sequences in a backward schedule need to be changed. According to Lova (2002),
the backward schedule passes starts from feasible schedule processing the activities
in decreasing order of its feasible finish time. The backward sequence is built
completing a partial sequence by scheduling each activity (following the establish
order) as late as possible in the window delimited.
2.2.3 Types of scheduling environments
According to Sule (2008), in production planning terminology, scheduling models
has been divided into the following categories:
i. Single machine
- Jobs are processed by the machine one at a time. Each job has a
processing time and due date and also may have other characteristics for
example priority. The most important objective is to sequence jobs on the
machines so as to minimize the penalty for being late (tardiness penalty).
ii. Flowshop
- Jobs are processed on multiple machines in an identical sequence.
However, the processing time of each job on each machine may be
different. The goals for flowshop is to minimize the time required for
completion of all jobs, called the makespan.
iii. Parallel machines
- A number of identical machines are available and jobs can be processed
on any one of them. Jobs may have dependency which is the next job in
11
the sequence may not start until the previous job has been completely
processed. The objective is to minimize the makespan.
iv. Job shop
- This is one of the most widely used generalized production systems.
There are different machines in the shop and a job may require some or
all of these machines in some specific sequence. The only restricted being
that a job cannot use the same machine more than once.
v. Open shop
- An open shop is similar to a job shop except that a job may be processed
on the machine in any sequence the job needs. In other words, there is no
operationally dependent sequence that a job must follow.
vi. Dependent shop
- A job shop environment in which the processing order of one or more job
depends on the processing of other jobs is called dependent shop. The
general objective is to minimize the makespan.
vii. Batch processing
- Jobs are processed in batches. Each batches requiring certain processing
time and there may be a capacity limitation on how many jobs can be
processed at one time.
viii. Assembly line
- The job goes through a certain sequence of operations. The objective is to
define workstations and assign tasks to these stations to achieve a certain
production level and efficiency.
ix. Mix-mode assembly line
- The job processed on an assembly line built to produce similar products
with different task requirements and task times.
2.2.4 Job shop scheduling
A typical example of classical job shop is a research machine tool milling company.
Each order is unique and has a unique routine. Operations are performed sequentially
on a single lot of parts, which travel together through the shop. There are no floor
inventories that are not identified with a single activity. Scheduling is highly
complicated and does not repeat in any simple way. The classic job shop also known
12
as a “closed” shop because orders are distinct and work in process cannot typically
be borrowed from one job to another. However, while it may not be readily apparent,
many very different production environments can be identified as having many of the
characteristics of a closed job shop. For example, any customized one-time project,
from designing and building a fancy home to research and development on the
prototype space shuttle to nonstandard paperwork the flows across a desk, shares
many of the features of a job shop (Morton and Pentico, 1993).
Scheduling problems have a vital role in recent years due to the growing
consumer demand for variety, reduced product life cycles, changing markets with
global competition and rapid development of new technologies. The Job Shop
Scheduling Problem (JSSP) is one of the most popular scheduling models existing in
practice, which is among the hardest combinatorial optimization problems (Xing et
al., 2010).
Job shop scheduling is one of the famous generalized production systems. Job
shop problem is considered important because it reflects the actual operation for
several industries. In a job shop, there may have several jobs requiring scheduling
which each job has a different processing sequence and different processing time on
the machines. Jobs may or may not have the promised delivery dates and the solution
procedures differ as the purpose of scheduling changes. For an n job and m machine
scheduling problem, there are (n1)!, (n2)!, ...(nm)! theoretically possible sequences,
where nx is the number of operation to be performed on machine x. However, not all
of them are feasible (Sule, 2008).
In the job shop scheduling problem, each one of n jobs (n ≥ 1) must be
processed passing through m machines (m ≥1) in a given sequence. The sequence of
m machines is different for each different job and cannot be changed during the
processing. When one job was processed on a machine, it can be considered as one
operation, each job j (1 ≤ j ≤ n) needs a combination of m operations (Oj1, Oj2,…,Ojm)
to complete the work. One operation is processed on one of m machines, and just
only one operation can be processed at a time. Any job cannot interrupt the machine
that is processing one operation of another job. Each machine can process at most
one operation at the same time. The main objective of the job shop scheduling
problem is to find a schedule of operations that can minimize the maximum
completion time (makespan) that is the completed time of carrying total operations
out in the schedule for n jobs and m machines (Lin et al., 2010).
13
Based on Abdullah (2014), he mentioned that in a job shop, each job is
processed by its own route and followed accordingly to the number of operations that
will be processed. He noticed the differences between flowshop and job shop
scheduling which is each of the jobs will pass through a machine at most once for
flowshop and there is possibility for job shop pass through machine more than once.
Abdullah also suggested that the ethical schedule can be constructed by determining
the order of processed jobs for each machine.
Figure 2.1 shows the example of the job shop scheduling. In job shop
scheduling, there are n jobs that each of which is to be processed one at a time on m
or less machines. Each job follows a predefined machining order and has a specified
processing time.
Figure 2.1: Example of job shop scheduling (Howe, 2014).
However, the machine order is random from job to job. The job do not have due
dates and the purpose is to minimize makespan. The techniques illustrated have the
following assumption (Sule, 2008):
a. Assumption based on jobs
- All n jobs are simultaneously available at the beginning of the planning
period.
- A single job cannot be processed simultaneously by more than one
machine.
- The processing time for each job is known and is deterministic.
- Set-up and transportation time is independent of the sequence and is
included in the process time of the jobs.
- Jobs are processed as soon as possible or as planned.
- All jobs are equal importance.
14
b. Assumption based on machines.
- All m machines are available at the beginning of the planning period and
are ready to work on any of the n jobs requiring the machine for its first
operation.
- At most, one job can be processed on a specific machine at any given
time.
- There is only one machine of each type in the shop.
c. Other
- In-process inventory is allowed.
Yazdani et al. (2010) reported that the job shop scheduling problem (JSSP) is
one of the hardest combinatorial optimization problems in the field of scheduling.
JSSP consist in performing a set of n jobs on a set of m machines, where the
processing of each job i is composed of ni operations performed on these machines.
This problem aims to find the appropriate sequencing of operations on the machines
to optimize the performing indicator.
Moreover, in order to match nowadays market requirements, manufacturing
systems have to become more flexible and efficient. To achieve these objectives, the
systems need not only the automated and flexible machines, but also the flexible
scheduling systems. The flexible job shop scheduling problem is a generalization of
classical JSSP, where operations are allowed to be processed on any among a set of
available machine (Yazdani et al., 2010).
Bruker and Schlie (1990) were among the first to address the flexible job
shop problem. They developed a polynomial algorithm for solving the flexible job
shop scheduling problem with two jobs (Xia and Wu, 2005). For solving more than
two jobs, two types of approaches have been used that are hierarchical approaches
and integrated approaches. In hierarchical approaches assignment of operations to
machines and the sequencing of operations on the resources or machines are treated
separately whereas in integrated approaches, assignment and sequencing are not
differentiated. Hierarchical approaches are based on the idea of decomposing the
original problem in order to reduce its complexity. This type of approach is natural
for flexible job shop scheduling since the routing and the scheduling sub-problems
can be separated.
15
The flexible job-shop scheduling problem (FJSSP) is an extension of the
classical job-shop scheduling problem (JSSP), which is of wide application
background and very similar to many practical situations. The FJSSP is considered in
a parallel machine environment, where some machines can perform several types of
operations. Different from the classical JSSP, the FJSSP allows an operation to be
processed on any of the machines in a corresponding set along different routes. The
FJSP can be decomposed to two sub-problems: routing and scheduling. The routing
sub-problem is to assign each operation to a machine from the set of the available
machines, while the scheduling sub-problem is to sequence the assigned operations
on all the machines to obtain a feasible schedule with certain scheduling objectives.
The FJSSP is much more complex than the classical JSSP, which has been proved to
be non-deterministic polynomial hard (NP-hard) (Xu et al., 2015).
In the Flexible Job Shop Scheduling Problem (FJSSP) each given operation
can be processed by any machine from a given set. Deng and Gu (2012) were among
the first to address this problem. The difficulties of FJSSP can be summarized as
follows:
Assignment of an operation to an appropriate machine;
Sequencing the operations on each machine;
A job can visit a machine more than once (called recirculation).
These three features significantly increase the complexity of finding even
approximately optimal solutions (Xing et al., 2010).
FJSSP can be applied to the manufacturing systems and effects the
production time and the cost of production for a plant. During the past few decades,
many researchers have attracted to FJSSP in developing algorithms. It is difficult to
develop a perfect algorithm to find a solution within a reasonable time especially for
higher dimensions due to the FJSSP is an NP-hard problem (Lin et al., 2010).
FJSSP has strong industry background, such as semiconductor manufacturing
process, automobile assembly process and mechanical manufacturing systems etc. al.
For actual industry related scheduling, many constraints or uncertain conditions have
to be considered when solving FJSSP (Gao et al., 2015). Mousakhan
(2013) considered sequence-dependent setup time in FJSSP with total tardiness. A
mathematic model was developed to formulate FJSSP with sequence-dependent
setup time and an iteration based meta-heuristic was proposed for solving the same
problem.
16
In recent years, the adoption of meta-heuristics such as simulated annealing,
tabu search and genetic algorithms has led to better results. Pezzella et al. (2008)
suggest that a genetic algorithm for the flexible job shop scheduling problem which
improves some strategies that already known in literature, and mixes them to find the
best criteria at each algorithm step. They present the algorithm by detailing the
strategies to generate initial solutions, the coding scheme, the fitness evaluation
function, the selection criteria and the genetic algorithm operators adopted to
generate the offspring.
2.2.5 Open shop scheduling
Traditionally, a shop that produces to final inventory rather than directly to orders is
called an “open shop”. The term was used in similar but more general fashion where
there may be several customers with demand for the same (or nearly the same)
products so that it make sense to maintain final inventory, or larger work in process,
or to divert activities or jobs meant for one customer to another customer of higher
priority. Scheduling issue is similar to those of the closed shop except that the
labelling of partially or fully completed jobs according to customer and due date
becomes more complex and dynamic (Morton and Pentico, 1993).
Open shop scheduling is the process which there is no certain sequence of
operations that a job must follow as long as all the operations needed for the job are
done. This process of open shop scheduling is much flexible but it is also difficult to
develop rule to get an optimum sequence for every problem (Sule, 2008).
An open shop scheduling problem (OSSP) can be stated as follows: There are
n jobs to be processed on m machines. Each job consist of m operations where each
operations can be done on only one of machines for a given process time. On each
machine at any time at most one operation can be done. The OSSP is the same as job
shop scheduling problem (JSSP), except there is no precedence relation between
operations in the OSSP (Panahi and Tavakkoli-Moghaddam, 2011).
Bai and Tang (2013) stated that in an open shop scheduling, a set of jobs has
to be processed on m machine. Every job consists of m operations, each of which
must be processed on different machine for a given processing time. The operations
of each job can be processed in any order. At any time, at most one operation can be
processed on each machine, and at most one operation of each job can be processed.
17
Moreover, every job has a release date only after which the operation of that job can
be processed. In the processing of any operation, no pre-emption and delaying are
allowed and the jobs are independent. The aim is to find a schedule to minimize the
makespan Cmax, that is, the maximal completion time among the n jobs.
Technically, Flexible Open Shop (FOS) is an extension of the classical open
shop (COS) and parallel-machine models, in which n jobs must be executed once at
each of the c≥2 stages (or machine centres) without interruption. A stage consists of
a number of parallel machines, and at least one of these stages includes more than
one machine. A job has to be processed at each stage by using only one of the
machines. The sequence of each stage that processes jobs and the route of each job
passing through the stages can be chosen arbitrarily. The objective is to find a
schedule that simultaneously determines machine processing orders and job visiting
routes to optimize some criteria, such as makespan or total completion time (Bai et
al., 2016).
The rule to obtain optimum results for two-machine open shop problem has
been proven by Pinedo (2010). This rule is known as “longest alternate processing
time first” (LAPT) rule. In this rule, whenever a machine is available the appropriate
job selection procedure is applied. For example, for machine 1, the job is selected
with the largest processing time on machine 2 while on machine 2 the job is selected
with the largest processing time on machine 1. So for this rule, any job can be
processed on any machine in any sequence.
Open shop scheduling differs from flowshop and job shop scheduling due to
the no regulation on the orderings for any job to be processed in open shop
scheduling (Coffman, 1976). This scheduling is a type of shop scheduling where
there is randomly processing route for each job. So, based on Darvish and
Moghaddam (2011) open shop scheduling shows that there is no precedence
constraint between the operations of each job. Thus, the open shop scheduling
problem can be described as follows (Heidelberg, 2007):
A finite set of tasks has to be processed on a given set of machines.
Each task has a specific processing time which cannot be disturbed.
Task is grouped to jobs so that each task belongs to exactly for one job.
Each task required one machine for processing.
18
Generally, the objective of open shop scheduling is to minimize the
makespan (Sule, 2008). According to Gonzalez and Sahni (1976), open shop
scheduling will remove the ordering obstacle by aiming to solve the pre-emptive
scheduling problem efficiently. It is easy to find the situations where any order of job
can be performed despite it were impossible to do more than one task at any
particular time.
2.2.6 Batch shop scheduling
According to Morton and Pentico (1993), a batch shop is basically an open shop for
which the duplication in work in process and final production between customers
becomes so large. Flow through the shop is not completely linear, but it is usually
less complex than for closed or open job shops. Example of a discrete batch shop
were garment factory, oil refinery or chemical process factory that the manufacturer
who supplies various small parts to other manufacturers.
2.2.7 Flowshop scheduling
The permutation flow-shop scheduling problem (PFSP) has been concentrated on by
many researchers due to its wide applications in economics and industrial
engineering (Hejazi and Saghafian, 2005). The PFSP has been proved to be NP-
complete when the number of machines is more than three (Garey et al., 1976). NP-
complete refer to nondeterministic polynomial time. In computational complexity
theory, a decision problem is NP-complete when it is both in NP and NP-hard. NP-
complete problem can be verified a solution quickly.
A flowshop is basically a batch shop with linear flow which is flow can be
discrete, continuous, or semi continuous. In the simplest case, each job consists of
the same set of activities to be performed in the same sequence on the same set of
machines. There are a few absolutely pure flowshop, but many compound flowshops
with minor variation. For example such as bottling companies, certain printing
companies and steel mills. From this point, it can be classified that this scheduling is
more difficult to find long-range, highly uncertain versions of these scheduling
situations; since flowshop are typically only feasible after the production process has
become quite standardized (Morton and Pentico, 1993).
19
A flowshop production system is commonly defined as a production system
in which a set of n jobs undergoes a series of operations in the same order (Pinedo,
2008). Optimal job sequences for flowshop scheduling problems can be determined
based on various objectives that were minimizing makespan and minimizing total
flow time. The first objective refers to the minimization of the last job’s completion
time, while the second one aims on minimization the total in-process time which
reduces work-in-progress inventory (Framinan and Leisten, 2013).
Flowshop scheduling is one of the production scheduling problems. It is a
typical combination optimization problem with a strong engineering background
which has been proved to be strongly NP-complete (Garey and Johnson, 1979). The
characteristic of flowshop scheduling is there are m machine and all jobs are
processed on these machines in the same sequence. However, the processing time for
each job on each machine may fluctuate. All jobs are assumed to be available at time
zero. Therefore, each machine is allowed to release the processed jobs to the
succeeding machine without being concerned about the busy and idle status of the
machine (Sule, 2008).
The flowshop problem is known about finding processing sequences of the n
jobs on the m machines so that a given performance criterion is optimized. If the
sequences of the processing jobs are the same for all machines, then the problem
becomes permutation flowshop research field. No-idle constraint requires between
the processing of any operations on each machine (Deng and Gu, 2012b).
Wang and Zheng (2003) stated that in flowshop scheduling each machine can
process at most one job and each job can be processed on at most one machine. The
sequence of the job to process is the same for each machine. The main objective for
this scheduling is to find a permutation of jobs to minimize the maximum completion
time. Furthermore, the schedules that minimize the makespan also minimize the sum
of job waiting times and the sum of machine idle times.
In addition, many industrial systems can be modelled as a flowshop
scheduling with zero capacity buffers between consecutive machines. This type of
flowshop scheduling is a type of schedule that a machine can be blocked by the job it
has processed if the next machine is not available. Accurate scheduling is necessary
to avoid or minimize machine blocking and idle time. As an example of blocking
flowshop scheduling that has been found in industry of production are when the
storage is not allowed in some stage of manufacturing process or in robotic cell,
20
where a job may block a machine while waiting for the robot to pick it up and move
it to the next stage (Ribas and Companys, 2015).
Figure 2.2: Example of flowshop scheduling (Cheng et al., 2014).
Figure 2.2 shows a two machine (Mn) flowshop scheduling with deteriorating
jobs (Jn) in which the processing times of jobs are dependent on their starting times
in the sequence. In flowshop scheduling, the aim is to minimize the weighted sum of
makespan and total completion time. Pan and Wang (2011) stated in their research
that they considered minimizing the makespan or maximum completion time for the
n-job and m-machine flowshop scheduling problem with blocking constraint, where
there are no buffers between machines. Therefore, intermediate queues of jobs
waiting in the production system for their next operations are not allowed. So, since
the flowshop has no intermediate buffers, a job cannot leave a machine until its next
machine downstream is free. This means the job has to be blocked on its machine if
its next machine is not free. The main aim is to find a sequence for processing all
jobs on all machines so that its maximum completion time or makespan is
minimized.
In flowshop scheduling, one machine can process mostly one job with several
assumptions (Yenisey and Yagmahan, 2014) as follows:
Each job n can only be processed on one machine at any time.
Each machine m can process only one job n at any time.
All jobs are independent and are available for processing at time zero.
No pre-emption is allowed. In other word, the processing of a job n on a
machine m cannot be interrupted.
The setup time of the jobs on machines are sequences independent and are
included in processing time.
The machines are continuously available.
21
Abedinnia et al. (2016) developed a set of new simple constructive heuristic
algorithms to minimize total flow-time for an n jobs x m-machines permutation
flowshop scheduling problem. The aim is to propose a set of new simple heuristic to
improve the performance of the best existing simple heuristic algorithm for
minimizing total flow-time in the Permutation Flowshop Problem (PFSP). One
option to improve the insertion phase of NEH is to optimize partial sequences by
testing alternative positions for jobs at the end of iterations such as evaluate the
neighbourhood of each partial sequence. They also developed a new idea for
weighting jobs to be scheduled and indexing them. These numerical studies indicated
that using alternative sorting method (i.e. indicator variable) for weighting jobs can
improve/worsen the performance of the algorithm.
An effective estimation of distribution algorithm (EDA) is proposed by Wang
et al. (2013) to solve the distributed permutation flow-shop scheduling problem
(DPFSP). The objective of solving the DPFSP is to find a schedule with the
minimum makespan. In their work, an effective estimation of distribution algorithm
was proposed for solving the distributed permutation flow-shop scheduling problem
with the criterion to minimize the makespan.
Table 2.1 shows the summary of scheduling environments in production
planning. The scheduling models may be divided into a few categories such as job
shop scheduling, open shop scheduling and flowshop scheduling.
Table 2.1: Summary of scheduling environments.
Author (year) Type of scheduling Remarks
Lin et al. (2010) Job shop scheduling
problem.
- To find a schedule of
operations that can minimize
the completion time
(makespan).
- Applying particle swarm
optimization (PSO) to solve
permutation flowshop
scheduling problem.
Abdullah (2014) Flowshop scheduling
problem.
- Each job processed
according to number of
22
operations;
- Suggest that schedule can be
constructed by determining
the order of processed job.
Yazdani et al.
(2010)
Flowshop scheduling
problem.
- Reported job shop
scheduling problem the
hardest combinatorial
optimization problem in
scheduling;
- Aims to find appropriate
sequencing of operations on
machines.
Panahi and
Tavakkoli-
Moghaddam
(2011)
Open shop scheduling
problem.
- Minimize makespan and
total tardiness.
- Propose an efficient method
based on multi-objective
simulated annealing and ant
colony optimization.
- Applied decoding operator
to improve the quality of
generated schedules.
Bai and Tang
(2013)
Open shop scheduling
problem.
- Aim to minimize the
makespan with release dates.
- Present on-line heuristic
Dynamic Shortest
Processing Time-Dense
Schedule (DSPT-DS) to deal
with off-line and on-line
version.
Gonzalez and
Sahni (1976)
Open shop scheduling
problem.
- Remove the ordering
obstacle by aiming to solve
the pre-emptive scheduling
problem efficiently.
23
Framinan and
Leisten (2013)
Flowshop scheduling
problem.
- Objective flowshop
scheduling is to minimize
last job completion time;
- Second aim, to minimize
total in-process time.
Wang and Zheng
(2003)
Flowshop scheduling
problem.
- Flowshop scheduling can
processed at most one job on
at most one machine only.
- Objective: minimize
maximum completion time
and minimize sum of job
waiting times.
Pan and Wang
(2011)
Flowshop scheduling
problem.
- Considered the blocking
flowshop scheduling
problem with objective of
mimizing makespan.
- Presented two simple
constructive heuristics: wPF
(weight profile fitting) and
PW (account parameter of
unscheduled jobs).
2.3 Heuristic
The implementation of efficient and versatile methods to the generation of optimal
topologies for engineering structural elements is one of the most important issues
stimulating progress within the structural topology optimization area. Over the years,
optimization problems have been typically solved by the use of classical gradient-
based mathematical programming algorithms. Nowadays, these traditional
techniques are more often replaced by other algorithms, usually by the ones based on
heuristic rules. Heuristic optimization techniques are gaining widespread popularity
among researchers because they are easy to implement numerically, do not require
24
gradient information, and one can easily combine this type of algorithm with any
finite element structural analysis code (Bochenek and Mazur, 2016).
Heuristic is one of the approaches to problem solving, learning and also
discovery that employs a practical method. Heuristic is purposely develop to solve a
particular problem and cannot be generalized as meta-heuristic. A meta-heuristic
algorithm is usually tuned for a specific set of problems. This method is no
guaranteed to be optimal perfect but the result is sufficient for the immediate goals
by speed up the process of finding a satisfactory solution. The most fundamental of
heuristic method is trial and error where it can be used in everything from matching
nuts and bolts until to finding the values of variables in algebra problems.
Heuristic algorithms play an important role in scheduling problems while
exact algorithms like mixed integer programming are used to obtain the optimized
solution to the small sized problem. Heuristic are proposed to solve large problem
instances effectively. Many researchers have worked on developing heuristic to find
a near optimal solution in a reasonable time which is to build a feasible solution in
polynomial time.
Among the researcher there exist many definitions of heuristic. Kahneman et
al., (2002) stated that a heuristic assesses a target attribute by another property that
comes more readily to mind. According to Shah and Oppenheimer (2008), they
proposed that all heuristic depend on effort reduction by one or more of the
following:
Examining fewer cues.
Reducing the effort of retrieving cue values.
Simplifying the weighting of cues.
Integrating less information.
Examining fewer alternatives.
While Gigerenzer and Gaissmaier (2011) said that a heuristic is a strategy that
ignores part of the information with the main point for making decisions more
quickly, frugally and accurately than more complex method.
There are two categories of heuristic to solve flowshop scheduling which are
constructive heuristic and improvement heuristic. In constructive heuristic it builds
the ordered sequences of jobs based on some specific rule or decisions while in
86
REFERENCES
Abdullah, A. A. H. 2014. Johnson’s Rule Performance Analysis for Three Machine
Flow Shop Scheduling. Bachelor Thesis. Universiti Tun Hussein Onn
Malaysia.
Abedinnia, H., Glock, C. H. & Brill A. 2016. New Simple Constructive Heuristic
Algorithms for Minimizing Total Flow-Time in the Permutation Flowshop
Scheduling Problem. Computers & Operations Research, 74:165-174.
Allahverdi, A. and Aldowaisan, T. 2002. New Heuristic to Minimize Total
Completion Time in n-Machine Flowshop. International Journal of
Production Economics, 77:71-83.
Ancau, M. 2012. On Solving Flowshop Scheduling Problems. Proceedings Of The
Romanian Academy, 13:71-79.
Aydilek, H. & Allahverdi, A. 2009. Two-Machine Flowshop Scheduling Problem
with Bounded Processing Times to Minimize Total Completion Time.
Computers & Mathematics with Applications, 59(2):684-693.
Aytug, H., Lawley, M. A., Mckay, K., Mohan, S. & Uzsoy, R. 2005. Executing
Production Schedules in the Face of Uncertainties: A Review and Some
Future Directions. European Journal of Operational Research, 161:86-110.
Bai, D. & Tang, L. 2013. Open Shop Scheduling Problem to Minimize Makespan
with Release Dates. Applied Mathematical Modelling, 37:2008-2015.
Bai, D., Zhang, Z. H. & Zhamg, Q. 2016. Flexible Open Shop Scheduling Problem to
Minimize Makespan. Computers & Operations Research, 67:207-215.
Baker, K. R. 1974. Introduction to Sequencing and Scheduling. John Wiley & Sons,
New York.
87
Bareduan, S. A. & Hasan, S. 2012. Methodology to Develop Heuristic for Re-Entrant
Flow Shop with Potential Dominant Machines Using Bottleneck Approach.
International Journal of Combinatorial Optimization Problems and
Informatics, 3(3):81-93.
Baskar, A. 2016. Revisiting the NEH Algorithm the Power of Job Insertion
Technique for Optimizing the Makespan in Permutation Flow Shop
Scheduling, International Journal of Industrial Engineering Computations,
7(2):353-366.
Bidot, J., Vidal, T., Laborie, P. & Beck, J. C. 2009. A Theoretic and Practical
Framework for Scheduling in a Stochastic Environment. Journal of
Scheduling, 12(3):315-344.
Bochenek, B. & Mazar, M. 2016. A Novel Heuristic Algorithm for Minimum
Compliance Topology Optimization. Engineering Transactions, 64(4):541–
546.
Bruker, P. & Schlie, R. 1990. Job-Shop Scheduling with Multi-Purpose Machines.
Computing, 45(4):369-375.
Bulbul, K., Kaminsky, P. & Yano, C. 2004. Flow Shop Scheduling with Earliness,
Tardiness, and Intermediate Inventory Holding Costs. Naval Research
Logistic. 51:407-445.
Campbell, H. G., Dudek, R. A., and Smith, M. L. 1970. A Heuristic Algorithm for
the n Job, m Machine Sequencing Problem. Management Science,
16(10):630–637.
Chaudhuri, D. & Suresh, V. 1993. Dynamic Scheduling - A Survey of Research.
International Journal of Production Economics, 32(1):53-63.
Cheng, M., Tadikamalla, P. R., Shang, J. & Zhang, B. 2014. Two-Machine Flow
Shop Scheduling with Deteriorating Jobs: Minimizing the Weighted Sum of
Makespan and Total Completion Time. Operational Research Society,
66(5):709-719.
Coffman, E. G. 1976. Computer and Job Shop Scheduling Theory. John Wiley &
Sons Inc, New York.
Davoud, P. H. 2001. A New Heuristic for the n-Job, m-Machine Flow-Shop
Problem. Production Planning and Control, 12(7):648–653.
88
Darvish, S. N. & Moghaddam, R. T. 2011. Solving a Bi-Objective Open Shop
Scheduling Problem with Fuzzy Parameters. Journal of Applied Operational
Research, 3(2):59-74.
Deng, G. & Gu, X. 2012a. A Hybrid Discrete Differential Evalution Algorithm for
the No-Idle Permutation Flow Shop Scheduling Problem with Makespan
Criterion. Computers & Operations Research, 39(9):2152-2160.
Deng, G. & Gu, X. 2012b. A Hybrid Discrete Differential Evalution Algorithm for
the No-Idle Permutation Flow Shop Scheduling Problem with Makespan
Criterion. Computers & Operations Research, 39(9):2152-2160.
Dong, X., Huang, H. & Chen, P. 2008. An Improved NEH-Based Heuristic for the
Permutation Flowshop Problem. Computers & Operations Research,
35(12):3962-3968.
Framinan, J. M., Leistenb, R. & Ruiz-Usano, R. 2002. Efficient Heuristics for
Flowshop Sequencing With the Objectives of Makespan and Flowtime
Minimisation. European Journal of Operational Research, 141(3):559-569.
Framinan, L. M. & Leisten, R. 2003. An Efficient Constructive Heuristic for
Flowtime Minimisation in Permutation Flowshops. Omega. 31(4):311-7.
Gajpal, Y. & Rajendran, C. 2006. An Ant Colony Algorithm for Scheduling in
Flowshops with Sequence-Dependent Setup Times of Jobs, The International
Journal of Advanced Manufacturing Technology, 30(5):416-424.
Garey, M. R., Johnson, D. S. & Sethi, R. 1976. The Complexity of Flowshop and
Jobshop Scheduling. Mathematics of Operations Research, 1(2):117-129.
Garey, M. R. & Johson, D. S. 1979. Computers and Intractability: A Guide to the
Theory of NP-Completeness. W. H. Freeman & Co., New York.
Gigerenzer, G. & Gaissmaier, W. 2011. Heuristic Decision Making. The Annual
Review of Psychology.
Gonzalez, T. & Sahni, S. 1976. Open Shop Scheduling to Minimize Finish Time.
Jornal of the ACM, 23(4):665-679.
Gupta, J. N. D. 1972. Heuristic Algorithm for Multistage Flowshop Scheduling
Problem. AIIE Transactions, 4(1):11-18.
Heidelberg, S. B. 2007. Open Shop Scheduling. Springer. 321-343.
Hejazi, S. R. & Saghafian, S. 2005. Flowshop-Scheduling Problems with Makespan
Criterion: A Review. International Journal of Production Research, 43(14):
2895-2929.
89
Heizer, J. & Render, B. 2014a. Operations Management: Sustainability and Supply
Chain Management, Prentice Hall.
Heizer, J. & Render, B. 2014b. Sustainability and Supply Chain Management. In:
HALL, P. (ed.) Operations Management.
Ho, J.C. 1995. Flowshop Sequencing with Mean Flowtime Objective. European
Journal of Operational Research, 81:571-578.
Ho, J. C. and Chang, Y.-L. 1991. A New Heuristic for the n-Job, m-Machine Flow-
Shop Problem. European Journal of Operational Research, 52:194–202.
Howe, A. 2014. Job-Shop Scheduling. Artificial Intelligence. Spring.
Hundal, T. S. and Rajgopal, J. (1988). An Extension of Palmer’s Heuristic for the
Flow Shop Scheduling Problem. International Journal of Production
Research, 26(6):1119–1124.
Johnson, S. M. 1954. Optimal Two- and Three-Stage Production Schedules with
Setup Times Included. Naval Research Logistics Quarterly, 1(1):61-68.
Kahneman, D., Gilovich, T. & Griffin, D. 2002. Heuristic and Biases: The
Psychology of Intuitive Judgement. Cambridge University Press. 49-81.
Kalczynski, P. J. & Kamburowski, J. 2007. On the NEH Heuristic for Minimizing
the Makespan in Permutation Flow Shops. Omega, 35(1):53-60.
Kalczynski, P. J. & Kamburowski, J. 2008. An Improved NEH Heuristic to
Minimize Makespan in Permutation Flow Shops. Computers & Operations
Research, 35(9):3001-3008.
Kanet, J. J. & Sridharan, V. 2000. Scheduling with Inserted Idle Time: Problem
Taxonomy and Literature Review, Operation Research, 48(1):99-110
Kemppainen, K. (2005). Priority Scheduling Revisited-Dominant Rules, Open
Protocols, and Integrated Order Management. Helsinki School of
Economics.
Kokash, N. 2005. An Introduction to Algorithms. Department of Informations and
Telecomunications University of Thento, Italy.
Koulamas, C. 1998. A New Constructive Heuristic for the Flowshop Scheduling
Problem. European Journal of Operational Research, 105(1):66–71.
Kumar, K. K., Nagaraju D., Gayathri, S., & Narayanan, S. 2017. Evaluation and
Selection of Best Priority Sequencing Rule in Job Shop Scheduling using
Hybrid MCDM Technique. Material Science and Engineering, 197(1):12-59.
90
Laha, D. and Chakraborty, U. K. 2007. An Improved Heuristic for Permutation
Flowshop Scheduling. Int. J. Information and Communiction Teachnology,
1(1):89-97.
Laha, D., Sarin, A. 2009. A Heuristic to Minimize Total Flow Time in Permutation
Flow Shop. Omega. 37(3):734-9.
Lin, T. L., Horng, S. J., Kao, T. W., Chen, Y. H., Run, R. S., Chen, R. J., Lai, J. L. &
Kuo, I. H. 2010. An Efficient Job-Shop Scheduling Algorithm Based on
Particle Swarm Optimization Expert Systems with Applications 37(3):2629-
2636.
Liu, J. & Reeves, C. T. 2001. Constructive and Composite Heuristic Solutions to the
Scheduling Problem, European Journal of Operational Research,
132(2):439-452.
Liu, Y., Yin, M. & Gu, W. 2014. An Effective Differential Evolution Algorithm for
Permutation Flow Shop Scheduling Problem. Applied Mathematics and
Computation, 248(1):143-159.
Lova, A. 2002. Combining Vendom Sampling and Backward-Forward heuristic for
Resource Constrained Multi-Project Scheduling. Project Management and
Scheduling.
Malik, A. & Dhingra, A. K. 2013. Comparative Analysis of Heuristic for Makespan
Minimising in Flow Shop Scheduling, International Journal of Innovations in
Engineering and Technology, 2(4):263-269.
Miyazaki, S., Nishiyama, N. & Hashimoto, F. 1978. An Adjacent Pairwise Approach
to the Mean Flow-Time Scheduling Problem. Operations Reserach Sociatey
of Japan, 21(2):287-299.
Modrak, V. & Pandian, R. S. 2010. Flow Shop Scheduling Algorithm to Minimize
Completion Time for Jobs Machines Problem, Technical Gazette, 17(3):273-
278.
Morton, T.E. & Pentico, D.W. (1993). Heuristic Scheduling Systems. New York:
John Wiley & Sons.
Mousakhan, M. 2013. Sequence Dependent Setup Time Flexible Job Shop
Scheduling Problem to Minimize Total Tardiness, International Journal of
Production Research, 51(2):3476-3487.
Naderi, B. & Ruiz, R. 2010. The Distributed Permutation Flowshop Scheduling
Problem. Computers & Operations Research, 37(4):754-768.
91
Nagano, M. S. & Moccellin, J. V. 2002. A High Quality Solution Constructive
Heuristic for Flow Shop Sequencing. Journal of Operational Research
Society, 53(12):1374-1379.
Nawaz M., Enscore J. E., Ham I. 1983. A heuristic Algorithm for the m-Machine n-
Jobs Flow-Shop Sequencing Problem. Omega. 11(1):91-95.
Nayan, N. S. A. B. A. 2015. Performance of Weighted Idle Time Flow Shop
Scheduling at Various Weight Factors. Bachelor’s Degree, Universiti Tun
Hussein Onn Malaysia.
Pan, Q. K. & Wang, L. 2011. Effective Heuristic for the Blocking Flowshop
Scheduling Problem with Makespan Minimization. The International Journal
of Advanced Manufacturing Technology, 66(9-12):1563-1572.
Panahi, H. & Tavakkoli-Moghaddam, R. 2011. Solving a Multi-Objective Open
Shop Scheduling Problem by a Novel Hybrid Ant Colony Optimization.
Expert Systems with Applications, 38(3):2817-2822.
Park, Y.B. (1981) A Simulation Study and an Analysis for Evaluation of
Performance-Effectiveness of Flowshop Sequencing Heuristics: A Static and
Dynamic Flowshop Model. Master’s Thesis. Pennsylvania State University
Pezzella, F., Morganti, G. & Ciaschetti, G. 2008. A Genetic Algorithm for the
Flexible Job Shop Scheduling Problem, Computers & Operations Research,
35(10):3202-3212.
Pinedo, M. L. 2008. Scheduling Theory, Springer. New York.
Pinedo, M. L. 2010. Scheduling: Theory, Algorithm, and Systems, Springer. New
York.
Rad, S. F., Ruiz, R. & Boroojerdian, N. 2009. New High Performing Heuristics for
Minimizing Makespan in Permutation Flowshops. Omega, 37(2):331-345.
Rahim. M. S. A. (2011). Bottleneck-Based Heuristic for Three Machine Flow Shop
Scheduling. Universiti Tun Hussein Onn Malaysia: Master’s Project Report.
Rajendran, C. & Chaudhuri, D. 1992. An Efficient Heuristic Approach to the
Scheduling of Jobs in Flowshop. European Journal of Operational Research,
61(3):318-325.
Rajendran, C. 1993. Heuristic Algorithm for Scheduling in a Flowshop to Minimize
Total Flowtime. International Journal Of Production Economics, 29(1):65-
73.
92
Ribas, I. & Companys, R. 2015. Efficient Heuristic Algorithm for the Blocking Flow
Shop Scheduling Problem with Total Flow Time Minimization. Computers
and Industrial Engineering, 87:30-39.
Ruiz, R. and Maroto,C. 2005. A Comprehensive Review and Evaluation of
Permutation Flowshop Heuristics. European Journal of Operational
Research, 165(2):479-494.
Sahraeian, A. 2012. Minimizing Makespan in Flow Shop Scheduling Using a
Network Approach. Industrial Engineering and Management, 47-64.
Sahu, A. K. 2009. Efficient Heuristics for Scheduling Tasks on a Flow Shop
Environment to Optimize Makespan. National Institute of Technology,
Rouvleka India.
Saleh, N. W. A. 2014. Modified NEH Heuristic Scheduling by Using Weighted Idle
Time. Bachelor Thesis. Universiti Tun Hussein Onn Malaysia.
Sarin, S. & Lefoka, M. 1993. Scheduling Heuristic for the n-Jobs m-Machine Flow
Shop. International Journal of Production Research, 21:229-34
Savory, P. 2005. Details and Description of Industrial Engineering, Industrial and
Management Systems Engineering Faculty Publications. 33
Seda, M. 2007. Mathematical Models of Flowshop and Job Shop Scheduling
Problems. International Journal of Applied Mathematics and Computer
Sciences, 4(4):241-246.
Shah, A. K. & Oppenheimer, D. M. 2008. Heuristics Made Easy: An Effort-
Reduction Framework. Phychological Association, 134(2):207-222.
Singhal, E., Singh, S. & Dayma, A. 2012. An Improved Heuristic for Permutation
Flow Shop Scheduling (NEH ALGORITHM), International Journal Of
Computational Engineering Research, 2(6):95-100.
Sorouch, H. M. 2007. Minimizing the Weighted Number of Early and Tardy Jobs in
a Stochastic Single Machine Problem Scheduling Problem. European Journal
of Operational Research, 181(1):266-287.
Sule, D. R. (2008). Production Planning and Industrial Scheduling. 2nd
Edition.
Boca Raton.
Suliman, S. M. A. 2000. A Two-Phase Heuristic Approach to the Permutation Flow-
Shop Scheduling Problem. International Journal of Production Economics,
64(1-3):143–152.
93
Taillard, E. 1990. Some Efficient Heuristic Methods for Flow Shop Sequencing
Problem. European Journal of Operational Research, 47(1):65-74.
Taylor, A. D. (2006). Minitab Basics.
Terekhov, D., Tran, Y. T. & Beck, J. C. 2013. Investigating Two-Machine Dynamic
Flow Shops Based on Queueing and Scheduling.
Turner, S. & Booth, D. 1987. Comparison of Heuristics for Flowshop Sequencing.
Omega. 15(1):75-85.
Wang, L. & Zheng, D. Z. 2003. An Effective Hybrid Heuristic for Flow Shop
Scheduling. Advance Manufacturing Technology, 38-44.
Wang, L. & Fang, C. 2012. An Effective Estimation of Distribution Algorithm for
the Multi-mode Resource-constrained Project Scheduling Problem, Computer
& Operations Research, 39:449-460.
Wang, S. Y., Wang, L., Liu, M. & Xu, Y. 2013. An Effective Estimation of
Distribution Algorithm for Solving the Distributed Permutation Flow-shop
Scheduling Problem, Int. J. Production Economics, 145:387-396.
Wadhwa, S., Prakash, A. & Deshmukh, S. G. 2009. A Knowledge Based GA
Approach for FMS Scheduling, International Multiconferences of
Engineerings and Computer Scientists, 2.
Watanabe, M., Ida, K. & Gen, M. 2005. A Genetic Algorithm with Modified
Crossover Operator and Search Area Adaptation for the Job-Shop Scheduling
Problem. Computers & Industrial Engineering, 48(4):743-752.
Xia, W. & Wu, Z. 2005. An Effective Hybrid Optimization Approach for Multi-
Objective Flexible Job-Shop Scheduling Problems, 48(2):409-425.
Xing, L. N., Chen, Y. W., Wang, P., Zhaou, Q. S. & Xiong, J. 2010. A Knowledge-
Based Ant Colony Optimization for Flexible Job Shop Scheduling Problems.
Applied Soft Computing 10(3):888-896.
Xu, Y., Wang, L., Wang, S. & Chua, T. J. 2015. A Two Stage Artificial Bee Colony
Algorithm Scheduling Flexible Job Shop Scheduling Problems with New Job
Insertion. Expert Systems with Applications, 42(21):7652-7663.
Yazdani, M., Zandieh, M. & Amiri, M. 2010. Flexible Job-Shop Scheduling with
Parallel Variable Neighbourhood Search Algorithm. Expert Systems with
Applications 37(1):678-687.
94
Yenisey, M. M. & Yagmahan, B. 2014. Multi-Objective Permutation Flow Shop
Scheduling Problem: Literature Review, Classification and Current Trends.
Omega, 45:119-135.
Ziaee, M. 2013. General Flowshop Scheduling Problem with the Sequence
Dependent Setup Times: A Heuristic Approach. Information Sciences,
251:126-135.
Zuloaga, M. S. 2017. Optimizing Resource Allocation in a Portfolio of Projects
Related to Technology Infusion Using Heuristic and Meta-Heuristic Methods
Master’s Degree, National University of Rosanio.