• Nie Znaleziono Wyników

Zagadnienie szeregowania wyrobów w przepływowych procesach montażowych. Algorytm ewolucyjny

N/A
N/A
Protected

Academic year: 2022

Share "Zagadnienie szeregowania wyrobów w przepływowych procesach montażowych. Algorytm ewolucyjny"

Copied!
8
0
0

Pełen tekst

(1)

Józef GRABOWSKI, Aneta MARCHEWKA Politechnika Wrocławska

Z A G A D N IE N IE SZ E R E G O W A N IA W Y R O BÓ W W P R Z E PŁ Y W O W Y C H P R O C E S A C H M O N T A Ż O W Y C H . A LG O RY T M E W O LU C Y JN Y

S treszczenie. W pracy przedstawia się zagadnienie szeregowania wyrobów w przepływowym procesie produkcyjnym. Proces montażu oraz proces produkcyjny są rozpatrywane jednocześnie. Jednoczesne rozpatrywanie obu procesów wymusza zam odelowanie struktury wyrobu za pomocą grafu - drzewa.

S C H E D U L IN G O F J O B S IN A S S E M B L Y F L O W -S H O P P R O B L E M . E V O L U T IO N A L G O R IT H M

Sum m ary. T his paper deals with a algorithm for the flo w -sh o p sch ed u lin g problem w h ere the jo b s are presented by a graph-tree. Such problem appears in a p rod uction , w hen several elem ents are assem bled into on e job.

1. O pis zagad n ien ia

W niniejszej pracy rozważamy dyskretny przepływowy proces produkcyjny wraz z procesem montażu. W tego rodzaju zagadnieniach struktura wyrobu jest modelowana za pom ocą grafu-drzewa, w którym poszczególne węzły reprezentują operacje technologiczne oraz montażowe, natomiast droga pomiędzy wierzchołkiem początkowym a końcowym

„przedstawia” daną linię technologiczną. Oznacza to, że część operacji technologicznych dla danego wyrobu m oże być wykonywana równocześnie - taka sytuacja ma miejsce w ów czas, gdy dane operacje należą do różnych linii technologicznych, natomiast operacje, które należą do danej linii technologicznej, wykonywane są szeregowo, czyli rozpoczęcie wykonywania danej operacji technologicznej jest możliwe wtedy, gdy operacja ją poprzedzająca została wykonana. Ponadto, każda operacja montażowa może rozpocząć się dopiero wtedy, gdy wszystkie elementy składowe wyrobu dla danej operacji montażowej są już dostępne i zostały dostarczone z produkcji lub innych stanowisk montażowych. Zagadnienie optymalizacji procesu sprowadza się do wyznaczenia kolejności realizacji wyrobów i ich elem entów składowych, aby minimalizować przyjęte kryterium optymalizacji.

(2)

84 J. Grabowski. A. Marchewka

2. M od el m atem atyczny zagadnienia

Zakładamy, że zadanie produkcyjne jest zadane w postaci zbioru różnych partii wyrobów:

P = {PI,P,,:J’A

Każda partia składa się ze zbioru jednakowych wyrobów Wt . Liczba wyrobów partii Pt wynosi n., czyli |P | = n, . Dla każdej partii Pt jest podany żądany termin zakończenia jej realizacji D t .

Ogólnie, każdy wyrób W, m oże być przedstawiony w postaci grafii-drzewa (rys. 1):

W , = { N „ P T ) ,

gdzie: N , = { 0 [ , 0 [ , . . . , 0 1 } jest zbiorem wszystkich operacji (obróbczych i m ontażowych), które należy zrealizować w trakcie produkcji wyrobu Wt , natomiast PT, jest zbiorem relacji (par operacji) reprezentującym porządek technologiczny wykonywania operacji.

Jeżeli ^0 [ , 0 ¡ j e P T,, to oznacza, że operacja 0[ jest wykonywana przed operacją 0 \ . Operacja 0 \ jest wykonywana w czasie p ti.

Zbiór operacji N t możemy przedstawić w postaci:

jV, = N't u / / , 2,

gdzie: N] - jest zbiorem operacji obróbczych związanych z produkcją elem entów dla wyrobu Wt , a N; jest zbiorem wszystkich operacji montażowych występujących w trakcie produkcji wyrobu JK .

Operacje zbioru N] są wykonywane przy użyciu zbioru maszyn:

gdzie: } jest podzbiorem maszyn w i-tej linii technologicznej, my - liczba maszyn w tej linii, t - liczba linii technologicznych.

Operacje ze zbioru Nf są realizowane na odpowiednich stanowiskach montażowych, których zbiór oznaczamy przez:

MMT = },

gdzie: m jest liczbą stanowisk montażowych.

(3)

U - oznacza operacje obróbcze lub montażowe wykonywane na maszynach ze zbioru MOB lub MMT.

A

- oznacza operacje wykonywane na maszynach o nieograniczonej przepustowości ("bez ograniczeń").

Rys. 1. Model wyrobu Fig. 1. An example o f job

Zadanie optymalizacji całego procesu polega na znalezieniu takiego uszeregowania (harmonogramu) partii wyrobów finalnych, ich podzespołów i elementów składowych, aby minimalizować termin zakończenia wszystkich wyrobów Cm„ = max C . , gdzie C, jest terminem zakończenia realizacji wyrobów z partii Pt .

Niech n, oraz n j oznaczają odpowiednio permutację określającą kolejność wykonywania partii P - {P ,,P 2, .•/*„}, na M,* maszynie oraz M M j stanowisku montażowym.

Będziemy zakładać, że kolejność partii będzie jednakowa na wszystkich maszynach danej linii technologicznej, czyli n \ ~ n \ = n k, (b = l,2,

Zatem zbiór n m) będzie określał kolejność wykonywania

elem entów oraz kolejność montażu partii wyrobów P.

(4)

86 J. Grabowski. A. Marchewka

Zadanie optymalizacji będzie polegać na znalezieniu permutacji n ' takiej, że C ™ ( 0 = m in ,C m„<>r).

Zagadnienie rozpatrywane ' w niniejszej pracy jest ogólniejsze od zagadnień rozpatrywanych w literaturze [2],[3],[8],[9],[10],

3. O pis algorytm ów

Rozpatrywane zagadnienie jest NP-zupełne, ponieważ problemy będące jego szczególnymi przypadkami są NP-zupełne [5], W celu rozwiązania rozpatrywanego problemu użyto algorytmu ewolucyjnego. Uzyskane rezultaty porównano z wynikami uzyskanymi przy użyciu algorytmu Tabu Search przedstawionymi w pracy [1],

O pis algorytm u ew olu cyjn ego (G A ) [4]

W algorytmie przyjęliśmy, że chromosom reprezentuje kolejność wykonywania poszczególnych partii wyrobów w danej linii technologicznej oraz sieci montażowej.

Natomiast genow i w chromosomie odpowiada numer partii zadań.

P oszczególne kroki algorytmu:

1. Ustal populację początkową, iler:=0.

2. Oceń poszczególne chromosomy i dokonaj selekcji;

oblicz wartość dopasowania eva!(vi)dla i= l..p o p , gdzie p o p - w ielkość populacji, e v a l( v j - wartość funkcji celu,

pop

- oblicz całkowite dopasowanie populacji F = Y .eval(vl ) dla i= l..p o p

,

l - l

- oblicz prawdopodobieństwo wyboru p , = e v a l( v t ) / F dla i= L .p o p ,

i

- oblicz dystrybuantę q, - Z p , dla i= l..p o p ,

j- i

- wygeneruj liczbę przypadkową r z zakresu [0,1], wybierz chromosom v„ dla którego q,_t < r < q t .

3. Wybierz (losow o) i dobierz w pary chromosomy do krzyżowania. Dla każdej pary wybranych chrom osom ów wygeneruj punkt przecięcia i utwórz now e chromosomy pobierając dla pierwszego potomka pierwszy odcinek łańcucha od pierwszego rodzica i drugi odcinek łańcucha od drugiego rodzica, przetwarzając według ciągu odwzorowań określone geny. Drugi potomek powstaje poprzez połączenie pierwszej części łańcucha drugiego rodzica z drugą częścią łańcucha pierwszego rodzica.

4. Wybierz losow o chromosomy do mutacji. Wylosuj dwa geny, które należy wymienić miejscami w danym chromosomie.

5. Jeżeli iter>m axiter, to stop, w przeciwnym przypadku przejdź do kroku 2.

(5)

O pis algorytm u Tabu Search (TS) [7]

A lgorytm TS startuje z pewnej permutacji początk ow ej n ° , przeszuk uje w szy stk ich jej są sia d ó w (p o p rz ez p rzesunięcie zadań w 7t°) w celu zn alezien ia n a jlep szeg o rozw iązan ia (tzn. permutacji P) o najmniejszej w artości funkcji celu. W ybrane w ten sp osób ro zw iązan ie staje się rozwiązaniem p oczątk ow ym w następnym kroku. W celu z ap ob ieżen ia p ow staw an ia cyklu oraz zapew nienia m ożliw ości w yjścia z minimum lo k aln ego tw o r zy się cyk liczn ą listę przesunięć (ru ch ów ) zabronionych (lista tabu), b ęd ącą s w e g o rodzaju "pam ięcią historii" przeszukiw ań. W algorytm ach TS sto su je się sz er eg w aru nk ów zak oń czenia działania, np. zadana liczba iteracji, czas o b licz eń , w yk on an ie maksym alnej liczby iteracji bez zm niejszania w artości funkcji celu itp.

W naszym algorytm ie w ykorzystano w łasn ości elim inacyjne b lo k ó w , co p o z w o liło na ogran iczen ie sąsied ztw a przeszukiw ań.

A lgorytm Tabu Search (T S )

Krok 0 . P od staw rt = u ' , C* = iter := 0, T - 0 . Krok 1 . P o d sta w it e r ~ i i e r + \ \

w y zn a cz ruch v, dla którego C ^ n , ) = min(Cnux( ^ . )) i który nie jest ruchem zabronionym . Jeżeli w =0, to usuń najstarszy elem ent z listy tabu T i przejdź do kroku 1.

Krok 2. .Jeżeli , to zapamiętaj C ' = C ma( K ,) ,n ' = n y.

D o łą c z v do listy tabu T.

Krok 3. Jeżeli ite r> m a x ite r, to stop. W przeciwnym przypadku idź do kroku 1.

S ą sied ztw o dla algorytm u gen erow ane jest przez ruch v = { h ,a ,b } p oleg a ją cy na u sunięciu partii z p ozycji a i w staw ieniu na p ozycję b w perm utacji n h, przy czym u su w an e są tylko partie z e ścieżki krytycznej. Przy generow aniu są sied ztw a nie w ykon uje się ruchów polegających na przesuwaniu partii w ew nątrz bloku.

W celu w yzn aczen ia początk ow ej permutacji ttP (populacji p o c z ą tk o w e j) za ło ży liśm y , ż e dla linii tech n ologiczn ych oraz stanow isk m ontażow ych u sz e re g o w a n ie w yrob ów jest takie sam o, czyli n ° = n ' = x 2 = ... = tt1 = 7r, = ... = n m. W celu zn alezienia

nP - perm utacji p oczątk ow ej (populacji p oczątk ow ej) w ykorzystaliśm y o d p o w ie d n io zm od yfik ow an y algorytm NEH [5], Podstaw ow ym elem entem te g o algorytm u jest lista p riorytetów dla w yrob ów . D la potrzeb n aszego zagadnienia lista ta zaw ierała w yroby Wj u p orząd k ow an e zg od n ie z nierosnącym i w artościam i ich najdłuższych dróg grafu -d rzew a, w którym w ęzły są ob ciążone czasam i trwania operacji.

(6)

W pierw szym głów n ym kroku algorytm u w ybiera się p ierw sze zad an ie z listy p riorytetów . T w orzy ono jed n o elem en to w e u porządkow anie W ( l). W kolejnym s+1 głów n ym kroku do c z ę ś c io w o uporządkow anych s-w y ro b ó w [ W (l) ,W (2 ) ,...W ( s )]

dodajem y następn y w yrób W (s+ 1) z naszej listy p riorytetów oraz w ykon ujem y s+1 lokalnych k rok ów , polegających na w staw ianiu n aszego w yrobu p om ięd zy u sz e r e ­ g o w a n e ju ż w yrob y. O trzym ujem y s+1 u szeregow ali: [ W ( s + l) ,W ( l) ,W ( 2 ) ,...,W ( s ) ] , [ W ( l) ,W (s + l) ,W ( 2 ) ,...W ( s ) ] ,...[ W ( l) ,W ( 2 ) ,..W ( s ) ,W ( s + l) ] , z których w ybieram y u sz e r e g o w a n ie ,(u sz er eg o w a n ia ) dające najm niejszą w artość terminu za k o ń cze n ia w ykon yw ania p o w y ższy ch w yrob ów . Po w ykonaniu n głów n ych k rok ów otrzym u jem y p oszu k iw an ą perm utację p o czą tk o w ą 710 (populację p oczątk ow ą).

4. W yn iki obliczeniow e

Algorytm ewolucyjny został zaprogramowany w języku Delphi i uruchomiony na komputerze PC Pentium 11/200 MHz. Algorytm Tabu Search zaprogramowano w języku Turbo Pascal i u ruchom iono na kom puterze IBM RISC S y ste m /6 0 0 0 , 2 0 0 M H z.

O bydw a algorytm y z o sta ły p rzetestow an e dla tych sam ych danych, gen ero w a n y ch lo so w o . Wartości czasów realizacji poszczególnych operacji dla « partii w ygenerowano z przedziału [1,100] o jednostajnym rozkładzie. W badaniach eksperymentalnych przyjęliśmy, że wyroby W* posiadają jednakową strukturę w postaci grafu-drzewa binarnego, wtedy mamy m = t-l. Przyjęliśmy również, że mk=3 dla k = l,2 ,...,l. Zatem liczba wszystkich maszyn (obróbczych i m ontażowych) wynosi lm = 3 l + t - l = 4 t - I Dla eksperymentu obliczeniow ego przyjęliśmy r=2,4,8, czyli lm =7,15,31. Dalej przyjęliśmy, że «= 10,20,40,80 oraz że liczby wyrobów w partiach są jednakowe i wynoszą «,=10 {¡=1,2...«). Dla każdego przykładu o rozmiarach lm xn : 7x10, 7x20, 7x40, 7x80, 15x10, ... , 31x40, 31x80, w ygenerowano 10 przykładów testujących.

Dla każdego przykładu wyznaczono następujące wielkości:

Co - wartość funkcji celu dla permutacji początkowej,

CA - najlepsza wartość funkcji celu otrzymana w ciągu pierwszych 1000 iteracji, CB - najlepsza w artość funkcji celu otrzymana w ciągu pierwszych 10000 iteracji.

Na podstawie tych wartości wyznaczyliśm y P/?(x) = 100% (Co - Cx)/Co - średnią . (procentowa) wartość poprawy funkcji celu względem wartości początkowej Co, x e { A ,B } .

W tabeli 1 przedstawiono wyniki obliczeniowe.

88__________________________________________ J. Grabowski. A. Marchewka

(7)

Tabela 1 Wyniki obliczeniowe_______________________________

Algorytm ewolucyjny (GA) Algorytm Tabu Search fTS)

Im x n PR(A) PR(B) PR(A) PR(B)

7 x l 0 2,14 2,83 6,29 6,29

7x20 2,14 3,74 7,41 8,35

7x40 2,19 4,48 10,44 10,61

7x80 2,49 6,29 11,92 11,92

15x10 2,10 3,40 12,40 12,42

15x20 2,83 4,78 14,00 14,90

15x40 2,86 5,65 14,15 14,19

15x80 3,21 5,96 14,99 15,08

31x10 2,23 5,27 17,21 17,21

31x20 3,30 5,60 17,70 17,77

31x40 3,58 6,10 20,23 20,23

31x80 4,20 8,58 20,93 20,94

Obydwa algorytmy obliczenia rozpoczynały startując z podobnych rozwiązań początkowych. Dla algorytmu Tabu Search była to permutacja początkowa uzyskana za pom ocą zmodyfikowanego algorytmu NEH, a dla algorytmu ewolucyjnego była to populacja początkowa uzyskana również za pomocą algorytmu NEH. Analiza poprawy wartości funkcji celu zarówno dla pierwszych tysiąca iteracji czy też dla całości przebiegu algorytmu wskazuje na wyraźną przewagę algorytmu typu Tabu Search. Algorytm ewolucyjny rozwiązanie początkowe poprawiał w granicach od 2,8 do 8,5%, natomiast poprawa wartości początkowej dla algorytm typu Tabu Search wahała się od 6 do 20%. Przy czym tak znaczącą poprawę algorytm ewolucyjny najczęściej osiągał po pełnym przebiegu, natomiast za pom ocą algorytmu Tabu Search ju ż po 1000 iteracji osiągaliśmy zadowalające rezultaty. Na tak wyraźne przyśpieszenie obliczeń w przypadku algorytmu Tabu Search ma wpływ ograniczenie sąsiedztwa przeszukiwań poprzez wykorzystanie własności eliminacyjnych bloków. Opierając się na wynikach obliczeniowych można stwierdzić, że dla zagadnień montażowych algorytm oparty na technice Tabu Search daje korzystniejsze rezultaty niż algorytm ewolucyjny.

LITERATURA

1. Grabowski J., Marchewka A.: Zagadnienie szeregowania wyrobów w przepływowych procesach montażowych. Zeszyty Naukowe Politechniki Śląskiej, s. Automatyka z. 124, Gliwice 1998, 29-36.

2. Hitomi K., Ham 1.: Group scheduling for multiproduct, multistage manufacturing systems.

Transaction ASM E - Journal Engineering for Industry, 1977, 759-765.

(8)

90 J. Grabowski. A. Marchewka

3. H itom i K .,H am I.: M achine loading and product-m ix analysis for group

tech n o lo g y . T ransactions A SM E - Journal o f E ngineering for Industry 1 0 0 ,3 7 0 - 3 7 4 , 1978.

4. M ich a lew icz Z.: A lgorytm y gen etyczn e + struktury danych = program y ew olu cyjn e. W N T, W arszaw a 1996.

5. M onm a C .L ., P o tts C .N .: On the com p lexity o f scheduling with batch set-u p tim es.

O peration R esearch 37, 7 9 8 -8 0 4 , 1989.

6. N a w a z M ., E n sco re Jr.E.E.,H am I., A heuristic algorithm for m -m achine, n-job flo w -sh o p sched u lin g problem. OM EGA International Journal o f M anagem ent S cien ce, 1983, 1 1 ,9 1 -9 5 .

7 N o w ick i E ., Sm utnicki C.: A fast tabu search algorithm for the perm utation flo w shop problem . European Journal o f Operational R esearch 9 1 ,1 6 0 -1 7 5 ,1 9 9 6 . 8. P otts C .N ., V an W assen h ove L.N .: Integrating scheduling with b atching and lo t-

sizin g : a review o f algorithm s and com plexity. Journal o f O perational R esearch S o cie ty 43, 3 9 5 -4 0 6 , 1992.

9. Saw ik T.: P lan ow an ie i sterow an ie produkcji w elastyczn ych system ach m ontażow ych . W N T, W arszaw a, 1996.

1 0 .Zdrzałka S.: P rz ep ły w o w e problem y harm onogram ow ania z przezbrojeniam i m aszyn. Raport serii: Preprinty nr 7/95 ICT P olitechniki W rocław skiej 1995.

Recenzent: Prof.dr hab.inż. T.Sawik

A bstract

This paper deals with the assem bly flo w -sh o p problem w hich arises in prod uction o f jo b s w hich are assem bled with several elem en ts, so that, th e stru cture o f each job can be presented by a graph-tree. The problem arises to d eterm in e a seq u en ce o f the b atches o f jo b s, taking into account tech n o lo g ica l requ irem en ts, that maximum co m p letion tim e o f job s is minimized. To so lv e the problem , w e p ro p o se an ev o lu tio n algorithm . W e com pare results w hich results o f algorithm based on the tabu search approach. T he com putational results are presented.

Cytaty

Powiązane dokumenty

darce nieruchomościam i (tekst jednolity Dz. gu na sprzedaż nieruchomości gruntowej niezabudowanej, położonej Turku przy ul. Generała W ładysława Andersa, oznaczonej

Zbudowany na podstawie przedstawionego algorytmu program komputerowy umożliwia tworzenie dynamicznych baz danych zawierających opisy rysunków złożeniowych, określa

P ra ca za w iera opis te chnologiczny procesu, model matematyczny zagadnienia, algorytm op arty na te chnic e Tabu Search (TS) oraz wyniki

Poniew aż szeregowanie zadań na dwóch stanowiskach z maszynami równoległymi w przepływowym systemie produkcyjnym, dla kryterium długości uszeregowania, nawet bez

A tw o-stage decoding procedure is

W żadnym z badanych przypadków rezultat otrzymany przez algorytm genetyczny nie okazał się lepszy od rozwiązań znalezionych przez konstrukcyjne algorytmy heurystyczne..

2. Zauważalna jest koncentracja na zagadnie ­ niu znaczenia wyrażeń, nie rozwaza się zaś wcale kwestii użycia wyrażeń ani kontekstu takiego użycia 3. Jest to, rzecz

1) dokonuje podziału cukrów na proste i złożone, klasyfikuje cukry proste ze względu na grupę funkcyjną i liczbę atomów węgla w cząsteczce; wyjaśnia, co oznacza, że