Professional Documents
Culture Documents
Maciej Lichtenstein
Wrocªaw 2003
2 Maciej Lichtenstein
Spis tre±ci
Spis tre±ci 3
1 Wst¦p 7
1.1 Wprowadzenie w tematyk¦ . . . . . . . . . . . . . . . . . . . . 7
3.3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . 26
3
SPIS TRECI
4 Maciej Lichtenstein
SPIS TRECI
Bibliograa 138
6 Maciej Lichtenstein
Rozdziaª 1
Wst¦p
Zadanie , jest to zbiór czynno±ci, jakie nale»y wykona¢ aby otrzyma¢ zadany
produkt nalny, np.: obróbka danego póªproduktu przez konkretne urz¡dze-
nie, wykonanie konkretnego programu przez procesor itp. Ka»de zadanie
okre±lone jest przez szereg parametrów takich jak kolejno±¢ wykonywania
czynno±ci, czas wykonywania kolejnych czynno±ci, terminy dost¦pno±ci zada«,
7
1.1 Wprowadzenie w tematyk¦
8 Maciej Lichtenstein
1 Wst¦p
Nale»y zwróci¢ uwag¦ na to, »e parametry zada« takie jak czasy wykony-
wania czynno±ci, terminy dost¦pno±ci, itp. mog¡ by¢ wielko±ciami zale»nymi
od dodatkowych zasobów. Wówczas odpowiednie wielko±ci przedstawione
powy»ej s¡ deniowane jako funkcje zale»ne od ilo±ci przydzielonych do-
datkowych zasobów. Oprócz tego mog¡ istnie¢ pewne dodatkowe ograniczenia
dotycz¡ce ilo±ci dost¦pnego zasobu (tzw. zasoby lokalnie, globalnie lub pod-
wójnie ograniczone).
Dodatkowo, mi¦dzy poszczególnymi zadaniami mog¡ istnie¢ ograniczenia
kolejno±ciowe, tzn. mo»e istnie¢ wymaganie, »e i-ta czynno±¢ zadania j∈J
nie mo»e by¢ wykonywana przed zako«czeniem wykonania i-tej czynno±ci
zadania k ∈ J (oznaczane jako j → k ). Ograniczenia tego rodzaju deni-
uje si¦ przez wprowadzenie antyreeksyjnej, antysymetrycznej i tranzytywnej
relacji na zbiorze zada« J. Relacja ta mo»e mie¢ ró»ny charakter i ªatwo
(wj )Tj = j∈J (wj )Tj suma (wa»onych) opó¹nie« zada« (ang. total
P P
•
(weighted) tardiness ),
P P
• (wj )Uj = j∈J (wj )Uj (wa»ona) liczba opó¹nionych zada« (ang.
total (weighted) number of late jobs ),
P P
• (wj )Ej +(vj )Tj = j∈J (wj )Ej +(vj )Tj (wa»ona) suma przyspiesze«
i opó¹nie« zada« (ang. total (weighted) erliness/tardiness ),
10 Maciej Lichtenstein
1 Wst¦p
12 Maciej Lichtenstein
1 Wst¦p
14 Maciej Lichtenstein
1 Wst¦p
16
2 Podstawowe informacje dotycz¡ce problemów ...
rodzaje przezbroje«:
oraz
18 Maciej Lichtenstein
2 Podstawowe informacje dotycz¡ce problemów ...
mi
pi = ,
ηi kIi
gdzie:
20 Maciej Lichtenstein
Rozdziaª 3
Wyniki dotychczasowych bada«
dotycz¡cych jednoprocesorowych
problemów szeregowania zada«
z przezbrojeniami oraz
problemów szeregowania z
parametrami zada« zale»nymi od
dodatkowych zasobów
3.1 Wprowadzenie
Ze wzgl¦du na to, »e w dalszej cz¦±ci pracy rozpatrywane b¦d¡ jednoproce-
sorowe problemy szeregowania zada«, w których zarówno czasy przezbroje«,
jak i czas wykonywania zada« zale»¡ od dodatkowych zasobów, dokonano
przegl¡du dotychczas uzyskanych rezultatów w tym zakresie. Przegl¡d ten
zostaª podzielony na dwie cz¦±ci. W pierwszej cz¦±ci przedstawiono wyniki
bada« dotycz¡cych jednoprocesorowych problemów szeregowania zada« z
przezbrojeniami, w drugiej cz¦±ci natomiast przedstawiono wyniki dotychcza-
sowych bada« dotycz¡cych jednoprocesorowych problemów szeregowania, w
których parametry zada« (czasy ich wykonywania, terminy dost¦pno±ci) za-
le»¡ od dodatkowych zasobów.
21
3.1 Wyniki dotychczasowych bada« dotycz¡cych...
22 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...
24 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...
26 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...
28 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...
P P
wj Cj . Wykazano, »e problem z kryterium
P Cj jest NP-trudny, a prob-
lem z kryterium wj Cj jest silnie NP-trudny. Ponadto wskazano szczególne
przypadki problemu rozwi¡zywalne wielomianowo.
Obszerny zbiór rezultatów dotycz¡cych problemów z terminami dost¦p-
no±ci zale»nymi od zasobów mo»na znale¹¢ w pracy [71].
3.4 Podsumowanie
Jak wynika z przedstawionego powy»ej przegl¡du literatury dla prob-
lemów jednoprocesorowych z parametrami zale»nymi od zasobów oraz prob-
lemów z przezbrojeniami, problemy w których czasy wykonywania zada« oraz
czasy przezbroje« zale»¡ od zasobów rozpatrywane byªy w bardzo w¡skim
zakresie. W zwi¡zku z tym, celowe jest poª¡czenie tych problemów, w celu
wykazania teoretycznych wªasno±ci oraz dostarczenia gotowych narz¦dzi w
postaci algorytmów rozwi¡zania tego typu problemów.
Dodatkowo, nale»y zauwa»y¢, »e problemy z czasami przezbroje« za-
le»nymi od zasobów nie byªy rozpatrywane w wystarczaj¡cym zakresie.
W zwi¡zku z tym, w niniejszej pracy podj¦to badania nad wybranymi
problemami, w których zarówno czasy wykonywania zada«, jak i czasy przezbro-
je« zale»¡ od zasobów. Wyniki tych bada« przedstawiono w kolejnym rozdziale.
Ponadto, cze±¢ rezultatów tych bada« mo»na znale¹¢ w pracach [77, 78, 83,
84].
4.1 Wprowadzenie
W niniejszym rozdziale przedstawione zostan¡ nowe wyniki, uzyskane
przez autora niniejszej pracy, dotycz¡ce jednoprocesorowych problemów sz-
eregowania zada« z przezbrojeniami. Podstawowym rezultatem tej cz¦±ci
pracy jest wprowadzenie nowych modeli, które ª¡cz¡ i uogólniaj¡ modele
rozpatrywane dotychczas. Uogólnienie to polega gªównie na tym, »e ª¡czy
wybrane problemy szeregowania zada« z przezbrojeniami z problemami, w
których czas wykonywania zadania zale»y od zasobów (rozpatrywane doty-
chczas oddzielnie). Rozpatrywane tu problemy s¡ takimi, w których zarówno
czas wykonywania zadania, jak i czas przezbrojenia zale»y od zasobów. Dal-
sza cz¦±¢ tego rozdziaªu zawiera ogóln¡ denicj¦ badanych problemów oraz
zaproponowany sposób reprezentacji rozwi¡za« (podrozdziaªy 4.2 i 4.3). Nast¦p-
nie badane s¡ wybrane konkretne problemy, gªównie pod k¡tem zªo»ono±ci
obliczeniowej, a tak»e konstruowane s¡ algorytmy ich rozwi¡zania osobno
dla przypadku z zasobem podzielnym w sposób ci¡gªy (podrozdziaª 4.4) i z za-
sobem podzielnym w sposób dyskretny (podrozdziaª 4.5). Niniejszy rozdziaª
zamyka krótkie podsumowanie uzyskanych wyników.
30
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
s f = b f − af u f , u f ∈ U f , (4.1)
gdzie:
• pj ≥ 0 czas wykonywania,
• rj ≥ 0 termin dost¦pno±ci,
• wj ≥ 0 waga (priorytet).
0 0
p j = b j − aj v j , v j ∈ V j , (4.2)
gdzie:
0
• bj ≥ 0 maksymalny czas wykonywania zadania j,
0
• aj ≥ 0 wspóªczynnik wykorzystania zasobu dla zadania j,
32 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
• Je»eli w polu ogranicze« wyst¦powa¢ b¦dzie zapis pj = bj − aj vj , to oz-
nacza¢ on b¦dzie, »e w problemie wyst¦puj¡ zadania o czasach wykony-
wania zale»nych od zasobów.
Przykªadowo, zapis:
0 0
X
1|dscr, sf = bf − af uf , pj = bj − aj vj , GT | wj Cj
~v = [v1 , v2 , ..., vn ]
Pn
i musi speªnia¢ ograniczenie j=1 vj ≤ V̂ .
Aby formalnie zdeniowa¢ wektor ~ u, musimy zdeniowa¢ grupy zada«.
W ka»dej permutacji π mo»emy wyró»ni¢ K (B ≤ K ≤ n) grup kolejnych
zada« nale»¡cych do jednej rodziny. Zilustrujmy to nast¦puj¡cym przykªa-
dem. Je»eli w permutacji π mo»emy wyró»ni¢ K nast¦puj¡cych grup (G(1), ..., G(K)):
π(1), ... ..., π(j − 1), π(j), ..., π(k − 1), π(k), π(k + 1), ... ..., π(n),
| {z } | {z }| {z } | {z } | {z }
G(1) G(i−1) G(i) G(i+1) G(K)
to np. i-ta grupa jest zdeniowana jako G(i) = (π(j), ..., π(k)) i ka»de zadanie
z tej grupy nale»y do tej samej rodziny (np. If ) oraz zadania π(j−1) i π(k+1)
nale»¡ do innych rodzin (nie do If ). Innymi sªowy, pomi¦dzy zadaniami w
obr¦bie jednej grupy nie s¡ wykonywane »adne przezbrojenia.
Oznaczmy przez s(i) przezbrojenie wyst¦puj¡ce przed grup¡ G(i) oraz
przez u(i) ilo±¢ zasobu przydzielonego do tego przezbrojenia. Wówczas wektor
~u zdeniowany jest nast¦puj¡co:
~u = [u1 , u2 , ..., uB ]
PB
i speªnia¢ musi ograniczenie f =1 uf ≤ Û .
Ostatecznie, problem polega na znalezieniu takiego harmonogramu
P ∗ = {π ∗ , ~v ∗ , ~u∗ }, który minimalizuje zadane kryterium.
34 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
1|sf = bf − af uf , pj = bj − aj vj |Cmax . (4.3)
n
X B
X
Cmax = pj + sf
j=1 f =1
ALGORYTM R11
Krok 1
0 0
Podstaw: J := J , V̂ := V̂ .
Krok 2
0 0 0
Znajd¹ zadanie j∗ ∈ J takie, »e aj ∗ = maxj∈J 0 aj .
Krok 3
0 0 0 0
Podstaw: vj ∗ := min{v̄j ∗ , V̂ }, V̂ := V̂ − vj ∗ , J :=
0
J \{j ∗ }.
Krok 4
0 0
Je»eli J = ∅ lub V̂ = 0 to STOP. W przeciwnym wypadku
przejd¹ do Kroku 2.
ALGORYTM R12
Krok 1
0 0
Podstaw: F := {1, ..., B}, Û := Û .
Krok 2
0
Znajd¹ przezbrojenie s∗f , f ∗ ∈ F takie, »e af ∗ =
maxf ∈F 0 af .
Krok 3
0 0 0 0
Podstaw: uf ∗ := min{ūf ∗ , Û }, Û := Û − uf ∗ , F :=
0
F \{f ∗ }.
Krok 4
0 0
Je»eli F = ∅ lub V̂ = 0 to STOP. W przeciwnym wypadku
przejd¹ do Kroku 2.
36 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM A1
0 0
1|rj , sf = bf − af uf , pj = bj − aj vj , GT |Cmax (4.4)
0 0
π (j) = π(j + 1) i π (j + 1) = π(j). Dodatkowo oznaczmy przez Sj (Cj ) oraz
0 0
Sj (Cj ) terminy rozpocz¦cia (zako«czenia) wykonywania zada« odpowiednio
0
w uszeregowaniu π oraz π . Zauwa»my, »e:
0
If ∈ F , b¦dziemy nazywa¢ zadanie o czasie wykonywania pf = j∈If pj i
P
0
terminie dost¦pno±ci rf = rj ∗ − j∈If \{j ∗ } pj , gdzie j ∗ = arg maxj∈If {rj }.
P
00 0
rodziny If ∈ F , b¦dziemy nazywa¢ zadanie o czasie wykonywania pf = pf +sf
00 0
i terminie dost¦pno±ci rf = rf − sf .
Zauwa»my, »e zarówno czasy wykonywania jak i terminy dost¦pno±ci
zada« powy»ej zdeniowanych s¡ wielko±ciami zale»nymi od zasobów.
38 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM R21
Krok 1
0 0
Podstaw: J := J ; V̂ := V̂ ; vj := 0, dla j ∈ J; wyznacz
terminy rozpocz¦cia i zako«czenia wykonywania zada«.
Krok 2
0
Znajd¹ zadanie j1 ∈ J takie, »e j1 = maxj∈J 0 {j|Sj = rj }.
Je»eli takie zadanie nie istnieje, to przejd¹ do Kroku 4.
Krok 3
0 0
Podstaw: J := J \{1, ..., j1 − 1}.
Krok 4
0 0 0
Znajd¹ zadanie j2 ∈ J takie, »e aj2 = maxj∈J 0 {aj }.
Krok 5 Sj −rj
0
Podstaw vj2 = min{v̄j2 , V̂ , minj∈{j2 +1,...,n} { aj
0 }}
2
Krok 6
0 0
Podstaw V̂ := V̂ − vj2 .
Krok 8
0 0
Je»eli vj2 = v̄j2 , to podstaw J := J \{j2 }.
Krok 9
0 0
Je»eli J =∅ lub V̂ = 0 to STOP. W przeciwnym przy-
padku przejd¹ do Kroku 2.
ALGORYTM R22
Krok 1
0 0
Podstaw: F := {1, ..., B}; Û := Û ; uf := 0, dla f ∈
0
F ; wyznacz terminy rozpocz¦cia i zako«czenia wykonywania
zada«.
Krok 2
0
Znajd¹ zadanie j1 ∈ J takie, »e j1 = maxj∈J 0 {j|Sj = rj }.
Je»eli takie zadanie nie istnieje, to przejd¹ do Kroku 4.
Krok 3
0 0
Podstaw: F := F \{1, ..., hj1 }.
Krok 4
0
Znajd¹ przezbrojenie sf2 , f2 ∈ F , takie, »e af 2 =
maxf ∈F 0 {af }.
Krok 5 Sj −rj
0
Podstaw uf2 = min{ūf2 , Û , minj∈If2 ∪...∪IB { af2
}}
Krok 6
0 0
Podstaw Û := Û − uf2 .
Krok 8
0 0
Je»eli uf2 = ūf2 , to podstaw F := F \{f2 }.
Krok 9
0 0
Je»eli F =∅ lub Û = 0 to STOP. W przeciwnym przy-
padku przejd¹ do Kroku 2.
0 0
je»eli rf − bf ≤ rg − bg − ag ūg .
40 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM A2
Dowód.
0 0
Nale»y zauwa»y¢, »e je»eli If ≺ Ig , to bez wzgl¦du na ilo±¢ zasobu
przydzielonego do przezbroje« sf i sg , zachodzi¢ b¦d¡ nast¦puj¡ce nierówno±ci:
0 0
rf − sf ≤ rg − sg
00 00
rf ≤ rg .
0
St¡d, na mocy Wªasno±ci 6, zagregowane zadanie If b¦dzie wykonywane
0
przed zagregowanym zadaniem Ig . Je»eli relacja dominacji zachodzi dla ka»dej
pary zagregowanych zada«, to mo»na wyznaczy¢ optymaln¡ sekwencj¦ ich
wykonywania szereguj¡c je zgodnie z t¡ relacj¡.
0
1. Uszereguj zagregowane zadania wg niemalej¡cych warto±ci rf .
0
2. Uszereguj zagregowane zadania wg niemalej¡cych warto±ci rf − bf .
0
3. Uszereguj zagregowane zadania wg niemalej¡cych warto±ci rf − bf +
af ūf .
G1 : Û ∈ [0; 0, 33
PB
f =1 ūf ],
42 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
G2 : Û ∈ [0, 33
PB PB
f =1 ūf ; 0, 66 f =1 ūf ],
G3 : Û ∈ [0, 66
PB PB
f =1 ūf ; f =1 ūf ].
H
i −C ∗
Cmax Hi
• η = ∗
Cmax
max
, dla n = 5 i n = 10, gdzie Cmax jest rozwi¡zaniem
∗
dostarczonym przez algorytm Hi , i ∈ {1, .., 3} oraz Cmax jest rozwi¡zaniem
optymalnym;
Hi −C B
Cmax Hi
• χ= B
Cmax
max
, dla n ∈ {5, 10, 50, 100}, gdzie Cmax jest rozwi¡zaniem
B
dostarczonym przez algorytm Hi , i ∈ {1, .., 3} oraz Cmax jest najlep-
szym rozwi¡zaniem spo±ród znalezionych dla konkretnej instancji.
Algorytm H1 H2 H3
n B Grupa η̄[%] χ̄[%] η̄[%] χ̄[%] η̄[%] χ̄[%]
5 2 G1 12,76 7,21 10,35 6,24 15,97 11,08
10 3 G1 8,01 4,25 4,24 4,02 14,56 10,98
50 12 G1 4,08 2,54 8,10
100 25 G1 3,69 2,18 7,58
5 3 G1 11,17 7,03 9,24 5,37 13,89 9,97
10 5 G1 7,69 3,58 6,42 2,90 12,99 9,35
50 25 G1 2,64 2,06 7,88
100 50 G1 2,55 1,46 7,05
5 4 G1 9,43 5,12 9,01 4,98 12,31 9,78
10 8 G1 5,22 3,01 4,87 3,22 12,04 8,88
50 37 G1 1,97 1,25 7,00
100 75 G1 1,80 1,22 7,06
44 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
1|rj , sf = bf − af uf , pj = bj − aj vj |Cmax (4.6)
46 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0 0 0 0
n = n ; B = B ; F = F ; sf = sf , dla f = 1, ..., B ; pj = pj dla j = 1, .., n;
0 0
rj = d − dj + shj dla j = 1, .., n; Ĉ = L̂ + d, gdzie d = maxj∈J 0 {dj }.
W obu problemach pojedyncze rozwi¡zanie mo»e by¢ reprezentowane per-
0 0 0 0
mutacj¡ zada«. Niech permutacja π = (π (1), ..., π (n )) oznacza dowolne
rozwi¡zanie problemu DL oraz niech permutacja π = (π(1), ..., π(n)) taka,
0
»e π(j) = π (n − j + 1) (j = 1, ..., n) oznacza odpowiadaj¡ce mu rozwi¡zanie
problemu DC.
W ka»dej permutacji mo»na wyró»ni¢ K grup zada«. Oznaczmy przez
0 0 0
G (i) (G(i)) i-t¡ grup¦ zada« w permutacji s (i) (s(i)) π (π ), oraz przez
0
zwi¡zane z ni¡ przezbrojenie procesora. atwo zauwa»y¢, »e G (i) = G(K−i+
0
1) oraz, »e s (i) = s(K −i+1) (i = 1, .., K ), tzn. w i-tej grupie w rozwi¡zaniu
0
π wykonywane s¡ te same zadania co w grupie (K −i+1)-szej w rozwi¡zaniu
π (z tym, »e wykonywane s¡ w odwrotnej kolejno±ci) i poprzedza je taki sam
0
czas przezbrojenia. Bez utraty ogólno±ci mo»emy zaªo»y¢, »e permutacja π
0 0
jest permutacj¡ naturaln¡ tj. π (j) = j , dla j = 1, ..., n i takie zaªo»enie
przyjmiemy w dalszej cz¦±ci dowodu.
0
Dla ka»dej pary rozwi¡za« π i π zachodzi nast¦puj¡cy lemat:
0 0 0
Cj ∗ − dj ∗ + d ≥ Cmax . (4.9)
Pn−j ∗ 0
Pn 0 Pi PK 0
Zauwa»aj¡c, »e: k=1 pπ(k) = k=j ∗ +1 pk i k=1 s(k) = k=K−i+1 s (k) +
0 0 P 0 0 0
s(i) oraz, »e Cmax − Cj ∗ = nk=j ∗ +1 pk + K
P
k=K−i+1 s (k), na podstawie (4.9)
otrzymujemy:
0
n K
0 0
X X
d − dj ∗ + s(i) ≥ pk + s (k) + s(i)
k=j ∗ +1 k=K−i+1
i dalej:
n−j ∗ i
X X
rj ∗ ≥ pπ(k) + s(k) = Cπ(n−j ∗ ) . (4.10)
k=1 k=1
0 Pl 0 PK−i+1 0
Nast¦pnie zauwa»aj¡c, »e Cl = k=1 pk + k=1 s (k), otrzymujemy:
0 0
Cmax = d − dl + Cl = Ll + d = Lmax + d (4.11)
48 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
X
1|sf = bf − af uf , pj = bj − aj vj , GT | wj Cj . (4.12)
pπ(j) pπ(j+1)
≥ (4.13)
wπ(j) wπ(j+1)
Warto±¢ kryterium dla permutacji π wynosi:
X
T (π) = wj Cj = T0 + wπ(j) Cπ(j) + wπ(j+1) Cπ(j+1) =
j∈J
50 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
P
gdzie T0 = j∈J \{π(j),π(j+1)} wj Cj .
0
Utwórzmy uszeregowanie π z rozwi¡zania π π(j) i π(j +
takie, »e zadania
0
1) wykonywane s¡ w nim w odwrotnej kolejno±ci, tzn. π (j) = π(j + 1) i
0
π (j + 1) = π(j). Zauwa»my, »e po takiej zamianie, terminy rozpocz¦cia i
zako«czenia wykonywania pozostaªych zada« nie zmieni¡ si¦. W zwi¡zku z
tym, warto±¢ kryterium wynosi:
0
X
T (π ) = wj Cj = T0 + wπ0 (j) Cπ0 (j) + wπ0 (j+1) Cπ0 (j+1) =
j∈J
0
T (π) − T (π ) = wπ(j) pπ(j) + wπ(j+1) (pπ(j) + pπ(j+1) )−
wπ(j+1) pπ(j+1) − wπ(j) (pπ(j) + pπ(j+1) ) =
wπ(j+1) pπ(j) − wπ(j) pπ(j+1) ≥ 0,
a st¡d:
0
T (π) ≥ T (π ).
ALGORYTM R31
Krok 1
0 0
Podstaw: J := J , V̂ := V̂ .
Krok 2 ∗ 0 0 Pn
Znajd¹zadanie j ∈ J takie, »e aj ∗ k=j ∗ wk =
0 Pn
maxj∈J 0 {aj k=j wk }.
Krok 3
0 0 0
Podstaw: vj ∗ := min{v̄j ∗ , V̂ }, V̂ := V̂ − vj ∗ ,
0 0 ∗
J := J \{j }.
Krok 4
0 0
Je»eli J = ∅ lub V̂ = 0 to STOP. W przeciwnym wypadku
przejd¹ do Kroku 2.
ALGORYTM R32
Krok 1
0 0
Podstaw: F := {1, ..., B}, Û := Û .
Krok 2 Znajd¹
0
przezbrojenie sf ∗ f ∗ ∈ F takie, »e
PB P PB P
af ∗ k∈Ig wk = maxf ∈F {af k∈Ig wk }.
0
g=f ∗ g=f
Krok 3
0 0 0
uf ∗
Podstaw: := min{ūf ∗ , Û }, Û := Û − uf ∗ ,
0 0 ∗
F := F \{f }.
Krok 4
0 0
Je»eli F = ∅ lub Û = 0 to STOP. W przeciwnym wypadku
przejd¹ do Kroku 2.
52 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
X
Tf = wj Cj = (Sf + sf + pa )wa + (Sf + sf + pa + pa+1 )wa+1 + ...
j∈If
0
+(Sf + sf + pa + pa+1 + ... + pb−1 )wb−1 +
0
(Sf + sf + pa + pa+1 + ... + pb−1 + pb )wb =
b b b−1 b b−1 b
0 0 0 0
X X X X X X
(Sf + sf + pj ) wj − wk pj = (Sf + pf )wf − wk pj .
j=a j=a k=a j=k+1 k=a j=k+1
Pb Pb−1 0
Zauwa»my, »e skªadnik k=a wk j=k+1 pj nie zale»y od terminu Sf (zale»y
od kolejno±ci wykonywania zada« w obr¦bie rodziny, a ta, jak wiemy z Wªas-
no±ci 9, powinna by¢ zgodna z reguª¡ SWPT). W zwi¡zku z tym, caª¡ rodz-
in¦ mo»emy traktowa¢ jako pojedyncze zagregowane zadanie o parametrach
danych w Denicji 4. Dalsza cz¦±¢ dowodu przebiega tak samo jak dowód
Wªasno±ci 9, przy czym nale»y rozpatrywa¢ nie pojedyncze zadania ale caªe
rodziny zada« (zagregowane zadania).
0 0
X
1|pj = bj − aj vj , | wj Cj . (4.15)
0 00
X
pf = p j + b f − af u f = b f − af u f .
j∈If
( )
Xnv
nv = arg max nv v̄σ(j) < V̂ + 1.
1≤nv ≤n
j=1
54 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM A3
ALGORYTM A4
56 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM Hi , i ∈ 4, 5, 6
0 0
4. Wyznacz permutacj¦ π tak¡, »e bπ(j) ≤ bπ(j+1) , dla j = 1, ..., n − 1.
0 0
bj bj−k wj
vjk = 0 − 0 (4.17)
aj aj wj−k
n
0
X
zj1 (vj ) = aj v j wπ(l) + wj−1 (vj − vj1 ) =
l=j
n
0 0 0 0 0
X
aj v j wπ(l) + bj−1 wj − bj wj−1 = zj0 (vj ) + bj−1 wj − bj wj−1 .
l=j−1
n
0 0 0
X
zj2 (vj ) = aj v j wπ(l) + wj−1 (vj − vj1 ) + wj−2 (vj − vj2 ) = zj1 (vj ) + bj−2 wj − bj wj−2
l=j
0 0
zjk (vj ) = zjk−1 (vj ) + bj−k wj − bj wj−k (4.18)
lub równowa»nie:
n j j
0 0 0
X X X
zjk (vj ) = aj v j wπ(l) + wj bl − bj wl . (4.19)
l=j−k l=j−k l=j−k
58 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
ALGORYTM H7
Krok 1
0 0
Podstaw: J := J , V̂ := V̂ .
Krok 2
0 0 0
Dla ka»dego zadania j ∈ J wyznacz vj = min{v̄j , V̂ } oraz
progowe ilo±ci zasobów vjk zgodnie z równaniem (4.17).
Krok 3
0
Dla ka»dego zadania j ∈ J wyznacz kj takie, »e
k 0 k +1
vj j < v j ≤ vj j .
Krok 4
0 k ∗ 0
Znajd¹ zadanie j∗ ∈ J takie, »e zj ∗j (vj ∗ ) =
k 0
maxj∈J 0 {zj j (vj )} (równanie (4.18) lub (4.19)).
Krok 3
0 0 0 0 0
Podstaw: vj ∗ := vj ∗ , V̂ := V̂ − vj ∗ , J := J \{j ∗ } oraz
0 0 0
bj ∗ := bj ∗ − aj ∗ vj ∗ .
Krok 6
0 0
Je»eli J = ∅ lub V̂ = 0 to STOP. W przeciwnym wypadku
przejd¹ do Kroku 2.
T Hi −T ∗ H
• η= T∗
, dla instancji z grupy G1 , gdzie T i jest warto±ci¡ kryterium
∗
dla rozwi¡zania dostarczonego przez algorytm Hi , i ∈ {4, .., 7} oraz T
jest rozwi¡zaniem optymalnym;
T Hi −T B H
• χ = TB
, dla instancji z grupy G2 , gdzie T i jest rozwi¡zaniem
B
dostarczonym przez algorytm Hi , i ∈ {4, .., 7} oraz T jest najlepszym
rozwi¡zaniem spo±ród znalezionych dla konkretnej instancji.
Algorytm H4 H5 H6 H7
η̄[%] 27,80 1,23 138,12 0,0002
χ̄[%] 22,45 1,17 120,72 0,00
60 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
0 0
1|dscr, sf = bf − af uf , pj = bj − aj vj |Cmax , (4.20)
j∈N1 qj = j∈N2 qj = Q?
62 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
DP: Dany jest problem (4.20). Pytanie: czy istnieje takie rozwi¡zanie tego
problemu, »e Cmax ≤ Ĉ ?
n = m; B = 1; s1 = 0;
0 0
bj = qj , aj = 1, Vj = {0; v̄j }, v̄j = qj , j = 1, ..., n;
V̂ = Q; Ĉ = Q
X
vj ≤ V̂ , (4.21)
j∈J1
X
pj ≤ Ĉ. (4.22)
j∈J2
X
qj ≤ Q,
j∈J \J2
X X
qj − qj ≤ Q,
j∈J j∈J2
X
2Q − qj ≤ Q
j∈J2
i ostatecznie: X
qj ≥ Q. (4.23)
j∈J2
0
Podobnie, podstawiaj¡c p j = b j − v j = qj oraz Ĉ = Q w nierówno±ci
(4.22) otrzymujemy:
X
qj ≤ Q. (4.24)
j∈J2
PART⇒DP
(
P) Zaªó»my, »e problem PART ma rozwi¡zanie, tj. istnieje N1 ⊆
N , takie, »e j∈N1 qj = Q. Podstawiaj¡c J2 = N1 otrzymujemy rozwi¡zanie
problemu DP.
DP⇒PART
(
P ) Zaªó»my, »e problem DP ma rozwi¡zanie, tj. istnieje J2 ⊆ J ,
takie, »e j∈J2 qj = Q. Podstawiaj¡c N1 = J2 otrzymujemy rozwi¡zanie
problemu PART.
64 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
n
X n
X n
X
Cmax = pj + sj = m + sj
j=1 j=1 j=1
Twierdzenie 10 Je»eli Vj = {0; v̄j } dla j = 1, ..., n oraz Uf = {0; ūf } dla
f = 1, ..., B , to problem (4.20) jest rozwi¡zywalny w pseudowielomianowym
czasie O(n max{Û , V̂ }), .
X B
X
Cmax = pj + sf =
j∈J f =1
B B
0 0
X X X X
bj + bf − aj v j − af u f
j∈J f =1 j∈J f =1
0
X
aj vj → max,
j∈J
przy ograniczeniach:
X (4.25)
vj ≤ V̂ ,
j∈J
v j ∈ Vj dla j∈J
oraz
B
X
af uf → max,
f =1
przy ograniczeniach:
(4.26)
B
X
uf ≤ Û ,
f =1
uf ∈ Uf dla f = 1, ...B.
Problemy te mo»na równowa»nie zapisa¢ nast¦puj¡co (odpowiednio dla
(4.25) i (4.26)):
0
X
xj aj v̄j → max,
j∈J
przy ograniczeniach:
X (4.27)
xj v̄j ≤ V̂ ,
j∈J
66 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
oraz
B
X
yf af ūf → max,
f =1
przy ograniczeniach:
(4.28)
B
X
yf ūf ≤ Û ,
f =1
0 0
X
1|dscr, sf = bf − af uf , pj = bj − aj vj , GT | wj Cj . (4.29)
i
0 0
X
1|dscr, pj = bj − aj vj , | wj Cj , (4.31)
68 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
DS: Dany jest problem (4.31). Pytanie: czy istnieje takie rozwi¡zanie tego
P
problemu, »e T = j∈J wj Cj ≤ T̂ ?
X X
T = wj Cj = wj Cj =
j∈J j∈J2
!2
X 1X 2 1 X
cj ck = c + cj .
j≤k, j,k∈J2
2 j∈J j 2 j∈J2
2
!2
X X X
2T = A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A) qj + qj2 + qj . (4.32)
j∈J2 j∈J2 j∈J2
T ≤ T̂ . (4.35)
X
(A + qj ) ≤ mA + Q,
j∈J \J2
X X
(A + qj ) − (A + qj ) ≤ mA + Q,
j∈J j∈J2
2mA + 2Q − |J2 |A − Q1 ≤ mA + Q
i ostatecznie:
|J1 |A + Q1 ≥ mA + Q. (4.36)
1 2 2
Z kolei, podstawiaj¡c w nierówno±ci (4.35) T̂ = (A (m + m ) + 2Q(A +
2
mA) + 2Q2 ) oraz wykorzystuj¡c równanie (4.33) otrzymujemy:
ECP⇒DS
(
P ) Zaªó»my, »e problem ECP ma rozwi¡zanie, tj. istnieje N1 ⊆ N ,
j∈N1 qj = Q i |N1 | = m. Utwórzmy rozwi¡zanie problemu DS
takie, »e
70 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
Q2 ≤ Q2 .
atwo sprawdzi¢, »e nierówno±¢ powy»sza jest speªniona, poniewa» suma
kwadratów elementów jest zawsze nie wi¦ksza ni» kwadrat ich sumy:
!2
X X
Q2 = qj2 ≤ qj = Q21 = Q2 .
j∈J2 j∈J2
(¬ECP⇒¬DS) Zaªó»my,
P »e problem ECP nie ma rozwi¡zania, tj. dla ka»dego
N1 ⊆ N zachodzi j∈N1 qj 6= Q i/lub |N1 | =
6 m.
Rozpatrzmy nast¦puj¡ce cztery wyczerpuj¡ce przypadki:
(i)
P
j∈N1 qj = Q i |N1 | > m,
(ii)
P
j∈N1 qj = Q i |N1 | < m,
(iii)
P
j∈N1 qj > Q i |N1 | = m,
(iv)
P
j∈N1 qj < Q i |N1 | = m.
A2 (l + 2ml + l2 ) + 2AlQ + Q2 ≤ Q2 .
Nast¦pnie podstawiaj¡c A = Q2 + Q + 1 oraz zakªadaj¡c, »e Q2 = 0
(wówczas lewa strona nierówno±ci przyjmuje najmniejsz¡ warto±¢) otrzymu-
jemy:
|J1 |A + Q1 ≥ mA + Q,
(m − l)A + Q ≥ mA + Q,
mA − lA ≥ mA,
−lA ≥ 0.
Nierówno±¢ ta nie jest speªniona, bo l > 0 i A > 0, wi¦c w tym przypadku
problem (DS) równie» nie posiada rozwi¡zania.
72 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
|J1 |A + Q1 ≥ mA + Q,
mA + Q − l ≥ mA + Q,
−l ≥ 0,
wi¦c nierówno±¢ ta nie mo»e by¢ speªniona dla l>0 co ostatecznie dowodzi,
»e problem DS nie ma rozwi¡zania równie» w tym przypadku.
74 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .
76 Maciej Lichtenstein
Rozdziaª 5
Podstawowe informacje dotycz¡ce
problemów szeregowania zada«
wieloprocesorowych
77
5.1 Rzeczywiste procesy produkcyjne modelowane przez ...
78 Maciej Lichtenstein
5 Podstawowe informacje dotycz¡ce problemów ...
80 Maciej Lichtenstein
5 Podstawowe informacje dotycz¡ce problemów ...
Nale»y zwróci¢ uwag¦ na to, »e obsªuga statku w porcie mo»e by¢ rozu-
miana jako czynno±¢ wieloprocesorowa. Aby to wyja±ni¢ nale»y zauwa»y¢, »e
w ka»dym porcie wzdªu» nabrze»a portowego znajduje si¦ szerego stanowisk
przeªadowczych (doków przeªadowczych). Ka»de stanowisko wyposa»one jest
w odpowiedni sprz¦t (»uraw, suwnica) oraz niewielki obszar magazynowy.
Wielko±¢ i ilo±¢ stanowisk przeªadowczych jest inna w ka»dym porcie. Z
punktu widzenia problemu szeregowania zada« pojedyncze stanowisko mo»e
by¢ rozumiane jako procesor. Ze wzgl¦du na ró»n¡ wielko±¢ (dªugo±¢) statków
ka»dy z nich zajmuje inn¡ ilo±¢ s¡siednich stanowisk, w zwi¡zku z czym
wymaga pewnej liczby procesorów.
Dodatkowo, przed obsªug¡ statku musi nast¡pi¢ przygotowanie stanowisk
przeªadowczych. Przygotowanie to zwi¡zane jest z dostosowaniem urz¡dze«,
zwolnieniem obszaru magazynowego lub dostarczeniem towaru do zaªadowa-
nia.
Podsumowuj¡c, mamy tu do czynienia z problemem szeregowania zada«
w problemie przepªywowym, w którym zadania skªadaj¡ si¦ z wieloproce-
sorowych czynno±ci. Zadane s¡ czasy wykonywania poszczególnych czyn-
no±ci (czasy przeªadunku), liczba procesorów wymaganych do ich realizacji
(liczba stanowisk przeªadowczych) oraz czasy transportu mi¦dzy stadiami
(czas potrzebny na przepªyni¦cie z jednego portu do nast¦pnego). Ponadto
mog¡ wyst¦powa¢ przezbrojenia procesorów. Problemem jest wyznaczenie
takiego harmonogramu obsªugi poszczególnych statków w kolejnych portach,
aby minimalizowa¢ caªkowity czas transportu wszystkich statków (Cmax ).
6.1 Wprowadzenie
Problemy przepªywowe i z zadaniami wieloprocesorowymi byªy dotychczas
rozpatrywane w bardzo w¡skim zakresie. Dla problemów z procesorami równolegªymi
(modelem sizeij ) opublikowano trzy prace [120, 121, 122] i dotycz¡ one kon-
strukcji algorytmów przybli»onych. Dla problemów z procesorami dedykowanymi
(modelem f ixj ) opublikowano jedn¡ prac¦ [12], jednak zaprezentowany tam
model problemu przepªywowego jest inny ni» powszechnie spotykany w liter-
aturze.
Szereg prac po±wi¦conych jest problemom szeregowania zada« w prob-
lemach przepªywowych oraz oddzielnie problemom szeregowania zada« wielo-
procesorowych. Rezultaty bada« nad tymi problemami zebrano w dwóch
kolejnych podrozdziaªach.
82
6 Wyniki dotychczasowych bada« dotycz¡cych...
(B&B). W pracach [47, 52, 95, 108, 126] zaproponowano szereg metod kon-
strukcji dolnych oszacowa« i algorytmów (B&B). Ponadto w pracach [38,
39, 43, 107, 142, 143, 144] zaproponowano szereg wªasno±ci eliminacyjnych
wykluczaj¡cych pewne podziaªy i ograniczaj¡ce przeszukiwan¡ przestrze«
rozwi¡za«. Wªasno±ci te maj¡ równie» zastosowanie przy konstrukcji algo-
rytmów przybli»onych. Efektywno±¢ zaproponowanych algorytmów, pomimo
stosowania wyranowanych technik, nie jest zadowalaj¡ca. Najlepszy z algo-
rytmów, zaproponowany w pracy [126], ma trudno±ci z rozwi¡zaniem prob-
lemu o czterech stadiach i 15 zadaniach.
P
Dla problemu z kryterium Cj zaproponowano algorytmy oparte o tech-
P
nik¦ B&B w pracach [3, 52, 105, 149]. Dla problemu z kryterium Uj zapro-
ponowano algorytm dokªadny B&B w pracy [47]. Efektywno±¢ tych algoryt-
mów pozwala na rozwi¡zanie instancji 15 zadaniowych z maª¡ liczb¡ stadiów
(3,4).
84 Maciej Lichtenstein
6 Wyniki dotychczasowych bada« dotycz¡cych...
6.4 Podsumowanie
Z przedstawionych powy»ej rezultatów wynika, »e problemy szeregowa-
nia zada« wieloprocesorowych i problemy przepªywowe rozpatrywane byªy
dotychczas oddzielnie. W zwi¡zku z tym, celowe jest poª¡czenie obu typów
problemów zwªaszcza, »e problem przepªywowy z wieloprocesorowymi zada-
niami stanowi naturalne uogólnienie problemu przepªywowego hybrydowego
oraz problemy tego typu modeluj¡ rzeczywiste systemy produkcyjne i kom-
puterowe.
Maj¡c to na uwadz¦, w niniejszej pracy podj¦to prób¦ dokonania anal-
izy problemów przepªywowych z wieloprocesorowymi zadaniami. Rezultaty
tych bada« przedstawione zostaªy w kolejnym rozdziale i dotycz¡ zarówno
zªo»ono±ci obliczeniowej oraz wªasno±ci teoretycznych problemów, jak i kon-
strukcji efektywnych algorytmów rozwi¡zania zªo»onych problemów.
86 Maciej Lichtenstein
Rozdziaª 7
Problemy szeregowania zada«
wieloprocesorowych w systemach
przepªywowych
7.1 Wst¦p
W niniejszym rozdziale rozpatrywane b¦d¡ problemy szeregowania zada«
wieloprocesorowych w systemach przepªywowych. Analizowane b¦d¡ dwa
problemy. Pierwszy, to problem ogólny, w którym dla ka»dego zadania zden-
iowane s¡ takie parametry jak termin dost¦pno±ci, czas dostarczenia, czasy
transportu mi¦dzy stadiami, oraz wyst¦puj¡ sekwencyjnie zale»ne przezbroje-
nia. Drugi rozpatrywany problem to problem uproszczony, w którym powy»sze
parametry zada« oraz przezbrojenia nie wyst¦puj¡. W pierwszej kolejno±ci
problemy zostan¡ formalnie zdeniowane Podrozdziaª 7.2, nast¦pnie rozpa-
trywany b¦dzie problem uproszczony, pod k¡tem jego zªo»ono±ci obliczeniowej
oraz metod rozwi¡zania Podrozdziaª 7.3. W Podrozdziale 7.4 zaproponowanych
zostanie szereg algorytmów dla problemu ogólnego. Rozdziaª zamyka krótkie
podsumowanie uzyskanych wyników.
87
7.2 Sformuªowanie problemów
oznaczono przez Oj = {o1j , ..., omj }. Czynno±¢ o1j ma by¢ wykonana na pro-
cesorach stadium i ∈ M.
Dla ka»dego zadania j ∈ J okre±lone s¡ nast¦puj¡ce parametry:
• rj ≥ 0 termin dost¦pno±ci,
• qj ≥ 0 czas dostarczenia.
Cmax = max{Cmj + qj }.
j∈J
• ka»dy procesor wykonuje nie wi¦cej ni» jedn¡ operacj¦ w ka»dej chwili
czasu;
88 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
Oznaczmy przez G = {G1 , ..., Ggmax } zbiór wszystkich grup. atwo wykaza¢,
»e liczba grup dla ka»dej instancji problemu (7.2) nie przekracza gmax =
pm m
Q
i=1 mi .
0 0
Cij = min[Cij , Cig ], Cig = max[Cij , Cig ]
0
iCiq = Ciq , gdzie q jest dowolnym zadaniem takim, »e q 6= j i q 6= g . Poniewa»
terminy Cij speªniaj¡ warunki dopuszczalno±ci, dla ka»dego i < m zachodzi:
i
max[Cij , Cig ] ≤ max[C(i+1)j , C(i+1)g ] − p(i+1)g ,
0
co dowodzi dopuszczalno±¢ terminów Cij . Ostatecznie, poniewa» Cmax =
0 0
maxj∈J {Cmj } = maxj∈J {Cmj } = Cmax , mo»emy stwierdzi¢, »e istnieje równie»
harmonogram optymalny speªniaj¡cy warunki wªasno±ci.
90 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
2
ωif e jest interpretowana jako pozostaªy czas wykonywania tej czynno±ci, tzn.
dªugo±¢ przedziaªu czasu potrzebnego po terminie t na jej zako«czenie.
Podsumowuj¡c, wszystkie wektory skªadaj¡ce si¦ na zbiór Wt maj¡ taki
sam rozmiar, a ka»dy wektor ω ∈ Wt opisuje sytuacj¦ jaka wyst¦puje w mo-
mencie t harmonogramu. Dokªadniej rzecz ujmuj¡c, pierwsza cz¦±¢ ka»dego
wektora opisuje, które czynno±ci zada« zostaªy zako«czone przed terminem
t, a druga cz¦±¢ ka»dego wektora opisuje, które czynno±ci s¡ wykonywane w
przedziale czasu [t, t + 1] i podaj¡ pozostaªy czas ich wykonywania.
Je»eli wektor ω nale»y do zbioru Wt , to musi speªnia¢ nast¦puj¡ce warunki:
1 2
(c1) Dla ka»dej grupy Gf , ωif ≤ |Gf |. Co wi¦cej, je»eli ωif e > 0, wówczas
1
ωif + e ≤ |Gf |, tzn. caªkowita liczba zada« z grupy Gf , których i-ta
czynno±¢ zostaªa zako«czona przed terminem t lub jest wykonywana w
przedziale czasu [t, t + 1] nie mo»e przekracza¢ liczby zada« nale»¡cych
do tej grupy.
2 1 1
(c2) Je»eli i>1 i ωif e > 0, wówczas ω(i−1)f ≥ ωif + e, tzn. i-ta czynno±¢
ka»dego zadania mo»e by¢ wykonywana tylko po zako«czeniu wykony-
wania czynno±ci i−1 tego zadania.
2 2 2
(c3) Je»eli ωif e > 0, wówczas 1 ≤ ωif h ≤ ωif e dla 1 ≤ h ≤ e, tzn. i-ta
1 +e
ωif
czynno±¢ zadania jf nie mo»e si¦ rozpocz¡¢ przed i-t¡ czyno±ci¡
1 +h
ωif
zadania jf .
P
(c4) 2 >0}
{(f,e)| ωif sizeijf1 ≤ mi , dla 1 ≤ i ≤ m, tzn. caªkowita ilo±¢ pro-
e
cesorów wymaganych przez czynno±ci wykonywane w przedziale czasu
[t, t+1], w stadium i, nie mo»e przekracza¢ caªkowitej liczby dost¦pnych
procesorów mi .
2
(c5) ωif e ≤ pijf1 dla wszystkich i, f i e, tzn. pozostaªy czas wykonywania
czynno±ci nie mo»e by¢ wi¦kszy ni» caªkowity czas wykonywania tej
czynno±ci.
1 1 2
(r1) dla ka»dej pary i i f , νif = ωif + h, gdzie h liczb¡ elementów ωif e
równych jeden, tzn. liczba czynno±ci zako«czonych wzrasta o liczb¦
czynno±ci, których pozostaªy czas wykonywania jest równy jeden.
92 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
2 2 2 1 1
(r2) Je»eli 1 ≤ νif h < pijf1 , to ωif e = νif h + 1, gdzie νif + h = ωif + e,
tzn. je»eli wektor ν opisuje sytuacj¦, w której jedna z czynno±ci ma
niezerowy pozostaªy czas wykonania, to czynno±¢ ta jest wykonywana
w przedziale czasu [t, t + 1].
2 2 2 1 1
(r3) Je»eliωif e > 1, to νif h = ωif e − 1, gdzie νif + h = ωif + e, tzn.
wektor ν wskazuje, »e jedna z czynno±ci jest wykonywana, je»eli byªa
wykonywana w przedziale [t, t + 1] i nie zostaªa zako«czona w tym
przedziale.
Wt = ∪u∈Wt−1 R(ω).
1
(c6) ωif = 0 dla ka»dego i oraz f , tzn. nie zostaªo zako«czone wykonywanie
»adnej czynno±ci przed terminem t = 0.
2
(c7) ωif e = 0 dla ka»dego f , e, oraz i > 1, tzn. tylko czynno±ci zwi¡zane z
pierwszym stadium mog¡ by¢ wykonywane w przedziale czasu [0, 1].
2 2
(c8) Je»eli ω1f e > 0, to ω1f e = p1jf1 , tzn. je»eli pierwsza czynno±¢ jakiego±
Niech
1 je»eli ω 6= µ
r(ω) =
0 w przeciwnym przypadku
X
Cmax = r(ωt ).
0≤t≤(n+m−1)p
X
r(ωt ),
0≤t≤(n+m−1)p
po zbiorze Z.
dla 1 ≤ t ≤ (n + m − 1)p i ω ∈ Wt .
Rozpoczynaj¡c od ϕ1 i u»ywaj¡c reguªy (7.3), algorytm wyznacza kole-
jne funkcje ϕ1 (ω), . . . , ϕ(n+m−1)p (ω) zapami¦tuj¡c dla ka»dego wektora ω ∈
Wt wektor oznaczony przez pr(ω), dla którego zostaªo osi¡gni¦te minimum
w wyra»eniu (7.3). Po zako«czeniu tych oblicze« algorytm konstruuje op-
∗ ∗ ∗ ∗
tymaln¡ sekwencj¦ ω0 , ω1 , . . . , ω(n+m−1)p rozpoczynaj¡c od ω(n+m−1)p = w ,
wykorzystuj¡c nast¦puj¡c¡ relacj¦:
ωt∗ = pr(ωt+1
∗
).
n wynosz¡c¡ (m+ m
P m
Qm
i jest ograniczony przez staª¡ niezale»n¡ od i=1 mi )p i=1 mi .
W zwi¡zku z tym, liczba operacji niezb¦dna do sprawdzenia czy dwa wektory
94 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
3-PARTITION: Dany jest zbiór 3r elementów N = {1, ..., 3r} oraz staªa
B. Dla ka»dego elementu j∈N dana jest jego warto±¢ qj taka, »e:
B B
< qj < (7.5)
4 2
Pytanie: Czy istnieje podziaª zbioru
P N na r podzbiorów N1 , . . . , Nr takich,
»e Ni ∩ Nj = ∅, dla i 6= j oraz j∈Ni qj = B , dla i = {1, ..., r}?
96 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
rozpocz¦cia wykonywania czynno±ci mog¡ by¢ wyliczone jako Sij = Cij − pij ,
ze wzgl¦du na to, »e wykonywanie czynno±ci nie mo»e by¢ przerywane.
98 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych
stadium1 stadium 2
zadanie pij sizeij zadanie pij sizeij
1 20 2 1 30 1
2 25 2 2 15 2
3 25 1 3 30 2
4 20 1 4 35 1
5 20 3 5 20 1
6 15 1 6 25 2
• usu« element x ze zbioru φiπi (k) oraz dodaj do tego zbioru element y.
Zbiór ruchów Θ(π, φ), które mog¡ by¢ wykonane dla harmonogramu (π, φ),
zdeniowany jest nast¦puj¡co:
(i, j, k, x, y) : y ∈ (Mi \φi,πi (k) ) ∪ {x} j 6= k
je»eli
Θ(π, φ) = (i, j, k, x, y) : y ∈ Mi \φi,πi (k) je»eli j = k i sizei,πi (k) < mi
(i, j, k, x, y) : y ∈ {x} je»eli j = k i sizei,πi (k) = mi
(7.7)
dla i ∈ M , j ∈ J , k ∈ J , x ∈ φiπi (k) . S¡siedztwo N (Θ(π, φ)) jest zbiorem har-
monogramów otrzymanych przez zastosowanie wszystkich ruchów ze zbioru
Θ(π, φ) do harmonogramu (π, φ). atwo sprawdzi¢, »e liczba ruchów, która
mo»e by¢ zastosowana do ka»dego harmonogramu wynosi:
!
X
|Θ(π, φ)| = O n sizeij (mi − sizeij + 1)
i∈M,j∈J
ĵ
• qik - dªugo±¢ najdªu»szej ±cie»ki wychodz¡cej z wierzchoªka (i, k) (ª¡cznie
îĵ
z pik ) w grae G (π, φ),
îĵ
• Cmax - dªugo±¢ ±cie»ki krytycznej w grae Gîĵ (π, φ).
Dla ka»dego danego grafu G(π, φ) oraz Gîĵ (π, φ) dªugo±ci ±cie»ek przedstaw-
ionych powy»ej mog¡ by¢ wyznaczone przy u»yciu nast¦puj¡cych zale»no±ci:
îĵ
Cmax = max {eĵîk + qîk
ĵ
− pîk }, (7.12)
k∈J\{ĵ}
îĵh
Cmax îĵ
= max{Cmax , max {eĵîl } + max {qîlĵ } + pîĵ }. (7.13)
l∈z îĵh l∈z̄îĵh
• sizeij ∈ [1; mi ],
A
Cmax ∗
−Cmax
• ηA = ∗
Cmax
wzgl¦dna odlegªo±¢ od rozwi¡zania optymalnego dla
C
Cmax TS
−Cmax
• ζ= TS
Cmax
wzgl¦dna poprawa rozwi¡zania pocz¡tkowego (C) os-
i¡gni¦ta przez algorytmu TS.
( ( i−1 ) ( m
))
X 1 X X
LB = max min pkj + pij sizeij + min pkj . (7.15)
i∈M j∈J
k=1
mi j∈J j∈J
k=i+1
Instancje
Rozmiar o znanej Instancje Instancje
Czas
instancji warto±ci kategorii (a) kategorii (b)
optymalnej
n m ηC ηT S γ̄C γ̄T S ζ̄ γ̄C γ̄T S ζ̄ TIME
5 2 9,00 0,00 16,93 11,42 4,82 33,42 20,22 11,00 0,35
5 5 35,68 0,75 55,00 38,98 12,19 84,66 52,45 20,40 0,76
5 8 15,04 0,00 56,10 38,49 12,51 121,06 94,56 14,22 0,93
5 10 8,15 0,00 75,44 61,43 8,90 93,79 73,17 12,27 1,16
±rednia 16,97 0,19 50,87 37,58 9,60 83,23 60,10 14,47 -
10 2 2,14 0,00 16,13 3,00 12,70 38,73 10,82 25,39 1,17
10 5 12,01 1,12 52,52 29,42 18,43 83,91 45,14 26,67 2,07
10 8 21,76 0,00 65,67 46,53 13,32 106,31 77,21 16,04 3,40
10 10 8,78 0,00 90,29 73,19 9,89 127,92 100,48 13,52 3,98
±rednia 11,17 0,28 56,15 38,03 13,59 89,22 58,41 20,41 -
20 2 13,42 1,40 12,64 2,88 9,39 31,34 7,25 22,44 5,40
20 5 17,47 0,17 36,24 24,40 9,38 63,07 35,13 21,02 8,85
20 8 8,98 0,47 57,85 42,47 10,78 81,85 62,99 11,75 11,83
20 10 7,71 0,00 65,42 54,90 6,83 107,34 85,47 11,77 12,49
±rednia 11,89 0,51 43,04 31,16 9,09 70,90 47,71 16,75 -
50 2 6,03 0,08 13,04 2,23 10,47 28,46 5,80 21,44 34,76
50 5 10,57 2,76 20,42 10,51 8,98 46,37 28,64 13,81 39,80
50 8 3,20 0,03 27,60 21,04 5,50 74,65 54,25 13,21 55,61
50 10 2,53 0,09 35,21 27,65 5,91 79,58 62,96 10,23 69,04
±rednia 5,58 0,74 24,07 15,35 7,72 57,26 37,91 14,67 -
100 2 0,76 0,02 9,07 0,94 8,01 26,16 5,19 19,94 118,64
100 5 2,33 1,04 11,81 7,07 4,45 41,89 26,49 12,14 156,46
100 8 5,23 0,20 21,50 14,58 5,97 50,08 36,05 10,27 220,86
100 10 4,65 0,56 23,99 19,00 4,19 57,74 43,88 9,60 266,44
±rednia 3,25 0,45 16,59 10,40 5,65 43,97 27,90 12,99 -
±rednia 9,77 0,43 38,14 26,51 9,13 68,92 46,41 15,86 -
0
W powy»szej procedurze, przez jil oznaczono numer zadania, którego op-
eracja wykonywana jest jako ostatnia na procesorze l stadium i.
Dla zilustrowania reprezentacji harmonogramu przedstawmy nast¦puj¡cy
przykªad:
Przykªad 2: System ma dwa stadia (m= 2) z czterema procesorami w
stadium pierwszym (m1 = 4) oraz trzema procesorami w stadium drugim
(m2 = 3). Osiem zada« (n = 8) o parametrach danych w Tablicy 7.3 oraz cza-
sach przezbroje« danych w Tablicy 7.4 ma by¢ wykonanych w tym systemie.
Rysunek 7.5 przedstawia przykªadowy dopuszczalny harmonogram o warto±ci
kryterium Cmax = 360. Harmonogram ten mo»e by¢ reprezentowany przez
par¦ (π, φ), gdzie π = {π1 , π2 } i φ = {φ1 = {φ11 , φ12 , φ13 , φ14 , φ15 , φ16 , φ17 , φ18 }, φ2 =
{φ21 , φ22 , φ23 , φ24 , φ25 , φ26 , φ27 , φ28 }}. Poszczególne listy πi i zbiory φij dane
Tablica 7.4: Czasy przezbroje« dla Przykªadu 2 (podano tylko warto±ci cza-
sów przezbroje« istotnych dla tego przykªadu).
s1jk j s2jk j
k 0 1 2 3 4 5 6 k 0 1 2 3 4 5 6 7
1 10 - - - - - - 1 - - 10 - - - - -
2 10 - - - - - - 2 30 - - - - - - -
3 - 20 10 - - - - 3 - 20 - - - - - -
4 - - 10 - - 10 - 4 - - - - - 20 - -
5 20 - - - - - - 5 - 10 30 - - - - -
6 - - - 40 10 - - 6 - - - - - 60 - -
7 - - - - - - 30 7 - - - 20 10 - - -
8 - - - - - - 60 8 - - - - - - 40 20
zada«.
atwo zauwa»y¢, »e dªugo±¢ najdªu»szej ±cie»ki dochodz¡cej do wierz-
choªka (i, j) ∈ V2 (ª¡cznie z obci¡»eniem tego wierzchoªka) jest równa termi-
nowi Cij oraz, »e dªugo±¢ najdªu»szej (krytycznej) ±cie»ki od wierzchoªka (0)
do wierzchoªka (∗) wynosi Cmax .
Rysunek 7.6 przedstawia graf dla harmonogramu z Przykªadu 2. Do-
datkowo, na Rysunku 7.7 zaznaczono przykªadowy fragment grafu z zaz-
naczonymi obci¡»eniami kraw¦dzi.
Oznaczmy przez
( ( i−1 ) )
X
Ri = max min (plj + tlj ) , min{si0j } ,
j∈J j∈J
l=0
( m
)
X
Qi = min (plj + tlj ) .
j∈J
l=i+1
Ponadto, niech Si oznacza uporz¡dkowany zbiór czasów przezbroje« sta-
dium i taki, »e dla ka»dych dwóch elementów sa ∈ Si i sb ∈ Si zachodzi
sa ≤ sb , je»eli a < b. Innymi sªowy, do zbioru Si nale»¡ wszystkie czasy
przezbroje« sijk , ale s¡ uporz¡dkowane niemalej¡co. Elementy zbioru Si b¦d¡
oznaczane przez sl (z jednym indeksem) i sl oznacza l -ty element tego zbioru.
Przy takich oznaczeniach nast¦pne dwa oszacowania zdeniowane s¡ nast¦pu-
j¡co:
|Ji0 |−1
1 X X
LB2 = max Ri + pij sizeij + sl + Qi ,
i∈M mi j∈J l=1
|Ji0 |−1
X 1 X X
LB3 = max Ri + pij + pij + sl + Qi ,
i∈M
1
2 2 l=1
j∈Ji j∈Ji
0 0
Cmax (π , φ ) − Cmax (π iter , φiter )
P (titer ) = max 1, exp − , (7.18)
titer
• rozwi¡zanie pocz¡tkowe,
• s¡siedztwo,
• warunek zatrzymania.
7.4.4.2 S¡siedztwo
S¡siedztwo dla harmonogramu (π, φ) jest okre±lone przez N (Θ(π, φ)) zden-
iowane tak samo jak dla problemu uproszczonego w podrozdziale 7.3.2.2.2.
k l
∆= max {|Cmax − Cmax |},
k,l∈{1,...,K}
∆
t0 = − ,
ln(P )
gdzie P = 0.67 jest parametrem dobranym w sposób eksperymentalny i oz-
nacza prawdopodobie«stwo zaakceptowania rozwi¡zania o ∆ gorszego ni»
aktualne (innymi sªowy jest to prawdopodobie«stwo skoku z najlepszego
do najgorszego rozwi¡zania konstrukcyjnego).
titer
titer+1 = ,
1 + λtiter
gdzie:
tM axIter − t0
λ=
(M axIter)t0 tM axIter
i M axIter jest caªkowit¡ liczb¡ iteracji. Temperatura ko«cowa tM axIter =
0, 00001t0 dobrana zostaªa na drodze eksperymentów.
lub
ĵ
qik = max{q(i+1)k + tik , max{qilĵ + sikl }} + pik dla i ∈ M, k ∈ J\{ĵ}
ĵ
l∈z̄ik
(7.22)
îĵ
Cmax = max {eĵîk + qîk
ĵ
− pîk }, (7.23)
k∈J\{ĵ}
îĵh
Cmax îĵ
= max{Cmax , max {eĵîl + sîlĵ } + max {qîlĵ + sîĵl } + pîĵ }. (7.24)
l∈z îĵh l∈z̄îĵh
1: for ĵ ∈ J do
2: for î ∈ M do
3: for k ∈ J do
π (ĵ) π (ĵ)
4: Wyznacz eîkî oraz qîkî na podstawie (7.19)-(7.22),
5: end for
î,π (ĵ)
6: Wyznacz Cmaxî (s),
7: end for
8: for θ = (î, ĵ, k, x, y) ∈ Θ(π, φ) do
9: Usu« x oraz dodaj y do zbioru φî,π (ĵ)
î
10: Wyznacz z̄î,π (ĵ),k oraz z î,π (ĵ),k
î î
î,π (ĵ),k
11: Wyznacz Cmax (πθ , φθ ) = Cmaxî {Cmax (πθ , φθ ) jest warto±ci¡ kry-
terium dla harmonogramu po wykonaniu ruchu θ.}
12: end for
13: end for
• mi ∈ [1; 5],
• sizeij ∈ [1; mi ],
A
Cmax −LB
• γA = LB
wzgl¦dna odlegªo±¢ rozwi¡zania dostarczonego przez
algorytm A = {C, SA, T S} od dolnego oszacowania warto±ci optymal-
nej kryterium (LB ).
C
Cmax A
−Cmax
• ζA = A
Cmax
wzgl¦dna poprawa rozwi¡zania pocz¡tkowego osi¡g-
n m γC γ SA γT S ζ SA ζT S
5 2 21,31 20,21 20,21 1,03 1,03
5 5 38,92 34,10 33,96 4,87 4,92
5 8 21,38 20,03 20,03 1,23 1,23
5 10 12,95 10,29 10,29 2,54 2,54
±rednia 23,64 21,16 21,12 2,42 2,43
10 2 50,12 31,00 27,29 19,32 22,92
10 5 33,64 20,87 13,01 14,01 20,76
10 8 23,87 16,32 15,71 7,21 7,89
10 10 29,17 15,33 15,29 13,98 14,00
±rednia 34,20 20,88 17,83 13,63 16,39
20 2 15,92 10,21 8,76 5,05 7,21
20 5 24,31 22,12 17,21 2,21 7,32
20 8 16,39 14,32 13,03 2,08 5,29
20 10 21,87 17,57 16,21 3,82 5,06
±rednia 19,62 16,06 13,80 3,29 6,22
50 2 7,02 4,41 2,20 3,01 4,23
50 5 7,58 3,97 2,01 3,69 5,02
50 8 11,92 8,23 6,21 3,12 4,99
50 10 26,31 19,02 13,01 6,23 11,78
±rednia 13,21 8,91 5,86 4,01 6,51
100 2 6,32 2,98 1,00 3,63 5,02
100 5 4,90 3,30 2,21 1,71 2,89
100 8 7,79 4,11 2,01 3,70 5,32
100 10 17,97 9,32 7,21 8,16 10,19
±rednia 9,25 4,93 3,11 4,30 5,86
n m γC γ SA γT S ζ SA ζT S
5 2 32,45 25,47 25,47 6,66 6,79
5 5 39,68 30,87 30,88 8,59 8,33
5 8 35,68 33,36 32,98 2,42 2,46
5 10 54,35 47,25 44,85 6,79 9,79
±rednia 40,54 34,24 33,55 6,11 6,84
10 2 78,85 63,98 57,58 15,15 20,96
10 5 45,65 41,85 40,97 3,30 4,49
10 8 38,54 29,47 29,51 9,08 8,98
10 10 39,65 30,08 28,67 9,45 11,31
±rednia 50,67 41,35 39,18 9,25 11,43
20 2 26,87 20,70 19,54 6,31 6,88
20 5 39,36 30,01 27,65 9,23 11,97
20 8 29,54 20,17 21,67 8,87 8,20
20 10 38,36 33,81 30,47 4,96 8,14
±rednia 33,53 26,17 24,83 7,34 8,80
50 2 18,37 17,45 15,49 1,03 2,94
50 5 25,68 20,87 20,00 5,29 5,56
50 8 25,47 19,78 17,84 6,08 7,89
50 10 39,94 33,67 30,25 6,55 9,44
±rednia 27,37 22,94 20,90 4,74 6,46
100 2 14,58 10,45 10,97 3,84 3,23
100 5 19,76 12,87 12,06 6,64 8,09
100 8 17,61 16,87 15,02 1,23 3,05
100 10 27,91 24,64 25,47 2,93 2,44
±rednia 19,97 16,21 15,88 3,66 4,20
n m γC γ SA γT S ζ SA ζT S
5 2 121,58 100,24 87,50 21,19 33,63
5 5 178,95 145,47 125,36 33,41 53,50
5 8 168,34 132,25 120,69 35,98 47,36
5 10 194,30 178,64 154,58 15,68 39,54
±rednia 165,79 139,15 122,03 26,56 43,51
10 2 100,25 78,54 70,25 22,05 29,96
10 5 105,67 97,19 84,21 8,06 21,29
10 8 138,95 124,57 114,68 14,08 24,16
10 10 124,58 99,71 89,65 24,51 34,70
±rednia 117,36 100,00 89,70 17,18 27,53
20 2 87,68 71,25 69,58 16,42 18,10
20 5 100,27 83,61 84,94 17,14 15,74
20 8 168,32 107,87 100,28 60,57 68,32
20 10 147,61 124,22 115,36 23,76 32,39
±rednia 125,97 96,74 92,54 29,47 33,64
50 2 78,65 64,25 64,33 14,86 14,21
50 5 89,64 62,37 58,74 27,21 31,15
50 8 80,31 71,26 70,56 9,47 10,10
50 10 98,25 79,83 86,25 18,03 11,97
±rednia 86,71 69,43 70,12 17,39 16,86
100 2 69,14 56,12 54,58 12,53 14,83
100 5 78,64 77,23 68,45 1,32 9,73
100 8 97,47 75,39 87,54 21,99 9,94
100 10 112,24 87,69 89,47 24,07 22,61
±rednia 89,37 74,11 75,01 14,98 14,28
n m T IM E SA T IM E T S
5 2 0,00 0,30
5 5 0,02 0,73
5 8 0,03 0,92
5 10 0,04 1,17
10 2 0,02 1,14
10 5 0,05 2,10
10 8 0,07 3,44
10 10 0,09 4,01
20 2 0,02 5,38
20 5 0,08 8,86
20 8 0,14 11,90
20 10 0,18 12,51
50 2 0,06 34,76
50 5 0,20 39,85
50 8 0,37 55,60
50 10 0,41 69,11
100 2 0,11 118,60
100 5 0,38 156,50
100 8 0,67 221,01
100 10 0,89 266,69
7.5 Podsumowanie
W niniejszym rozdziale rozpatrywano dwa problemy szeregowania zada«
wieloprocesorowych w systemach przepªywowych: problem ogólny uwzgl¦d-
niaj¡cy czasy transportu, terminy dost¦pno±ci, czasy dostarczenia zada«,
czasy przezbroje« oraz problem uproszczony nie uwzgl¦dniaj¡cy powy»szych
parametrów.
Do najistotniejszych rezultatów teoretycznych tej cz¦±ci pracy nale»y za-
liczy¢ wykazanie wielomianowej rozwi¡zywalno±ci problemu uproszczonego
oraz wykazanie, »e dodanie do problemu uproszczonego ogranicze« kolejno±-
ciowych i to w najprostszej postaci, czyni ten problem silnie NP-trudnym.
Dodatkowo, wykazano cztery wªasno±ci pozwalaj¡ce wyeliminowa¢ rozwi¡za-
nia nie przynosz¡ce poprawy warto±ci kryterium. Wªasno±ci te mo»na zas-
tosowa¢ zarówno w algorytmach typu popraw, jak i w algorytmach optymal-
nych opartych o schemat podziaªu i oszacowa«.
Praktycznym rezultatem tej cz¦±ci pracy s¡ zaproponowane algorytmy
przybli»one rozwi¡zania badanych problemów. Dla problemu uproszczonego
zaproponowano algorytm oparty o technik¦ Tabu Search, oraz jeden algo-
rytm konstrukcyjny. Dla problemu ogólnego zaproponowano dwa algorytmy
metaheurystyczne (Symulowanego Wy»arzania oraz Tabu Search) oraz szereg
algorytmów konstrukcyjnych. Jako±¢ zaproponowanych algorytmów zbadano
przy u»yciu analizy eksperymentalnej, która wykazaªa, »e s¡ to algorytmy
efektywne.
134
8 Podsumowanie pracy
[3] Ahmadi, R., Bagchi, U. Improved lower bounds for minimizing the
sum of completion times on n jobs over m machines in a ow shop.
European Journal of Operational Research 44 (1990), 331336.
[4] Ahn, B.-H., Hyun, J. Single facility multi-class job scheduling. Com-
puters and Operations Research 17 (1990), 265272.
[9] Ben-Daya, M., Al-Fawzan, M. A tabu search approach for the ow
shop scheduling problem. European Journal of Operational Research
109 (1998), 8895.
139
BIBLIOGRAFIA
[28] Du, J., Leung, J.-T. Complexity of scheduling parallel tasks systems.
SIAM Journal on Discrete Mathematics 2/4 (1989), 473487.
[29] Du, J., Leung, J.-T. Minimizing total tardiness on one machine is
np-hard. Math. Operational Research 15 (1990), 483495.
[34] Glass, C., Potts, C. Comparison of local search methods for permu-
tation ow shop scheduling. Annals of Operations Research 63 (1996),
489509.
[37] Gonzalez, T., Sahni, S. Flow shop and job shop schedules: com-
plexity and approximation. Operations Research 26 (1978), 92101.
[41] Gupta, J. Single facility scheduling with multiple job classes. Euro-
pean Journal of Operational Research 33 (1988), 4245.
[43] Gupta, J., Reddi, S. Improved dominance conditions for the three
machine owshop scheduling problem. Operations Research 26 (1978),
200203.
Proceedings of the
[45] Hall, L. Approximability of ow shop scheduling.
36th IEEE Symposium on Foundations of Computer Science (1995),
8291.
[48] Hariri, A., Potts, C. Single machine scheduling with batch set-up
times to minimize maximum lateness. Annals of Operationa Research
70 (1997), 7592.
[49] Herrmann, J., Lee, C.-Y. Solving a class scheduling problem with
a genetic algorithm. ORSA Journal on Computing 7 (1995), 443452.
[81] Janiak, A., Li, C.-L. Scheduling to minimize the total weighted
completion time with a constraint on the release time resource con-
sumption. Math. Comput. Modeling 20 (1994), 5358.
[85] Janiak, A., Portmann, M.-C. Genetic algorithms for some sin-
Proc. of the First
gle machine sequencing with transferable resource.
International Conference on Operations and Quantitive Management,
Jaipur, India, January 58 I (1997), 522529.
[99] Liao, C.-J., Liao, L.-M. Single machine scheduling with major nad
minor setup times. Computers and Operations Research 24 (1997),
169178.
[102] Martello, S., Toth, P. Algorithm 37: Algorithm for the solution
of the 01 single knapsack problem. Computing 21 (1979), 8186.
[105] Della Croce, F., Narayan, V., Tadei, R. The two-machine total
completion time ow shop problem. European Journal of Operational
Research 77 (1999), 112118.
[111] Nawaz, M., Enscore, E., Ham, I. A heuristic algorithm for the
m-machine, n-job ow-shop sequencing problem. OMEGA 11 (1983),
9195.
[114] Nowicki, E., Smutnicki, C. A fast tabu search algorithm for the
permutation ow shop problem. European Journal of Operational Re-
search 91 (1996), 160175.
[115] Nowicki, E., Smutnicki, C. The ow shop with parallel machines:
A tabu search approach. European Journal of Operational Research
106 (1998), 226253.
[116] Nudd, G., Kerbyson, D., Atherton, T., Francis, N., Pack-
wood, R., Vaudin, G. A massively parallel heterogeneous vlsi ar-
chitecture for msimd processing. in: Algorithms and Parallel VLSI
Architectures, Elsevier, Amsterdam (1991), 463472.
[117] Ogbu, F., Smith, D. The application of the simulated annealing al-
gorithm the the solution of the n|m|cmax owshop problem. Computers
and Operations Research 17 (1990), 243253.
[118] Ogbu, F., Smith, D. Simulated annealing for the permutation ow-
shop problem. OMEGA 19 (1991), 6467.
[121] O§uz, C., Ercan, M., Cheng, T., Fung, Y. Heuristic algorithms
for multiprocessor task scheduling in a two-stage hybrid ow-shop. Eu-
ropean Journal of Operational Research to appear (2003).
[122] O§uz, C., Zinder, Y., Do, V.-H., Janiak, A., Lichtenstein,
M. Hybrid ow-shop scheduling problems with multiprocessor task
systems. European Journal of Operational Research to appear (2003),
(downloadable through SinceDirect).
[130] Reeves, C. Improving the eciency of tabu search for machine se-
quencing problems. Journal of the Operational Research Society 44
(1993), 375382.
[135] Schutten, J., van de Velde, S., Zijm, W. Single machine schedul-
ing with release dates, due dates and family setup times. Management
Science 42 (1996), 11651174.
[145] Tadei, R., Gupta, J., Della Croce, F., Cortesi, M. Minimizing
makespan in two-machine ow-shop with release times. Journal of the
Operational Research Society 49 (1998), 7785.
[146] Taillard, E. Some ecient heuristic methods for the ow shop
sequencing problem. European Journal of Operational Research 47
(1990), 6574.
[147] Tian, P., Ma, J., Zhang, D.-M. Application of the simulated anneal-
ing algorithm to the combinatorial optimisation problem with permu-
tation property: An investigation of generation mechanism. European
Journal of Operational Research 118 (1999), 8194.
[149] van de Velde, S. Minimizing the sum of job completion times in the
two-machine ow shop by lagrangian relaxation. Annals of Operations
Research 26 (1990), 257268.
[150] Vickson, R. Choosing the job sequence and processing times to min-
imize total processing plus ow cost on a single machine. Operations
Research 28 (1980), 11551167.
[159] Widmer, M., Hertz, A. A new heuristic method for the ow shop
sequencing problem. European Journal of Operational Research 41
(1989), 186193.