A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296
OPTIMIZATION OF FMS SCHEDULING USING NON-TRADITIONAL TECHNIQUES A.V.S. SREEDHAR KUMAR Associate Professor Narayana Engineering College Nellore (A.P.)-524004
[email protected]
DR. V.VEERANNA Principal Sreenivasa College of Engineering & Technology Kurnool (A.P) – 518002
[email protected]
DR. B.DURGA PRASAD Associate Professor Mechanical Engineering Department JNTU College of Engineering Anantapur – 515002 AndhraPradesh
DR.B.DATTATRAYA SARMA Principal Narayana Engineering College Muthukur Road, Nellore-524004 AndhraPradesh
[email protected]
Abstract: The importance of good scheduling strategies in production environments in today’s competitive world market cannot be over-stressed. The need to respond to the market demands quickly and to run production units efficiently gives rise to a complex scheduling system. FMS scheduling involves allocation of batches to the machines so as to reduce the idle time of machines. Each machine processes at most one operation at a time and once an operation initiates processing on a given machine is said to be completed without interruption. The operations of a given batch are to be processed in the given order. The present work aims at finding schedule of operations on the machines taking into account the precedence constraints, that minimizes the Make span, that is, the finished time of the last operation completed in the schedule. Keywords: Genetic Algorithm; Tabu Search; Heuristic procedure; Scheduling; FMS. 1. Flexible Manufacturing System Scheduling Flexibility refers to producing a number of distinct products in a batch shop Environment where opportunities for production versatility exist. It is the ability of a manufacturing system to cope with the changing environment. Therefore increasing the job shop productivity while maintaining the production flexibility has been a desired goal of the industry. Emergence of FMS is a development in this direction. Flexible Manufacturing System (FMS) has evolved as a solution to efficient mid-volume production of a variety of part types with low setup time, low work –in-process inventory, short manufacturing lead time, high machine utilization and high quality. This technology is especially attractive for medium and low-volume industries such as Automobile, Aircraft, Steel and Electronics. FMS has emerged as a highly competitive
ISSN: 0975-5462
7289
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 manufacturing strategy of the late 20th century. The philosophy of FMS is ideally suited for unpredictable market environments that demand low cost solutions for quickly and effectively adapting to changes in product mix, demand and design. “A Flexible Manufacturing System consists of a group of processing stations, inter connected by means of an automated material handling and storage system, and controlled by an integrated computer system”. 1.1. Objectives of FMS Scheduling The most important objective of FMS scheduling is to increase the utilization of resources and to reduce the idle time. The resource utilization is improved by scheduling the set of tasks so as to reduce the make span. Another important scheduling objective is to reduce in process inventory i.e., to reduce the number of tasks waiting in a given system while the other resources are busy with other tasks. The objective of scheduling is to reduce the tardiness. In many situations, some or all tasks have due dates and a penalty is incurred if tasks are finished after that date. 2. Non-Traditional Optimization Techniques 2.1. Genetic Algorithms Genetic Algorithms are computerized search and optimization algorithms based on mechanics of natural genetics and natural selection. They operate on the principle of “The survival of the fittest”, where weak individuals die before reproducing, while stronger ones live longer and bear many off spring and breed children, who often inherit the qualities that enabled their parents to survive. The reproduced children are in most cases stronger than their parents. 2.1.1. Genetic Algorithm Operates Through The Following Stages 1. Creation of a “Population” of chromosomes 2. Evaluation of each chromosome 3. Selection of “best” chromosomes 4. Genetic manipulation to create the new population of chromosomes. Each cycle produces a new generation of possible solutions for a given problem. At the first stage an initial population is created as a starting point for the search. Each element of the population is called a (string) chromosome. In the next stage, a performance (or fitness) of each individual is evaluated with respect to the constraints imposed by the problem. Based on each individual’s fitness, a selection mechanism chooses “mates” for the genetic manipulation process. The selection process is ultimately responsible for selecting of the best fitted individuals. The manipulation process uses genetic operators to produce a new population of individuals (offspring) by manipulation a “Genetic information” referred to as Genes possessed by members (parents) of current population. It composes two operations: Crossover and Mutation. Crossover recombines the population’s genetic material. The selection process associated with recombination assures that special genetic structures called building blocks are retained for future generations. These building blocks then represent the most fitted genetic structures in a population. The recombination process alone cannot avoid the loss of promising building blocks in the presence of other genetic structures, which could lead to local minima. Also, it cannot explore search space sections not represented in the populations genetic structures. Here Mutation comes into action. The Mutation operator introduces new genetic structures in the population by randomly modifying some of its building blocks, helping the search algorithms escape from local minima’s traps. Since the modification is not related to any previous genetic structure of the population, it creates different structures representing other sections of the search space. The offspring produced by the genetic manipulation process are the next population to be evaluated. The offspring become parents in the next generation.
ISSN: 0975-5462
7290
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 2.1.2. Fitness Function Genetic Algorithms naturally suitable for solving maximization problems. In general, a fitness function F(x) is first derived from the objective function f(x) and used in successive genetic operations. For maximization problems, the fitness function can be considered to be the same as the objective function or F(x) =f(x). For minimization problems, the fitness function is an equivalent maximization problem chosen such that the optimum point remains unchanged. A number of such transformations are possible. The following fitness function is often used:
F ( x) 1 /(1 f ( x)) This transformation does not alter the location of the minimum, but converts a minimization problem to an equivalent maximization problem. The fitness function value of a string is known as the string’s fitness. 2.1.3. Genetic Algorithm Operators (a). Reproduction It is usually the first operator applied on a population. It selects good string in a population and forms a mating pool. In this, the above average string is picked from the current population and their multiple copies are inserted in the mating pool in a probabilistic manner. The commonly used reproduction operator is the proportionate reproduction operator where a string is selected for the mating pool with a probability proportional to its fitness. Since the population size is usually kept fixed, the sum of the probability of each string selected must be one. Therefore, the probability for selecting the ith string is
Pi
Fi n
Fj j 1
where n is the population size. (b). Crossover In the crossover operator, new strings are created by exchanging information among string of the mating pool. Two strings are picked from the mating pool at random and some portions of the strings are exchanged between the strings. The two strings participating in the crossover operation are known as parent strings and the resulting strings are known as children strings. It is intuitive from this construction that good sub-strings from parent strings can be combined to form better child strings, if an appropriate site is chosen. Since the knowledge of an appropriate site is usually not known beforehand, a random site is often chosen. With a random site, children strings produced may or may not have a combination of good sub-strings from parent strings, depending on whether or not the crossing site falls in the appropriate place. Because of good strings are created by crossover, there will be more copies of them in the next mating pool generated by the reproduction operator. But if good strings are not created by crossover, they will not survive too long, because reproduction selects against those strings in subsequent generations. (c). Mutation The mutation operator changes 1 to 0 and vice versa with a small mutation probability, pm. The bit-wise mutation is performed bit by bit by flipping a con with a probability pm. if at any bit the outcome is true then the bit is altered, otherwise the bit is kept unchanged. The need for mutation is to create a point in the neighborhood of the current point, thereof achieving a local search around the current solution. The mutation is also used to maintain diversity in the population. 2.1.4. Methodology for Genetic Algorithm STEP 0: Initialization. Choose a population size p, initial starting feasible solutions x1………xp, a generation limit tmax, and population sub divisions pe for elites, pi for immigrants, pc for crossovers. Also set generation index t 0.
ISSN: 0975-5462
7291
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 STEP 1: Stopping. If t=tmax, stop and report the best solution of the current population as an approximate optimum. STEP 2: Elite. Initialize the population of generation t+1 with copies of pe best solution in the current generation. STEP 3: Immigrants. Arbitrarily choose pi new immigrant feasible solutions, and include them in the t+1 population. STEP 4: Crossovers. Choose pc/2 non-overlapping pairs of solutions from the generation t population, and execute crossover on each pair at an independently chosen random cut point to complete the generation t+1population. STEP 5: Increment. Increment tt+1, and return to Step 1 2.2. Tabu Search The basic concept of Tabu Search as described by Glover (1986) is “a metaheuristic superimposed on another heuristic. The overall approach is to avoid entrainment in cycles by forbidding or penalizing moves, which take the solution, in the next iteration, to points in the solution space previously visited (hence “Tabu”). The Tabu search is fairly new, Glover attributes it’s origin to about 1977.The method is still actively researched, and is continuing to evolve and improve. The Tabu search method was partly motivated by the observation that human behavior appears to operate with a random element that leads to inconsistent behavior given similar circumstances. As Glover points out, the resulting tendency to deviate from a charted course might be regretted as a source of error but can also prove to be source of gain. The Tabu method operates in this way with the exception that new courses are not chosen randomly. Instead that Tabu Search proceeds according to the supposition that there is no point in accepting a new (poor) solution unless it is to avoid a path already investigated. The insures new regions of a problems solution space will be investigated in with the goal of avoiding local minima and ultimately finding the desired solution. 2.2.1. Methodology for Tabu search STEP 0: Initialization: Choose any starting feasible solution x0 and an iteration limit tmax. Then set incumbent solution x^ x0 and solution index t 0. No moves for tabu. STEP 1: Stopping: If no non tabu move x in move set M leads to a feasible neighbour of current solution xt, or if t=tmax, then stop. Incumbent solution x^ is an appropriate optimum. STEP 2: Move: Choose some non tabu feasible move x M as x t+1. STEP 3: Update Xt+1 xt + x t+1 STEP 4: Incumbent Solution: If the objective function value of Xt+1 is superior to that of incumbent solution X^, replace x^ xt+1. STEP 5: Tabu list: Remove from the list of tabu all forbidden moves any that have been in it for a sufficient number of iterations and add a collection of moves includes any returning immediately form xt+1 to xt. STEP 6: Increment: Increment t (t+1), and return to Step1. 3. Methodology for Heuristic Method If the number of batches as well as machines is greater than two and technological order (sequence) of machines for all batches are not same, scheduling problems in batches shop becomes complex. There is no ready mode and well-defined methodology to solve the problems under such circumstances heuristic approach plays a very important role. Heuristic means “serving to find out” i.e. to find out things for oneself. It describes a particular wa y to decision making, it utilizes commonsense, logic and above all past experience to tackle the new problem. It provides most likely (if not optimal) solutions. Which are good enough from practical point of view.
3.1. The Priority Rules Used in the Heuristic Procedure are 1. 2.
SPT (Shortest Processing Time), select the operation with the minimum processing time. MWKR (Most Work Remaining), select the operation associated with the job having the most work remaining to be processed.
ISSN: 0975-5462
7292
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 3.
RANDOM (Random), select the operation at random.
STEP 1: Let t= 0 and assume Pt = { }. STEP 2: Determine q* = min {qj} and the corresponding machine m* on which q* could be realized. STEP 3: For each operation which belongs to St that requires machine m* and satisfies the condition Pj < q*, identify an operation according to a specified priority and add this operation to Pt as possible, thus creating only one partial schedule, Pt+1 o the next stage. STEP 4: For each new partial schedule Pt+1 created in step 3, update the data set as follows: Remove operation j from St. From St+1 by adding the direct successor of operation j from St. Increment t by one. STEP 5: Repeat from step 2 to step 4 for each Pt+1 created in step 3 and continue in this manner until all active schedules are generated. 3.2. Assumptions 1. 2. 3. 4.
All machines are available at time zero and there are no break downs. Machine processes one operation at a time and once an operation initiates processing on a given machine. Machine stops only when the operation is over, and Process times are deterministic.
4. Case Problem In this paper work scheduling of six batches on six machines are considered. The input data required is number of machines, number of jobs, batch sizes, Processing times for different jobs, processing sequence of jobs on different machines, loading unloading and transportation cost. Number of machines = 6 Number of jobs =6 Table1: Batch size of the components
Job number Batch size
B1 50
B2 40
B3 60
B4 30
B5 30
B6 70
Table 2: processing time of parts & processing sequence of machines O= operation, M= Machine number, T= Time
B1
B2
B3
B4
B5
B6
ISSN: 0975-5462
O=1 M=1 T=8 O=1 M=2 T=10 O=1 M=4 T=18 O=1 M=4 T=16 O=1 M=3 T=12 O=1 M=6 T=8
O=2 M=2 T=7 O=2 M=3 T=17 O=2 M=3 T=16 O=2 M=1 T=7 O=2 M=2 T=15 O=2 M=5 T=7
O=3 M=3 T=14 O=3 M=5 T=6 O=3 M=6 T=11 O=3 M=2 T=11 O=3 M=4 T=9 O=3 M=4 T=9
O=4 M=4 T=9 O=4 M=6 T=13 O=4 M=1 T=12 O=4 M=3 T=4 O=4 M=1 T=11 O=4 M=1 T=6
O=5 M=5 T=3 O=5 M=4 T=4 O=5 M=5 T=3 O=5 M=5 T=4 O=5 M=6 T=3 O=5 M=2 T=11
O=6 M=6 T=4 O=6 M=1 T=3 O=6 M=2 T=2 O=6 M=6 T=13 O=6 M=5 T=4 O=6 M=3 T=12
7293
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 4.1. Results 4.1.1. Waiting times of batches in minutes Table3: Waiting times of batches in minutes
Batch number Genetic algorithm Heuristic procedure Tabu search
B1 1587 3210 5250
B2 1717 3340 5380
B3 117 1740 3780
B4 2187 3810 5850
B5 2217 3840 5880
B6 127 1750 3790
7000 WAITING TIME
6000 5000 4000 3000 2000 1000 0 B1
B2
B3
B4
B5
B6
BATCH NUMBER Genetic algorithm
Heuristic procedure
Tabu search
Fig1: Batch waiting times for table3
4.1.2. Production time for the batch of components to produce in minute Table4: Production time for the batch of components to produce in minutes
Genetic algorithm 3837
Heuristic procedure 5460
Tabu search 7500
TIME
8000 6000 4000 2000 0 GA
HEURISTIC
TABU
ALGORITHM Manufacturing time for all batches
Fig2: Manufacturing Time for table4
ISSN: 0975-5462
7294
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 4.1.3. Sequence of Batches to be manufactured on different Machines for minimum production time Table5: Sequence of Batches to be manufactured on different Machines for minimum production time using Genetic Algorithm
Machine Number M1 M2 M3 M4 M5 M6
Job sequence for Genetic algorithm B5 B5 B5 B5 B2 B6
B3 B6 B2 B6 B5 B1
B2 B2 B3 B2 B4 B4
B1 B3 B1 B4 B3 B2
B4 B1 B6 B1 B6 B3
B6 B4 B4 B3 B1 B5
Table6: Sequence of Batches to be Manufactured on different Machines for minimum production time using Heuristic Procedure
Machine Number M1 M2 M3 M4 M5 M6
Job sequence for Heuristic procedure B5 B5 B5 B5 B2 B6
B3 B6 B2 B6 B5 B1
B2 B2 B3 B2 B4 B4
B1 B3 B1 B4 B3 B2
B4 B1 B6 B1 B6 B3
B6 B4 B4 B3 B1 B5
Table7: Sequence of Batches to be Manufactured on different Machines for minimum production time using Tabu Search
Machine Number M1 M2 M3 M4 M5 M6
Job sequence for Tabu search B5 B5 B3 B2 B6 B1
B1 B3 B4 B4 B3 B5
B2 B4 B6 B1 B2 B4
B3 B1 B1 B6 B1 B2
B6 B2 B2 B3 B4 B3
B4 B6 B5 B5 B5 B6
5. Conclusion In this paper work, FMS scheduling is optimized using Genetic Algorithm, Tabu Search and Heuristic search techniques. The various parameters like Make span time, Machine Idle time, Batch Idle times are determined. On comparing the results Genetic Algorithm gives the optimum value of all the parameters determined. The necessary program was developed in ‘C++’ language. References [1] [2] [3] [4] [5] [6] [7] [8]
Arun Kumar, Dr.A.K.S.Choudhary & Dr. D.Sigh “Heuristic Approach to Production Scheduling in Job-shop Industries – A Case Study”. Industrial Engineering Journal, vol 28(1999) pp 4-6. Chuda Basnet, Joe H. Mize, “Scheduling and Control of Flexible Manufacturing System: A Critical Review”. Journal of Intelligent Manufacturing, Special issue on Production Planning and Scheduling, (1995) pp 1-41. David E. Goldberg, “Genetic Algorithms in search & Machine Learning” Addison Wesley Longman (1999). Fred Glover., Manuel Laguna., “Tabu Search” Kulwer academic Publisher. (1997). John Hubbard, “Programming with C++” Mcgraw-Hill International Edition. (1996). Karthikeyan T. “Modelling and Analysis of Scheduling in Computer Integrated Manufacturing”, Ph.D. Dissertation, Bharathidasan University, Tiruchirappalli. (2003). Lam F.S.C, Lin B.C, Sriskandarajaiah C, Yan H, “Scheduling to minimize product design time using Genetic algorithm”, International Journal of production research, vol 2(1999) pp 83-99. Lee C.Y, Piramuthu S, Tsai Y.K, “Job shop scheduling with a Genetic algorithm and machine learning” International Journal of production research, vol 4 (1997) pp 48-56.
ISSN: 0975-5462
7295
A.V.S.Sreedhar Kumar et al. / International Journal of Engineering Science and Technology Vol. 2 (12), 2010, 7289-7296 [9] [10] [11] [12]
Mikell P. Groover, “Automation, Production systems, and Computer Integrated Manufacturing”, Pearson education (1987). R.Panneerselvam, “Production and Operations Management” Prentice-hall India. (1999). Robert Lafore, “Object Oriented Programming Turbo C++”, Galgotia Publication,Pvt. Ltd., New Delhi.(1991). Zolfaghari S., and Liang M., “Jointly solving the group scheduling and machining selection problem: a hybrid tabu search and simulated annealing approach” International Journal of production research, vol 37(1999) pp 2377-2397.
ISSN: 0975-5462
7296