Z E S Z Y T Y N A U K O W E P O L IT E C H N IK I ŚL Ą SK IE J Seria: A U T O M A T Y K A z. 118
1996 Nr kol. 1338
E u g en iu sz N O W IC K I P o lite c h n ik a W rocław ska
Z A S T O S O W A N IE T E C H N IK I T A B U SEARCH
DO I I A R M O N O G R A M O W A N IA E L A ST Y C Z N Y C H G NIAZD P R O D U K C Y J N Y C H
S t r e s z c z e n i e . W p racy p rz e d s ta w ia się szybki a p ro k sy m acy jn y a lg o ry tm o p a rty n a te c h n ic e ta b u search , d la problem u szeregow ania zad ań w elasty czn y ch g n iazd a ch p ro d u k c y jn y c h z k ry te riu m b ę d ą c y m czasem w y k o n an ia w szystkich zad ań . S p e c ja ln a m e to d a im p lem en tacji isto tn ie p o p raw ia lokalne p rzeszu k iw an ie i zw iększa p ręd k o ść a lg o ry tm u .
A P P L IC A T IO N OF T A B U SEARCH T E C H N IQ U E TO S C H E D U L IN G A FL E X IB L E JO B SH O P
S u m m a r y , A fa s t a p p ro x im a tio n a lg o rith m for a p ro b lem of finding a m in im u m in a k e s p a n in a flexible jo b shop is p resen ted . T h e a lg o rith m is b ased on a ta b u se a rc h te c h n iq u e . A special m e th o d of im p le m e n ta tio n im p ro v es th e local search sig n ifican tly and increases th e speed of th e alg o rith m .
1. W s tę p
W n iniejszej p ra c y b a d a się p roblem h arm o n o g ram o w an ia e la sty czn y ch g n ia z d p ro d u k c y jn y c h z k ry te riu m m in im alizu jący m m o m en t zak o ń czen ia w y k o n y w an ia w szystkich z a d a ń p ro d u k c y jn y c h . P rz y jm u je się, że w każdym gnieździć p ro d u k c y jn y m (stan o w isk u obsługi) z n a jd u je się o k reślo n a liczba id entycznych m aszy n . K ażde za d a n ie je s t re p re zen to w an e p rzez pew ien ciąg operacji. D la każdej o peracji je st o kreślone g n iazd o p ro d u k c y jn e , w k tó ry m m a b y ć o n a w ykonana, i czas jej w ykonania. R e a liz a c ja o p eracji w d a n y m gn ieźd zie p ro d u k cy jn y m w y m ag a zaan g ażo w an ia jed n ej (dow olnej) m aszy n y z teg o g n ia z d a . D la up ro szczen ia, w p ra c y nie rozw aża się innych elem en tó w , ta k ic h ja k : czasy tr a n s p o rtu p o m ięd zy g n iazd a m i, skończona p o jem n o ść m ag azy n ó w , p a le ty , u ch w y ty ob róbkow e o raz w ózki tra n sp o rto w e itp . [10]. M im o to b a d a n y p ro b le m je s t je d n y m z n a j
tru d n ie js z y c h p roblem ów szeregow ania zad ań n a m aszy n ach , jak o że je s t u o g ó ln ien iem
zn an eg o z lite r a tu r y p ro b lem u gniazdow ego, uw ażanego pow szechnie za b a rd z o tru d n y . Z p u n k tu w id z e n ia teo rii złożoności obliczeniow ej je s t to p roblem iV P -tru d n y , co u s p ra w ied liw ia sto so w an ie do jego ro zw iązan ia algorytm ów h e u ry s ty c z n y c h , ty m b a rd z ie j że is tn ie ją c e w lite r a tu rz e a lg o ry tm y d o kładne, o p a rte p rz e d e w szy stk im n a m e to d z ie po
d z ia łu i o g ran iczeń , p o z w a la ją go rozw iązać w sensow nym czasie ty lk o d la b a rd z o m alej liczby o p e ra c ji, m aszy n i stanow isk.
A k tu a ln ie b a d a n y p ro b lem je s t rozw iązyw any p rzez alg o ry tm y h e u ry s ty c z n e ty p u kon
stru k c y jn e g o . A lg o ry tm y te , zgodnie z p ew n y m i reg u łam i p rio ry te to w y m i,s z e re g u ją ko
lejn o p o je d y n c z e o p e ra c je i po uszeregow aniu w szystkich kończą sw o je d ziałan ie. C zas ich p ra c y je s t b a rd z o k ró tk i, ale jakość produkow anych przez n ie ro zw iązań n ie zaw sze je s t zad o w a la ją c a . W sy tu a c ja c h , kiedy m ożem y pozw olić sobie n a zw iększenie czasu obliczeń, w a rto zastosow ać a lg o ry tm y ty p u p o p raw , a w szczególności te c h n ik ę ta b u search [1,2], k tó r a d la w ielu p o d o b n y ch zagadnień um ożliw iła sk o n stru o w an ie b ard zo o b ie c u ją c y c h a l
g o ry tm ó w (p a trz n p . [7,8,9] i p ra c a przeglądow a [12] o raz [4,5]).
W p ra c y p rz e d s ta w ia się alg o ry tm ty p u ta b u search, k tó ry je s t o d p o w ie d n ią m o d y fi
k a c ją a lg o ry tm u zap rezen to w an eg o w [7] d la p ro b lem u gniazdow ego o ra z a lg o ry tm u z [6] i [9] d la p ro b le m u przepływ ow ego z m aszynam i rów noległym i. S pecyficzna k o n s tru k c ja o to c z e n ia uszereg o w an ia i w y k o rzy stan ie odpow iednich w łasności do "szy b k ieg o ” jego p rz e sz u k a n ia pozw oliły z n aczn ie zredukow ać czasochłonność w yboru n a jlep szeg o ro zw iązan ia z o to c z e n ia . W konsekw encji p rezen to w an y alg o ry tm is to tn ie p o p ra w ia p o c z ą tk o w e roz
w ią z a n ia , d o sta rc z o n e z pow szechnie stosow anych alg o ry tm ó w k o n stru k c y jn y c h d la tego ty p u z a g a d n ie n ia , w czasie rzęd u kilku m in u t n a IBM P C . R ozw iązyw ane w ty m czasie p ro b le m y m a j ą ro z m ia r akceptow alny w p ra k ty c e .
2 . S f o r m u ło w a n i e p r o b l e m u
R o zw ażan y w p ra c y p ro b lem szeregow ania m o żn a sform ułow ać n a stę p u ją c o : D an y je st zb ió r z a d a ń J — ( 1 , 2 , . ,ra ), zbiór o p eracji O = ( 1 , 2 , . . . , o} o raz zb ió r stan o w isk obsługi M = { 1 , 2 , Za da ni e j , j € J sk ład a się z sekw encji o, o p eracji indeksow anych o d p o w ied n io p rz e z (r , + 1, tj 2 , . . . , r, + o ,), k tó re należy w ykonyw ać w tej kolejności, g dzie Tj = i °i Jc st liczb ą o p eracji w z ad an iach 1, 2 , . . . , j — 1, n = 0 o raz D , e j o, = o.
W k a ż d y m stan o w isk u obsługi l, ł € M . z n a jd u je się zbiór M i = {1, 2 , . . . , m /} z aw icrajacy
Z asto so w an ie te c h n ik i ta b u search do h arm o n o g ram o w an ia elasty czn y ch . 155
m¡ id e n ty c z n y c h m a sz y n . O p e ra c ja i, i € O p o w in n a być w y k o n an a w sta n o w isk u /i; 6 M w czasie p t- > 0 n a je d n e j, dow olnie w ybranej m aszy n ie z teg o stanow iska. P rz y jm u je się, że k a ż d a m a s z y n a m oże w ykonyw ać w danej chwili nie więcej niż je d n ą o p e ra c ję o raz w yko n y w an ie o p eracji n a danej m aszy n ie nie m oże być przery w an e. D o p u szczaln e u szere
gow anie je s t definiow ane przez zb ió r p a r ( Ki , C ,), i 6 0 ta k ic h , że pow yższe o g ran iczen ia s ą sp e łn io n e , g d zie I{¡ € M Mj je s t m aszy n ą, k tó ra w ykonuje o p erację t w stan o w isk u fi¡, zas' Ci m o m e n te m zak o ń czen ia w y konyw ania tej op eracji w ty m stan o w isk u . P ro b le m po leg a n a z n a le z ie n iu d opuszczalnego uszeregow ania m inim alizu jąceg o czas w y k o n an ia w szy st
kich o p eracji m ax ¡£o C¡.
P rz e d s ta w io n y p ro b le m różni się ty m od klasycznego p ro b lem u gniazdow ego (n o to w a
nego z a G ra h a m e m ja k o J || C,,,»*), że w d anym gnieździe p ro d u k c y jn y m m oże z n ajd o w ać się k ilk a m a sz y n . P o w o d u je to , że należy dodatkow o w yznaczyć d la każdej o p e ra c ji m a szy n ę, n a k tó re j b ę d z ie on a w ykonyw ana.
W celu sfo rm u ło w an ia pełnego m odelu m atem aty czn eg o pow yższego z a d a n ia w y g o d n ie je s t, p o d o b n ie ja k w [6-9], posłużyć się pew nym skierow anym grafem re p re z e n tu ją c y m uszeregow anie. N iech Ot = {i € O : /«; = 1} o k reśla zb ió r o p e ra c ji, k tó re p o w in n y by ć w y k o n an e w stan o w isk u /, / 6 M . W każdym stan o w isk u I zb ió r o p e ra c ji 0¡
n a le ż y p o d z ie lić n a m i podzbiorów Oik, k £ M¡; o p eracje ze zb io ru O/k b ę d ą w ykony
w an e n a m asz y n ie k. K olejność w ykonyw ania o peracji ze zbioru Ojjt o k re śla p e rm u ta c ja TC/it = ( ir ij t( l) ,. . . , it(oiit)), g d zie itijfc(to) ozn acza o p erację ze zb io ru Oik, k tó r a w y stę p u je w w -tej p o zy cji w ir/jt, zaś ou¡ = |O u |. S tąd kolejność w y konyw ania w szy stk ich o p e ra cji je s t o k reślo n a p rzez p e rm u ta c ję ir = gdzie it| = ( itn , it|2, . . . , ir/m |).
Z b ió r w szy stk ich ta k ic h p e rm u ta c ji w ynikających z w szystkich m ożliw ych ro zb ić zbiorów Ot o ra z ró żn y ch kolejności w ykonyw ania o peracji ze zbiorów Oik o zn aczam y przez IT. T e
ra z m o żem y p rzejść do zdefiniow ania zapow iedzianego wcześniej g rafu . D la p e rm u ta c ji it, rr € n niech G (ir) = [O, E ' U £ ( i r ) b ęd zie skierow anym grafem ze zb io rem w ierz
chołków O o raz zb io rem luków E ' U E ( n ) , gdzie E ‘ = U j E j U i i i M f 7!» + * .Tj + * + 1)}
o k reśla w y m a g a n ą tech n o lo g iczn ą kolejność p rzech o d zen ia zad ań przez stan o w isk a, zaś
£ ( * ) = U/cm U tew , Uw=T’ { ( k k - M , it/it(ui + 1))} w y b ra n ą kolejność w y k o n y w an ia o p eracji n a m a s z y n a c h . K ażd y w ierzchołek i tego grafu m a w agę p,-, a każdy luk w agę zero. N iech r ;( it) o z n a c z a w a rto ść n a jd łu ż sz e j drogi dochodzącej do w ierzchołka i w grafie G (it), łącz
n ie z ty m w ierzchołkiem . O czyw iście, w p rzy p ad k u gdy g ra f G (it) je s t cykliczny, n ie k tó re
z w arto ści r ,( it) m o g ą być rów ne nieskończoności. W p rzeciw n y m w y p a d k u z e sta w p a r ( A Ci), i 6 O , o k reśla n ajlep sze (w sensie k ry te riu m C mAX) uszeregow anie d o p u szczaln e zg o d n e ’’kolejnościow o” z p e rm u ta c ją ir, gdzie A',- je s t m a sz y n ą ze sta n o w isk a p ; ta k ą , że i 6 • • • i ■*w.A';((WC;)}> za-ś Ci = O sta te c z n ie o z n a c z a ją c p rz e z CmAX(-ir) długość n a jd łu ż sz e j drogi w G (ir) (ścieżka k ry ty c z n a ), p ro b le m n asz m o ż n a sform ułow ać n a stę p u ją c o : Z n aleźć kolejność rt* £ ii ta k ą , że C mAX(it*) = m in x6n GmAX(it).
Ścieżkę k ry ty c z n ą w grafie G {tt) m o żn a opisać jak o ciąg u = ( u j , u 2, . . . , u , ) w ierz
chołków teg o g rafu , gdzie u,- € 0 , 1 < i < 3, a a je s t długością ścieżki. Oczywiście, GmAX(ir) - J j L i P u i - Ścieżkę u, p o d o b n ie ja k d la p ro b lem u gniazdow ego, m o ż n a p rz e d sta w ić w p o sta c i u = (£?], B 2, . . . , /?,), gdzie
B i, = (es)i (c/i + l)i • • • i (A)).
1 < A < i, je s t ciąg iem zaw ierający m o p eracje w ykonyw ane n a te j sam ej m a s z y n ie w p ew n y m stan o w isk u (m a sz y n ę tę i stanow isko o zn aczam y o dpow iednio p rz e z k /, o raz A ) p o c z y n a ją c o d op eracji z pozycji e-u, 1 < ea < opią,, a kończąc n a o p eracji z po
zycji A i Cfc A ^ , w p e rm u ta c ji ir;Ajtk. D odatkow o p rzy jm u jem y , że o p e ra c je z dw óch k olejnych ciągów Bk, ZA+i są w ykonyw ane w różnych stan o w isk ach , tz n . A 7^ A + u fc = 1 , 2 , 1 . D alej ciąg Bk będziem y n azyw ać /i-ty m blokiem o p eracji n a ścieżce k ry ty c z n e j. U w z lę d n ia ją c w cześniej w prow adzone p o jęcia, d la każdej o p eracji i z b lo k u Bk zach o d zi p , = A, i € 0 ((p A, oraz C niAX(it) = D a= i Pi-
3 . M e t o d a t a b u s e a r c h
T e c h n ik a ta b u search z o sta ła w yczerpująco o p isan a w w ielu p ra c a c h , p a tr z np. [1,2].
D la te g o też t u t a j o g ran iczy m y się tylko do k ró tk ieg o jej szkicu. P o d staw o w y m ele m e n te m te j te c h n ik i je s t p o ję c ie ru ch u , o to c z e n ia oraz listy ta b u . P rzez ru c h ro zu m iem y fu n k cję, k tó r a o dw zorow uje je d n o uszeregow anie w d ru g ie. D la każdego u szereg o w an ia d o p u sz czalnego o k reślony je s t pew ien zestaw ruchów , g en eru jący d la niego o to cze n ie. A lg o ry tm w y k o rz y stu ją c y te c h n ik ę ta b u search s ta r tu je z pew nego u szereg o w an ia do p u szczaln eg o w ygenerow anego p rzez p ro s te a lg o ry tm y k o n stru k c y jn e i zw anego dalej u szeregow aniem b azo w y m . N a s tę p n ie ok reśla się d la tego uszeregow ania o to cze n ie, z n a jd u je się w nim n a jle p sz e w sensie w arto ści funkcji celu uszeregow anie i dalej tr a k tu je się j e ja k o u szere
Z asto so w an ie tech n ik i ta b u search tlo harrn o n o g ram o w an ia elastycznych . 157
gow anie bazow e w n a stę p n e j ite ra c ji. W celu p rzeciw d ziałan ia p rzed w p ad n ięciem w cykl, po w y k o n an iu ru ch u n a tzw . liście ta b u (p am ięć k ró tk o term in o w a) zap isu je się pew n e jeg o a tr y b u ty . Z kolei w trak cie generow ania o to cze n ia nie ro z p a tru je się ru ch ó w , k tó ry c h a tr y b u ty z n a jd u ją się n a liście ta b u ; ruchy te są ru ch am i zab ro n io n y m i. Z m niejszenie re stry k c y jn o śc i listy ta b u o siąg a się przez w prow adzanie poziom u asp iracji ru c h u .
D alej, w kolejnych ro zd ziałach , p rzed staw im y szczegółowo poszczególne e le m e n ty n a szego a lg o ry tm u zw anego dalej a lg o ry tm e m T S .
4 . R u c h i o t o c z e n i e
W większości a lg o ry tm ó w , w k tó ry ch rozw iązanie je s t określone przez p e rm u ta c ję (lu b zestaw p e rm u ta c ji), ja k o ruch p rzy jm u je się: (i) p o b ran ie pew nego e le m e n tu p e rm u ta - cji i w łożenie go p rzed p ew n y m elem en tem z n a jd u ją c y m się na określonej pozycji w tej p e rm u ta c ji, (ii) z a m ia n ę p o ło żen ia dw óch w ybranych elem entów p e rm u ta c ji. R u ch y ty p u (i) u m o ż liw ia ją z reguły szybsze w y zn aczen ia w artości funkcji celu d la o trz y m a n e j (po w y k o n an iu ru ch u ) p e rm u ta c ji. D latego też będziem y rozw ażać ty lk o ru ch y tego ty p u . P re c y z y jn ie , ja k o ru ch v = ( i , a , x , b , y ) zastosow any do p e rm u ta c ji n € II, b ęd zie m y ro zu m ieć czynność p o le g a ją c ą n a p o b ra n iu o peracji z = it|a ( i ) z p o zy cji x n a m a s z y n ie a w sta n o w isk u l i w łożeniu je j bezp o śred n io p rzed o p erację z pozycji y n a m aszy n ie b w ty m sa m y m sta n o w isk u , gdy y < on lub w łożeniu jej b ezp o śred n io p o o p eracji z pozycji
°iki g d y y = o j i - t - l . W p rz y p a d k u b = a, tzn . przesu w an ia o p eracji z w o b ręb ie tej sa m ej m aszy n y , o p e ra c je 1r/a( z + 1) , . . . ,ir/a (i/ - 1) są przesuw ane o je d n ą p o zy cję w lewo, jeżeli x < y , lu b o p eracje ir/0( y ) , . . . , iria(x - 1) są przesuw ane o je d n ą p o zy cję w praw o, g d y x > y . W p rz y p a d k u 6 a, tzn . p rzesu w an ia operacji z n a in n ą m aszy n ę, o p e ra c je it/a(x + 1 ) , . . . ,ii(a (oia) s ą przesu w an e w lewo, zaś o p eracje it/i,(y ),. . ■, ^ik(oii,) w praw o. W w y n ik u ru c h u u o trz y m u je m y now ą p e rm u ta c ję n o to w an ą ja k o rrv.
P ie rw s z ą rzeczą, k tó r ą tr z e b a w ziąć pod uw agę przy definiow aniu, ja k ie ru c h y v należy w y k o n ać z danej p e rm u ta c ji ir, je s t niedopuszczenie do p o w sta n ia cyklu w grafie G (it„).
P o d ru g ie, n ależ y d okonać sensow nego w yboru wielkości teg o zb io ru ruchów , o z n acza
nego dalej p rzez V (ir). D uży zb ió r V (n ) w ym aga znacznych n akładów obliczeniow ych n a w y zn aczen ie ru ch u d ając eg o n a jle p sz ą w arluść funkcji celu. Z kolei is to tn e zm n iejszen ie te g o zb io ru m oże uniem ożliw ić p rzeg ląd an ie ty ch obszarów ro zw iązań d o p u szczaln y ch , w
k tó ry c h z n a jd u ją się ro zw iązan ia o p ty m a ln e lu b do nich zbliżone. D latego te ż , p o d o b n ie ja k w [9], w y k o rz y sta m y "elim in acy jn e w łasności ścieżki k ry te c z n e j” do k o n stru k c ji zb io ru V {tC). M ian o w icie, n ie b ęd zie m y rozw ażać ruchów , k tó re p o le g a ją n a p o b ie ra n iu o p e ra cji n ie leżą cy ch n a ścieżce k ry ty c z n e j, a dok ład n iej, nie n ależących do bloków o p eracji o liczności w iększej niż dw a. U spraw iedliw ione je s t to fa k te m , że d la elim in o w an y ch ruchów C m a f i t,) > Cm lx(ii). P o d o b n a nierów ność zachodzi, jeżeli p rzesu w am y o p e ra c je w o b ręb ie te j sam ej m a s z y n y o raz: (i) przesuw am y p ierw szą o p erację b lo k u w lew o, (u ) p rzesuw am y o s ta tn ią o p e ra c ję b lo k u w praw o, (iii) przesu w am y o p erację z w n ę trz a b lo k u (tz n . o p e
ra c ję n ie pierw szą, i n ie o s ta tn ią w b lo k u ) n a pozycje z w n ę trz a b lo k u . W konsekw encji p ro p o n u je m y n a s tę p u ją c y zb ió r ruchów :
h
=
U U
\ {u 6 kśr(Tt) : G(tvu) je s t cykliczny}gdzie
%,(*) = Vi(n) u vi ( *) ,
oraz
' /Ar(1f) = U {” = ( h i h , x , b , y ) : 1 < y < oiht>+ 1},
»«w,*. Mb,
vłU 10 = {« = ( k, kh, x, h, y) ■ y e A(*)}
Z b ió r okres'la ruchy, k tó re w ykonujem y p o p o b ra n iu o p eracji z — ( z ) z bloku Bh z p o zy cji x . Z b ió r te n je s t podzielony n a dw a zb io ry V^x ( x ) , V*T( x ) . P ierw szy o kreśla ru c h y p o le g a ją c e n a w k ła d a n iu o p eracji z n a in n e m aszy n y niż m a s z y n a k n a której b y ła o n a w y k o n y w an a, a drugi n a przem ieszczaniu o p eracji z ty lk o n a m a s z y n ie kh- Zbiór P h ( x ) o z n acza p o z o sta łe pozycje w p e rm u ta c ji irą,*,, w y n ik ające z u z g lę d n ie n ia w arunków (i)-(tii); Ph(eh) = {e-h + 2 , e A + 2 , . . . , o i hkh + 1}, P n (fh ) = { 1 , 2 , . . . , / a - 2 ) , Ph( x ) = { 1, 2 , . . . , m i n ( r - 2, eA)} U { A + 1, fh + 1, ■ .., + 1}, e* < x < //,. Ze z b io ru Ph(fh) z o s ta ła w y elim in o w an a p o z y c ja fh - 1, poniew aż p rzesu n ięcie o p e ra c ji z p rz e d o p e ra c ję z te j p o zy cji d aw ałoby ta k ą s a m ą p e rm u ta c ję , co p rzesu n ięcie o p eracji — 1) p rzed o p e ra c ję z po zy cji / a + 1. D otyczy to rów nież zb io ru Ph(e/i + 1)1 elim in acji p o zy cji r./,.
P rz e jd z ie m y te r a z do an alizy liczności zbioru V (rt). Z auw ażm y, że |VLc(ir)| « | 0 / J ■ S tą d i p rz y jm u ją c d la uproszczenia, że g ra f (7(n„) je s t acy k liczn y d la każdego ru c h u v , o tr z y m a m y | V (ir)| « |S a | |. P oniew aż w yznaczenie Cmax(lrv) (lub stw ierd zen ie,
Z asto so w an ie te c h n ik i ta b u search do h arm o n o g ram o w an ia elastycznych 159
że g ra f G (ir„) je s t cykliczny) w y m ag a O[o) kroków , to przeglądnięcie o to c z e n ia 0 ( n ) = { ir „ : v £ ^("¡r)} w y m a g a aż 0 (o X )/,=i |B /J | ( \ | ) czasu. D alej n aszk icu jem y m e to d ę , k tó r a p o zw ala n a p rzeg ląd n ięcie tego o to cze n ia w czasie 0 (oX)j,=1 IB /J).
W s p o m n ia n ą pow yżej m e to d ę b ędziem y om aw iać d la pew nego u stalo n eg o bloku B/,, 1 < h < t o raz u sta lo n e j op eracji z — irifljfch(z ) , e/, < x < //, z p e rm u ta c ji P ołóżm y l = 1^ o raz a = h^. Pokażem y, że przeglądnięcie całego zbioru ruch ó w Vhi{n) (tz n . sp raw d zen ie, czy g ra f G'(tt„) je s t acykliczny o raz w yliczenie Cmax(Ttv) d la w szystkich
V £ V/,x(n) = r y/wr(it) \ {u 6 V/1I (-n) : G {itv) je s t cykliczny}) w y m ag a O (o) kroków . N a p o c z ą te k w p ro w ad źm y kilka dodatkow ych pojęć. N iech A {i) (B ( i) ) o z n acza o p e r a c ję , k tó r a je s t b ezp o śred n im n a stę p n ik ie m (p o p rzed n ik iem ) techn o lo g iczn y m o p eracji i, tz n . (i, A (i) ) 6 E ’ £ B*). Jeżeli o p eracja i nie m a n a stę p n ik a (p o p rzed n ik a) te c h nologicznego, to p rz y jm u je m y A (i) = 0 ( B(£) = 0). D alej oznaczm y przez dv (c„) o p erację, k tó r a p o w y k o n an iu ru ch u u = ( l , a , x , b , y ) z n , b ęd zie b e zp o śred n im n a stę p n ik ie m (p o p rz e d n ik ie m ) o p eracji z i je s t w ykonyw ana n a m aszy n ie b, tz n . (z,</„) £ E (it„ ) (( c „ ,z ) £ B (iru)). Z definicji ir„ w ynika, że (lv — ^ w {y ) , jeżeli y < o/6 oraz dv = -it/¡.(o/t, + 1) = f 0, gdy y = on, + 1. P o d o b n ie cv = TT/t(y — 1), jeżeli y > 1 oraz e„ = -n/ifO) = f 0, gdy y = 1.
N a jp ie rw p o d a m y m e to d ę , k tó ra pozw ala ’’szybko” znaleźć w szystkie ru c h y v £ V/,x (n ) n ie p o w o d u ją c e cyklu w grafie G ( it„). P raw dziw a je s t n a s tę p u ją c a w łasność.
W ł a s n o ś ć 1 . Niech z £ IT, gra f G (n ) j e s t acykliczny oraz v — ( l , a , x , b , y ) £ V/,r . G r a f G (tt„) j e s t ac yklic zn y wtedy i tylko wtedy gdy w grafie G (ir) nie istnieje droga z wierzchołka A ( z ) do jednego z wierzchołków Tt/i,(l), ir/i,(2),. . . , ^ a ( y - 1) = cv oraz nie istnieje droga z jednego z wie rz chołków ^ ¡.(i/) = d v,^ n ,(y + 1) , . . . , it(j(o(i,) do wierzchołka B ( z ) .
W p rz y p a d k u gdy A { z ) — 0 lu b y = 1 (B (z ) = 0 lub y = on, + 1), w y m ien io n e pow yżej d ro g i n ie is tn ie ją ,p o n ie w a ż g ra f G (it) nie zaw iera w ierzchołka 0.
W łasn o ść 1 p o zw ala w czasie O (o) określić w szystkie ruchy v £ V/,r , d la k tó ry c h g ra f G (it„ ) je s t acykliczny. R zeczyw iście, w y starczy w yznaczyć w ierzchołki A W £ 0 / w grafie G’(it), do k tó ry c h is tn ie je d ro g a z w ierzchołka A (z ) oraz w ierzchołki B W £ 0 / w grafie G ( it), z k tó ry c h is tn ie je d ro g a do w ierzchołka B { z ) . M ożna to w ykonać w czasie O (o).
Z auw ażm y, żc jeże li it/¿(u/) ^ A W , to tci/,(uj - l) A W , w = 2 , 3 , . . . , o/6- P o d o b n ie , jeże li it|j,(ui) (fi. B W , to n [b{w + 1) £ B W , w — 1 , 2 , . . . , 0/6 - 1. S tąd i z W łasności 1 w ynika, że g ra f G (it„) je s t acy k liczn y w tedy i ty lk o w tedy, gdy cv fi A W i d u fi B W . M o żn a to
sp ra w d z ić w czasie 0 ( 1 ) , p rzy odpow iedniej s tru k tu r z e p a m ię ta n ia zbiorów A W i B W . O sta te c z n ie , p oniew aż |14r (it)| « \OĄ < o, o trzy m u jem y w sp o m n ia n ą w yżej złożoność.
P rz e d y s k u tu je m y te ra z m e to d ę , k tó r a pozw ala w yznaczyć C m^x(i\v) d la w szystkich u £ Vśx(iv) te ż w czasie 0 ( o ) . P odstaw ow ą rolę będzie tu ta j p ełn ić p e rm u ta c ja 7 , k tó r a je s t o tr z y m a n a z ir p rzez p o b ra n ie o p eracji z z p e rm u ta c ji i nie wlożenie j e j do żad n ej in n ej p e rm u ta c ji ips. O d p o w ia d a ją c y jej g ra f G ( 7 ) = [G (ir) \ { ( ^ ( a : - l ) , z ) , (z, ir/a ( x + 1))}] O {(iWn(i — 1), ^ /„(x + 1))}. Jeżeli x — 1 lu b x = o/a, to o d p o w ied n ie p a ry w pow yżej rów ności n ie w y stę p u ją . N a koniec przez r , ( 7 ) (<7,(7 )) o znaczm y w arto ść n a jd łu ż sz e j drogi d o ch o d zącej do w ierzchołka i (w ychodzącej z w ierzchołka i) w grafie G (7 ) łącz n ie z ty m w ierzch o łk iem , r 0(7 ) = 0 (90(7 ) = 0 ).
W ł a s n o ś ć 2 . Niech -rc £ IT ora: graf G (it) jest acykliczny. Dla każdego u £ 14i (it) m a m y C m„ (ir„ ) = rn a x {C m« (
7
), m a x (rB(j)( 7 ) ,r iv (7 )) + p. + max(9/1(l)(7 ), 9 ^ ( 7 ) ) } .K o n s tru k c ja g rafu G ( 7 ) z grafu G(-k) w y m ag a 0 ( 1 ) czasu. W y liczen ie w artości ^ ( 7 ), 9,(7 ) d la i £ Oi o ra z w artości Om»x(7 ) w y m ag a O(o). W y zn aczen ie je d n e j w artości Omwc(it„), w y k o rz y stu ją c W łasność 2, w ym aga 0 ( 1 ) . S tą d do w y z n aczen ia ich w szy st
k ich (w p rzy b liżen iu |0 / |) p o trz e b a 0 ( | 0 | | ) czasu. O sta te c z n ie , p oniew aż |0 / | < o, to w y liczen ie C maz(r^v) d la w szystkich u £ VŁx(it) w y m ag a 0 ( o ) czasu.
5 . L i s t a t a b u
N a liście ta b u T o u stalo n ej długości M a x T (p a r a m e tr a lg o ry tm u ) b ę d zie m y z a p a m ię ty w a ć p e w n e a tr y b u ty a k tu a ln ie w izytow anej p e rm u ta c ji ir, k tó re zależą od w ykonanego z niej ru c h u u = (/, a , x , b, y). A try b u ta m i ty m i b ęd zie p a ra lu b dw ie p a ry sąsied n ich o p e
racji z p e rm u ta c ji it|a - Jeżeli l> ył u, w tedy n a listę T zapisujem y dw ie pary o p eracji (c „ ,z ) o ra z (z, d„). W p rz y p a d k u gdy b — a, zap isu jem y tylko je d n ą p arę; jeże li x < y, to (z , d„), z aś g dy z > y , to (c„, z). P rz y zapisyw aniu danej p ary n a listę T n a js ta rs z a p a ra je s t u su w a n a . P o czątk o w o T je s t całkow icie z a p e łn io n a przez p a ry (0,0).
R u ch u = ( l , a , x , b , y ) nie m oże b y ć w ykonany z p e rm u ta c ji ir (m a s ta tu s ta b u ) , jeżeli w 0 = (itv)(fc p o ja w ia się p a ra niekoniecznie sąsiednich o p eracji (/?(?«'), £ T , k tó rej n ie było w n n , gdzie w' < w ". R e stry k c ję tę m o żn a w yjaśnić ty m , że p o jaw ien ie się tak iej p a ry su g e ru je , iż p e rm u ta c ja 0 lub zbliżona do niej była ju ż w cześniej ro z p a try w a n a .
Z asto so w an ie tech n ik i ta b u search do liarm o n o g ram o w an ia elasty czn y ch ■ 161
6 . S t r a t e g i a p r z e g l ą d a n i a o t o c z e n i a i w a r u n k i s t o p u
N iech tt b ęd zie p c rrn u ta c ją bazow ą n a p o czątk u pew nej ite ra c ji a lg o ry tm u T S . S tr a te g ia p rz e g lą d a n ia o to c z e n ia 0 (n ) = (n,, : v £ V('k)} w y k o rzy stu je p o ję c ie re p re z e n t a n t a zb io ru ru ch ó w , w prow adzone pierw szy raz w [8]. D la każdego zb io ru ruchów 14r (ir) o k re śla m y ru c h v(V/ur(it)) € Va*(TC)> zw any jego re p re z e n ta n te m ta k i, że — m in „g(rhi(^) C mix(ir„). D alej z a m ia st zb io ru ruchów V (it) ro z p a tru je m y ty lk o zb ió r re p re z e n ta n tó w W (ir) = {v (Vkx(-ir)) : 1 < h < t, |S /,| > 1,6), < i < />,}. N a stę p n ie w ty m zb io rze z n a jd u je m y ru c h y R ( v ) — {u £ Vk(n) : (u nie m a s ta tu s u ta b u ) V C maX(it„) < C r s }, k tó r e n ie m a ją s ta tu s u ta b u lu b d la k tó ry ch w artość funkcji celu je s t m n ie js z a niż n a j le p sz a d o ty ch cz as z n ale zio n a przez alg o ry tm T S (o zn aczan a tu t a j przez C T S ). Z kolei w z b io rze R ( ir) z n a jd u je m y ruch v' ta k i, że C Ilmx(Tv„i) = m iii„6n (,j (^„„„(ii,,). Jeżeli zb ió r R ( -n) je s t p u sty , to u suw am y ty le n a jsta rsz y c h elem entów z listy T} aż b ęd zie on nie p usty.
P o w y b o rze ru ch u v ' o dpow iednio m odyfikujem y listę T (p a trz ro zd ział 5), p o d sta w ia m y C TS := ( ^ „ ( n , , ') , txT5 := n v’, jeżeli C nmx(T v ) < C l s oraz p e rm u ta c ję ir„/ tr a k tu je m y ja k o p e rm u ta c ję b azo w ą (tz n . ir := ir,/) d la n astęp n ej iteracji a lg o ry tm u .
W a lg o ry tm ie w y k o rzy stu je się d w a w arunki sto p u . P ierw szy po leg a n a z a tr z y m a n iu p o szu k iw ań , k ied y w ykonaliśm y ju ż M a x [ t e r iteracji bez p o p ra w y w artości funkcji celu. D rugi k ończy p o szu k iw an ia, gdy w ykonaliśm y łączn ie M a x T o t l t c r ite ra c ji. W ielkości M a x l t e r o raz M a x T o t l t e r są p a ra m e tra m i alg o ry tm u i p o d le g a ją w yborow i.
7 . W y n i k i b a d a ń t e s t o w y c h
A lg o ry tm T S z o sta ł zakodow any w P ascalu i byl u ru c h a m ia n y n a m in ik o m p u te rz e IB M P C 586 (lOO M IIz). P rz e d sta w im y tu ta j tylko w stęp n e w yniki testó w . T e sty te zo
s ta ły p rz e p ro w ad zo n e n a szczególnie tru d n y c h przy k ład ach zap rezen to w an y ch w [11] d la p ro b le m u gniazdow ego; 10 przykładów d la każdego zestaw u 15/15, 2 0 /1 5 , 2 0 /2 0 , 3 0 /1 5 , 3 0 /2 0 , 5 0 /1 5 , 5 0 /2 0 , 100/20 (pierw szy elem ent k odujący zestaw ozn acza lic z b ę za d a ń n , a d ru g i lic z b ę sta n o w isk w ) - łącznie 80 p rzykładów . P o n iew aż w p rz y k ład ach ty ch w s ta now isku w y stę p u je ty lk o je d n a m aszy n a, to d la każdego z nich utw orzono 5 p rzy k ład ó w o różnej liczb ie m aszy n m i w poszczególnych stanow iskach. W ielkości m ; b y ły g en ero w an e w g ro z k ła d u ró w n o m iern eg o n a zbiorze ( 1 , 2 , 3 ) . Ł ącznie p rz e b a d a n o 400 p rz y k ła d ó w .
D la każdego p rz y k ła d u w yznaczano: ( 2) n a jm n ie jsz ą w artość funkcji celu C B o tr z y m a n ą p rz e z 10 a lg o ry tm ó w k o n stru k cy jn y ch o różnych regułach p rio ry te to w y c h , [3], (ii) n a jm n ie js z ą w a rto ść funkcji celu C p o p o trz y m a n ą przez d ziesięcio k ro tn e u ru ch o m ien ie klasy czn eg o a lg o ry tm u ty p u popraw P O P sta rtu ją c e g o z ró żn y ch p e rm u ta c ji o tr z y m a n y ch p rz e z a lg o ry tm y k o n stru k c y jn e z (¡); P O P z a trz y m u je się, g dy w o to c z e n iu 0 ( iv) nie m a ro z w ią z a n ia o lepszej w artości funkcji celu, (iii) w artość funkcji celu C TSk o trz y m a n ą p o w y k o n an iu k = M a x T o t I t e r , M a x T o t l l e r — 1000,5000, ite ra c ji b a d a n e g o a lg o ry tm u T S . Ja k o ro zw iązan ie p oczątkow e w T S p rzy jęto kolejnos'ć o tr z y m a n ą p rz e z a lg o ry tm k o n stru k c y jn y z re g u łą S P T oraz listę ta b u o długości M a x T = 8 .
N a b a z ie tych w artości w yznaczono w zględną p ro cen to w ą p o p raw ę
<bA = m % ( c B - C A) I C B
w artości C A w sto su n k u do w artości porów naw czej C B , A 6 {P O P ,T 5 lO O O ,T 5 5 0 Q O }.
N a stę p n ie , d la każdej k o m b in acji n oraz m w yznaczono śre d n ie a ry tm e ty c z n e z 50 w arto ści 4>/i. W y n ik i przed staw io n o w ta b lic y 1. Z analizy ta b lic y 1 w ynika, że śre d n ie
T a b lic a 1 W y n ik i b a d ań testow ych a lg o ry tm u T S
n / m m /
Ś red n ie w zględne pop raw y d la alg o ry tm u
C zas n a PC5S6 w [sec]
d la a lg o ry tm u P O P T S 1 0 0 0 T S 5000 P O P T S 1 0 0 0 T 5 5 0 0 0
15/15 1 . . . 3 3.6 18.9 19.4 1 6 28
2 0 /1 5 1 . . . 3 3.7 21.4 22.0 3 12 57
2 0 /2 0 1 . . . 3 3.6 14.9 15.2 4 17 82
3 0 /1 5 1 . . . 3 3.0 21.2 21.8 6 30 142
3 0 /2 0 1 . . . 3 2.9 15.8 16.4 9 44 209
5 0 /1 5 1 . . . 3 3.0 14.2 14.6 18 91 443
5 0 /2 0 1 . . . 3 2.9 17.4 17.9 26 129 635
100/20 1 . . . 3 1.3 11.1 11.2 112 550 2710
w szy stk ie 3.0 16.9 17.3
Z asto so w an ie tech n ik i ta b u search do h arro o n o g ram o w an ia elastycznych . . . _________
w zględne p o p ra w y 4|TS1000 w a h a ją się w gran icach od 11.1 do 21.4 p ro cen t. C zas p ra c y a lg o ry tm u TSlOOO ro śn ie ze w zrostem liczby operacji; od 6 sekund d la 225 o p eracji do około 9 m in u t d la 2000 o p eracji. R óżnica p om iędzy <J>rS1000 a 4>T5500° je s t ty lk o rzędu 0.5
%, zaś czas p ra c y a lg o ry tm u T S 5 0 0 0 je s t p ięcio k ro tn ie w iększy niż a lg o ry tm u TSIOOO.
D lateg o te ż w y d a je się , że w sy tu a c ja c h p rak ty czn y ch w y starczy w ykonać około ty s ią c a ite ra c ji a lg o ry tm u T S . P o ró w n an ie alg o ry tm u TSJOOO z a lg o ry tm e m P O P z p u n k tu wi
d z e n ia jakości produ k o w an y ch rozw iązań w yraźnie w skazuje n a T 5 1 0 0 0 ; śre d n ia w zględna p o p ra w a d la w szy stk ich przykładów przy alg o ry tm ie TSIOOO ró w n a się 16.9 % , po d czas gdy p rz y P O P ty lk o 3.0 % . Zw iększenie czasu obliczeń je s t w p ełn i rek o m p en so w an e z n a c z n ie lep szy m ro zw iązan iem .
Z p rzed staw io n y ch w stępnych w yników testó w w ynika ju ż , że T S m oże by ć z pow o
d zen iem sto so w an y do rozw iązyw ania problem ów o p rak ty czn y ch ro zm iarach . W a rto tu ta k ż e zau w aży ć, iż w a lg o ry tm ie ty m łatw o uw zględnić niezerow e czasy tr a n s p o rtu p o m ię d z y g n ia z d a m i (w y sta rc z y w prow adzić o b ciążen ia na lukach E " ) czy te ż w y stęp o w an ie n ie id c n ty c z n y c h m asz y n w gn iazd ach p ro d ukcyjnych.
L IT E R A T U R A
1. G lover F .: T a b u search. P a rt I. O RSA Jo u rn a l on C o m p u tin g , 1, 1989, 190-206.
2. G lover F .: T a b u search fu n d a m e n ta ls an d uses, R esearch R e p o rt, U n iv e rs ity of C o lo rad o , B o u ld er, A p ril 1995.
3. F ren ch S.: Sequencing an d S cheduling: An In tro d u c tio n to th e M a th e m a tic s o f th e Jo b S h o p , W iley, New York 19S2.
4. K orcyl A ., Saw ik T .: A lg o ry tm y ty p u ta b u d la z a d a n ia rów now ażenia obciążeń e la sty czn eg o sy s te m u m ontażow ego. Zeszyty N aukow e P o litech n ik i Ś ląskiej, z. 114, G li
w ice 1994, s. 174-185.
5. K a d lu c z k a P ., W ala K .: T a b u search h e u ristic for generalized g ra p h p a rtitio n in g p ro b lem . Z eszy ty N aukow e AGH seria: A u to m a ty k a z. 64, K raków 1993, s. 473-487.
6 . N ow icki E.: P ro b le m przepływ ow y z dw om a stanow iskam i obsługi: a lg o ry tm ta b u se
a rch . X I M iędzynarodow e S y m p o zju m „Z astosow ania teorii sy stem ó w . Z ak o p a n c ’95” . E le k ro te c h n ik a t. 14, z. 4, Z akopane 1995, s. 345-350.
7. N owicki E ., S m u tn ic k i O.: A fast tab o o search a lg o rith m for th e jo b sh o p . R a p o rt IC T P o l. W rocl. serii: P R E P R 1 N T Y nr 8/1 9 9 3 . (M a n a g e m e n t Science J u ly 1996, w d ru k u ).
8 . N ow icki E ., S m u tn ick i C.: A fast ta b o o search a lg o rith m for th e flow sh o p . R a p o rt IC T P o l. W rocl. serii: P R E P R IN T Y n r 8 /1994. (E u ro p e a n J . O p er. R es. 1996, w d ru k u ) .
9. N ow icki E ., S m u tn ick i C.: Flow shop w ith p arallel m ach in es. A ta b u se a rc h a p p ro a c h . R a p o rt IC T Pol. W rocl. serii: P R E P R IN T Y n r 30/1995. (w stęp n ie z a a k c e p to w a n a do sp ecjaln eg o w y d a n ia E u ro p ean J . O per. Res. pośw ięconego tec h n ic e ta b u se a rc h ).
10. Saw ik T .: O p ty m a liz a c ja d y s k re tn a w elastycznych sy stem ach p ro d u k c y jn y c h , W N T , W arszaw a 1992.
11. T a illa rd E.: B en c h m a rk s for b asic sch ed u lin g p ro b lem s. E u ro p e a n J. O p e r. R es. 64, 1993, s. 278-285.
12. V aesscns R .J .M ., A a rts E .H .I., L cn stra J .K .: Jo b shop sch ed u lin g by local search . M e m o ra n d u m C O S O R 94-05, E idhoven, T h e N e th e rla n d s, 1994.
R ecen zen t: D r b ab . inż. M irosław Z aborow ski, prof. P ol.Ś l.
W p iy n ę lo d o R ed ak cji do 30.06.1996 r.
A b s t r a c t
A fa st a n d easily im p le m e n te d a p p ro x im a tio n a lg o rith m for a p ro b le m o f finding a m in im u m m a k e sp a n in a flexible job shop is p re se n te d . T h e a lg o rith m is b ased on a ta b u search te c h n iq u e w ith a specific n eig h b o rh o o d definition. A n eig h b o rh o o d is defined using so -called b lo ck s of o p e ra tio n s on a critical p a th . T h e essence o f th e a lg o rith m co n sists in u sin g so m e p ro p e rtie s w hich allow us to search over th e m o s t p ro fita b le p a r t o f a n e ig h b o rh o o d . A sp ecial ad v an ced m e th o d of im p le m e n ta tio n im p ro v es th e local search sig n ifican tly an d in creases th e speed of th e a lg o rith m . C o m p u ta tio n a l e x p e rim e n ts (u p to 2000 o p e ra tio n s a n d 20 ce n te rs) show its excellent n u m erical p ro p e rtie s. T h e a lg o rith m is eassily tu n e d ; p rim a l values of tu n in g p a ra m e te rs arc reco m m en d ed in th e p a p e r.