Genetic algorithm for a scheduling problem in an electric wire production system with three subprocesses

Genetic algorithm for a scheduling problem in an electric wire production system with three subprocesses

14th World Congress oflFAC GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ... A-Ic-02-4 Copyright © 1999 IFAC 14th Triennial World Congress, Be...

4MB Sizes 0 Downloads 25 Views

14th World Congress oflFAC

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

A-Ic-02-4

Copyright © 1999 IFAC 14th Triennial World Congress, Beijing, P.R. China

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN ELECTRIC WIRE PRODUCTION SYSTEM WITH THREE SUBPROCESSES Hitoshi !ima * and Nobuo Sannomiya *

* Kyoto Institu.te of Technology Matsugasaki, Sakyo-ku., Kyoto 606-8585 Japan

[email protected], [email protected]

Ahstract: This paper deals with a scheduling problem in a real electric wire production process. The scheduling problem is large-scale and has complicated constraints. Genetic algorithms (GAs) are applied to the problem. If GA is designed so as to search all solutions in the fundamental space, it is inefficient because the number of such solutions is enormous. On the other hand some heuristic rules can be applied to scheduling problems in order to ohtain a good feasible solution. However it is not easy to find an effective rule for complicated production processes. In this paper, two kinds of GAs are proposed in such a way that a part of decision variables are determined by appropriate rules and the others are determined by the performance of GA. Copyright@1999 IFAC Keywords: Scheduling algorithms, Genetic algorithms, Manufacturing systems, Heuristics, Optimization problems

1. INTRODUCTION

Although there have been many studies on scheduling problems in manufacturing systems (Lawler et al., 1982), most of the studies are confined to basic and relatively small-scale problems. Real scheduling problems, however, are larger-scale and more complicated. Approaches to such problems are important to increase the efficiency of production systems. In this paper an effective method is proposed to solve a scheduling problem in a real electric wire production process. The process is of a flowshop with three subprocesses. In each suqprocess pIUl'a! machines are arranged in parallel. The first subprocess is of a conventional parallel machine type. In the second subprocess the processing time on a machine depends on the combination of other jobs to be processed on other machines. Thus the processing time of each job is not given in advance. In the third subprocess a job is com-

pleted by combining the goods processed through the first and the second subprocess. Therefore the processing of a job in the third subprocess can not start before the necessary processing of the preceding processes is completed. The objective of the problem is to minimize the sum of tardiness of each job. Genetic algorithms (GAs) (Goldberg, 1989) are applied to the problem. If GA is designed so as to search all solutions in the fundamental space, it is inefficient because the number of feasible solutions of the problem is enormous. Therefore some heuristic rules should be embedded in GA. In this paper, two kinds of GAs are proposed in such a way that a part of decision variables are determined by appropriate rules and the others are determined by the performance of GA , The GAs are compared from the viewpoint of accuracy. Moreover for evaluating the performance of the proposed methods, they are compared with the earliest due date rule (EDD),

279

Copyright 1999 IF AC

ISBN: 0 08 043248 4

14th World Congress oflFAC

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

Irradiation equipment '{

Succeeding subprocess

Preceding subprocess

Subprocess 2

Subprocess 1

Subprocess 3

Fig. 1. Production process 2. PROBLEM STATEMENT

A set of I electric wires Ai (i = 1,2,··· ,1) is processed through a number of subprocesses. In this paper as a bottleneck of the overall process three subprocesses are considered as shown in Fig. 1. In Subprocess 1 insulator of plastic is covered to the copper wire, and then the insulator is colored. In Subprocess 2 a tolerance to heat is strengthened by irradiating wires with an electronic beam. In Subprocess 3 electric wire Ai is processed by twisting J(i) wires Bj (j=J+ 1,J +2,···,j +J(i); i-I

J

=

E

J(i*) ) which were processed through

i"'=l

Subprocesses 1 and 2. For example, in the case where 1=2, J(I) = 2, J(2) = 3, Al is processed by twisting Bl and B2, and A2 is processed by twisting B 3 , B4 and B 5 • In this paper the wire to be processed in Subprocesses 1 and 2 is distinguished from that in Subprocess 3. Then the former is called a part and the latter is called a product. Let J* be the total number of parts, i.e. I

J* =

L

J(i). Each subprocess is explained in

i=l

detail as follows.

en =

In Subprocess 1, NI machines M~ 1,2,···, NI) are arranged in parallel. The part transferred from the preceding subprocess is processed on one of them. Then it is transferred to Buffer P12. If the color of the insulator of part differs from that of the succeeding part, it takes a set-up time for cleaning the machine. In Subprocess 2, N2 machines M~ (n ::::: 1,2,···, N 2 ) are arranged in parallel in an irradiation equipment. The part transferred from F12 is processed on one of them. Then it is transferred to Buffer p23. The amount of irradiation of each part is given in advance. The part winds around a jig to be set on each machine, and is irradiated while the jig rotates many times. There are several kinds of the jigs with the different number of the rotation. If the number is large, the part is irradiated with a lot of electronic beam by rotating many times. Consequently, the amount of irradiation

can be obtained in short time. The electronic power is the same value for all the madtines. The maximum electronic power of each part is given, and the electronic power at each time must not be larger than the maximum electronic power of each part to be processed. On the other hand, if the electronic power is small, the amount of irradiation can be obtained in long time. Thus, the electronic power at each time is determined as the smallest maximum electronic power in the parts to be processed at the time. If the processing of part starts or completes, the electronic power may change. The processing time of each part in Subprocess 2 is not constant, but depends on the number of rotation and the electronic power. In Subprocesses 1 and 2 the range of thickness of part to be processed is given for each machine. In Subprocess 3, N 3 machines M! (n = 1,2,···, N 3 ) are arranged in parallel. The parts transferred from p23 are twisted on one of them. Of course, the processing of product Ai in Subprocess 3 can not start before all the processing of parts belonging to Ai is completed. The product to be processed is transferred to the succeeding subprocess. If the number of parts to be twisted differs from that of parts to be twisted next, it takes a set-up cost for exchanging a tool. The problem is to assign each product or part to the machine and to decide the processing order of the product or part in such a way that the sum of tardiness of each product should be minimized. It takes no time to transfer a product or a part. The capacity of each buffer is infinity. The following data in the problem are given:

Lj : The length of part B j



C(j) : The color of the insulator of part Bj. P} : The processing time of part B j in Subprocess l.

Pl : The processing time of product Ai in Subprocess 3. Wj : The amount of irradiation of part B j • G j : The maximum electronic power of part Bj. D; : The due date of product Ai. Sb(jl)C(j2) : The set-up time in the case where the 280

Copyright 1999 IFAC

ISBN: 0 08 043248 4

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

part whose insulator is colored C(j2) is processed after the processing of the part whose insulator is colored C(jl). S~(il)J('2) : The set-up time in the case where the product consisting of J (i2) parts is processed after the processing of the product consisting of J(il) parts. R", : The number of rotation of jig in machine M;.

14th World Congress ofTFAC

Step 7 If tin = 0 for all n, set t = t+ 1 and return to Step 6. Step 8 If tin = 0 for n, set G"':'(q,,) = 00. The electronic power x at t is given by

Step 9 If 6n

(i,i1,i2=1,2,···,I;j,j1,j2=1,2,···,J* ;

= 1,2,'·.,JV2 ) The variable a~(q) (k = 1,2,3; n = 1,2,··', N k

Y",:,(q,,}

+

(1) P~:,(q)

+SC(.,,~(q-l))C("'l(q))

(2)

1 " 2 ... , NI ., q - " 2 3 ... 'Ql) n Next, a procedure to calculate the completion time e 2 (j) of Ej in Subprocess 2 is explained as follows. Step 1 The variable n" is given by ( n --

n*

= arg

min e1 (a;(1)) n

{

'" -

1 ( for n = n* ) 0 ( for n -=F n* )

(n = 1,2, ... , N2) and set tin =0. Step 11 If e 2 (j) for all j is calculated, terminate the procedure. If not, set t = t + 1 and return to Step 6. Next, the completion time e 3 (i} of each product Ai in Subprocess 3 is calculated by

(3) a!(l)-l

j

(j=1,2,···,J*)

E

(12)

J(i)

e 3 (a!(q» = max[e3 (a!(q - 1», e 2 CJ + 1), e 2 (i + 2)"", e 2 (i + J(a~(q»)l

+p!~ (q) + S}(lX;'.(q-l))J(",~(q)) (13) ",!(q)-l

J=

L

(5)

(14)

J(i)

i=1

(n

= 1,2, ... ,N3

;

q

= 2,3, ... , Q~)

Finally, the objective value z is calculated by I

Z

=

L

ma.x (e 3 (i) - di, 0)

(15)

;=1

(6)

Step 5 Time t is given by

t = el(a~.(l»

=

.=1

(4)

( n= 12 " ... , N2) Step 4 Let Yj [%1 be the variable to represent the advance of processing of B j . If Vj ~ 100, the processing of B j is completed. The variable Yj is given by

Yj=O

x 100 (9)

(n=1,2,···,N2)

Step 3 Let 6", be the variable to represent whether a part is being processed or not. The variable 8n is given by _

Rnx

Step 10 If Ya;,(q,,) ~ 100 for n, the processing is completed. The completion time is given by

(n = 1,2, ... ,N2)

{j

is updated by

2W",;'(qn)L",;'(qn)

Step 2 Let qn be the order in which a part is processed on machine ~. The variable qn (n = 1,2"" ,N) is given by ~ { 1 ( for n = n* ) q", 0 ( for n -=F n" )

(8)

Y,,:,(qn)

+

To begin with, the completion time e1(j) of each part B j in Subprocess 1 is given by

e 1(a;(q)) = el(a~(q -1)

=

j

q = 1,2" .. , Q:) is defined as the product number or the part number to be processed in the q-th order on machine M!. A procedure to calculate the objective function z, which is the sum of the tardiness of each product, is explained as follows.

Ga~(qn)

= 1 for n, Ya;(qn)

n

el(a~(l» = P~~(l)

= m~n

::c

3. METHOD OF APPROACH (7)

Step 6 If possible, the processing of part starts at t. Namely, if li n = 0, qn < Q;' and t ~ el(a~(qn + 1)) for n, set tin = 1 and qn = qn + 1.

Our production process has the following features. (i) The process is of a flow-shop type with three subprocesses. (ii) Each subprocess has parallel machines.

281

Copyright 1999 IF AC

ISBN: 008 0432484

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

Ciii) In Subprocess 2 the processing time is not given in advance because the processing time depends on the kind of parts to be processed on other machines. (iv) The processing of product in Subprocess 3 can not start before all the processing of parts of the product is completed in Subprocess 2. GAs are proposed to solve optimization problems including scheduling problems. GAs utilizing the characteristics of problem can find a good suboptimal solution. In our earlier papers (5hi et al., 1996; Shi et al., 1997), the optimal solution or a good suboptimal solution is obtained for jobshop scheduling problems by using a GA. Furthermore, GAs can be applied to the problems whose characteristic is unknown. GAs that do not utilize the characteristics of problem, however, can not obtain a good solution in real large-scale problems with complicated constraints. Our problem is to assign each product or each part to the machine and to decide the processing order of the product or the part. The total number of feasible solutions is enormous. Thus, it is difficult for GA to find a good suboptimal solution by searching all of the feasible solutions. On the other hand, heuristic rules are often applied to scheduling problems. They can not find the optimal solution in many cases. They, however, can find a reasonable solution in short time. The following heuristic rules may be effective for our problem: (a) Select the machine on which a product or a part is processed at the earliest starting time. (b) Process products or parts in the order of the due date. (c) Process products or parts in the order of the processing time. (d) Process parts in Subprocess 1 in the order of smaller value of the sum of set-up time. (e) Process products or parts in Subprocess k (k = 2,3) in the order of the completion time in Subprocess k - 1. (f) Process parts in Subprocess 2 in such a way that the maximum electronic powers of products to be processed at the same time are nearly equal. (g) Process parts in Subprocesses 1 and 2 in such a way that the parts belonging to a product are processed continuously. However, it is difficult to make an effective rule for the overall production process. Rule (d), for example, is good for only Subprocess 1, but may not be good for the overall production process including Subprocesses 2 and 3. Therefore, GA-based methods should be designed in such a way that a part of decision variables are determined by appropriate rules and the others

14th World Congress ofTFAC

are determined by the performance of GA. The method realizing such an idea does not search bad solutions. In earlier paper (lima et al., 1998), the production process consisting of only Subprocesses 1 and 2 was considered. In the problem, the following methods were compared. (Ml) The processing order of parts in Subprocesses I and 2 is determined by the performance of GA, and the others are determined by Rule (a) in the decoding procedure of GA. (M2) The processing order of parts in Subprocess 1 is determined by the performance of GA, and the others are determined by Rule (a) and (e) in the decoding procedure of GA. (M3) The processing order of parts in Subprocess 1 is determined by Rule (b), and the others are determined by Rule (a) and (e).

It is confirmed from the numerical results that (M2) was the most effective method. In this paper the problem is larger-scale and more complicated than that in the earlier paper. Particularly two kinds of GAs with Rule (g) and without Rule (g) are proposed, and the numerical results are compared.

4. APPLICATION OF GA 4.1 Outline of GA Step 1 Set generation r +-1. Select at random PSindividualsINs ( ' ) (8 = 1,2,·· ·,PS) belonging to the population P( r). Step 2 Calculate the fitness functions for individuals, and reproduce the individuals of per) according to the distribution of their fitness values. As a result a new population p t (,) is obtained. Step 3 Mate the members of P'{r) at random, and carry out the crossover operation for each pair of individuals with probability PC. As a result a new population p lI (T) is obtained. Step 4 Carry out the mutation operation for each individual with probability PM. As a result a population P( 'T + 1) at next generation is obtained. Step 5 If r = GE, the individual with the highest fitness value is adopted as a suboptimal solution of the problem. If, < GE, set, <-- , + 1 and return to Step 2.

4.2 Individual Description In this paper two kinds of GAs (called GAl and GA2) are proposed. They differ only in individual description.

282

Copyright 1999 IF AC

ISBN: 008 0432484

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

0

Ml Mi

10

20

30

B,

B3

I B~ B~ I

B4

Mr M~

B2

I

(JJ

~

Bs

B3

~

BI

B2

M{

m

A2

Fig.

14th World Congress ofTFAC

2. Example {B3 B 4B"B2 B 1 }

of

decoding

individual

In GAl the genotype is defined as a sequence of parts. The length of the sequence is The gene at the j-th locus represents the part to be processed in the j-th order in Subprocess L The machine to process the part is selected in such a way that the starting time of the part is minimized. A schedule of parts in Subprocess 2 is decided in the order of completion time in Subprocess 1. The machine to process a part is selected in such a way that the starting time of the part is minimized. The starting time of part in Subprocess 2 must be later than the completion time of the part in Subprocess 1. The product whose thickness is out of range can not be processed on the machine in Subprocesses 1

(JJ ~

....,..., o

.,..., (JJ

.0

o

Generation

r.

and 2, and then such a machine is not selected. A

schedule of products in Subprocess 3 is decided in the order of the latest completion time of parts in Subprocess 2. The machine to process a product is selected in such a way that the starting time of the product is minimized. The starting time of product in Subprocess 3 must be later than any completion time of parts of the product in Subprocess 2. Figure 2 shows the schedule corresponding to individual {B3B4B5B2Bt} in the case where 1=2, J(l) = 2, J(2) = 3, J* = 5, N1 = N 2 = 2, N 3 = 1. In GA2 Rule (f) is introduced in the decoding procedure. The genotype is defined as a sequence of products. The length of the sequence is I. In the decoding procedure each product Ai is replaced i-1

with parts B]+1 B;+2'" Bj+J(i)

(J =

L

J(i*) ).

i-=l

In the case where I = 3, J(l) = 2, J(2) = 3, J(3) = 4, an example of replacing products with parts is shown as follows.

A2 A IA3

~

B3 B 4 B 5 B1B2 B6BrBsB9

In GA2 the parts belonging to a product are processed continuously in Subprocesses 1 and 2.

4.3 Genetic Opemtors A revised roulette strategy (Sannomiya et al., 1994) is used as the selection/reproduction operation. In that method the individuals are selected

16000 14000 12000 10000 8000 6000 4000 2000 ~~~~~~~~~ o 50 100 150 200 250 300

Fig. 3. Convergence process by a deterministic procedure. A cycle crossover (Iima et al., 1998) is used as the crossover operation. The procedure of the mutation operation is to exchange two genes between two loci selected at random.

4.4 Parameters of the Algorithm The present algorithm has four parameters, Le. population size PS, final generation GE, crossover probability PC and mutation probability PM. As a result of tuning, the parameter values are decided as

PS=500, GE=300, PC=l, PM=O.005.

5. NUMERlCAL RESULTS The proposed algorithms are applied to a real case where I = 50, J* = 133, NI = 5, N 2 = 4, N 3 = 3. The other data are omitted here. Figure 3 shows the convergence processes of GAl and GA2. It is observed from the figure that the objective value is improved as the generation goes. The convergence speed of GA2 is faster than that of GAL In addition the solution obtained by GA2 is better. The total number of genotypes in GAl is 133! ;:::: 10 226 . This number is much larger than the total number of genotypes in GA2, Le. 50! ;:::: 1064 • Furthermore, GAl tends to search such a solution that many parts are forced to wait in Buffer F23. The solution is bad in many cases. This is the reason why GAl is an ineffective method as compared with GA2. Figure 4 shows the Gantt chart for the suboptimal solution. It is observed from the figure that the idle time of each ma.chine is small. For evaluating the performance of the proposed methods, the earliest due date rule (EDD), which

283

Copyright 1999 IF AC

ISBN: 008 0432484

14th World Congress oflFAC

GENETIC ALGORITHM FOR A SCHEDULING PROBLEM IN AN E ...

o

M!

M~ M~ M~

M~

1000

500

1500

2500

2000

3000

3500

am [][[]] rn [[[] mm []] ITIl[l] [ll] []J

om OIlD lIT] DJ []] ITI1 rno [[] DJO 0

[l][I]J1 I1 I I I I 1111 I IOTIOD [0111 I I I I IO[l]IT1JOO

rn rn ill [J OD DO DD DD [I] DJ DU]] DD 0

Mr n IIIIIII

I 11III I II1 I I I III 11 111I 11 11111 11011 11 I I 11 I I Irrmo 0 0 0 M~ 11 I 1111 11 11 I I I 11 DI1 0 0 0 0 M~

M~

Mf

M~ M~

[[ill"" mmu

0DI1llIIllJOlmOO IIIII mu 0O[]]O nOD U

o DODJOODODJODOOIJ[] IT] [DD 0 [000 DD ODD' 0 DD 0 0 IT] DO 0 ODD

OOD

D 0

Fig. 4. Gantt chart for the suboptimal solution Table 1 Comparison of the objective function value among GAl, GA2 and EDD Method GAl GA2 EDD

z

2859

appropriate rules and the others are determined by the performance of GA. This work is partly supported by the "Research for the Future" Program JSPS-RFTF97IOO102 of the Japan Society for the Promotion of Science.

2557 6983 7. REFERENCES

is often used for scheduling problems, is applied to this problem. Table 5 shows the objective function values obtained by GAl, GA2 and EDD. It is observed from the table that the proposed methods are better than EDD.

6. CONCLUSION

Two GA-based methods have been proposed to solve a scheduling problem in a real electric wire production process. In the third subprocess a product is twisted a number of parts processed through the first and the second subprocess. Therefore the processing of a product in the third subprocess can not start before all the processing of parts is completed. It is concluded from the numerical results that the method in which all the parts of a product is processed continuously is more effective. Moreover it has been confirmed that the proposed methods are more effective than EDD.

If GA is designed so as to search all solutions in the fundamental space, it is inefficient because the size of the search space is enormous. On the other hand it is not easy to find an effective heuristic rule for complex systems. In this case a GA-based method should be designed in such a way that a part of decision variables are determined by

Goldberg, D.E. (1989). Genetic Algorithms in

Search, Optimization and Machine Learning. Addison-Wesley. lima, H., O. Mitsui, N. Sannomiya. and R. Sakakibara (1998). Genetic algorithm approach to a scheduling problem in an electric wire processing process. Transactions of the Systems, Control and Information Engineers 11, 441-448 (in Japanese). Lawler, E.L. , J .K. Lenstra and A.H.G. Rinnoy

Kan (1982). Recent Developments in Deterministic Sequencing and Scheduling : A Survey. R eidel Publishing. Sannomiya, N., H. Iima and N. Akatsuka (1994). Genetic algorithm approach to a production ordering problem in an assembly process with constant use of parts. Int. J. Systems Sci. 25, 1461-1472. Shi, G ., H. rima and N. Sannomiya (1996). A new encoding scheme for solving job shop problems by genetic algorithm. 35th IEEE Conference on decision and control 4, 43954400. Shi, G., H. Iima and N. Sannomiya (1997). Comparison of two genetic algorithm in solving tough job shop scheduling problems. The Transactions of The Institute of Electrical Engineers of Japan 117-C, 856-864.

284

Copyright 1999 IFAC

ISBN: 0 08 043248 4