• Nie Znaleziono Wyników

ZESZYTY NAUKOWE POLITECHNIKI ´SLA

N/A
N/A
Protected

Academic year: 2021

Share "ZESZYTY NAUKOWE POLITECHNIKI ´SLA"

Copied!
11
0
0

Pełen tekst

(1)

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

(2)

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

(3)

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, lj ))}, (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 lj = arg minl∈Mjτj,l oraz l+j = arg maxl∈Mjj,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.

(4)

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

Sasiedztwo 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)

(5)

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∈Mjl|. 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∈Mjl| − 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+, lj+)), 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).

(6)

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

l(zlB− 1) < min

l∈Mj

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 wieksza ni˙z Pl∈Mjl|, 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 Cmaxv). Bada- nia testowe pokaza ly, i˙z LB ma bardzo dobre w lasno´sci, mianowicie dla zdecydowanej

(7)

wiekszo´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

(8)

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,

(9)

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

(10)

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

(11)

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.

Cytaty

Powiązane dokumenty

Glanzmann’s thrombasthenia For bleeding episodes and for invasive procedures/surgery administer 90µg (range 80-120µg) per kg b.w. At least three doses should be administered to

Odpowiedzi nadesłane autorowi od profe­ sorów poszczególnych seminariów na przesłane im pytanie: jakie podręczniki dla poszcze­ gólnych dyscyplin

However, it should be noted that, if the given problem instance is unsolvable, then the steps taken by such useless search instances are the only overhead (in terms of the number

The proposed approach uses the multi-agent para- digm and enables solving a difficult data reduction optimi- zation problem using a set of optimizing agents executing the

In this section, our goal is to construct a fast tabu search algorithm for computing solutions of good quality for large instances of the minmax regret minimum span- ning tree

The troubleshooting procedure for aircraft maintenance is described in the Troubleshooting Manual (TSM) and entails multiple tasks with increasing complexity, ranging from

Ten zarys stanu źródeł energetyki rozproszonej w Polsce dowodzi, że zmia- ny technologii wytwarzania energii w postaci ciepła lub/i energii elektrycznej powinny już dawno

Wydaje się, że niepo­ trzebnie odwołuje się do ujęć słownikowych, wzpada jednak podkreślić, że sprawnie referuje zasadnicze myśli o formie eseju, zawarte w pracach