Mariusz MAKUCHOWSKI, Eugeniusz NOWICKI
Instytut Cybernetyki Technicznej Politechniki Wroc lawskiej
ALGORYTM TABU DLA PROBLEMU GNIAZDOWEGO
Z OPERACJAMI WIELOMASZYNOWYMI NIER ´OWNOCZE´SNIE WYKORZYSTUJA
‘CYMI MASZYNY Streszczenie. W pracy rozwa˙za sie
‘ problem gniazdowy z operacjami wielo- maszynowymi, nier´ownocze´snie wykorzystuja
‘cymi maszyny. Przedstawia sie
‘ jego
model permutacyjno-grafowy. Naste
‘pnie prezentuje sie
‘algorytm przybli˙zony typu tabu zwracaja
‘c szczeg´olna
‘uwage
‘na definicje
‘sa
‘siedztwa oraz atrybuty zapisywane na liste
‘ tabu. Przeprowadza sie
‘ badania eksperymentalne zaproponowanego algo- rytmu na przyk ladach testowych powszechnie stosowanych w literaturze.
TABU SEARCH ALGORITHM FOR JOB SHOP MULTIMACHINE OPERATIONS PROBLEM WITH NON-SIMULTANEOUSLY
USED MACHINES
Summary. The paper discusses the job shop multimachine operations problem with non-simultaneously used machines. Its permutation-graph model is shown.
The algorithm based on a tabu search technique with a specific neighborhood definition and suitable attributes written to taboo list is presented. Moreover, the algorithm is examined on well-known literature examples.
1. Wprowadzenie
Jednym z istotniejszych zagadnie´n w teorii harmonogramowania jest problem gni- azdowy z kryterium be
‘da
‘cym momentem wykonania wszystkich zada´n. Waga tego za- gadnienia wynika z faktu, ˙ze ju˙z jego klasyczne sformu lowanie modeluje szereg prak- tycznych proces´ow produkcyjnych. R´o˙znorodne uog´olnienia takie jak: wprowadze- nie czas´ow przezbroje´n, ograniczonej pojemno´sci bufor´ow, ograniczonej liczby palet, uwzgle
‘dnienie transportu, itp. powoduja
‘, ˙ze obszar jego stosowalno´sci stale sie
‘powie
‘ksza.
Jednym z wa˙znych kierunk´ow uog´olnie´n jest wprowadzenie operacji wielomaszynowych modeluja
‘cych procesy, w kt´orych do wykonywania poszczeg´olnych operacji zaanga˙zowana
jest nie jedna (tak jak w modelu klasycznym), ale kilka maszyn, [4, 2]. Odpowiednie al- gorytmy konstrukcyjne oraz algorytmy popraw (oparte na technice tabu) zosta ly podane w [5, 1, 8, 7].
Dalsze uog´olnienie operacji wielomaszynowych – wynikaja
‘ce z praktyki przemys lowej – polega na uwzgle
‘dnieniu sytuacji, w kt´orych nie wszystkie maszyny zaanga˙zowane w pro- ces wykonywania danej operacji sa
‘jednocze´snie wykorzystywane, patrz np. [9]. Co wie
‘cej dla ka˙zdej zaanga˙zowanej maszyny okre´slony jest jeden przedzia l jej wykorzystywania oraz przedzia ly te sa
‘wzgle
‘dem siebie ustalone. Ten typ operacji be
‘dziemy nazywa´c operacjami wielomaszynowymi, nier´ownocze´snie wykorzystuja
‘cymi maszyny. Pierwsze wyniki bada´n nad algorytmami konstrukcyjnymi dla tego typu operacji zamieszczono w [9, 6]. W tej pracy formu lujemy permutacyjno-grafowy model badanego zagadnienia a naste
‘pnie po- dajemy algorytm typu popraw oparty na technice tabu. Wyczerpuja
‘ce badania testowe pokazuja
‘, ˙ze proponowany algorytm poprawia rozwia
‘zania dostarczone przez algorytmy konstrukcyjne o oko lo 10%, w ´srednim czasie kilku minut na komputerach klasy PC.
2. Matematyczne sformu lowanie problemu i model permutacyjno-grafowy
Dany jest zbi´or maszyn M = {1, . . . , |M |}, zbi´or zada´n = {1, . . . , |J |} oraz zbi´or op- eracji O = {1, . . . , |O|}. Zadanie k ∈ J sk lada sie
‘ z cia
‘gu ok ≥ 1 operacji indeksowanych kolejno przez jk+ 1, jk + 2, . . . , jk + ok, gdzie jk = Pk−1i=1 oi. Wykonanie zadania polega na wykonaniu w powy˙zszej kolejno´sci wszystkich jego operacji. Dla ka˙zdej operacji j ∈ O okre´slony jest zbi´or maszyn Mj ⊂ M , na kt´orych jest ona wykonywana. Proces wykony- wania operacji j na maszynie l ∈ Mj nazywamy czynno´scia
‘ i notujemy jako pare
‘ (j, l).
Czynno´s´c (j, l) jest scharakteryzowana przez dwie wielko´sci: g lowe
‘ τj,l i cia lo pj,l. G lowa τj,l okre´sla po jakim czasie od pewnej chwili czasowej tj (nieustalonej ale identycznej dla wszystkich czynno´sci danej operacji) ma rozpocza
‘´c sie
‘ wykonywanie czynno´sci (j, l) na maszynie l, za´s cia lo pj,l jest d lugo´scia
‘trwania tej czynno´sci; przyjmujemy, ˙ze przynajm- niej jedna z warto´sci τj,l, l ∈ Mj jest r´owna zero. Wykonanie operacji polega na wykonaniu wszystkich jej czynno´sci, zgodnie z przedstawionymi ograniczeniami. Niech S(j, l) oznacza moment rozpocze
‘cia wykonywania czynno´sci (j, l). Wtedy S(j, l) − τj,l = constdef= tj dla l ∈ Mj oraz moment S(j) = tj jest traktowany jako moment rozpocze
‘cia wykonywania
operacji j, za´s C(j) = maxl∈Mj{S(j, l) + pj,l} – jako moment zako´nczenia wykonywania tej operacji.
Podobnie jak w klasycznym problemie gniazdowym przyjmuje sie
‘, ˙ze: (i ) ˙zadna z maszyn nie mo˙ze wykonywa´c jednocze´snie kilku czynno´sci, (ii ) nie mo˙zna wykonywa´c jednocze´snie wie
‘cej ni˙z jednej operacji danego zadania oraz (iii ) wykonywanie czynno´sci na maszynie nie mo˙ze by´c przerywane. Uszeregowanie dopuszczalne definiowane jest przez takie momenty rozpocze
‘cia wykonywania czynno´sci S(j, l) ≥ 0, l ∈ Mj, j ∈ O,
˙ze spe lnione sa
‘ powy˙zsze ograniczenia. Problem polega na znalezieniu dopuszczalnego uszeregowania minimalizuja
‘cego moment wykonania wszystkich operacji maxj∈OC(j).
Przejdziemy teraz do sformu lowania modelu permutacyjno-grafowego. Jako zmienna
‘
decyzyjna
‘ przyjmujemy zestaw permutacji π = (π1, π2. . . , πm), gdzie m = |M | oraz πl = (πl(1), . . . , πl(|πl|)) jest permutacja
‘ zbioru czynno´sci Ol = {(j, l) : l ∈ Mj, j ∈ O}
wykonywanych na maszynie l, |πl| = |Ol|, l ∈ M ; zbi´or wszystkich takich zestaw´ow, zwanych kr´otko permutacjami, oznaczamy przez Π. Dla permutacji π ∈ Π definiujemy graf G(π) = (O, ET ∪ EO ∪ EK(π)) ze zbiorem obcia
‘˙zonych wierzcho lk´ow O = {(j, l) : l ∈ Mj, j ∈ O} reprezentuja
‘cych poszczeg´olne czynno´sci, zbiorem nieobcia
‘˙zonych luk´ow technologicznych (wynikaja
‘cych z kolejno´sci wykonywania operacji w zadaniu) ET = [
k∈J jk+ok
[
j=jk+2
{((j − 1, l+j−1), (j, l−j ))}, (1) kolejno´sciowych (wynikaja
‘cych z permutacji π) EK(π) = [
l∈M
|πl|
[
i=2
{(πl(i − 1), πl(i))} (2) oraz zbiorem obcia
‘˙zonych luk´ow operacyjnych (odzwierciedlaja
‘cych ustalone wzgle
‘dne po lo˙zenie czynno´sci danej operacji)
EO = [
j∈O
|Mj|
[
i=2
{((j, mj(i − 1)), (j, mj(i))), ((j, mj(i)), (j, mj(i − 1)))}, (3) gdzie l−j = arg minl∈Mjτj,l oraz l+j = arg maxl∈Mj(τj,l + pj,l) oznacza maszyne
‘, na kt´orej odpowiednio rozpoczyna oraz ko´nczy sie
‘ wykonywanie operacji j, za´s Mj = {mj(1), mj(2), ..., mj(|Mj|)}, j ∈ O. Wierzcho lek reprezentuja
‘cy czynno´s´c (j, l) obcia
‘˙zony jest warto´scia
‘pj,l, za´s luk ((j, a), (j, b)) ∈ EO (z wierzcho lka (j, a) do wierzcho lka (j, b)) – warto´scia
‘ wj,a,b = τj,b− τj,a− pj,a.
Z definicji grafu G(π) wynika, ˙ze zawiera on cykle; d lugo´s´c tych cykli mo˙ze by´c dowolna (ujemna, zerowa lub dodatnia). W przypadku kiedy w grafie G(π) nie ma cykli o dodatniej d lugo´sci, niech rπ((j, l)) (qπ((j, l))) oznacza warto´s´c najd lu˙zszej drogi dochodza
‘cej do (wychodza
‘cej z) wierzcho lka (j, l), la
‘cznie z waga
‘tego wierzcho lka. Wtedy S(j, l) = rπ((j, l)) − pj,l, l ∈ Mj, j ∈ O jest uszeregowaniem dopuszczalnym. W dowodzie ograniczymy sie
‘ tylko do pokazania, ˙ze S(j, l) − τj,l = const dla wszystkich czynno´sci operacji j; pozosta le warunki wynikaja
‘z rozumowania analogicznego jak dla klasycznego problemu gniazdowego. Za l´o˙zmy, ˙ze dwie czynno´sci (j, a) i (j, b) operacji j po la
‘czone sa
‘
lukami operacyjnymi. Wtedy z zale˙zno´sci S(j, b) ≥ S(j, a)+pj,a+wj,a,b = S(j, a)+τj,b−τj,a oraz S(j, a) ≥ S(j, b)+pj,b+wj,b,a = S(j, b)+τj,a−τj,bwynika, ˙ze S(j, a) = S(j, b)+τj,a−τj,b, czyli S(j, a) − τj,a = S(j, b) − τj,b. Podobne rozumowanie dla pozosta lych par czynno´sci zadania j ko´nczy dow´od.
Zdefiniowany graf pozwala na proste sformu lowanie badanego problemu. Niech Cmax(π) oznacza d lugo´s´c najd lu˙zszej ´scie˙zki (´scie˙zka krytyczna) w grafie G(π) dla permu- tacji π ∈ Π; w przypadku gdy graf G(π) posiada cykle o dodatniej d lugo´sci przyjmujemy,
˙ze Cmax(π) = ∞. Rozwa˙zany problem polega na znalezienie takiej permutacji π∗ ∈ Π, ˙ze odpowiadaja
‘cy jej graf G(π∗) ma najmniejsza
‘d lugo´s´c ´scie˙zki krytycznej Cmax(π∗).
3. Algorytm popraw typu tabu
Proponowany algorytm (zwany dalej algorytmem TMN) oparty jest na technice tabu, kt´orej og´olny opis mo˙zna znale´z´c np. w pracy [3]. W poni˙zszych podrozdzia lach przed- stawiamy szczeg´o lowo najwa˙zniejsze elementy sk ladowe tego algorytmu.
3.1. Sa
‘siedztwo
Sa‘siedztwo permutacji π ∈ Π wykorzystywane w algorytmie TMN bazuje na ruchach typu wstaw. Niech zπ,j = (z1π,j, . . . , zmπ,j) oznacza zestaw pozycji czynno´sci operacji j w π, gdzie πl(zlπ,j) = (j, l) dla l ∈ Mj; dla prostoty oznacze´n, nie wykonywanie na maszynie l 6∈ Mj czynno´sci operacji j notuje sie
‘ przez po lo˙zenie zlπ,j = 0. Niech
Zπ,j = {z = (z1, . . . , zm) : 1 ≤ zl ≤ |πl|, l ∈ Mj, zl = 0, l 6∈ Ml} (4)
oznacza zbi´or wszystkich zestaw´ow pozycji, jakie moga
‘zajmowa´c czynno´sci operacji j w permutacji π. Zachodzi zπ,j ∈ Zπ,j oraz |Zπ,j| = Ql∈Mj|πl|. Ruch v = (j, z) typu wstaw polega na przesunie
‘ciu wszystkich czynno´sci operacji j na pozycje okre´slone przez zestaw z ∈ Zπ,j\{zπ,j}; otrzymana
‘permutacje
‘oznaczamy przez π(v). Dok ladniej, odbywa sie
‘to w
trzech etapach: (i) pobranie czynno´sci (j, l) z pozycji w = zπ,jl , (ii) przesunie
‘cie czynno´sci πl(w+1), . . . , πl(zl) o jedna
‘pozycje
‘w lewo, je˙zeli w < zllub czynno´sci πl(zl), . . . , πl(w−1) o jedna
‘pozycje
‘ w prawo, je˙zeli w > zl oraz (iii) wstawienie czynno´sci (j, l) na zwolniona
‘
pozycje
‘ zl; l ∈ Mj. Zbi´or wszystkich ruch´ow typu wstaw dla operacji j, oznaczamy przez V (π, j) = {v = (j, z) : z ∈ Zπ,j\ {zπ,j}}. Jest oczywiste, ˙ze je˙zeli ˙zadna czynno´s´c operacji j nie le˙zy na ´scie˙zce krytycznej w grafie G(π), to dla ka˙zdego ruchu v = (j, z) ∈ V (π, j) zachodzi Cmax(π(v)) ≥ Cmax(π). Oznacza to, ˙ze nale˙zy ograniczy´c sie
‘ do przesuwania czynno´sci tylko tych operacji j, kt´ore nale˙za
‘ do zbioru Ω ⊂ O zawieraja
‘cego wszystkie operacje, kt´orych przynajmniej jedna z czynno´sci le˙zy na ´scie˙zce krytycznej w grafie G(π).
Ostatecznie zbi´or ruch´ow ma posta´c V (π) = Sj∈ΩV (π, j); |V (π)| =Pj∈Ω(Ql∈Mj|πl| − 1).
Zbi´or ten generuje sa
‘siedztwo N (π) = {π(v) : v ∈ V (π)}.
Ze wzgle
‘du jednak na zbyt du˙za
‘ liczno´s´c zbioru ruch´ow V (π, j) ograniczamy sie
‘ do
pewnego jego podzbioru V B(π, j) ⊂ V (π, j). Niech γ jest permutacja
‘ powsta la
‘ po
usunie
‘ciu czynno´sci operacji j z π; graf G(γ) otrzymujemy z G(π) przez usunie
‘cie luk´ow (πl(zlπ,j − 1), πl(zlπ,j)), (πl(zlπ,j), πl(zlπ,j + 1)) i dodanie luku (πl(zlπ,j − 1), πl(zlπ,j + 1)) (je˙zeli zπ,jl ∈ {1, |πl|}, to tylko jeden luk jest usuwamy i ˙zaden nie jest dodawany), l ∈ Mj. Dla ka˙zdego zestawu pozycji z ∈ Zπ,j definiujemy warto´s´c h(z) = h1(z) + h2(z), h1(z) = max{A, maxl∈MjRl(zl− 1) }, h2(z) = max{B, maxl∈MjQl(zl) }, gdzie
A = rγ((j−, l+j−)), Rl(zl− 1) = rγ(γl(zl− 1)) − τj,l, (5) B = τj,l+
j + pj,l+
j + qγ((j+, l−j+)), Ql(zl) = τj,l+ pj,l+ qγ(γl(zl)) (6) oraz j−(j+) jest poprzednikiem (naste
‘pnikiem) technologicznym operacji j; je˙zeli operacja j nie ma poprzednika (naste
‘pnika) technologicznego, to j− = 0 (j+ = 0); l0− = l0+ = 0, γl(0) = γl(|πl|) = (0, 0), l ∈ Mj, rγ((0, 0)) = qγ((0, 0)) = 0. Latwo zauwa˙zy´c, ˙ze h(z) jest dolnym ograniczeniem warto´sci najd lu˙zszej drogi w grafie G(π(v)), v = (j, z), zawieraja
‘cej co najmniej jeden wierzcho lek odpowiadaja
‘cy czynno´sci operacji j. Oznacza to, ˙ze max{Cmax(γ), h(z)} jest dolnym ograniczeniem warto´sci Cmax(π(v)), v = (j, z).
Z definicji rγ(k), qγ(k), k ∈ O wynika, ˙ze Rl(1) < Rl(2) < . . . < Rl(|γl|) oraz Ql(1) >
Ql(2) > . . . > Ql(|γl|), l ∈ Mj. Niech al oznacza najmniejsza
‘liczbe
‘taka
‘, ˙ze 1 ≤ al ≤ |γl|, Rl(al) > A, je˙zeli Rl(|γl|) > A lub al = |γl|+1 – w przeciwnym wypadku. Niech bloznacza najmniejsza
‘ liczbe
‘ taka
‘, ˙ze 1 ≤ bl ≤ |γl|, Ql(bl) ≤ B, je˙zeli Ql(|γl|) ≤ B lub bl = |γl| + 1 – w przeciwnym wypadku. Zestaw pozycji zB = (z1B, . . . , zBm) ∈ Zπ,j nazywamy zestawem bazowym, je˙zeli
al≤ zlB ≤ cl def= max{al, bl}, l ∈ Mj oraz max
l∈Mj
Rˆl(zlB− 1) < min
l∈Mj
Rˆl(zlB); (7) Rˆl(x) = 0 dla x < al, ˆRl(x) = Rl(x) dla al ≤ x < cl oraz ˆRl(x) = ∞ dla x = cl. Zbi´or wszystkich takich zestaw´ow oznaczamy przez ZBπ,j. Jest oczywiste, ˙ze dla ka˙zdego zestawu pozycji z ∈ Zπ,j istnieje zestaw bazowy zB ∈ ZBπ,j taki, ˙ze h1(zB) = h1(z) oraz h2(zB) ≤ h2(z), czyli h(zB) ≤ h(z). Dlatego te˙z proponujemy zbi´or ruch´ow V (π, j) ograniczy´c do V B(π, j) = {v = (j, z) : z ∈ ZBπ,j \ {zπ,j}}. Liczno´s´c tego zbioru jest nie wie‘ksza ni˙z Pl∈Mj|πl|, co oznacza istotne zmniejszenie w por´ownaniu z liczno´scia
‘V (π, j).
W proponowanym algorytmie TMN, dla ka˙zdej operacji j ∈ Ω wyznaczamy ruch vjR = arg min{Cmax(π(v)) : v ∈ V B(π, j)} zwany reprezentantem operacji j. Ostatecznie rozpatrywane sa
‘siedztwo permutacji π ma posta´c NT M N(π) = {π(vR
j) : j ∈ Ω}.
3.2. Akceleratory wyboru reprezentanta
Podstawowa idea akcelerator´ow wyboru reprezentanta vjR polega na takim wykorzys- taniu w lasno´sci problemu, aby nie wyznaczaja
‘c warto´sci Cmax(π(v)) dla wszystkich ruch´ow v ∈ V B(π, j), okre´sli´c go dok ladnie. W tym celu proponujemy wykorzysta´c jednocze´snie dwa naste
‘puja
‘ce sposoby akceleracji.
Istota
‘ pierwszego sposobu jest ca lkowita rezygnacja z wyznaczenia reprezentanta vjR, je˙zeli warto´s´c Cmax(γ) jest nie mniejsza, ni˙z warto´s´c funkcji celu dla reprezentanta innej operacji, kt´ory nie jest tabu.
Drugi spos´ob polega na tym, ˙ze przed obliczeniem dla danej pozycji bazowej z ∈ ZBπ,j warto´sci funkcji celu Cmax(π(v)), v = (j, z), wyznaczamy warto´s´c dolnego ograniczenia LB = h(z). Je˙zeli warto´s´c LB jest nie mniejsza ni˙z obliczona ju˙z warto´s´c funkcji celu:
(i) dla innego zestawu bazowego operacji j lub (ii) dla reprezentanta innej operacji, kt´ory nie jest tabu, to taki zestaw bazowy jest opuszczany bez wyliczania Cmax(πv). Bada- nia testowe pokaza ly, i˙z LB ma bardzo dobre w lasno´sci, mianowicie dla zdecydowanej
wie‘kszo´sci instancji dolne ograniczenie LB jest r´owne warto´sci funkcji celu. Poza tym z lo˙zono´s´c obliczeniowa wyznaczenia LB dla operacji j wynosi O(|Mj|), podczas gdy dok ladne obliczenie warto´sci funkcji celu ma z lo˙zono´s´c O((Pi∈O|Mi|)2).
3.3. Posta´c listy tabu
Elementem listy tabu T , zgodnie z idea
‘ zawarta
‘ w [7], sa
‘ atrybuty permutacji i ruchu. Dok ladniej, jest to luk okre´slaja
‘cy kolejno´s´c pomie
‘dzy pewna
‘ para
‘ czynno´sci.
Po wykonaniu ruchu v = (j, z) dla permutacji π, na liste
‘ T zapisywany jest zbi´or AV(π, v) =Sl∈MjAVl(π, v) zawieraja
‘cy od 1 do |Mj| luk´ow, gdzie:
AVl(π, v) =
{((j, l), πl(zlπ,j + 1))}, zlπ,j < zl, {(πl(zπ,jl − 1), (j, l))}, zlπ,j > zl,
∅, zlπ,j = zl.
(8)
Ruch v = (j, z) uwa˙zamy za tabu, je˙zeli przesunie
‘cie ka˙zdej czynno´sci wchodza
‘cej w sk lad operacji j jest tabu. Przesunie
‘cie czynno´sci (j, l) w prawo jest tabu wtedy i tylko wtedy, gdy na li´scie T znajduje sie
‘ przynajmniej jeden luk (j1, j2) taki, ˙ze j1 = πl(i) dla pewnego zlπ,j < i ≤ zl oraz j2 = (j, l). Symetrycznie przesunie
‘ie w lewo jest tabu, gdy na li´scie T znajduje sie
‘ przynajmniej jedna para operacji (j1, j2) taka, ˙ze j1 = (j, l) oraz j2 = πl(i) dla pewnego zl ≤ i < zlπ,j. W algorytmie zastosowali´smy efekty- wne okre´slanie statusu ruchu zgodnie z idea
‘ z [7]; obliczenia wste
‘pne maja
‘ z lo˙zono´s´c O(max{|M | · |O|, |T |}), za´s sprawdzenie czy przesunie
‘cie pojedynczej czynno´sci jest tabu ma z lo˙zono´s´c O(1).
3.4. Dodatkowe techniki poprawiaja
‘ce jako´s´c algorytmu TMN
Algorytm TMN zosta l wzbogacony o detektor cyklu oraz o metode
‘ skoku powrotnego zapewniaja
‘ca
‘ dywersyfikacje poszukiwa´n, [7]. Idea tej metody polega na tym, ˙ze je˙zeli po up lywie ustalonej liczby krok´ow TMN nie znajduje lepszego rozwia
‘zania lub zostaje wykryty cykl, to algorytm powraca do ostatniego najlepszego rozwia
‘zania, lista tabu jest zerowana, zbi´or reprezentant´ow pomniejszony i proces poszukiwa´n jest kontynuowany.
3.5. Rozwia
‘zanie pocza
‘tkowe Do generacji rozwia
‘zania pocza
‘tkowego pos lu˙zyli´smy sie
‘ algorytmem konstrukcyjnym IN wykorzystuja
‘cym tzw. technike
‘ wstawie´n, kt´ory jest uog´olnieniem odpowiedniego
algorytmu z [7]. Zrezygnowali´smy z bardzo szybkich algorytm´ow konstrukcyjnych przed- stawionych w [6] i opartych o regu ly priorytetowe. Algorytm IN generowa l uszeregowania o 10,2% lepsze, ni˙z najlepszy zaproponowany tam algorytm i o 3,6% lepsze, ni˙z najlepsze spo´sr´od uszeregowa´n uzyskanych wszystkimi proponowanymi tam algorytmami.
4. Analiza eksperymentalna
Przyk lady testowe zosta ly wygenerowane na bazie 120 przyk lad´ow z pracy [1]. Orygi- nalne dane zosta ly zredukowane do jednego sposobu wykonywania, po czym odpowiednio rozbudowane o parametry τj,l oraz pj,l, l ∈ Mj, j ∈ O,.
Przyk lady testowe podzielone sa
‘ na 3 klasy (Rdata, Mdata, Vdata), po 40 instancji.
Klasy r´o˙znia
‘ sie
‘ mie
‘dzy soba
‘´srednia
‘oraz maksymalna
‘ ilo´scia
‘ czynno´sci jednej operacji;
wielko´sci te wynosza
‘ odpowiednio: 2 i 3 dla Rdata, 13|M | i 35|M | dla Mdata oraz 12|M | i
4
5|M | dla Vdata. Instancje w ka˙zdej z klas tworza
‘ grupy charakteryzuja
‘ce sie
‘ jednakowa
‘
liczba
‘maszyn |M |, zada´n |J | oraz operacji |O|; dok ladne dane przedstawione sa
‘w tablicy 1. Przyk lady sa
‘ bardzo mocno zr´o˙znicowane pod wzgle
‘dem rozmiaru; liczba czynno´sci zmienia sie
‘ od 77 do 1722.
Tablica 1 Parametry grup przyk lad´ow testowych
Grupa przyk lad´ow
|M | |J| |O| Grupa
przyk lad´ow
|M | |J| |O|
01 – 05 5 10 50 21 – 25 10 15 150
06 – 10 5 15 75 26 – 30 10 20 200
11 – 15 5 20 100 31 – 35 10 30 300
16 – 20 10 10 100 36 – 40 15 15 225
Algorytm TMN oceniamy na podstawie jako´sci wygenerowanych rozwia
‘za´n w odniesie- niu do rozwia
‘za´n startowych dostarczonych przez algorytm konstrukcyjny IN. Dla ka˙zdego przyk ladu obliczamy wzgle
‘dna
‘procentowa
‘poprawe
‘
ρ = 100% · (CIN− CT M N)/CIN,
gdzie CIN jest warto´scia
‘funkcji celu dla rozwia
‘zania pocza
‘tkowego wygenerowanego przez algorytm IN, za´s CT M N – dla rozwia
‘zania otrzymanego algorytmem TMN. Algorytm TMN by l uruchamiany z naste
‘puja
‘cymi parametrami: d lugo´s´c listy tabu - 6|M |, maksy- malna liczba iteracji - 1 000, liczba iteracji bez poprawy rozwia
‘zania, kt´orej osia
‘gnie
‘cie powoduje skok powrotny - 250. Wyniki przedstawiono w tablicy 2.
Tablica 2 Wyniki test´ow algorytmu TMN dla poszczeg´olnych grup przyk lad´ow
Grupa Srednia wzgle´
‘dna poprawa ρ
przyk lad´ow Rdata Mdata Vdata
01 – 05 7,6 10,8 7,1
06 – 10 7,8 10,2 8,4
11 – 15 7,4 6,2 6,0
16 – 20 15,4 11,1 8,7
21 – 25 15,8 11,2 8,2
26 – 30 13,7 8,5 8,7
31 – 35 12,4 8,3 4,6
36 – 40 14,7 8,6 6,2
01 – 40 11,8 9,4 7,2
Z analizy tej tablicy wynika, ˙ze algorytm TMN poprawia rozwia
‘zania dostarczone przez algorytm konstrukcyjny IN ´srednio od 7,2% do 11,8%; im mniejsza jest liczba czynno´sci w operacji, tym poprawa jest wie
‘ksza. Czas oblicze´n na komputerze Duron (900MHz) waha sie
‘ od kilku sekund do kilkunastu minut, z wyja
‘tkiem grupy przyk lad´ow 36-40 klasy Vdata, dla kt´orych czas oblicze´n by l rze
‘du 60 minut. Tak du˙zy czas oblicze´n (dla tej ostatniej grupy przyk lad´ow) w odniesieniu do czasu pracy algorytmu z pracy [7] dla operacji wielomaszynowych z r´ownoczesnym wykorzystaniem wszystkich maszyn, wynika przede wszystkim ze wzrostu liczby we
‘z l´ow w grafie G(π) (klasycznie wierzcho lek reprezentowa l jedna
‘ operacje
‘ a tutaj reprezentuje jedna
‘czynno´s´c). Dodatkowo, w sytu- acji klasycznej graf ten dla permutacji dopuszczalnej nie zawiera l cykli, za´s tutaj zawiera cykle o niedodatniej d lugo´sci.
Reasumuja
‘c, wste
‘pne wyniki bada´n sa
‘ bardzo zache
‘caja
‘ce. Jednak˙ze algorytm
TMN wymaga jeszcze dalszych bada´n, w szczeg´olno´sci przysz le prace powinny dotyczy´c przy´spieszenia jego pracy. Wydaje sie
‘, ˙ze efekt ten jest mo˙zliwy do uzyskania przez opra- cowanie specjalistycznych metod wyznaczania warto´sci najd lu˙zszej ´scie˙zki grafie w G(π) posiadaja
‘cym cykle o niedodatniej d lugo´sci.
LITERATURA
1. Brucker P., Neyer J.: Tabu-Search for Multi-Mode Job-Shop Problem, OR Spec- trum, 20, 1998, pp. 21-28.
2. Drozdowski M.: Scheduling multiprocessor task - An Overview, European Journal Operational Research, 94, 1996, pp. 215-230.
3. Glover F., Laguna M.: Tabu Search. Kluwer Academic Publishers, Massachusetts USA, 1997.
4. Grabowski J.: Sformu lowanie i rozwia
‘zanie zagadnienia kolejno´sciowego z r´ownoleg lym wykorzystaniem maszyn, Archiwum Automatyki i Telemechaniki, 1978, pp. 91-113.
5. Kramer A.: Scheduling Multiprocessor Tasks on Dedicated Processors, PhD-Thesis, Fachbereich Mathematik/Infomatik, Universitat Osnabruck, 1995.
6. Makuchowski M., Nowicki E.: Operacje wielomaszynowe z nier´ownoczesnym u˙zyciem maszyn, Komputerowo zintegrowane zarza
‘dzanie, Tom II, Warszawa WNT, 2002, pp. 114-123.
7. Nowicki E.: Metoda tabu w problemach szeregowania zada´n produkcyjnych. Oficyna Wydawnicza Politechniki Wroc lawskiej, Ser. Monografie 27, Wroc law 1999.
8. Nowicki E., Smutnicki C.: A decision support system for the resource constrained project scheduling problem, European Journal of Operational Research 79, 1994, pp. 183-195.
9. Sawik T.: Planowanie i sterowanie produkcji w elastycznych systemach monta˙zowych, Warszawa, WNT, 1996.
Recenzent:
Wp lyne
‘ lo do Redakcji xx.yy.2002 r.
Abstract
The paper deals with the criterion of the makespan minimisation for the job shop problem with multimachine operations and non-simultaneously used machines. Proccesses
which involve some machines set for operation performing are modeled as a multimachine operations. The range where machine performs an operation (so-called an activity) is defined for each machine. An easily implemented approximation algorithm is proposed.
Due to exploiting some structural properties of the problem combined with a local search technique controlled by a tabu search strategy the algorithm is able to achieve good results for instances up to 1700 activites, 300 operations and 15 machines. Computational results for test data arising from benchmark instances enlarged by activity times are presented.