ZESZYTY N A U K O W E P O L IT E C H N IK I ŚLĄ S K IE J Seria: A U T O M A T Y K A z. 134
2002 N r kol. 1554
M ariusz M A K U C H O W S K I, E ugeniusz N O W IC K I Politechnika W rocław ska
ALGORYTM TABU DLA PROBLEMU GNIAZDOWEGO Z OPERACJAMI WIELOMASZYNOWYMI
NIERÓWNOCZEŚNIE WYKORZYSTUJĄCYMI MASZYNY
S t r e s z c z e n i e . W p rac y rozw aża się problem gniazdow y z operacjam i wielo- m aszynow ym i, nierów nocześnie w ykorzystującym i maszyny. P rz ed sta w ia się jego m odel perm utacyjno-grafow y. N astępnie prezentuje się alg o ry tm przybliżony ty p u ta b u zw rac ają c szczególną uwagę n a definicję sąsiedztw a oraz a try b u ty zapisyw ane n a listę ta b u . P rzep ro w ad za się b a d a n ia eksperym entalne zaproponow anego algo
r y tm u n a przy k ład ach testow ych pow szechnie stosow anych w literaturze.
TABU S E A R C H A L G O R IT H M F O R JO B SH O P M U L T IM A C H IN E O P E R A T IO N S P R O B L E M W IT H N O N -SIM U LTA N EO U SLY USED M A C H IN E S
S u m m a r y . T h e p a p e r discusses th e jo b shop m ultim achine op eratio n s problem w ith n on-sim ultaneously used m achines. Its p erm u tatio n -g rap h m odel is shown.
T h e a lg o rith m b ased on a ta b u search technique w ith a specific neighborhood defin itio n a n d su ita b le a ttrib u te s w ritte n to ta b o o list is presented. M oreover, th e a lg o rith m is exam ined on well-known lite ra tu re exam ples.
1. Wprowadzenie
Je d n y m z isto tn iejszy ch zagadnień w teorii harm onogram ow ania je st problem gn ia
zdowy z k ry te riu m będącym m om entem w ykonania w szystkich zadań. W aga tego za
gadnienia w ynika z fak tu , że ju ż jego klasyczne sform ułow anie m odeluje szereg p ra k tycznych procesów produkcyjnych. R óżnorodne uogólnienia, ta k ie jak: w prow adze
nie czasów p rze zb ro jeń , ograniczonej pojem ności buforów, ograniczonej liczby palet, uwzględnienie tra n s p o r tu itp ., pow odują, że obszar jego stosowalności sta le się powiększa.
Jednym z w ażnych kierunków uogólnień je s t w prow adzenie operacji wielom aszynowych m odelujących procesy, w któ ry ch do w ykonyw ania poszczególnych operacji zaangażow ana
je s t nie je d n a (ta k ja k w m odelu klasycznym ), ale kilka m aszyn, [4, 2], O dpow iednie al
g o ry tm y ko n stru k cy jn e oraz algorytm y po p raw (o p a rte n a technice ta b u ) zo stały podane w [5, 1, 8, 7],
D alsze uogólnienie operacji w ielom aszynow ych - w ynikające z p ra k ty k i przemysłowej - polega n a uw zględnieniu sy tu a cji, w których nie w szystkie m aszyny zaangażow ane w pro
ces w ykonyw ania d anej o peracji są jednocześnie w ykorzystyw ane, p a trz np. [9]. Co więcej, d la każdej zaangażow anej m aszyny określony je s t jed en przedział jej w ykorzystyw ania oraz przedziały te s ą w zględem siebie u stalone. T en ty p operacji będziem y nazyw ać operacjami w ielom aszynow ym i, nierów nocześnie w ykorzystującym i m aszyny. P ierw sze w yniki badań n a d a lg o ry tm am i k o nstrukcyjnym i d la tego ty p u operacji zam ieszczono w [9, 6). W tej p ra c y form ułujem y p erm utacyjno-grafow y m odel b adanego zagadnienia, a n astęp n ie po
d a je m y a lg o ry tm ty p u „ p o p ra w ” o p a rty n a technice ta b u . W yczerpujące b a d a n ia testowe pokazu ją, że proponow any alg o ry tm p o p raw ia rozw iązania dostarczo n e przez algorytmy ko n stru k cy jn e o około 10%, w śred n im czasie kilku m in u t n a k o m p u terach klasy PC.
2. M atematyczne sformułowanie problemu i model permutacyjno-grafowy
D an y je s t zbiór m aszyn M = { 1 , , |M |} , zbiór zad ań = { 1 , . . . , |J |} oraz zbiór ope
racji O = ( 1 , . . . , |0 |} . Z adanie k 6 J sk ła d a się z ciągu o* > 1 operacji indeksowanych kolejno przez j k + 1, j k + 2 , . . . , j k + ok , gdzie j k = T,i=i o>- W ykonanie z a d a n ia polega n a w ykonaniu w powyższej kolejności w szystkich jego operacji. D la każdej operacji j G 0 określony je s t zbiór m aszyn M j C M , n a k tó ry ch je s t o n a w ykonyw ana. P ro ces wykony
w an ia o p era cji j n a m aszynie l G M j nazyw am y czynnością i n o tu je m y jako p a rę (j , l).
C zynność ( j , l ) je s t sc h arak te ry z o w an a przez dw ie wielkości: głowę 7y,/ i ciało Pjj. Głowa Tjj o k reśla ,p o ja k im czasie od pew nej chwili czasowej tj (nieustalonej ale identycznej dla w szystkich czynności danej operacji) m a się rozpocząć w ykonyw anie czynności (j , l) na m aszynie 1, zaś ciało P jj je s t długością trw a n ia tej czynności; przyjm ujem y, że przynaj
m niej je d n a z w artości Ty,;, l G M j je s t ró w n a zero. W ykonanie o peracji polega n a wykona
n iu w szystkich jej czynności zgodnie z przedstaw ionym i ograniczeniam i. N iech S ( j , l ) oz- nac za m o m en t rozpoczęcia w ykonyw ania czynności (j , l). W te d y S ( j , l ) —Tj,i = const = tj def
d la l 6 M j o raz m om ent S ( j ) = t j je s t trak to w a n y ja k o m om ent rozpoczęcia wykonywania
Algorytm ta b u d la p roblem u gniazdowego. 289
operacji j , zaś C { j) = maotigMyiSO',!) + P j,i} - ja k o m om ent zakończenia w ykonyw ania tej operacji.
Podobnie ja k w klasycznym problem ie gniazdow ym przyjm uje się, że: (i) ż a d n a z maszyn nie m oże w ykonyw ać jednocześnie kilku czynności, (ii) nie m ożna wykonywać jednocześnie więcej niż je d n ą o p erację danego z a d an ia oraz (iii) w ykonyw anie czynności na maszynie nie m oże być przeryw ane. Uszeregowanie dopuszczalne definiowane je st przez takie m o m en ty rozpoczęcia w ykonyw ania czynności S ( j , l ) > 0, / € M j, j e O, że spełnione są pow yższe ograniczenia. P ro b lem polega n a znalezieniu dopuszczalnego uszeregowania m inim alizującego m om ent w ykonania w szystkich operacji m axj e o C ( j) .
P rzejdziem y te ra z do sform ułow ania m odelu perm utacyjno-grafow ego. Jako zm ienną decyzyjną p rzy jm u jem y zestaw p erm u ta c ji 7r = (7ri,ir2. . . ,7rm), gdzie m = \M \ oraz 7rj = (jtj(1 ),..., zri(|7T/|)) je s t p e rm u ta c ją zbioru czynności 0\ = { { j,l) : l 6 M j , j 6 0 } wykonywanych n a m aszynie l, |7rij = \0[\, l 6 M ; zbiór w szystkich tak ich zestawów, zwanych k rótko p erm u ta c ja m i, oznaczam y przez II. D la p erm u tacji 7r S II definiujem y graf G (tt) = ( 0 , E T U E ° U E K {n)) ze zbiorem obciążonych wierzchołków O = { ( j, l) : l G M j , j € O } rep rez en tu jący c h poszczególne czynności, zbiorem nieobciążonych łuków technologicznych (w ynikających z kolejności w ykonyw ania operacji w zadaniu)
jk+Ok
e t = U U { ( C j - u J - i ( i )
keJ j=jk+2 kolejnościowych (w ynikających z p erm u tacji 7r)
Kil
E K { i r ) = I J U { ( ^ ( t ~ 1 ) . M ^ ) } ( 2 )
i = 2
oraz zbiorem obciążonych luków operacyjnych (odzw ierciedlających u stalone względne położenie czynności danej operacji)
|Mj|
E° = U U “ i)))}. (3)
jeO i=2
gdzie IJ = arg m in i g ^ Tj,; oraz I f = argmaotjeMjCu,! + Pj,i) oznacza m aszynę, n a której odpow iednio ro zp o czy n a się oraz kończy wykonywanie operacji j , zaś M j — {mj( 1), ?7ij(2),..., rrij(\M j\)}, j € O. W ierzchołek reprezentujący czynność ( j, l) obciążony jest w artością pj)U zaś luk ( (j, a), (,j , b)) € E ° (z w ierzchołka (j , o) do w ierzchołka (j, b)) - wartością wjAib = Tjfi - TjiC - pJi0.
Z definicji grafu G (n ) w ynika, że zaw iera on cykle; długość tych cykli może być dow olna (u jem n a, zerow a lu b d o d a tn ia ). W p rzy p a d k u kiedy w grafie G (tt) nie ma cykli o d o d a tn ie j długości, niech r * ( ( j , / ) ) (qn ( ( j , l ) ) ) oznacza w arto ść najdłuższej drogi dochodzącej d o (w ychodzącej z) w ierzchołka (j , l), łącznie z w agą tego wierzchołka. Wtedy S ( j , l) = r n ((j, l)) —Pj,i, l 6 M j, j € O je s t uszeregow aniem dopuszczalnym . W dowodzie ograniczym y się tylko do pokazania, że S ( j , l ) — Tjj — co n st d la w szystkich czynności o p era cji j ; pozostałe w arunki w y n ik ają z rozum ow ania analogicznego ja k d la klasycznego p ro b lem u gniazdow ego. Załóżmy, że dwie czynności (j , a ) i (j,b ) operacji j połączone są łukam i operacy jn y m i. W te d y z zależności S ( j , b) > S ( j ,a ) + p j ia+W jA,b = S ( j , a )+ T j^-T jfi oraz S ( j , a) > S ( j , b)+pjib+WjM — S ( j , b)+TjA - T j :b w ynika, że S ( j , a ) = S ( j , b ) + T jia - T jib, czyli S ( j , a ) — TjA — S ( j ,b ) — Tjtb. P o d o b n e rozum ow anie d la p ozostałych p a r czynności z a d a n ia j kończy dowód.
Zdefiniow any g ra f pozw ala n a p ro ste sform ułow anie b adanego problem u. Niech Cmax(7r) o znacza długość najdłuższej ścieżki (ścieżka k rytyczna) w grafie G (tt) d ia permu- ta c ji 7r G II; w p rz y p a d k u gdy g ra f G (n ) p o sia d a cykle o d o d atn iej długości, przyjmujemy, że C max(7r) = oo. R ozw ażany problem polega n a znalezieniu takiej p erm u ta c ji 7rł G II, że o d p o w iad a ją cy jej g raf G (tt*) m a n ajm n ie jszą długość ścieżki krytycznej C max(7r*).
3. Algorytm popraw typu tabu
P ro p o n o w an y alg o ry tm (zw any dalej algorytm em T M N ) bazu je n a technice tabu, któ rej ogólny opis m o żn a znaleźć np. w p rac y [3], W poniższych podrozdziałach przed
sta w iam y szczegółowo najw ażniejsze elem enty składow e tego algorytm u.
3.1. S ąsiedztw o
S ąsiedztw o p e rm u ta c ji rr G II w ykorzystyw ane w algorytm ie T M N bazuje n a ruchach ty p u w staw . N iech z W = ( z ^ , . z*J ) oznacza zestaw pozycji czynności operacji j w tt, gdzie tti(z*J ) = ( j, l) d la l G My, d la p ro sto ty oznaczeń, niew ykonyw anie n a maszynie l & M j czynności o p eracji j n o tu je się przez położenie zI7rj = 0. N iech
= { z = ( z i , . . . , z m) : 1 < zi < |jri|, l G Mj, zc = 0, l g M t} (4)
Algorytm ta b u d la p roblem u gniazdowego. 291
oznacza zbiór w szystkich zestaw ów pozycji, ja k ie m ogą zajm ow ać czynności operacji j w perm utacji ir. Zachodzi z * J € oraz l ^ j = UieMj W - R uch v = (j , z ) ty p u w staw polega n a przesunięciu w szystkich czynności o peracji j n a pozycje określone przez zestaw z € Z ir,i\{z* '* }; o trz y m a n ą p erm u tację oznaczam y przez 1T(U). D okładniej, odbyw a się to w trzech e tap a ch : (i) p o b ran ie czynności ( j , l ) z pozycji w = zjr‘3\ (ii) przesunięcie czynności 7 r ,( w + l),. . . , 7r ifa ) o je d n ą pozycję w lewo, jeżeli w < z, lub czynności 7r,(z,),. . . , Ttt( w - 1) 0 je d n ą pozycję w praw o, jeżeli w > Z[ oraz (iii) w staw ienie czynności ( j ,l ) n a zw olnioną pozycję z,; l € M j . Z biór w szystkich ruchów ty p u w staw d la operacji j oznaczam y przez y i ^ J ) — [ v = (j, z ) : z e Z n' i \ { z n':>}}. J e s t oczyw iste, że jeżeli ż a d n a czynność operacji j nie leży n a ścieżce krytycznej w grafie G (n ), to d la każdego ruchu v - (j , z) € V ( n , j ) zachodzi C max(n(v)) > C miX(ir). O znacza to, że należy się ograniczyć do przesuw ania czynności tylko tych operacji j , któ re należą do zbioru fi C O zaw ierającego w szystkie operacje, k tó ry c h p rzy n a jm n ie j je d n a z czynności leży n a ścieżce krytycznej w grafie G (n ).
O statecznie zbiór ruchów m a p o sta ć V ( k ) = U , e n ^ ( 7r >j); I ^ M I = E je n d lieA f, M _ !)•
Zbiór te n generuje sąsiedztw o A/(7t) = {77,,) : v € V (n )} .
Ze w zględu je d n a k n a zb y t d u ż ą liczność zbioru ruchów V ( i r ,j ) ograniczam y się do pewnego jego p o d zb io ru V B ( - n ,j) C V(zr,jf). Niech 7 je s t p erm u tacją pow stałą po usunięciu czynności operacji j z tt; g raf G (7 ) otrzym ujem y z G (n) przez usunięcie luków ( M Z? J ~ 1 ) , M Z T ' 3 ) ) > (^ fiz T'J ) , M z *'3 + !)) 1 d odanie luku ( t t i ( z J ' 3 - l),7T,(zfJ + 1)) (jeżeli z? ' 3 e {1, |tt,|}, to tylko jed en luk je s t usuw am y i żaden nie je s t dodaw any), 1 6 M j. D la każdego zestaw u pozycji z € Z ”1* definiujem y w artość h (z ) = h \( z ) + h2(z), h i(z) = max{^4, m ax;eW). Ą ( z , - 1) }, h2(z) = m a x { 5 , max i5Mj Q i(zi) }, gdzie
A = r y ( ( j ~ , l)jl)), R i( z t - 1) = ^ ( 7 !(z, - 1)) - Tjj, (5)
B = r j , ! t + Pjjf + g 7 ( 0 ' + , IJ+)), Qi(zi) = Tj,i + Pj,i + qy(‘7i(zi)) ( 6 )
oraz j ~ ( j +) je s t p o p rzednikiem (następnikiem ) technologicznym operacji j \ jeżeli o p era cja j nie m a p o p rze d n ik a (następnika) technologicznego, to j ~ = 0 ( j + = 0); Iq = ¿0 = 0, 7,(0 ) = 7 ,( |7r,|) = (0 ,0 ), l e M jt ^ ( ( 0 , 0 ) ) = £ ^((0,0)) = 0. Łatwo zauważyć, że h(z) je s t doln y m ograniczeniem w artości najdłuższej drogi w grafie G (7r(„)), v = ( j ,z ) , zaw ierającej co najm n iej je d en wierzchołek o d pow iadający czynności operacji j . O znacza to, że m a x { C max(7 ), h ( z ) } je s t dolnym ograniczeniem w artości Gmax(7r(v)), v = ( j ,z ) .
Z definicji r 7 (A:), ę7 (fc), k G O w ynika, że Ą ( l ) < Ą ( 2 ) < - • ■ < Ą (l7 i|) oraz Q i(l) >
Q i(2) > . . . > Q j(|7 j|), l G M j . N iech aj oznacza n ajm n ie jsz ą liczbę ta k ą , że 1 < aj < |7j|, R i(a i) > A , jeżeli Ą ( | 7j|) > A lub aj = |7j| + 1 - w przeciw nym w ypadku. N iech ój oznacza n a jm n ie jsz ą liczbę ta k ą , że 1 < ój < |7 j|, Qj(&i) < B , jeżeli Q j(|7 j|) ^ B lub bi = |7j| + 1 - w przeciw nym w ypadku. Z estaw pozycji z B = ( z f , . . . , z B) G Z** nazyw am y zestawem
bazowym, jeżeli
u; < Z[B < ej = f max{aj,i>j}, l G M,- oraz m a x Ą ( z f — 1) < m i n Ą ( z f ) ; (7)
/GAfy iG A ij
Ą ( x ) = 0 d la x < aj, Ą ( x ) = Ą ( x ) d la aj < a; < cj oraz Ą ( x ) = oo d la x = cj.
Z biór w szystkich ta k ic h zestaw ów oznaczam y przez Z B * '* . J e s t oczyw iste, że d la każdego zestaw u pozycji z G Z ** istn ieje zestaw bazow y z B 6 Z B *•* ta k i, że h i ( z B) — hj(z) oraz h2( z B) < h2(z), czyli h ( z B ) < h (z ). D latego też p ro ponujem y zbiór ruchów V(zr,y) ograniczyć do V B (T T ,j) = {u = (j, z ) : z G Z B * * \ { z * * } } . Liczność tego zb io ru je st nie w iększa niż YhzM j N I) co o znacza isto tn e zm niejszenie w p o ró w n an iu z licznością (zr, j).
W proponow anym algorytm ie T M N d la każdej operacji j G fi w yznaczam y ruch v f = a r g m i n lC m ^ N ,,) ) : v G V B (-K ,j)} zw any rep rez en ta n tem operacji j . Ostatecznie ro zp a try w a n e sąsiedztw o p erm u tacji 7r m a p o sta ć A f ™ N (ir) — : j G D}.
3.2. A k c e le ra to ry w y b o ru r e p r e z e n ta n ta
P o d staw o w a id e a akceleratorów w y b o ru re p re z e n ta n ta v B polega n a ta k im wykorzys
ta n iu w łasności problem u, aby nie w y znaczając w artości C max(n^v)) d la w szystkich ruchów v G V B ( n , j ) , określić go dokładnie. W ty m celu proponujem y w ykorzystać jednocześnie dw a n a s tę p u ją c e sposoby akceleracji.
I s to tą pierw szego sposobu je s t całkow ita rezygnacja z w yznaczenia re p re z e n ta n ta v f, jeżeli w arto ść C max(7 ) je s t nie m niejsza niż w artość funkcji celu d la re p re z e n ta n ta innej op eracji, k tó ry nie je s t ta b u .
D rugi sposób polega n a ty m , że przed obliczeniem d la danej pozycji bazowej z G ZB**
w artości funkcji celu C max(7T(„)), v = (j , z ), w yznaczam y w artość dolnego ograniczenia L B — h (z ). Jeżeli w arto ść L B je s t nie m niejsza niż obliczona ju ż w artość funkcji celu:
(i) d la innego ze sta w u bazowego operacji j lu b (ii) d la re p re z e n ta n ta innej operacji, który nie je s t ta b u , to ta k i zestaw bazow y je s t opuszczany b ez w yliczania C max(7rv). Bada
n ia testo w e pokazały, iż L B m a b ard z o d o b re w łasności, m ianow icie d la zdecydowanej
A lgorytm ta b u d ia problem u gniazdow ego... 293
większości in sta n c ji dolne ograniczenie L B je s t równe w artości funkcji celu. P o za tym złożoność obliczeniow a w yznaczenia L B d la operacji j wynosi 0 ( |M ,j ) , podczas gdy dokładne obliczenie w artości funkcji celu m a złożoność 0 ((!C ie o l^ < l)2)-
3.3. P o sta ć listy ta b u
E lem entem listy ta b u T , zgodnie z id eą zaw artą w [7], są a try b u ty p erm u tacji i ruchu. D okładniej, je s t to luk określający kolejność pom iędzy pew ną p a rą czynności.
Po w ykonaniu ruchu v = (j , z ) d la p erm u tacji ?r n a listę T zapisyw any je st zbiór AV(ir,v) = UleMj AVi(ir,v) zaw ierający od 1 do |M ,| łuków, gdzie:
R uch v = (j , z ) uw ażam y za ta b u , jeżeli przesunięcie każdej czynności wchodzącej w skład o p era cji j je s t ta b u . P rzesunięcie czynności ( j ,l ) w praw o je st ta b u w ted y i tylko w tedy, g d y n a liście T zn a jd u je się przynajm niej jeden luk (y"i, y'2) ta k i, że j \ = wi(i) d la pew nego zj'* < i < z t oraz j2 = [ j,l) . S ym etrycznie przesunięcie w lewo jest ta b u , g d y n a liście T zn a jd u je się przynajm niej je d n a p a ra operacji ( j i , j 2) taka, że i i = (i, Z) oraz j 2 = 7p(ź) d la pew nego z; < i < z j 'j . W algorytm ie zastosow aliśm y efektyw ne określanie s ta tu s u ruchu zgodnie z id e ą z (7j; obliczenia w stępne m a ją złożoność 0 ( m a x { |M | ■ | 0 | , |T |} ), zaś spraw dzenie, czy przesunięcie pojedynczej czynności je st ta b u , m a złożoność 0 ( 1 ) .
3.4. D o d atk o w e te c h n ik i p o p ra w ia ją c e jakość alg o ry tm u T M N
A lg o ry tm T M N z o stał w zbogacony o d etek to r cyklu oraz o m etodę skoku pow rotnego zap ew n iającą dyw ersyfikacje poszukiw ań [7]. Idea tej m etody polega n a tym , że jeżeli po upływ ie u stalonej liczby kroków T M N nie znajd u je lepszego rozw iązania lub zostaje w ykryty cykl, to alg o ry tm p ow raca do ostatniego najlepszego rozw iązania, lis ta ta b u je st zerowana, zbiór rep rez en ta n tó w pom niejszony i proces poszukiw ań je s t kontynuowany.
{ ( ( i . 0 .M zi'3 + 1 ) ) } . zi ’J < zi
AV , ( * , v ) = {(* ,(* '■ * - 1), ( i , i ) ) } , z r > z,
( 8 )
0,
3.5. R o z w iąz an ie początkow e
D o generacji rozw iązania początkowego posłużyliśm y się algorytm em konstrukcyjnym IN w yko rzy stu jący m tzw . technikę w staw ień, k tó ry je st uogólnieniem odpow iedniego
a lg o ry tm u z [7], Zrezygnow aliśm y z b ard z o szybkich algorytm ów konstrukcyjnych przed
staw ionych w [6] i sto su jący ch reguły priorytetow e. A lgorytm IN generował uszeregowania o 10,2% lepsze niż n ajlep szy zaproponow any ta m alg o ry tm i o 3,6% lepsze niż najlepsze spośród uszeregow ań uzyskanych w szystkim i proponow anym i ta m algorytm am i.
4. Analiza eksperymentalna
P rz y k ła d y testow e zo stały w ygenerow ane n a bazie 120 przykładów z p rac y [1], Orygi
naln e d a n e zo stały zredukow ane do jednego sposobu w ykonyw ania, p o czym odpowiednio rozbudow ane o p a ra m e try t j j oraz p jj, l £ Mj, j e O.
P rz y k ła d y testow e podzielone są n a 3 klasy (R d ata, M d a ta , V d a ta ), po 40 instancji.
K lasy ró żn ią się m iędzy so b ą śred n ią oraz m ak sy m aln ą liczbą czynności jednej operacji;
wielkości te w ynoszą odpow iednio: 2 i 3 d la R d a ta , \ \ M \ i | | M | d la M d a ta oraz \\M\ i
\ \ M \ d la V d a ta . In stan c je w każdej z klas tw orzą gru p y ch arak tery zu jące się jednakową liczbą m aszyn |M |, za d ań | J | oraz operacji |0 |; dokładne d an e przedstaw ione są w tablicy 1. P rz y k ła d y są b ardzo m ocno zróżnicow ane p o d w zględem rozm iaru; liczba czynności zm ienia się o d 77 d o 1722.
T ab lica 1 P a ra m e try grup przykładów testow ych
G ru p a przykładów
\M\
\J\ P I
G ru p aprzykładów
|M |
\J\
| 0 |01 - 0 5 5 10 50 21 - 25 10 15 150
06 - 10 5 15 75 2 6 - 3 0 10 20 200
11 - 15 5 20 100 31 - 35 10 30 300
16 - 20 10 10 100 3 6 - 4 0 15 15 225
A lg o ry tm T M N oceniam y n a pod staw ie jakości w ygenerow anych rozw iązań w odniesie
niu do rozw iązań sta rto w y c h dostarczonych przez algorytm k o nstrukcyjny IN. D la każdego p rzy k ła d u obliczam y w zględną procentow ą popraw ę
p = 100% • (C IN - C TMN) / / C IN ,
Algorytm ta b u dla problem u gniazdowego. 295
gdzie C IN j e s t w arto ścią funkcji celu d la rozw iązania początkowego w ygenerowanego przez algorytm IN, zaś C ™ N - d la rozw iązania otrzym anego algorytm em T M N . A lgorytm TMN był u ru ch a m ian y z n astęp u jący m i p ara m etra m i: długość listy ta b u - 6 |M |, m aksy
malna liczba ite ra c ji - 1 000, liczba iteracji bez p opraw y rozw iązania, której osiągnięcie powoduje skok p o w ro tn y - 250. W yniki przedstaw iono w tablicy 2.
T ablica 2 W yniki te stó w alg o ry tm u T M N d la poszczególnych grup przykładów
G ru p a przykładów
Ś rednia w zględna popraw a p
R d a ta M d a ta V d a ta
01 - 05 7,6 10,8 7,1
0 6 - 10 7,8 10,2 8,4
11 - 15 7,4 6,2 6,0
1 6 - 2 0 15,4 11,1 8,7
21 - 25 15,8 11,2 8,2
2 6 - 3 0 13,7 8,5 8,7
3 1 - 3 5 12,4 8,3 4,6
3 6 - 4 0 14,7 8,6 6,2
0 1 - 4 0 11,8 9,4 7,2
Z analizy tej ta b lic y w ynika, że algorytm T M N popraw ia rozw iązania dostarczone przez algorytm k o nstrukcyjny IN średnio od 7,2% do 11,8%; im m niejsza je st liczba czynności w o p eracji, ty m p o p raw a je s t większa. Czas obliczeń n a kom puterze D uron (900MHz) w ah a się od kilk u sekund do k ilk u n a stu m inut, z w yjątkiem grupy przykładów 36-40 klasy V d a ta , d la k tó ry ch czas obliczeń był rzędu 60 m inut. T ak duży czas obliczeń (dla tej o sta tn ie j grupy przykładów ) w odniesieniu d o czasu p racy algorytm u z p racy [7] dla operacji w ielom aszynow ych z rów noczesnym w ykorzystaniem w szystkich m aszyn wynika p rzede w szystkim ze w zro stu liczby węzłów w grafie G (tc) (klasycznie wierzchołek reprezentował je d n ą operację, a tu ta j reprezentuje je d n ą czynność). D odatkow o, w s y tu acji klasycznej g ra f te n d la p erm u tacji dopuszczalnej nie zaw ierał cykli, zaś tu ta j zaw iera cykle o n ie d o d atn iej długości.
R easu m u jąc, w stęp n e w yniki b a d a ń są b ard z o zachęcające. Jed n ak ż e algorytm T M N w y m a g a jeszcze dalszych b a d a ń , w szczególności przyszłe p race pow inny dotyczyć przy śp ieszen ia jego pracy. W y d a je się, że efekt te n je s t m ożliwy d o uzyskania przez opra
cow anie specjalistycznych m e to d w y znaczania w artości najdłuższej ścieżki w grafie G(~) p o sia d a ją c y m cykle o n ied o d atn iej długości.
L IT E R A T U R A
1. B rü ck er P., N eyer J.: T abu-S earch for M ulti-M ode Jo b -S h o p P roblem , OR Spec
tru m , 20, 1998, pp. 21-28.
2. D rozdow ski M.: S cheduling m ultiprocessor ta s k - A n O verview, E u ro p e an Journal O p e ra tio n a l R esearch, 94, 1996, pp. 215-230.
3. G lover F ., L a g u n a M.: T a b u Search. K luw er A cadem ic P u b lish ers, Massachusetts USA , 1997.
4. G rabow ski J.: Sform ułow anie i rozw iązanie zag ad n ien ia kolejnościowego z rów noległym w ykorzystaniem m aszyn, A rchiw um A u to m a ty k i i Telemechaniki, 1978, pp. 91-113.
5. K ra m e r A.: Scheduling M ultiprocessor T asks on D ed icated Processors, PhD-Thesis, F achbereich M a th e m a tik /In fo rm a tik , U n iv ersität O snabrück, 1995.
6. M akuchow ski M ., Nowicki E.: O p eracje w ielom aszynow e z nierownoczesnym użyciem m aszyn, K om puterow o zintegrow ane zarządzanie, T om II, WNT, W arszaw a 2002, pp. 114-123.
7. Nowicki E .: M e to d a ta b u w problem ach szeregow ania z a d a ń produkcyjnych. Oficyna W y d a w n icz a P olitechniki W rocław skiej, Ser. M onografie 27, W rocław 1999.
8. Nowicki E., S m utnicki C.: A decision su p p o rt system for th e resource constrained p ro je c t scheduling problem , E u ro p e a n Jo u rn a l of O p e ra tio n a l R esearch 79, 1994, pp. 183-195.
9. S aw ik T .: P lanow anie i sterow anie produkcji w elastycznych systemach m ontażow ych, W N T , W arszaw a 1996.
R ecenzent: D r hab . inż. E ugeniusz Toczyłow ski, P rof. Pol. Warsz.
Abstract
T h e p a p e r deals w ith th e criterio n of th e m akespan m in im isatio n for th e job shop p ro b lem w ith m u ltim ach in e o p era tio n s an d non-sim ultaneously used m achines. Proccesses w hich involve som e m achines set for o p era tio n perform ing are m odeled as a multimachine o p e ra tio n s. T h e ran g e w here m achine perform s an o p e ra tio n (so-called an activity) is
Algorytm ta b u d la problem u gniazdowego. 297
defined for each m achine. A n easily im plem ented approxim ation alg o rith m is proposed.
Due to ex ploiting som e s tru c tu ra l p ro p ertie s of th e problem com bined w ith a local search technique con tro lled by a ta b u search stra te g y th e algorithm is able to achieve good results for instances u p to 1700 activ ités, 300 op eratio n s an d 15 m achines. C o m p u tatio n al results for test d a ta arisin g from b en ch m ark instances enlarged by ac tiv ity tim es are presented.