ÓWNOLEGŁY ALGOYTM NEUO-TABU DLA POBLEMU GNIAZDOWEGO SZEEGOWANIA ZADAŃ Wojcech BOŻEJKO, Marusz UCHOŃSKI, Meczysław WODECKI Streszczene: W pracy proponujemy zastosowane dwóch równoległych algorytmów bazujących na mechanzme neuro-tabu do rozwązywana lasycznego problem gnazdowego szeregowana zadań (job shop). Perwszy z algorytmów oparty jest na wyonywanu nezależnych współbeżnych algorytmów poszuwana z zabronenam (tabu search) z secą neuronową zastępującą lstę ruchów zabrononych (algorytm neurotabu). Drug z algorytmów bazuje na unalnej metodze dywersyfacj połączonej z mechanzmem śceże łączących (path-relnng) zastosowanym do zboru rozwązań eltarnych. Proponowane podejśca oazują sę szczególne efetywne dla przyładów problemów o dużych rozmarach. Słowa luczowe: optymalzacja dysretna, GPU, poszuwane z zabronenam, seć neuronowa 1. Wprowadzene ozważamy w pracy problem gnazdowy szeregowana zadań, tóry można ująć następująco (zobacz [2]). Dane są zbór zadań oraz zbór maszyn. Każde zadane słada sę z pewnej lczby operacj tóre muszą zostać wyonane w zadanej olejnośc, ażde na dedyowanej sobe maszyne, przez pewen czas. Wyonane operacj ne może być przerywane. Każda maszyna może wyonywać co najwyżej jedną operację w danym momence czasu. Chcemy znaleźć tae uszeregowane (tj. przyporządowane oepracj do mementów czasowych na maszynach) tóre mnmalzuje masymalny czas wyonana zadań (ang. maespan). Ta opsany gnazdowy problem szeregowana zadań, choć prosty do zdefnowana, jest z puntu wdzena teor złożonośc oblczcenowej problemem slne NP-trudnym jest uważany za jeden z najtrudnejszych problemów optymalzacj ombnatorycznej. Z powodu NP-trudnośc problemu do jego rozwązywana reomenduje sę główne heurysty metaheurysty ja najrozsądnejsze metody rozwązana. Węszość proponowanych metod odnos sę do problemu mnmalzacj maszymelnego czasu zaończena wyonywana zadań. Cytując najnowsze publacje dotyczące metaheurysty dla rozważanego problemu, wymenć należy prace: Jan, angaswamy Meeran [9]; Pezzella Merell [12]; Grabows Wodec [6]; Nowc Smutnc [11]; Bożejo Uchrońs [3]. Algorytmy heurystyczne proponują taże Holthaus ajendran [8] oraz Bushee Svesta [4]. Dla nnych ryterów regularnych tach ja ryterum sumacyjne oraz sumy spóźneń w lteraturze proponowane są metaheurysty bazujące na metodze poszuwana z zabronenam [1] algorytmu genetycznego [10]. W nnejszej pracy proponujemy nowe podejśce do projetowana rozproszonych algorytmów poszuwana z zabronenam rozwązywana trudnych problemów optymalzacj dysretnej, tach ja problem gnazdowy, używając archtetury mult-gpu, tj. lastra zołożonego z węzłów wyposazonych w arty oblczenowe GPU. 537
2. Defncja problemu Dany jest zbór zadań J {1 2 n}, tóre należy wyonać na maszynach ze zboru P {1 2 m}. Zadane jest cągem pewnych operacj. Każdą operację należy wyonać bez przerywana na odpowednej maszyne w ustalonym czase. Problem polega na wyznaczenu olejnośc wyonywana operacj na ażdej maszyne, mnmalzującej czas wyonana wszystch zadań. Nech O {1 2 o} będze zborem wszystch operacj. Zbór ten można rozbć na cąg odpowadające zadanom przy czym, zadane j J jest cągem o j operacj, tóre będą olejno wyonywane na odpowednch maszynach (tzw. cąg technologczny). Operacje te są ndesowane lczbam ( l j11 l j1 oj ), gdze l operacj perwszych j zadań, j 12 n, przy czym l0 0, a o j j o jest lczbą 1 n o 1 Operacja v O będze wyonywana na maszyne v P w czase p v. Zbór O można taże rozbć na podzbory O { vo } ( P) operacj wyonywanych na tej samej v maszyne. Nech permutacja wyznacza olejność wyonywana operacj ze zboru na maszyne. Przez oznaczmy zbór wszystch permutacj elementów z O. Wobec tego, dowolna olejność wyonywana wszystch operacj na maszynach jest wyznaczona przez onatenację m cągów (permutację) ( 12 m), gdze 12 m. Oczywśce może zawerać taże rozwązana nedopuszczalne. Każde rozwązane dopuszczalne problemu gnazdowego można przedstawć w postac grafu. Dla dowolnej olejnośc wyonywana operacj na maszynach (permutacj ), onstruujemy graf serowany z obcążonym werzchołam (seć) G( ) ( V E( )), gdze V jest zborem werzchołów, a E( ) zborem łuów, przy czym: 1. V O { s c}, gdze s c są dodatowym (fcyjnym) operacjam reprezentującym odpowedno,,start",,zaończene". Wagą werzchoła v O jest czas wyonywana p, odpowadającej mu operacj ( p p 0). v n o j 1 2. l j1 l j1 1 sl j11 l j1 ojc j1 1 Zbór zawera łu łączące olejne operacje tego samego zadana oraz łu z werzchoła s do perwszej operacj ażdego zadana łu od ostatnej operacj ażdego zadana do werzchoła c. m O 1 3. E( ) ( ) ( 1) 1 1 Łatwo zauważyć, że łu ze zboru E( ) łączą operacje wyonywane na tej samej maszyne ( jest permutacją operacj z O ). Permutacja (olejność operacj na maszynach) jest dopuszczalna wtedy tylo wtedy, gdy odpowadający jej graf G( ) ne zawera cyl. s c O 538
Nech permutacja będze rozwązanem dopuszczalnym dla problemu gnazdowego, a G( ) odpowadającym jej grafem. Cąg werzchołów ( v1 v 2 v ) grafu G( ) ta, że ( v v 1) E( ) dla 1 2 1 nazywamy drogą (lub śceżą) z werzchoła v 1 do v. Przez C( v u) oznaczmy najdłuższą drogę (drogę rytyczną) w G( ) z werzchoła v do u, a przez L( v u) długość (sumę wag werzchołów) tej drog. Łatwo zauważyć, że czas wyonywana operacj C ( ) max w olejnośc jest równy długośc L ( s c ) drog rytycznej C( s c). Wobec tego, rozwązane problemu gnazdowego sprowadza sę do wyznaczena permutacj dopuszczalnej, dla tórej odpowadający jej graf ma najrótszą drogę rytyczną, tj. mnmalzuje L( s c). 3. Mechanzm tabu z zastosowanem sec neuronowej W lasycznej metodze tabu pewnen ruch jest wyberany w ażdej teracj algorytmu. uch ten jest pamętany na pewnej lśce o długośc maxt zwanej lstą tabu jest zabronony przez maxt lczbę teracj. Po wyonanu przez algorytm tabu search maxt teracj ruch ten jest usuwany z lsty może być wyonany ponowne. Można powedzeć, że ruch ten trac swój status ruchu zabrononego,,nagle. Ponżej zostane przedstawony mechanzm, w tórym status ruchu zabrononego zmnejsza sę w sposób wyładnczy. W rozpatrywanym algorytme tabu search ażdy ruch reprezentowany jest przez neuron. Dla rozpatrywanego w pracy sąsedztwa [11] seć neuronowa słada sę z o 1 neuronów. Podejśce to z powodzenem zostało zastosowane dla wadratowego problemu przydzału [7] oraz dla problemu przepływowego [13]. Nech -ty neuron reprezentuje ruch polegający na zamane dwóch przyległych elementów na pozycjach 1 w permutacj. W zaproponowanej archteturze sec neuronowej hstora ażdego neuronu jest pamętana jao jego stan wewnętrzny (efet tabu). Jeśl w pewnej teracj neuron zostane atywowany to na jego wyjścu zostane ustalona wartość 1, a na wyjścach pozostałych neuronów zostane ustalona watość 0. Atywowany w danej teracj neuron ne może być ponowne atywowany przez olejnych s teracj. Każdy neuron opsany jest przez następujące równana: ( t 1) = ( t), (1) ( t) Cmax( ) C ( t) = C max max, (2) s 1 d=0 d ( t 1) = x ( t d), (3) (t) gdze x (t) oznacza wyjśce neuronu w teracj t. Symbol C ( ) max oznacza wartość funcj celu dla permutacj uzysanej w wynu wyonana ruchu w teracj t, tzn.. Symbol (t) oznacza znormalzowaną, beżącą wartość funcj celu, a C oznacza max (t) najlepszą znalezoną dotychczas wartość funcj celu. Parametry są 539
współczynnam salującym. Symbol ( t 1) Zmenna ( t 1) (gan effect) oreśla jaość ruchu. (tabu effect) przechowuje hstorę neuronu dla ostatnch s teracj. Neuron jest atywowany jeżel ma nsą wartość efetu tabu zapewna lepszą reducję C max. Doładnej neuron zostaje atywowany jeżel ma najmnejszą wartość { ( t 1) ( t 1)} spośród wszystch neuronów. Jeżel 0 < < 1 s = t to równane (3) przyjme następującą postać: ( t 1) = ( t) x ( t), gdze (0) = 0 (t) (4) oraz x (0) = 0 dla ażdego. Z równana (4) wyna, że wartość ażdego neuronu maleje wyładnczo (ysune 1 2). ys. 1. Zmany wartośc (t) dla = 0.5 Welu proponowanych w lteraturze algorytmach opartych na metodze tabu search wyposażonych jest w mechanzm pozwalający na wyonanu ruchu zabrononego, tóry bezpośredno lub pośredno prowadz do rozwązań bazowych o wartośc funcj celu mnejszej nż dotychczas znalezona. Mechanzm ten jest nazywany ryterum aspracj. W proponowanym algorytme neuro-tabu search taa funcja może zostać zamplementowana 540
poprzez gnorowane efetu tabu dla ruchu dla tórego < 0. Jedna na drodze przeprowadzonych esperymentów oblczenowych, mechanzm ten dla mplementowanego algorytmu ne przynos pożądanych efetów. Dlatego też algorytm neuro-tabu search dla problemu gnazdowego ne został wyposażony w taą funcję. 4. ównoległy algorytm neuro-tabu ys. 2. Zmany wartośc (t) dla = 0.7. Jao drugą metodę rozwązana rozważanego problemu proponujemy podejśce oparte na rozpatrywanym w pracy Nowcego Smutncego [11] z modyfacją polegającąną na użycu algorytmu neuro-tabu zamast lasycznego algorytmu poszuwana z zabronenam. Proponowany w nnejszezj pracy algorytm NTS operuje na zborze rozproszonych rozwązań (eltarnych) uzysanych za pomocą funcj NIS(,, C ) (ops na ys. 3), gdze, są rozwązanam referencyjnym (porządem operacj) a C jest referencyjną wartoścą funcj ryteralnej. ozważana funcja używa generatora sąsedztwa opartego na zamane przyległych operacj (swap of adjacent operatons, zobacz 541
Bożejo [4]). Oznaczmy przez N ( ) zbór ruchów otrzymanych przez zamanę dwóch przyległych operacj na śceżce rytycznej w rozwązanu (aby otrzymać rozwązane dopuszczalen, zobacz [6]). Podstawowym zadanem funcj NIS jest wygenerowane rozwązana = NIS(,, C ) leżącego,,pomędzy a (rozwązanama referencyjnym) aby uruchomć esporację algorytmem NTS (zobacz ys. 4). Aby ontorlować odległość pomędzy danym rozwązanam, zastosowano marę tau Kendalla D (, ) wyrażającą mnmalną lczbę przyległych zaman (nwersj) 1 1 potrzebnych do przeształcena permutacj w (węcej o marach odległośc dla permutacj znaleźć można w pracy Daconsa [5]). Przyjęto następujące wartośc parametrów strojących: maxe = 8 (lczba eltarnych rozwązań), maxd = 5 (masymalna odległość, używana w głównej pętl), maxv = 0.5. Algorytm 1. NIS(,, C ) Wejśce:, rozwązana referencyjne; C referencyjna wartość ryterum; Wyjśce: rozwązane; poprawone referencyjne ryterum C ; ; ter 0 epeat. Znajdź 1 oraz D (, ) ter ter 1; Wyznacz N ( ) ; Dla ażdego v N( ) polcz zapamętaj C ) ; max( (v) 1 1 Wyznacz N ={ v = ( x, y) N( ) : ( y) < ( x)}; f N than Wyberz ta ruch w K, że C ) = mn v K C ( ) ; K ; K N else N( ) max( ( w) max ( v) przez ; Oznacz (w) ; ; f C max( ) < C than C C ( max ) and ext; untl ter maxv D(, ) ; { maxv (0,1) - parametr} ys. 3. Funcja NIS(,, C ). 542
Algorytm 2. NTS 0 Wejśce: rozwązane uzysane algorytmem INSA; Output: najlepsze znalezone rozwązane oraz jego wartość ryterum 1 1 0 1 Podstaw (, C ) NTS( ) oraz C C ; for 2,, maxe do 1 0 NIS(,, C ) ; (, C ) NTS( ) C = mn{ C, C }; epeat Znajdź untl ; 1 l maxe tae, że l D(, ) = max{ D(, ) :1 maxe} ; Podstaw NIS(, l, C ) oraz (, C l ) NTS( ) l l l f C < C than podstaw (, C ) (, C ) l ; oraz l ; max{ D(, ) :1 maxe} < maxd. 5. Esperymenty oblczenowe ys. 4. Algorytm NTS C ; Algorytmy zostały uruchomone na 6-rdzenowym serwerze z procesorem Intel Core 7 CPU X980 (3.33GHz) połączonym z artą oblczenową GPU nvda Tesla S2050 (1792 rdzen) procującym pod ontrolą 64-btowego systemu Lnux Ubuntu 10.04.4 LTS I przetestowane na przyładach testowych Tallarda [14]. Wyn oblczeń porównanow w Tabel 1. Oznaczena poszczególnych olumn oznaczają: snts sewencyjny algorytm Neuro Tabu Search z pracy Bożejo Uchrońs [3], pnts równoległy (dla lczby wątów p = 16 ) algorytm Neuro Tabu Search algorthm, model MPSS (Multple startng Ponts, Sngle Strategy, według lasyfacj Voß a [14] równoległych algorytmów poszuwana za zabronenam wszyste wąt pracowałe według tej samej strateg, ale startowały z różnych rozwązań początowych) bez omunacj; dla ażdego procesora rozwązane startowe było generowane przez algorytm NTS wyonywane przez process _d 100 teracj, NTS algorytm NTS bazujący na mechanzme dywersyfacj ntensyfacj oraz zborze rozwązań eltarnych opsanym w ozdzale 4, pnts równoległy algorytm NTS. Zbór rozwązań eltarnych generowany jest współbeżne na GPU. 543
Tab. 1. Procentowe względne odchylene do najlepszych znanych rozwązań Problem n m snts pnts (p=16) NTS pnts (p=8) TA01-15 15 0,4948 0,3141 0,0652 0,0975 10 TA11-20 15 1,1691 0,9129 0,4412 0,4596 20 TA21-20 20 1,2486 0,7033 0,4803 0,4065 30 TA31-30 15 1,0592 0,7965 0,3764 0,4395 40 TA41-30 20 1,8565 1,5634 0,8328 0,8643 50 TA51-50 15 0,0915 0,0915 0,0520 0,0520 60 TA61-50 20 0,1479 0,0210 0,0140 0,0035 70 TA71-100 20 0,0090 0,0090 0,0090 0,0090 80 średna 0,7596 0,5515 0,2839 0,2915 Czasy wyonana dla wszystch nstancj testowych były następujące: (sewencyjny) ) 169m45.748s (dłuższy czas NTS 132m27.319s, (równoległy) pnts ( p = 4 dzałana algorytmu spowodowany jest metodą generowana rozwązań startowych oraz synchronzacją), NTS ooło 60 godzn. Ja można zaobserwować proponowany algorytm NTS uzysał średn pozom odchylena względnego (percentage relatve devaton, PD) do najlepszych znanych rozwązań (dla nstancj testowych Tallarda) na pozome 0,28%. Z ole równoległ pnts uzysał średne PD dla grupy przyładów o dużych rozmarach TA61-TA70 (z przyładam dla 1000 operacj) 10 razy nższe nż proponowany algorytm NTS. Porównując rezultaty uzysane przez algorytmy snts oraz pnts można zauważyć, że użyce środowsa weloprocesorowego sutuje dużym obnżenem uzyswanych błędów PD do najlepszych znanych rozwązań (zobacz ys. 5). 544
ys. 5. Porównane efetywnośc algorytmów dla przyładów Tallarda [14] 6. Wnos W pracy proponujemy metodologę projetowana algorytmów równoległych rozwązywana trudnych problemów optymalzacj ombnatorycznej dla archtetury współbeżnych wyposażonych zarówno w pamęć rozproszoną (lastry), ja pamęć współdzeloną (GPU), oraz ch ombnacje (multu-gpu). Metodologa ta oazuje sę być szczególne efetywna przy rozwązywanu problemów o dużych rozmarach, dla tórych nesuteczne oazują se zarówno metody doładne, ja I sewencyjne metody metaheurystyczne, tae ja snts. 545
Lteratura 1. Armentano V.A., Scrch C..: Tabu search for mnmzng total tardness n a job shop. Internatonal Journal of Producton Economcs 63(2), 131 140 (2000) 2. Bożejo W.: On sngle-wal parallelzaton of the job shop problem solvng algorthms. Computers & Operatons esearch 39, 2258 2264 (2012) 3. Bożejo W., Uchrońs M.: A Neuro-Tabu Search Algorthm for the Job Shop Problem. In: L. utows et al. (Eds.), Proceedngs of the ICAISC 2010, Lecture Notes n Artfcal Intellgence No. 6114, Sprnger, 387 394 (2010) 4. Bushee D.C., Svesta. J.A.: A b-drectonal schedulng approach for job shops. Internatonal Journal of Producton esearch 37(16), 3823 3837 (1999) 5. Dacons P.: Group epresentatons n Probablty and Statstcs. Lecture Notes - Mono-graph Seres Vol. 11, Insttute of Mathematcal Statstcs, Harvard Unversty (1988). 6. Grabows J., Wodec M.: A very fast tabu search algorthm for the job shop problem. w: C. ego, B. Aldaee (Eds.), Adaptve memory and evoluton, tabu search and scatter search. Kluwer Academc Publshers, Dordrecht (2005) 7. Hasegawa M., T. Ieguch, K. Ahara, Exponental and chaotc neuro dynamcal tabu searches for quadratc assgnment problems. Control and Cybernetcs 29, 773 788 (2000) 8. Holthaus O., ajendran C.: Effcent jobshop dspatchng rules: further developments. Producton Plannng and Control 11, 171 178 (2000) 9. Jan A.S., angaswamy B., Meeran S.: New and stronger job-shop neghborhoods: A focus on the method of Nowc and Smutnc (1996 ). Journal of Heurstcs 6(4), 457-480 (2000) 10. Mattfeld D.C., Berwrth C.: An effcent genetc algorthm for job shop schedulng wth tardness objectves. European Journal of Operatonal esearch 155(3), 616 630 (2004) 11. Nowc E., Smutnc C.: An advanced tabu search algorthm for the job shop problem. Journal of Schedulng 8(2), 145 159 (2005) 12. Pezzella F., Merell E.: A tabu search method guded by shftng bottlenec for the job-shop schedulng problem. European Journal of Operatonal esearch 120, 297 310 (2000) 13. Solmanpur M., P. Vrat,. Shanar, A neuro tabu search heurstc for the flow shop schedulng problem. Computers and Operatons esearch 31, 2004, 2151 2164. 14. Tallard, E.: Benchmars for basc schedulng problems. European Journal of Operatonal esearch 64, 278 285 (1993) 15. Voß S.: Tabu search: Applcatons and prospects. In: D.Z. Du and P.M. Pardalos (eds.), Networ Optmzaton Problems, pp. 333 353. World Scentfc Publshng Co., Sngapore (1993) Dr hab. Wojcech Bożejo Instytut Informaty, Automaty oboty Poltechn Wrocławsej 50-372 Wrocław, ul. Janszewsego 11-17 tel./fax: 71 320 27 45 / 71 321 26 77 e-mal: wojcech.bozejo@pwr.wroc.pl 546
Dr hab. Meczysław Wodec Instytut Informaty Unwersytet Wrocławs 50-383 Wrocław, Jolot-Cure 15 tel./fax: 71 325 12 71 / 71 375 62 44 e-mal: mwd@.un.wroc.pl Mgr nż. Marusz Uchrońs Instytut Informaty, Automaty oboty Poltechn Wrocławsej 50-372 Wrocław, ul. Janszewsego 11-17 tel./fax: 71 320 27 45 / 71 321 26 77 e-mal: marusz.uchrons@pwr.wroc.pl 547