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.
© Copyright 2026 Paperzz