Wojciech B O Ż E JK O 1, M ieczysław W ODECKI2 'Politechnika W rocław ska
2Uniwersytet W rocławski
PERMUTACYJNY PROBLEM PRZEPŁYWOWY.
ALGORYTMY RÓWNOLEGŁE SYMULOWANEGO WYŻARZANIA
S treszczenie. W pracy rozpatrywany je st permutacyjny problem przepływowy z m inim alizacją czasu wykonywania zadań. Przedstaw iam y algorytmy (sekwencyjny i równoległy) oparte na m etodzie symulowanego wyżarzania. W ich konstrukcji wy
korzystano idee bloków z drogi krytycznej oraz dolne oszacowania wartości funkcji celu, a także różne schematy schładzania oraz funkcje akceptacji. Algorytmy testujem y na przykładach zaczerpniętych z pracy Taillarda [22],
PERMUTATION FLOW SHOP PROBLEM.
PARALLEL SIM ULATED ANNEALING ALGORITMS
S u m m ary . This paper deals w ith the classic perm utation flow shop scheduling prob
lem w ith the m ake-span criterion. W e describe an approxim ation algorithms (sequential and parallel) based on sim ulated annealing method. W e research various accepting functions and cooling schedules.W e propose neighbourhood using so called blocks o f jo b s on a critical path and also using lower bound o f cost function.
1. W p ro w ad zen ie
W perm utacyjnym problem ie przepływowym (ang. perm utation Jlow shop) dany je st ustalony zbiór zadań oraz zbiór maszyn. K ażde zadanie należy kolejno wykonać, bez przery
wania, na każdej m aszynie w określonym czasie. Problem polega na wyznaczeniu kolejności wykonywania zadań (takiej samej na każdej maszynie), która m inim alizuje czas zakończenia wszystkich zadań (CmŁX). W literaturze problem ten je st oznaczany przez F]m\Cmsx. D la dwóch maszyn (F|2|C max) m ożna go rozwiązać korzystając z algorytmu Johnsona [11] o złożoności obliczeniowej O(nlogn). Garey, Johnson oraz Seti [5] udowodnili, że gdy liczba m aszyn jest większa lub rów na 3, w ów czas problem ten je st silnie TW-zupełny. Algorytmy dokładne dla
92 W. Bożejko, M. W odecki
jego rozw iązyw ania, bazujące na metodzie podziału i ograniczeń ([9], [13], [6]), pozw alają na rozwiązyw anie jedynie niewielkich przykładów. W ostatnich latach opublikowano wiele bardzo dobrych algorytm ów przybliżonych (głównie metaheurystycznych) opartych na m etodzie poszukiw ania z tabu ([21], [19] i [16]), symulowanego wyżarzania ([18], [17]) oraz algorytm u genetycznego ([10], [20]). Efektywność tych algorytm ów (jakość wyznaczanych przez nie rozw iązań) zależy od ich param etrów oraz w dużym stopniu od liczby wykonanych iteracji (czasu obliczeń). Głównym sposobem skracania tego czasu je st stosowanie obliczeń równoległych. N ie każdy algorytm sekwencyjny da się jednak zrównoleglić tak, aby uzyskać znaczne przyśpieszenie. Stąd konieczność konstrukcji nowych innych algorytmów bazujących także na dobrych i sprawdzonych m etodach sekwencyjnych. W pracy przedstaw iam y algorytmy równolegle oparte na metodzie sym ulowanego wyżarzania, dla rozw iązyw ania perm utacyjne-go problem u przepływowego. Porównujemy główne elementy takiego algorytmu: schem at schładzania i funkcję akceptacji. Badam y ich wpływ na jakość wyznaczanych rozwiązań.
Praca ta stanowi kontynuację badań zam ieszczonych w [2], Składa się z siedmiu rozdziałów . Pierw sze dwa zaw ierają opis problem u oraz podstawy teoretyczne konstrukcji algorytm ów zam ieszczonych w rozdziale 4. Następny rozdział zawiera przegląd opisanych w literaturze schem atów schładzania oraz funkcji akceptacji, których wyniki porównawcze zam ieszczone są w rozdziale 6. Z kolei ostatni rozdział je st posum ow aniem całości.
2. S fo rm u ło w an ie p roblem u
Korzystając z notacji stosowanej w pracach [16], [7] i [2] om awiany problem można przedstaw ić następująco. Dany je st zbiór n zadań J={ 1,2,...,«} oraz m m aszyn M={ 1,2,...,?«}.
Zadanie j s J je st ciągiem m operacji Oji, Oj2,---, Ojm. Operacja Ojk odpow iada procesowi w ykonyw ania, bez przerywania, zadania j na maszynie k. Czas jej wykonyw ania wynosi pjk- N ależy wyznaczyć kolejność zadań, m inim alizującą całkowity czas ich wykonywania.
N iech 7r =(tz( 1), s(l),...,7z(«)) będzie perm utacją zadań ze zbioru { 1,2,...,«}, a 77 zbiorem w szystkich takich permutacji. Perm utacja z e i l określa jednoznacznie kolejność wykonyw ania zadań na każdej maszynie. N ależy w ięc wyznaczyć perm utację n e 77 taką, że:
gdzie CnmC«) je st czasem zakończenia wykonywania wszystkich zadań. Czas zakończenia wykonywania zadania 7i(j) na maszynie k m ożna wyznaczyć z zależności rekurencyjnej:
zbiorem luków pionowych.
N ajdłuższa droga w digrafie D{ji) z wierzchołka 0 ^ ,,, do 0„{n)m zw ana je st drogą kryty-czną w perm utacji n. M ożna łatwo wykazać, że jej długość je s t rów na CM ( 4 Drogę tę (per-mutację ii) m ożna rozbić na podciągi zadań 5 ,, B 2, ..., Bm zwanych blokami, przy czym:
b) Bk zaw iera operacje wykonywane na tej samej maszynie, k = 1 , 2 , . . . , m, c) każde dw a bloki zaw ierają operacje wykonywane na różnych maszynach.
Operacje7t{fk) oraz n{lk) bloku Bk nazywamy odpowiednio pierw szą i ostatnią operacją bloku. Z tw ierdzeń zam ieszczonych w pracy Grabowskiego [6] wynika, że aby z perm utacji n otrzymać perm utację o mniejszej długości drogi krytycznej należy pewne zadanie z pewnego bloku przestaw ić przed pierwsze lub za ostatnie zadanie tego bloku.
Niech B l = Bk \ { n { f k)} oraz B[ - B k \ {n(lk)} będą podblokami k-tego bloku odpowiednio bez pierw szego i ostatniego zadania. Dla zadania j e B ( definiujemy:
CĄj)k=VCiSX{C,ij.
l)*,
Crfj)k-\]+
P4j)k},
gdzie: tz(0)=0, C0*=0, k= \,2,...,m , C0j= 0 ,j= l,2 ,...,n . Oczywiście, Cmwi(x)=Cm m . Dla perm utacji7re/7definiujem y następujący digraf:
D(/f)= (0, A V{ri)vjAH{n)), gdzie 0 ={0 y7, Oj2, *.., Oj,,,} je st zbiorem wierzchołków, a:
^ ( r r ) = U U « ° , U ) o < W i ) } . y-l y-l
zbiorem łuków zwanych poziomymi oraz:
y-l y-l
j* x V k ) >
oraz podobnie, dla zadania j e B 'k :
94 W. Bożejko, M. W odecki
gdzie k = \,2 ,...,m i pHI)J =0, i>n, ,j< 1 lubj>k.
K orzystając z powyższych oznaczeń m ożna wykazać [6], że jeżeli perm utację /?
wygenerow ano z /rprzez przestawienie zadania j , ( je B *):
a) przed pierw sze zadanie w bloku, to: Cm„ (/?) > Cm„ (/r) + A { (_/'), b) za ostatnie zadanie bloku, wówczas: Cm„ (/?) > Cmax (;r) + Aj ( /) .
Tak w ięc Cm„ (;r) + Af (y) oraz Cm„ (;r) + A j(_/') je st dolnym ograniczeniem LB(JS) wartości funkcji celu dla perm utacji fi.
Pow yższe w łasności (które dokładniej zostały opisane w pracy [2]) są podstaw ą konstrukcji algorytmów, przedstawionych w dalszej części pracy, rozwiązywania perm utacyjnego problem u szeregowania.
3. Metoda symulowanego wyżarzania
Ze w zględu na prostotę im plementacji, a jednocześnie jej uniwersalizm, m etoda ta jest z pow odzeniem stosow ana do rozw iązywania wielu problem ów optymalizacyjnych. Po raz pierw szy zastosow ali j ą K irkpatrick [12] oraz Ćem y [3]. Jej idea pochodzi z termodynamiki, stąd w jej opisie używ a się pojęć z tej właśnie dziedziny. Polega ona na iteracyjnym polepszaniu bieżącego rozw iązania poprzez lokalne przeszukiwanie. Rozpoczyna się od pew nego rozw iązania początkowego (startowego). N astępnie generuje się jego otoczenie (sąsiedztw o) oraz w yznacza pew ne rozwiązanie z tego otoczenia, które przyjm uje się za rozw iązanie startowe w następnej iteracji. Podstawowym elem entem algorytmu wykorzystującego m etodę symulowanego w yżarzania je st fu n k cja akceptacji określająca praw dopodobieństw o, z jakim są przyjm owane (akceptowane) za rozw iązania startowe elem enty zbioru rozw iązań dopuszczalnych. Jest ona zależna od param etru zwanego te m p eratu rą który zm ienia się w trakcie działania algorytmu zgodnie z tzw. schematem chłodzenia.
N iech z e i l będzie dow olną perm utacją (startową), N{jz) jej otoczeniem , a n*
najlepszym do tej pory znalezionym rozw iązaniem (na początek przyjm ujemy za ff*
perm utację n). Przez i=<p(/) oznaczmy schem at chłodzenia (i — iteracja algorytmu, t - tem peratura), a przez HP,{zf!) funkcję akceptacji.
Standardow y alg o ry tm sym ulow anego w y ża rz an ia repeat
w hile i<R do begin
i <—i+1;
Wyznaczyć losowo permutację /?eAfzr);
if < Cmm (ti*) then if Cmm(P) < Cma* (n) th e n n<~P else
if lF,(n,P)>random[Q,\) then n<—p end; {/}
zm odyfikować param etr kontrolny t, zgodnie ze schematem chłodzenia;
until W arunek zatrzym ania;
Zmiana tem peratury następuje po wykonaniu pewnej liczby iteracji zwanej pętlą-, w algorytmie je s t to param etr R. Najczęściej je st on równy mocy zbioru będącego otoczeniem.
4. Elementy algorytmu symulowanego wyżarzania
K onstrukcja algorytm u bazującego na metodzie sym ulowanego w yżarzania w ym aga określenia pewnych jego elem entów oraz ustalenia wartości parametrów.
4.1. Otoczenie
Korzystając z pojęć i oznaczeń wprow adzonych w poprzednim rozdziale, załóżmy, że Ą (k= \,2,...,m ) je st k-tym blokiem w permutacji K a B [ i B[ jego podblokami. Przez N { oznaczmy zbiór w szystkich perm utacji powstałych przez przestawienie dowolnego zadania
j s B[ przed blok Bk (tj. przed pierwsze zadanie tego bloku 7 t(fk)'). Podobnie, przez N'k oznaczmy perm utacje pow stałe przez przestaw ienie dowolnego zadania j e B { za blok B k (za ostatnie zadanie bloku 7t(lk) ) . Otoczeniem permutacji n je st zbiór:
ni
N(7T) = { J ( N { UW ').
A-l Liczba elem entów zbioru r) nie przekracza 2n.
96 W. Bożejko, M . Wodecki
4.2. F u n k c je ak c ep tac ji
Jeżeli perm utacja p<=N[ń) oraz Cmax{fi) > Cmax (w*), wówczas prawdopodobieństwo jej przyjęcia za rozw iązanie startowe w następnej iteracji określa funkcja akceptacji. Jest ona zależna od tem peratury (/). W konstrukcji algorytmów stosować będziem y dwie funkcje:
a) z pracy [12], postaci:
% (w, P ) = ex p [-(C mK ((3) - Cmax (ti)) //] , b) zam ieszczoną w pracy [2]:
W, (a, p) = e x p [(-£ S (P ) + Cmlx
ę » » 0 0 gdzie Li?(/?) je st dolnym ograniczeniem wartości CmM (/?).
4.3. S c h em at sc h ład z an ia
W literaturze opisano wiele schematów schładzania (zmiany temperatury). Poniżej zam ieszczam y te z nich, które z pow odzeniem są stosowane w algorytmach symulowanego w yżarzania, dla problem ów szeregow ania zadań. Podajemy także zalecane wartości param etrów. W praktyce najlepsze parametry są niestety różne dla różnych przykładów.
A arts [1]:
Zwykle przyjm uje się <5=0.1, a cr* je st odchyleniem standardowym wartości funkcji celu w już w ykonanych k pętlach algorytmu.
G eom etryczny [12]:
f*+i = a ^k- Ogólnie, param etr cK l (zazwyczaj przyjm uje się 0.8 < o < l).
L undy [14]:
, _ _ A _ lub t - — L
l + P i / * l + n p r , ’ gdzie/? je st stałą, przy czym przyjm uje się:
1)
a N je st liczb ą iteracji algorytmu. Osman i Potts w pracy [18] proponują, aby dla perm utacyjnego problem u szeregowania przyjąć:
,i = S Ż ^ /5mw> 'n= 1 oraz N = 10000,50000,20000.
/-i j.i
Logarytm iczny^ ] :
_ c Iog(« + «0) ’ przy czym stała c je st liczbą całkow itą nie w iększą niż 1000.
Stała tem peratura:
W pracy Cohn, Fielding [4] przedstawiony je st algorytm symulowanego wyżarzania dla problemu kom iw ojażera ze stałą tem peraturą (z przedziału (0,60]). Odpowiednio dobrana wartość powoduje, że dla w ielu przykładów algorytm ten działa bardzo dobrze.
5. Algorytm równoległy
Jako model obliczeń równoległych wybrana została maszyna SIMD. Zastosowano dwie metody zrów noleglania algorytmu. Pierw sza to równoległe i niezależne przeszukiwanie.
Polega ono na jednoczesnym wykonywaniu, przez poszczególne procesory, pewnej liczby niezależnych algorytm ów sym ulowanego wyżarzania. N astępnie w ybiera się najlepsze roz
wiązanie spośród wszystkich. Druga m etoda polega na wysyłaniu pozostałym procesorom komunikatów (broadcast) o najlepszym rozwiązaniu, otrzym anym przez któryś z procesorów.
Równoległy algorytm symulowanego wyżarzania z wysyłaniem kom unikatów (dla P procesorów):
p a rfo r /= 1,2 P while i<R do
begin
/<=-/+1;
W yznaczyć losowo perm utację /?e Af/z);
if Cmm(j3) < Cmtx(?t*) then begin
b ro a d c a s t rc* do innych procesorów end;
if Cmm(p) < C mix(n) then n-f-fi else
if Tśf n,B)>random\§, 1) th e n n<—[5 ę n d ;{/}
i 4—0',
zmodyfikować param etr kontrolny I, zgodnie ze schem atem chłodzenia end {parfor}
98 W. Bożejko, M. Wodecki
K om unikacja pom iędzy procesoram i (wysyłanie nowego n*) następuje tylko wówczas, gdy procesor znalazł lepsze rozw iązanie od własnego, aktualnego n*. Skraca to całkowity czas kom unikacji i ma bardzo niewielki wpływ na wartość rozwiązania.
6. Wyniki obliczeniowe
Przedstaw ione w poprzednich rozdziałach algorytmy zostały zaprogramowane w języku Ada95 na 4-procesorowym kom puterze Sun Enterprise 4x400M hz i były testowane na w ielu przykładach zam ieszczonych w pracy Taillarda [22], S ą to przykłady o różnych rozm iarach od 100 do 10 000 operacji, po 10 przykładów każdego rozmiaru. Zamieszczone ą one pod adresem OR-Library: http://m scm ga.m s.ic.ac.uk/info.htm n. Z najdują się tam także w artości najlepszych rozwiązań, a także ich dolne i góm e oszacowania.
Przyjęto następujące wartości parametrów liczbowych algorytmów:
R= A{n") - długość pętli, tj. liczba iteracji, po której następuje zm iana temperatury, M ax_iler - m aksym alna liczba iteracji ( W arunek zatrzym ania). Jest ona równa 50*«
dla równoległej im plementacji na 4 procesorach oraz 200*« dla j ednoprocesorowej implementacji.
Liczba iteracji algorytmów je s t w ięc w ielokrotnością 200 dla jednoprocesorowej im plem entacji i 50 na każdy procesor dla implementacji czteroprocesorowej.
R ozw iązania początkowe (startowe) były wyznaczane algorytmem N EH ([15]).
W pierwszej kolejności testowano wszystkie kom binacje par: dw óch funkcji akceptacji oraz pięciu schem atów schładzania, przedstawione w rozdziale 4. W sum ie więc porównano pom iędzy so b ą 10 różnych wersji algorytmu. Okazało się, że zdecydow anie najlepsze rozw iązania w yznacza algorytm z funkcją akceptacji (4.3 punkt a)) oraz schematem schładzania Lundy [14] z param etram i zamieszczonym i w pracy O sm ana i Pottsa [18].
N astępnie rozw iązania w yznaczone przez tę właśnie w ersję algorytmu porównano z najlepszym i znanymi w literaturze. Otrzymane wyniki (w procentach) zam ieszczone są w tabeli 1.
N a podstaw ie w yników zam ieszczonych w tabeli 1 m ożna stwierdzić, że algorytm równoległy z kom unikacją pom iędzy procesoram i je s t najlepszy i daje w yniki tylko niewiele gorsze od najlepszych. N iew iele także ró żnią się one od wyznaczanych przez najlepsze algorytm y przybliżone (bazujące na m etodzie tabu search), np. [7]. Szczególnie jest to
widoczne dla przykładów o dużych rozmiarach. Należy tu także podkreślić łatw ość implementacji algorytm ów opartych na metodzie symulowanego w yżarzania, ich niewielkie zapotrzebowanie na pam ięć oraz krótki czas działania.
Tabela 1 Średni błąd (RDD) względem najlepszego rozw iązania (Taillard [21])
n x m 1 procesor 4 niezależne procesory
4 procesory z kom unikacją
2 0 x 5 0 .8 4 0 .6 2 0 .5 9
20 x 10 2 .2 9 1.82 1.66
2 0 x 2 0 1.86 1.79 1.62
5 0 x 5 0 .1 3 0 .0 8 0.11
5 0 x 10 1.87 1.30 0.91
5 0 x 2 0 2 .7 7 2 .1 8 2 .1 9
1 0 0 x 5 0 .0 0 0 .0 0 0 .0 0
100x 10 0 .0 2 0.01 0.01
1 0 0 x 2 0 0 .8 8 0.01 0 .0 6
200x 10 0 .0 2 0 .0 3 0 .0 2
2 0 0 x 2 0 0.01 0.01 0.01
5 0 0 x 2 0 0.01 0.01 0 .0 0
średnio 0.89 0 .6 6 0 .6 0
7. P o d s u m o w a n i e
W pracy przedstaw iliśm y algorytmy równoległe oparte na metodzie sym ulowanego wyżarzania dla rozw iązyw ania klasycznego problem u szeregowania - permutacyjnego pro
blemu przepływowego. W ykorzystaliśmy idee bloków z drogi krytycznej oraz zam iast dokładnego liczenia wartości funkcji ce lu .-je j dolne szacowanie. M oże to nieznacznie pogarszać jakość rozwiązania, ale znacznie przyśpiesza obliczenia. Sprawdziliśm y także wpływ różnych schem atów schładzania i funkcji akceptacji na efektywność działania algorytmów. Dla przykładów o dużych rozm iarach m etoda sym ulowanego w yżarzania (zawierająca w sobie elementy probabilistyki) może być lepsza od innych metod lokalnej optymalizacji.
100 W. Bo¿ejko, M. Wodecki
LITERATURA
1. A arts E.H.L., Laarhoven Statistical cooling: A general approach to combinatorial optim ization problem s, Philips J. Res., 40 (1985), s. 193-226.
2. Bozejko W ., W odecki M.: Solving Flow Shop Problem by Parallel Simulated Annealing, LNCS, Springer-Verlag, 2328, (2002), 236-247.
3. Cerny V.: Thermodynamical approach to travelling salesm an problem : A n efficient sim ulation algorithm, J. Optim. Theory Appl. 45, (1985), s. 41-51.
4. Cohn H., Fielding M.: Simulated Annealing: Searching for an optim al temperature schedule, SIAM J.Optim., 9 (1999), s. 779-802.
5. Garey M .R., Johnson D.S., Seti R.: The com plexity o f flow shop and jo b shop scheduling, M athem atics o f Operations Research, 1, (1976), s. 117-129.
6. Grabowski J.: A new algorithm o f solving the flow-shop problem , Operations Research in Progress, D. Reidel Publishing Company, (1982), s. 57-75.
7. Grabowski J., Pem pera J.: N ew block properties for the perm utation flow-shop problem with application in TS, Journal o f Operational Research Society 52, (2001), s. 210-220.
8. H ajek B.: Cooling schedules for optim al annealing, J.M ath.Oper.Res.,13 (1988), 311-329.
9. Ignall E., Schrage L.E.: A pplication o f the branch-and-bound technique to som e flow- shop scheduling problem s, Operations Research, (1965), 13/3, s. 400-412.
10. Ishibuchi H., M isaki S., Tanaka H.: M odified Simulated Annealing A lgorithm s for the Flow Shop Sequencing Problem, European Journal o f Operational Research 81, (1995), s. 388-398.
11. Johnson S.M.: O ptimal two and three-stage production schedules w ith setup times included, N aval Research Logistic Quertely, 1 (1954), s. 61-68.
12. K irkpatrick S., Geliat C.D., Vecchi M.P.: Optimization by sim ulated annealing, Science 2 20 ,(1 9 8 3 ), s. 671-680.
13. Lageweg B.J., Lenstra J.K., Rinnooy K an A.H.G.: A General Bouding Scheme for the Perm utation Flow-Schop Problem, Opns. Res. 26, (1978), s. 53-67.
14. Lundy M ., M ees A.: Convergence o f an annealing algorithm, Math. Programm ing, 34, (1986), s. 111-124.
15. N avaz M ., Enscore E.E. Jr, H am I.: A heuristic algorithm for the m-m achine, n-job flow- shop sequencing problem , OMEGA 11/1 (1983) s. 91-95.
16. N ow icki E., Smutnicki C.: A fast tabu search algorithm for the perm utation flow-shop problem , European Journal o f Operational Research 91, (1996), s. 160-175.
17. Ogbu F., Sm ith D.: The Application o f the Simulated Annealing Algorithm to the Solution o f the n/m /Cm ax Flowshop Problem, Computers & Operations Research, 17(3), (1990), s. 243-253.
18. O sm an I., Potts C.: Sim ulated Annealing for Perm utation Flow-Shop Scheduling, O M EG A 17(6), (1989), s. 551-557.
19. Reeves C.: Improving the Efficiency o f Tabu Search for M achine Sequencing Problems, Journal o f Operational Research Society 44(4), (1993), s. 375-382.
20. Reeves C.: A Genetic Algorithm for Flowshop Sequencing, Com puters & Operations Research 22(1), (1995), s. 5-13.
21. Taillard E.: Some efficient heuristic methods for the flow shop sequencing problem , European Journal o f Operational Research 47(1), (1990), s. 65-74.
22. Taillard E.: Benchm arks for basic scheduling problem s, European Journal o f Operational Research 64, (1993), s. 278-285.
Recenzent: Prof. dr hab. inż. Tadeusz Sawik
Abstract
In this paper we consider the perm utation flow shop scheduling problem described as follows. There are: a set o f « jo b s J = { l,2 ,...,n } , a set o f m m achines M = { l,2 ,...,m } . Job j e J , consists o f a sequence o f m operations Oji, Oj2,..., Ojm. Operation Op corresponds to the processing o f jo b j on m achine k during an uninterrupted processing tim e pp. W e w ant to find a schedule such that the m axim um com pletion tim es is minimal. The problem is indicated by FMCmax and is strongly NP-hard. W e propose neighbourhood using so called blocks o f jobs on a critical path, specific accepting function and two sim ulated annealing algorithms (sequential and parallel). W e also present com puter sim ulations on Taillard [21] problems.