Artificial Immune Systems Applied to Job Shop Scheduling A thesis

Artificial Immune Systems Applied to Job Shop Scheduling
A thesis presented to
the faculty of
the Russ College of Engineering and Technology of Ohio University
In partial fulfillment
of the requirements for the degree
Master of Science
Akshata A. Bondal
March 2008
2
This thesis titled
Artificial Immune Systems Applied to Job Shop Scheduling
by
AKSHATA A. BONDAL
has been approved for
the Department of Industrial and Systems Engineering
and the Russ College of Engineering and Technology by
Gary R. Weckman
Associate Professor of Industrial and Systems Engineering
Dennis Irwin
Dean, Russ College of Engineering and Technology
3
ABSTRACT
BONDAL, AKSHATA A., M.S., March 2008, Industrial and Systems Engineering
Artificial Immune Systems Applied to Job Shop Scheduling (125 pp.)
Director of Thesis: Gary R. Weckman
An attempt has been made to draw on immunological metaphors to build
an Artificial Immune System (AIS) that can be applied to the area of Job Shop
Scheduling. The distinctive feature of the AIS is its ability to provide robust solutions.
Based on the research undertaken in this thesis to evaluate the existing AIS principles,
models and applications, an algorithm applicable to Job Shop Scheduling was built. This
algorithm was based on the theories of the Positive Selection Algorithm and the Clonal
Selection Principle. A Visual Basic (VB) program was created to test the viability of this
algorithm on Job Shop problems. The test comprised of evaluating 10 Job Shop problems
with the new AIS model against a Genetic Algorithm (GA) model using the dimensions
of optimality and robustness. Extensive testing revealed that the AIS model was slightly
less competitive than the GA model in the optimality test but beat the GA in robustness.
Another key finding was that the robustness of the model increased as the best solutions
produced by the model were closer to the known optimal. Finally, a few areas for future
research were identified to improve the optimality of the algorithm, such as, adding the
aspect of ‘memory’ and continuing to keep tabs on the advancements in the field of AIS.
Approved: _____________________________________________________________
Gary R. Weckman
Associate Professor of Industrial and Systems Engineering
4
To my parents, Kumud and Ashwin Bondal
5
TABLE OF CONTENTS
Page
Abstract ............................................................................................................................... 3
Dedication ........................................................................................................................... 4
List of Tables ...................................................................................................................... 9
List of Figures ................................................................................................................... 11
CHAPTER 1: Introduction ............................................................................................... 13
1.1 Scheduling................................................................................................................... 13
1.2 Manufacturing Scheduling.......................................................................................... 14
1.3
1.2.1
Type of Production Layouts.................................................................. 14
1.2.2
Shop Configuration............................................................................... 16
Problem Definition................................................................................................ 17
1.3.1 Introduction to Scheduling in a Manufacturing Environment ..................... 17
1.3.2 Scheduling Approaches ............................................................................... 18
1.3.2.1 Exact Methods .............................................................................. 19
1.3.2.2 Approximation Techniques........................................................... 20
1.3.3 The Job Shop Scheduling Problem .............................................................. 25
1.3.4 NP Problems ................................................................................................ 28
1.4 Past Approaches.......................................................................................................... 29
1.5 Thesis Approach and Structure................................................................................... 30
CHAPTER 2: Study of Artificial Immune Systems ......................................................... 32
6
2.1 Introduction to AIS ..................................................................................................... 32
2.2 Literature Review........................................................................................................ 33
CHAPTER 3: Development of Algorithm for JSSP......................................................... 43
3.1 Outline of the Algorithm............................................................................................. 43
3.1.1 The Positive Selection Algorithm................................................................ 44
3.1.2 The Clonal Selection Algorithm .................................................................. 46
3.1.3 The Algorithm.............................................................................................. 47
3.1.4 Building an Antibody................................................................................... 56
3.1.5 Deciphering an Antibody............................................................................. 57
3.1.6 Antigen Library............................................................................................ 58
3.1.7 Mutation....................................................................................................... 59
3.1.8 Final Evaluation ........................................................................................... 61
3.2 Summary ..................................................................................................................... 62
CHAPTER 4: Testing the Algorithm................................................................................ 64
4.1 Parameters Tested ....................................................................................................... 64
4.2 Problems Tested.......................................................................................................... 65
4.3 Implementing the Algorithm in Visual Basic (VB):................................................... 70
4.4 Results......................................................................................................................... 80
4.4.1 Approach...................................................................................................... 81
4.4.2 Discussion of the Results with the AIS Algorithm...................................... 83
4.4.2.1 Problem 1: The FT10 Job Shop Scheduling Problem................... 83
4.4.2.2 Problem 2: The FT06 Job Shop Scheduling Problem................... 85
7
4.4.2.3 Problem 3: The ABZ5 Job Shop Scheduling Problem ................. 87
4.4.2.4 Problem 4: The ABZ6 Job Shop Scheduling Problem ................. 89
4.4.2.5 Problem 5: The LA01 Job Shop Scheduling Problem .................. 91
4.4.2.6 Problem 6: The LA02 Job Shop Scheduling Problem .................. 93
4.4.2.7 Problem 7: The LA03 Job Shop Scheduling Problem .................. 95
4.4.2.8 Problem 8: The LA04 Job Shop Scheduling Problem .................. 96
4.4.2.9 Problem 9: The LA05 Job Shop Scheduling Problem .................. 98
4.4.2.10 Problem 10: The LA16 Job Shop Scheduling Problem ............ 100
4.5 Comparison of the Results to Genetic Algorithms ................................................... 102
4.5.1 Detailed Discussion of the Comparison between AIS and GA ................. 102
4.5.1.1 Problem 1: The FT10 Job Shop Scheduling Problem................. 103
4.5.1.2 Problem 2: The FT06 Job Shop Scheduling Problem................. 103
4.5.1.3 Problem 3: The ABZ5 Job Shop Scheduling Problem ............... 104
4.5.1.4 Problem 4: The ABZ6 Job Shop Scheduling Problem ............... 104
4.5.1.5 Problem 5: The LA01 Job Shop Scheduling Problem ................ 105
4.5.1.6 Problem 6: The LA02 Job Shop Scheduling Problem ................ 106
4.5.1.7 Problem 7: The LA03 Job Shop Scheduling Problem ................ 106
4.5.1.8 Problem 8: The LA05 Job Shop Scheduling Problem ................ 107
4.5.1.9 Problem 9: The LA05 Job Shop Scheduling Problem ................ 108
4.5.1.10 Problem 10: The LA16 Job Shop Scheduling Problem ............ 108
4.5.2 Summary of the Comparison ..................................................................... 109
4.5.2.1 Comparing Optimality of the Results ......................................... 110
8
4.5.2.2 Comparing Robustness of the Results ........................................ 112
CHAPTER 5: Conclusions ............................................................................................. 115
CHAPTER 6: Future Work............................................................................................. 119
6.1 Future Work .............................................................................................................. 119
6.1.1 Areas of Improvement ............................................................................... 119
6.1.2 Comparison ................................................................................................ 119
References....................................................................................................................... 121
9
LIST OF TABLES
Page
Table 1: Priority Rules for Scheduling ...........................................................................21
Table 2: The Routing and Machining Times of the FT06 Problem................................50
Table 3: List of Problems being Tested ..........................................................................65
Table 4: Problem 1: The FT10 Job Shop Scheduling Problem ......................................66
Table 5: Problem 2: The FT06 Job Shop Scheduling Problem ......................................66
Table 6: Problem 3: The ABZ5 Job Shop Scheduling Problem .....................................66
Table 7: Problem 4: The ABZ6 Job Shop Scheduling Problem .....................................67
Table 8: Problem 5: The LA01 Job Shop Scheduling Problem......................................67
Table 9: Problem 6: The LA02 Job Shop Scheduling Problem......................................68
Table 10: Problem 7: The LA03 Job Shop Scheduling Problem....................................68
Table 11: Problem 8: The LA04 Job Shop Scheduling Problem....................................69
Table 12: Problem 9: The LA05 Job Shop Scheduling Problem....................................69
Table 13: Problem 10: The LA16 Job Shop Scheduling Problem..................................70
Table 14: Parameters of the Algorithm...........................................................................76
Table 15: Parameter List for the FT10 Problem .............................................................84
Table 16: Parameter List for the FT06 Problem .............................................................86
Table 17: Parameter List for the ABZ5 Problem............................................................88
Table 18: Parameter List for the ABZ6 Problem............................................................90
Table 19: Parameter List for the LA01 Problem ............................................................92
10
Table 20: Parameter List for the LA02 Problem ............................................................93
Table 21: Parameter List for the LA03 Problem ............................................................95
Table 22: Parameter List for the LA04 Problem ............................................................97
Table 23: Parameter List for the LA05 Problem ............................................................99
Table 24: Parameter List for the LA16 Problem ..........................................................101
Table 25: Solution Comparison for the FT10 Problem ................................................103
Table 26: Solution Comparison for the FT06 Problem ................................................104
Table 27: Solution Comparison for the ABZ5 Problem ...............................................104
Table 28: Solution Comparison for the ABZ6 Problem ...............................................105
Table 29: Solution Comparison for the LA01 Problem................................................105
Table 30: Solution Comparison for the LA02 Problem................................................106
Table 31: Solution Comparison for the LA03 Problem................................................107
Table 32: Solution Comparison for the LA04 Problem................................................107
Table 33: Solution Comparison for the LA05 Problem................................................108
Table 34: Solution Comparison for the FT10 Problem ................................................108
Table 35: Summary of the Comparison between AIS and GA.....................................110
Table 36: Difference in the Makespan between AIS and GA ......................................111
11
LIST OF FIGURES
Page
Figure 1: An Example of a Job Shop ..............................................................................28
Figure 2: The Positive Selection Algorithm ...................................................................44
Figure 3: Flowchart of the Algorithm.............................................................................49
Figure 4: Chart Depicting Random Sequence as Actual Schedule.................................52
Figure 5: Generation of Antibody from Antibody Library.............................................56
Figure 6: The Antigen Library........................................................................................58
Figure 7: Mutation of an Antigen ...................................................................................60
Figure 8: Defining the Problem in VB............................................................................72
Figure 9: Specifying the Algorithm Parameters .............................................................73
Figure 10: Mutation within an Antigen ..........................................................................75
Figure 11: The Antibody Library....................................................................................78
Figure 12: Final Results ..................................................................................................79
Figure 13: Result Window for the FT10 Problem ..........................................................85
Figure 14: Result Window for the FT06 Problem ..........................................................87
Figure 15: Result Window for the ABZ5 Problem.........................................................89
Figure 16: Result Window for the ABZ6 Problem.........................................................91
Figure 17: Result Window for the LA01 Problem..........................................................92
Figure 18: Result Window for the LA02 Problem..........................................................94
Figure 19: Result Window for the LA03 Problem..........................................................96
12
Figure 20: Result Window for the LA04 Problem..........................................................98
Figure 21: Result Window for the LA05 Problem........................................................100
Figure 22: Result Window for the LA16 Problem........................................................101
Figure 23: Comparison of the Robustness between AIS and GA.................................113
Figure 24: Relationship between Optimality and Robustness for AIS .........................114
Figure 25: Relationship between Optimality and Robustness for GA..........................114
Figure 26: General Relation between Optimality and Robustness for AIS ..................116
13
CHAPTER 1: INTRODUCTION
1.1 SCHEDULING
Scheduling is the process of allocating tasks, in an efficient and organized manner,
to a set of resources. Generally, these tasks require the use of varied resources while the
resources, on the other hand, are limited in nature with respect to quantity as well as the
time that they are available for. Also, the tasks may be required to be completed within
certain time periods and in a certain sequence. These dynamics imply that tasks as well as
resources have different constraints, thus making scheduling a complicated process.
Consider the example of a time-table scheduling process for a school. The task at
hand is to assign students to different courses with constraints such as the number of
students that can be accommodated in a class, the number of teachers available to teach
the class, the working hours of the school, the space available to assign classes to, etc. As
can be seen, even the simple process of scheduling a school time-table is, in reality, a
complex decision-making problem. It can also be observed that there are multiple
resources that need to be taken into account, some of which include; students, teachers
and space.
In addition to building a schedule that balances only the allocation of resources so
as to avoid clashes, a good schedule should also be efficient such as it should conform to
the working hours of the school and minimize wasted time between classes for students
as well as teachers. The practice of scheduling is very common in the real world; most
common among them being the scheduling of tasks in a manufacturing plant, school
14
time-table scheduling and airplane scheduling. This thesis will address the problems of
scheduling in a manufacturing environment; hence the next few sections focus on this
area, the problems faced therein, past approaches and the direction of the thesis.
1.2 MANUFACTURING SCHEDULING
Scheduling activities carried out in a manufacturing plant relate to that of assigning
in-coming jobs that need to be processed using the resources that process them. These
resources mainly constitute the machines that process the jobs but may also include the
manpower required to operate the machines. Thus, manufacturing scheduling refers to the
scheduling of jobs on machines so that they may be processed in an efficient and costeffective manner.
The process of scheduling can be made more effective by identifying a few
fundamental characteristics of the production processes being followed in that
manufacturing plant:
•
Type of Production Layout
•
Shop Configuration
1.2.1
Type of Production Layouts
Production Layout refers to the organization of the resources in the production unit
and there are 4 primary layouts:
•
Product Layout – In this type of layout, each product has its own production line.
This translates to having a unique set of resources wholly dedicated to the processing of a
15
particular product. The resources are arranged so as to maximize the production rate of
that product. Generally, this type of layout has the required machines arranged in a line in
the order of the processing sequence. Some of the characteristics of this layout are that it
is operated for products which have to be produced in large volumes and where the aim is
to minimize the through-put time.
•
Process Layout – This is also called a Functional Layout because this layout groups
together machines which are used for similar functions. The heat treatment section which
consists of all the machines and equipment required for heat treatment would qualify as a
process layout. The aim of this layout is to maximize machine utilization even at the cost
of increasing the lead time of the products being processed on these machines. Unlike a
Product Layout, the machines are shared between the products that need them.
•
Cellular Layout – When products with similar processing requirements are grouped
together and all the machines that need to process that group are arranged in a cell, the
layout is called a cellular layout. The difference between a Process Layout and Cellular
Layout is that the machines in the cell are not similar but rather constitute all the
machines required to process a group of products. This layout balances the effects of both
product and process layout. Thus, the machine utilization is not as low as the Product
Layout and lead time is not as high as the Process Layout.
•
Fixed Layout – This is a unique type of layout where the job remains stationary at one
place and the machines are moved to the location of the job. This is used for special types
of products, especially those which are too heavy to be moved around in the production
unit. The ship building and airplane manufacturing industry uses this type of layout as
16
these products are too bulky to be moved and it is easier to bring the machines to the
product.
1.2.2
Shop Configuration
Shop configurations refer to the organization of the flow of products in the production
unit. The way in which the jobs are scheduled will depend on the type of shop
configuration being followed, hence the importance of knowing the different types of
configurations:
•
Single Machine Shop – There exists only one machine in the shop on which all of the
products are processed
•
Parallel Machine Shop – Multiple quantities of the same machine are placed in one
shop so that a product can be processed on any available machine in the shop
•
Flow Shop – Different machines arranged so that all of the products being processed
through these machined pass in the same order. The Product Layout will have a Flow
Shop Configuration
•
Job Shop – The production unit is set up with different machines and the products can
pass through the machines in any order. This makes the process of scheduling the
products on the machines more complicated
•
Assembly Lines - Based on the time taken up by different tasks, the machines are
grouped together by certain rules such that the time taken by all the groups is
approximately the same or less than a determined value.
17
•
Manufacturing Cells – The products are classified into groups called cells based on
their processing similarities. These are the parts for which a Cellular Layout is designed.
1.3 PROBLEM DEFINITION
1.3.1 Introduction to Scheduling in a Manufacturing Environment
Scheduling is the process of optimizing the assignment of a set of tasks to a group
of finite resources. The final aim of scheduling is generally to optimize a particular
dimension such as cost, revenue, profit, time or efficiency. Further, the resources have
additional constraints and a schedule has to be developed so that an optimum result is
obtained which takes into consideration the limitations posed by the constraints.
In a manufacturing environment, the ‘tasks’ would generally refer to the process
steps involved in order to convert raw materials into finished products. A product in the
stage of production is called a ‘job’. The resources could be the machines that the jobs
are machined on, the men needed to operate the machines or money required to set up all
of the components of the system. Each of the resources has certain constraints.
For example, the machines and the men working on it have time constraints in that
they cannot be in continuous hours of work but need time for rest, food, maintenance, etc.
Another type of constraint is that only one job can be handled by one machine and one
man at any given time. Furthermore, monetary constraints further restrict the amount of
machines, manpower, work hours, etc. again restricting the manner in which the schedule
18
can be built. There are many more other minor and major constraints that come in the
way of developing an optimum schedule.
Maximizing the productivity of a production process is the fundamental underlying
objective of creating an optimum schedule. The definition of optimum schedule can mean
different things depending on the definition of productivity. In a manufacturing plant, the
productivity can be measured in terms of the number of jobs being produced per unit
time, whether or not the finished products reach the customer on time, utilization of
resources and through a number of other ways. Depending on how productivity is
measured, a schedule would have either one or multiple objectives to attain. Some of the
more common objectives that manufacturing plants generally seek to optimize include
makespan (the time required to get a batch of products out of the system), lateness,
tardiness, profit for the company and others.
The complete schedule, after the process of optimization, basically provides start
and end times of each job on each machine and may also include miscellaneous
information with respect to the operating hours of the machines, its maintenance times,
idle times, operating hours of manpower, allocation of men to machines and other
information as relevant to the problem at hand and the needs of the situation being
analyzed.
1.3.2 Scheduling Approaches
Since scheduling is essentially an optimization-under-constraints problem, it comes
under the broad umbrella of Operations Research. For each of the different objectives,
19
many traditional and non-traditional techniques and rules have been developed to solve
them.
All of the approaches can be broadly classified under two categories:
•
Exact Methods
•
Approximation Techniques
1.3.2.1 Exact Methods
The most significant Exact Method used for the Job Shop Scheduling Problem is
called the Branch-and-Bound Method. This method was developed by A. H. Land and A.
G. Doig [1], primarily for the purpose of ‘optimization of problems which could be
formulated as linear programming problems with additional constraints’. This method
first finds a feasible region in which the solution exists and then tries to narrow down the
search to find the exact value within that region. The feasible region is split into smaller
regions called braches so as to enhance the search procedure. They are called branches as
these regions can be plotted into a tree structure with each region forming a branch of the
tree. Further, each branch has upper and lower bounds. These bounds relate to the highest
and lowest values that the optimal solutions in the feasible region can take. The process
of determining the upper and lower bounds is called ‘bounding’. Hence the name,
‘Branch and Bound’.
To garner a simple understanding of the ‘Branch and Bound technique’, consider
a minimization-type problem. The potential areas in which the solutions can exist are
divided into smaller areas that serve as the branches. Each branch is analyzed one after
20
the other. The bounding process is initiated by finding the upper and lower bounds of the
first branch that is analyzed. These serve as the future reference points. Then the bounds
for the next branch are determined. If the lower bound for this branch is greater than the
upper bound for the previous branch then the branch is discarded, or else it is retained.
The same process is followed for all of the branches and the best solution is reached by a
process of elimination. The entire feasible area wherein the optimum solution could lie is
searched through to determine the optimum solution.
The discussion above was a very straightforward explanation of the ‘Branch and
Bound technique’. However, in application, the process is complicated by the techniques
applied for the processes of branching and bounding. There are many suggested methods
for each of the processes and a multitude of combinations of branching and bounding can
be applied depending on the type, needs, complexity and other aspects of the problem.
1.3.2.2 Approximation Techniques
The problem with the Exact Methods is that they do not assure optimal solutions
and also require extended times to reach the solutions. In order to quicken the process in
finding solutions for Non-deterministic Polynomial (NP) problems such as the Job Shop
Scheduling Problem, approximation techniques are used. These techniques do not always
reach the optimal solution but reach very close, approximately within 5% of the optimal.
Some of the techniques used on Job Shop problems include:
•
Priority Dispatch Rules
•
Bottleneck based Heuristics
21
•
Opportunistic Scheduling
•
Artificial Intelligence
1.3.2.2.1 Priority Dispatch Rules
Jobs can be scheduled on machines taking into consideration certain rules,
depending on the final objective or purpose for which a schedule is being generated. For
instance, certain rules would be followed if the purpose was to meet due dates for the
products while other rules would be followed if the objective was to reduce lateness of
the system. Table 1, lists the rules along with a short summary explaining each rule and
as to how they are scheduled on each machine. All of the rules listed can be traced to the
algorithm developed by Giffler and Thomson [2].
Table 1
Priority Rules for Scheduling
Rule
Stands for
SOT
Shortest Operation Time
LOT
Longest Operation Time
LRPT
Longest Remaining
Processing Time
Shortest Remaining
Processing Time
Longest Operation
Remaining Processing Time
First Come First Serve
Shortest Processing Time
SRPT
LORPT
FCFS
SPT
Summary
Schedule operations with shortest
processing time
Schedule the operation with the longest
operation time
Schedule the operation with the longest
remaining operation time
Schedule the operation with the shortest
remaining operation time
Schedule the operation with the largest
sum of tail and longest operation time
Schedule the operation that arrives first
Schedule the operation with the shortest
processing time
22
Table 1 continued
Priority Rules for Scheduling
LPT
Longest Processing Time
LOS
Longest Operation Successor
SNRO
Smallest Number of
Remaining Operations
Largest Number of
Remaining Operations
-
LNRO
Random
Schedule the operation with the longest
processing time
Schedule the operation whose successor
has the longest operation time
Schedule the operation which has the
smallest number of remaining operations
Schedule the operation which has the
largest number of remaining operations
Randomly schedule the operations
The advantages of using Priority Rules is that they are simple to understand and
easy to implement.
1.3.2.2.2 Bottleneck based Heuristics
The Shifting Bottleneck Heuristic was first developed by Adams, Balas and Zawack
in 1988 as a solution to the Job Shop Scheduling Problem [3]. As the name suggests, the
heuristic aims to identify bottlenecks in the schedule and then re-schedule the jobs so as
to minimize the effect of the bottleneck on the entire schedule. The heuristic starts by
building partial schedules for each machine. Initially, the problem is broken into a onemachine scheduling problem. Schedules are built for each of the machines individually,
taking into consideration the ready times for the jobs on each machine as the completion
time on the preceding operation. Once all the schedules are built, the lateness of the jobs
(based on their due date) on each machine is measured.
23
For the lateness to be minimized; the bottleneck operations are identified and
attempts are made to re-schedule the operations on machines. The schedules are built
again to evaluate the effect of the change in schedule. Further improvements may be
possible by rescheduling the order of operations again if new bottlenecks are identified
and if it is possible to shift their order. This process is continued until the shifting process
cannot be carried out any further. The schedule generated at the end of this procedure
would be the final schedule.
The example explained above is a simple procedure that can be effectively applied
to small and uncomplicated problems. However, the same principle is used for more
complex problems as well. The basic idea is to consider the problem as a single-machine
problem, build partial schedules, identify bottlenecks and eliminate them. This process is
continued until the job shifting process cannot be carried out any further and,
consequently, the schedule cannot be improved anymore.
1.3.2.2.3 Opportunistic Scheduling
Using the priority rules discussed previously is a very general approach to job shop
scheduling. Scheduling problems generally have unique nuances so that using general
rules is often not the best way to solve them. Opportunistic Scheduling tries to identify
some unique characteristics about the particular problem being solved with the aim of
reaching a better solution at a faster rate. Heuristics and algorithms have been built which
look at identifying aspects of the solution that can be easily solved.
24
An approach called the ISIS [4] looks to apply priority rules in a problem specific
manner known as ‘constraint directed reasoning system’. It identifies certain unique
aspects in the system and creates constraints so as to channel the search in the right
direction. This system applies priority rules around the constraints developed for the
specific problem. Another approach called Opportunistic Intelligent Scheduler (OPIS) [5]
looks to identify bottlenecks and resource constraints of the problem being analyzed.
Solutions are then generated to satisfy these constraints. The main advantage of this type
of scheduling is that good solutions are identified at an early stage in the process by being
on a constant lookout for ‘opportunities’ to create constraints, which in turn speed up the
process of finding good solutions.
1.3.2.2.4 Artificial Intelligence or Local Search Methods
In the area of Scheduling, especially Job Shop Scheduling, Artificial Intelligence
(AI) refers to evolutionary algorithms like Genetic Algorithms, Artificial Immune
Systems and others such as Artificial Neural Networks, Tabu Search techniques,
Simulated Annealing, etc. These algorithms are generally based on the working of some
natural occurrence. For instance, Genetic Algorithms are based on how chromosomes are
built from genes using the processes of selection, mutation, crossover, etc. Computer
programs are developed which imitate these natural processes and can be applied to
different optimization problems including the Job Shop problem. This area of research is
fairly recent and slowly gaining popularity. Genetic Algorithms, Tabu Search and
Artificial Neural Networks are arguably among the most popular of all AI algorithms.
25
The advantages of these techniques are that their computation times are much less
than traditional techniques. However, their performance cannot be guaranteed for a
particular problem. For instance, Genetic Algorithms have been applied to Job Shop
problems with much success. They have provided good quality solutions at low
computation times for even very complex problems. On the other hand, Artificial
Immune Systems have not been applied to this area as frequently as GA.
1.3.3 The Job Shop Scheduling Problem
The Job Shop Scheduling Problem (JSSP) is a special type of scheduling problem;
the algorithm constructed in this thesis attempts to solve this specific problem. The job
shop problem pertains to the allocation of jobs to machines in a job shop environment. A
Job Shop is a production center where all of the machines possessed by the center are
placed in the same area and all jobs entering the center share the machines. It is possible
that a particular job entering the system may not need all of the machines that are in the
center and it is also possible to have multiple quantities of the same type of machine.
This makes the process of scheduling all the more difficult as all of the jobs that
enter the system will go to most of the machines, and therefore, there is a high probability
of jobs waiting for busy machines or vice versa if improper scheduling procedures are
followed, resulting in poor productivity within the production system. Figure 1 gives an
idea of what a Job Shop looks like and how jobs entering the system move between the
machines in their respective processing orders for specified processing time periods.
26
The example in Figure 1 considers a 6 Machine 3 Job problem. The jobs enter the
system and the illustration describes the operation sequence flow for each job. Job 1, for
instance, starts with Machine 1, goes on to Machine 4 then Machine 5, Machine 2,
Machine 3 and finally Machine 6. Similarly, the sequence of the other jobs is also
illustrated. The complications involved in any job shop problem would address the
following issues:
•
Reduction of the possibility of assigning 2 jobs to the same machine at the same time.
•
In the case of conflict above, which job gets the machine first and which job waits for
the machine
•
Final aim, in our case, is to reduce the time required to process all of the jobs in the
system
In general, job shops can have any number of machines and also any number of
jobs entering the system. Also, as mentioned earlier, the jobs may or may not utilize all of
the machines in the system, depending on the operations required to complete the
processing of the product. However, the type of job shop problem considered in this
thesis is a particular type of the general problem that has a few unique characteristics:
•
It is assumed that all of the jobs in this problem have to be processed using all of the
machines. Hence, if there are 10 machines and 4 jobs, each of the jobs will be processed
on all 10 machines.
•
Although each job has to be processed on all of the machines, the order in which each
job is routed on the machines may vary according to the processing specifications of each
27
job. For example, Job 1 may go to Machine 1 first and then continue to Machine 2 but
Job 2 may go to Machine 2 first and then go to Machine 1.
•
There are no constraints on the processing times of each job on each machine.
•
All jobs arrive at the same time and that time (t) is assumed to be t = 0.
•
There is no consideration for due dates of any job. All of the jobs are simply required
to complete all of their assigned operations.
•
The main objective is to minimize makespan. Thus, the aim of developing the
schedule is to organize jobs on machines so as to minimize the total time that all of the
jobs take in the job shop system.
•
The only constraint in this problem is that of the precedence order of the operations of
each job. A job has to follow the order of operations assigned to it and cannot violate that
one constraint.
The reason a Job Shop Problem was chosen to analyze the problem is that it is a
good representation of all scheduling problems in general. Also, the problem, including
this simplified version, is considered to be an NP problem; making it highly difficult to
be solved optimally.
28
Job 3
Job 1
M/C 1
M/C 2
M/C 3
M/C 4
M/C 5
M/C 6
Job 2
Figure 1: An Example of a Job Shop
1.3.4 NP Problems
NP stands for Non-deterministic Polynomial-time and it comes under a group of
problems called ‘Decision Problems’. All problems classified as NP are, essentially, very
difficult to solve and are generally optimization type problems. These problems are
considered to be so difficult that it may be unknown whether or not a problem even has
an optimal solution. Hence the problems are called Non-deterministic while Polynomial
time refers to the means by which the correctness of a given solution (or proof) of an NP
problem is verified. Apart from the Job Shop Problem being considered in this thesis,
there are several others that are considered NP. Some other popular problems are the
Traveling Salesman Problem and the Boolean Satisfiability Problem. Solutions to such
29
NP problems have been sought by developing complex mathematical models, branch and
bound methods and various types of algorithms such as the one being discussed in this
thesis. Even though all of the Job Shop problems being experimented with here are NP,
some of the smaller and less complicated problems have been optimized by some of the
methods previously mentioned.
1.4 PAST APPROACHES
The Job Shop Scheduling Problem is a very complicated problem and is even
classified as an NP problem which refers to a group of problems that are difficult to
optimize. There have been numerous attempts to solve job shop problems of different
sizes and levels of difficulty. The methods applied earlier were very mathematical which
sought to build math models or apply exact algorithms in an attempt to solve it. Some of
these approaches have been very successful but can also be time consuming. These
methods, however, formed the basis of a new area of research dealing with the idea of
finding solutions very close to optimal in much less time as compared to the previous
methodologies. These new methods are called approximation algorithms. Methods like
Genetic Algorithms, Neural Networks, Tabu Search, Swarm Optimization, etc. belong to
this class. These methods have also been partially successful in optimally solving job
shop problems.
30
1.5 THESIS APPROACH AND STRUCTURE
Although some of the past approaches have been proved to be adept at solving
complicated Job Shop Problems, there have been some shortcomings in them. For
example, some approaches may be capable of finding optimal solutions but take a very
long time in the process, while others reach near-optimal solutions in a shorter time
frame. Overcoming these shortcomings and at the same time testing a novel algorithm
that has not been applied to the field of Job Shop Scheduling to its full potential made
this topic an attractive proposition. The basic approach used in this thesis was to garner
an understanding of the theory behind AIS and devise an algorithm that would not only
best suit the needs of the scheduling problem but also introduce unique features as
compared to methods already applied. The approach can be summarized as follows:
•
Learning and understanding the scheduling problem in terms of its complexities,
constraints and scope.
•
Understanding the underlying principles of Artificial Immune Systems, analyzing
their potential to be applied to job shop scheduling problems and developing a suitable
algorithm.
•
Creating a VB program to implement the new algorithm and
•
Testing the performance of this algorithm on a set of Job Shop Problems and
evaluating its performance by comparing it to that of a Genetic Algorithm
The structure of this document also follows a similar pattern. The preceding
sections introduced the scheduling problem, in general, with a follow-up on
manufacturing scheduling in particular. The succeeding sections commence by studying
31
the approaches used in the past. The approaches can be broadly classified as Exact
Methods and Approximation Techniques. Following this is a detailed discussion of the
workings of the immune system, how it works in theory within the human body and how
principles were derived therein, and then goes on to outline the algorithm developed in
this thesis. Finally, an evaluation of the applied methodology is carried out and is also
compared to Genetic Algorithms, with which it shares some similarities.
32
CHAPTER 2: STUDY OF ARTIFICIAL IMMUNE SYSTEMS
2.1 INTRODUCTION TO AIS
Artificial Immune Systems are adaptive systems applied to problem solving which
have been derived from the principles, models and functions of the human immune
system. The field of AIS is very recent and was initially developed in 1986 by J. D.
Farmer et al. in their paper called ‘The Immune System, Adaptation and Machine
Learning’ [6] and was followed by another paper by G.W. Hoffman called ‘A Neural
Network Model Based on the Analogy with the Immune System’ [7].
To better comprehend the Artificial Immune Model, a basic understanding of the
functioning of the human immune system is essential. The human immune system is
characterized by its adaptive and robust nature. This can be observed by considering a
simple example of an infection attacking the body. The infection (or antigen) attacking
the body is countered by the defense mechanism called the antibody. The antibody
consists of a varied combination of T-cells and B-cells which can adapt themselves to
counter the antigen.
For example, if an antigen has a particular configuration, the T-Cells and B-Cells
will attack the antigen with different configurations until they determine the one match
that is capable of destroying the antigen. Further, B-Cells have the property of cloning the
configuration that kills the antigen so that a healthy population of antibody will be
created which completely destroys the infection. Similarly there are many other
characteristics that have been identified by the immune system in its course to find the
best configuration of attack against the antigen.
33
These observations from theoretical immunology have been adapted into an
artificial system by developing a number of algorithms such as the Positive Selection
Algorithm, the Negative Selection Algorithm, Clonal Selection Algorithm, etc. and
applied as a problem solving tool. Even today, much of the work being done is in the area
of theoretical immunology to seek out useful aspects of the human immune system and
adapt them to artificial immune algorithms. The areas of practical applications of AIS
have been done in diverse areas such as computer security, data mining, machine learning
and also scheduling.
With continued progress in the development of models and frameworks in the AIS
field, the most prominent application was in developing computer anti-viruses and other
computer protection tools. Companies like IBM and Sun Microsystems have developed
AIS models for such purposes. This has further attracted other companies such as the US
Navy and the British Postal services to look to AIS to address some of their issues [8].
2.2 LITERATURE REVIEW
As mentioned previously, AIS originated with the publication of a paper by J. D.
Farmer et al. called ‘The Immune System, Adaptation and Machine Learning’ [6] and
another paper by G.W. Hoffman called ‘A Neural Network Model Based on the Analogy
with the Immune System’ [7] both in 1986. Farmer et al. proposed a dynamical model
based on the theory of the immune network which showed how the working of the
immune system can be applied to the field of artificial intelligence. The model proposed
by them became very popular and was used as a basis for applying it to different
34
applications. Other relevant papers published by J. D. Farmer include ‘Adaptive Dynamic
Networks as Models for the Immune System and Autocatalytic Sets’ [9] and ‘A Rosetta
Stone for Connectionism’ [10] both of which are original models inspired by the working
of the immune system.
Hoffmann’s paper was a comparison of the nervous and immune system and he
built a model incorporating some aspects of the immune system into a neural network
model. However, the scope of this model in terms of applications was not as much as that
proposed by Farmer et al. However, the unique idea of combining the two promoted more
research into the area and numerous models have been generated since.
Researcher Y. Ishida was involved in developing models on the immune system
and applying his models to areas like process diagnosis. In his paper ‘Fully Distributed
Diagnosis by PDP Learning Algorithm: Towards Immune Network PDP Model’ [11] and
‘An Immune Network Model and Its Applications to Process Diagnosis’ [12] deals with a
model built on the recognition capabilities of the immune system and how it learns
through recognition. Further, this model was applied to making a computer immune to
viruses by diagnosing and eliminating them. He has written several papers thereafter,
mainly in the field of process diagnosis, robotics, intrusion detection, etc.
The first actual application oriented research was successfully presented by H.
Bersini and F. J. Varela. They developed their own models on the immune system and
then applied it to the areas of machine learning, optimization and adaptive control. Their
early works included ‘Hints for Adaptive Problem Solving gleaned from Immune
Networks’ [13] by Bersini and Varela in 1990, ‘The Immune Recruitment Mechanism: A
35
Selection Evolutionary Strategy’ [14] also by Bersini and Varela in 1991 and ‘Immune
Network and Adaptive Control’ by Bersini [15] alone in 1991.
Just after that, attempts were made to use genetic algorithms to study the pattern
recognition capabilities of binary immune system models. This research was pioneered
by Forrest et al. ‘Genetic Algorithms and the Immune System’ [16] in 1991 and ‘Using
Genetic Algorithms to Explore Pattern Recognition in the Immune System’ [17] in 1993.
Since this research was mainly carried out by researchers belonging to the computer
science faculty, the main applications were in areas relating to protection of computers
from viruses and other network intrusions. The earliest work in this area was undertaken
by Forrest at al. and J. O. Kephart et al. in the mid-nineties. This area became successful
enough for computer companies like IBM also developed their own immune based antivirus software. This is still one of the most popular areas of research in AIS and has the
most number of researchers as compared to any other application area.
However, after 1995, AIS was applied to more diverse areas such as pattern
recognition, anomaly detection, optimization, scheduling, etc.
In one of the recent attempts to give a general overview of artificial immune
systems, the author, Dasgupta, D., states that the immune system’s qualities of learning,
memory and adaptation make it ideal to model techniques to solve recognition and
classification tasks in his paper, ‘An Overview of Artificial Immune Systems and Their
Applications’ [18]. Furthermore, he describes the different immunological metaphors and
how they are used in information processing. Also, he provides a brief description of the
application areas of the technique.
36
After outlining a biological perspective of the immune system, he highlights the
positive features of the system including recognition, feature extraction, learning,
memory and dynamic protection.
He goes on to give a detailed description of some models on which AIS algorithms
are structured such as the Immune Network Model and Negative Selection Algorithm.
Among the application areas he describes a few in the areas of computer security,
anomaly detection, fault diagnosis, pattern recognition and others.
In his PhD Thesis, ‘Artificial immune systems: A novel data analysis technique
inspired by the immune network theory’ [19], Dr. Jon Timmis developed a data analysis
system based on the principles of artificial immune systems. The technique used a
network of antibody that represented the diverse nature of the data being analyzed which
further underwent cloning and mutation in its efforts to effectively analyze data and
produce results.
These theories were developed into a software so as to actually test the viability of
the technique. A simple simulated data set and the Fisher Iris data set were the basis of
the experimentation. The performance was tested under various conditions by varying all
the parameters involved.
A few problems were encountered, however, which initiated further research and
caused the development of the Resource Limited Artificial Immune System (RLAIS) – a
more efficient model of the old technique. This new system was also similarly tested and
declared to be a successful, efficient and effective tool for data analysis.
37
In 2000, De Castro and Von Zuben proposed AiNet, an artificial immune network
in their paper, ‘An Evolutionary Immune Network for Data Clustering’ [20]. The
application of AiNet is in the area of data analysis especially clustering and filtering of
unlabeled numerical data sets. They test their network model on two benchmark
problems and prove that it is capable of reducing redundancy and describing data
structures.
The paper written by DeCastro and Von Zuben in 2001 called ‘aiNet: An Artficial
Immune Network for Data Analysis’ [21] proposed an artificial immune system
combined with a Neural Network called aiNet. The main purpose of this system was
clustering and filtering of data sets. By developing this system, the authors also aimed to
prove that immune systems are a technique that can be applied to data analysis. This
method reduced data redundancy and successfully described data structures in terms of
their spatial distribution and cluster inter relations. AiNet can be used for automation of
knowledge discovery, mining of redundant data and automatic data clustering.
Nasaroui, Gonzalez and Dasgupta published a paper in 2002 called ‘The Fuzzy
Artificial Immune System: Motivations, Basic Concepts and Applications to Clustering
and Web Profiling’ [22]. After studying previously applied methods to web mining using
AIS, the authors improvised on the shortcomings of those methods by developing fuzzy
algorithms to identify patterns in observed data so as to make predictions in unseen data.
The main area of improvement was in the matching of antibodies to antigen. The fuzzy
AIS helps a website process the various requests it receives. The experimentation done
revealed that the system performs more efficiently with this algorithm.
38
Mark Neal has developed an artificial immune system in his paper ‘An Artificial
Immune System for continuous analysis of Time Varying Data’ [23] which is used for
data clustering purposes. The model is stable, adaptive and dynamic and can handle a
very large number of data presentations. The approach uses artificial recognition balls
and is a self stabilizing system.
The algorithm was tested on 2 data sets. A 2 dimensional data set consisting of 50
dimensions each was tested for clustering. It was, further, tested on the well known
Fisher Iris Data Set so as to ease comparison with other algorithms. The long term
stability of the model was comprehensively proved by analyzing a total of over 1,000,000
data items. The results obtained from this comprehensive experimentation revealed that
the model can be effectively applied to the analysis of continuously changing data sets
without hindering its learning process.
The approaches to scheduling were studied in greater detail and the various
methods applied to date were identified. The very first attempt at solving a scheduling
related problem was by T. Fukuda, K. Mori and M. Tsukiyama with their paper
‘Immunity-Based Management System for a Semiconductor Production Line’ [24]. They
developed an artificial immune system expressed in terms of multi-agent nets. The
immune agents follow a three step procedure starting from a sensing mode, then going on
to the decision mode and finally ending with the controlling mode.
The authors employed the above step procedure to dispatch material with the aim of
minimizing work in progress (WIP) as well as the cycle time of the product. The
39
framework of the AIS is the multi-agents which are comprised of detector agents,
mediator agents, inhibitor agents and restoration.
This model helps the scheduling process specifically in the areas of real time
decision making and building dynamic schedules. Although this research was conducted
for a semiconductor production line, it inspired the other existing works in the field of
scheduling.
Emma Hart presented her dissertation, ‘An Immune System Approach to
Scheduling in Changing Environments’ [25], in 2002, applying AIS theories to the areas
of Job Shop Scheduling and Data Clustering. She justified the suitability of applying AIS
to these areas by arguing that the problem characteristics are very similar to those of the
human immune system. She developed four models, two for each area of application and
tested them on relevant benchmark artificial data sets. The results proved the relevance
and utility of the two models in their respective fields.
One of the first few papers applying Immune System analogies to Job Shop
Scheduling was ‘An Immune System Approach to Scheduling in Changing
Environments’ [26] by Emma Hart and Peter Ross. They developed an algorithm that is
able to schedule jobs in every environment based on the past history of the jobs in that
environment.
Their algorithm has two stages, in which the first stage uses a genetic algorithm in
conjunction with the immune system. In combination, they detect common scheduling
patterns of the previous jobs in that environment (factory).
40
The second stage uses the patterns identified in the previous stage to develop new
schedules for the problem on hand.
The algorithm was tested extensively with 10 test scenarios generated from a base
problem of 15 jobs. The results proved that their method of recreating a schedule from
patterns found in old ones is effectively possible.
The Job Shop Scheduling problem is tackled in the paper ‘Producing Robust
Schedules Via an Artificial Immune System’ [27] by Emma Hart, Peter Ross and Jeremy
Nelson. They aim to produce robust schedules in a dynamic environment using artificial
immune systems. With the aim of minimizing maximum tardiness, the authors developed
a system comprising of antigen, antibody and gene libraries.
A Genetic Algorithm was used to evolve an artificial immune system using the gene
libraries to produce antibodies which represented the jobs in the order they enter the
system. A fitness function was developed which tested the quality of the evolved
schedules.
An antigen corresponds to different situations that may occur in an actual job shop.
Experiments conducted to test the antibodies (schedules) produced to counter the antigen
(situations) revealed that the schedules were satisfactory within a certain range of
tolerance.
In their paper ‘Investigating Artificial Immune Systems for Job Shop Rescheduling
in Changing Environments’ [28], the authors, U Aickelin, E Burke and A Mohamed Din
state that schedules developed using AIS are more robust than those obtained by Genetic
Algorithms. It has previously been proved that increasing the number of antigens in an
41
AIS improves the optimality of schedules obtained but on the other hand decreases its
fitness. The authors thus suggest rescheduling of the same problem as an alternative to
increasing the number of antigen. This method exposes the schedules to more antigen as
suggested by previous research while at the same time not adversely affecting fitness.
Consequently, the system becomes robust.
This paper is based on the work done previously by Hart and Ross. This method
overcomes the shortcomings of the previous methods by incorporating reliability into the
system.
The Clonal Selection Algorithm along with hypermutation principles were
developed into a unique mechanism in order to solve the Job Shop Scheduling problem
presented by Carlos Coello Coello, Daniel Cortés Rivera and Nareli Cruz Cortés in their
paper ‘Job Shop Scheduling Using the Clonal Selection Principle’ [29]. The features of
this method include the exploration of the vicinity of the reference solution and a search
technique that eliminates gaps in the schedule which would be incorporated into the
decoding strategy.
The authors take up a 6 X 4 JSSP (i.e. 6 jobs and 4 machines) which has already
been solved previously. Gaps are then sought in the current schedule with the aim of
reducing makespan and increasing the optimality of the solution.
The results thus obtained were compared to other solutions for this problem
obtained by using evolutionary computation methods such as Greedy Randomized
Adaptive Search Procedure (GRASP), Hybrid Genetic Algorithm and Parallel Genetic
Algorithm. A detailed comparison supported the claim that this method improved the
42
solutions in some cases, used a smaller number of evaluations in doing so and gave good
overall results.
43
CHAPTER 3: DEVELOPMENT OF ALGORITHM FOR JSSP
3.1 OUTLINE OF THE ALGORITHM
A study of the past approaches used to solve the Job Shop Scheduling Problem
applying Artificial Immune methodologies pointed out a few areas that needed further
research in terms of not only the methods used but also the problems that were
experimented. Based on this comprehensive study, a new algorithm was developed by
combining some of the positive aspects of the approaches studied and incorporating a few
unique points.
The final algorithm developed in this thesis makes use of two theories of theoretical
immunology, namely the Clonal Selection Algorithm and the Positive Selection
Principle. More details of these theories are provided in the following sections. Based
primarily on these two theories, the algorithm aims to build schedules for jobs being
processed on certain machines such that the makespan of the system as a whole is
minimized.
The schedules are built randomly by combining different parts into one complete
antibody. The antobodies are first evaluated to determine the makespan of the system and
then mutated, in an attempt to improve it. There are 2 types of mutations involved – that
taking place within a particular chromosome and that of the antibody itself. When this
process repeats itself up to the specified number of iterations, the best solution obtained
in terms of the minimum makespan observed will be termed as the final result. Figure 2
explains the algorithm in a step – by – step flowchart. The process with its various
parameters is explained in minute detail in the subsequent sections.
44
3.1.1 The Positive Selection Algorithm
This theory was developed by Seiden and Celada in 1992 [30]. The main
characteristic of this algorithm is that it distinguishes between good and bad solutions in
order to retain only the good solutions by discarding the bad ones from the system. In the
context of the human body, good solutions are representative of those antibodies that can
recognize and overcome the antigen.
The diagrammatic representation of the algorithm is given below. It explains the
algorithm as observed in the human immune system. However, the same principles can
be applied to numerous instances which require sorting of the solutions into 2 parts.
Strings (S)
Potential
Repertoire (P)
Recognize?
Yes
Available
Repertoire (A)
Figure 2: The Positive Selection Algorithm
No
Reject
45
Figure 2 describes the workings of the Positive Selection Algorithm in the human
body. Consider the case of an infection attacking the human body. The set Strings (S)
represents the antigen which needs to be destroyed and the set Potential Repertoire (P)
denotes the potentially available T-cells in the immune system. Now, in order to destroy
the infection only those cells are needed which are capable of overcoming the infection.
Thus, all of the cells are tested to discover whether or not they recognize the infection.
Any cell which possesses the capability of recognizing the antigen is transferred into the
set called Available Repertoire (A) to retain them for further use in destroying the
infection. On the other hand, those that fail to recognize the antigen are not needed any
longer and are discarded and will not be considered for the battle against the infection by
the immune system.
The Positive Selection Algorithm can be applied to algorithms for filtering purposes
where only those solutions fulfilling certain constraints or criteria need to be retained for
future use. The other solutions will be completely disposed of from the system and
cannot be retrieved by any means. The advantage of this method is that a variety of
solutions can be tested to see if they fulfill the particular criteria as required by the
problem in hand and filter out only the relevant ones from a pool of potential solutions.
With respect to the Job Shop Scheduling Problem, a number of solutions are
randomly generated. The aim of this problem is to minimize the total makespan of the
jobs being scheduled. After the pool of solutions is generated, the next step is to retain
only those solutions which are below the specified threshold. The Positive Selection
46
Algorithm is used at this stage to evaluate the solutions, preserve those with good
makespan and discard the rest.
3.1.2 The Clonal Selection Algorithm
This algorithm is based on an observation made of B-Cells in the human immune
system. The B-Cells, along with the T-Cells help combat the various infections and
viruses that attack the human body. Also, as has been explained at prior instances, the
cells merge into different permutations and combinations so as to overcome the
infections. However, B-Cells have been observed to possess a unique tendency that
causes the cells to multiply those particular combinations of cells that are capable of
destroying the infection attacking the body.
For example, consider a particular string formation of the B-Cells which is capable
of overcoming an infection. As per the Clonal Selection Principle, the cells will multiply
so that a large enough quantity of them is produced to successfully destroy all traces of
the infection within the entire body. Basically, the B-Cells clone themselves into as many
as is required to fight the infection and clone only those cells which are actually good
enough to fight. This algorithm aims to recognize the right solutions and duplicate only
those chosen ones as many times as required in order to solve the problem.
To translate this analogy to the AIS, those solutions which are capable of reaching
near optimal are cloned or multiplied so that a large number can be mutated and the
optimal solution can be reached more quickly. This principle is applied in the same
manner to the Job Shop Scheduling Problem. After the initial random solutions generated
47
are sifted through to accumulate only the good solutions, these good solutions are cloned
a specified number of times and are further mutated, a specified number of times, to
finally obtain the best solution with the minimum makespan.
The Clonal Selection Principle helps the algorithm presented in this thesis to be
very flexible and quick in its approach to attain the best solution. Cloning the solution
prior to mutating allows the algorithm to search through a wider range of potential results
as more solutions can be mutated simultaneously. Furthermore, the cloning principle also
incorporates the virtue of speed into the algorithm.
3.1.3 The Algorithm
This section introduces the developed algorithm. It is based fundamentally on the
two immune principles of Positive Selection and Clonal Selection. Other features of this
algorithm include randomness, antigen and antibody libraries, genes, chromosomes and
two types of mutations. Figure 3 is a flowchart depicting the algorithm in a step by step
manner. An in-depth explanation of this flowchart will be performed so as to gain a
comprehensive understanding of the algorithm.
A number of parameters are required to be specified in this algorithm. Different
parameters are required for different parts of the algorithm and for different reasons.
Therefore, some parameters required at the start need to be identified at the very
beginning while others may be stated further along the way at advanced stages of the
algorithm.
48
The basic idea of the algorithm is to apply AIS methodologies to a job shop
scheduling problem. Hence, antibodies and antigen need to be identified along with how
the two principles discussed previously are applied in the algorithm.
49
Specify Parameters
Randomly Populate Libraries
Set i = 0
Build Antibody
i=i+1
Calculate Fitness
(Makespan)
No
Fitness <
Threshold
Discard
chromosome
Yes
Add into Antigen Library
i > No. of
iterations
No
Yes
For j = 1 to (# of chromosomes in Antigen Library) - Mutate Antigen Library
Discard
chromosome
No
Fitness <
Threshold
Yes
Replace Mutated chromosome in Antigen Library- Next j
Evaluate Antigen Library
Display chromosome with minimum fitness
50
Figure 3: Flowchart of the Algorithm
Basically, the algorithm deals with randomly creating a schedule by using the
antibody library, its components and genes, to represent the order in which the jobs are
scheduled on machines. Building an antibody library depends on the size of the job shop
problem at hand. Consider an example of a 6X6 Job Shop Scheduling problem. A 6X6
problem refers to a problem of 6 jobs being scheduled on 6 machines where each job
needs to be machined on each of the 6 machines only once for the job to transform raw
material to the final product. The sequence in which it the job is scheduled on the 6
machines and its operation time on that machine is also needed. This information is
presented in Table 2 for a common problem called the ft06.
Table 2
The Routing and Machining Times of the FT06 Problem
Operations
Jobs
1
2
3
4
3, 1
1,3
2,6
4,7
1
2,8
3,5
5,10
6,10
2
3,5
4,4
6,8
1,9
3
2,5
1,5
3,5
4,3
4
3,9
2,3
5,5
6,4
5
2,3
4,3
6,9
1,10
6
5
6,3
1,10
2,1
5,8
1,3
5,4
6
5,6
4,4
5,7
6,9
4,1
3,1
51
The scheme used to develop this schedule in a random manner was first developed
by Cheng, Gen and Tsujimura [31] and is to generate a sequence of numbers that contain
the number of jobs as many times as the number of machines it needs to be scheduled on.
In the case being considered of the 6X6 job shop problem, which would be 6 jobs being
scheduled on 6 machines, the length of the schedule would contain a total of 36 numbers.
To better understand the process of building and deciphering a schedule, consider a
part of the schedule (say, only the first 6 numbers out of the 36 number sequence as
randomly generated by a schedule) as follows:
3-4-1-1-2-3
Now, the actual numbers in a 6X6 problem should be 36 but for this explanation,
consider only a small part of the whole solution. Also, the numbers in the string refer to
the job number. Thus, the first number in the partial sequence above, i.e. 3, refers to job
number 3. Since this is the first time that the number is observed in the sequence, it refers
to the first machine that the job goes to as part of its process. In Table 3 above, it can be
observed that the first machine that Job 3 goes to is Machine 3 for 5 units of time.
Consequently, the time count on Machine 3 is increased by 5 units of time as per
this particular solution for the problem.
Next, consider the next number in the sequence – 4. This refers to job 4 and as this
is the first job in this sequence, the machine that this job will go to is Machine 2. Hence,
the time count on Machine 2 will get incremented by the processing time for Job 4 on
Machine 2, i.e. 5 units of time. The next two numbers in the sequence are both 1’s. Now
for the first 1, Machine 3 will get further incremented by 1 unit of time to get to a total of
52
6 units of time. The second 1 refers to the second sequential operation in the sequence of
Job 1. In the table, it is observed to be Machine 1. The time count on Machine 1 needs to
be incremented with caution. As the previous operation of job 1 ends on Machine 3 at
time 6, the next operation on Machine 1 can be started only after this preceding operation
is successfully completed at time 6. This essentially brings the start time of the second
operation of Job 1 to 6 units and the completion time of the job to 9 units of time.
Figure 4 depicts the partial random sequence being discussed above in the form an
actual schedule in a chart. The Y-axis denotes the machines on which the jobs are
scheduled while the X-axis denotes the time count for each machine. The boxes with
Machine Number
numbers refer to the job being processed on a particular machine.
6
5
4
3
2
1
3
3
4
1
2
1
2
4
6
8
10
12
14
Time (in units)
Figure 4: Chart Depicting Random Sequence as Actual Schedule
53
The chart was prepared following the steps as discussed previously. The first job in
the sequence, i.e. job 3, is first scheduled on its first machine, i.e. machine 3, for 5 units
of time as specified in the data given. All of the jobs are thus scheduled in succession in
the order in which they appear in the sequence. The shaded region in the chart represents
that time that the machine remains idle as there is no job that can be scheduled at that
time as per the schedule generated. In the case of machine 1, it remains idle until time
block 6 which is when Job 1 can be scheduled on it after its preceding operation on
Machine 3 is completed. Similarly, Machine 4 remains idle until time 5 as it is waiting
for Job 3 to finish on Machine 3.
The sequence of jobs formed randomly is termed as a chromosome in AIS
terminology. The initial steps in the algorithm is to build a chromosome which is then
deciphered according to the process described in the previous section in order to calculate
the makespan which is defined as the time required to complete the processing of all jobs
on all of the machines.
In order to build an antibody, AIS methodologies are utilized for which some AIS
terminology need to be understood. The succeeding sections explain these terms and also
briefly describe how they are used in the algorithm.
Antibody – In theoretical immunology, this refers to the cells within the human
body such as T-Cells and B-Cells which fight the infection or virus that attacks it. In the
context if this algorithm, an antibody is a potential solution generated by the algorithm. It
is called an antibody as it attacks the problem at hand with a potential solution which will
54
be evaluated in order to measure how good the solution is in terms of the minimum time
taken to complete all of the jobs in the system. An antibody is built with the help of
antibody libraries.
Antibody Library - The human immune system relies on the B-Cells and the TCells in the body to combat the infection or virus attacking it. These cells do not have a
unique structure or composition. The reason B-Cells can have many different shapes and
sizes, is because the infections attacking the body can be varied, unpredictable and
complex in nature. In order to keep the immune system capable of fighting as many
infections as possible, there are unique strings of B-Cells which when combined can form
the most complex of structures. Thus, when an infection attacks, the immune system tries
to find that combination which can overcome the attack.
Similarly, AIS follows the same principle for the same reason – to possess the
capability of being used for a wide scope of problems and also to provide the flexibility
to adapt to changes within the problem. Having the concept of libraries storing strings or
parts of solutions which can be linked to other libraries through an assortment of
permutation and combinations is one of the key benefits of Artificial Immune Systems.
An antibody library is a set containing partial schedules. It mainly consists of
strings (or parts) of solutions such that, when a certain number of strings are joined
together they form a complete solution. Each antibody library has a specified number of
components. This number can be specified before building the antibody. Figure 5 depicts
not only what an antibody library looks like but also how it is used to build an antibody.
55
This example problem with be tackled in detail later after explaining the other features
involved.
Components - Within each library lay a group of components. They are userspecified in number and in turn consist of a specified number of genes. An antigen is
made up of a combination of components from different libraries. In Figure 5,
components are the horizontal strings of numbers in each library and are denoted by
labels C1, C2, C3 & C4.
Genes – A gene is the lowest level and fundamental element in an antibody. A
cluster of genes make up the component of an antibody library. The number of libraries,
components and genes vary in accordance with the number of jobs and machines in the
problem. After establishing the various components of a system, the genes are randomly
assigned job numbers. Thus, each library will have the specified number of components
and each component will have a string of genes representing job numbers. The values of
the genes depend on the number of jobs while the frequency of a particular job depends
on the number of machines. Therefore, the total number of genes in one antibody is equal
to (Number Of Jobs X Number of Machines), i.e. a 6 X 6 problem would have a total of
36 genes. Each cell containing a number in Figure 5 is called a gene.
56
Library 1
Library 2
Library 3
C1
4
2
1
4
3
C1
3
4
1
1
2
C1
4
2
3
1
1
C2
5
1
3
4
3
C2
2
4
3
5
5
C2
1
5
2
3
5
C3
3
2
2
1
4
C3
4
2
5
1
2
C3
2
3
1
4
5
C4
5
3
1
2
1
C4
3
4
4
2
1
C4
3
3
4
3
1
Antibody
5
3
1
2
L1C4
1
2
3
1
4
5
3
4
L3C3
1
1
2
L2C1
Figure 5: Generation of Antibody from Antibody Library
3.1.4 Building an Antibody
The libraries, components and genes of the components are used to build an
antibody representing a schedule of the jobs on the machines in a particular order. In
order to build such an antibody the procedure would be to:
1. Randomly select a library
2. Randomly select a component with that library
3. Copy the genes from that component into the antibody
4. Randomly select another library (a library once selected cannot be selected again)
5. Randomly select a component and add the genes from that component into the
schedule starting from a position after the end of the previous gene string
6. Go to Step 4 and continue the process until the entire antibody is filled
57
3.1.5 Deciphering an Antibody
After building an antigen by combining components from different libraries, the
next step is to decipher an antibody and build a schedule by assigning jobs onto machines
in the specific order of precedence. In this thesis, the objective of building the schedule is
to obtain the makespan of that schedule. The makespan is the characteristic that is
chosen to evaluate the optimality of a schedule and comparing it to other schedules.
Makespan – From a job shop scheduling perspective, makespan is the time required
to completely process all of the jobs in the system. This includes the processing time of
each job on each machine, the idle time on the machines and the time spent by jobs in
waiting for preceding jobs in the schedule.
The Positive Selection Algorithm, as derived from the human immune system,
selects only those antibodies that are useful in fighting the infection. Similarly, the
algorithm seeks out those antibodies that show potential in finding good solutions to the
Job Shop Scheduling problem.
In order to recognize potentially good solutions, a threshold is specified for
makespan values and those solutions that generate solutions that are below the defined
threshold are retained in the system while the others are completely discarded from the
system. Thus, a threshold is a specified value which forms the line of separation between
good and bad solutions. This value should be carefully specified to preserve as many
good solutions as possible but at the same time not unnecessarily retain solutions which
ultimately have no chance to reaching optimality.
58
3.1.6 Antigen Library
Those schedules which are below the threshold create a new set of solutions called
the Antigen Library while the others are discarded. These solutions are now converted to
antigens because future solutions have to better these solutions in order to be retained in
the system. It is called a library since it contains all the solutions which pass the threshold
barrier. Thus, the Antigen Library is a collection of good solutions which set a standard
for future solutions to attain and overcome, similar to how antibodies overcome the
infections that attack the human body. There is no constraint on the total number of
antibodies that can fit into the Antigen Library as all of those which qualify will be
selected. Figure 6 presents a theoretical representation of an Antigen Library.
A1
1
2
3
1
2
3
A2
1
1
2
3
2
3
A3
3
1
2
2
3
1
A4
2
3
1
1
3
2
A5
2
3
3
1
2
1
A7
2
1
2
3
1
3
Figure 6: The Antigen Library
59
The problem considered in Figure 6 is a relatively small problem of 3 jobs being
scheduled on 2 machines. The strings of numbers are those antibodies which were below
the threshold and are now considered to be antigens. The labels A1 through A7 are the
identifiers of each antigen. The total number of antigen that can be stored in an Antigen
Library are fixed. If new antibodies with makespan less than any antigen in the library,
that antibody in inducted into the library as an antigen and it will replace that antigen
which has the highest makespan (or worst value) in the library.
The above process of generating antibodies, evaluating them and including select
ones, which are below the threshold, into the antigen library is performed as many times
as the specified number of iterations.
3.1.7 Mutation
Once an absolute antigen library is formed, the newly created antigens all undergo
the process of Mutation.
Mutation – In the science of human biology, mutation refers to change in the DNA
structure. With respect to the human immune system, the cells undergo mutation under
the attack of viruses as a means of counterattack.
Mutation changes the structure of the cells so that they can better recognize and
destroy the virus. This process is called Affinity Mutation as its purpose is to make the
antibody better equipped to recognize the antigen and increase its affinity to the antigen.
60
In an AIS, the process of mutation is emulated by randomly swapping the position
of two genes of an antigen as shown in Figure 7. The process of mutation is carried out
only on those solutions which show potential, i.e. on those antibodies which are
converted into antigen and included in the antigen library. The function of the mutation
operator is to modify the solutions with the aim of identifying the optimal solution and to
make the entire process more logical, less time-consuming and incorporate a high level of
efficiency. The mutation operator is carried out only on good solutions which have high
probabilities of reaching optimal or near-optimal.
The process of mutation is implemented by randomly choosing two genes and
interchanging their respective values. The number of times this process is executed
depends upon the number of mutations specified. The use of mutation is to exploit a
solution, i.e., make a good solution even better. The process is illustrated in Figure 7
where A1 is an antigen which will undergo mutation. Now, two random genes are
selected – in this case Gene 2 and Gene 6 – and their values are exchanged. Thus, the
value 2 in Gene 2 is exchanged with value 3 in Gene 6. A1’ is the new mutated antigen.
A1
1
2
1
3
2
3
A1’
1
3
1
3
2
2
Figure 7: Mutation of an Antigen
61
All of the antigens in the Antigen Library undergo mutation. After each antigen is
mutated, the new antigen is deciphered, evaluated and compared to the original antigen.
If the makespan produced by the new antigen is better than the original, this new antigen
replaces the original one in the system. The original antigen is discarded from the
Antigen Library.
The simple example of mutation considered a single swap of genes in an antigen.
However, this algorithm provides for multiple swaps before it is evaluated. The number
of swaps is specified before the mutation process starts. For mutation with multiple
swaps, two genes are swapped as many times as the number of mutations specified and
the antigen is evaluated only after all the specified number of mutations is carried out.
The process of mutation is an adaptation of the Clonal Selection Algorithm with the
slight modification in that the clones are not exactly the same but slightly mutated in
nature. The purpose of this is to improve the optimality of solutions by taking good ones
and slightly modifying them in a random manner with the hope of further minimizing the
fitness value.
3.1.8 Final Evaluation
After the entire set of antigen in the Antigen Library undergo mutation, the
antigen now present in the library are a group of the best solutions that can be obtained
by the algorithm developed.
62
The final step in this process is to now analyze the Antigen Library and display it as
the final result with one solution that has the least value of makespan among all antigens
within the Antigen Library. The solution may not be the absolute optimal solution to the
problem but is just the optimal solution reached by this algorithm. Further, taking another
run of the same problem might drastically change the results due to the random nature of
the algorithm. Generally, it takes multiple runs of the problem to get to the best results.
3.2 SUMMARY
The algorithm developed in this thesis applies principles from the human immune
system to the job shop scheduling. Principles developed in the study of theoretical
immunology such as the Positive Selection Algorithm and the Clonal Selection Principle
have been adapted to build an algorithm for job shop scheduling.
To start off, an Antibody Library is built by randomly assigning partial component
strings to each library in accordance with specified parameters such as the number of
libraries, the number of components and the number of genes. Complete schedules called
antibodies are built by combining the partial components in the library. The length of an
antibody depends upon the size of the problem and is equal to the product of the number
of jobs times the number of machines in that problem. For example, a problem
comprising 6 Jobs and 6 Machines will have 36 genes in the antibody.
These schedules are then decoded and evaluated to obtain the makespan of the
system. Applying the Positive Selection Algorithm at this stage, only those schedules
which are below the specified threshold makespan value are retained while disposing of
63
the others. The solutions which are retained are included in the Antigen Library and are
termed as antigen. These antigens are further mutated in an effort to acquire better
schedules with lower makespan. Mutation comprises of swapping two randomly chosen
genes in the antibody. An antibody can be swapped multiple times, the number of times
being specified beforehand, prior to the antibody being evaluated again. A mutated
antigen may replace the original antigen only if the makespan attained after decoding is
less than the makespan of the original antigen. When replacement does take place, the
original antigen is discarded from the system.
Finally, all of the solutions in the Antigen Library are compared with each other to
identify the best solution within the lot. This best solution is termed as the final result of
the algorithm but it may or may not be the optimal result of the problem.
64
CHAPTER 4: TESTING THE ALGORITHM
The algorithm will be tested on a total of 10 problems with the simplest being a 6
Job 6 Machine Problem and the largest being a 10 Job 10 Machine problems.
4.1 PARAMETERS TESTED
There are many ways of judging the optimality of solutions for a Job Shop
Scheduling Problem such as minimum makespan, lateness, tardiness, number of late jobs,
etc. However, the problems considered are of the minimum makespan type and thus the
primary concern in testing the viability of the algorithm is to verify if the algorithm
attains the known values of optimality. In this thesis, optimality is defined as closeness of
the best solution with the AIS algorithm to the known optimal solution for each of the
problems.
Other areas of consideration are how the algorithm performs at solving problems of
different sizes and how the results obtained in each case vary. Further, if optimal
solutions are obtained then the secondary areas of investigation are the time and number
of iterations taken to get to the solution.
Alongside with optimality, the robustness is another key parameter that will test the
performance of the algorithm. Robustness, in this thesis, is the number of times that the
best solution will be reached out of the total number of iterations for each of the problems
being tested.
65
4.2 PROBLEMS TESTED
A summary of the problems being tested and the optimum solution of each problem
is listed in Table 3.
Table 3
List of Problems being Tested
Problem #
Name of Problem(Jobs X Machines)
1.
FT10(10X10)
2.
FT6(6X6)
3.
ABZ5(10X10)
4.
ABZ6(10X10)
5.
LA01(10X5)
6.
LA02(10X5)
7.
LA03(10X5)
8.
LA04(10X5)
9.
LA05(10X5)
10.
LA16 (10X10)
Optimal Solution
930
55
1234
943
666
655
597
590
593
945
Tables 4 through 13 provide the details of the jobs, machines and machining times
for the problems being analyzed. All the problems used for testing are standard Job Shop
Scheduling problems and have routinely been used to in the testing of various algorithms
methodologies and general research in this area. Using such standard problems makes it
easier to compare the performance of AIS to other techniques.
66
Table 4
Problem 1: The FT10 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
1, 29
1, 43
2, 91
2, 81
3, 14
3, 84
2, 46
3, 31
1, 76
2, 85
M/C,PT
2, 78
3, 90
1, 85
3, 95
1, 6
2, 2
1, 37
1, 86
2, 69
1, 13
M/C,PT
3, 9
5, 75
4, 39
1, 71
2, 22
6, 52
4, 61
2, 46
4, 76
3, 61
M/C,PT
4, 36
10, 11
3, 74
5, 99
6, 61
4, 95
3, 13
6, 74
6, 51
7, 7
M/C,PT
5, 49
4, 69
9, 90
7, 9
4, 26
9, 48
7, 32
5, 32
3, 85
9, 64
M/C,PT
6, 11
2, 28
6, 10
9, 52
5, 69
10, 72
6, 21
7, 88
10, 11
10, 76
M/C,PT
7, 62
7, 46
8, 12
8, 85
9, 21
1, 47
10, 32
9, 19
7, 40
6, 47
M/C,PT
8, 56
6, 46
7, 89
4, 98
8, 49
7, 65
9, 89
10, 48
8, 89
4, 52
M/C,PT
9, 44
8, 72
10, 45
10, 22
10, 72
5, 6
8, 30
8, 36
5, 26
5, 90
M/C,PT
10, 21
9, 30
5, 33
6, 43
7, 53
8, 25
5, 55
4, 79
9, 74
8, 45
Table 5
Problem 2: The FT06 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
M/C,PT
3, 1
2, 8
3, 5
2, 5
3, 9
2, 3
M/C,PT
1, 3
3, 5
4, 4
1, 5
2, 3
4, 3
M/C,PT
2, 6
5, 10
6, 8
3, 5
5, 5
6, 9
M/C,PT
4, 7
6, 10
1, 9
4, 3
6, 4
1, 10
M/C,PT
6, 3
1, 10
2, 1
5, 8
1, 3
5, 4
M/C,PT
5, 6
4, 4
5, 7
6, 9
4, 1
3, 1
Table 6
Problem 3: The ABZ5 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
5, 88
6, 72
10, 83
8, 94
4, 69
2, 99
8, 50
5, 98
1, 94
4, 50
M/C,PT
9, 68
4, 50
9, 61
3, 68
5, 88
5, 81
2, 86
7, 73
7, 71
1, 59
M/C,PT
7, 94
7, 69
1, 83
2, 61
10, 82
6, 64
5, 97
4, 82
4, 81
2, 82
M/C,PT
6, 99
5, 75
2, 65
5, 99
9, 95
7, 66
4, 96
3, 51
8, 85
9, 67
M/C,PT
2, 67
3, 94
7, 64
4, 54
1, 99
9, 80
1, 95
2, 71
2, 66
8, 56
M/C,PT
3, 89
9, 66
6, 85
7, 75
3, 67
3, 80
9, 97
6, 94
3, 90
10, 96
M/C,PT
10, 77
1, 92
8, 78
6, 66
7, 95
8, 69
3, 66
8, 85
5, 76
7, 58
M/C,PT
8, 99
2, 82
5, 85
1, 76
6, 68
10, 62
6, 99
1, 62
6, 58
5, 81
M/C,PT
1, 86
8, 94
3, 55
10, 63
8, 67
4, 79
7, 52
9, 95
9, 93
6, 59
M/C,PT
4, 92
10, 63
4, 77
9, 67
2, 86
1, 88
10, 71
10, 79
10, 97
3, 96
67
Table 7
Problem 4: The ABZ6 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
8, 62
6, 47
2, 45
5, 85
9, 60
4, 87
6, 81
5, 20
10, 68
1, 30
M/C,PT
9, 24
3, 97
8, 46
9, 76
10, 20
10, 73
3, 53
7, 86
7, 66
4, 50
M/C,PT
6, 25
9, 92
7, 22
6, 68
8, 25
6, 51
8, 57
6, 21
6, 98
8, 34
M/C,PT
4, 84
10, 22
3, 26
10, 88
4, 63
3, 95
7, 71
9, 79
9, 86
3, 58
M/C,PT
5, 47
2, 93
10, 38
4, 36
5, 81
5, 65
10, 81
10, 62
8, 66
2, 77
Table 8
Problem 5: The LA01 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
2, 21
1, 21
4, 39
2, 77
1, 83
2, 54
4, 69
3, 38
4, 17
5, 77
M/C,PT
1, 53
4, 52
5, 98
1, 55
4, 34
3, 43
5, 77
1, 60
2, 49
4, 79
M/C,PT
5, 95
5, 16
2, 42
5, 79
3, 64
5, 79
2, 87
2, 41
5, 25
3, 43
M/C,PT
4, 55
3, 26
3, 31
3, 66
2, 19
1, 92
3, 87
4, 24
1, 44
2, 75
M/C,PT
3, 34
2, 71
1, 12
4, 77
5, 37
4, 62
1, 93
5, 83
3, 98
1, 96
M/C,PT
7, 38
5, 29
1. 69
7, 75
1, 52
2, 86
1, 43
3, 34
1, 56
6, 34
M/C,PT
3, 82
8, 56
5, 40
3, 56
2, 30
7, 22
5, 26
1, 27
4, 82
9, 84
M/C,PT
1, 93
4, 80
4, 33
2, 35
6, 98
9, 58
9, 54
2, 81
2, 95
5, 40
M/C,PT
10, 24
1, 78
9, 75
1, 77
7, 54
1, 80
4, 58
8, 30
5, 47
10, 46
M/C,PT
2, 66
7, 67
6, 96
8, 85
3, 86
8, 65
2, 69
4, 46
3, 78
7, 44
68
Table 9
Problem 6: The LA02 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
1, 20
5, 25
2, 72
3, 86
5, 27
2, 67
5, 28
2, 63
5, 14
5, 72
M/C,PT
4, 87
3, 32
3, 23
2, 76
1, 42
1, 98
2, 12
1, 94
1, 75
3, 18
M/C,PT
2, 31
1, 24
5, 28
5, 97
4, 48
5, 48
4, 19
3, 98
3, 50
2, 37
M/C,PT
5, 76
2, 18
1, 58
1, 45
3, 17
4, 27
1, 80
4, 50
2, 41
4, 79
M/C,PT
3, 17
4, 81
4, 99
4, 90
2, 46
3, 62
3, 50
5, 80
4, 55
1, 61
Table 10
Problem 7: The LA03 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
2, 23
3, 21
3, 38
5, 37
5, 57
5, 81
4, 33
5, 24
5, 56
5, 40
M/C,PT
3, 45
2, 29
4, 54
1, 54
1, 81
1, 79
3, 20
2, 84
1, 7
2, 83
M/C,PT
1, 82
1, 18
5, 16
3, 74
2, 61
2, 89
1, 91
1, 32
4, 54
1, 19
M/C,PT
5, 84
5, 41
1, 52
2, 62
4, 68
3, 89
5, 20
3, 55
3, 64
3, 8
M/C,PT
4, 38
4, 50
2, 52
4, 57
3, 30
4, 11
2, 66
4, 8
2, 39
4, 7
69
Table 11
Problem 8: The LA04 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
1, 12
2, 19
2, 14
3, 95
2, 45
4, 77
3, 74
2, 88
3, 61
3, 54
M/C,PT
3, 94
4, 11
1, 75
5, 66
4, 6
3, 20
2, 88
4, 69
5, 9
5, 5
M/C,PT
4, 92
5, 66
4, 13
1, 7
5, 89
1, 76
1, 52
1, 62
1, 62
4, 59
M/C,PT
5, 91
3, 21
5, 16
4, 7
1, 15
5, 88
4, 27
5, 98
2, 52
2, 15
M/C,PT
2, 7
1, 87
3, 20
2, 77
3, 34
2, 53
5, 9
3, 52
4, 90
1, 88
Table 12
Problem 9: The LA05 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
2, 72
5, 5
2, 46
1, 59
5, 23
4, 28
1, 53
5, 12
3, 49
3, 65
M/C,PT
1, 87
4, 35
4, 20
4, 19
3, 73
1, 45
4, 71
3, 87
4, 83
4, 17
M/C,PT
5, 95
1, 48
3, 21
5, 46
4, 25
5, 5
2, 37
4, 33
2, 40
1, 90
M/C,PT
3, 66
3, 39
1, 97
2, 34
2, 24
2, 78
5, 29
2, 55
1, 48
5, 27
M/C,PT
4, 60
2, 54
5, 55
3, 37
1, 28
3, 83
3, 12
1, 38
5, 7
2, 23
70
Table 13
Problem 10: The LA16 Job Shop Scheduling Problem
Job
1
2
3
4
5
6
7
8
9
10
M/C,PT
2, 21
5, 55
4, 34
2, 87
3, 98
3, 35
4, 16
2, 45
5, 33
9, 69
M/C,PT
7, 71
3, 31
3, 64
4, 69
1, 44
4, 76
3, 59
1, 87
3, 37
10, 81
M/C,PT
10, 16
6, 98
9, 62
3, 87
6, 25
6, 28
1, 46
4, 41
9, 66
3, 94
M/C,PT
9, 52
10, 79
2, 19
8, 38
7, 75
10, 10
2, 91
5, 20
6, 33
5, 96
M/C,PT
8, 26
1, 12
5, 92
9, 24
8, 43
5, 61
10, 43
7, 54
4, 26
4, 27
M/C,PT
3, 34
8, 66
10, 79
10, 83
2, 49
7, 9
9, 50
10, 43
8, 8
1, 69
M/C,PT
1, 53
2, 42
8, 43
7, 41
5, 96
1, 95
7, 52
9, 14
2, 28
8, 45
M/C,PT
5, 21
9, 77
7, 54
1, 93
10, 77
9, 35
6, 59
6, 9
7, 89
7, 78
M/C,PT
4, 55
7, 77
1, 83
6, 77
4, 17
2, 7
5, 28
3, 39
10, 42
2, 74
4.3 IMPLEMENTING THE ALGORITHM IN VISUAL BASIC (VB):
In order to test and prove the feasibility of the proposed algorithm, it was developed
into a program using the Visual Basic programming language. The VB 6.0 version was
used since it provided all of the features required to successfully build, run and test the
algorithm.
The program built is simple in nature and the basic focus was on functionality
rather than physical features and convenience, but at the same time much effort has been
put into making the program convenient enough for the user. The program developed will
be discussed in detail, further explaining the logic and features of the algorithm that has
not already been discussed in the previous sections.
The program starts with defining the problem in terms of size, machine routing and
processing time on each machine for each job. Figure 8 shows this part of the program.
M/C,PT
6, 95
4, 39
6, 37
5, 60
9, 79
8, 95
8, 27
8, 71
1, 78
6, 84
71
The example shown is a 6X6 problem and this example will be continued
throughout this section to demonstrate the working of the AIS program. Some of the
features of the form shown above are:
- Entering the Number of Jobs and the Number of Machines automatically adjusts
the table where machine routing and process times are entered. In the 6X6 example, the
table generated 6 Job boxes with job numbers in ascending order, 6 empty machine boxes
and 6 empty processing time boxes.
- The machine routing and processing times can be either entered by hand or
entered by using Microsoft Excel Worksheet. This feature was included to bring about
the factor of convenience as it is a very tedious task to manually enter the data each time
the program is run.
- A Microsoft Excel Worksheet is maintained for all of the jobs which are being
experimented. The problem being tested needs to be brought to the main sheet before
starting with the VB program.
- The two boxes that sit next to each other below each operation refer to the
machine number and the processing time in that order. To better understand it, consider
Job 1. The first operation of Job 1 is on Machine 3 for 1 time unit. The second operation
is on Machine 1 for 3 time units, third operation on Machine 2 for 6 time units and so on.
72
Figure 8: Defining the Problem in VB
After all of the required information is entered, the ‘Next’ button goes on to the
succeeding part of the program.
73
Figure 9: Specifying Algorithm Parameters
The problem parameters relating to the antibody and antigen need to be specified.
Each of the parameters is discussed in detail with respect to their meaning and the part
they play in the algorithm.
•
Number of Antibody Libraries (l) – Here, the number of antibody libraries that the
user would like to use needs to be specified and it is denoted by the letter l. This number
can only vary between 1 and 10 as this program is not designed to handle more than 10.
74
However, 10 libraries more are sufficient for the size of problems being experimented in
this thesis.
•
Number of Components in a Library (c) – This refers to the number of partial
schedule strings contained in each library and is denoted by the letter c. The maximum
number allowed by this program is 6 taking into consideration the size of the problems
being tested and their requirements.
•
Number of Genes in a Component (g) – Each component comprises of a uniform
number of individual cells called genes. This uniform number is also user-defined and is
denoted by the letter g. The maximum number of genes cannot exceed 10 as per the
program design. It is important to observe, as has been highlighted in the form of a ‘Note’
in the program, that the product of the number of Antibody Libraries and the number of
genes equal the length of the antibody. This can also be observed in Fig. (library figure
previous section ) that the strings of genes from different libraries combine to form an
antibody. Attempting to move to the next step without abiding to this rule will generate
an error message.
•
Fitness Threshold for an Antigen – This refers to the user defined outer limit value
of the makespan. Any antibodies having values greater than this threshold value are
discarded from the system. Those antibodies having values lesser than the threshold are
inducted into the Antigen Library.
•
Number of Mutations of an Antigen – This refers to the number of mutations that
the antigen need to go through. There is no limit to this number; it will, however, vary
according to the size or complexity of the problem. According to this number, the antigen
75
will be mutated once, evaluated and then mutated again. If the best makespan value
generated across all of the mutations is better than the makespan value of the original
antigen, that particular mutated antigen which generated the best makespan value will
replace the original antigen.
•
Number of Mutations within an Antigen – There is also another kind of mutation
that has been included in the algorithm – mutations within an antigen. As depicted in
Figure 10, mutation in this algorithm refers to the swapping of two genes. Such multiple
mutations are also possible and this value specifies the number of times that mutations
will take place before the schedule is decoded and evaluated. Figure 10 represents
multiple mutation. These multiple mutations occur between random genes and in rapid
succession.
A1
1
2
1
3
2
3
A1’
2
3
3
1
1
2
Figure 10: Mutation within an Antigen
•
Number of Iterations – The Number of Iterations refers to the number of times the
algorithm is executed. There is no limit to the values that this can take and depends on the
size and complexity of the problem.
76
In the 6X6 problem being considered for the example, the parameters specified are
listed in Table 14 below.
Table 14
Parameters of the Algorithm
No. of
No. of
No. of
Antibody
Components
Genes
Libraries
9
6
4
Fitness
Threshold
70
Mutation
of an
Antigen
2500
Mutation
within an
Antigen
3
Number
of
Iterations
3000
Some observations that can be made about these parameters:
•
The length of the antibody that is calculated as the product of the number and
machines and jobs is 6 X 6 = 36. Hence, the number of Libraries was chosen as 9 and
genes chosen as 4, the product of which is also 36. Any combination of the factors of 36
could also have been chosen provided they are within the constraints defined by the
values that they can take.
•
The Number of Components was chosen as 6 so as to utilize the possibilities of
choice to the maximum.
•
The fitness threshold was chosen as 70 following much trial and error. It can be
observed to be close to the optimum makespan of 55 time units although not so close as
to ignore good potential solutions. This value can be initially specified by using this rule
and can be refined in future runs depending upon the results obtained.
77
•
The last 3 parameters, namely Mutation of an Antigen, Mutations within an Antigen
and Number of Iterations, were also zeroed-in on by the trial and error method. This is
the only method to determine these values apart from making intelligent guesses based on
the size of the problem, its complexity and the optimum makespan (which is a known
value).
The specification of the above mentioned parameters leads to the building of the
Antibody Library as shown in Figure 11.
Having specified 9 Libraries, 6 Components and 4 genes in each component, the
Antibody Library for the example being discussed is illustrated in Figure 11. The genes
are filled with random numbers between 1 and 6 (as there are 6 jobs in the system).
78
Figure 11: The Antibody Library
In order to build an antibody, one component is selected randomly from each
library. A library that has already been used will not be used again. When the schedule is
first built in this fashion, the antibody may not be perfect, in that ideally there should be
an equal number of 1’s, 2’s, 3’s, etc. but with the random nature of the selection process
there will be a high probability of uneven quantities of the numbers.
79
This problem is fixed through a repair strategy. This repair strategy replaces the
excess numbers with those numbers which are not sufficiently represented in the
antibody.
The algorithm is now ready to be run. The program will be run as many times as the
total number if iterations specified earlier and will display the minimum makespan value
across all of the iterations.
Figure 12: Final Results
80
The 6X6 problem, when run, produced the optimum result of 55 time units. The
total number of iterations it took to reach the solution was 108,000 iterations. This total
number of iterations includes mutations of the antigen in addition to the Number of
Iterations specified (i.e. 3000).
The entire schedule is also displayed in the program window and is as follows:
1-3-2-2-3-6-5-1-4-5-4-3-2-5-6-4-4-1-6-2-1-3-1-6-3-2-2-4-5-3-6-4-1-6-5-5
When this schedule is decoded and built up, the makespan obtained is 55 time units.
In this example, the schedule reaches the optimum makespan value. However, this
does not necessarily occur in all problems being analyzed. Also, this problem was the
smallest, but not the least complicated, among all of the problems being considered.
Further, this solution was reached in this particular run but if the problem were to be run
again, this optimum makespan value may not have been reached.
Even if the optimum makespan was obtained, the schedule generated may be
different from the one that was generated in this case. This is because most of the
problems being considered have multiple schedules that can give optimum values of
makespan. This number is minute compared to the number of possible solutions that can
be obtained. The lesser the percent of solutions that generate optimum makespan, the
more complicated is the problem, regardless of the size of the problem.
4.4 RESULTS
81
4.4.1 Approach
Each of the scheduling problems being tested with the AIS algorithm will be run a
number of times to get to the best solution based on a trial and error method. All the
iterations will then be analyzed on certain parameters of performance for the algorithm as
have been discussed in detail in previous sections. In summary, the following will be
used as the basis for evaluating the AIS algorithm:
•
Optimality – Attaining the known optimal for the problem is the primary test of the
algorithm. All the problems being tested have known optimal solutions. If the known
optimal is not reached, the solution which is closest to the known optimal will be chosen
as the optimal solution reached by this AIS algorithm.
•
Robustness – The robustness of the solution or the most optimal solution obtained
by this algorithm will be measured by the number of times the optimal solution is reached
as a percent of the total number of iterations that were run.
A general methodology was applied to quickly disembark on the most feasible
solution. A backward approach starting with the knowledge of the known optimal
allowed for greater ease and flexibility in the choice of input parameters such as the
number of mutations, the number of iterations and others. With the approach for this
analysis being based on a trial and error method, this approach will help reduce the
number of program runs required to get to the best solution. The methodology followed
for the testing of each problem is described below:
•
For each problem being tested, the known optimal solution was determined
82
•
With the aim of attaining this known optimal, the fitness threshold was set only
slightly higher than the known optimal solution
•
The number of mutations and number of iterations was initialized at 100
•
Based on the results obtained, the parameters were then adjusted
o Case 1: If the known optimal solution were to be obtained in the first run
itself, the number of mutations and number of iterations would be reduced
with the aim of determining the lowest number of total iterations required to
get to the optimal solution
o Case 2: If a solution is obtained but it is higher than the known solution,
then the number of mutations and the number of iterations would be raised
slowly until the known optimal is reached; if the known optimal is not
reached, the best solution chosen is the solution which is closest to the best
solution
o Case 3: If a solution is not obtained (i.e. no schedule can be generated
within the specified fitness threshold), the fitness threshold is raised while the
number of mutations and the number of iterations remains unchanged
o Based of the results of each run, one of the above 3 cases were chosen to
fine tune the solution obtained
•
The lowest minimum makespan obtained through the testing process for each
problem is chosen as the best solution; so far, the optimality as well as efficiency of the
program will have been tested
83
•
The next step is to test the reliability of the solution obtained; in order to do this, the
parameters with which the best solution was obtained will be run 20 times to test the
number of times the optimal solution is reached
Finally, the results were compared to a Genetic Algorithm. For a fair comparison,
the same 10 problems were run on the GA 20 times. The same parameters of optimality
and robustness will be used for comparison. The purpose of comparing the solutions
obtained with the AIS algorithm to the GA is to evaluate the results obtained with the
AIS against a known benchmark. Based on this comparison, some meaningful
conclusions can be drawn in terms of the quality of the results obtained, the strengths and
weaknesses of the AIS algorithm and some opportunities for improvement can me scoped
out.
4.4.2 Discussion of the Results with the AIS Algorithm
Each test will follow the methodology listed in the previous section and the results
from testing the AIS algorithm will be discussed independently for each of the problems
tested.
4.4.2.1 Problem 1: The FT10 Job Shop Scheduling Problem
The known optimal makespan for the FT 10X10 problem is 930. Per the
methodology described previously, the input parameters chosen for the starting and best
solutions for this problem are shown in Table 15.
84
Table 15
Parameter List for the FT10 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
10
10
Fitness Threshold
1500
1800
Number of Mutations
100
2000
Number of Iterations
100
100
The known optimal solution was not obtained with these starting input parameters;
in fact, no feasible solution was obtained with these parameters. Consequently, the
number of mutations and the number of iterations were increased, one at a time and in the
stated order. The known optimal solution of 930 was not obtained. The best solution
reached with the AIS algorithm was 1208 that was reached with 96,100 iterations. The
details of the result are depicted in Figure 13.
85
Figure 13: Result Window for the FT10 Problem
To test the robustness the program was run 20 times using the input parameters
from the best solution. The best solution was only obtained in 2 of these runs. With the
remaining 18 runs, 13 runs yielded solutions within 1230 while the others were within
1260.
4.4.2.2 Problem 2: The FT06 Job Shop Scheduling Problem
The known optimal makespan for the FT06 problem is 55. Per the methodology
described previously, the input parameters chosen for the starting and best solutions for
this problem are listed in Table 16.
86
Table 16
Parameter List for the FT06 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
4
4
Number of genes
6
6
Number of components
9
9
Fitness Threshold
70
70
Number of Mutations
100
100
Number of Iterations
100
1000
Although the known optimal was not reached with the initial input parameters, a
feasible solution was obtained. Hence, only the number of mutations and the number of
iterations were varied while keeping the Fitness Threshold unchanged. The best solution
obtained was 55 using 44,500 iterations and it equaled the known optimal makespan for
this problem. Figure 14 shows the schedule generated for the best solution.
87
Figure 14: Result Window for the FT06 Problem
The test for robustness revealed that the best solution of 55 was reached 18 times.
All the other 6 solutions were within a makespan of 60. An interesting feature in this test
was that the schedules generated in all 14 runs were not the same; 9 unique schedules
were generated.
4.4.2.3 Problem 3: The ABZ5 Job Shop Scheduling Problem
The known optimal makespan for the ABZ5 10X10 problem is 1234. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
17.
88
Table 17
Parameter List for the ABZ5 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
10
10
Fitness Threshold
1500
1900
Number of Mutations
100
2000
Number of Iterations
100
5000
As no feasible solution was reached with the starting parameters, the fitness
threshold was gradually increased along with corresponding increases in the number of
mutations and number of iterations until the best solution was determined. The best
solution obtained was 1434 using 105,000 iterations. Figure 15 shows the schedule
generated for the best solution.
89
Figure 15: Result Window for the ABZ5 Problem
In the test for robustness, the best solution was reached 3 times of the total 20 runs.
The makespan obtained in each of the 20 runs made for this test had a large variation. All
solutions were within the maximum makespan of 1600.
4.4.2.4 Problem 4: The ABZ6 Job Shop Scheduling Problem
The known optimal makespan for the ABZ6 10X10 problem is 943. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
18.
90
Table 18
Parameter List for the ABZ6 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
10
10
Fitness Threshold
1400
1400
Number of Mutations
100
4000
Number of Iterations
100
1000
The starting parameters did yield a solution; however it was not optimal. The
threshold was then decreased but that did not yield a feasible solution. Bringing the
fitness threshold back to 1400, the number of mutations and number of iterations were
increased. The best solution obtained was 1084 using 118,500 iterations. Figure 16 shows
the schedule generated for the best solution.
91
Figure 16: Result Window for the ABZ6 Problem
In the test for robustness, the best solution was reached 3 times. The makespan in
the remaining solutions were within 1150.
4.4.2.5 Problem 5: The LA01 Job Shop Scheduling Problem
The known optimal makespan for the LA01 10X5 problem is 666. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
19.
92
Table 19
Parameter List for the LA01 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
5
5
Fitness Threshold
750
900
Number of Mutations
100
2000
Number of Iterations
100
2000
The first run with the starting parameters did not yield a feasible solution. Gradually
increasing the threshold along with corresponding increases in the number of mutations
and number of iterations resulted in the best solution of 702 using 74,000 iterations.
Figure 17 shows the schedule generated for the best solution.
Figure 17: Result Window for the LA01 Problem
93
In the test for robustness, the best solution was reached 13 times out of the 20 runs
made. The makespan in the remaining solutions were within 750. Compared to the other
problems tested so far, fairly robust solutions obtained with this problem, in terms of the
number of times the best solution was obtained as well as in the total variation of all of
the solutions.
4.4.2.6 Problem 6: The LA02 Job Shop Scheduling Problem
The known optimal makespan for the LA02 10X5 problem is 655. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
20.
Table 20
Parameter List for the LA02 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
5
5
Fitness Threshold
750
900
Number of Mutations
100
2000
Number of Iterations
100
5000
94
No feasible solution was obtained with the starting parameters. The threshold was
then gradually increased along with corresponding increases in the number of mutations
and number of iterations. The best solution obtained was 708 using 173,000 iterations.
Figure 18 shows the schedule generated for the best solution.
Figure 18: Result Window for the LA02 Problem
In the test for robustness, the best solution was reached 11 times. The makespan in
the remaining solutions were within 730. The solutions obtained for this problem were
even more robust than the previously discussed LA01 problem.
95
4.4.2.7 Problem 7: The LA03 Job Shop Scheduling Problem
The known optimal makespan for the LA03 10X5 problem is 597. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
21.
Table 21
Parameter List for the LA03 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
5
5
Fitness Threshold
750
900
Number of Mutations
100
2000
Number of Iterations
100
5000
A feasible solution was not obtained with the starting parameters for this problem.
The threshold was then gradually increased along with corresponding increases in the
number of mutations and number of iterations. The best solution obtained was 672 using
120,000 iterations. Figure 19 shows the schedule generated for the best solution.
96
Figure 19: Result Window for the LA03 Problem
In the test for robustness, the best solution was reached 8 times. The makespan in
the remaining solutions were within 710.
4.4.2.8 Problem 8: The LA04 Job Shop Scheduling Problem
The known optimal makespan for the LA04 10X5 problem is 590. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
22.
97
Table 22
Parameter List for the LA04 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
5
5
Fitness Threshold
900
900
Number of Mutations
100
2000
Number of Iterations
100
5000
Since this problem had a solution that was very close the LA03 problem and is also
of the same size, the starting fitness threshold of 900 was chosen. The starting parameters
did generate a feasible solution but in order to further optimize it, the number of
mutations and number of iterations were gradually increased. The best solution obtained
was 644 using 707,000 iterations. Figure 20 shows the schedule generated for the best
solution.
98
Figure 20: Result Window for the LA04 Problem
The best solution was attained 7 times in the test for robustness. The large number of
iterations used to get to the best solution in the runs suggested that a number of feasible
solutions were bring generated which were then mutated to get to the best solution. The
makespan in the remaining solutions were within 900.
4.4.2.9 Problem 9: The LA05 Job Shop Scheduling Problem
The known optimal makespan for the LA05 10X5 problem is 593. The input
parameters chosen for the starting and best solutions for this problem are listed below in
Table 23.
99
Table 23
Parameter List for the LA05 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
5
5
Fitness Threshold
900
900
Number of Mutations
100
100
Number of Iterations
100
100
This problem also has similar characteristics in terms of size and solution to the
LA03 and LA04 problems. Hence, the fitness threshold for the initial inputs was set at
900. The optimal solution of 593 for this problem was obtained with the initial inputs
itself with 2,400 iterations. Figure 21 shows the schedule generated for the best solution.
100
Figure 21: Result Window for the LA05 Problem
In the test for robustness, the best solution was reached in all of 20 runs. The
solutions obtained by the AIS algorithm for this problem has been the most robust so far.
4.4.2.10 Problem 10: The LA16 Job Shop Scheduling Problem
The known optimal makespan for the LA16 10X10 problem is 945. The input
parameters chosen for the starting and best solutions for this problem are listed in Table
24.
101
Table 24
Parameter List for the LA16 Problem
Input Parameter
Starting Parameter Value Best Solution Parameter Value
Number of antigens
10
10
Number of genes
6
6
Number of components
10
10
Fitness Threshold
1100
1400
Number of Mutations
100
1000
Number of Iterations
100
5000
No feasible solution was obtained with the starting parameters. The threshold was
then gradually increased along with corresponding increases in the number of mutations
and number of iterations. The best solution obtained was 1124 using 93,000 iterations.
Figure 22 shows the schedule generated for the best solution.
Figure 22: Result Window for the LA16 Problem
102
In the test for robustness, the best solution was reached 4 times. The makespan in the
remaining solutions were within 1200.
4.5 COMPARISON OF THE RESULTS TO GENETIC ALGORITHMS
The results obtained with the AIS algorithm developed in this thesis will now be
compared to Genetic Algorithms in this section. The same 10 job shop problems that
were used for testing AIS were also run on a Genetic Algorithm. 20 simulations of each
problem were run with the GA, similar to the AIS algorithm.
The Genetic Algorithm used for this comparison was devised by Nihar Shah in his
thesis “Using Distributed Computing to improve the performance of Genetic Algorithms
for Job Shop Scheduling Problems” [32]. A distributed type GA model was created
where the algorithm applied an order-based crossover methodology the offspring
chromosome receives a random substring from the parent chromosome. The selection
strategy used was the Roulette Wheel based selection strategy.
4.5.1 Detailed Discussion of the Comparison between AIS and GA
In this section, the results obtained with the AIS algorithm will be compared to those
of the GA algorithm, problem-by-problem.
103
4.5.1.1 Problem 1: The FT10 Job Shop Scheduling Problem
While neither of the techniques was able to obtain the optimal solution, the GA’s
best solution was much closer to the optimal than AIS as shown in Table 25. On the other
hand, the AIS algorithm was marginally more consistent in reaching its best solution.
Table 25
Solution Comparison for the FT10 Problem
Optimal
Solution
930
Best Solution
With AIS
1208
Best Solution
with GA
1099
No. Best Solutions
with AIS
2 in 20
No. Best
Solutions with GA
1 in 20
4.5.1.2 Problem 2: The FT06 Job Shop Scheduling Problem
The FT06 was the smallest problem of the set and, both, the AIS algorithm and the
GA successfully attained the optimal makespan of 55 units. This may indicate that the
AIS algorithm is competent with the GA, at least with the less complex problems.
The optimal solution being attained 18 out of 20 times with the AIS algorithm
compared with the 3 out 20 times for the GA, as shown in Table 26, is a strong
indication that the AIS is more robust than the GA. This hypothesis can be further
grounded by continuing to track this trend with the rest of the observations.
104
Table 26
Solution Comparison for the FT06 Problem
Optimal
Solution
55
Best Solution
With AIS
55
Best Solution
with GA
55
No. Best Solutions
with AIS
18 in 20
No. Best
Solutions with GA
3 in 20
4.5.1.3 Problem 3: The ABZ5 Job Shop Scheduling Problem
Genetic Algorithm was able to reach closer to the optimal solution with the ABZ5
problem with its best solution of 1339 lagging 105 units behind the optimal makespan
while AIS lagged 200 units behind as shown in Table 27. However, AIS did slightly
better on robustness by reaching its best makespan 3 times out of 20 compared to GA
attaining its best solution only once.
Table 27
Solution Comparison for the ABZ5 Problem
Optimal
Solution
1234
Best Solution
With AIS
1434
Best Solution
with GA
1339
No. Best Solutions
with AIS
3 in 20
No. Best
Solutions with GA
1 in 20
4.5.1.4 Problem 4: The ABZ6 Job Shop Scheduling Problem
Again, Genetic Algorithms produced a better solution with a makespan of 1043
units than the AIS algorithm even though neither reached the optimal makespan of 943
105
units in the abz6 problem as shown in Table 28. AIS lagged 41 makespan units behind
the GA at 1084 units.
Similar to the previous problem, AIS did a little better on robustness with 3
consistent best solutions out of 20 as compared to GA’s 1 best solution.
Table 28
Solution Comparison for the ABZ6 Problem
Optimal
Solution
943
Best Solution
With AIS
1084
Best Solution
with GA
1043
No. Best
Solutions with AIS
3 in 20
No. Best Solutions
with GA
1 in 20
4.5.1.5 Problem 5: The LA01 Job Shop Scheduling Problem
Table 29 shows that the optimal solution of 666 of the LA01 problem was obtained
by the Genetic Algorithm but the AIS lagged behind by 36 makespan units. However, in
another strong indication of AIS being more robust, the algorithm attained its optimal
solution 13 times out of 20 as compared to the GA getting 5 optimal solutions.
Table 29
Solution Comparison for the LA01 Problem
Optimal
Solution
666
Best Solution
With AIS
702
Best Solution
with GA
666
No. Best Solutions
with AIS
13 in 20
No. Best
Solutions with GA
5 in 20
106
4.5.1.6 Problem 6: The LA02 Job Shop Scheduling Problem
This is the first problem where the AIS algorithm reached closer to the Genetic
Algorithm with a best solution of 708 makespan units as compared to the GA’s 716
makespan units but was still short of the optimal solution for the la02 problem by 53
makespan units as shown in Table 30. Also, continuing the trend of having more robust
solutions, AIS achieved its best solution 11 times out of 20 as compared to the GA’s 1 in
20.
Table 30
Solution Comparison for the LA02 Problem
Optimal
Solution
655
Best Solution
With AIS
708
Best Solution
with GA
716
No. Best Solutions
with AIS
11 in 20
No. Best
Solutions with GA
1 in 20
4.5.1.7 Problem 7: The LA03 Job Shop Scheduling Problem
Neither of the algorithms reached the optimal makespan of 597 units of the LA03
problem but the Genetic Algorithm was closer at 638 makespan units while the AIS was
75 makespan units behind the optimal solution as can be seen in Table 31. AIS achieved
its best solution of 672 makespan units 8 times out of 20 as compared to the GA’s 1 in
20.
107
Table 31
Solution Comparison for the LA03 Problem
Optimal
Solution
597
Best Solution
With AIS
672
Best Solution
with GA
638
No. Best Solutions
with AIS
8 in 20
No. Best
Solutions with GA
1 in 20
4.5.1.8 Problem 8: The LA04 Job Shop Scheduling Problem
The AIS algorithm achieved a best solution of 644 makespan units for the LA04
problem with an optimal solution on 590 makespan units but the GA got closer to the
optimal with 619 makespan units as shown in Table 32. AIS has a higher robustness with
7 best solutions out of 20 as compared to the GA’s 2 out of 20.
Table 32
Solution Comparison for the LA04 Problem
Optimal
Solution
590
Best Solution
With AIS
644
Best Solution
with GA
619
No. Best Solutions
with AIS
7 in 20
No. Best
Solutions with GA
2 in 20
108
4.5.1.9 Problem 9: The LA05 Job Shop Scheduling Problem
Both the algorithms had identical results with the LA05 problem by achieving the
optimal makespan solution of 593 in all their 20 runs as shown in Table 33.
Table 33
Solution Comparison for the LA05 Problem
Optimal
Solution
593
Best Solution
With AIS
593
Best Solution
with GA
593
No. Best Solutions
with AIS
20 in 20
No. Best
Solutions with GA
20 in 20
4.5.1.10 Problem 10: The LA16 Job Shop Scheduling Problem
The Genetic Algorithm reached closer to the optimal makespan of 945 units in the
la16 problem with its best solution of 1033 makespan units. As depicted in Table 34, the
AIS algorithm was 179 makespan units above the optimal solution with its best solution
of 1124 units. The AIS algorithm stays in line with it’s trend of being more robust than
the GA with the optimal solution being reached 4 out of 20 times as compared to the GA.
Table 34
Solution Comparison for the LA16 Problem
Optimal
Solution
945
Best Solution
With AIS
1124
Best Solution
with GA
1033
No. Best Solutions
with AIS
4 in 20
No. Best
Solutions with GA
1 in 20
109
4.5.2 Summary of the Comparison
Table 35 summarizes the results for the 20 problems that were run with the AIS
algorithm and GA. The two attributes compared are the best solution and the number of
best solutions. The best solution for each problem refers to the solution obtained with
both the AIS and the GA, individually, with the lowest makespan. This may or may not
be equal to the optimal solution. Recording and comparing the best solution is the basis
for comparing the optimality between the AIS and the GA algorithms.
The optimal solution of each problem is also listed for reference. This is the known
optimal solution for each problem. The number of best solutions refers to the number of
times the best solution was reached as a percent of the total 20 iterations that were run for
each problem and is a test of the robustness of the solutions. To site an example of this,
the AIS yielded its best solution of 1208 twice for the FT10 problem which translates to it
getting to its best solution 20% of the time. Comparison of the robustness is the second
key element of comparison in this thesis.
The following sections compare, in detail, the optimality and robustness of the two
methodologies. Comparing the new technique of AIS to the well-established Genetic
Algorithm will provide a idea of how effective AIS is and will also help identify areas of
opportunity to improve the AIS algorithm.
110
Table 35
Summary of the Comparison between AIS and GA
Problem
#
1
2
3
4
5
6
7
8
9
10
Name of Problem
(Jobs X Machines)
ft10(10X10)
ft06(6X6)
abz5(10X10)
abz6(10X10)
la01(10X5)
la02(10X5)
la03(10X5)
la04(10X5)
la05(10X5)
la16(10X10)
Optimal
Solution
930
55
1234
943
666
655
597
590
593
945
Best
Solution
1208
55
1434
1084
702
708
672
644
593
1124
AIS
No. Best
Solutions (%)
10%
90%
15%
15%
65%
55%
40%
35%
100%
20%
Best
Solution
1099
55
1339
1043
666
716
638
619
593
1033
GA
No. Best
Solutions (%)
5%
15%
5%
5%
25%
5%
5%
10%
100%
5%
4.5.2.1 Comparing Optimality of the Results
Overall, the Genetic Algorithm produced better optimality solutions compared to
the AIS algorithm as not only did the GA get more optimal solutions that the AIS, it also,
in almost all non-optimal solutions, got closer to the optimal solution than the AIS did .
The GA obtained the optimal solution in 30% of the cases while the AIS algorithm
reached the optimal makespan in 20% of the cases. The Genetic Algorithm also obtained
the optimal solution for both the problems for which the AIS reached optimality – i.e. the
ft06 and the la05. The ft06, a 6 job, 6 machine problem, was the smallest of all the
problems tested while the la05 (10 X5 problem) was the relatively the easiest as all 20
iterations for both the problems yielded the optimal solution. The la01 problem was the
only other problem for which the GA got the optimal solution of 666 makespan units.
111
For most of the remainder of the problems that were tested, the results generated by
the GA reached nearer to the optimal solution than the AIS algorithm. While comparing
the 7 problems that did not arrive at the optimal solution, it should be noted that the GA
produced better results than the AIS in 6 cases, i.e. ~85% of the cases. The only case
where the AIS had a better result than the GA was with the la02 (10X5) problem. In
addition, the closest that the AIS reached to the GA in the case on non-optimal results
was within 25 makespan units for the la04 (10X5) job shop problem while the farthest
was a difference of 109 makespan units for the ft10 (10X10) job shop problem. Table 36
lists the difference in makespan units for the best solution between the two techniques.
Table 36
Difference in the Makespan between AIS and GA
Problem Name of Problem
Optimal
GA
#
(Jobs X Machines)
Solution Solution
1
2
3
4
5
6
7
8
9
10
ft10(10X10)
ft06(6X6)
abz5(10X10)
abz6(10X10)
la01(10X5)
la02(10X5)
la03(10X5)
la04(10X5)
la05(10X5)
la16(10X10)
930
55
1234
943
666
655
597
590
593
945
1099
55
1339
1043
666
716
638
619
593
1033
AIS
solution
1208
55
1434
1084
702
708
672
644
593
1124
Difference
in makespan
109
0
95
41
36
-8
34
25
0
91
112
Based on the above discussion on the number of optimal solutions reached, the
closeness of the non-optimal solutions to the optimal solution and the differences in the
GA and AIS solutions, the solutions produced by the GA was concluded to be better than
those produced with the AIS algorithm.
4.5.2.2 Comparing Robustness of the Results
The robustness of the results produced by the two algorithms was estimated by the
number of times the best solution was reached out of the total 20 times that each problem
was run by each algorithm. While it was observed in the previous section that the GA
produced better optimality results, in this case, the AIS was observed to have more robust
solutions. AIS had a higher degree of robustness as compared to the AIS in almost all
problems as is observed with Figure 23 which compares the degree of robustness
between the 2 techniques.
The only exception was with the la05 (10X5) job shop problem where both AIS and
GA obtained the optimal solution 100% of the time. With the ft06 problem, even though
both techniques reached the optimal solution, the AIS was more robust as it reached
optimality 90% of the time compared to the GA reaching optimality 15% of the time.
113
Figure 23: Comparison of the Robustness between AIS and GA
Another measure of comparison was looking at the interaction between the degree
of optimality of the solution and the robustness. Figure 24 and Figure 25 below depict
this relationship for AIS and GA respectively. With both the algorithms, the two
variables have an inverse relationship so that the robustness of the algorithm increases as
the variation of the best solution from the optimal solution decreases.
Even though both the algorithms have the same general trend, the AIS has a higher
slope. This further supports the conclusion that the AIS is more robust than the GA.
114
Relationship between quality of solution and robustness for
AIS
No. of Best solutions (%)
100%
80%
60%
40%
20%
0%
0
50
100
150
200
250
300
Difference between Optimal Makespan and the Best Solution with AIS
Figure 24: Relationship between Optimality and Robustness for AIS
Relationship between quality of solution and robustness for
GA
No. of Best solutions (%)
100%
80%
60%
40%
20%
0%
0
20
40
60
80
100
120
140
160
Difference betw een Optimal Makespan and the Best Solution w ith GA
Figure 25: Relationship between Optimality and Robustness for GA
180
115
CHAPTER 5: CONCLUSIONS
The 10 problems tested covered a wide variety of job shop scheduling problems in
terms of the size and difficulty of the problems. The smallest problem consisted of 6 jobs
and 6 machines while the largest problems were 10 jobs and 10 machine problems.
Choosing a large diversity in the problems selected made the testing of the 3 dimensions
of optimality, efficiency and robustness of the AIS algorithm well-rounded.
The FT06 problem was the smallest and, relatively, one of the simplest problems
compared to all of the other problems tested. As the algorithm reached the optimal
solution of 55 using only 44,500 iterations, the algorithm was optimal as well as efficient.
The algorithm was also observed to be robust in delivering optimal results for this
problem as compared to the most of the other bigger and more complicated problems.
The next level of complexity comprised of 5 mid-sized problems. These were all
10-job and 5-machine problems. The results from this test were varied across the
problems; for instance, the optimal solution was consistently and efficiently reached with
the LA05 problem but the best solution with the AIS algorithm was far from optimal with
the LA04 problem. One of the reasons for this high degree of variability in the results
with the mid-sized problems was that some of the problems were inherently harder than
other even though they are all NP problems. While the algorithm worked well with the
easier ones, the solutions for harder problems took longer to arrive at and were farther
away from the known optimal.
Another interesting observation of the results with this set of problems was that the
robustness co-related with the degree of optimality of the solution. So, closer the best
116
solution with the algorithm was to the known optimal solution the more robust it was.
This is illustrated in the Figure 26 below. The robustness is the number of times (as a
percentage) that the best solution was reached out of the 20 total runs while the degree of
optimality is the variation of the best solution from the optimal solution – the lesser the
variation, the higher is the degree of robustness.
120%
Robustness (%)
100%
Relation between Robustness and optimality of the AIS
solution
80%
60%
40%
20%
0%
0
36
53
75
154
Variation of best solution from optimal solution
Figure 26: General Relation between Optimality and Robustness for AIS
Finally, the last set of problems consisted of 4 large size problems. All of them were
10-job and 10-machine problems and were the most complicated to solve. None of the
problems tested reached their known optimal solutions. In fact, the best solutions from
the algorithm were farthest away from the known optimal solution as compared to the
117
other sets of problems. This further confirms the observation with the mid-size problems
that this algorithm was less effective on the larger and tougher problems. Also, in line
with earlier observations, the robustness of the solutions obtained was low.
In conclusion, the AIS algorithm developed and tested in this thesis did work
successfully on some of the smaller and less complicated job shop scheduling problems
tested. The more robust the best solution obtained with the algorithm is, the closer it is to
the known optimal solution.
Lastly, the results from the testing of the AIS algorithm was compared to a Genetic
Algorithm run on the same 10 problems chosen for the AIS testing. Similar to the AIS
test plan, 20 iterations were run on the 10 problems and the best solution was recorded.
The results from the running the GA was then compared to the AIS results.
It was observed that the AIS algorithm beat the GA in the optimality test. This was
concluded based on the fact that the GA reached the optimal solution more times than the
AIS – the GA reached the optimal solution for 3 out of the 10 problems while the AIS
reached the optimal solution twice. Both the problems that the AIS cracked were part of
the 3 problems that the GA reached too. In addition, with the remaining 7 problems, the
GA yielded 6 solutions that were closer to the optimal solution than those achieved by the
AIS.
On the other hand, the solutions produced by the AIS algorithm were observed to be
more robust than the GA. This conclusion was reached based on the observation that the
AIS had a higher degree of robustness in 19 out of the 20 problems tested as compared to
the GA. Both the algorithms had an equal degree of robustness (100%) with the LA05
118
(10X5) problem. Also, while on examination of the relationship between robustness and
optimality, the AIS was observed to have a higher slope than the GA.
In conclusion, the comparison of the AIS algorithm with the GA revealed that while
the AIS matched up well to the GA on the relatively simple or smaller problems, the GA
provided solutions that were closer to the optimal. So, there is still scope for fine-tuning
the AIS algorithm. On the positive side, the AIS solutions were more robust and reliable.
Although this would require further testing, the implication of getting robust solutions
could mean that lesser iterations would be required to determine the best solution with the
AIS algorithm under the hypothesis that as the best solution is reached, that particular
solution will appear more frequently. On the other hand, it could take more scenario runs,
and hence more time, to reach the best solution with the GA.
119
CHAPTER 6: FUTURE WORK
6.1 FUTURE WORK
Based on the results generated by this AIS methodology, a few additional areas of
research have been identified for the future
6.1.1 Areas of Improvement
Incorporating the aspect of ‘Memory’ into the algorithm was identified as a fine
area of improving the performance of the algorithm. With a ‘Memory’, the AIS algorithm
can keep a repository of good solutions that it can tap into when needed. This will help
increase the chances to reaching the known optimal solution and at a faster rate (i.e. using
lesser iterations) as well. As a result, the overall effectiveness of the algorithm, and the
AIS technique in general, could be greatly improved.
On the comparison of optimality Vs robustness, more research can be undertaken in
regards to the shape of the curve in this relationship. While this thesis pointed to a
general trend where the robustness increased with increasing optimality, more detailed
analyses can be performed to further explore the true curve shape. This would require
more intensive testing using a greater number and variety of problems in order to get
results that are statistically significant.
6.1.2 Comparison
The work done so far proves that the AIS algorithm can be successfully used to
achieve good results for job shop scheduling. After improving the algorithm adding in
120
‘Memory’, one of the next steps can be to comprehensively compare the results obtained
with other similar techniques such as Genetic Algorithms, Tabu Search and other new
and developing techniques. This will help evaluate the improvement made to the current
AIS algorithm.
121
REFERENCES
1.
Land, A. H., and Doig, A. G., (1960) ‘An Automatic Method of Solving Discrete
Programming Problems’, Econometricca, Vol. 28, No. 3, pp. 497 – 520.
2.
Giffler, B., and Thompson, G., (1960) "Algorithms for Solving Production
Scheduling Problems," Operations Research, VIII, pp. 487-503.
3.
Adams, Joseph; Balas, Egon and Zawack, Daniel (1986) ‘The Shifting Bottleneck
Procedure for Job Shop Scheduling’ by Carengie-Mellon University Management
Sciences Research Group
4.
Fox, M.S., Allen, B.P., Smith, S., and Strohm, G.A. (1983) ‘ISIS: A Constraint-
Directed Reasoning Approach to Job Shop Scheduling System Summary’ by Tech. report
CMU-RI-TR-83-08, Robotics Institute, Carnegie Mellon University
5.
Smith, S. F., (1987) ‘Constraint-Based Scheduling in an Intelligent Logistics
Support System: An Artificial Intelligence Approach’ by Carnegie-Mellon University
Robotics Institute
6.
Farmer J. D., Packard, N. H. And Perelson, A. S. (1986) ’The Immune System,
Adaptation and Machine Learning’, Physica 22D, pp. 187 – 204.
7.
Hoffman, G. W. (1986) ‘A Neural Network Model Based on the Analogy with the
Immune System’, Journal of Theoretical Biology, 122, pp. 33 – 67.
8.
De Castro, L. and Timmis, J. (2002) ‘Artificial Immune Systems: A New
Computational Intelligence Approach’ by Springer-Verlag, London, September, 357 p.
122
9.
Farmer J. D., Kauffman, S. A., Packard, N. H. And Perelson, A. S. (1987),
’Adaptive Dynamic Networks as Models for the Immune System and Autocatalytic Sets’,
Ann. of the N. Y. Acc. Of Sci., 504, pp. 118 – 131.
10.
Farmer J. D., (1990), ‘A Rosetta Stone for Connectionism’, Proceedings of the
ninth annual international conference of the Center for Nonlinear Studies on Selforganizing, Collective, and Cooperative Phenomena in Natural and Artificial Computing
Networks on Emergent computation, pp. 153 – 187.
11.
Ishida, Y. (1990), ‘Fully Distributed Diagnosis by PDP Learning Algorithm:
Towards Immune Network PDP Model’, Proc. of the Int. Joint Conf. on Neural
Networks, pp. 777 – 782.
12.
Ishida, Y. (1993), ‘An Immune Network Model and Its Applications to Process
Diagnosis’, Systems and Computers in Japan, 24(6), pp. 646 – 651.
13.
Bersini, H. And Varela, F. J. (1990), ‘Hints for Adaptive Problem Solving Gleaned
from Immune Networks’, Parallel Problem Solving from Nature, pp. 343 – 354.
14.
Bersini, H. And Varela, F. J. (1991), ‘The Immune Recruitment Mechanism: A
Selective Evolutionary Strategy’, Proc. of the Int. Conference on Genetic Algorithm, pp.
520 – 526.
15.
Bersini, H. (1991), ‘Immune network and adaptive control’ in ‘Towards a practice
of autonomous systems’, Proc. of the First European Conf. on Artificial Life, by MIT
Press, pp. 217 – 226.
16.
Forrest, S. and Perelson, A.S. (1991), ‘Genetic Algorithms and the Immune
System’, Proc. of the Parallel Problem Solving from Nature, Springer-Verlag.
123
17.
Forrest, S., Javornik, B., Smith, R. E., and Perelson, A.S. (1993), ‘Using genetic
algorithms to explore pattern recognition in the immune system’, Evolutionary
Computation, Vol. 1, No. 3, pp. 191 – 211.
18.
Dasgupta, D., (1999), ‘An Overview of Artificial Immune Systems and Their
Applications’, In Artificial Immune Systems and Their Applications, D. Dasgupta (ed.),
Springer-Verlag, pp. 3 – 21.
19.
Timmis, J., (2000) ‘Artificial immune systems: A novel data analysis technique
inspired by the immune network theory.’ PhD thesis, Department of Computer Science,
University of Wales, Aberystwyth, Ceredigion, Wales.
20.
de Castro, L. N. & Von Zuben, F. J. (2000), ‘An Evolutionary Immune Network for
Data Clustering’, In Proceedings of the IEEE SBRN'00 (Brazilian Simposium on
Artificial Neural Networks), pp. 84-89.
21.
de Castro, L. N. & Von Zuben, F. J. (2001), ‘aiNet: An Artificial Immune Network
for Data Analysis’, Book Chapter in Data Mining: A Heuristic Approach, H. A. Abbass,
R. A. Sarker, and C. S. Newton (eds.), Idea Group Publishing, USA, Chapter XII, pp.
231-259.
22.
Nasaroui, O., Gonzalez, F., and Dasgupta, D., (2002) ‘The Fuzzy Artificial Immune
System: Motivations, Basic Concepts, and Application to Clustering and Web Profiling.’
Published at IEEE International Conference on Fuzzy Systems. In the Proceedings of the
IEEE World Congress on Computational Intelligence.
23.
Neal, M. J., (2002), ‘An Artificial Immune System for Continuous Analysis of
Time-varying data’, in proceedings of ICARIS 2002, Canterbury, U.K.
124
24.
Fukuda T., Mori, M., and Tsukiyama, M., (1999), ‘Immunity-Based Management
System for a Semiconductor Production Line’, In Artificial Immune Systems and Their
Applications, D. Dasgupta (ed.), Springer-Verlag, pp. 278 – 288.
25.
Hart, E., (2002), ‘Immunology as a Metaphor for Computational Information
Processing: Fact or Fiction?’ PhD. Thesis, Artificial Intelligence Applications Institute,
Division of Informatics, University of Edinburgh.
26.
Hart, E., Ross, P., (1999) ‘An Immune System Approach to Scheduling in
Changing Environments’, Genetic and Evolutionary Computation Conference - GECCO
1999, Orlando, Florida, USA, pp.1559-1565.
27.
Hart, E., Ross, P., and Nelson, J., (1998) ‘Producing robust schedules via an
artificial immune system’, International Conference on Evolutionary Computing, ICEC
'98, Anchorage, Alaska, USA, pp 464-469, IEEE Press.
28.
Aickelin, U., Burke, E., and Mohamed Din, A. (2004), 'Investigating Artificial
Immune Systems For Job Shop Rescheduling In Changing Environments', 6th
International Conference in Adaptive Computing in Design and Manufacture, Bristol, UK
29.
Coello Coello, Carlos A., Daniel Cortés Rivas and Nareli Cruz-Cortés, (2004), “Job
Shop Scheduling using the Clonal Selection Principle”, ACDM'2004, Springer, Bristol,
U. K.
30.
Seiden, P. E. and Celada, F., (1992), “A Model for Simulating Cognate Recognition
and Response in the Immune System” Journal of Theoretical Biology 158, pp. 329 – 357.
125
31.
Cheng, R.; Gen, M.; Tsujimura, Y. (1999), ‘A tutorial survey of job-shop
scheduling problems using genetic algorithms – 1 - Representation’, Computers &
Industrial Engineering, pp. 343 – 364.
32.
Shah, Nihar, (2004), ‘Using Distributed Computing to improve the performance of
Genetic Algorithms for Job Shop Scheduling Problems’, Master’s Thesis, Department of
Industrial and Manufacturing Systems Engineering, Ohio University, Athens, Ohio.