optimization of fms scheduling using non-traditional

26 downloads 0 Views 363KB Size Report
Mechanical Engineering Department ... variety of part types with low setup time, low work –in-process inventory, short manufacturing lead time, high machine ...
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 tt+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