RÓWNOLEGŁY ALGORYTM POPULACYJNY DLA PROBLEMU GNIAZDOWEGO Z RÓWNOLEGŁYMI MASZYNAMI Wojcech BOŻEJKO, Marusz UCHROŃSKI, Meczysław WODECKI Streszczene: W pracy rozpatrywany jest ogólny problem kolejnoścowy z równoległym maszynam (ang. flexble job shop problem). W probleme tym dany jest zbór zadań oraz zbór maszyn. Maszyny tego samego typu, tj. o tych samych własnoścach funkcjonalnych, które jednak mogą meć różne parametry technczne take jak na przykład wydajność, tworzą gnazdo. Każde zadane należy wykonać na jednej z maszyn ustalonego typu (gnazda). Dla rozpatrywanego problemu w pracy zaproponowano równoległy algorytm populacyjny. 1 Słowa kluczowe: meta heurystyka, algorytm równoległy, problem gnazdowy, równoległe maszyny 1. Wstęp Ogólny problem kolejnoścowy z równoległym maszynam polega na przydzelenu maszyn zadanom wyznaczenu kolejnośc wykonywana zadań na każdej maszyne, aby zmnmalzować czas wykonywana wszystkch zadań (C ). Spełnone muszą być przy tym następujące ogranczena: () każde zadane może być wykonywane jednocześne tylko na jednej, odpowednego typu, maszyne, () żadna maszyna ne może wykonywać jednocześne węcej nż jedno zadane, () wykonywane zadana ne może być przerwane, (v) zachowany mus być porządek technologczny wykonywana zadań. Rozpatrywany problem należy on do klasy problemów slne NP-trudnych, bowem jest uogólnenem klasycznego problemu gnazdowego (job shop, [3]). Algorytmy dokładne rozwązywana rozpatrywanego zagadnena zostały przedstawone w pracach [1] [7], ale pozwalają one rozwązać zadana o ne węcej nż 20 zadanach 10 maszynach. W lteraturze proponuje sę także sporo meta heurystyk. Hurnk [4] oraz Mastrolll Gambardella [5] zaproponowal metodę poszukwana z zabronenam (tabu serach) dla rozważanego problemu. Gao n. [2] proponują metody algorytmu genetycznego oraz poszukwana za zmennym otoczenem (varable neghborhood search). W nnejszej pracy proponujemy zastosowane podejśca dwupozomowego do rozwązywana problemu gnazdowego z równoległym maszynam. Wyższy pozom odpowedzalny jest za przydzał operacj do maszyn, a wykonywany za pomocą algorytmu populacyjnego. Nższy pozom to meta heurystyka znajdująca dobre rozwązane problemu gnazdowego powstałego po przypsanu operacjom maszyn. Na tym pozome zastosowano wydajny algorytm TSAB Nowckego Smutnckego [6]. 1 Praca częścowo fnansowana z projektu badawczego MNSW Nr N N514 232237.
2. Sformułowane problemu Ogólny problem kolejnoścowy z równoległym maszynam, oznaczany w lteraturze przez FJ m C, można sformułować następująco: dany jest zbór zadań J = {1,2,...,n}, które należy wykonać na maszynach ze zboru M = {1, 2,..., m}. Istneje rozbce zboru maszyn na typy, tj. podzbory maszyn o tych samych własnoścach funkcjonalnych. Zadane jest cągem pewnych operacj. Każdą operację należy wykonać na odpowednego typu maszyne w ustalonym czase. Problem polega na przydzelenu zadań do maszyn z odpowednego typu oraz na wyznaczenu kolejnośc wykonywana operacj na maszynach, aby zmnmalzować czas wykonana wszystkch zadań. Muszą być przy tym spełnone ogranczena (-v). Nech O = {1,2,...,o} będze zborem wszystkch operacj. Zbór ten można rozbć na cąg odpowadające zadanom, przy czym zadane j J jest cągem o j operacj, które będą kolejno wykonywane na odpowednch maszynach (tj. w cągu technologcznym). Operacje te są ndeksowane lczbam (l j-1 +1,..., l j-1 +o j ), gdze l j jest lczbą operacj perwszych j zadań, j = 1, 2,..., n, przy czym l 0 = 0. Zbór maszyn M = {1, 2,..., m} można rozbć na q podzborów maszyn tego samego typu (gnazd), przy czym -ty ( = 1, 2,..., q) typ M zawera m maszyn, które są ndeksowane lczbam (t -1 +1,...,t -1 + m ), gdze t jest lczbą maszyn w perwszych typach, = 1, 2,...,q, przy czym t 0 = 0. Operację v O należy wykonać w gneźdze µ(v), tj. na jednej z maszyn zboru M µ (v) w czase p v,j, gdze j M µ (v). Nech O k = { v O : µ(v) = k } będze zborem operacj wykonywanych w k-tym (k = 1, 2,..., q) gneźdze. Cąg zborów operacj,,,, takch, że dla każdego k = 1,2,...,q oraz,,, 1,2,,, nazywamy przydzałem operacj zboru O do maszyn ze zboru M (w skróce przydzałem operacj do maszyn). Cąg,,, jest przydzałem maszynom operacj w -tym gneźdze (w skróce przydzałem w -tym gneźdze). W szczególnym przypadku maszyna może ne wykonywać żadnej operacj wówczas w przydzale operacj w gneźdze zbór operacj do wykonywana przez tę maszynę jest pusty.
2. Metoda rozwązana Ze względu na lczbę operacj, możlwych przydzałów operacj do maszyn jest wykładncza lość. Każdy dopuszczalny przydzał generuje pewen NP-trudny problem gnazdowy (job shop), którego rozwązane sprowadza sę do wyznaczena optymalnych kolejnośc wykonywana operacj na maszynach. Wobec tego optymalne rozwązane problemu gnazdowego z równoległym maszynam wymaga rozwązana wykładnczej lczby NP-trudnych problemów. Dlatego też będzemy stosowal algorytm przyblżony sprowadzający sę do teracyjnego wykonywana następujących dwóch kroków: Krok 1: Wyznaczene przydzału operacj do maszyn. Krok 2: Rozwązane problemu gnazdowego dla przydzału wyznaczonego w kroku 1. W Kroku 1 będze stosowany algorytm oparty na de doskonalena populacj. Każdy osobnk reprezentować będze przydzał operacj do maszyn, a jego funkcją przystosowana będze wartość rozwązana problemu gnazdowego generowanego przez dany przydzał operacj do maszyn, a rozwązany w Kroku 2 za pomocą algorytmu poszukwana z zabronenam TSAB [6]. 3. Równoległy algorytm populacyjny Zaproponowany w pracy algorytm rozwązujący problem gnazdowy z równoległym maszynam rozpoczyna swoje dzałane od wygenerowana populacj startowej przydzałów operacj do maszyn. Populacja ta generowana jest losowo. Następne dla każdego elementu w populacj zostaje uruchomony algorytm lokalnych poszukwań, który dostarcza zboru mnmów lokalnych. W kolejnym kroku ustala sę pozycje, na których elementy występujące na tych samych pozycjach w welu mnmach lokalnych, tworząc zbór elementów pozycj ustalonych. Nowa populacja (zbór przydzałów operacj do maszyn) jest generowana w tak sposób, że elementy na ustalonych pozycjach pozostają bez zman. Aby zapobec zakończena dzałana algorytmu w sytuacj gdy wszystke pozycje są ustalone nemożlwe jest losowe wygenerowane nowej populacj, w każdej teracj najstarszy ustalony element pozycja zostają usunęte ze zboru elementów pozycj ustalonych. Ponżej przedstawony został ogólny schemat algorytmu. Algorytm 1. Równoległy algorytm populacyjny PM 2 h (parallel populaton-based meta-square-heurstcs) Krok 0. Wygeneruj losową populację startową P 0 przydzałów operacj do maszyn; Krok 1. Podzel P na P k = grup; p Każda grupa zawera co najwyżej p elementów;
Krok 2. Dla każdej grupy k (wykorzystując p procesorów) znajdź uszeregowane zadań π (Y ) odpowadające przydzałow operacj do maszyn Y P oraz wartość C ( Y, π ( Y)) ; Krok 3. Znajdź przydzał operacj do maszyn Z P dla którego C ( Z, π ( Z)) = mn{ C ( Y, π ( Y )) : Y P } ; * * Krok 4. Jeśl C ( Z, ( Z)) C ( Q, π ( Q )) Krok 5. Krok 6. Krok 7. Krok 8. π < to * π ( Q ) = π ( Z) ; * Q = Z ; Dla każdej pozycj w populacj znajdź lczbę przydzałów operacj do maszyn w których maszyna m jest na pozycj ; Ustal pozycje w populacj P dla których ; Umeść losowo wybrane elementy (maszyny) na wolnych pozycjach; Jeśl spełnony jest warunek zakończena to STOP; W przecwnym wypadku dź do Kroku 1; W proponowanym algorytme populacyjnym startowa populacja jest generowana losowo. Rozmar generowanej populacj jest równy 100. W perwszym kroku przedstawonego wyżej algorytmu populacja jest dzelona na zbory rozłączne. k U = 1 P = I k = 1 P, P = 0/. Lczba grup, na które dzelona jest populacja zależy od lczby użytych procesorów. Każdy element populacj stanow przydzał operacj do maszyn, dla którego uruchamany jest algorytm poszukwań lokalnych. Do wyznaczena zboru mnmów lokalnych został wykorzystany algorytm TSAB [6] rozwązujący klasyczny problem gnazdowy. 4. Eksperymenty oblczenowe Równoległy algorytm populacyjny dla problemu gnazdowego z równoległym maszynam został zamplementowany w języku C++ z wykorzystanem bblotek MPI uruchomony na klastrze oblczenowym Nova w Wrocławskm Centrum Secowo Superkomputerowym. Algorytm był uruchamany pod kontrolą systemu kolejkowego OpenPBS. Oblczena zostały wykonane dla różnej lczby procesorów (2, 4, 8 16, 32, 64). Na podstawe uzyskanych wynków, wyznaczone zostało przyspeszene względne algorytmu (orthodox speedup) z następującej zależnośc s = t s / t p, gdze t s oznacza czas oblczeń dla algorytmu sekwencyjnego, a t p - czas oblczeń dla algorytmu równoległego. Dla przyspeszena
wyznaczanego w tak sposób porównane zostały czasy dzałana algorytmu sekwencyjnego równoległego uruchamanych na tym samym sprzęce. Na Rysunku 1 została przedstawona zależność przyspeszena algorytmu równoległego od lczby procesorów używanych przez ten algorytm. Algorytm został przetestowany dla 15 nstancj testowych zaproponowanych w pracy [5]. W Tabel 1 zostały zameszczone wynk eksperymentów oblczenowych. Tab. 1 Wynk przeprowadzonych eksperymentów. problem O (LB,UB) MG [5] PM 2 h la01 50 (570,574) 571 572 la02 50 (529,532) 530 530 la03 50 (477,479) 478 479 la04 50 (502,504) 502 504 la05 50 (457,458) 457 459 la06 75 (799,800) 799 799 la07 75 (749,750) 750 750 la08 75 (765,767) 765 765 la09 75 (853,854) 853 854 la10 75 (804,805) 804 805 la11 100 (1071,107) 1071 1071 la12 100 936 936 936 la13 100 1038 1038 1038 la14 100 1070 1070 1070 la15 100 (1089,1090) 1090 1090 25 przyspeszene 20 15 10 5 0 2,83 4,14 1,55 9,07 11,27 20,51 0 10 20 30 40 50 60 70 lczba procesorów Rys. 1. Zależność przyspeszena algorytmu od lczby użytych procesorów.
Dla porównana jakośc rozwązań dostarczonych przez równoległy algorytm populacyjny (PM 2 h) w Tabel 1 zostały umeszczone rozwązana uzyskane przez algorytm MG zaproponowany w pracy [5]. Otrzymane wynk są porównywalnej jakość. Należy podkreślć, że celem nnejszej pracy ne było stworzene nowego lepszego algorytmu sekwencyjnego, ale jak najefektywnejsze jego zrównoleglene (uzyskane znaczącego przyspeszena oblczeń). Zależność uzyskanego przyspeszena od lczby użytych procesorów prezentuje Rysunek 1. Dla 64 procesorów uzyskano ponad 20-krotne skrócene czasu oblczeń, przy lnowo rosnącym trendze uzyskwanych przyspeszeń. Wnosk W pracy został zaproponowany równoległy algorytm populacyjny dla problemu gnazdowego z równoległym maszynam. Z przeprowadzonych eksperymentów wynka, że zastosowane algorytmu równoległego pozwala na 20 krotne przyspeszene oblczeń w stosunku do algorytmu sekwencyjnego. Lteratura 1. Adrabńsk A., Wodeck M., An algorthm for solvng the machne sequencng problem wth parallel machnes, Zastosowana Matematyk XVI, 3, 1979, 513-541. 2. Gao J., Sun L., Gen M., A hybrd genetc and varable neghborhood descent algorthm for flexble job shop schedulng problems, Computers & Operatons Research 35, 2008, 2892-2907. 3. Garey M.R., Johnson D.S., Seth R., The complexty of the flowshop and jobshop schedulng, Math. Oper. Res. 1 (2), 1974, 117-128. 4. Hurnk E., Jursch B., Thole M., Tabu search for the job shop schedulng problem wth mult-purpose machne, Operatons Research Spektrum 15, 1994, 205-215. 5. Mastrolll M., Gambardella L.M., Effectve neghborhood functons for the flexble job shop problem, Journal of Schedulng 3(1), 2000, 3-20. 6. Nowck E., Smutnck C., A fast tabu search algorthm for the permutaton flow-shop problem, European Journal of Operatonal Research 91, 1996, 160-175. 7. Pnedo M., Schedulng: theory, algorthms and systems, Englewood clffs, NJ: Prentce- Hall, 2002. dr Wojcech BOŻEJKO mgr nż. Marusz UCHROŃSKI Instytut Informatyk, Automatyk Robotyk Poltechnka Wrocławska e-mal: wojcech.bozejko@pwr.wroc.pl marusz.uchronsk@pwr.wroc.pl dr Meczysław WODECKI Instytut Informatyk Unwersytet Wrocławsk emal: mwd@.un.wroc.pl