You are on page 1of 153

Politechnika Wrocªawska

Instytut Cybernetyki Technicznej

Maciej Lichtenstein

Szeregowanie zada« i rozdziaª zasobów


w problemach z przezbrojeniami maszyn
(rozprawa doktorska)

PROMOTOR: prof. dr hab. in». Adam Janiak


(Politechnika Wrocªawska)

WSPӊOPIEKUN: prof. Mikhail Y. Kovalyov


(Belarus State University, Minsk)

Wrocªaw 2003
2 Maciej Lichtenstein
Spis tre±ci

Spis tre±ci 3

1 Wst¦p 7
1.1 Wprowadzenie w tematyk¦ . . . . . . . . . . . . . . . . . . . . 7

1.2 Metody rozwi¡zywania problemów szeregowania zada« . . . . 11

1.3 Cele pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Zakres pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Podstawowe informacje dotycz¡ce problemów szeregowania


zada« z przezbrojeniami 16
2.1 Podstawowe denicje . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Rzeczywiste procesy produkcyjne modelowane przez problemy


szeregowania zada« z przezbrojeniami . . . . . . . . . . . . . . 18

2.2.1 Produkcja elementów plastykowych . . . . . . . . . . . . 18

2.2.2 Proces elektroranacji miedzi . . . . . . . . . . . . . . . 19

2.2.3 Wykonywanie oblicze« na komputerze . . . . . . . . . . . 20

3 Wyniki dotychczasowych bada« dotycz¡cych jednoprocesorowych


problemów szeregowania zada« z przezbrojeniami oraz prob-
lemów szeregowania z parametrami zada« zale»nymi od do-
datkowych zasobów 21
3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Wyniki dotychczasowych bada« dotycz¡cych jednoprocesorowych


problemów szeregowania zada« z przezbrojeniami . . . . . . . 22

3.3 Wyniki dotychczasowych bada« dotycz¡cych jednoprocesorowych


problemów szeregowania z parametrami zale»nymi od dodatkowych
zasobów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . 26

3
SPIS TRE‘CI

3.3.2 Wyniki dotychczasowych bada« dotycz¡cych jednopro-


cesorowych problemów szeregowania z czasami wykony-
wania zada« zale»nymi od dodatkowych zasobów . . . . 27
3.3.3 Wyniki dotychczasowych bada« dotycz¡cych jednoproce-
sorowych problemów szeregowania z terminami dost¦p-
no±ci zada« zale»nymi od dodatkowych zasobów . . . . . 28
3.3.4 Wyniki dotychczasowych bada« dotycz¡cych jednopro-
cesorowych problemów szeregowania zada« z przezbro-
jeniami zale»nymi od dodatkowych zasobów . . . . . . . 29
3.4 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Jednoprocesorowe problemy szeregowania z przezbrojeniami


i czasami wykonywania zada« zale»nymi od dodatkowych za-
sobów 30
4.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Sformuªowanie problemów . . . . . . . . . . . . . . . . . . . . 31
4.3 Reprezentacja rozwi¡zania (harmonogramu) . . . . . . . . . . 33
4.4 Problemy z zasobem podzielnym w sposób ci¡gªy . . . . . . . 34
4.4.1 Minimalizacja dªugo±ci uszeregowania . . . . . . . . . . . 34
4.4.1.1 Problemy minimalizacji dªugo±ci uszeregowania bez zadanych
terminów dost¦pno±ci zada« . . . . . . . . . . . . . 35
4.4.1.2 Problemy minimalizacji dªugo±ci uszeregowania z zadanymi
terminami dost¦pno±ci zada« . . . . . . . . . . . . 37
4.4.1.2.1 Problem z ograniczeniem technologii grupowej
GT . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.1.2.2 Problem bez ograniczenia technologii grupowej
GT . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4.1.3 Podsumowanie wyników . . . . . . . . . . . . . . . 48
4.4.2 Minimalizacja sumy wa»onych terminów zako«czenia wykony-
wania zada« . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.2.1 Wªasno±ci problemu oraz analiza zªo»ono±ci obliczeniowej 50
4.4.2.2 Algorytmy przybli»one . . . . . . . . . . . . . . . . 56
4.4.2.3 Analiza eksperymentalna . . . . . . . . . . . . . . . 59
4.4.2.4 Podsumowanie wyników . . . . . . . . . . . . . . . 60
4.5 Problemy z zasobem podzielnym w sposób dyskretny . . . . . 61
4.5.1 Minimalizacja dªugo±ci uszeregowania . . . . . . . . . . . 61
4.5.1.1 Analiza zªo»ono±ci obliczeniowej . . . . . . . . . . . 61
4.5.1.2 Podsumowanie wyników . . . . . . . . . . . . . . . 67
4.5.2 Minimalizacja sumy wa»onych terminów zako«czenia wykony-
wania zada« . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5.2.1 Analiza zªo»ono±ci obliczeniowej . . . . . . . . . . . 68

4 Maciej Lichtenstein
SPIS TRE‘CI

4.5.2.2 Podsumowanie wyników . . . . . . . . . . . . . . . 74


4.6 Podsumowanie wyników rozdziaªu . . . . . . . . . . . . . . . . 75

5 Podstawowe informacje dotycz¡ce problemów szeregowania


zada« wieloprocesorowych 77
5.1 Podstawowe denicje . . . . . . . . . . . . . . . . . . . . . . . 77
5.2 Rzeczywiste procesy produkcyjne modelowane przez problemy
szeregowania zada« wieloprocesorowych . . . . . . . . . . . . . 78
5.2.1 Wykonywanie oblicze« na komputerze . . . . . . . . . . . 79
5.2.2 System rozpoznawania obrazu . . . . . . . . . . . . . . . 79
5.2.3 Harmonogramowanie transportu drog¡ morsk¡ w obr¦bie
portów Hong Kongu . . . . . . . . . . . . . . . . . . . . 80

6 Wyniki dotychczasowych bada« dotycz¡cych problemów sz-


eregowania w systemach przepªywowych oraz problemów sz-
eregowania zada« wieloprocesorowych 82
6.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2 Wyniki dotychczasowych bada« dotycz¡cych problemów szere-
gowania zada« w systemach przepªywowych . . . . . . . . . . 83
6.2.1 Wyniki dotycz¡ce zªo»ono±ci obliczeniowej . . . . . . . . 83
6.2.2 Wyniki dotycz¡ce algorytmów optymalnych . . . . . . . . 83
6.2.3 Wyniki dotycz¡ce algorytmów przybli»onych . . . . . . . 84
6.3 Wyniki dotychczasowych bada« dotycz¡cych problemów szere-
gowania zada« wieloprocesorowych . . . . . . . . . . . . . . . 85
6.4 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7 Problemy szeregowania zada« wieloprocesorowych w systemach


przepªywowych 87
7.1 Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.2 Sformuªowanie problemów . . . . . . . . . . . . . . . . . . . . 87
7.3 Problem uproszczony . . . . . . . . . . . . . . . . . . . . . . . 89
7.3.1 Analiza zªo»ono±ci obliczeniowej . . . . . . . . . . . . . . 90
7.3.2 Algorytm przybli»ony . . . . . . . . . . . . . . . . . . . . 97
7.3.2.1 Reprezentacja grafowa harmonogramu . . . . . . . 99
7.3.2.2 Algorytm Tabu Search (TS) . . . . . . . . . . . . . 103
7.3.2.2.1 Rozwi¡zanie pocz¡tkowe. . . . . . . . . . . . . 104
7.3.2.2.2 Ruchy i s¡siedztwo. . . . . . . . . . . . . . . . 104
7.3.2.2.3 Lista tabu. . . . . . . . . . . . . . . . . . . . 106
7.3.2.2.4 Warunki zatrzymania oraz mechanizmy do-
datkowe. . . . . . . . . . . . . . . . . . . . . . 106
7.3.2.3 Technika przegl¡dania s¡siedztwa. . . . . . . . . . . 106

 Szeregowanie zada« i rozdziaª zasobów ... 5


SPIS TRE‘CI

7.3.2.4 Analiza eksperymentalna . . . . . . . . . . . . . . . 109


7.4 Problem ogólny . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.4.1 Reprezentacja grafowa harmonogramu . . . . . . . . . . 115
7.4.2 Dolne oszacowanie optymalnej warto±ci kryterium . . . . 117
7.4.3 Przybli»one algorytmy konstrukcyjne . . . . . . . . . . . 119
7.4.4 Algorytm Symulowanego Wy»arzania . . . . . . . . . . . 122
7.4.4.1 Rozwi¡zanie pocz¡tkowe . . . . . . . . . . . . . . . 122
7.4.4.2 S¡siedztwo . . . . . . . . . . . . . . . . . . . . . . . 122
7.4.4.3 Temperatura pocz¡tkowa . . . . . . . . . . . . . . . 123
7.4.4.4 Schemat wy»arzania . . . . . . . . . . . . . . . . . 123
7.4.4.5 Warunek zatrzymania . . . . . . . . . . . . . . . . 123
7.4.5 Algorytm Tabu Search . . . . . . . . . . . . . . . . . . . 124
7.4.5.1 Rozwi¡zanie pocz¡tkowe. . . . . . . . . . . . . . . . 124
7.4.5.2 Ruchy i s¡siedztwo. . . . . . . . . . . . . . . . . . . 124
7.4.5.3 Lista tabu. . . . . . . . . . . . . . . . . . . . . . . . 124
7.4.5.4 Warunki zatrzymania oraz mechanizmy dodatkowe. 125
7.4.5.5 Technika przegl¡dania s¡siedztwa. . . . . . . . . . . 125
7.4.6 Analiza eksperymentalna . . . . . . . . . . . . . . . . . . 126
7.5 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8 Podsumowanie pracy 134

Bibliograa 138

6 Maciej Lichtenstein
Rozdziaª 1
Wst¦p

1.1 Wprowadzenie w tematyk¦


Problematyka szeregowania zada« jest jednym z najbardziej dynamicznie
rozwijaj¡cych si¦ obszarów bada« operacyjnych. Wynika to z faktu, »e w
obecnej dobie bardzo istotne jest takie wykorzystanie dost¦pnych zasobów
aby minimalizowa¢ koszty produkcji, a szeregowanie zada« w gªównej mierze
dotyczy wªa±nie modelowania zjawisk zachodz¡cych w ró»nych systemach
produkcyjnych. Dodatkowo, ze wzgl¦du na du»e podobie«stwo systemów in-
formatycznych do systemów produkcyjnych, tematyka ta w naturalny sposób
staªa si¦ obszarem zainteresowa« informatyków. Przykªady rzeczywistych sys-
temów, zarówno produkcyjnych, jak i informatycznych, modelowanych przez
problemy szeregowania zada« przedstawiono w dalszej cz¦±ci pracy.

Problemy szeregowania zada« modeluj¡ rzeczywiste problemy pojawia-


j¡ce si¦ w rzeczywistych systemach produkcyjnych czy informatycznych. S¡ to
przede wszystkim problemy optymalizacji dyskretnej lub dyskretno-ci¡gªej,
które mo»na krótko scharakteryzowa¢ jako problemy przydziaªu dost¦pnych
zasobów (maszyn, procesorów, personelu, nakªadów nansowych, energii,
itp.) do zada« (zlece«), w taki sposób aby zoptymalizowa¢ zadane kryterium.

W problematyce szeregowania zada« pojawiaj¡ si¦ dwa podstawowe poj¦-


cia: zadanie oraz procesor (maszyna). Poj¦cia te mo»na zdeniowa¢ nast¦pu-
j¡co:

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¦

ilo±¢ i rodzaj dodatkowych zasobów wymaganych przez zadanie, itp.

Procesor (maszyna) , jest to obiekt wykonuj¡cy czynno±ci skªadaj¡ce si¦


na zadania, np.: procesorem mo»e by¢ obrabiarka (frezarka, tokarka, itp.),
zyczny procesor, stacja przeªadunkowa, itp.

System produkcyjny mo»na reprezentowa¢ jako obiekt, na którego wej±-


cie podawane s¡ zadania oraz zasoby produkcyjne (personel, energia, ±rodki
nansowe, itp.), a na wyj±ciu otrzymujemy wyroby gotowe. W procesie pro-
dukcyjnym zadania przechodz¡ przez pewn¡ liczb¦ stadiów produkcji zgodnie
z okre±lon¡ marszrut¡ technologiczn¡, w celu otrzymania produktów nal-
nych. Ka»de zadanie wymaga wykonania pewnej liczby ±ci±le okre±lonych
technologi¡ czynno±ci, wykonywanych w kolejnych stadiach produkcji. Ze
wzgl¦du na zªo»ono±¢ systemu produkcyjnego (liczb¦ stadiów oraz pewne el-
ementy technologii produkcji) mo»na wyró»ni¢ nast¦puj¡ce podstawowe sys-
temy produkcyjne:

• System jednostadialny jednoprocesorowy  ka»de zadanie wymaga


wykonania jednej czynno±ci i wszystkie czynno±ci wykonywane s¡ przez
ten sam procesor.

• System jednostadialny wieloprocesorowy  ka»de zadanie wymaga


wykonania jednej czynno±ci; czynno±ci te wykonywane s¡ przez jeden
z dost¦pnych procesorów.

• System wielostadialny przepªywowy (ang. ow shop )  ka»de zadanie


wymaga wykonania takiej samej liczby czynno±ci w kolejnych stadiach;
kolejno±¢ wykonywania poszczególnych czynno±ci jest taka sama dla
ka»dego zadania; w ka»dym stadium jest jeden procesor.

• Hybrydowy wielostadialny system przepªywowy (ang. hybrid


ow shop )  ka»de zadanie wymaga wykonania takiej samej liczby
czynno±ci w kolejnych stadiach; kolejno±¢ wykonywania poszczególnych
czynno±ci jest taka sama dla ka»dego zadania; w ka»dym stadium dost¦pna
jest pewna liczba procesorów.

• System wielostadialny gniazdowy (ang. job shop )  ka»de zadanie


wymaga wykonania pewnej liczby czynno±ci; kolejno±¢ wykonywania
poszczególnych czynno±ci mo»e by¢ ró»na dla ró»nych zada«; w ka»dym
stadium jest jeden procesor.

• Hybrydowy wielostadialny system gniazdowy (ang. hybrid job


shop )  ka»de zadanie wymaga wykonania pewnej liczby czynno±ci;

8 Maciej Lichtenstein
1 Wst¦p

kolejno±¢ wykonywania poszczególnych czynno±ci mo»e by¢ ró»na dla


ró»nych zada«; w ka»dym stadium dost¦pna jest pewna liczba proce-
sorów.

• System otwarty (ang. open shop )  ka»de zadanie wymaga wyko-


nania pewnej liczby czynno±ci; kolejno±¢ wykonywania poszczególnych
czynno±ci nie jest zadana i mo»e by¢ dowolna; czynno±ci wykonywane
s¡ na jednym z równolegle pracuj¡cych procesorów.

Modelowanie systemów produkcyjnych rozpoczyna si¦ od zidentykowa-


nia samego systemu (okre±lenie liczby procesorów, liczby stadiów, itp.) oraz
okre±lenia zbioru zada« J i ich parametrów. Ka»de zadanie j∈J mo»e za-
wiera¢ caªy szereg parametrów, jednak najcz¦±ciej deniuje si¦ nast¦puj¡ce:

• Oj  zbiór czynno±ci zadania,

• pij  czas wykonywania i-tej czynno±ci,

• sizeij  liczba procesorów wymaganych do wykonania i-tej czynno±ci,

• rj  termin dost¦pno±ci zadania (ang. release date ),

• dj  oczekiwany termin zako«czenia wykonywania zadania (ang. due


date ),

• d¯j  nieprzekraczalny termin zako«czenia wykonywania zadania (ang.


deadline ),

• wj , vj  priorytety (wagi), zadania.

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

 Szeregowanie zada« i rozdziaª zasobów ... 9


1.1 Wprowadzenie w tematyk¦

mo»e by¢ okre±lona przez acykliczny graf skierowany, w którym wierzchoªki


reprezentuj¡ zadania, a kraw¦dzie odzwierciedlaj¡ ograniczenia kolejno±ciowe
(je»eli j → k, to istnieje ±cie»ka w grae od wierzchoªka j do k ). Ze wzgl¦du
na to, »e grafy w ten sposób zbudowane mog¡ mie¢ ró»n¡ form¦, wyró»nia
si¦ szereg typów ogranicze« kolejno±ciowych (ªa«cuchy, drzewa, ograniczenia
szeregowo-równolegªe, itp.).
Ponadto, dla ka»dego zadania mo»na okre±li¢ m.in. nast¦puj¡ce wielko±ci:

• Sj  termin rozpocz¦cia wykonywania (ang. starting time ),

• Cj  termin zako«czenia wykonywania (ang. completion time ),

• Lj = Cj − dj  nieterminowo±¢ (ang. lateness ),

• Tj = max{0, Cj − dj }  opó¹nienie zadania (ang. tardiness ),

• Ej = max{0, dj − Cj }  przyspieszenie zadania (ang. earliness ).

Modelowanie systemu produkcyjnego ko«czy si¦ okre±leniem kryterium


jakie ma by¢ optymalizowane. Najcz¦±ciej rozpatrywane s¡ kryteria mini-
malizacji nast¦puj¡cych wielko±ci:

• Cmax = maxj∈J {Cj }  dªugo±¢ uszeregowania (ang. makespan ),

• Lmax = maxj∈J {Lj }  maksymalna nieterminowo±¢ (ang. maximum


lateness ),

• Tmax = maxj∈J {Tj }  maksymalne opó¹nienie zadania (ang. maximum


tardiness ),
P P
• (wj )Cj = j∈J (wj )Cj  suma (wa»onych) terminów zako«czenia
wykonywania zada« (ang. total (weighted) completion time ),

(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

Ostatecznie mo»na stwierdzi¢, »e w ogólno±ci problem szeregowania zada«


polega na wyznaczeniu takiego harmonogramu ich wykonywania, który op-
tymalizuje zadane kryterium, przy czym przez harmonogram wykonywa-
nia zada« nale»y rozumie¢ kolejno±¢ wykonywania poszczególnych czynno±ci,
przyporz¡dkowanie czynno±ci do procesorów oraz przydziaª dodatkowych za-
sobów.

1.2 Metody rozwi¡zywania problemów szeregowa-


nia zada«
Ze wzgl¦du na to, »e problemy szeregowania zada« s¡ problemami opty-
malizacji dyskretnej lub dyskretno-ci¡gªej, znakomita wi¦kszo±¢ z nich nale»y
do klasy problemów NP-trudnych, tzn. takich, których nie mo»na rozwi¡za¢
optymalnie w czasie ograniczonym wielomianem zale»nym od rozmiaru prob-
lemu (najcz¦±ciej liczby zada«). W zwi¡zku z tym, przy rozwi¡zywaniu prob-
lemów szeregowania zada«, stosuje si¦ nast¦puj¡ce metody :

• Wielomianowe algorytmy optymalne  Algorytmy te dostarczaj¡ rozwi¡za-


nia optymalnego w wielomianowym czasie. Daje si¦ je skonstruowa¢ dla
nielicznej grupy problemów nie nale»¡cych do klasy problemów NP-
trudnych.

• Ponadwielomianowe algorytmy optymalne  Algorytmy te konstruuje


si¦ dla problemów NP-trudnych, lub dla takich, których zªo»ono±¢ obliczeniowa
nie zostaªa wykazana. Dostarczaj¡ rozwi¡zania optymalnego, lecz czas
ich dziaªania zale»y pseudowielomianowo lub wykªadniczo od rozmiaru
problemu. Algorytmy te konstruuje si¦ gªównie w oparciu o schematy
programowania dynamicznego, programowania caªkowitoliczbowego lub
metody podziaªu i oszacowa«.

• Algorytmy przybli»one  Algorytmy te dostarczaj¡ rozwi¡zania gorszego


od optymalnego, ale dziaªaj¡ w krótkim czasie (wielomianowym). Stosowane
s¡ gªównie do problemów NP-trudnych, lub problemów o nieznanej
zªo»ono±ci obliczeniowej. W±ród algorytmów przybli»onych mo»na wyró»ni¢
nast¦puj¡ce:

 Algorytmy konstukcyjne  Algorytmy te dostarczaj¡ jednego lub


kilku rozwi¡za«. Podstawow¡ ich zalet¡ jest krótki czas dziaªa-
nia, jednak jako±¢ dostarczanych rozwi¡za« z reguªy jest zªa. Kon-
struowane s¡ gªównie w oparciu o reguªy priorytetowe, uproszcze-
nie (relaksacj¦) problemu (pomini¦cie pewnych ogranicze«) lub
specyczne wªasno±ci problemu.

 Szeregowanie zada« i rozdziaª zasobów ... 11


1.2 Metody rozwi¡zywania problemów szeregowania zada«

 Algorytmy typu popraw  Algorytmy te rozpoczynaj¡ prac¦ od


pewnego rozwi¡zania pocz¡tkowego (losowego, lub dostarczonego
przez algorytm konstukcyjny) i nast¦pnie iteracyjnie modykuj¡
(poprawiaja) to rozwi¡zanie. Do algorytmów tych nale»y zaliczy¢
algorytm poszukiwania zst¦puj¡cego (ang. Descent Search/Hill Climb-
ing ), algorytm poszukiwania zst¦puj¡cego wielokrotnego
startu i poszukiwanie losowe (ang. Random Search ).
 Algorytmy metaheurystyczne  Algorytmy te stanowi¡ podgrup¦
algorytmów typu popraw, jednak techniki w nich stosowane wkraczaj¡
w zakres metod stosowanych w Sztucznej Inteligencji, dlatego zostaªy
wyró»nione. Do metod tych nale»¡ takie techniki jak: algorytmy
genetyczne (ewolucyjne), symulowane wy»arzanie, metoda poszuki-
wania z zakazami (ang. Tabu Search ), metody z pami¦ci¡ adap-
tacyjn¡ (ang. Adaptive Memory Search ) poszukiwanie mrówkowe
(ang. Ant Search ), sieci neuronowe, itp.
 Schematy aproksymacyjne  Rodziny algorytmów dostarczaj¡ce
rozwi¡zanie o zadanej dokªadno±ci. Czas dziaªania tego typu al-
gorytmów zale»y wielomianowo od rozmiaru problemu, oraz do-
datkowo wykªadniczo lub wielomianowo od odwrotno±ci zadanej
dokªadno±ci (mówimy wówczas odpowiednio o wielomianowych
lub w peªni wielomianowych schematach aproksymacyjnych).

W przypadku algorytmów przybli»onych wskazane jest dokonanie ich


analizy pod wzgl¦dem jako±ci dostarczanych rozwi¡za«. Analiza taka jest
niezb¦dna do wskazania zakresu stosowalno±ci takiego algorytmu. Powszech-
nie stosuje si¦ trzy podej±cia przy analizie efektywno±ci algorytmów:

• analiza probabilistyczna  W podej±ciu tym bada si¦ w sposób anal-


ityczny statystyczn¡ zbie»no±¢ algorytmu do rozwi¡zania optymalnego.
W literaturze mo»na spotka¢ niewiele przykªadów takiej analizy, ze
wzgl¦du na trudno±ci analitycznego wyznaczenia statystycznych wªas-
no±ci harmonogramów generowanych przez algorytmy.

• analiza najgorszego przypadku  W podej±ciu tym bada si¦ tak¡ in-


stancj¦ problemu, dla której algorytm dostarcza najgorszego mo»liwego
rozwi¡zania. Wynikiem takiej analizy jest informacja o tym, »e badany
algorytm, dla dowolnej instancji problemu, nie dostarczy rozwi¡zania
gorszego ni» wyznaczony wska¹nik (np. 10% gorszego od optimum).
Podej±cie to jest powszechnie stosowane w±ród wielu projektantów al-
gorytmów przybli»onych.

12 Maciej Lichtenstein
1 Wst¦p

• analiza eksperymentalna  W podej±ciu tym bada si¦ statystyczne


zachowanie algorytmu dla pewnej (du»ej) próbki instancji problemu.
Zalet¡ tej metody jest jej prostota, natomiast istotn¡ wad¡ jest to, »e
uzyskane wyniki mog¡ nie odzwierciedla¢ zachowania algorytmu dla in-
nych ni» wybrane instancje. W zwi¡zku z tym istotne jest dobranie w
staranny sposób próbki badanych instancji tak, aby pokrywaªy mo»li-
wie szeroki zakres.

Podsumowuj¡c, nale»y zauwa»y¢, »e analiz¦ wybranego problem szere-


gowania zada« nale»aªo by rozpocz¡¢ od wykazania jego zªo»ono±ci obliczeniowej
(wykaza¢ NP-trudno±¢ lub skonstruowa¢ algorytm wielomianowy), a nast¦p-
nie skonstruowa¢ odpowiedni dla niego algorytm (przybli»ony lub optymalny).
Niestety cz¦sto wykazanie zªo»ono±ci obliczeniowej jest bardzo trudne. Wówczas
stosuje si¦ algorytmy przybli»one, gªównie ze wzgl¦du na to, »e z reguªy czas
ich dziaªania jest krótki i jednocze±nie jako±¢ dostarczanych rozwi¡za« jest
na tyle dobra, »e mo»na taki algorytm uzna¢ za efektywny. Ostatnim etapem
jest dokonanie analizy jako±ci rozwi¡za« dostarczanych przez zaproponowane
algorytmy przybli»one i wskaza¢ zakres ich stosowalno±ci.

1.3 Cele pracy


Cele niniejszej pracy mo»na sformuªowa¢ nast¦puj¡co:

Cel 1. Wyznaczenie zªo»ono±ci obliczeniowej oraz wykazanie szczególnych


wªasno±ci wybranych jednoprocesorowych problemów szeregowania, w których
czasy wykonywania zada« i czasy przezbroje« procesorów zale»¡ od dodatkowych
zasobów.

Cel 2. Wyznaczenie zªo»ono±ci obliczeniowej, wykazanie szczególnych wªas-


no±ci oraz skonstruowanie efektywnych algorytmów rozwi¡zania problemu
szeregowania zada« wieloprocesorowych w systemie przepªywowym.

Wy»ej wymienione cele pracy zostaªy sformuªowane na podstawie przeprowad-


zonych przegl¡dów literatury naukowej, z których wynika, »e badane prob-
lemy byªy rozpatrywane w niewystarczaj¡cym zakresie lub nie byªy rozpatry-
wane wcale. Jednocze±nie s¡ one bardzo istotne z teoretycznego, a zwªaszcza z
praktycznego punktu widzenia, poniewa» modeluj¡ wiele rzeczywistych pro-
cesów produkcyjnych i komputerowych.

 Szeregowanie zada« i rozdziaª zasobów ... 13


1.4 Zakres pracy

1.4 Zakres pracy


Niniejsza praca skªada si¦ z dwóch cz¦±ci.
Cze±¢ pierwsza obejmuje rozdziaªy od 2 do 4 i dotyczy jednoprocesorowych
problemów szeregowania zada« z czasami przezbroje« i czasami wykonywa-
nia zada« zale»nymi od zasobów.
Rozdziaª 2 stanowi wprowadzenie do problemów szeregowania zada« z
przezbrojeniami. W rozdziale tym zdeniowane zostaªy podstawowe poj¦-
cia dotycz¡ce rozpatrywanych problemów i przedstawione zostaªy przykªady
rzeczywistych procesów produkcyjnych modelowanych przy u»yciu problemów
z przezbrojeniami. Rozdziaª 3 zawiera przegl¡d literatury naukowej doty-
cz¡cej wybranych jednoprocesorowych problemów szeregowania zada«. Przegl¡d
ten obejmuje klasyczne problemy z przezbrojeniami oraz problemy z parame-
trami zale»nymi od zasobów. Taki podziaª motywowany jest tym, »e w niniejszej
pracy rozpatrywane s¡ problemy ª¡cz¡ce te dwa zagadnienia. Pierwsz¡ cz¦±¢
pracy zamyka rozdziaª 4, w którym przedstawiono rezultaty bada« prowad-
zonych przez autora nad jednoprocesorowymi problemami z przezbrojeniami
i czasami wykonywania zada« zale»nymi od zasobów. Rozdziaª ten zostaª
podzielony na dwie gªówne cz¦±ci: pierwsza (podrozdziaª 4.4) dotyczy prob-
lemów, w których zasoby podzielne s¡ w sposób ci¡gªy; druga (podrozdziaª
4.5) dotyczy problemów, w których zasoby podzielne s¡ w sposób dyskretny.

Druga cz¦±¢ pracy obejmuje rozdziaªy od 5 do 7 i dotyczy problemów


szeregowania zada« wieloprocesorowych w problemach przepªywowych.
Podobnie jak w cz¦±ci pierwszej, w Rozdziale 5 przedstawiono podsta-
wowe denicje poj¦¢ zwi¡zanych z zadaniami wieloprocesorowymi oraz przed-
stawiono kilka przykªadów zastosowa« tego typu problemów. Rozdziaª 6
stanowi przegl¡d rezultatów bada« prowadzonych dotychczas nad proble-
mami przepªywowymi i problemami szeregowania zada« wieloprocesorowych.
Przegl¡d ten zostaª podzielony na dwie cz¦±ci: pierwsza cz¦±¢ dotyczy prob-
lemów przepªywowych, a druga problemów z zadaniami wieloprocesorowymi.
Podziaª ten jest motywowany tym, »e w niniejszej pracy dokonano poª¡czenia
dwóch wy»ej wymienionych problemów. Trzon drugiej cz¦±ci pracy stanowi
Rozdziaª 7, w którym zaprezentowano wyniki bada« prowadzonych przez
autora nad problemami przepªywowymi z zadaniami wieloprocesorowymi.
Pierwsza cz¦±¢ Rozdziaªu 9 dotyczy problemu uproszczonego, dla którego
wykazano szerego wªasno±ci teoretycznych oraz skonstruowano efektywny al-
gorytm oparty o technik¦ tabu search. Cz¦±¢ druga dotyczy problemu bardziej
zªo»onego (ogólnego) i zawiera opis zaproponowanych algorytmów przybli»onych
opartych o techniki tabu search i symulowanego wy»arzania. T¦ cze±¢ pracy
zamyka Podrozdziaª 7.5 b¦d¡cy krótkim podsumowaniem wyników.

14 Maciej Lichtenstein
1 Wst¦p

Caª¡ prac¦ zamyka krótkie podsumowanie uzyskanych rezultatów oraz


obszerny spis cytowanej literatury.

Najwi¦ksze podzi¦kowania za przyczynienie si¦ do powstania tej pracy


nale»¡ si¦ promotorowi, prof. dr hab. in». Adamowi Janiakowi oraz wspóªopiekunowi
prof. Mikhailowi Y. Kovalyovowi, za wszelkie uwagi, dzi¦ki którym rozprawa
ta przyj¦ªa ostateczny ksztaªt. Autor wyra»a swoj¡ wdzi¦czno±¢ równie» dr
in». Aleksandrowi Bachmanowi za bardzo ksztaªc¡ce, wielogodzinne dyskusje
nad ró»nymi problemami z zakresu szeregowania zada«. Podobnie, sªowa
podzi¦kowania nale»¡ si¦ dr Ceydzie Oguz z The Hong Kong Polytehnic Uni-
versity oraz prof. Yakovovi Zinderowi z Uniwersytetu w Sydney za wspólne
rozwa»anie wielu aspektów ró»nych problemów szeregowania zada« wielopro-
cesorowych. At last but not least dzi¦kuje serdecznie mojej rodzinie, za wiar¦
i cierpliwo±¢.

 Szeregowanie zada« i rozdziaª zasobów ... 15


Rozdziaª 2
Podstawowe informacje dotycz¡ce
problemów szeregowania zada«
z przezbrojeniami

2.1 Podstawowe denicje


Podstawowymi poj¦ciami pojawiaj¡cymi si¦ w problematyce szeregowa-
nia zada« z przezbrojeniami s¡ rodzina zada« oraz przezbrojenie. W ogólno±ci,
poj¦cia te mog¡ odnosi¢ si¦ do ró»nych czynników czy zjawisk zachodz¡cych
w procesach produkcyjnych, jednak mog¡ by¢ nast¦puj¡co zdeniowane.

Rodzina zada«  Zbiór zada« o identycznych lub podobnych wymaganiach


dotycz¡cych sposobu ich wykonywania przez procesory. Z punktu widzenia
problematyki szeregowania zada«, przy przej±ciu z wykonywania jednego
zadania do innego w obr¦bie tej samej rodziny, nie s¡ wymagane »adne do-
datkowe czynno±ci przygotowawcze.

Przezbrojenie  jest to pewna dodatkowa czynno±¢ wykonywana przed


wykonywaniem wªa±ciwego zadania, zwi¡zana z przygotowaniem procesora
do jego wykonywania. Wykonanie przezbrojenia zabiera pewien czas i mo»e
wnosi¢ pewien koszt do optymalizowanego kryterium.

W problematyce szeregowania zada« z przezbrojeniami liczb¦ rodzin zada«


cz¦sto oznacza si¦ przez B, pojedyncz¡ rodzin¦ reprezentuje zbiór If , f =
1, .., B , a zbiór rodzin oznaczany jest przez F = {If |f = 1, ..., B}. Takie
oznaczenia b¦d¡ u»ywane w niniejszej pracy.

Przezbrojenie jest ±ci±le zwi¡zane z rodzinami zada«. Wyró»nia si¦ dwa

16
2 Podstawowe informacje dotycz¡ce problemów ...

rodzaje przezbroje«:

przezbrojenie sekwencyjnie niezale»ne  czas i/lub koszt przezbrojenia


jest zale»ny tylko od tego, jakie zadanie b¦dzie wykonywane (z której
rodziny).

przezbrojenie sekwencyjnie zale»ne  czas i/lub koszt przezbrojenia za-


le»y zarówno od tego która rodzina byªa wykonywana, jak i od tego,
która rodzina b¦dzie wykonywana.

W przypadku przezbroje« sekwencyjnie niezale»nych, z ka»d¡ rodzin¡ If


zwi¡zane jest przezbrojenie o czasie trwania sf i/lub koszcie cf . W przypadku
przezbroje« sekwencyjnie zale»nych czas i/lub koszt przezbrojenia okre±lony
jest dla ka»dej pary rodzin If i Ig i oznaczany jest odpowiednio przez sf g i
cf g , przy czym w ogólno±ci sf g 6= sgf . Je»eli na procesorze wykonywane s¡
kolejno zadania j a nast¦pnie k takie, »e j ∈ If , k ∈ Ig , f 6= g , to mi¦dzy nimi
wykonywane jest przezbrojenie o czasie trwania sf g  w przypadku przezbro-
je« sekwencyjnie zale»nych, lub sg  w przypadku przezbroje« sekwencyjnie
niezale»nych. Je»eli f = g (zadania j i k nale»¡ do tej samej rodziny) to
przezbrojenie nie jest wykonywane.
Dodatkowo, w przypadku przezbroje« sekwencyjnie zale»nych zakªada si¦,
»e czasy oraz koszty przezbroje« speªniaj¡ nierówno±¢ trójk¡ta, tzn:

sf g ≤ sf h + shg , dla ka»dego f 6= g 6= h

oraz

cf g ≤ cf h + chg , dla ka»dego f 6= g 6= h.


Zaªo»enie to jest do±¢ oczywiste ze wzgl¦du na to, »e je»eli nie byªoby
ono speªnione, to przezbrojenie z rodziny If do rodziny Ig mo»na by byªo
zast¡pi¢ przezbrojeniami z rodziny If do Ih a nast¦pnie z Ih do Ig , bez
wykonywania zada« z rodziny Ih i te dwa przezbrojenia byªyby wykonane
szybciej lub mniejszym kosztem.

Czas lub koszt przezbrojenia mo»e ponadto zale»e¢ od dodatkowych za-


sobów. Wówczas odpowiednio czas i/lub koszt przezbrojenia jest zadany jako
funkcja sf g (uf g ) oraz cf g (uf g ), gdzie uf g jest ilo±ci¡ zasobu przydzielon¡ do
przezbrojenia.

Ostatnim poj¦ciem pojawiaj¡cym si¦ w problematyce szeregowania zada«


z przezbrojeniami jest ograniczenie technologii grupowej GT (ang. Group
Technology ). Ograniczenie to zabrania dzielenia rodzin na mniejsze grupy,

 Szeregowanie zada« i rozdziaª zasobów ... 17


2.1 Rzeczywiste procesy produkcyjne modelowane ...

tzn. je»eli jako pierwsze zostaªo wykonane zadanie j ∈ If , to po nim musz¡


by¢ wykonane wszystkie zadania z tej rodziny, a nast¦pnie mo»e by¢ wykony-
wana nast¦pna rodzina, te» bez przerywania zadaniami z innej rodziny. Wys-
t¦powanie tego ograniczenia najcz¦±ciej uªatwia problem, ze wzgl¦du na to,
»e cz¦sto daje si¦ on sprowadzi¢ do problemu szeregowania caªych rodzin
zada«.

2.2 Rzeczywiste procesy produkcyjne modelowane


przez problemy szeregowania zada« z przezbro-
jeniami
W tym rozdziale zostan¡ podane przykªady rzeczywistych procesów pro-
dukcyjnych, które mog¡ by¢ modelowane przez problemy szeregowania zada«
z przezbrojeniami. Przykªady te dotycz¡ zarówno systemów wytwarzania, jak
i systemów informatycznych.

2.2.1 Produkcja elementów plastykowych


W zakªadzie produkuj¡cym ró»ne elementy plastykowe klienci zamawiaj¡
pewne partie okre±lonych elementów. Poszczególne partie ró»ni¡ si¦ mi¦dzy
sob¡ zarówno ksztaªtem elementów, jak i kolorem. Mo»na jednak w±ród tych
partii wyró»ni¢ pewne grupy partii podobnych - nie ró»ni¡cych si¦ ksztaªtem,
ale tylko nieznacznie kolorem (odcieniem) elementów. Wówczas, po wyko-
naniu pewnej partii elementów, do wykonywania nast¦pnej partii elemen-
tów podobnych nie jest konieczne specjalne przygotowywanie maszyny (np.:
po wykonaniu partii jasnoniebieskich opakowa« wykonujemy takie same,
ale ciemnoniebieskie). Je»eli jednak, po wykonaniu jednej partii elementów,
nast¦pna partia znacznie ró»ni si¦ kolorem lub ksztaªtem elementów, to maszyn¦
nale»y wyczy±ci¢ i/lub wymieni¢ formy wtryskowe przed rozpocz¦ciem jej
wykonywania.
Czas przygotowywania maszyny mo»e zosta¢ skrócony poprzez np.: przy-
dzielenie wi¦kszej liczby pracowników do jej czyszczenia lub zastosowanie
lepszych (dro»szych) ±rodków czyszcz¡cych.
procesorem jest maszyna wykonuj¡ca elementy (wtryskarka),
W systemie tym
zadaniem b¦dzie zlecenie wykonania partii okre±lonych elementów, a rodziny
zada« b¦d¡ stanowi¢ te partie wyrobów, które nie ró»ni¡ si¦ ksztaªtem, ale
ró»ni¡ si¦ nieznacznie kolorem. Przezbrojenie zwi¡zane jest z wyczyszcze-
niem wtryskarki i wymian¡ form wtryskowych, co zabiera pewien okres czasu.
W przypadku gdy czas ten mo»emy skróci¢, przez przydziaª wi¦kszej liczby

18 Maciej Lichtenstein
2 Podstawowe informacje dotycz¡ce problemów ...

pracowników lub zastosowanie dro»szych ±rodków czyszcz¡cych, mamy do


czynienia z czasami przezbroje« zale»nymi od zasobów. Problem szeregowa-
nia polega tu na znalezieniu takiej sekwencji wykonywania zlece«, aby zmin-
imalizowa¢ np. caªkowity czas wykonywania wyrobów. Dodatkowo, w przy-
padku problemu z dodatkowymi zasobami, nale»y wyznaczy¢ przydziaª tych
zasobów do poszczególnych przezbroje«.

2.2.2 Proces elektroranacji miedzi


Proces produkcji miedzi skªada si¦ z czterech etapów: otacji, ranacji
ogniowej, elektroranacji i odlewu. Mied¹ po ranacji ogniowej (tzw. an-
ody miedziane o zawarto±ci zanieczyszcze« ok. 0,7%) podlega elektrora-
nacji, po której uzyskuje si¦ mied¹ katodow¡ o zawarto±ci zanieczyszcze« ok.
0,005%. Proces ten (roztwarzanie) przebiega w wannach elektrolitycznych
(najmniejsz¡ jednostk¡ produkcyjn¡ jest grupa 20 wanien) i jego czas (od
20 do 25 dni) zale»y odwrotnie proporcjonalnie od nat¦»enia dostarczanego
pr¡du elektrycznego. Dokªadniej, czas uzyskania masy katodowej mj [kg] w
i-tej grupie wanien podany nast¦puj¡cym modelem:

mi
pi = ,
ηi kIi

gdzie:

pi - czas elektrolizy w i-tej grupie wanien,

ηi - ±rednia wydajno±¢ pr¡dowa i-tej grupy wanien (ηi ≈ 0, 97),

k - równowa»nik elektrochmiczny, identyczny dla wszystkich grup wanien


(k ≈ 22, 72 kg/kAh),

Ii - nat¦»enie pr¡du dostarczone do i-tej grupy wanien (9,0 kA ≤ Ii ≤ 10,5


kA).

Jak wspominiano powy»ej pojedyncz¡ jednostk¡ produkcyjn¡ jest grupa


ok. 20 wanien elektrolitycznych. W opisywanym procesie jednocze±nie dost¦p-
nych jest ok. 100 takich grup, obsªugiwanych przez pojedyncz¡ suwnic¦ (do
zaªadunku i wyªadunki).
Po zako«czeniu procesu roztwarzania uzyskane katody s¡ wyci¡gane z
wanien, caªa grupa wanien jest wyª¡czana z obiegu pr¡du i elektrolitu, a
nast¦pnie jest czyszczona ze szlamu i innych pozostaªo±ci po elektroranacji.
Po wyczyszczeniu, ªadowana jest nast¦pna porcja anod i grupa wanien jest

 Szeregowanie zada« i rozdziaª zasobów ... 19


2.2 Rzeczywiste procesy produkcyjne modelowane ...

ponownie wª¡czana do obiegu pr¡du i elektrolitu. Caªy proces przygotowa-


nia jednej grupy wanien trwa okoªo 18 godzin i mo»e zosta¢ skrócony przez
przydzielenie wi¦kszej liczby pracowników.
Ze wzgl¦du na to, »e czas elektroranacji oraz czyszczenie wanien mog¡
zosta¢ skrócone przez wykorzystanie dodatkowych, ograniczonych, zasobów
(nat¦»enie pr¡du, liczba pracowników), mamy tu do czynienia z problemem,
w którym zarówno czasy przezbroje«, jak i czasy wykonywania zada« zale»¡
od dodatkowych zasobów.
Problem polega na ustaleniu takiego harmonogramu obsªugi grup wanien
przez pojedyncz¡ suwnic¦ oraz przydzieleniu do zada« i przezbroje« ogranic-
zonych zasobów aby maksymalizowa¢ produktywno±¢, tzn. ilo±¢ wyprodukowanej
miedzi katodowej w jednostce czasu.

2.2.3 Wykonywanie oblicze« na komputerze


Na komputerze jednoprocesorowym nale»y wykona¢ pewne obliczenia na
okre±lonych porcjach danych. Dla ka»dej porcji danych zadany jest czas
oblicze« oraz nieprzekraczalny termin ich zako«czenia. Ka»da porcja danych
wymaga obecno±ci okre±lonego programu w pami¦ci operacyjnej komputera,
jednak ilo±¢ pami¦ci jest ograniczona i tylko jeden program mo»e znajdowa¢
si¦ w danej chwili czasu w pami¦ci. Dla ka»dego programu podany jest
czas jego ªadowania do pami¦ci operacyjnej. Nale»y znale¹¢ tak¡ kolejno±¢
wykonywania oblicze«, aby wszystkie porcje danych zostaªy przetworzone
przed upªywem swojego nieprzekraczalnego terminu zako«czenia.
W problemie tym przez zadanie nale»y rozumie¢ wykonanie oblicze« na
jednej porcji danych, a rodzin¦ zada« stanowi¡ porcje danych wymagaj¡-
cych tego samego programu. Przezbrojenie natomiast jest zwi¡zane jest ªad-
owaniem okre±lonego programu do pami¦ci.

W niniejszym rozdziale podano tylko kilka przykªadów zastosowa« prob-


lematyki szeregowania zada« z przezbrojeniami. Przykªady te mo»na znale¹¢
w wielu gaª¦ziach przemysªu (chemicznego, lotniczego, ci¦»kiego, itp.) oraz
w wielu systemach informatycznych. Tak szerokie zastosowania motywuj¡ do
ci¡gªego rozwijania tej problematyki, co stanowi istotny wkªad w podnoszenie
wydajno±ci systemów produkcyjnych i informatycznych.

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...

3.2 Wyniki dotychczasowych bada« dotycz¡cych


jednoprocesorowych problemów szeregowa-
nia zada« z przezbrojeniami
W kolejnych tablicach zebrano wyniki dotychczasowych bada« dotycz¡-
cych problemów szeregowania zada« z przezbrojeniami. Zestawienie wyników
dotyczy rezultatów zwi¡zanych ze zªo»ono±ci¡ obliczeniow¡ problemów i przed-
stawione zostaªo w dwóch cz¦±ciach, osobno dla problemów z przezbrojeni-
ami sekwencyjnie niezale»nymi i osobno dla problemów z przezbrojeniami
sekwencyjnie zale»nymi.
P P
Na wst¦pie nale»y zauwa»y¢, »e ju» klasyczne problemy 1|| Tj i 1|| wj Tj
s¡ odpowiednio NP-trudne [29, 96] i silnie NP-trudne [98], wi¦c wszelkie prob-
P P
lemy z przezbrojeniami i kryterium Tj lub wj Tj posiadaj¡ co najmniej
zªo»ono±¢ ich odpowiedników klasycznych. Podobnie rzecz si¦ ma z proble-
P P
mami z kryterium Ej + Tj oraz wj Ej + vj Tj . W zwi¡zku z tym, w
tablicach nie uwzgl¦dniono problemów z tymi kryteriami.

Tablica 3.1: Wyniki dotycz¡ce zªo»ono±ci obliczeniowej jednoprocesorowych


problemów szeregowania zada« przezbrojeniami sekwencyjnie niezale»nymi i
ograniczeniem technologii grupowej GT

Lp. Problem Rezultat Komentarz/Litaratura

1 1|sf , GT |Cmax O(n) [110]


2 1|sf , GTP |Lmax O(n log n) [129]
3 1|sf , GT | wj C Pj O(n log n) [129]
4 1|sf , dj = df , GT
P | Uj O(n2 ) [134]
5 1|sf , GT P| Uj otwarty [129]
6 1|sf , GT | P wj Uj NP-trudny [88]
7 1|GT | cP f O(n) [129]
8 1|GT |Cmax + P cf O(n) [129]
9 1|GTP |Lmax + P cf O(n log n) [129]
10 1|GT | Pwj Cj +P cf O(n log n) [129]
11 1|GT P | Uj + Pcf otwarty [129]
12 1|GT | wj Uj + cf NP-trudny [88]

22 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...

Tablica 3.2: Wyniki dotycz¡ce zªo»ono±ci obliczeniowej jednoprocesorowych


problemów szeregowania zada« z przezbrojeniami sekwencyjnie niezale»nymi
bez ograniczenia technologii grupowej GT

Lp. Problem Rezultat Komentarz/Litaratura

1 1|sf |Cmax O(n) [110]


2 1|sf |Lmax NP-trudny [13]
B
3 1|sf g |L
Pmax O(n ) [33]
4 1|sfP| Cj otwarty [129]
5 1|sf | P wj Cj otwarty [155]
B
6 1|sf | wj C Pj O(n ) [4, 32]
7 1|sf , dj =P df | Uj O(n2 ) [134]
8 1|sf | P Uj NP-trudny wynika z 1|sf |Lmax
B+1
9 1|sfP| Uj O(n ) [110]
10 1|sf | P wj Uj NP-trudny [88]
O(nB wj )
P
11 1|sf | Pwj Uj [124]
12 1|| cP f O(n) [129]
13 1||Cmax + P cf O(n) [129]
14 1||L
Pmax + Pcf NP-trudny [13]
15 1||P Cj + Pcf otwarty [129]
16 1|| Pwj Cj +P cf otwarty [129]
17 1||P Uj + Pcf NP-trudny wynika z 1|sf |Lmax
18 1|| wj Uj + cf NP-trudny [88]

 Szeregowanie zada« i rozdziaª zasobów ... 23


3.2 Wyniki dotychczasowych bada« dotycz¡cych...

Tablica 3.3: Wyniki dotycz¡ce zªo»ono±ci obliczeniowej jednoprocesorowych


problemów szeregowania zada« z przezbrojeniami sekwencyjnie zale»nymi i
ograniczeniem technologii grupowej GT

Lp. Problem Rezultat Komentarz/Literatura

1 1|sf g , GT |Cmax NP-trudny [110]


2 1|sf g , GT |L
Pmax NP-trudny [162]
3 1|sf g , GT P| Cj otwarty [162]
4 1|sf g , GT | Pwj Cj NP-trudny [106]
5 1|sf g , GT | P Uj NP-trudny wynika z 1|sf g , GT |Lmax
B+1
6 1|sf g , GT P| Uj O(n ) [110]
7 1|sf g , GT | P wj Uj NP-trudny [88]
O(nB wj )
P
8
P | wj Uj
1|sf g , GT [124]
9 1|| cf g,GT P NP-trudny [162]
P
10 1|GT |Cmax + P cf g NP-trudny wynika z 1|GT | P cf g
11 1|GT |L Pmax + Pcf g NP-trudny wynika z 1|GT | P cf g
12 1|GT P | Cj + Pcf g NP-trudny wynika z 1|GT | P cf g
13 1|GT | Pwj Cj +P cf g NP-trudny wynika z 1|GT | P cf g
14 1|GT P | Uj + Pcf g NP-trudny wynika z 1|GT | P cf g
15 1|GT | wj Uj + cf g NP-trudny wynika z 1|GT | cf g

24 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...

Tablica 3.4: Wyniki dotycz¡ce zªo»ono±ci obliczeniowej jednoprocesorowych


problemów szeregowania zada« z przezbrojeniami sekwencyjnie zale»nymi i
bez ograniczenia technologii grupowej GT

Lp. Problem Rezultat Komentarz/Litaratura

1 1|sf g |Cmax NP-trudny [110]


2 1|sf g |Lmax NP-trudny [162]
B
3 1|sf g |L
Pmax O(n ) [33]
4 1|sf gP| Cj otwarty [129]
5 1|sf g | P wj Cj NP-trudny [106]
B
6 1|sf g | Pwj Cj O(n ) [4, 32]
7 1|sf gP| Uj NP-trudny wynika z 1|sf g |Lmax
8 1|sf g |P wj Uj NP-trudny [88]
9 1|| cP fg NP-trudny [162]
P
10 1||Cmax + P cf g NP-trudny wynika z 1|| P cf g
11 1||L
Pmax + Pcf g NP-trudny wynika z 1|| P cf g
12 1||P Cj + Pcf g NP-trudny wynika z 1|| P cf g
13 1|| Pwj Cj +P cf g NP-trudny wynika z 1|| P cf g
14 1||P Uj + Pcf g NP-trudny wynika z 1|| P cf g
15 1|| wj Uj + cf g NP-trudny wynika z 1|| cf g

 Szeregowanie zada« i rozdziaª zasobów ... 25


3.2 Wyniki dotychczasowych bada« dotycz¡cych...

W literaturze mo»na równie» znale¹¢ szereg algorytmów, zarówno dokªad-


nych, jak i przybli»onych dla jednoprocesorowych problemów szeregowania
z przezbrojeniami. Przykªadowo, dla problemów z kryterium Lmax opracow-
ano algorytmy dokªadne oparte o technik¦ podziaªu i oszacowa« [48, 135]
i programowania dynamicznego [33] oraz szereg algorytmów przybli»onych
P
[48, 161, 163]. Podobnie dla problemu z kryterium wj Cj zaproponowano
algorytmy dokªadne oparte o technik¦ podziaªu i oszacowa« [22, 104] i pro-
gramowania dynamicznego [32] oraz konstrukcyjne algorytmy przybli»one
[4, 41, 99, 160], jak i metaheurystyczne [23, 49, 103].
Obszerny zbiór rezultatów dotycz¡cych problemów szeregowania z przezbro-
jeniami (zarówno jednoprocesorowych, jak i wieloprocesorowych) mo»na znale¹¢
w pracach [5, 124].

3.3 Wyniki dotychczasowych bada« dotycz¡cych


jednoprocesorowych problemów szeregowa-
nia z parametrami zale»nymi od dodatkowych
zasobów
3.3.1 Wprowadzenie
Na wst¦pie nale»y zaznaczy¢, »e w literaturze naukowej rozpatruje si¦
cztery przypadki (modele) problemów z parametrami zale»nymi od zasobów.
Aby przedstawi¢ te modele wprowad¹my nast¦puj¡ce oznaczenia:

F1 (P (~u)) - kryterium czasowe zale»ne od harmonogramu


P P (zale»nego od
rozdziaªu zasobów ~u) np.: Cmax , Lmax , wj Cj itp.,

F2 (~u) - kryterium zasobowe zale»ne tylko od rozdziaªu zasobów


P P ~u - koszt
u»ycia zasobów np.: uj , wj uj itp.

W literaturze rozpatrywane s¡ nast¦puj¡ce modele:

M1 - minimalizacja F1 (P (~u)) + F2 (~u),

M2 - minimalizacja F1 (P (~u)) przy zadanym ograniczeniu F2 (~u) ≤ F̂2 ,

M3 - minimalizacja F2 (~u) przy zadanym ograniczeniu F1 (P (~u)) ≤ F̂1 ,

M4 - minimalizacja F1 (P (~u)) ∧ F2 (~u)  podej±cie dwukryterialne.

26 Maciej Lichtenstein
3 Wyniki dotychczasowych bada« dotycz¡cych...

Šatwo mo»na zauwa»y¢, »e z NP trudno±ci problemu z modelem M1, M2


lub M3 wynika NP-trudno±¢ modelu M4. Podobnie istnienie wielomianowego
algorytmu dla problemu z modelem M4 implikuje istnienie takiego algorytmu
dla problemów z modelami M1, M2 i M3. Dodatkowo nale»y zauwa»y¢, »e
NP-trudno±¢ problemu z modelem M2 (M3) implikuje NP-trudno±¢ prob-
lemu z modelem M3 (M2) i M4, ale nie implikuje NP-trudno±ci problemu z
modelem M1. Rozwa»ania powy»sze wynikaj¡ z faktu, »e modele M2 i M3
s¡ równowa»ne z punktu widzenia teorii zªo»ono±ci obliczeniowej, poniewa»
ich wersje decyzyjne s¡ identyczne, a w przypadku rozwi¡zywania problemu
M4, otrzymujemy rozwi¡zania problemów M1M3 jako podproblemów.
Z historycznego punktu widzenia, pierwszymi rozpatrywanymi proble-
mami szeregowania z parametrami zale»nymi od zasobów byªy problemy z
czasami wykonywania zale»nymi od zasobów [54, 55, 56, 63, 69, 72, 74, 75, 79,
80] (oraz z tzw. kontrolowanymi czasami wykonywania zada« [123, 150, 151]
stanowi¡ce szczególny przypadek problemów z zasobami). Nast¦pnie roz-
patrywane byªy problemy z terminami dost¦pno±ci zale»nymi od zasobów
[58, 62, 61, 64, 66, 65, 67, 70]. Niewiele rezultatów dotyczy problemów z cza-
sami przezbroje« zale»nymi od zasobów ze wzgl¦du na to, »e jest to dziedzina
rozpatrywana zaledwie od kilku lat [17, 77, 78, 83, 84]
W dalszej cz¦±ci przedstawione zostan¡ rezultaty dotychczasowych bada«
dotycz¡cych problemów szeregowania z parametrami zale»nymi od zasobów i
modelem M2 ze wzgl¦du na to, »e taki model jest rozpatrywany w tej pracy.

3.3.2 Wyniki dotychczasowych bada« dotycz¡cych jedno-


procesorowych problemów szeregowania z czasami
wykonywania zada« zale»nymi od dodatkowych
zasobów
Badania nad problemami z czasami wykonywania zale»nymi od zasobów
prowadzone byªy gªównie w zakresie wykazania zªo»ono±ci obliczeniowej tych
problemów. W pracach [56, 63] wykazano, »e w przypadku z zasobem podziel-
nym w sposób ci¡gªy problemy z ograniczeniami kolejno±ciowymi przy kry-
teriach Cmax , Lmax i Tmax s¡ wielomianowo rozwi¡zywalne odpowiednio w
czasie O(n log n), O(n2 ) i O(n2 ). Ponadto, w pracy [63] wykazano, »e prob-
lem z kryterium Cmax , ograniczeniami kolejno±ciowymi i zadanymi terminami
2
dost¦pno±ci zada« jest rozwi¡zywalny w czasie O(n ).
W pracach [54, 59, 69, 75] rozpatrywane byªy problemy z kryteriami Lmax ,
P P
Tmax , wj Cj i wj Tj przy ograniczeniach kolejno±ciowych i/lub zadanych
terminach dost¦pno±ci zada«. Zªo»ono±¢ obliczeniowa tych problemów wynika
bezpo±rednio z ich klasycznych odpowiedników (s¡ to problemy NP-trudne

 Szeregowanie zada« i rozdziaª zasobów ... 27


3.3 Wyniki dotychczasowych bada« dotycz¡cych...

lub silnie NP-trudne), jednak w wy»ej wymienionych pracach wykazano sz-


ereg wªasno±ci tych problemów i zaproponowano algorytmy optymalnego
rozdziaªu zasobu przy ustalonej kolejno±ci wykonywania zada«.
Ponadto, w pracach [72, 74, 79, 80] zaproponowano algorytmy przybli»one
oparte o techniki symulowanego wy»arzania, tabu search, algorytmów gene-
tycznych i sieci neuronowych dla rozwi¡zywania szeregu NP-trudnych i silnie
NP-trudnych przypadków tego typu problemów.
W pracy [71] wykazano szereg wªasno±ci oraz zªo»ono±¢ obliczeniow¡ prob-
lemów z zasobem podzielnym w sposób dyskretny. Rezultaty te dotycz¡
gªównie problemów z modelami M3 i M4. Dodatkowo, przyj¦to, »e zasoby
s¡ wprawdzie podzielne w sposób dyskretny, ale z kwantem równym jeden 
warto±ci zasobu s¡ wybierane ze zbioru liczb caªkowitych.

3.3.3 Wyniki dotychczasowych bada« dotycz¡cych jedno-


procesorowych problemów szeregowania z termi-
nami dost¦pno±ci zada« zale»nymi od dodatkowych
zasobów
W przypadku problemów z terminami dost¦pno±ci zale»nymi od zasobów
istotnym rezultatem jest wykazana w pracy [60] silna NP-trudno±¢ prob-
lemu z kryterium Cmax , przy liniowym modelu terminów dost¦pno±ci. Do-
datkowo, w pracach [60, 70] wykazano, »e problem przy kryterium Cmax
jest NP-trudny (w zwykªym sensie) nawet, gdy wspóªczynnik wykorzysta-
nia zasobu jest taki sam dla wszystkich zada«. Jednocze±nie w pracach tych
wskazano szereg szczególnych przypadków rozwi¡zywalnych wielomianowo.
W pracy [65] wykazano, »e wprowadzenie ogranicze« kolejno±ciowych, ju»
do najprostszego przypadku problemu (kiedy wszystkie parametry modelu
terminu dost¦pno±ci s¡ takie same dla wszystkich zada«) czyni problem NP-
trudnym.
W pracy [70] zaproponowano szereg (25) algorytmów przybli»onych dla
problemu z kryterium Cmax i dla ka»dego z nich dokonano analizy najgorszego
przypadku.
W pracy [57] rozpatrywano problemy z nieliniowymi modelami terminów
dost¦pno±ci zada«. Przyj¦to tam zaªo»enie, »e funkcja f () opisuj¡ca termin
dost¦pno±ci jest ci¡gªa i ±ci±le malej¡ca oraz identyczna dla wszystkich zada«.
−1
Wykazano, »e je»eli funkcja f () oraz funkcja odwrotna f () s¡ wielomianowo
wyliczalne, to problem z kryterium Cmax jest wielomianowo rozwi¡zywalny i
to nawet przy zadanych ograniczeniach kolejno±ciowych.
Praca [81] dotyczy problemów z nieliniow¡ funkcj¡ modeluj¡c¡ terminy
P
dost¦pno±ci zada« (tak¡ sam¡ dla wszystkich zada«) i kryteriami Cj i

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.3.4 Wyniki dotychczasowych bada« dotycz¡cych jedno-


procesorowych problemów szeregowania zada« z przezbro-
jeniami zale»nymi od dodatkowych zasobów
Problemy szeregowania zada« z czasami przezbroje« zale»nymi od za-
sobów byªy rozpatrywane w bardzo w¡skim zakresie. Jedyn¡ prac¡, w której
zarówno czasy przezbroje« i czasy wykonywania zada« zale»¡ od zasobów jest
[17], jednak przyj¦ty tam model zakªada, »e ilo±¢ zasobu jest przydzielana w
takiej samej ilo±ci do wszystkich zada« i przezbroje«.
W przypadku problemów z czasami przezbroje« zale»nymi od zasobów
zaproponowano szereg algorytmów przybli»onych opartych o techniki symu-
lowanego wy»arzania, tabu search i algorytmów genetycznych w pracach
[6, 19, 20].
Ponadto w pracy [18] opracowano szereg algorytmów rozdziaªu zasobów i
wykazano przypadki rozwi¡zywalne wielomianowo dla problemów z przezbro-
jeniami zale»nymi od zasobów.

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].

 Szeregowanie zada« i rozdziaª zasobów ... 29


Rozdziaª 4
Jednoprocesorowe problemy
szeregowania z przezbrojeniami
i czasami wykonywania zada«
zale»nymi od dodatkowych
zasobów

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 . . .

4.2 Sformuªowanie problemów


Dane:

Dany jest zbiór J = {1, ..., n}, n niezale»nych zada« do wykonania na


pojedynczym procesorze. Ponadto, dany jest zbiór F = {If |f = 1, ..., B},
B rodzin tych»e zada«. Ka»de zadanie j ∈ J nale»y do jednej (i tylko jed-
nej) rodziny If ∈ F . Fakt przynale»no±ci zadania j do rodziny If b¦dziemy
oznacza¢ jako j ∈ If . Z ka»d¡ rodzin¡ If ∈ F zwi¡zane jest sekwencyjnie
niezale»ne przezbrojenie o czasie trwania sf ≥ 0. Przezbrojenie to wykony-
wane jest pomi¦dzy ka»dymi dwoma zadaniami j i k takimi, »e j ∈ Ig i
k ∈ If , g 6= f . W przypadku, gdy f = g przezbrojenie nie jest wykonywane.
Czas przezbrojenia sf mo»e liniowo zale»e¢ od dodatkowego zasobu:

s f = b f − af u f , u f ∈ U f , (4.1)

gdzie:

• bf ≥ 0  maksymalny czas przezbrojenia,

• af ≥ 0  wspóªczynnik wykorzystania zasobu,

• uf ≥ 0  ilo±¢ zasobu przydzielona do przezbrojenia,

• Uf  zbiór warto±ci zasobu, jakie mog¡ by¢ przydzielone do przezbro-


jenia.

W przypadku zasobów podzielnych w sposób ci¡gªy, zbiór Uf jest przedzi-


aªem, tzn.: Uf = [0, ūf ], gdzie ūf jest maksymaln¡ ilo±ci¡ zasobu jaka mo»e
by¢ przydzielona do przezbrojenia sf . W przypadku zasobów podzielnych
1 αf i
w sposób dyskretny, Uf = {ūf , ..., ūf }, gdzie ūf , i = 1, ..., αf s¡ kole-
jnymi warto±ciami zasobu jakie mog¡ by¢ przydzielone do przezbrojenia. Bez
1 i i+1
utraty ogólno±ci rozwa»a« mo»emy przyj¡¢, »e ūf = 0 oraz ūf < ūf , dla
i = 1, ..., αf −1. Ze wzgl¦du na to, »e czas przezbrojenia nie mo»e by¢ warto±-
bf
ci¡ ujemn¡, nast¦puj¡ce ograniczenia musz¡ by¢ speªnione: ūf ≤ - dla
af
αf bf
zasobów podzielnych w sposób ci¡gªy oraz ūf ≤ - dla zasobów podziel-
af
nych w sposób dyskretny. Zakªada si¦, »e caªkowita ilo±¢ zasobu przydzielona
P
do przezbroje« jest ograniczona, tzn.: uf ≤ Û , gdzie Û ≥ 0 jest zadan¡
caªkowit¡ ilo±ci¡ zasobu.
Dla ka»dego zadania j∈J mog¡ by¢ okre±lone nast¦puj¡ce parametry:

• pj ≥ 0  czas wykonywania,

• rj ≥ 0  termin dost¦pno±ci,

 Szeregowanie zada« i rozdziaª zasobów ... 31


4.2 Sformuªowanie problemów

• wj ≥ 0  waga (priorytet).

Dodatkowo dla ka»dego zadania j ∈ J okre±la si¦ parametr hj , którego


znaczenie jest takie, »e je»eli hj = f , to j ∈ If .
Podobnie do czasów przezbroje«, czasy wykonywania zada« mog¡ zale»e¢
od dodatkowego zasobu:

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,

• vj ≥ 0  ilo±¢ zasobu przydzielona do zadania j,

• Vj  zbiór warto±ci zasobu, jakie mog¡ by¢ przydzielone do zadania j.

W przypadku zasobów podzielnych w sposób ci¡gªy, zbiór Vj jest przedzi-


aªem, tzn.: Vj = [0, v̄f ], gdzie v̄f jest maksymaln¡ ilo±ci¡ zasobu jaka mo»e
by¢ przydzielona do zadania j . W przypadku zasobów podzielnych w sposób
0
α 0
dyskretny, Vj = {v̄j1 , ..., v̄j j }, gdzie v̄ji , i = 1, ..., αj s¡ kolejnymi warto±ci-
ami zasobu jakie mog¡ by¢ przydzielone do zadania j . Bez utraty ogólno±ci
1 i i+1 0
rozwa»a« mo»emy przyj¡¢, »e v̄j = 0 oraz v̄j < v̄j , dla i = 1, ..., αj − 1.
Ze wzgl¦du na to, »e czas wykonywania zadania nie mo»e by¢ warto±ci¡
0
bj
ujemn¡, nast¦puj¡ce ograniczenia musz¡ by¢ speªnione: v̄j ≤ 0
aj
- dla za-
0 0
αj bj
sobów podzielnych w sposób ci¡gªy oraz v̄j ≤ 0
aj
- dla zasobów podzielnych

w sposób dyskretny. Zakªada si¦, »e caªkowita ilo±¢ zasobów przydzielona do


P
zada« jest ograniczona, tzn. j∈J vj ≤ V̂ , gdzie V̂ ≥ 0 jest zadan¡ caªkowit¡
ilo±ci¡ zasobu.

Problem polega na znalezieniu takiej kolejno±ci wykonywania zada«


oraz takiego rozdziaªu (ograniczonych) zasobów do zada« i przezbroje«, aby
optymalizowa¢ zadane kryterium. W pracy rozwa»ane s¡ problemy minimal-
izacji nast¦puj¡cych kryteriów:

• Cmax = maxj∈J Cj  dªugo±¢ uszeregowania,


P P
• wj Cj = j∈J wj Cj  suma wa»onych terminów zako«czenia wykony-
wania zada«,

32 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

gdzie Cj = Sj + pj jest terminem zako«czenia wykonywania zadania j oraz


Sj jest terminem rozpocz¦cia jego wykonywania.
Dodatkowo, w rozwa»anych problemach mo»e wst¦powa¢ ograniczenie
technologii grupowej (GT - ang. Group Technology ), które zabrania dziele-
nia rodzin zada« na mniejsze grupy, tzn. zadania nale»¡ce do jednej rodziny
musz¡ by¢ wykonane kolejno, bez wykonywania mi¦dzy nimi zada« z innej
rodziny.
Powy»ej zdeniowane problemy, b¦d¡ zapisywane zgodnie z notacj¡ trójpolow¡,
w nast¦puj¡cy sposób:

• Je»eli w polu ogranicze« wyst¦powa¢ b¦dzie zapis s f = b f − af u f , to


oznacza¢ to b¦dzie, »e w problemie wyst¦puj¡ przezbrojenia zale»ne od
zasobów.

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.

• Je»eli w polu ogranicze« wyst¦powa¢ b¦dzie zapis dscr, to oznacza¢ on


b¦dzie, »e zasoby s¡ podzielne w sposób dyskretny. Je»eli zapis taki
nie b¦dzie wyst¦powaª, oznacza¢ to b¦dzie, »e zasoby s¡ podzielne w
sposób ci¡gªy.

• Je»eli w polu ogranicze« wyst¦powa¢ b¦dzie zapis GT , to oznacza¢ on


b¦dzie, »e w problemie wyst¦puje ograniczenie technologii grupowej.

Przykªadowo, zapis:

0 0
X
1|dscr, sf = bf − af uf , pj = bj − aj vj , GT | wj Cj

oznacza jednoprocesorowy problem szeregowania zada« z kryterium minimal-


izacji sumy wa»onych terminów zako«czenia wykonywania zada«, z ogranicze-
niem technologii grupowej oraz czasami przezbroje« i czasami wykonywania
zada« zale»nymi od zasobów podzielnych w sposób dyskretny.

4.3 Reprezentacja rozwi¡zania (harmonogramu)


Ze wzgl¦du na to, »e rozwa»ane kryteria s¡ regularne, pojedyncze rozwi¡zanie
(harmonogram) mo»e by¢ zdeniowane przez zbiór P = {π, ~v , ~u}, gdzie π jest
permutacj¡ zbioru J okre±laj¡c¡ sekwencj¦ (kolejno±¢) wykonywania zada«,
~v jest wektorem rozdziaªu zasobów do zada« oraz ~u jest wektorem rozdziaªu
zasobów do przezbroje«.

 Szeregowanie zada« i rozdziaª zasobów ... 33


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Wektor ~v zdeniowany jest nast¦puj¡co:

~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 = [u(1), u(2), ..., u(K)].


PK
Ka»dy taki wektor speªnia¢ musi nast¦puj¡ce ograniczenie i=1 u(i) ≤ Û .
W przypadku, gdy w problemie wyst¦puje ograniczenie technologii grupowej
GT, wtedy w ka»dej dopuszczalnej sekwencji (permutacji π ) wyst¦puje dokªad-
nie B grup zada« i ka»de przezbrojenie wyst¦puje dokªadnie raz. 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.

4.4 Problemy z zasobem podzielnym w sposób


ci¡gªy
4.4.1 Minimalizacja dªugo±ci uszeregowania
W tej cz¦±ci pracy rozpatrywane b¦d¡ problemy minimalizacji dªugo±ci
uszeregowania w sytuacji, gdy zasoby s¡ podzielne w sposób ci¡gªy. W pier-
wszej kolejno±ci rozpatrywane b¦d¡ problemy bez okre±lonych terminów dost¦p-
no±ci zada«. Nast¦pnie pokazane zostanie jaki wpªyw na zªo»ono±¢ obliczeniow¡
ma uwzgl¦dnienie tych parametrów zada«.

34 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

4.4.1.1 Problemy minimalizacji dªugo±ci uszeregowania bez zadanych


terminów dost¦pno±ci zada«
W tej cz¦±ci pracy rozwa»any b¦dzie problem:

0 0
1|sf = bf − af uf , pj = bj − aj vj |Cmax . (4.3)

Na wst¦pie podanych zostanie kilka wªasno±ci tego problemu, a nast¦pnie


zaproponowany zostanie algorytm rozwi¡zania, bazuj¡cy na przedstawionych
wªasno±ciach.

Wªasno±¢ 1 Istnieje rozwi¡zanie optymalne problemu (4.3) takie, »e rodziny


zada« nie s¡ podzielone na mniejsze grupy.

Dowód. Zauwa»my, »e rozbicie dowolnej rodziny If ∈ F na dwie grupy


spowoduje, »e przezbrojenie sf , zwi¡zane z t¡ rodzin¡ b¦dzie wyst¦powa¢
dwa razy, co wpªyn¡¢ tylko mo»e na zwi¦kszenie dªugo±ci uszeregowania.

Wªasno±¢ 2 Kolejno±¢ wykonywania zada« w obr¦bie rodzin nie ma wpªywu


na dªugo±¢ uszeregowania.

Dowód. Wystarczy zauwa»y¢, »e dla dowolnej permutacji π speªniaj¡cej


Wªasno±¢ 1, warto±¢ kryterium wynosi:

n
X B
X
Cmax = pj + sf
j=1 f =1

i nie zale»y od tej permutacji.

Z Wªasno±ci 1 mo»na wyci¡gn¡¢ nast¦puj¡cy wniosek:

Wniosek 1 Rozwi¡zanie optymalne problemu (4.3) jest jednocze±nie rozwi¡zaniem


tego problemu przy wyst¦powaniu ograniczenia technologii grupowej GT.

Wªasno±¢ 3 Optymalny rozdziaª zasobu do zada« mo»e by¢ zrealizowany w


O(n log n) krokach przy u»yciu nast¦puj¡cego algorytmu:

 Szeregowanie zada« i rozdziaª zasobów ... 35


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

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.

Dowód. Optymalno±¢ tego algorytmu wynika z tego, »e kryterium Cmax


0
zale»y liniowo od warto±ci parametrów aj zada«. W zwi¡zku z tym, najwi¦k-
szy spadek warto±ci kryterium uzyskamy przydzielaj¡c zasób w najwi¦kszej
0
mo»liwej ilo±ci tym zadaniom, które maj¡ najwi¦ksze wspóªczynniki aj .

Wªasno±¢ 4 Optymalny rozdziaª zasobu do przezbroje« mo»e by¢ zrealizowany


w O(B log B) krokach przy u»yciu nast¦puj¡cego algorytmu:

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.

Dowód. Dowód jest analogiczny do dowodu poprzedniej wªasno±ci.


Na podstawie przedstawionych wy»ej wªasno±ci mo»emy sformuªowa¢ nast¦pu-
j¡ce twierdzenie:

Twierdzenie 1 Problem (4.3) jest rozwi¡zywalny w O(n log n) krokach przy


u»yciu nast¦puj¡cego algorytmu:

36 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

ALGORYTM A1

Krok 1 Pogrupuj zadania w rodziny i wybierz dowoln¡ sekwencj¦


wykonywania rodzin.

Krok 2 Rozdziel zasób do zada« przy u»yciu Algorytmu R11 .

Krok 3 Rozdziel zasób do przezbroje« przy u»yciu Algorytmu R12 .

Dowód. Dowód powy»szego twierdzenia wynika bezpo±rednio z Wªasno±ci


1-4.

Krok 1 algorytmu A1 mo»e by¢ zrealizowany w O(n) krokach. Kroki 2 i 3


wymagaj¡ odpowiednio O(n log n) i O(B log B) kroków, tak wi¦c zªo»ono±¢
algorytmu A1 wynosi O(n log n).

4.4.1.2 Problemy minimalizacji dªugo±ci uszeregowania z zadanymi


terminami dost¦pno±ci zada«
4.4.1.2.1 Problem z ograniczeniem technologii grupowej GT
W pierwszej kolejno±ci rozpatrywany b¦dzie problem z ograniczeniem
technologii grupowej GT, czyli problem:

0 0
1|rj , sf = bf − af uf , pj = bj − aj vj , GT |Cmax (4.4)

Podobnie jak w przypadku problemu bez zadanych terminów dost¦pno±ci


zada«, najpierw przedstawione zostan¡ pewne wªasno±ci badanego problemu,
a nast¦pnie podane zostan¡ pewne szczególne przypadki badanego problemu,
dla których zaproponowane zostan¡ optymalne algorytmy wielomianowe. Na
koniec przedstawione zostan¡ skonstruowane algorytmy przybli»one dla prob-
lemu ogólnego.

Wªasno±¢ 5 Istnieje rozwi¡zanie optymalne problemu (4.4) takie, »e zada-


nia wewn¡trz rodzin uszeregowane s¡ wg niemalej¡cych warto±ci ich terminów
dost¦pno±ci (rj ).

Dowód. Zaªó»my, »e π jest uszeregowaniem optymalnym takim, »e w jednej


z rodzin (np. If ) dla dwóch kolejno wykonywanych zada« π(j) i π(j + 1)
0
zachodzi rπ(j) > rπ(j+1) . Utwórzmy z uszeregowania π uszeregowanie π takie,
»e zadania π(j) i π(j +1) s¡ wykonywane w odwrotnej kolejno±ci ni» w π , tzn.

 Szeregowanie zada« i rozdziaª zasobów ... 37


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

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:

Cπ(j+1) = Sπ(j+1) + pπ(j+1) = max{Cπ(j) , rπ(j+1) } + pπ(j+1) =


max{max{Cπ(j−1) , rπ(j) } + pπ(j) , rπ(j+1) } + pπ(j+1) =
max{Cπ(j−1) , rπ(j) } + pπ(j) + pπ(j+1) ≥ max{Cπ(j−1) , rπ(j+1) } + pπ(j) + pπ(j+1) =
0 0
Cπ0 (j) + pπ0 (j+1) = Cπ0 (j+1) ,
0
wi¦c Cπ0 (j+1) ≤ Cπ(j+1) .
Ostatecznie mo»emy stwierdzi¢, »e zamiana zada« π(j) i π(j + 1) nie
spowoduje, »e zako«cz¡ si¦ one pó¹niej ni» przed zamian¡. Tak wi¦c mo»emy
uzyska¢ permutacj¦ speªniaj¡c¡ udowadnian¡ wªasno±¢, bez wzrostu warto±ci
kryterium, co dowodzi jej prawdziwo±¢.

Bez utraty ogólno±ci rozwa»a« mo»na zaªo»y¢, »e wszystkie zadania i


przezbrojenia wykonywane s¡ kolejno bez przerw w pracy procesora. Je»eli
tak nie jest, to zawsze mo»na usun¡¢ przerwy przesuwaj¡c zadania b¡d¹
przezbrojenia (ich terminy rozpocz¦cia i zako«czenia wykonywania) w kierunku
rosn¡cych warto±ci czasu, nie zmieniaj¡c warto±ci kryterium. W szczególno±ci
mo»emy zaªo»y¢, »e zadania w obr¦bie jednej rodziny wykonywane s¡ bez
przerw w pracy procesora.
Wprowad¹my nast¦puj¡ce denicje:

Denicja 1 Zagregowanym zadaniem If , zdeniowanym dla ka»dej rodziny


0

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

Denicja 2 Podwójnie zagregowanym zadaniem If , zdeniowanym dla ka»dej


00

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.

Wªasno±¢ 6 Istnieje rozwi¡zanie optymalne problemu (4.4) takie, »e rodziny


00
zada« uszeregowane s¡ wg niemalej¡cych warto±ci rf .
Dowód. Zauwa»my, »e przy ustalonych (optymalnych) warto±ciach wek-
torów ~u i ~v problem (4.4) sprowadza si¦, na mocy Wªasno±ci 5, do prob-
lemu szeregowania B podwójnie zagregowanych zada«, o ustalonych termi-
nach dost¦pno±ci i ustalonych czasach wykonywania. A ten problem jest

38 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

wielomianowo rozwi¡zywalny poprzez uszeregowanie zagregowanych zada«


wg niemalej¡cych warto±ci ich terminów dost¦pno±ci [53].

Wªasno±¢ 7 W problemie 4.4, dla ustalonej sekwencji wykonywania zada«


π optymalny rozdziaª zasobów do zada« mo»na uzyska¢ w O(n log n) krokach
przy u»yciu nast¦puj¡cego algorytmu (w opisie algorytmu zakªada si¦, »e per-
mutacja π jest naturalna, tzn. π(j) = j dla j = 1, ..., n):

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 7 Wyznacz terminy zako«czenia wykonywania zada« dla


0
j∈J .

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.

Zasada dziaªania tego algorytmu (oraz dowód jego optymalno±ci) jest


podobna do zasady dziaªania Algorytmu R11 . Ró»nica polega na tym, »e
Algorytm R21 dodatkowo sprawdza, czy które± z zada« nie oparªo si¦ o
swój termin dost¦pno±ci.

Wªasno±¢ 8 Dla ustalonej sekwencji wykonywania rodzin zada« optymalny


rozdziaª zasobów do przezbroje« mo»na uzyska¢ w O(B log B) krokach przy
u»yciu nast¦puj¡cego algorytmu (w opisie algorytmu zakªada si¦, »e permu-
tacja wykonywania rodzin jest naturalna, tzn. wykonywane s¡ one w kole-
jno±ci 1,2,...,B ):

 Szeregowanie zada« i rozdziaª zasobów ... 39


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

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 7 Wyznacz terminy zako«czenia wykonywania zada«.

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.

Algorytm ten dziaªa wg tej samej zasady co Algorytm R21 .

W dalszej cz¦±ci rozpatrywany b¦dzie szczególny przypadek problemu


(4.4), w którym czasy wykonywania zada« s¡ a priori zadanymi staªymi,
tzn. nie zale»¡ one od zasobów. Problem ten b¦dziemy notowa¢ nast¦puj¡co:

1|rj , sf = bf − af uf , GT |Cmax (4.5)

Zauwa»my, »e w problemie tym zadania zagregowane maj¡ ustalone parame-


try, tzn. nie zale»¡ od zasobów. W zwi¡zku z tym, na mocy Wªasno±ci 5, prob-
lem sprowadza si¦ do wyznaczenia sekwencji wykonywania zagregowanych
zada« (rodzin) i rozdziaªu zasobów do przezbroje«.
Wprowad¹my nast¦puj¡c¡ denicj¦:

Denicja 3 Zagregowane zadanie If dominuje zagregowane zadanie Ig (If ≺ Ig )


0 0 0 0

0 0
je»eli rf − bf ≤ rg − bg − ag ūg .

40 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Mo»emy sformuªowa¢ nast¦puj¡ce twierdzenie:

Twierdzenie 2 Je»eli w problemie (4.5) mi¦dzy ka»dymi dwoma zagregowanymi


0 0 0 0 0 0
zadaniami If i Ig zachodzi relacja dominacji (If ≺ Ig lub Ig ≺ If ), to jest on
rozwi¡zywalny w O(n log n) krokach przy u»yciu nast¦puj¡cego algorytmu:

ALGORYTM A2

Krok 1 Uszereguj zadania zgodnie z Wªasno±ci¡ 5. Wyznacz


parametry zagregowanych zada«.

Krok 2 Uszereguj zagregowane zadania zgodnie z relacj¡ dominacji,


tzn. wyznacz tak¡ sekwencj¦ wykonywania zagregowanych
∗ 0 0 0
zada« π , »e Iπ ∗ (1) ≺ Iπ ∗ (2) ≺ ... ≺ Iπ ∗ (B) .

Krok 3 Wyznacz optymalny rozdziaª zasobów do przezbroje« wg


Algorymtu R22 .

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¡.

4.4.1.2.1.1 Algorytmy przybli»one


Ze wzgl¦du na to, »e nie udaªo si¦ wykaza¢ zªo»ono±ci obliczeniowej prob-
lemu  tzn. nie wykazano, »e jest to problem NP-trudny ani nie znaleziono
optymalnego algorytmu wielomianowego  zaproponowano trzy algorytmy
przybli»one. Ogóln¡ zasad¦ dziaªania tych algorytmów mo»na przedstawi¢ w
nast¦puj¡cych krokach.

 Szeregowanie zada« i rozdziaª zasobów ... 41


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

ALGORYTM Hi , i ∈ {1, ..., 3}

Krok 1 Uszereguj zadania zgodnie z Wªasno±ci¡ 5. Wyznacz


parametry zagregowanych zada« zakªadaj¡c, »e vj = 0 dla
j = 1, ..., n.

Krok 2 Uszereguj zagregowane zadania (rodziny) zgodnie z reguª¡


i ∈ {1, ..., 3}.

Krok 3 Wyznacz optymalny rozdziaª zasobów do zada« wg Algo-


rymtu R21 .

Krok 4 Wyznacz optymalny rozdziaª zasobów do przezbroje« wg


Algorymtu R22 .

Zaproponowano trzy reguªy szeregowania w Kroku 2, co daje trzy algo-


rytmy przybli»one H1 , H 2 i H 3 . Reguªy te s¡ nast¦puj¡ce:

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 .

Zªo»ono±¢ obliczeniowa ka»dego z zaproponowanych algorytmów wynosi


O(n log n).

4.4.1.2.1.2 Analiza eksperymentalna


Aby sprawdzi¢ efektywno±¢ zaproponowanych algorytmów H1 , H2 i H3 ,
wygenerowano 720 instancji badanego problemu dla n ∈ {5, 10, 50, 100},
B ∈ { 41 n, 12 n, 34 n}. Parametry instancji generowane byªy zgodnie z rozkªa-
dem jednostajnym na nast¦puj¡cych przedziaªach: bf ∈ [1; 100], af ∈ [0; 10],
0
b 0 0 b 0
ūf ∈ [0; aff ], bj ∈ [1; 100], aj ∈ [0; 10], v̄j ∈ [0; aj0 ], rj ∈ [0; nj=1 bj ], V̂ ∈
P
j
[1; nj=1 v̄j ]. Wygenerowane instancje podzielono na trzy grupy (G1 , G2 i G3 )
P
ze wzgl¦du na ilo±¢ caªkowitego zasobu przydzielanego do przezbroje«. Ilo±¢
ta byªa generowana z nast¦puj¡cych przedziaªów:

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 ].

Dla ka»dej kombinacji parametrów n i B wygenerowano 20 instancji z


ka»dej grupy. Daje to ª¡czn¡ liczb¦ 720 instancji. Ka»d¡ instancj¦ rozwi¡zano
przy u»yciu algorytmów H1 , H2 i H3 oraz dodatkowo instancje dla n = 5 i n =
10 rozwi¡zano optymalnie przez przegl¡d zupeªny. Efektywno±¢ algorytmów
zostaªa zwerykowana przy u»yciu nast¦puj¡cych wska¹ników:

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.

‘rednie warto±ci wska¹ników zostaªy zebrane w Tablicy 4.1.

 Szeregowanie zada« i rozdziaª zasobów ... 43


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Tablica 4.1: ‘rednie wska¹niki efektywno±ci algorytmów H1 , H2 i H3 .

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

5 2 G2 18,69 12,36 18,46 11,79 20,68 19,54


10 3 G2 17,54 10,98 18,03 11,25 20,60 17,06
50 12 G2  12,25  13,00  16,06
100 25 G2  10,40  10,36  14,77
5 3 G2 18,04 10,06 17,30 11,00 19,45 18,03
10 5 G2 16,79 9,10 17,01 10,99 18,40 17,99
50 25 G2  7,04  10,54  12,34
100 50 G2  6,99  9,23  11,68
5 4 G2 12,24 11,91 12,06 7,89 19,03 15,30
10 8 G2 11,36 10,34 12,45 10,34 19,20 15,02
50 37 G2  6,14  5,20  9,87
100 75 G2  5,57  5,03  8,89

5 2 G3 22,45 18,50 25,94 20,45 9,42 7,29


10 3 G3 22,51 17,91 20,68 18,64 8,02 5,75
50 12 G3  15,38  17,10  5,01
100 25 G3  12,47  16,36  4,21
5 3 G3 20,04 17,69 21,64 18,64 7,65 4,25
10 5 G3 18,22 17,06 24,36 17,25 6,61 4,24
50 25 G3  15,40  12,03  1,52
100 50 G3  10,91  11,67  0,49
5 4 G3 17,65 10,98 20,11 17,64 4,21 2,21
10 8 G3 14,50 10,00 18,67 11,25 3,99 2,34
50 37 G3  9,65  11,40  0,68
100 75 G3  7,61  8,64  0,02

44 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Podstawowym wnioskiem pªyn¡cym z analizy eksperymentalnej jest to, »e


jako±¢ dostarczanych rozwi¡za« jest tym lepsza im wi¦ksza jest liczba zada«.
Jest to do±¢ oczywisty wniosek zwa»ywszy na fakt, »e wraz ze wzrostem liczby
zada« rosn¡ warto±ci kryterium, co powoduje spadek warto±ci wspóªczyn-
ników η i χ. Mo»na równie» zaobserwowa¢, »e jako±¢ dostarczonych rozwi¡za«
jest tym lepsza im wi¦cej jest rodzin. Wynika to gªównie z faktu, »e za-
proponowane algorytmy s¡ modykacjami algorytmu optymalnego zapro-
ponowanego przez Jacksona [53] dla problemu bez przezbroje«. W zwi¡zku
z tym, im wi¦ksza liczba rodzin, tym mniej zada« wchodzi w ich skªad, a to
przybli»a badany problem do problemu rozpatrywanego przez Jacksona.
Kolejne obserwacje s¡ nast¦puj¡ce: dla instancji z grupy G1 najlepszy
okazaª si¦ algorytm H2 , G3 najlepiej sprawdzaª si¦
a dla instancji z grupy
algorytm H3 . W przypadku instancji z grupy G2 wszystkie algorytmy za-
chowywaªy si¦ podobnie, z bardzo niewielk¡ przewag¡ algorytmu H2 . S¡ to
oczekiwane rezultaty ze wzgl¦du na to, »e reguªa szeregowania rodzin w al-
gorytmie H2 zakªada niejako, »e przezbrojenia nie otrzymaj¡ zasobów, a w
algorytmie H3 , »e przezbrojenia otrzymaj¡ maksymaln¡ ilo±¢ zasobu. Bior¡c
pod uwag¦ sposób generowania instancji i zasady dziaªania zaproponowanych
algorytmów, takich wyników nale»aªo oczekiwa¢.

4.4.1.2.2 Problem bez ograniczenia technologii grupowej GT


W dalszej cz¦±ci pracy rozpatrywany b¦dzie problem bez ograniczenia
technologii grupowej GT, tzn. problem:

0 0
1|rj , sf = bf − af uf , pj = bj − aj vj |Cmax (4.6)

Dla tego problemu zaproponowane zostan¡ wielomianowe algorytmy rozdzi-


aªu zasobów przy ustalonej sekwencji wykonywania zada«. Nast¦pnie wykazane
zostanie, »e znalezienie optymalnej sekwencji wykonywania zada« przy ustalonych
wektorach rozdziaªu zasobu jest problemem NP-trudnym.

Na wst¦pie zauwa»my, »e w dowolnej sekwencji wykonywania zada« π,


mo»emy wyró»ni¢ grupy zada« nale»¡cych do jednej rodziny. Traktuj¡c te
grupy jako kolejne, oddzielne rodziny zada«, mo»emy z powodzeniem dokona¢
agregacji tych grup zada« (Denicje 1 i 2) oraz dokona¢ optymalnego rozdzi-
aªu zasobów do zada« i przezbroje« przy u»yciu algorytmów R21 i R22 (Wªas-
no±ci 7 i 8).
O ile optymalny rozdziaª zasobów przy ustalonej sekwencji wykonywania
zada« mo»e by¢ zrealizowany w czasie wielomianowym, to znalezienie opty-
malnej sekwencji przy ustalonych wektorach rozdziaªu zasobu nie mo»e by¢

 Szeregowanie zada« i rozdziaª zasobów ... 45


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

zrealizowane w czasie ograniczonym wielomianem. Wynika to z nast¦puj¡cego


twierdzenia:

Twierdzenie 3 Problem (4.6) jest NP-trudny nawet, gdy czasy wykonywa-


nia zada« i czasy przezbroje« nie zale»¡ od zasobów.

Dowód. Problem (4.6) w sytuacji gdy czasy wykonywania zada« i czasy


przezbroje« nie zale»¡ od zasobów b¦dziemy notowa¢ nast¦puj¡co:

1|rj , sf |Cmax . (4.7)

Aby wykaza¢ NP-trudno±¢ problemu 4.7, transformacji wielomianowej


dokonano z NP-trudnego [13] problemu:

1|sf |Lmax . (4.8)

Oznaczmy przez DL decyzyjn¡ wersj¦ problemu (4.8) oraz przez DC


decyzyjn¡ wersj¦ problemu (4.7).
Decyzyjna wersja problemu (4.8) zdeniowana jest nast¦puj¡co:
DL:
0 0 0
Dany jest zbiór J = {1, ..., n } n zada« do wykonania na poje-
0
dynczym procesorze. Ka»de zadanie j ∈ J okre±lone jest przez czas jego
0
wykonywania pj ≥ 0 oraz oczekiwany termin zako«czenia jego wykonywania
0 0 0 0 0
dj ≥ 0. Oznaczmy przez F = {If |f = 1, ..., B } zbiór B rodzin zada«.
0
Dodatkowym parametrem hj ka»dego zadania jest przynale»no±¢ do jednej
0 0
z rodzin, tzn. je»eli hj = f , to zadanie j nale»y do rodziny If . Z ka»d¡
0 0
rodzin¡ If skojarzony jest czas przezbrojenia sf , wykonywany przed ka»d¡
grup¡ zada« z tej rodziny. Pytanie: czy istnieje takie uszeregowanie zada«,
0 0
»e maksymalna nieterminowo±¢ Lmax = maxj∈J 0 {Lj } = maxj∈J 0 {0, Cj − dj }
0
jest nie wi¦ksza ni» L̂, gdzie Cj jest terminem zako«czenia wykonywania
zadania j?
Dla porz¡dku przedstawmy równie» decyzyjn¡ wersj¦ problemu (4.7).
DC: Dany jest zbiór J = {1, ..., n} n zada« do wykonania na poje-
dynczym procesorze. Ka»de zadanie j ∈ J okre±lone jest przez czas jego
wykonywania pj ≥ 0 oraz oczekiwany termin jego dost¦pno±ci rj ≥ 0. Oz-
naczmy przez F = {If |f = 1, ..., B} zbiór B rodzin zada«. Dodatkowym
parametrem hj ka»dego zadania jest przynale»no±¢ do jednej z rodzin, tzn.
je»eli hj = f , to zadanie j nale»y do rodziny If . Z ka»d¡ rodzin¡ If skojar-
zony jest czas przezbrojenia sf , wykonywany przed ka»d¡ grup¡ zada« z tej
rodziny. Pytanie: czy istnieje takie uszeregowanie zada«, »e dªugo±¢ uszere-
gowania Cmax = maxj∈J {Cj } jest nie wi¦ksza ni» Ĉ ?
Transformacja wielomianowa z problemu DL do DC dana jest nast¦pu-
j¡co:

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:

Lemat 1 Je»eli w rozwi¡zaniu π problemu DL, dla zadania j ∗ zachodzi


0

Lj ∗ = Lmax , to w odpowiadaj¡cym mu rozwi¡zaniu π problemu DC, wykony-


wanie zadania j ∗ rozpoczyna si¦ dokªadnie w jego terminie dost¦pno±ci (Sj ∗ =
rj ∗ ).

Dowód Lematu 1. Oznaczmy przez Cmax dªugo±¢ uszeregowania w prob-


0

lemie DL. Zaªó»my ponadto, »e zadanie j wykonywane jest w grupie G(i)


w problemie DL. Wówczas dla tego zadania zachodzi: Lmax = Lj ∗ ≥ Ln0 =


0 0
Cmax − dn0 ≥ Cmax − d, a st¡d:

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

 Szeregowanie zada« i rozdziaª zasobów ... 47


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Poniewa» Sj ∗ = max{rj ∗ , Cπ(n−j ∗ ) }, z (4.10) wiemy, »e zadanie rozpocznie


si¦ w swoim terminie dost¦pno±ci w rozwi¡zaniu π problemu DC, co ko«czy
dowód Lematu 1.
0
Oznaczmy przez l pierwsze zadanie w permutacji π , dla którego zachodzi
Ll = Lmax . Zadanie to, b¦dzie ostatnim zadaniem w permutacji π, którego
termin rozpocz¦cia wykonywania Sl = rl . Zaªó»my, »e zadanie l wykonywane
jest w grupie G(i) w permutacji π . Z Lematu 1 wynika nast¦puj¡ca zale»no±¢:
n K l K−i
0 0
X X X X
Cmax = rl + pπ(k) + s(k) = rl + pk + s (k) =
k=l k=i+1 k=1 k=1
l K−i l K−i+1
0 0 0 0 0 0
X X X X
d − dl + s(i) + pk + s (k) = d − dl + pk + s (k).
k=1 k=1 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)

Ostatecznie z równania (4.11) mo»emy wywnioskowa¢, co nast¦puje:


DL⇒DC) Je»eli problem DL ma rozwi¡zanie takie, »e Lmax ≤ L̂, to
(
problem DC ma rozwi¡zanie takie, »e Cmax ≤ Ĉ .
(DC⇒DL) Je»eli problem DC ma rozwi¡zanie takie, »e Cmax ≤ Ĉ , to
problem DL ma rozwi¡zanie takie, »e Lmax ≤ L̂.
Ostatecznie, poniewa» problem DL jest NP-zupeªny, to mo»emy stwierdzi¢,
»e problem DC jest równie» NP-zupeªny, a jego wersja optymalizacyjna jest
NP-trudna, co ko«czy dowód.

4.4.1.3 Podsumowanie wyników


W powy»szym rozdziale analizowano problemy minimalizacji dªugo±ci
uszeregowania w sytuacji, gdy zasoby przydzielane do przezbroje« i do zada«
s¡ podzielne w sposób ci¡gªy. W pierwszej kolejno±ci wykazano, »e problem
bez okre±lonych terminów dost¦pno±ci zada« jest rozwi¡zywalny wielomi-
anowo, zarówno w przypadku wyst¦powania ograniczenia technologii grupowej,
jak i bez tego ograniczenia.
Dla problemów, w których terminy dost¦pno±ci zada« s¡ okre±lone, wykazano,
»e rozdziaª zasobów przy ustalonej sekwencji wykonywania zada« mo»e by¢
zrealizowany w wielomianowym czasie. Ponadto, wykazano, »e w szczegól-
nym przypadku  gdy wyst¦puje relacja dominacji mi¦dzy rodzinami zada«
 problem z ograniczeniem technologii grupowej jest wielomianowo rozwi¡zy-
walny.

48 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Jednocze±nie wykazano, »e przy braku ograniczenia technologii grupowej,


ju» problem znalezienia optymalnej sekwencji wykonywania zada« przy ustalonych
wektorach rozdziaªu zasobów jest problemem NP-trudnym. Ponadto, zapro-
ponowano trzy algorytmy przybli»one dla problemu z ograniczeniem tech-
nologii grupowej.
Szczegóªowe wyniki tego rozdziaªu zebrano w Tablicy 4.2.

Tablica 4.2: Wyniki dotycz¡ce problemów minimalizacji dªugo±ci uszeregowa-


nia z zasobami podzielnymi w sposób ci¡gªy (skrót r.z. oznacza algorytm op-
tymalnego rozdziaªu zasobów przy ustalonej kolejno±ci wykonywania zada«).

Lp. Problem Rezultat Odno±nik


0 0
1 1|sf = bf − af uf , pj = bj − aj vj |Cmax O(n log n) Tw. 1
0 0
2 1|sf = bf − af uf , pj = bj − aj vj , GT |Cmax O(n log n) Wn. 1
0 0
3 1|rj , sf = bf − af uf , pj = bj − aj vj , GT |Cmax r.z. O(n log n) Wª. 7 i 8
4 1|rj , (≺), sf = bf − af uf , GT |Cmax O(n log n) Tw. 2
5 1|rj , sf |Cmax NP-trudny Tw. 3

 Szeregowanie zada« i rozdziaª zasobów ... 49


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

4.4.2 Minimalizacja sumy wa»onych terminów zako«czenia


wykonywania zada«
W tym rozdziale pracy rozpatrywane b¦d¡ problemy minimalizacji sumy
wa»onych terminów zako«czenia wykonywania zada« w sytuacji, gdy zasoby
podzielne s¡ w sposób ci¡gªy oraz nie s¡ zadanie terminy dost¦pno±ci zada«
przy ograniczeniu technologii grupowej. Spowodowane to jest faktem, »e
problem z okre±lonymi terminami dost¦pno±ci zada« i bez ograniczenia tech-
nologii grupowej, jest ju» w klasycznej postaci (tj. bez przezbroje« i zasobów)
problemem NP-trudnym [98]. Ponadto, dla problemów tego typu (nawet z
przezbrojeniami zale»nymi od zasobów) opracowano efektywne algorytmy
metaheurystyczne oparte o techniki ewolucyjne, symulowanego wy»arzania i
tabu search, które mog¡ z ªatwo±ci¡ by¢ uogólnione do problemów, w których
zarówno czasy przezbroje« i czasy wykonywania zada« zale»¡ od zasobów
[6, 19, 20].
Reasumuj¡c, rozpatrywany b¦dzie problem:

0 0
X
1|sf = bf − af uf , pj = bj − aj vj , GT | wj Cj . (4.12)

4.4.2.1 Wªasno±ci problemu oraz analiza zªo»ono±ci obliczeniowej


W pierwszej kolejno±ci wykazanych zostanie kilka wªasno±ci tego prob-
lemu oraz wskazane zostan¡ szczególne przypadki rozwi¡zywalne wielomi-
anowo. Nast¦pnie zaproponowane zostan¡ algorytmy przybli»one do rozwi¡za-
nia problemu ogólnego.

Wªasno±¢ 9 Istnieje rozwi¡zanie optymalne problemu (4.12) takie, »e zada-


nia wewn¡trz rodzin uszeregowane s¡ wg reguªy SWPT (ang. Shortest Weighted
p
Processing Time rst [138]), tj. wg niemalej¡cych warto±ci ilorazów wjj .
Dowód. Zaªó»my, »e znane jest rozwi¡zanie optymalne, w którym uszere-
gowanie zada« okre±lone jest permutacj¡ π . Zaªó»my równie», »e permutacja
ta nie speªnia reguªy SWPT, tzn. istniej¡ co najmniej dwa zadania π(j) i
π(j + 1) nale»¡ce do tej samej rodziny takie, »e

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

T0 + wπ(j) pπ(j) + wπ(j+1) (pπ(j) + pπ(j+1) ) + Sπ(j) (wπ(j) + wπ(j+1) ),

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

T0 + wπ(j+1) Cπ0 (j) + wπ(j) Cπ0 (j+1) =


T0 + wπ(j+1) pπ(j+1) + wπ(j) (pπ(j) + pπ(j+1) ) + Sπ(j) (wπ(j) + wπ(j+1) ),

Nast¦pnie, uwzgl¦dniaj¡c nierówno±¢ (4.13), mamy:

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 (π ).

Ostatecznie, mo»emy stwierdzi¢, »e zamiana zada« π(j) i π(j + 1) nie


przyniesie pogorszenia warto±ci kryterium, wi¦c dla ka»dego rozwi¡zania (op-
tymalnego) mo»na uzyska¢ rozwi¡zanie zgodne z reguª¡ SWPT o nie gorszej
warto±ci kryterium.

Wªasno±¢ 10 Przy ustalonej sekwencji wykonywania zada« π , optymalny


rozdziaª zasobów do zada« mo»e by¢ zrealizowany w czasie O(n2 ) przy u»y-
ciu nast¦puj¡cego algorytmu (w opisie algorytmu zakªada si¦, »e permutacja
zada« jest naturalna, tzn. π(j) = j , dla j = 1, ..., n):

 Szeregowanie zada« i rozdziaª zasobów ... 51


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

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.

Dowód. Dowód optymalno±ci tego algorytmu jest analogiczny do dowodu


optymalno±ci algorytm R11 .

Wªasno±¢ 11 Przy ustalonej sekwencji wykonywania zada« π , optymalny


rozdziaª zasobów do przezbroje« mo»e by¢ zrealizowany w czasie O(n2 ) przy
u»yciu nast¦puj¡cego algorytmu (w opisie algorytmu zakªada si¦, »e w per-
mutacji π rodziny zada« wykonywane s¡ w kolejno±ci I1 , ..., IB ):

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.

Dowód. Dowód optymalno±ci tego algorytmu jest analogiczny do dowodu


optymalno±ci algorytm R31 .
Wprowad¹my nast¦puj¡c¡ denicj¦:

52 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Denicja 4 Zagregowanym zadaniem (okre±lonym dla ka»dej P rodziny If ∈


0
F ), b¦dziemy nazywa¢ zadanie o czasie wykonywania pf = sf + j∈If pj oraz
0
wadze wf = j∈If wf .
P

Nale»y zwróci¢ uwag¦ na to, »e czasy wykonywania zagregowanych zada«


s¡ wielko±ciami zale»nymi od zasobów w sposób nieliniowy.

Wªasno±¢ 12 Istnieje rozwi¡zanie optymalne problemu (4.12) takie, »e rodziny


zada« uszeregowane s¡ wg reguªy SWPT, tj. wg niemalej¡cych warto±ci ilo-
0
pj
razów 0
wj
.

Dowód. Oznaczmy przez


P Tf warto±¢ wnoszon¡ do kryterium przez zadania
z rodziny If , tzn. Tf = j∈If wj Cj . Zaªó»my dodatkowo, »e do rodziny If
nale»¡ zadania a, ..., b i »e s¡ wykonywane w tej wªa±nie kolejno±ci. Niech
0
Sf oznacza termin rozpocz¦cia wykonywania rodziny (termin rozpocz¦cia
wykonywania przezbrojenia sf ). Wówczas:

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

W dalszej cz¦±ci rozpatrywane b¦d¡ dwa nast¦puj¡ce szczególne przy-


padki problemu:
X
1|sf = bf − af uf , GT | wj Cj . (4.14)

0 0
X
1|pj = bj − aj vj , | wj Cj . (4.15)

Sformuªujmy nast¦puj¡ce twierdzenie:

 Szeregowanie zada« i rozdziaª zasobów ... 53


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Twierdzenie 4 Je»eli problem (4.15) rozwi¡zywalny jest w czasie t(n), to


problem (4.14) rozwi¡zywalny w czasie O(n log n)t(B).

Dowód. Zauwa»my, »e po agregacji zada« w problemie (4.14), zgodnie z


Denicj¡ 4, otrzymamy zagregowane zadania o czasach wykonywania za-
le»nych liniowo od zasobu, tzn.:

0 00
X
pf = p j + b f − af u f = b f − af u f .
j∈If

Z Wªasno±ci 9 wiemy, jak zadania s¡ uszeregowane wewn¡trz rodzin i mo»e


to by¢ zrealizowane w czasie O(n log n). W zwi¡zku z tym, problem ten
sprowadza si¦ do problemu szeregowania B zagregowanych zada« przy kry-
PB 0
terium minimalizacji f =1 wf Cf (patrz dowód Wªasno±ci 6), czyli taki sam
jak problem (4.15). W zwi¡zku z tym, je»eli problem (4.15) jest rozwi¡zy-
walny w czasie t(n), to problem (4.14) mo»na rozwi¡za¢ w czasie O(n log n)t(B).

W zwi¡zku z Twierdzeniem 4, w dalszej cz¦±ci rozpatrywany b¦dzie prob-


lem (4.15), poniewa» jest on ªatwiejszy w analizie, a wszelkie rezultaty b¦d¡
prawdziwe równie» dla problemu (4.14).
Zauwa»my, »e optymalny rozdziaª zasobów przy ustalonej permutacji dla
problemu (4.15) mo»na uzyska¢ przy u»yciu Algorytmu R31 . Na tej podstawie
sformuªowana zostaªa nast¦puj¡ca wªasno±¢:

Wªasno±¢ 13 Istnieje rozwi¡zanie optymalne problemu (4.15), w którym co


najwy»ej jedno zadanie ma przydzielon¡ po±redni¡ warto±¢ zasobu (0 < vj <
v̄j ). Pozostaªe zadania albo maj¡ przydzielon¡ maksymaln¡ mo»liw¡ ilo±¢ za-
sobu (vj = v̄j ) albo nie maj¡ przydzielonego zasobu wcale (vj = 0).

Dowód. Dowód tej wªasno±ci wyniki bezpo±rednio z zasady dziaªania Al-


gorytmu R31 .

Niech σ = (σ(1), ..., σ(n)) b¦dzie permutacj¡ zada« tak¡, »e v̄σ(j) ≤


v̄σ(j+1) , dla j = 1, ..., n − 1. Niech nv oznacza maksymaln¡ liczb¦ zada«,
które mog¡ otrzyma¢ zasób, tzn.:

( )
Xnv
nv = arg max nv v̄σ(j) < V̂ + 1.

1≤nv ≤n
j=1

Wówczas, na podstawie Wªasno±ci 13, mo»na sformuªowa¢ nast¦puj¡ce twierdze-


nie:

54 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Twierdzenie 5 Problem (4.15) jest rozwi¡zywalny w czasie:


  
n
O n log n = O(nnv +1 log n),
nv

przy u»yciu nast¦puj¡cego algorytmu:

ALGORYTM A3

Krok 1 Wyznacz wszystkie mo»liwe wektory ~u rozdziaªu zasobów


speªniaj¡ce Wªasno±¢ 13.

Krok 2 Dla ka»dego wyznaczonego w kroku pierwszym wektora ~v


wyznacz optymaln¡ permutacj¦ π zada« zgodnie z Wªasno±ci¡
12. Wyznacz warto±¢ funkcji kryterialnej dla ka»dej z par (π, ~v ).

Krok 3 Wybierz t¡ par¦ (π, ~v ), która daje najmniejsz¡ warto±¢


funkcji kryterialnej.

Dowód. Šatwo zauwa»y¢, »e wektorów rozdziaªu zasobów speªniaj¡cych


n

Wªasno±¢ 13 jest nie wi¦cej ni» (Krok 1 Algorytmu A3 ). Krok drugi tego
nv
algorytmu wymaga O(n log n) czasu, wiec caªy algorytm mo»na zrealizowa¢
 
n

w czasie O nv
n log n .
Nale»y zwróci¢ uwag¦ na to, »e Algorytm A3 jest wielomianowy, gdy
V̂ = const (tzn. nie stanowi danych wej±ciowych problemu). Wynika to z
zaªo»enia, »e wszystkie parametry problemu s¡ wielko±ciami caªkowitymi -
wówczas nv ≤ V̂ . W ogólno±ci jest to oczywi±cie algorytm wykªadniczy, jed-
nak jego efektywno±¢ (czas dziaªania) jest lepsza ni» algorytmu opartego o
przegl¡d zupeªny. Wynika to z faktu, »e liczba wektorów speªniaj¡cych Wªas-
n
no±¢ 13 jest niewielka gdy caªkowita ilo±¢ zasobu jest du»a (nu  ), lub gdy
2
n
caªkowita ilo±¢ zasobu jest maªa (nu  ).
2

 Szeregowanie zada« i rozdziaª zasobów ... 55


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Wprowad¹my nast¦puj¡c¡ denicj¦:

Denicja 5 Zadanie j dominuje zadanie k (j ≺ k ), je»eli


0 0 0
bj b − ak v̄k
≤ k . (4.16)
wj wk

Na podstawie powy»szej denicji mo»na sformuªowa¢ nast¦puj¡ce twierdze-


nie:

Twierdzenie 6 Je»eli w problemie (4.15) mi¦dzy ka»dymi dwoma zadani-


ami j i k zachodzi relacja dominacji (tzn. j ≺ k lub k ≺ j ), to jest on
rozwi¡zywalny w czasie O(n2 ) przy u»yciu nast¦puj¡cego algorytmu:

ALGORYTM A4

Krok 1 Uszereguj zadania zgodnie z relacj¡ dominacji, tzn.


wyznacz tak¡ sekwencj¦ wykonywania zada« π ∗ , »e
∗ ∗
π (1) ≺ π (2) ≺ ... ≺ π ∗ (n).

Krok 3 Wyznacz optymalny rozdziaª zasobów do zada« wg Algo-


rymtu R31 .

Dowód. Wystarczy zauwa»y¢, »e je»eli nierówno±¢ (4.16) zachodzi, to nieza-


le»nie od ilo±ci przydzielonego zasobu zadanie j powinno by¢ wykonywane
przed zadaniem k (na mocy Wªasno±ci 12). W zwi¡zku z tym, je»eli mi¦dzy
ka»dymi dwoma zadaniami zachodzi relacja dominacji, to mo»emy wyznaczy¢
optymaln¡ sekwencj¦ ich wykonywania w czasie O(n log n) i nast¦pnie dokona¢
2
optymalnego rozdziaªu zasobów w czasie O(n ) (zªo»ono±¢ Algorytmu R31 ).

4.4.2.2 Algorytmy przybli»one


Do rozwi¡zania problemu (4.15) zastosowano cztery algorytmy przybli»one
oznaczone odpowiednio H4 , H5 , H6 i H7 . Zasada dziaªania algorytmów H4
H5 i H6 mo»e by¢ przedstawiona w nast¦puj¡cych krokach:

56 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

ALGORYTM Hi , i ∈ 4, 5, 6

Krok 1 Uszereguj zadania zgodnie z reguª¡ i.

Krok 2 Wyznacz optymalny rozdziaª zasobów do zada« wg Algo-


rymtu R31 .

Zastosowano nast¦puj¡ce reguªy szeregowania w Kroku 1:

0 0
4. Wyznacz permutacj¦ π tak¡, »e bπ(j) ≤ bπ(j+1) , dla j = 1, ..., n − 1.

5. Wyznacz permutacj¦ π tak¡, »e wπ(j) ≤ wπ(j+1) , dla j = 1, ..., n − 1.


0 0
bπ(j) bπ(j+1)
6. Wyznacz permutacj¦ π tak¡, »e
wπ(j)
≤ wπ(j+1)
, dla j = 1, ..., n − 1.

Zªo»ono±¢ obliczeniowa tych algorytmów wynosi O(n2 ).


Aby zaprezentowa¢ algorytm H7 konieczna jest pewna dodatkowa analiza
problemu.
Na wst¦pie zauwa»my, »e zastosowanie algorytmu rozdziaªu zasobów R31
dla permutacji zgodnej z reguª¡ SWPT, mo»e spowodowa¢, »e powstaªy har-
monogram nie b¦dzie speªniaª tej reguªy. W zwi¡zku z tym, mo»na tak
zmodykowa¢ algorytm R31 , aby uwzgl¦dniaª reguª¦ SWPT. Taka wªa±nie
jest ogólna idea Algorytmu H7 .
Zaªó»my, »e permutacja π jest permutacj¡ naturaln¡ (π(j) =j dla j =
1, ..., n) oraz, »e jest zgodna z reguª¡ SWPT. Dodatkowo zaªó»my, »e zada-
nia nie maj¡ przydzielonych zasobów. Wówczas przydzielenie do zadania j
k k+1
zasobu w ilo±ci vj ≤ vj ≤ vj , gdzie:

0 0
bj bj−k wj
vjk = 0 − 0 (4.17)
aj aj wj−k

spowoduje, »e reguªa SWPT przestanie by¢ zachowana. Co wi¦cej, aby reguªa


ta byªa zachowana po przydzieleniu takiej ilo±ci zasobu, zadanie j powinno
k
by¢ wykonywane pomi¦dzy zadaniami k − 1 a k . Wielko±¢ vj dla j ∈ J ,
k = 1, ..., j − 1 b¦dzie nazywana k -t¡ progow¡ ilo±ci¡ zasobu zadania j .

 Szeregowanie zada« i rozdziaª zasobów ... 57


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

Zauwa»my, »e przydzielenie do zadania j zasobu w ilo±ci vj ≤ vj1 nie


spowoduje zªamania reguªy SWPT, spowoduje za to spadek warto±ci kry-
terium o:
n
0
X
zj0 (vj ) = aj vj wl
l=j

Je»eli przydzielimy do zadania j , vj zasobu, vj2 ≥ vj ≥ vj1 , oraz zamien-


imy kolejno±¢ wykonywania zada« j oraz j − 1, to nast¡pi spadek warto±ci
kryterium o:

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

Podobnie dla vj3 ≥ vj ≥ vj2 otrzymamy:

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

i ogólnie dla vjk+1 ≥ vj ≥ vjk :

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

W tym miejscu przypomnijmy Wªasno±¢ 13, która mówi o tym, »e co na-


jwy»ej jedno zadanie ma przydzielony zasób w ilo±ci 0 < vj < v̄j . W zwi¡zku
z tym algorytm H7 dziaªa tak, »e kolejno przydziela zasób w maksymalnej
mo»liwej ilo±ci tym zadaniom, które spowoduj¡ najwi¦kszy spadek warto±ci
k
kryterium, czyli dla których warto±¢ funkcji zj jest najwi¦ksza. Zasad¦ dzi-
aªania tego algorytmu mo»na przedstawi¢ w nast¦puj¡cych krokach:

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.

Zªo»ono±¢ obliczeniowa tego algorytmu wynosi O(n3 )

4.4.2.3 Analiza eksperymentalna


W celu przebadania jako±ci rozwi¡za« dostarczonych przez algorytmy H4 -
H7 wygenerowano 1100 instancji badanego problemu. Parametry instancji
byªy generowane zgodnie z rozkªadem jednostajnym na nast¦puj¡cych przedzi-
0
0 0 b P
aªach: bj ∈ [1; 100], aj ∈ [1; 10] wj ∈ [1; 10], v̄j ∈ [0; aj0 ], V̂ ∈ [0; j∈J v̄j ].
j
Wygenerowano dwie grupy instancji:

G1 : 100 instancji dla n = 30

G2 : 1000 instancji dla n = 100


Wszystkie instancje rozwi¡zano algorytmami H 4 -H 7 , dodatkowo instancje z
grupy G1 rozwi¡zano optymalnie zgodnie z Algorytmem A3 . Jako±¢ rozwi¡za«
dostarczanych przez algorytmy oceniono przy pomocy nast¦puj¡cych wska¹ników:

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;

 Szeregowanie zada« i rozdziaª zasobów ... 59


4.4 Problemy z zasobem podzielnym w sposób ci¡gªy

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.

‘rednie warto±ci wska¹ników zebrano w Tablicy 4.3.


Na podstawie analizy eksperymentalnej mo»na wyci¡gn¡¢ nast¦puj¡ce
wnioski:
Algorytmy H4 i H6 dostarczaj¡ rozwi¡za« o sªabej jako±ci i s¡ praktycznie
bezu»yteczne, zwªaszcza, »e Algorytm H5 o porównywalnym czasie dziaªa-
nia dostarcza rozwi¡za« du»o lepszych (ok. 1% gorszych od optiumum). Na
szczególn¡ uwag¦ zasªuguje Algorytm H7 , który dostarczaª zawsze najlep-
szych rozwi¡za«. Co wi¦cej, dla 100 rozwi¡zanych instancji z grupy G1 tylko
w 4 przypadkach dostarczyª rozwi¡zania nieoptymalnego, ale i tak niewiele
gorszego od optymalnego.

4.4.2.4 Podsumowanie wyników


W powy»szym rozdziale analizowano problemy minimalizacji sumy wa»onych
terminów zako«czenia wykonywania zada«. W problemach tych wyst¦puje
ograniczenie technologii grupowej oraz zarówno czas przezbrojenia, jak i czas
wykonywania zadania liniowo zale»y od zasobu podzielnego w sposób ci¡gªy.
W pierwszej kolejno±ci wykazano kilka wªasno±ci badanego problemu, a
nast¦pnie opracowano wielomianowe algorytmy optymalnego rozdziaªu za-
sobów przy ustalonej sekwencji wykonywania zada«.
Nast¦pnie analizowano dwa szczególne przypadki problemu, w których
albo czasy wykonywania zada«, albo czasy przezbroje« zale»¡ od zasobów.
Pokazano, »e te przypadki problemu s¡ równowa»ne i opracowano dla nich
efektywny, wykªadniczy algorytm optymalny. Ponadto, wykazano dwa przy-
padki problemu rozwi¡zywalne wielomianowo. W ostatniej cz¦±ci rozdziaªu
zaproponowano i eksperymentalnie przebadano, cztery algorytmy przybli»one,
w±ród których jeden dostarcza rozwi¡za« bardzo bliskich rozwi¡zaniom op-
tymalnym.
Najistotniejsze wyniki tego rozdziaªu zestawiono w Tablicy 4.4

Tablica 4.3: ‘rednie wska¹niki efektywno±ci algorytmów H 4 -H 7

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 . . .

Tablica 4.4: Wyniki dotycz¡ce problemów minimalizacji sumy wa»onych ter-


minów zako«czenia wykonywania zada« z zasobami podzielnymi w sposób
ci¡gªy (skrót r.z. oznacza algorytm optymalnego rozdziaªu zasobów przy
ustalonej kolejno±ci wykonywania zada«).

Lp. Problem Rezultat Odno±nik


0 0
r.z. O(n2 )
P
1 1|sf = bf − af uf , pj = bj − aj vj , GT | wj Cj Wª. 10 i 11
P nu +2 2
2 1|sf = bf − af uf , GT | wj Cj O(n log n) Tw. 5
0 0
O(nnv +1 log n)
P
3 1|pj = bj − aj vj | wj Cj Tw. 5
0 0
O(n2 )
P
4 1|(≺), pj = bj − aj vj | wj Cj Tw. 6

4.5 Problemy z zasobem podzielnym w sposób


dyskretny
4.5.1 Minimalizacja dªugo±ci uszeregowania
4.5.1.1 Analiza zªo»ono±ci obliczeniowej
W niniejszym rozdziale rozpatrywany b¦dzie problem szeregowania z przezbro-
jeniami i czasami wykonywania zada« zale»nymi od zasobów podzielnych w
sposób dyskretny oraz bez okre±lonych terminów dost¦pno±ci zada«, przy
kryterium minimalizacji dªugo±ci uszeregowania. Problem ten jest nast¦pu-
j¡cy:

0 0
1|dscr, sf = bf − af uf , pj = bj − aj vj |Cmax , (4.20)

Na wst¦pie nale»y zauwa»y¢, »e Wªasno±¢ 1, Wªasno±¢ 2 oraz Wniosek 1,


przedstawione w Rozdziale 4.4.1, s¡ sªuszne równie» dla problemu rozpatry-
wanego w tym rozdziale. W zwi¡zku z tym, mo»emy sformuªowa¢ nast¦puj¡ce
twierdzenie:

Twierdzenie 7 Przy ustalonych warto±ciach wektorów rozdziaªu zasobów ~u


i ~v , optymaln¡ sekwencj¦ wykonywania zada« otrzymujemy przez dowolne
uszeregowanie zada« speªniaj¡ce ograniczenie technologii grupowej GT.

Dowód. Powy»sze twierdzenie jest bezpo±redni¡ konsekwencj¡ Wªasno±ci


1, Wªasno±ci 2 oraz Wniosku 1.

W dalszej cz¦±ci wykazane zostanie, »e dla ka»dej ustalonej sekwencji


wykonywania zada« π, optymalny rozdziaª zasobów do zada« i optymalny

 Szeregowanie zada« i rozdziaª zasobów ... 61


4.5 Problemy z zasobem podzielnym w sposób dyskretny

rozdziaª zasobów do przezbroje« nie mo»e by¢ zrealizowany w wielomianowym


czasie. Przedstawione to zostanie w dwóch kolejnych twierdzeniach.

Twierdzenie 8 Problem optymalnego rozdziaªu zasobów do zada«, przy ustalonej


kolejno±ci ich wykonywania, w problemie (4.20) jest NP-trudny.

Dowód. Transformacji wielomianowej dokonano z NP-zupeªnego problemu


podziaªu ( PART). Problem podziaªu zdeniowany jest nast¦puj¡co:

PART: Dany jest zbiór m elementów N = {1, ..., m}P


. Dla ka»dego elementu
j∈N zdeniowana jest jego warto±¢ qj > 0 taka, »e j∈N qj = 2Q. Pytanie:
czy istnieje podziaª zbioru
P P N na dwa rozª¡czne podzbiory N1 i N2 takie, »e

j∈N1 qj = j∈N2 qj = Q?

62 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Wersj¦ decyzyjn¡ problemu (4.20) oznaczymy przez DP.

DP: Dany jest problem (4.20). Pytanie: czy istnieje takie rozwi¡zanie tego
problemu, »e Cmax ≤ Ĉ ?

Na podstawie danych problemu PART skonstruowana zostaªa nast¦pu-


j¡ca instancja problemu DP:

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

Nale»y zauwa»y¢, »e warto±¢ kryterium dla tak skonstruowanej instancji


wynosi:
n
X
Cmax = pj
j=1

i nie zale»y od sekwencji wykonywania zada«. W zwi¡zku z tym, mo»emy


zaªo»y¢, »e sekwencja ta jest dowolna, ale ustalona.
Dodatkowo, ze wzgl¦du na to, »e ka»dy zbiór Vj jest dwuelementowy, dla
dowolnego wektora rozdziaªu zasobów ~ v mo»emy wyró»ni¢ dwa zbiory zada«:
J1 - zadania, dla których vj = v̄j oraz J2 - zadania, dla których vj = 0. Šatwo
zauwa»y¢, »e J1 ∪ J2 = J oraz J1 ∩ J2 = ∅.
Zauwa»my, »e pj = 0 dla j ∈ J1 . W zwi¡zku z tym, warto±¢ kryterium
wynosi:
X
Cmax = pj .
j∈J2

Aby problem DP posiadaª rozwi¡zanie (odpowied¹ na postawione pytanie


brzmiaªa TAK) speªnione musz¡ by¢ nast¦puj¡ce dwie nierówno±ci:

X
vj ≤ V̂ , (4.21)
j∈J1

X
pj ≤ Ĉ. (4.22)
j∈J2

Podstawiaj¡c w nierówno±ci (4.21) J1 = J \J2 , V̂ = Q oraz pami¦taj¡c,


»e vj = v̄j = qj dla j ∈ J1 otrzymujemy:

 Szeregowanie zada« i rozdziaª zasobów ... 63


4.5 Problemy z zasobem podzielnym w sposób dyskretny

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

Z nierówno±ci (4.23) i (4.24) wynika, »e skonstruowana instancja problemu


DP ma rozwi¡zanie tylko wtedy, gdy
X
qj = Q.
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.

Ostatecznie, mo»emy stwierdzi¢, »e problem DP ma rozwi¡zanie wtedy


i tylko wtedy, gdy problem PART ma rozwi¡zanie. A poniewa» problem
PART jest problemem NP-zupeªnym, to problem DP jest równie» proble-
mem NP-zupeªnym, a jego wersja optymalizacyjna jest NP-trudna.

Twierdzenie 9 Problem optymalnego rozdziaªu zasobów do przezbroje«, przy


ustalonej kolejno±ci wykonywania zada«, w problemie (4.20) jest NP-trudny.

Dowód. Dowód tego twierdzenia jest bardzo podobny do dowodu Twierdzenia


8. Ró»nica polega na tym, »e instancja problemu DP zbudowana jest nast¦pu-
j¡co:

64 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

n = m; B = m; (ka»de zadanie tworzy jedn¡ rodzin¦)


0 0
bj = 1, aj = 0, Vj = {0}, j = 1, ..., n;
bj = qj , aj = 1, Uj = {0; ūj }, ūj = qj , j = 1, ..., B;
Û = Q; Ĉ = m + Q

Zauwa»my, »e dla dowolnej sekwencji wykonywania zada« w tak zbu-


dowanej instancji, warto±¢ kryterium wynosi:

n
X n
X n
X
Cmax = pj + sj = m + sj
j=1 j=1 j=1

i nie zale»y od tej sekwencji.


Ponadto, dla ka»dego wektora rozdziaªu zasobów do przebroje« rodziny
mog¡ zosta¢ podzielone na dwa zbiory, analogicznie jak w poprzednim dowodzie.
Dalsze rozwa»ania s¡ praktycznie takie same jak w dowodzie Twierdzenia
8 i zostan¡ pomini¦te.

Z Twierdzenia 8 i Twierdzenia 9 wynika, »e problem (4.20), jako caªo±¢,


jest równie» problemem NP-trudnym. Dodatkowo, okre±lenie terminów dost¦p-
no±ci zada« nie czyni tego problemu ªatwiejszym. Reasumuj¡c, na podstawie
wy»ej przedstawionych twierdze« i wªasno±ci, mo»emy sformuªowa¢ nast¦pu-
j¡cy wniosek:

Wniosek 2 Nast¦puj¡ce problemy s¡ problemami NP-trudnymi:


0 0
1|dscr, pj = bj − aj vj |Cmax ,
1|dscr, sf = bf − af uf , GT |Cmax ,
1|dscr, sf = bf − af uf |Cmax ,
0 0
1|dscr, rj , pj = bj − aj vj |Cmax ,
1|dscr, rj , sf = bf − af uf , GT |Cmax .

Dodatkowo, mo»na sformuªowa¢ nast¦puj¡ce twierdzenie:

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̂ }), .

 Szeregowanie zada« i rozdziaª zasobów ... 65


4.5 Problemy z zasobem podzielnym w sposób dyskretny

Dowód. Dla ka»dej sekwencji wykonywania zada« π speªniaj¡cej Wªasno±¢


1 (zgodnej z ograniczeniem GT), warto±¢ kryterium wynosi:

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

i nie zale»y od uszeregowania π. P 0


PB
Dodatkowo, nale»y zauwa»y¢, »e skªadnik j∈J bj + bf jest staªy
P 0 PBf =1
(nie zale»y od wektorów ~v i ~u), a skªadniki
j∈J aj vj oraz f =1 af uf s¡ wza-
jemnie niezale»ne. W zwi¡zku z tym, aby zminimalizowa¢ kryterium, nale»y
rozwi¡za¢ nast¦puj¡ce dwa niezale»ne problemy:

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

xj ∈ {0, 1} dla 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

yf ∈ {0, 1} dla f = 1, ...B.


Zauwa»my, »e zarówno problem (4.27), jak i problem (4.28) to binarne
problemy plecakowe (ang. binary knapsack problem ). W zwi¡zku z tym, ka»dy
z tych problemów mo»na rozwi¡za¢ odpowiednio w czasie O(nV̂ ) i O(nÛ ) za
pomoc¡ algorytmu przedstawionego w pracy [102]. Reasumuj¡c, 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 czasie O(nÛ + nV̂ ) = O(n max{Û , V̂ }).

4.5.1.2 Podsumowanie wyników


W powy»szym rozdziale analizowano problem minimalizacji dªugo±ci usz-
eregowania w sytuacji, gdy zasoby przydzielane do zada« i do przezbroje«
s¡ podzielne w sposób dyskretny. Wykazano, »e znalezienie optymalnej sek-
wencji wykonywania zada« mo»e by¢ zrealizowane w wielomianowym czasie.
Jednocze±nie wykazano, »e problemy wyznaczenia optymalnego rozdziaªu za-
sobów do zada« i do przezbroje«, s¡ problemami NP-trudnymi. Dodatkowo,
zaproponowano metod¦ rozwi¡zania szczególnego przypadku problemu, dzi-
aª¡j¡c¡ w czasie pseudowielomianowym. Wyniki zebrano w Tablicy 4.5.

 Szeregowanie zada« i rozdziaª zasobów ... 67


4.5 Problemy z zasobem podzielnym w sposób dyskretny

Tablica 4.5: Wyniki dotycz¡ce problemów minimalizacji dªugo±ci uszeregowa-


nia z zasobami podzielnymi w sposób dyskretny (skrót r.z. oznacza prob-
lem optymalnego rozdziaªu zasobów przy ustalonej kolejno±ci wykonywania
zada«).

Lp. Problem Rezultat Odno±nik


0 0
1 1|dscr, pj = bj − aj vj |Cmax r.z. NP-trudny Tw. 8
2 1|dscr, sf = bf − af uf , GT |Cmax r.z. NP-trudny Tw. 9
0 0
1|dscr, sf = bf − af uf , pj = bj − aj vj ,
3 O(n max{Û , V̂ }) Tw. 10
Vj = {0, v̄j }, Uf = {0, ūf }, GT |Cmax
0 0
1|dscr, rj , pj = bj − aj vj |Cmax ,
4 NP-trudne Wn. 2
1|dscr, rj , sf = bf − af uf , GT |Cmax .

4.5.2 Minimalizacja sumy wa»onych terminów zako«czenia


wykonywania zada«
4.5.2.1 Analiza zªo»ono±ci obliczeniowej
W tej cz¦±ci pracy rozwa»any b¦dzie problem minimalizacji sumy wa»onych
terminów zako«czenia wykonywania zada« w przypadku zasobów podziel-
nych w sposób dyskretny, tj. problem:

0 0
X
1|dscr, sf = bf − af uf , pj = bj − aj vj , GT | wj Cj . (4.29)

Zauwa»my, »e dla tego problemu zachodz¡ Wªasno±ci 9 i 12. Ponadto, dla


nast¦puj¡cych szczególnych przypadków problemu:
X
1|dscr, sf = bf − af uf , GT | wj Cj (4.30)

i
0 0
X
1|dscr, pj = bj − aj vj , | wj Cj , (4.31)

zachodzi twierdzenie (o równowa»no±ci) analogiczne do Twierdzenia 4, sfor-


muªowanego dla problemów (4.14) i (4.15). W zwi¡zku z tym, w dalszej cz¦±ci
rozdziaªu rozpatrywany b¦dzie problem 4.31.
Podobnie jak w przypadku problemu minimalizacji dªugo±ci uszeregowa-
nia, przypuszcza si¦, »e optymalny rozdziaª zasobów nie jest realizowalny w
wielomianowym czasie. Niestety nie udaªo si¦ tego formalnie wykaza¢. Sfor-
muªowano jednak nast¦puj¡ce twierdzenie:

Twierdzenie 11 Problem (4.31) jest problemem NP-trudnym.

68 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

Dowód. Transformacji wielomianowej dokonano z problemu podziaªu z


równymi mocami zbiorów ( ECP - ang. Equal Cardinality Partition prob-
lem ):

ECP: Dany jest zbiór 2m elementów N = {1, ..., 2m}P


. Dla ka»dego elementu
j∈N zdeniowana jest jego warto±¢ qj > 0 taka, »e j∈N qj = 2Q. Pytanie:
czy istnieje podziaª zbioru
P P N na dwa rozª¡czne podzbiory N1 i N2 takie, »e

j∈N1 qj = j∈N2 qj = Q oraz |N1 | = |N2 | = m?

Wersj¦ decyzyjn¡ problemu (4.31) oznaczono przez DS.

DS: Dany jest problem (4.31). Pytanie: czy istnieje takie rozwi¡zanie tego
P
problemu, »e T = j∈J wj Cj ≤ T̂ ?

Instancja problemu DS skonstruowana jest na podstawie danych prob-


lemu ECP w nast¦puj¡cy sposób:
J = N ; n = 2m;
0 0
aj = 1, bj = cj , wj = cj , Vj = {0, cf }, dla j = 1, ..., n;
1
V̂ = mA + Q; T̂ = (A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ),
2
gdzie: c j = A + qj oraz A = Q2 + Q + 1.
Zauwa»my, »e w dowolnym rozwi¡zaniu powy»szej instancji problemu DS,
zadania dziel¡ si¦ na dwa zbiory: J1  zadania, którym przydzielono zasób
oraz J2  zadania, którym zasobu nie przydzielono. Zadania ze zbioru J1
maj¡ zerowy czas wykonywania i s¡ wykonywane na pocz¡tku uszeregowa-
nia nie wpªywaj¡c na warto±¢ kryterium. Dla zada« ze zbioru J2 zachodzi
równo±¢ pj = wj , w zwi¡zku z czym, zadania te wykonywane s¡ w dowolnej
kolejno±ci (patrz Wªasno±¢ 9) po zadaniach ze zbioru J1 . Tak wi¦c, poje-
dyncze rozwi¡zanie mo»e by¢ reprezentowane przez dwa zbiory J1 i J2 takie,
»e J1 ∪J2 = J oraz J1 ∩J2 = ∅. Warto±¢ kryterium w dowolnym rozwi¡zaniu
powy»szej instancji mo»emy zapisa¢ nast¦puj¡co:

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

Po podstawieniu w powy»szym wyra»eniu c j = A + qj otrzymujemy:

 Szeregowanie zada« i rozdziaª zasobów ... 69


4.5 Problemy z zasobem podzielnym w sposób dyskretny

!2
X X X
2T = A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A) qj + qj2 + qj . (4.32)
j∈J2 j∈J2 j∈J2

Wprowad¹my nast¦puj¡ce oznaczenia:


X
Q1 = qj ,
j∈J2
X
Q2 = qj2 .
j∈J2

Wówczas, równanie (4.32) przyjmuje nast¦puj¡c¡ posta¢:

2T = A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A)Q1 + Q2 + Q21 . (4.33)

Aby problem DS posiadaª rozwi¡zanie, nast¦puj¡ce dwie nierówno±ci


musz¡ by¢ speªnione:
X
vj ≤ V̂ , (4.34)
j∈J1

T ≤ T̂ . (4.35)

Podstawiaj¡c w nierówno±ci (4.34) J1 = J \J2 , V̂ = mA + Q oraz pami¦-


taj¡c, »e vj = v̄j = A + qj dla j ∈ J1 otrzymujemy:

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:

A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A)Q1 + Q2 + Q21 ≤


(4.37)
A2 (m + m2 ) + 2Q(A + mA) + 2Q2 .

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 . . .

podstawiaj¡c J2 = N1 . Wówczas natychmiast otrzymujemy, »e nierówno±¢


(4.36) jest speªniona (zachodzi równo±¢), a w nierówno±ci (4.37) mamy:

A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A)Q1 + Q2 + Q21 ≤


A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

A2 (m + m2 ) + (2A + 2mA)Q + Q2 + Q2 ≤ A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

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.

ad. (i). Zaªó»my, »e Q1 = Q oraz |N1 | = m + l, l > 0. Podstawiaj¡c J2 = N1


w nierówno±ci (4.37), otrzymujemy:

A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A)Q1 + Q2 + Q21 ≤


A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

A2 (m + l + (m + l)2 ) + (2A + 2A(m + l))Q + Q2 + Q2 ≤


A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

A2 (m + m2 ) + A2 (l + 2ml + l2 ) + (2A + 2Am)Q + 2AlQ + Q2 ≤


A2 (m + m2 ) + 2Q(A + mA) + Q2 ,

 Szeregowanie zada« i rozdziaª zasobów ... 71


4.5 Problemy z zasobem podzielnym w sposób dyskretny

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:

(Q2 + Q + 1)2 (l + 2ml + l2 ) + 2l(Q3 + Q2 + Q) ≤ Q2


i po prostych przeksztaªceniach:

Q4 (l2 + 2ml + l)+


Q3 (2l2 + 4ml + 4l)+
Q2 (3l2 + 6ml + 5l − 1)+
Q(2l2 + 4ml + 4l)+
(l2 + 2ml + l) ≤ 0

Šatwo zauwa»y¢, dla l > 0 nierówno±¢ ta nie jest speªniona (czynniki w


nawiasach przy ka»dej pot¦dze Q s¡ dodatnie), wi¦c problem DS nie posiada
rozwi¡zania.

ad. (ii). Zaªó»my, »e Q1 = Q oraz |N1 | = m−l, l > 0. Podstawiaj¡c J2 = N1


w nierówno±ci (4.36), otrzymujemy:

|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.

ad. (iii). Zaªó»my, »e Q1 = Q + l, l > 0 oraz |N1 | = m, Podstawiaj¡c


J2 = N1 w nierówno±ci (4.37), otrzymujemy:

A2 (|J2 | + |J2 |2 ) + (2A + 2|J2 |A)Q1 + Q2 + Q21 ≤


A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

72 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

A2 (m + m2 ) + (2A + 2Am)(Q + l) + Q2 + (Q + l)2 ≤


A2 (m + m2 ) + 2Q(A + mA) + 2Q2 ,

(2A + 2Am)l + Q2 + 2Ql + 1 ≤ Q2 .


Nast¦pnie podstawiaj¡c A = Q2 + Q + 1 oraz zakªadaj¡c, »e Q2 = 0,
mamy:

(2(Q2 + Q + 1) + 2m(Q2 + Q + 1))l + 2Ql + 1 − Q2 ≤ 0


i dalej:
Q2 (2ml + 2l − 1) + Q(2ml + 4l) + 2l + 2ml + 1 ≤ 0.
Šatwo sprawdzi¢, »e nierówno±¢ ta nie jest speªniona dla l > 0 wi¦c prob-
lem DS równie» w tym przypadku nie posiada rozwi¡zania.

ad. (iv). Zaªó»my, »e Q1 = Q − l, l > 0 oraz |N1 | = m, Podstawiaj¡c


J2 = N1 w nierówno±ci (4.36), otrzymujemy:

|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.

Ostatecznie mo»emy stwierdzi¢, »e problem DS ma rozwi¡zanie wtedy i


tylko wtedy, gdy problem ECP ma rozwi¡zanie. A poniewa» problem ECP
jest problemem NP-zupeªnym to problem DS jest równie» problemem NP-
zupeªnym, a jego wersja optymalizacyjna jest NP-trudna.

Na podstawie Twierdzenia 11, mo»na wysun¡¢ nast¦puj¡cy wniosek:

Wniosek 3 Nast¦puj¡ce problemy s¡ problemami NP-trudnymi:


0 0
X
1|dscr, pj = bj − aj vj , sf = bf − af uf , GT | wj Cj ,
0 0
X
1|dscr, pj = bj − aj vj , sf = bf − af uf | wj Cj .

Prawdziwo±¢ tego wniosku wynika z tego, »e problem (4.31), którego


NP-trudno±¢ udowodniono, jest szczególnym przypadkiem powy»szych prob-
lemów.

 Szeregowanie zada« i rozdziaª zasobów ... 73


4.5 Problemy z zasobem podzielnym w sposób dyskretny

4.5.2.2 Podsumowanie wyników


W powy»szym rozdziale analizowano problem minimalizacji sumy wa»onych
terminów zako«czenia wykonywania zada« w sytuacji, gdy zasoby przydzielane
do zada« i do przezbroje« s¡ podzielne w sposób dyskretny. Wykazano, »e
znalezienie optymalnej sekwencji wykonywania zada« przy ustalonych wek-
torach rozdziaªu zasobu mo»e by¢ zrealizowane w wielomianowym czasie.
Gªówny rezultat, to wykazanie NP-trudno±ci problemu, w którym tylko czasy
wykonywania zada« zale»¡ od zasobów.
Wyniki zebrano w Tablicy 4.6.

Tablica 4.6: Wyniki dotycz¡ce problemów minimalizacji sumy wa»onych ter-


minów zako«czenia wykonywania zada« z zasobami podzielnymi w sposób
dyskretny.

Lp. Problem Rezultat Odno±nik


0 0 P
1 1|dscr, pj = bj − aj vj | wj Cj NP-trudny Tw. 11
P
2 1|dscr, sf = bf − af uf , GT | wj Cj NP-trudny Tw. 4 i 11
0 0
X
1|dscr, pj = bj − aj vj , sf = bf − af uf , GT | wj Cj ,
3 0 0
X NP-trudne Wn. 3
1|dscr, pj = bj − aj vj , sf = bf − af uf | wj Cj .

74 Maciej Lichtenstein
4 Jednoprocesorowe problemy szeregowania z przezbrojeniami . . .

4.6 Podsumowanie wyników rozdziaªu


W powy»szym rozdziale analizowane byªy jednoprocesorowe problemy sz-
eregowania z czasami wykonywania zada« i czasami przezbroje« zale»nymi
od dodatkowych zasobów. Rozpatrywano dwa kryteria optymalizacji: dªu-
go±¢ uszeregowania oraz sum¦ wa»onych terminów zako«czenia wykonywania
zada«. Analizie poddano problemy, w których zasoby s¡ podzielne w sposób
ci¡gªy i podzielne w sposób dyskretny.
Podsumowanie poszczególnych podrozdziaªów zostaªo przedstawione na
ko«cu ka»dego z nich. W zwi¡zku z tym, w Tablicy 4.7 zebrane zostaªy tylko
najistotniejsze wyniki dotycz¡ce zªo»ono±ci obliczeniowej badanych problemów.

 Szeregowanie zada« i rozdziaª zasobów ... 75


4.6 Podsumowanie wyników rozdziaªu

Tablica 4.7: Wyniki dotycz¡ce jednoprocesorowych problemów z czasami


wykonywania zada« i czasami przezbroje« zale»nymi od zasobów (r.z. oz-
nacza optymalny rozdziaª zasobów przy ustalonej kolejno±ci wykonywania
zada«).

Lp. Problem Rezultat Odno±nik


0 0
1 1|sf = bf − af uf , pj = bj − aj vj |Cmax O(n log n) Tw. 1
0 0
2 1|sf = bf − af uf , pj = bj − aj vj , GT |Cmax O(n log n) Wn. 1
0 0
3 1|rj , sf = bf − af uf , pj = bj − aj vj , GT |Cmax r.z. O(n log n) Wª. 7 i 8
4 1|rj , (≺), sf = bf − af uf , GT |Cmax O(n log n) Tw. 2
5 1|rj , sf |Cmax NP-trudny Tw. 3
0 0
O(n2 )
P
6 1|sf = bf − af uf , pj = bj − aj vj , GT | wj Cj r.z. Wª. 10 i 11
O(nnu +2 log2 n)
P
7 1|sf = bf − af uf , GT | wj Cj Tw. 5
0 0
O(nnv +1 log n)
P
8 1|pj = bj − aj vj | wj Cj Tw. 5
0 0
O(n2 )
P
9 1|(≺), pj = bj − aj vj | wj Cj Tw. 6
0 0
10 1|dscr, pj = bj − aj vj |Cmax r.z. NP-trudny Tw. 8
11 1|dscr, sf = bf − af uf , GT |Cmax r.z. NP-trudny Tw. 9
0 0
1|dscr, sf = bf − af uf , pj = bj − aj vj ,
12 O(n max{Û , V̂ }) Tw. 10
Vj = {0, v̄j }, Uf = {0, ūf }, GT |Cmax
13 1|dscr, rj , sf = bf − af uf , GT |Cmax NP-trudny Wn. 2
0 0
14 1|dscr, rj , pj = bj − aj vj |Cmax NP-trudny Wn. 2
0 0 P
15 1|dscr, pj = bj − aj vj | wj Cj NP-trudny Tw. 11
P
16 1|dscr, sf = bf − af uf , GT | wj Cj NP-trudny Tw. 4 i 11
0 0
1|dscr, pj = bj − aj vj ,
17 X NP-trudny Wn. 3
sf = bf − af uf , GT | wj Cj ,
0 0
1|dscr, pj = bj − aj vj ,
18 X NP-trudny Wn. 3
sf = bf − af uf | wj Cj .

76 Maciej Lichtenstein
Rozdziaª 5
Podstawowe informacje dotycz¡ce
problemów szeregowania zada«
wieloprocesorowych

5.1 Podstawowe denicje


W klasycznych problemach szeregowania zada« zakªada si¦, »e ka»da
czynno±¢ zadania wymaga do wykonania jednego procesora. Takie zaªo»e-
nie jest sªuszne w opisie bardzo wielu procesów, jednak istniej¡ takie rzeczy-
wiste procesy produkcyjne i komputerowe, w których zaªo»enie to nie jest
speªnione. Systemy takie, to gªównie wieloprocesorowe systemy komputerowe,
w których zadania wykonywane s¡ równolegle przez kilka procesorów.
Z tego powodu, wprowadzono poj¦cie zada« (czynno±ci) wieloprocesorowych.
Zadanie wieloprocesorowe, poza klasycznymi parametrami, takimi jak czas
wykonywania, termin dost¦pno±ci itp., posiada dodatkowy parametr deni-
uj¡cy liczb¦ procesorów koniecznych do jego wykonania. Mo»liwy jest wielo-
raki sposób opisu liczby wymaganych przez zadanie procesorów, jednak w
literaturze spotykane s¡ nast¦puj¡ce modele:

• dla ka»dej czynno±ci zdeniowany jest zbiór f ixij  zbiór dedykowanych


procesorów wymaganych przez i-t¡ czynno±¢ zadania j,
• dla ka»dej czynno±ci zdeniowana jest rodzina zbiorów setij  rodzina
zawiera ustalon¡ liczb¦ alternatywnych zbiorów dedykowanych proce-
sorów wymaganych przez i-t¡ czynno±¢ zadania j,
• dla ka»dej czynno±ci zdeniowany jest parametr sizeij  liczba proce-
sorów wymaganych przez i-t¡ czynno±¢ zadania j  przy czym nie jest
wskazane, przez które procesory czynno±¢ ta ma by¢ wykonywana,

77
5.1 Rzeczywiste procesy produkcyjne modelowane przez ...

• dla ka»dej czynno±ci zdeniowany jest parametr δij  maksymalna liczba


procesorów wymaganych przez i-t¡ czynno±¢ zadania j  zadanie mo»e
by¢ wykonywane przez dowoln¡ liczb¦ procesorów z przedziaªu [1, ..., δij ].

Modele z parametrami f ixij oraz setij wyst¦puj¡ w przypadku procesorów


dedykowanych, natomiast modele sizeij oraz δij wyst¦puj¡ w przypadku iden-
tycznych procesorów równolegªych. Dodatkowo wyró»nia si¦ specjalny przy-
padek modelu z parametrem sizeij , w którym warto±ci tego parametru mog¡
przyjmowa¢ tylko warto±ci b¦d¡ce pot¦gami liczby 2 (1,2,4,8,...). W mod-
elu tym parametr sizeij oznaczany jest przez cubeij . W przypadku modelu
z parametrem δij , cz¦sto przyjmuje si¦, »e czas wykonywania czynno±ci za-
le»y od liczby procesorów wykonuj¡cych t¡ czynno±¢. Wówczas dla ka»dej
liczby procesorów k ∈ [1, ..., δij ] denuje si¦ czas wykonywania czynno±ci
pkij , przy czym zale»no±¢ czasu wykonywania od liczby procesorów mo»e
przyjmowa¢ ró»n¡ posta¢ (patrz [28, 141, 153, 154, 158]). Dodatkowo dla
modelów z parametrami sizeij oraz δij deniuje si¦ odpowiednio parametr
∆ = max{sizeij } lub ∆ = max{δij } b¦d¡cy górnym oszacowaniem liczby
wymaganych procesorów.

W problemach szeregowania zada« wieloprocesorowych znalezienie har-


monogramu polega, poza wyznaczeniem terminów rozpocz¦cia i zako«czenia
wykonywania czynno±ci, na przydzieleniu czynno±ci do procesorów.

5.2 Rzeczywiste procesy produkcyjne modelowane


przez problemy szeregowania zada« wielo-
procesorowych
Pomimo tego, »e problemy szeregowania zada« wieloprocesorowych nie-
jako w naturalny sposób opisuj¡ zjawiska zachodz¡ce w wieloprocesorowych
systemach komputerowych, pierwsze zastosowania tych modeli odnosz¡ si¦
do problemów pojawiaj¡cych si¦ w przemy±le chemicznym [10] oraz w har-
monogramowaniu projektów [152]. W dalszej cz¦±ci przedstawione zostan¡
trzy przykªady rzeczywistych procesów modelowanych przy u»yciu zada«
wieloprocesorowych. Pierwszy przykªad dotyczy wykonywania oblicze« na
komputerze i stanowi podstawowy przykªad systemu jednostadialnego. Dwa
nast¦pne stanowi¡ przykªady problemów przepªywowych z wieloprocesorowymi
zadaniami i modeluj¡ bardziej zªo»one procesy.

78 Maciej Lichtenstein
5 Podstawowe informacje dotycz¡ce problemów ...

5.2.1 Wykonywanie oblicze« na komputerze


Dany jest pewien zbiór danych, wymagaj¡cych przetworzenia (nale»y
wykona¢ obliczenia dla tych danych). Ka»de z tych danych wymagaj¡ okre±lonego
programu (algorytmu) i zajmuj¡ okre±lony czas. Ka»dy z programów wymaga
pewnej (ustalonej) liczby procesorów. Obliczenia nale»y wykona¢ na komput-
erze wyposa»onym w okre±lon¡ liczb¦ procesorów. Nale»y wyznaczy¢ har-
monogram wykonywania oblicze« na danych oraz przydzieli¢ procesory do
programów tak, aby minimalizowa¢ caªkowity czas oblicze«. Tego typu prob-
lem mo»e by¢ rozpatrywany jako problem szeregowania zada« wieloproce-
sorowych, w których wykonanie oblicze« na konkretnych danych stanowi
zadanie wieloprocesorowe i wymaga tyle procesorów ile wymaganych jest
przez program wykonuj¡cy obliczenia na tych danych. Problem szeregowa-
nia w tym przypadku to problem P m|sizej |Cmax , tzn. problem szeregowa-
nia n wieloprocesorowych zada« na m procesorach, w celu minimalizacji
caªkowitego czasu oblicze«.
Problem ten mo»e by¢ rozpatrywany równie» w przypadku procesorów
dedykowanych. Zakªadaj¡c, »e system komputerowy wyposa»ony jest np.
w procesory: sygnaªowy, graczny, arytmetyczny, wektorowy itd., a ka»de
zadanie (algorytm) wymaga odpowiedniego zestawu procesorów (np. aryt-
metyczny+wektorowy), to mamy wówczas do czynienia z problemem, w którym
dla zada« okre±lone s¡ zbiory procesorów dedykowanych f ixj .

5.2.2 System rozpoznawania obrazu


Kolejnym przykªadem systemu, w którym pojawiaj¡ si¦ problemy szere-
gowania zada« wieloprocesorowych jest system rozpoznawania obrazu. Sys-
tem taki posiada trzy warstwy konceptualne. Pierwsza warstwa odpowiedzialna
jest za ekstrakcj¦ obiektów z obrazu. W drugiej warstwie nast¦puje grupowanie
i reprezentacja symboliczna obiektów. Trzecia warstwa odpowiedzalna jest
za interpretacj¦ i identykacj¦ obiektów. W ka»dej z warstw wykorzystywane
s¡ zªo»one algorytmy obróbki obrazów (np. szybka transformata Fouriera,
detekcja kraw¦dzi), algorytmy grupowania (np. grupowanie na podstawie
podobie«stwa cech) oraz algorytmy identykacji i interpretacji obiektów (np.
systemy ekspertowe). Ka»dy z tych algorytmów jest bardzo czasochªonny
i celowe jest zrównoleglenie oblicze« [116, 156]. W przypadku takiego sys-
temu wielowarstwowego, mo»emy uzyska¢ przyspieszenie dziaªania caªego
systemu przez zastosowanie przetwarzania potokowego (and. pipelining ) 
wykonywanie oblicze« dla kolejnej porcji danych (kadru obrazu) podczas gdy
jednocze±nie nast¦pna warstwa wykonuje obliczenia dla poprzedniej porcji
danych.

 Szeregowanie zada« i rozdziaª zasobów ... 79


5.2 Rzeczywiste procesy produkcyjne modelowane przez ...

Przedstawiony system mo»e by¢ modelowany przy u»yciu przepªywowego


problemu szeregowania zada« wieloprocesorowych. W problemie tym przez
zadanie nale»y rozumie¢ dokonanie obróbki pojedynczego kadru obrazu, przy
czym ka»de zadanie skªada si¦ z trzech wieloprocesorowych czynno±ci (wykony-
wanych w kolejnych warstwach systemu). Kolejno±¢ wykonywania czynno±ci
jest taka sama dla ka»dego zadania (potokowo w trzech kolejnych warstwach),
wi¦c mamy do czynienia z systemem przepªywowym. Wskazane wydaje si¦
przyj¦cie minimalizacji dªugo±ci uszeregowania (Cmax ) jako kryterium opty-
malizacji, co przyniesie skrócenie czasu dziaªania systemu, wiec i zwi¦kszenie
jego caªkowitej wydajno±ci. Reasumuj¡c problem tu przedstawiony mo»e by¢
modelowany przez problem F 3(P )|sizeij |Cmax .

5.2.3 Harmonogramowanie transportu drog¡ morsk¡ w obr¦-


bie portów Hong Kongu
Podczas swego pobytu w Hong Kongu autor niniejszej pracy prowadziª
badania nad problemami szeregowania zada« wieloprocesorowych. Prace te
motywowane byªy zapotrzebowaniem na system harmonogramowania ruchu
statków jednej z lokalnych rm transportowych. Firma ta specjalizuje si¦ w
transporcie towarów drog¡ morsk¡ i posiada ot¦ skªadaj¡ca si¦ z 25 statków
ró»nej wielko±ci. Transport drog¡ morsk¡ w obr¦bie portów Hong Kongu
jest ta«sz¡ alternatyw¡ dla transportu l¡dowego, ze wzgl¦du na to, »e Hong
Kong jest terenem górzystym i pojawiaj¡ si¦ dodatkowe opªaty za korzys-
tanie z licznych tuneli oraz opó¹nienia zwi¡zane z nieprzewidywalno±ci¡ ruchu
ulicznego w tej prawie 7 milionowej metropolii.
Zadaniem wspomnianej rmy jest transportowanie ró»nego rodzaju to-
warów od portu na zachodnim kra«cu Hong Kongu (Tuen Mun) przez porty
centralnej cz¦±ci a» do portów wschodnich (Sai Kung). Transport odbywa
si¦ od jednego portu do nast¦pnego wedªug ustalonej marszruty. W ka»dym
porcie nast¦puje rozªadunek cz¦±ci towaru i ewentualnie zaªadunek innego
towaru.
Obsªuga ka»dego statku zajmuje w danym porcie od 30 minut do 2 godzin.
Czas potrzebny na pokonanie dystansu pomi¦dzy portami waha si¦ od kilku
minut do kilku godzin i jest inny dla ka»dego ze statków.
Mamy wi¦c do czynienia z problemem przepªywowym (ka»dy statek pod¡»a
t¡ sam¡ tras¡), w którym poszczególne porty reprezentowane s¡ przez kole-
jne stadia systemu przepªywowego. Przez zadanie nale»y rozumie¢ obsªug¦
pojedynczego statku we wszystkich portach. Obsªuga ta skªada si¦ z kilku
czynno±ci (tylu ile jest portów na trasie statku). Znane s¡ czasy wykonywania
tych czynno±ci oraz czasy transportu mi¦dzy stadiami (portami).

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

 Szeregowanie zada« i rozdziaª zasobów ... 81


Rozdziaª 6
Wyniki dotychczasowych bada«
dotycz¡cych problemów
szeregowania w systemach
przepªywowych oraz problemów
szeregowania zada«
wieloprocesorowych

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...

6.2 Wyniki dotychczasowych bada« dotycz¡cych


problemów szeregowania zada« w systemach
przepªywowych
6.2.1 Wyniki dotycz¡ce zªo»ono±ci obliczeniowej
Dla klasycznych problemów przepªywowych (z pojedynczym procesorem
w ka»dym stadium) znaczn¡ cz¦±¢ rezultatów stanowi¡ wyniki poszukiwa«
rozwi¡za« permutacyjnych, tj. takich, w których kolejno±¢ wykonywania zada«
w ka»dym stadium jest taka sama. W pracy [21] wykazano, »e dla dowol-
nej instancji problemu F ||Cmax istnieje rozwi¡zanie optymalne, w którym
kolejno±¢ wykonywania zada« na dwóch pierwszych procesorach jest taka
sama i na dwóch ostatnich procesorach równie» jest taka sama. To prowadzi
do wniosku, »e dla problemów F 2||Cmax i F 3||Cmax rozwi¡za« optymalnych
nale»y poszukiwa¢ w±ród rozwi¡za« permutacyjnych. Jednocze±nie, ju» dla
problemu F 4||Cmax rozwi¡zanie optymalne nie musi znajdowa¢ si¦ w zbiorze
rozwi¡za« permutacyjnych.
Jednym z pierwszych rezultatów dla problemu przepªywowego jest wielo-
mianowy algorytm o zªo»ono±ci O(n log n) rozwi¡zania problemu F 2||Cmax
zaproponowanego w pracy [87]. Jednocze±nie w pracy [31] wykazano, »e ju»
problem F 3||Cmax jest silnie NP-trudny. Z tego rezultatu wynika, »e znalezie-
nie najlepszego rozwi¡zania permutacyjnego dla problemu F m||Cmax , m > 2
jest problemem silnie NP-trudnym.
W pracy [98] wykazano, »e problemy F 2|rj |Cmax , F 2|qj |C
Pmax oraz
F 2|tree|Cmax s¡ silnie NP-trudne. Podobnie problem F 2|| Cj jest silnie
NP-trudny [31] i to nawet w przypadku, gdy wszystkie zadania w pierwszym
stadium maj¡ jednakowy czas wykonywania [50].
Dla problemów przepªywowych hybrydowych (z kilkoma procesorami w
poszczególnych stadiach) ªatwo zauwa»y¢, »e ju» problemyF 2(P 2, P 1)||Cmax
i F 2(P 1, P 2)||Cmax s¡ NP-trudne poniewa» zawieraj¡ problem NP-trudny
P 2||Cmax jako podporoblem. Ponadto, w pracy [51] wykazano, »e problemy
powy»sze s¡ silnie NP-trudne.

6.2.2 Wyniki dotycz¡ce algorytmów optymalnych


Poza problemem F 2||Cmax i kilkoma trywialnymi szczególnymi przypad-
kami problemu przepªywowego, pozostaªe problemy s¡ co najmniej NP-trudne.
Z tego wzgl¦du, zgodnie z obecn¡ wiedz¡, nie nale»y poszukiwa¢ algorytmów
wielomianowych ich rozwi¡zania. W zwi¡zku z tym badania w tym zakre-
sie skupiªy si¦ na algorytmach opartych o technik¦ podziaªu i oszacowa«

 Szeregowanie zada« i rozdziaª zasobów ... 83


6.2 Wyniki dotychczasowych bada« dotycz¡cych problemów ...

(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).

6.2.3 Wyniki dotycz¡ce algorytmów przybli»onych


Algorytmy przybli»one zaproponowano gªównie dla problemu permuta-
cyjnego. Szereg z tych algorytmów [14, 37, 113, 133] dokonuje agregacji do
problemu F 2||Cmax i stosuje algorytm optymalny dla tego problemu zapro-
ponowany w [87]. Najlepszym w±ród algorytmów konstrukcyjnych jest algo-
rytm NEH [111, 146] wykorzystuj¡cy technik¦ wstawie«. Zaskakuj¡cy jest
fakt, »e algorytm NEH dostarcza lepszych rozwi¡za« ni» niektóre algorytmy
oparte o technik¦ lokalnego poszukiwania [24].
Dla problemu permutacyjnego z kryterium Cmax zaproponowano wiele al-
gorytmów metaheurystycznych opartych o techniki symulowanego wy»arza-
nia [117, 119], tabu search [112, 114, 130, 146, 159] i algorytmów ewolucyjnych
[131]. W±ród tych algorytmów wyró»niaj¡ si¦ algorytmy oparte o technik¦
tabu search [114, 130] ze wzgl¦du na bardzo dobr¡ jako±¢ dostarczanych
rozwi¡za«.
Zaproponowano równie» algorytmy przybli»one dla problemów z krytari-
P P P
ami: Cj [91, 93], wj Cj [34] oraz wj Tj [2, 89].
Dla problemu hybrydowego algorytmy przybli»one zaproponowano w pra-
cach [15, 42, 46, 76, 82, 97, 115, 132].
Obszerny przegl¡d rezultatów uzyskanych dla problemów przepªywowych
mo»na znale¹¢ w pracach [139, 140]. W pracy [112] przedstawiono szereg al-
gorytmów opartych o technik¦ Tabu Search dla ró»nych problemów przepªy-
wowych, gniazdowych i otwartych.

84 Maciej Lichtenstein
6 Wyniki dotychczasowych bada« dotycz¡cych...

6.3 Wyniki dotychczasowych bada« dotycz¡cych


problemów szeregowania zada« wieloproce-
sorowych
W niniejszym podrozdziale przedstawione zostan¡ wyniki bada« uzyskane
dla problemów szeregowania zada« wieloprocesorowych z równolegªymi pro-
cesorami. Rezultaty dla problemów z procesorami dedykowanymi nie zostan¡
przedstawione ze wzgl¦du na to, »e tego typu problemy nie s¡ rozpatrywane
w tej pracy i stanowi¡, z punktu widzenia teoretycznego, odr¦bn¡ klas¦ prob-
lemów. Zainteresowanych czytelników odsyªam do prac [11], [26], [27] i [92]
gdzie przedstawiono szeroki przegl¡d rezultatów uzyskanych w tym zakresie.

Oczywistym spostrze»eniem jest fakt, »e ju» problem P 2|sizej |Cmax jest


problemem NP-trudnym (wynika z NP-trudno±ci problem P 2||Cmax ). W zwi¡zku
z tym, wyniki dotycz¡ce zªo»ono±ci obliczeniowej skupiaj¡ si¦ wokóª szczegól-
nych przypadków problemu P |sizej |Cmax .
Jednym z pierwszych rezultatów dotycz¡cych problemów szeregowania
zada« wieloprocesorowych jest wykazana w pracy [101] NP-trudno±¢ prob-
lemów P |sizej , pj = 1|Cmax oraz P 3|sizej , pj = 1, prec|Cmax i to ju» dla przy-
padku ∆ = 2. Jednocze±nie w tej samej pracy dla problemu P 2|sizej , pj =
1, prec|Cmax zaproponowano algorytm optymalny o zªo»ono±ci O(n2 ). Pon-
adto w pracy [7] wykazano, »e problem P |sizej , pj = 1|Cmax jest silnie
NP-trudny. W pracy [28] zaproponowano algorytmy pseudowielomianowe
dla problemów P 2|sizej |Cmax i P 3|sizej |Cmax , oraz wykazano, »e problemy
P 5|sizej |Cmax P 2|sizej , chains|Cmax s¡ silnie NP-trudne. Zªo»ono±¢
oraz
obliczeniowa (dokªadniej silna NP-trudno±¢) problemu P 4|sizej |Cmax po-
zostaje w ogólno±ci kwesti¡ otwart¡. Wykazano natomiast, »e je»eli sizej 6= 1
dla j = 1, ..., n, to problem P 4|sizej |Cmax jest rozwi¡zywalny pseudowielo-
mianowo [25].
W pracach [100, 101] zaproponowano algorytmy przybli»one dla pro-
belmu P |sizej |Cmax oraz dokonano ich analizy najgorszego przypadku. W
pracach [16, 100, 164] zaproponowano algorytmy przybli»one dla problemu
P |cubej |Cmax i równie» dokonano dla nich analizy najgorszego przypadku.
Znaczna cz¦±¢ pracy [112] dotyczy problemów szeregowania zada« wielopro-
cesorowych w systemach gniazdowych. Przedstawiono tam szereg wªasno±ci
tych problemów oraz algorytmy oparte o technik¦ Tabu Search.
Spo±ród innych kryteriów ni»
P Cmax rozpatrywane byªy tylko kryteria Lmax
[158] i Cj [94]. Badania nad tymi problemami skupiªy si¦ gªównie na al-
gorytmach przybli»onych i analizowaniu szczególnych przypadków.

 Szeregowanie zada« i rozdziaª zasobów ... 85


6.4 Podsumowanie

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.

7.2 Sformuªowanie problemów


Dany jest zbiór m stadiów produkcji, M = {1, ..., m}. W ka»dym stadium
i ∈ M znajduje si¦ mi identycznych procesorów (maszyn). Zbiór procesorów
w stadium i oznaczono przez Mi = {1, ..., mi }.
Dany jest zbiór J = {1, ..., n}, n zada« do wykonania w systemie pro-
dukcyjnym zdeniowanym przez zbiory M i Mi , i ∈ M. Ka»de zadanie
skªada si¦ z m wieloprocesorowych czynno±ci. Zbiór czynno±ci zadania j ∈ J

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:

• pij > 0, i ∈ M  czas wykonywania czynno±ci oij (wykonywanej w


stadium i),

• sizeij , i ∈ M (1 ≤ sizeij ≤ mi )  liczba procesorów wymaganych do


wykonywania czynno±ci oij ,

• tij ≥ 0, i ∈ M\{m}  czas transportu zadania pomi¦dzy stadium i a


i + 1,

• rj ≥ 0  termin dost¦pno±ci,

• qj ≥ 0  czas dostarczenia.

Dla zachowania symetrii z czasami transportu, termin dost¦pno±ci zada-


nia j b¦dzie oznaczany jako t0j = rj , a czas dostarczenia jako tmj = qj .
Dodatkowo, okre±lone s¡ przezbrojenia wyst¦puj¡ce mi¦dzy czynno±ciami o
czasach wykonywania:
sijk ≥ 0,
co oznacza, »e przezbrojenie to wykonywane jest mi¦dzy czynno±ciami j a
k w stadium i. Dodatkowo, dla ka»dej czynno±ci oij zdeniowany jest czas
przezbrojenia si0j , wykonywanego przed ka»d¡ operacj¡ tej czynno±ci, je»eli
jest ona wykonywana jako pierwsza na procesorze.
Wygodnie jest rozumie¢ czynno±¢ oij jako zbiór sizeij operacji, ka»da o
czasie wykonywania pij .
Oznaczmy przez Sij oraz Cij = Sij + pij odpowiednio termin rozpocz¦cia
i zako«czenia wykonywania czynno±ci oij . Problem polega na wyznaczeniu
takiego harmonogramu wykonywania zada« (czynno±ci), które minimalizuje
dªugo±¢ tego harmonogramu, tzn.

Cmax = max{Cmj + qj }.
j∈J

Przez harmonogram nale»y rozumie¢ tutaj przyporz¡dkowanie operacji


poszczególnych czynno±ci do procesorów, oraz wyznaczenie kolejno±ci ich
wykonywania na ka»dym z procesorów, które speªnia nast¦puj¡ce ograniczenia:

• ka»dy procesor wykonuje nie wi¦cej ni» jedn¡ operacj¦ w ka»dej chwili
czasu;

• operacje wykonywane s¡ bez przerywania;

88 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

• wszystkie operacje nale»ace do jednej czynno±ci rozpoczynaj¡ si¦ i ko«cz¡


w tym samym terminie;

• je»eli na jednym z procesorów stadium i wykonywane s¡ kolejno dwie


operacje takie, »e pierwsza nale»y do czynno±ci oij , a druga do czynno±ci
oik , to mi¦dzy nimi wykonywane jest przezbrojenie procesora o czasie
trwania sijk ;

• je»eli na jednym z procesorów stadium i operacja czynno±ci oij wykony-


wana jest jako pierwsza, to poprzedza j¡ przezbrojenie procesora o cza-
sie trwania si0j ;

• je»eli zako«czenie wykonywania czynno±¢ oij nast¡piªo w terminie Cij ,


to rozpocz¦cie wykonywania czynno±ci oi+1,j nie mo»e nast¡pi¢ przed
upªywem terminu Cij + tij ;

• czynno±¢ o1j nie mo»e by¢ wykonywana przed upªywem terminu rj .

Nale»y zwróci¢ uwag¦ na to, »e przezbrojenia wyst¦puj¡ mi¦dzy ka»dymi


dwoma operacjami i s¡ sekwencyjnie zale»ne. Je»eli wyst¦puj¡ rodziny zada«,
to mo»na przyj¡¢, »e je»eli czynno±ci oij i oik nale»¡ do tej samej rodziny, to
sijk = sikj = 0.

Problem powy»szy w notacji trójpolowej b¦dzie oznaczany nast¦puj¡co:

F (P )|rj , qj , sizeij , sijk |Cmax . (7.1)

7.3 Problem uproszczony


W dalszej cz¦±ci rozwa»any b¦dzie problem uproszczony w stosunku do
problemu (7.1), tzn. problem bez okre±lonych terminów dost¦pno±ci zada«,
bez czasów dostarczenia zada«, bez czasów tranportu, bez przezbroje« oraz
w sytuacji gdy liczba stadiów m oraz ilo±¢ procesorów w poszczególnych sta-
diach mi , s¡ staªymi wielko±ciami (nie stanowi¡ danych wej±ciowych prob-
lemu). Dodatkowo, zakªada si¦, »e czas wykonywania wszystkich czynno±ci
jest ograniczony, tzn. pij ≤ p, i ∈ M, j ∈ J , gdzie p≥0 jest zadan¡ staª¡.
Problem ten b¦dzie oznaczany nast¦puj¡co:

F m(P m1 , ..., P mm )|sizeij , pij ≤ p|Cmax . (7.2)

 Szeregowanie zada« i rozdziaª zasobów ... 89


7.3 Problem uproszczony

7.3.1 Analiza zªo»ono±ci obliczeniowej


W dalszej cz¦±ci wykazane zostanie, »e problem (7.2) jest wielomianowo
rozwi¡zywalny. Jednocze±nie zostanie wykazane, »e wyst¦powanie ogranicze«
kolejno±ciowych  i to w najprostszej postaci  powoduje, »e staje si¦ on silnie
NP-trudny.
Na wst¦pie wprowadzona zostanie nast¦puj¡ca denicja:

Denicja 6 Zadania j ∈ J i g ∈ J nale»¡ do tej samej grupy, je»eli pij =


pig oraz sizeij = sizeig , dla i ∈ M.

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 .

Dla problemu (7.2) zachodz¡ nast¦puj¡ce wªasno±ci:

Wªasno±¢ 14 Istnieje rozwi¡zanie optymalne problemu (7.2) takie, »e je»eli


zadania j i g nale»¡ do tej samej grupy oraz j < g , to Cij < Cig dla i ∈ M.

Dowód. Niech wielko±ci Cij , i ∈ M, j ∈ J , b¦d¡ terminami zako«czenia


wykonywania czynno±ci w dowolnym dopuszczalnym harmonogramie. Rozpa-
trzmy nowy harmonogram z terminami zako«czenia wykonywania czynno±ci
0
Cij takimi, »e dla ka»dego stadium i∈M zachodzi:

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:

Cij ≤ C(i+1)j − p(i+1)j i Cig ≤ C(i+1)g − p(i+1)g ,

Dodatkowo, ze wzgl¦du na to, »e p(i+1)j = p(i+1)g , mamy

min[Cij , Cig ] ≤ min[C(i+1)j , C(i+1)g ] − p(i+1)j

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

Wªasno±¢ 15 W problemie (7.2), dla optymalnego harmonogramu zachodzi:



Cmax ≤ (n + m − 1)p.

Dowód. Poniewa» czas wykonywania ka»dej czynno±ci pij ≤ p, to przyjmu-


j¡c najwi¦ksze mo»liwe wielko±ci ich parametrów, tzn. pij = p oraz sizeij =

mi , dla i ∈ M, j ∈ J , otrzymujemy problem, w którym Cmax = (n + m −
1)p.
Powy»sze dwie wªasno±ci pozwalaj¡ ograniczy¢ liczb¦ rozpatrywanych
harmonogramów do takich, które speªniaj¡ nast¦puj¡ce warunki:

(s1) Cij ≤ Cig , dla 1≤i≤m i ka»dych dwóch zada« j i g nale»¡cych do


tej samej grupy takich, »e j < g,

(s2) Cmax ≤ (n + m − 1)p.

Twierdzenie 12 Problem (7.2) jest wielomianowo rozwi¡zywalny.

Dowód. W celu wykazania tego twierdzenia skonstruowany zostaª wielomi-


anowy algorytm optymalny oparty o technik¦ programowania dynamicznego.
Ogólna zasada dziaªania tego algorytmu jest nast¦puj¡ca. Algorytm operuje
na sekwencji zbiorów W0 , ..., W(n+m−1)p , startuj¡c od zbioru W0 rekuren-
cyjnie konstruuje zbiory od W1 do W(n+m−1)p , a nast¦pnie wyznacza opty-
maln¡ sekwencj¦ elementów ω0 , ..., ω(n+m−1)p , gdzie ωt ∈ Wt , która deniuje
odpowiadaj¡cy jej optymalny harmonogram.
W dalszej cz¦±ci pokazane zostanie jak budowane s¡ poszczególne zbiory
Wt i jakie warunki musz¡ speªnia¢ elementy tych zbiorów.
Ka»dy zbiór Wt skªada si¦ ze sko«czonej liczby wektorów. Ka»dy wektor
skªada si¦ ze sko«czonej liczby elementów, b¦d¡cymi nieujemnymi liczbami
caªkowitymi. Pierwszych mgmax elementów ka»dego wektora ω ∈ Wt oznac-
1
zone zostaªo jako ωif i s¡ interpretowane jako liczba zada« z grupy Gf , których
|G |
i-ta czynno±¢ zostaªa zako«czona do chwili t. Niech Gf = {jf1 , . . . , jf f }, gdzie
jfe < jfe+1 , dla 1 ≤ e < |Gf |. Šatwo zauwa»y¢, »e nie wi¦cej ni» b sizemi
c czyn-
ij 1
f
no±ci zada« z grupy Gf mo»e by¢ wykonywana jednocze±nie w stadium i.
Elementy skªadaj¡ce si¦ na drug¡ cz¦±¢ ka»dego wektora ω ∈ Wt zostaªy
2 mi
oznaczone przez ωif e , gdzie 1 ≤ i ≤ m, 1 ≤ f ≤ gmax i 1 ≤ e ≤ min{b c, |Gf |}.
sizeij 1
f
1 +e
ωif
2
Je»eli ωif e = 0, to oznacza to, »e i-ta czynno±¢ zadania jf nie jest wykony-
2
wana w przedziale czasu [t, t + 1]. Je»eli ωif e > 0, to oznacza to, »e i-ta czyn-
ω 1 +e
no±¢ zadania jf if jest wykonywana w przedziale czasu [t, t + 1] i wielko±¢

 Szeregowanie zada« i rozdziaª zasobów ... 91


7.3 Problem uproszczony

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.

Wektor ν jest osi¡galny z wektora ω ∈ Wt , je»eli s¡ speªnione nast¦puj¡ce


warunki:

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.

Niech R(ω) oznacza zbiór wektorów speªniaj¡cych warunki (c1)-(c5) i


osi¡galnych z wektora ω. Wówczas dla ka»dego 0 < t < (n + m − 1)p

Wt = ∪u∈Wt−1 R(ω).

Aby zako«czy¢ opis zbiorów Wt , wystarczy zdeniowa¢ zbiory W0 i W(n+m−1)p .


Niech W0 b¦dzie zbiorem speªniaj¡cym warunki (c1)-(c5) oraz przedstawione
poni»ej warunki (c6)-(c8):

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±

zadania jest wykonywana w przedziale czasu [0, 1], to rozpoczyna si¦


ona w terminie t = 0.
Nale»y zaznaczy¢, »e dla wektorów ze zbioru W0 niektóre z warunków (c1)-
(c5) staj¡ si¦ nadmiarowe.
Niech W(n+m−1)p zawiera tylko jeden wektor µ taki, »e µ1if = |Gf | dla
ka»dego i oraz f , tzn. µ wskazuje, »e wszystkie czynno±ci zostaªy zako«c-
zone. Zauwa»my, »e µ mo»e by¢ równie» elementem którego± z wcze±niejszych
zbiorów Wt oraz, »e R(µ) = {µ}.

Niech

1 je»eli ω 6= µ
r(ω) =
0 w przeciwnym przypadku

oraz niech Z b¦dzie zbiorem wszystkich sekwencji ω0 , ω1 , . . . , ω(n+m−1)p ta-


kich, »e ω0 ∈ W0 oraz ωt ∈ R(ωt−1 ) dla 1 ≤ t ≤ (n + m − 1)p. Zauwa»my, »e
niektóre elementy ze zbioru Wt mog¡ nie nale»e¢ do »adnej z sekwencji zbioru

 Szeregowanie zada« i rozdziaª zasobów ... 93


7.3 Problem uproszczony

Z , podczas gdy inne mog¡ nale»e¢ do wielu z tych sekwencji. Przypomnijmy,


»e wystarczy ograniczy¢ si¦ do rozwa»ania takich harmonogramów, które
speªniaj¡ warunki (s1) i (s2). Dla ka»dego takiego harmonogramu, istnieje
sekwencja (ω0 , ω1 , . . . , ω(n+m−1)p ) ∈ Z taka, »e

X
Cmax = r(ωt ).
0≤t≤(n+m−1)p

Ponadto, ka»da sekwencja (ω0 , ω1 , . . . , ω(n+m−1)p ) ∈ Z deniuje dopuszczalny


harmonogram, gdzie ωt deniuje czynno±ci wykonywane w przedziale czasu
[t, t + 1]. W zwi¡zku z tym, problem (7.2) jest równowa»ny problemowi min-
imalizacji nast¦puj¡cej sumy:

X
r(ωt ),
0≤t≤(n+m−1)p

po zbiorze Z.

Zgodnie ze standardowym podej±ciem programowania dynamicznego, rozwa»my


funkcje ϕ0 (ω), ..., ϕ(n+m−1)p (ω), zdeniowane odpowiednio dla zbiorów W0 , . . . , W(n+m−1)p ,
gdzie ϕ0 (ω) = 0, dla ka»dego ω ∈ W0 oraz

ϕt (ω) = min [r(ν) + ϕt−1 (ν)], (7.3)


{ν| ν∈Wt−1 i ω∈R(ν)}

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

).

Aby pokaza¢, »e algorytm przedstawiony powy»ej dziaªa w czasie wielo-


(n+m−1)p
mianowym zauwa»my, »e ka»dy wektor ze zbioru ∪t=0 Wt ma rozmiar
m gX
max
X mi
mgmax + min{b c, |Gf |}
i=1 f =1
sizeijf1

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

ω i ν speªniaj¡ warunki (r1)-(r3), jest ograniczona przez staª¡ niezale»n¡ od


n. Podobnie, liczba operacji niezb¦dna do sprawdzenia, czy dany wektor speª-
nia warunki (c1)-(c5) lub (c6)-(c8) jest ograniczona przez staª¡ niezale»n¡ od
n.
Niech W b¦dzie zbiorem wszystkich wektorów speªniaj¡cych warunki
(c1)-(c5) oraz niech ω b¦dzie dowolnym wektorem ze zbioru W . Poniewa»
1
ωif ≤ n dla ka»dego elementu skªadaj¡cego si¦ na pierwsz¡ cz¦±¢ wektora ω ,
mg
liczba mo»liwych pierwszych cz¦±ci tego wektora wynosi O(n max ). Przy-
m
Q m
pomnijmy, »e gmax ≤ p i=1 mi , wi¦c wygenerowanie wszystkich mo»liwych
pierwszych cz¦±ci wektora mo»e by¢ zrealizowane w wielomianowym cza-
2
sie. Poniewa» ωif e ≤ p dla ka»dego elementu skªadaj¡cego si¦ na drug¡ cz¦±¢
wektora ω , wygenerowanie wszystkich mo»liwych drugich cz¦±ci mo»e by¢
zrealizowane w czasie ograniczonym staª¡ niezale»n¡ od n. Tak wi¦c zbiór W
mo»e by¢ wyznaczony w wielomianowym czasie. Podobnie podzbiór W0 ⊂ W
i ka»dy nast¦pny zbiór Wt mo»e by¢ skonstruowany w wielomianowym czasie,
przez sprawdzenie warunków (r1)-(r3) dla ka»dej pary wektorów ω ∈ Wt−1
i ν ∈ W . Ostatecznie, poniewa» funkcje ϕ1 (ω), . . . , ϕ(n+m−1)p (ω) mog¡ by¢
wyliczane podczas konstrukcji zbiorów W0 , . . . , W(n+m−1)p , algorytm konstru-
uje rozwi¡zanie optymalne w wielomianowym czasie.

Jednocze±nie wykazano, »e problem (7.2) w sytuacji wyst¦powania ogranicze«


kolejno±ciowych mi¦dzy zadaniami, jest problemem silnie NP-trudnym. Dokªad-
niej rzecz ujmuj¡c, wykazano, »e ju» problem:

F 2(P 2, P 2)|chains, pij = 1, sizeij |Cmax , (7.4)

jest problemem silnie NP-trudnym.

Twierdzenie 13 Problem (7.4) jest problemem silnie NP-trudnym.

Dowód. W dowodzie tego twierdzenia przez zadanie typu (a,b) b¦dziemy


rozumie¢ takie zadanie j, dla którego zachodzi size1j = a oraz size2j =
b, tzn. pierwsza czynno±¢ tego zadania wymaga a procesorów, a druga b
procesorów. Ze wzgl¦du na to, »e w ka»dym stadium mamy dwa procesory,
mo»emy wyró»ni¢ cztery typy zada«: (1,1), (1,2), (2,1) oraz (2,2).
Aby wykaza¢ siln¡ NP-trudno±¢ problemu (7.4), dokonano transforma-
cji pseudowielomianowej z silnie NP-zupeªnego [30] problemu 3-podziaªu ( - 3
PARTITION). Problem ten zdeniowany jest nast¦puj¡co:

3-PARTITION: Dany jest zbiór 3r elementów N = {1, ..., 3r} oraz staªa

 Szeregowanie zada« i rozdziaª zasobów ... 95


7.3 Problem uproszczony

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}?

Transformacja pseudowielomianowa zdeniowana jest nast¦puj¡co. Dla


ka»dego elementu qj , j ∈ N , zdeniowany jest ªa«cuch 2qj zada«. Pier-
wszych qj zada« z ka»dego ªa«cucha, to zadania typu (1,2), a pozostaªe
qj zada« to zadania typu (2,1). Dodatkowo, zdeniowano 2Br zada« do-
datkowych tworz¡cych jeden ªa«cuch. Pierwszych B zada« w tym ªa«cuchu
dodatkowym, to zadania typu (1,2), nast¦pnych B zada«, to zadania typu
(2,1) i ten wzorzec, nazywany dalej blokiem, powtarza si¦ r razy. Niech
Ĉ = 3Br + 1. Wówczas odpowiednia instancja decyzyjnej wersji problemu
(7.4) mo»e by¢ okre±lona nast¦puj¡co:
DF: Czy istnieje takie uszeregowanie zada« (zdeniowanych powy»ej), »e
Cmax = Ĉ ? (7.6)

Rozwa»my pierwsze stadium. Poniewa» wszystkie zadania dodatkowe tworz¡


ªa«cuch, nie wi¦cej ni» jedno z nich mo»e by¢ wykonywane w danej chwili
czasu. Z drugiej strony, mamy zdeniowanych br zada« typu (2,1) odpowiada-
j¡cych elementom ze zbioru N. Poniewa» m1 = 2, »adne zadanie typu (2,1)
nie mo»e by¢ wykonywane w pierwszym stadium równolegle z innym zadaniem.
W zwi¡zku z tym, dla ka»dego harmonogramu mamy: Cmax ≥ Ĉ , i je»eli ist-
nieje harmonogram speªniaj¡cy równo±¢ (7.6), to jest on optymalny.

Zaªó»my, »e istnieje podziaª zbioru N na podzbiory N1 , . . . , Nr speªnia-


j¡cy warunki postawione w problemie 3-podziaªu. Wówczas, harmonogram
speªniaj¡cy równanie (7.6) mo»e by¢ skonstruowany nast¦puj¡co:

stadium 1: Dla ka»dego Nj , 1 ≤ j ≤ r, wszystkie zadania typu (1,2)


(odpowiadaj¡ce elementom ze zbioru Nj ) s¡ wykonywane w przedziale
czasu [3B(j − 1), 3B(j − 1) + B] równolegle z B dodatkowymi zadani-
ami typu (1,2) z j -tego bloku. Wszystkie zadania typu (2,1) s¡ wykony-
wane w przedziale czasu [3B(j − 1) + B, 3B(j − 1) + 2B]. Zadania do-
datkowe typu (2,1) z j -tego bloku wykonywane s¡ w przedziale czasu
[3B(j − 1) + 2B, 3Bj].

stadium 2: Dla ka»dego Nj , 1 ≤ j ≤ r, wszystkie zadania typu (1,2) s¡


wykonywane w przedziale czasu [3B(j − 1) + 1, 3B(j − 1) + B + 1].

96 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Nast¦pnie, w przedziale czasu [3B(j − 1) + B + 1, 3B(j − 1) + 2B + 1],


wykonywane s¡ wszystkie zadania dodatkowe typu (1,2) z j -tego bloku.
Na ko«cu, w przedziale czasu [3B(j −1)+2B +1, 3Bj +1] wykonywane
s¡ wszystkie zadania typu (2,1) odpowiadaj¡ce elementom zbioru Nj ,
równolegle ze wszystkimi dodatkowymi zadaniami typu (2,1) z j -tego
bloku.

Zaªó»my teraz, »e istnieje harmonogram speªniaj¡cy równanie (7.6). Šatwo


zauwa»y¢, »e w pierwszym stadium takiego harmonogramu, ka»de zadanie
typu (1,2) odpowiadaj¡ce elementom ze zbioru N , jest wykonywane równole-
gle z jednym z zada« dodatkowych typu (1,2). Podobnie, w stadium drugim,
ka»de zadanie typu (2,1) odpowiadaj¡ce elementom ze zbioru N , jest wykony-
wane równolegle z jednym z dodatkowych zada« typu (2,1). Niech qj1 , . . . , qjw
b¦d¡ elementami zbioru N , które odpowiadaj¡ zadaniom typu (2,1) wykony-
wanych równolegle z B zadaniami dodatkowymi typu (2,1) z pierwszego
Pw
bloku. Wówczas k=1 qjk ≥ B , poniewa» ka»de zadanie typu (2,1) odpowiada-
j¡ce elementowi qjk ma qjk zada« poprzedzaj¡cych (w ªa«cuchu) typu (1,2) i
wszystkie te zadania poprzedzaj¡ce musz¡ by¢ wykonane na pierwszym sta-
dium równolegle z dodatkowymi zadaniami typu (1,2) z pierwszego bloku. Z
drugiej strony, jest tylko B takich zada« dodatkowych w pierwszym bloku,
B≥ w
P Pw
wi¦c k=1 qjk . Ostatecznie, k=1 qjk = B i, bior¡c pod uwag¦ nierówno±ci
(7.5), otrzymujemy w = 3.
Tak wi¦c elementy qj1 , qj2 i qj3 tworz¡ pierwszy zbiór N1 . Analizuj¡c
podobnie dla pozostaªych bloków, otrzymujemy rozwi¡zanie problemu 3-
podziaªu.
DF posiada rozwi¡zanie wt-
Ostatecznie mo»emy stwierdzi¢, »e problem
3-PARTITION posiada rozwi¡zanie. A
edy i tylko wtedy, gdy problem
poniewa» problem 3-PARTITION jest problemem silnie NP-zupeªnym, to
problem (7.4) jest silnie NP-trudny.

7.3.2 Algorytm przybli»ony


Ze wzgl¦du na to, »e wykazanie wielomianowej rozwi¡zywalno±ci prob-
lemu (7.2) ma znaczenie raczej teoretyczne, przedstawiony zostanie algorytm
przybli»ony dla tego problemu, oparty o technik¦ Tabu Search.
W celu przedstawienia zaproponowanego algorytmu, w pierwszej kole-
jno±ci zostanie przedstawiona zastosowana reprezentacja harmonogramu.
Niech πi = (πi (1), ..., πi (n)) oznacza list¦ zada« (permutacj¦), wedªug
której czynno±ci przydzielane s¡ do procesorów w stadium i. Dodatkowo,
niech φij , |φij | = sizeij , oznacza zbiór procesorów, które wykonuj¡ i-t¡ czyn-
no±¢ zadania j . Je»eli zdeniujemy zbiór φi = {φi1 , ..., φin }, dla ka»dego sta-

 Szeregowanie zada« i rozdziaª zasobów ... 97


7.3 Problem uproszczony

dium i ∈ M , to pojedynczy harmonogram mo»e by¢ zdeniowany przez par¦


(π, φ), gdzie π = {π1 , ..., πm } oraz φ = {φ1 , ..., φm }. Dla ka»dego harmono-
gramu (π, φ), terminy zako«czenia wykonywania czynno±ci mog¡ by¢ wyz-
P P 
naczone w czasie O j∈J i∈M sizeij przy u»yciu Procedury 1. Terminy

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.

Procedura 1 Wyznaczenie terminów zako«czenia wykonywania czynno±ci,


dla ustalonego harmonogramu (π, φ).
1: C0j := 0, j ∈ J
2: Cil0 := 0, i ∈ M , l ∈ Mi
3: for i ∈ M do
4: for j ∈ J do
5: Ciπi (j) := max{C(i−1),πi (j) , maxl∈φiπi (j) {Cil0 }} + piπi (j)
6: for l ∈ φiπi (j) do
7: Cil0 := Ciπi (j)
8: end for
9: end for
10: end for

W Procedurze 1, przez Cil0 oznaczono termin zako«czenia wykonywania


operacji na procesorze l stadium i. Procedura ta kolejno przydziela czynno±ci
z listy πi do procesorów zdeniowanych przez zbiory φij i wylicza warto±ci
czasów zako«czenia wykonywania czynno±ci przy u»yciu nast¦puj¡cej for-
muªy liczonej dla i = 1, ..., m i j = 1, ..., n:

Ciπi (j) = max{C(i−1)πi (j) , max {Cil0 }} + piπi (j) ,


l∈φiπi (j)

gdzieC0j = 0 dla j ∈ J oraz warto±ci Cil0 s¡ pocz¡tkowo równe zero dla


i ∈ M i l ∈ Mi .
Poprawno±¢ powy»szej formuªy wynika z nast¦puj¡cych faktów:

• czynno±¢ πi (j) nie mo»e by¢ rozpocz¦ta przed zako«czeniem czynno±ci


πi−1 (j),

• czynno±¢ πi (j) nie mo»e by¢ rozpocz¦ta przed zako«czeniem ostatniej


operacji wykonywanych przez procesory ze zbioru φij .

πi (j) do procesorów i wyznaczeniu jej terminu


Po przydzieleniu czynno±ci
0
zako«czenia wykonywania, warto±ci Cil s¡ uaktualniane dla l ∈ φij , poniewa»
czynno±¢ πi (j) jest wykonywana jako ostatnia na procesorach ze zbioru φij .

98 Maciej Lichtenstein
7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Aby zilustrowa¢ zaproponowan¡ reprezentacj¦ harmonogramu, rozpatrzmy


nast¦puj¡cy przykªad:
Przykªad 1. W systemie s¡ dwa stadia (m = 2) z trzema procesorami
w pierwszym stadium(m1 = 3) i dwoma procesorami w stadium drugim
(m2 = 2). Sze±¢ zada« (n = 6) o parametrach danych w Tablicy 7.1 ma
by¢ wykonanych w tym systemie. Wykres Gantt'a pokazany na Rysunku
7.1 przedstawia dopuszczalny harmonogram, dla którego Cmax = 160. Har-
monogram ten mo»e by¢ zdeniowany przez par¦ (π, φ), gdzie π = {π1 , π2 }
i φ = {φ1 = {φ11 , φ12 , φ13 , φ14 , φ15 , φ16 }, φ2 = {φ21 , φ22 , φ23 , φ24 , φ25 , φ26 }}.
Poszczególne listy πi i zbiory φij dane s¡ nast¦puj¡co: π1 = (1, 2, 3, 4, 5, 6),
π2 = (1, 2, 3, 4, 5, 6) oraz φ11 = {1, 3}, φ21 = {1}, φ12 = {1, 2}, φ22 = {1, 2},
φ13 = {1}, φ23 = {1, 2}, φ14 = {3}, φ24 = {2}, φ15 = {1, 2, 3}, φ25 = {1},
φ16 = {1}, φ26 = {1, 2}. Šatwo zauwa»y¢, »e je»eli lista π1 = (1, 2, 4, 3, 5, 6)
wówczas mamy do czynienia z tym samym harmonogramem.

Tablica 7.1: Parametry zada« dla Przykªadu 1.

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

7.3.2.1 Reprezentacja grafowa harmonogramu


Z ka»dym harmonogramem (π, φ) mo»na skojarzy¢ acykliczny, skierowany
graf G(π, φ). Ka»dy graf G(π, φ) = (V, E) skªada si¦ ze zbioru wierzchoªków
V = {(i, j), i ∈ M, j ∈ J} oraz zbioru kraw¦dzi E = E 0 ∪ E(π, φ). Ka»dy
wierzchoªek (i, j) odpowiada i-tej czynno±ci zadania j i posiada obci¡»e-
nie pij . Zbiór kraw¦dzi podzielony jest na dwa podzbiory, przy czym ka»da
0
kraw¦d¹ ma zerowe obci¡»enie. Zbiór kraw¦dzi E = {((i − 1, j), (i, j)), i ∈
M \{1}, j ∈ J} reprezentuje przepªyw zada« przez kolejne stadia. Zbiór
kraw¦dzi E(π, φ) = {((i, j), (i, k)), i ∈ M, j ∈ J, k ∈ z̄ij } reprezentuje sek-
wencje wykonywania operacji na poszczególnych procesorach, gdzie z̄ij jest
zbiorem bezpo±rednich nast¦pników i-tej czynno±ci zadania j . Aby dopeªni¢
opisu grafu nale»y zdeniowa¢ bezpo±redniego nast¦pnika czynno±ci.

 Szeregowanie zada« i rozdziaª zasobów ... 99


7.3 Problem uproszczony

Rysunek 7.1: Wykres Gantt'a dla harmonogramu z Przykªadu 1.

Denicja 7 Czynno±¢ oik jest bezpo±rednim nast¦pnikiem czynno±ci oij , je»eli


co najmniej jedna operacja czynno±ci oik jest wykonywana na tym samym
procesorze bezpo±rednio po jednej z operacji czynno±ci oij . Wówczas k ∈ z̄ij .
Graf dla harmonogramu z Przykªadu 1 jest przedstawiony na Rysunku
7.2.
U = (u1 , u2 , ..., ur ), gdzie uk = (ik , jk ) ∈ V , oznacza najdªu»sz¡
Niech
(krytyczn¡) ±cie»k¦ w grae G(π, φ). Jest oczywiste, »e mo»e istnie¢ wiele
±cie»ek krytycznych. Wówczas nale»y wybra¢ dowoln¡ z nich.
‘cie»ka krytyczna mo»e by¢ podzielona na m pod±cie»ek Ui = (ui1 , ..., ui2 ),
i ∈ M takich, »e dla ka»dego wierzchoªka uk = (ik , jk ) nale»¡cego do pod±-
cie»ki Ui zachodzi ik = i. Ka»da pod±cie»ka Ui , i ∈ M , reprezentuje krytyczne
czynno±ci wykonywane w stadium i. Pomimo tego, »e ±cie»ka Ui wskazuje
krytyczne czynno±ci, nie ka»da operacja takiej krytycznej czynno±ci musi by¢
krytyczna. Operacja krytyczna zostaªa zdeniowana nast¦puj¡co:

Denicja 8 Operacja jest operacj¡ krytyczn¡, je»eli nale»y do krytycznej


czynno±ci i jest wykonywana bezpo±rednio przed lub bezpo±rednio po operacji
innej czynno±ci krytycznej, bez przerwy w pracy procesora.
W Przykªadnie 1, pierwsza czynno±¢ zadania 2 jest krytyczna, jednak jej
operacja wykonywana na drugim procesorze, nie jest operacj¡ krytyczn¡.
Ka»demu wierzchoªkowi uk nale»¡cemu do pod±cie»ki Ui odpowiada pozy-
cja w li±cie πi . Niech ji1 oraz ji2 b¦d¡ pozycjami odpowiadaj¡cymi pier-
wszemu oraz ostatniemu wierzchoªkowi w pod±cie»ce Ui . Wówczas, sekwencja

100 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

1,1 1,2 1,3 1,4 1,5 1,6

2,1 2,2 2,3 2,4 2,5 2,6

Rysunek 7.2: Graf G(π, φ) dla harmonogramu z Przykªadu 1. ‘cie»ka kryty-


czna zostaªa zaznaczona pogrubion¡ lini¡.

czynno±ci Bi = πi (ji1 ), ..., πi (ji2 ) b¦dzie nazywana blokiem. Pomimo tego, »e


wielko±ci U , Ui oraz Bi zale»¡ od harmonogramu (π, φ), dla uproszczenia
oznacze«, nie b¦dziemy oznacza¢ tego faktu.
Šatwo zauwa»y¢, »e nie ka»da czynno±¢ w bloku Bi musi by¢ czynno±ci¡
krytyczn¡  w Przykªadzie 1, druga czynno±¢ zadania 5 nie jest czynno±ci¡
krytyczn¡ pomimo tego, »e nale»y do bloku B2 .
Niech Cmax (π, φ) oznacza dªugo±¢ uszeregowania dla harmonogramu (π, φ).
Wówczas, mo»na przedstawi¢ nast¦puj¡ce wªasno±ci, które b¦d¡ u»ywane w
zaproponowanym algorytmie, do wyeliminowania harmonogramów nie przynosz¡-
cych poprawy warto±ci kryterium (s¡ to tzw. wªasno±ci blokowe [40, 112, 139,
140].

Wªasno±¢ 16 Je»eli Bi = (πi (ji1 ), ..., πi (ji2 )) jest blokiem w harmonogramie


0
(π, φ), to dla ka»dego harmonogramu (π , φ) otrzymanego z harmonogramu
0
(π, φ), przez zamian¦ elementów w sekwencji (πi (1), ..., πi (ji1 )) zachodzi Cmax (π , φ) ≥
Cmax (π, φ).

Wªasno±¢ 17 Je»eli Bi = (πi (ji1 ), ..., πi (ji2 )) jest blokiem w harmonogramie


0
(π, φ), to dla ka»dego harmonogramu (π , φ) otrzymanego z harmonogramu
0
(π, φ), przez zamian¦ elementów w sekwencji (πi (ji2 ), ..., πi (n)) zachodzi Cmax (π , φ) ≥
Cmax (π, φ).

Wªasno±¢ 18 Je»eli Bi = (πi (ji1 ), ..., πi (ji2 )) jest blokiem w harmonogramie


0
(π, φ), to, dla ka»dego harmonogramu (π , φ) otrzymanego z harmonogramu
(π, φ), przez przemieszczenie elementu nie nale»¡cego do bloku Bi na dowoln¡
0
inn¡ pozycj¦ w li±cie π , zachodzi Cmax (π , φ) ≥ Cmax (π, φ).

 Szeregowanie zada« i rozdziaª zasobów ... 101


7.3 Problem uproszczony

Wªasno±¢ 19 Je»eli (π, φ ) jest harmonogramem uzyskanym z harmono-


0

gramu (π, φ) przez zmian¦ przydziaªu operacji dowolnej niekrytycznej czyn-


0
no±ci, to zachodzi Cmax (π, φ ) ≥ Cmax (π, φ).

Dowody powy»szych wªasno±ci nie s¡ skomplikowane i wynikaj¡ z analizy


±cie»ek krytycznych w grafach G(π, φ), G(π 0 , φ) oraz G(π, φ0 ). Dla peªno±ci
rozwa»a« dowody tych wªasno±ci zamieszczono poni»ej.

Dowody Wªasno±ci 1619

Przypomnijmy, »e ±cie»ka krytyczna w grae G(π, φ) jest zdeniowana


przez sekwencj¦ wierzchoªków U = (u1 , ..., ur ) = U1 U2 ...Um , która mo»e by¢
zdekomponowana na m podsekwencji Uk , k ∈ M w sposób przedstawiony
przy denicji grafu G(π, φ).
0 0 0 0 0
Przez U = U1 U2 ...Um oznaczymy ±cie»k¦ w grae G(π , φ) (nie koniecznie
0
krytyczn¡) tak¡, »e Uk = Uk dla k 6= i. Šatwo zauwa»y¢ z konstrukcji grafu
G(π 0 , φ), »e taka ±cie»ka istnieje.
0 0
Oznaczmy przez ||U || (||U ||) dªugo±¢ ±cie»ki U (U ). Kluczem ka»dego
0 0
dowodu jest pokazanie, »e istnieje ±cie»ka U taka, »e ||U || ≥ ||U ||. Poniewa»
0 0
±cie»ka U nie musi by¢ krytyczna w grae G(π , φ), natychmiast otrzymu-
0
jemy, »e Cmax (π , φ) ≥ Cmax (π, φ).

Dowód Wªasno±ci 16. Oznaczmy sekwencj¦ przedstawion¡ we Wªasno±ci


16 w nast¦puj¡cy sposób:

(πi (1), . . . , πi (x), . . . , πi (y), . . . , πi (ji1 )),

gdzie x i y (1 ≤ x < y ≤ ji1 ) s¡ indeksami elementów zamienianych miejs-


cami. Po zamianie sekwencja ta b¦dzie nast¦puj¡ca:

(πi (1), ..., πi (y), ..., πi (x), ..., πi (ji1 )).

Na wst¦pie zauwa»my, »e czynno±¢ πi (ji1 ) odpowiada pierwszemu wierz-


choªkowi w pod±cie»ce Ui . Rozwa»my oddzielnie dwa nast¦puj¡ce przypadki:
(i) y < ji1 i (ii) y = ji1 .
Przypadek (i):. Wystarczy zauwa»y¢, »e istnieje ±cie»ka U0 taka, »e Ui0 =
Ui (z tym, »e czynno±ci wykonywane s¡ w innej kolejno±ci). Z powy»szego
0 0
stwierdzenia wynika fakt, »e istnieje ±cie»ka U taka, »e ||U || = ||U ||, a
0
poniewa» nie musi ona by¢ krytyczna otrzymujemy Cmax (π , φ) ≥ Cmax (π, φ).
Przypadek (ii): W tym przypadku wystarczy zauwa»y¢, »e po zamianie
0 0
elementów πi (x) oraz πi (ji1 ) istnieje ±cie»ka U taka, »e w pod±cie»ce Ui wys-
t¦puj¡ wszystkie wierzchoªki z pod±cie»ki Ui . Co wi¦cej, liczba wierzchoªków

102 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

w pod±cie»ce Ui0 jest nie mniejsza ni» liczba wierzchoªków w pod±cie»ce Ui .


St¡d wynika, »e ||U 0 || ≥ ||U || i Cmax (π 0 , φ) ≥ Cmax (π, φ).

Dowód Wªasno±ci 17. Dowód Wªasno±ci 17 jest bardzo podobny do dowodu


Wªasno±ci 16 i zostanie pomini¦ty.

Dowód Wªasno±ci 18. Oznaczmy przez x pozycj¦ czynno±ci w li±cie πi ,


która jest przemieszczana na pozycj¦ y w tej li±cie. Przypomnijmy, »e πi (x)
nie nale»y do bloku Bi , wi¦c x ∈ {1, ..., ji1 − 1, ji2 + 1, ..., n}. Rozpatrzmy dwa
nast¦puj¡ce przypadki:(i) y ∈ {1, . . . , ji1 , ji2 , . . . , n} oraz (ii) ji1 < y < ji2 .
Przypadek (i): Šatwo zauwa»y¢, »e je»eli y ∈ {1, . . . , ji1 , ji2 , . . . , n}, to
0 0 0
istnieje ±cie»ka U taka, »e Ui = Ui , sk¡d wynika, »e Cmax (π , φ) ≥ Cmax (π, φ).
Przypadek (ii): Je»eli ji1 < y < ji2 , to istnieje ±cie»ka U 0 taka, »e wszystkie
0
wierzchoªki z pod±cie»ki Ui nale»¡ do pod±cie»ki Ui . Dodatkowo, wierzchoªek
0 0
odpowiadaj¡cy czynno±ci πi (x) mo»e nale»e¢ do U , sk¡d wynika, »e ||U || ≥
||U ||, a to prowadzi do wniosku, »e Cmax (π 0 , φ) ≥ Cmax (π, φ).

Dowód Wªasno±ci 19. Jest oczywiste, »e je»eli zmiana przydziaªu proce-


sorów dla niekrytycznej operacji nie spowoduje, »e staje si¦ ona krytyczna to
nie mo»e ona przynie±¢ poprawy warto±ci kryterium. Rozpatrzmy wi¦c przy-
padek, gdy zmiana taka sprawia, »e operacja staje si¦ krytyczna. Oznaczmy
t¡ operacj¦ przez oij . Wówczas mamy dwa mo»liwe przypadki: (i) operacja
oij nale»y do bloku Bi oraz (ii) operacja oij nie nale»y do bloku Bi .
Przypadek (i): Šatwo zauwa»y¢, »e je»eli operacja oij nale»y do Bi , to
0 0 0
istnieje ±cie»ka U taka, »e ||Ui || ≥ ||Ui || + pij , sk¡d wynika, »e Cmax (π , φ) ≥
Cmax (π, φ0 ).
Przypadek (ii): Je»eli operacja oij nie nale»y do Bi , to po zmianie przydzi-
0
aªu procesorów, b¦dzie nale»aªa do bloku Bi , nale»y jednak zwróci¢ uwag¦ na
0
to, »e w grae G(π, φ ) b¦dzie istniaªa ±cie»ka zawieraj¡ca wszystkie zadania
0 0
z bloku Bi . W zwi¡zku z tym, istnieje ±cie»ka U taka, »e ||Ui || = ||Ui || + pij ,
0
sk¡d wynika, »e Cmax (π, φ ) ≥ Cmax (π, φ).

7.3.2.2 Algorytm Tabu Search (TS)


Zaproponowany algorytm przybli»ony zostaª zbudowany w oparciu o tech-
nik¦ Tabu Search. Technika ta, zaproponowana przez F. Glover'a [35, 36] jest
metod¡ poszukiwania lokalnego, z deterministycznym mechanizmem unika-
nia lokalnych minimów. Ogólna zasada dziaªania polega na tym, »e algorytm
rozpoczyna poszukiwania od pewnego rozwi¡zania pocz¡tkowego i sukcesy-
wnie przemieszcza si¦ do rozwi¡za« s¡siednich. W ka»dej iteracji algorytmu,

 Szeregowanie zada« i rozdziaª zasobów ... 103


7.3 Problem uproszczony

wykonywany jest ruch z rozwi¡zania aktualnego, do najlepszego rozwi¡za-


nia s¡siedniego. Aby zapobiec cyklom oraz wyj±¢ z lokalnego minimum,
wprowadza si¦ pami¦¢ odwiedzanych rozwi¡za«. Najcz¦±ciej stosowanym typem
pami¦ci jest pami¦¢ krótkoterminowa, nazywana list¡ tabu. Na li±cie tej
pami¦tana jest pewna liczba ostatnio odwiedzonych rozwi¡za«, ich atrybutów
lub ruchów do nich prowadz¡cych. Ruch ma status tabu (jest pomini¦ty w
procesie poszukiwania), je»eli prowadzi do rozwi¡zania ju» odwiedzonego.
Dokªadniejszy opis metody Tabu Search, z ró»nymi jej odmianami, mo»na
znale¹¢ m.in. w pracach [1, 35, 36, 112].
Efektywno±¢ algorytmów opartych o technik¦ Tabu Search zale»y od nast¦pu-
j¡cych czynników: rozwi¡zanie pocz¡tkowe, ruchy i s¡siedztwo, lista tabu i
warunki zatrzymania. W dalszej cz¦±ci zostanie przedstawiony zaproponowany
algorytm Tabu Search, z uwzgl¦dnieniem wszystkich wymienionych czyn-
ników.

7.3.2.2.1 Rozwi¡zanie pocz¡tkowe.


W celu otrzymania rozwi¡zania pocz¡tkowego, zastosowano algorytm kon-
strukcyjny C. Zasada dziaªania tego algorytmu jest nast¦puj¡ca: W pierwszej
kolejno±ci wyznaczana jest lista zada« π1 w
Pten sposób, »e czynno±ci s¡ usz-
eregowane wg nierosn¡cych warto±ci pj = i∈M pij sizeij . Nast¦pnie, kolejne
czynno±ci z listy π1 przydzielane s¡ do procesorów. Przydziaª ten nast¦puje
wg nast¦puj¡cej reguªy: czynno±¢ o1j przydzielana do takich size1j proce-
sorów stadium 1, »e jej termin zako«czenia b¦dzie najmniejszy. Jednocze±nie,
wyznaczane s¡ terminy zako«czenia wykonywania czynno±ci. Dla ka»dego
nast¦pnego stadium i>1 algorytm dziaªa bardzo podobnie, z t¡ ró»nic¡, »e
lista πi , wyznaczana jest wg niemalej¡cych warto±ci terminów zako«czenia
wykonywania czynno±ci w stadium poprzednim (C(i−1)j ).
Algorytm ten zostaª przedstawiony w Procedurze 2.

7.3.2.2.2 Ruchy i s¡siedztwo.


W wielu pracach pokazano, »e ruchy typu insert s¡ najlepsze dla prob-
lemów minimalizacji dªugo±ci uszeregowania w systemach przepªywowych
[9, 146, 147]). W zaproponowanym algorytmie, ruch jest równie» ruchem
typu insert i jest zdeniowany przez wektor θ = (i, j, k, x, y), który deni-
uje nast¦puj¡c¡ zmian¦ w harmonogramie (π, φ):

• usu« czynno±¢ πi (j) z pozycji j i wstaw j¡ na pozycj¦ k w li±cie πi ,

• usu« element x ze zbioru φiπi (k) oraz dodaj do tego zbioru element y.

104 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Procedura 2 Algorytm C wyznaczania rozwi¡zania pocz¡tkowego dla


metody Tabu Search
1: W pierwszym stadium wyznacz list¦ π1 szereguj¡c czynno±ci wedªug
P
nierosn¡cych warto±ci pj = p
i∈M ij sizeij , tzn. wyznacz list¦ π1 tak¡,
pπ1 (j) ≥ pπ1 (j+1) .
»e
2: for j = 1, ...n do
3: Przydziel czynno±¢ π1 (j) do size1π1 (j) procesorów, które najwcze±niej
ko«cz¡ wykonywanie poprzednich operacji. Wyznacz termin C1π(j) .
4: end for
5: for i = 2, ..., m do
6: Wyznacz list¦ πi , tak¡, »e Ciπi (j) ≤ Ciπi (j+1) .
7: for j = 1, ...n do
8: Przydziel czynno±¢ πi (j) do sizeiπ1 (j) procesorów, które najwcze±niej
ko«cz¡ wykonywanie poprzednich operacji. Wyznacz termin Ciπ(j) .
9: end for
10: end for

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

oraz czas potrzebny na przegl¡dni¦cie caªego s¡siedztwa (tzn. wyliczenie


warto±ci kryterium dla ka»dego harmonogramu w s¡siedztwie) wynosi:
! !!
X X
O n sizeij sizeij (mi − sizeij + 1) .
i∈M,j∈J i∈M,j∈J

W algorytmie zastosowano ograniczone s¡siedztwo N (Ξ(π, φ)), gdzie zbiór


ruchów Ξ(π, φ) ⊂ Θ(π, φ) jest otrzymany ze zbioru Θ(π, φ) przez eliminacj¦
ruchów nie przynosz¡cych poprawy, po zastosowaniu Wªasno±ci 16-19.

 Szeregowanie zada« i rozdziaª zasobów ... 105


7.3 Problem uproszczony

7.3.2.2.3 Lista tabu.


W zaproponowanym algorytmie zastosowano list¦ tabu zaproponowan¡
przez E. Tailard'a w pracy [146]. Na li±cie tej zapami¦tywane s¡ warto±ci
kryterium dla maxl ostatnio odwiedzonych rozwi¡za«. W czasie pracy al-
gorytmu dªugo±¢ listy tabu (maxl ) zmienia si¦ dynamicznie od 7 do 100.
Ruch ma status tabu, je»eli prowadzi do harmonogramu o warto±ci kryterium
równej jednej z warto±ci zapami¦tanej na li±cie tabu.

7.3.2.2.4 Warunki zatrzymania oraz mechanizmy dodatkowe.


Algorytm ko«czy prac¦ je»eli liczba iteracji przekroczy warto±¢ T otalIter,
a priori zadan¡ staª¡. Aby skierowa¢ proces poszukiwa« w nowe regiony
przestrzeni rozwi¡za« zastosowano dodatkowy mechanizm dywersykacji. Je»eli
wykonano M axIter iteracji i nie otrzymano poprawy warto±ci kryterium,
to proces poszukiwa« zostaje zatrzymany i wykonywanych jest RM oves
ruchów o losowych parametrach oraz lista tabu jest zerowana. Nast¦pnie
proces poszukiwa« jest wznawiany. Po serii eksperymentów ustalono, »e al-
gorytm zachowuje si¦ najlepiej, je»eli parametry maj¡ nast¦puj¡ce warto±ci:
T otalIter = 10000, M axIter = 3000 i RM oves = 3.

7.3.2.3 Technika przegl¡dania s¡siedztwa.


Poniewa» ponad 90% czasu dziaªania algorytm sp¦dza na przegl¡daniu
s¡siedztwa, metoda wyznaczania warto±ci kryterium dla harmonogramów
s¡siednich jest bardzo istotna z punktu widzenia efektywno±ci algorytmu
(czasu dziaªania). Aby zwi¦kszy¢ efektywno±¢ zaproponowanego algorytmu,
zastosowano algorytm szybkiego przegl¡dania s¡siedztwa. Gªówna idea tego al-
gorytmu opiera si¦ na wyra»eniu warto±ci kryterium przez dªugo±ci pewnych
îĵ îĵ
±cie»ek w grae G(π, φ) oraz w zmodykowanym grae G (π, φ). Graf G (π, φ)
odpowiada zmodykowanemu harmonogramowi otrzymanemu z harmono-
gramu (π, φ), skonstruowanego w ten sposób, »e czynno±¢ î zadania ĵ nie jest
uwzgl¦dniana w tym harmonogramie. Wykres Gantt'a oraz graf G23 (π, φ)
zwi¡zane z harmonogramem z Przykªadu 1 jest odpowiednio przedstawiony
na Rysunkach 7.3 oraz 7.4.
Aby przedstawi¢ algorytm szybkiego przegl¡dania s¡siedztwa, w pierwszej
kolejno±ci nale»y zdeniowa¢ zbiór bezpo±rednich poprzedników czynno±ci
(z ij ).

Denicja 9 Czynno±¢ oik jest bezpo±rednim poprzednikiem czynno±ci oij ,


je»eli co najmniej jedna operacja czynno±ci oik jest wykonywana na tym

106 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Rysunek 7.3: Wykres Gantt'a dla harmonogramu z Przykªadu 1 (czynno±¢ 2


zadania 3 nie jest uwzgl¦dniona w harmonogramie)

samym procesorze bezpo±rednio przed jedn¡ z operacji czynno±ci oij . Wówczas


k ∈ z ij .

Przypomnijmy, »e z̄ij oznacza zbiór bezpo±rednich nast¦pników czynno±ci


oij . Poniewa» wierzchoªek (i, j) w grae G(π, φ) odpowiada czynno±ci oij ,
w dalszym opisie poj¦cie czynno±ci i wierzchoªka b¦d¡ u»ywane zamiennie.
ĵ ĵ
Tak wi¦c, przez z̄ik i z ik oznaczone zostan¡ zbiory odpowiednio bezpo±red-
îĵ
nich nast¦pników i poprzedników wierzchoªka (i, k) w grae G (π, φ). Do-
datkowo, niech z̄îĵh i z îĵh oznacza odpowiednio zbiór bezpo±rednich nast¦p-

ników i poprzedników czynno±ci î zadania ĵ po umieszczeniu jej na pozycji h


w li±cie π. Zauwa»my, »e wszystkie te zbiory mog¡ by¢ bezpo±rednio otrzy-
mane z reprezentacji grafowej odpowiednich harmonogramów.
Poni»ej zostaªy zdeniowane nast¦puj¡ce ±cie»ki w grafach:

• eik - dªugo±¢ najdªu»szej ±cie»ki dochodz¡cej do wierzchoªka (i, k) (ª¡cznie


z pik ) w grae G(π, φ),

• qik - dªugo±¢ najdªu»szej ±cie»ki wychodz¡cej z wierzchoªka (i, k) (ª¡cznie


z pik ) w grae G(π, φ),

• eĵik - dªugo±¢ najdªu»szej ±cie»ki dochodz¡cej do wierzchoªka (i, k) (ª¡cznie


îĵ
z pik ) w grae G (π, φ),

 Szeregowanie zada« i rozdziaª zasobów ... 107


7.3 Problem uproszczony

1,1 1,2 1,3 1,4 1,5 1,6

2,1 2,2 2,4 2,5 2,6

Rysunek 7.4: Graf G23 (π, φ) dla harmonogramu z Przykªadu 1.


• 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:

eik = max{e(i−1)k , max{eil }} + pik dla i ∈ M, k ∈ J (7.8)


l∈z ik

qik = max{q(i+1)k , max{qil }} + pik dla i ∈ M, k ∈ J (7.9)


l∈z̄ik

eĵik = max{e(i−1)k , max{eĵil }} + pik dla i ∈ M, k ∈ J\{ĵ} (7.10)


l∈z ĵik

qik = max{q(i+1)k , max{qilĵ }} + pik dla i ∈ M, k ∈ J\{ĵ} (7.11)

l∈z̄ik

îĵ
Cmax = max {eĵîk + qîk

− pîk }, (7.12)
k∈J\{ĵ}

gdzie e0k = eĵ0k = 0 and



q(m+1)k = q(m+1)k = 0.
Ostatecznie warto±¢ kryterium po przeniesieniu czynno±ci î zadania ĵ na
pozycj¦ h w harmonogramie (π, φ) wynosi:

îĵh
Cmax îĵ
= max{Cmax , max {eĵîl } + max {qîlĵ } + pîĵ }. (7.13)
l∈z îĵh l∈z̄îĵh

Algorytm szybkiego przegl¡dania s¡siedztwa zostaª przedstawiony w Pro-


cedurze 3.

108 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Procedura 3 Algorytm szybkiego przegl¡dania s¡siedztwa.


1: for ĵ ∈ J do
2: for î ∈ M do
3: for k ∈ J do
π (ĵ) π (ĵ)
4: Wyznacz eîkî i qîkî na podstawie (7.8)-(7.11),
5: end for
î,π (ĵ)
6: Wyznacz Cmaxî ,
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

Dokonuj¡c analizy zªo»ono±ci obliczeniowej algorytmu szybkiego przegl¡-


dania s¡siedztwa otrzymujemy: wiersz 4 wymaga
P O(sizeij ) czasu, wi¦c wier-
sze 3-5 mog¡ by¢ zrealizowane w czasie O( j∈J sizeij ); wiersz
P 6 wymaga
P
O(n) czasu, wi¦c wiersze 2-7 mog¡ by¢ zrealizowane w czasie O( i∈M j∈J sizeij );
wiersz 9 wymaga O(1) czasu oraz wiersze 10 i 11 wymagaj¡ O(sizeij ) czasu;
P P
dla ka»dego j istnieje nie wi¦cej ni» O( j∈J sizeij (m − sizeij + 1))
i∈M Pi P 2
ruchów, wi¦c wiersze 8-12 mog¡ by¢ zrealizowane w czasie O( i∈M j∈J sizeij (mi −
sizeij + 1)). Ostatecznie zªo»ono±¢ obliczeniowa zaproponowanego algorytmu
wynosi:
!
XX
O n size2ij (mi − sizeij + 1) . (7.14)
i∈M j∈J

Przeprowadzone eksperymenty pokazaªy, »e zastosowanie powy»szego al-


gorytmu znacznie przyspiesza dziaªanie zaproponowanej metody Tabu Search.
Dla du»ych instancji problemu (np. n = 100, m = 10), algorytm pracuje
ponad 400 razy szybciej.

7.3.2.4 Analiza eksperymentalna


Zaproponowany algorytm zostaª zaimplementowany w j¦zyku C++ oraz
uruchamiany na komputerze klasy PC 686/800MHz. Aby przetestowa¢ efek-
tywno±¢ zaproponowanego algorytmu, wygenerowano dwa rodzaje instancji
problemu. Pierwsz¡ grup¦ stanowiªy instancje o znanej warto±ci kryterium
dla rozwi¡zania optymalnego. Instancje te byªy generowane w taki sposób, »e

 Szeregowanie zada« i rozdziaª zasobów ... 109


7.3 Problem uproszczony

w pierwszej kolejno±ci generowano wierzchoªki (czynno±ci) krytyczne w grae


G(π, φ), a nast¦pnie wierzchoªki pozostaªe, w taki sposób aby nie naruszy¢
±cie»ki krytycznej w grae G(π, φ). Jak pokazaªy eksperymenty, instancje
generowane w ten sposób nie s¡ trudne do rozwi¡zania, wi¦c dodatkowo
wygenerowano instancje o losowych parametrach.
Instancje o losowych parametrach zostaªy podzielone na dwie kategorie:
(a) instancje z ró»n¡ (losow¡) liczb¡ procesorów w ka»dym stadium oraz (b)
instancje z tak¡ sam¡ liczb¡ procesorów w ka»dym stadium. Dla ka»dej kat-
egorii oraz dla ka»dej kombinacji parametrów n i m (n = 5, 10, 20, 50, 100,
m = 2, 5, 8, 10), wygenerowano 10 instancji problemu. Parametry zada« gen-
erowane byªy z jednostajnym prawdopodobie«stwem (liczby caªkowite) na
nast¦puj¡cych przedziaªach:

• pij ∈ [1; 100],

• sizeij ∈ [1; mi ],

• mi ∈ [1; 5] dla kategorii (a) lub mi = 5 dla kategorii (b).

Efektywno±¢ algorytmu badano przy u»yciu nast¦puj¡cych wska¹ników:

A
Cmax ∗
−Cmax
• ηA = ∗
Cmax
 wzgl¦dna odlegªo±¢ od rozwi¡zania optymalnego dla

algorytmów A ∈ {C, T S} oraz instancji o znanej optymalnej warto±ci


A
kryterium, gdzie Cmax oznacza warto±¢ kryterium dla rozwi¡zania dostar-

czonego przez algorytm A oraz Cmax oznacza warto±¢ kryterium dla
rozwi¡zania optymalnego.
A
Cmax −LB
γA = LB
 wzgl¦dna odlegªo±¢ rozwi¡zania dostarczonego przez
algorytm A od dolnego oszacowania warto±ci optymalnej kryterium
(LB ).

C
Cmax TS
−Cmax
• ζ= TS
Cmax
 wzgl¦dna poprawa rozwi¡zania pocz¡tkowego (C) os-
i¡gni¦ta przez algorytmu TS.

• TIME - czas wykonywania jednej iteracji algorytmu TS w milisekun-


dach.

110 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Dolne oszacowanie warto±ci kryterium wyznaczane byªo dla ka»dej in-


stancji na podstawie nast¦puj¡cej zale»no±ci:

( ( 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

‘rednie warto±ci wska¹ników zebrano w Tablicy 7.2.


Pierwszym wnioskiem z przeprowadzonej analizy jest to, »e warto±ci wska¹ników
γ̄T S rosn¡ wraz ze wzrostem liczby stadiów m. Jest to gªównie spowodowane
tym, »e zastosowane dolne oszacowanie warto±ci optymalnej kryterium (rów-
nanie (7.15)) staje si¦ mniej efektywne wraz ze wzrostem warto±ci m oraz
mi .
Nast¦pnym wnioskiem jest to, »e warto±ci wska¹ników γ̄T S malej¡ ze
wzrostem liczby zada«. Jest to gªównie spowodowane tym, »e wraz ze wzrostem
liczby zada« rosn¡ warto±ci kryterium, a to powoduje spadek warto±ci tych
wska¹ników.
Wyniki równie» pokazuj¡, »e zaproponowany algorytm TS znacz¡co poprawia
rozwi¡zanie pocz¡tkowe dostarczone przez algorytm C  ±rednio ponad 9%
dla instancji z kategorii (a) i prawie 16% dla instancji z kategorii (b). Ró»nica
ta gªównie wynika z tego, »e jako±¢ rozwi¡za« pocz¡tkowych, dostarczanych
przez algorytm C, jest tym gorsza im wi¦ksza jest liczba procesorów w poszczegól-
nych stadiach.
Czas dziaªania algorytmu TS (10000 iteracji) zmienia si¦ od okoªo 3
sekund dla maªych instancji, do okoªo godziny dla du»ych. Czas ten jest silnie
zale»ny zarówno od rozmiaru problemu (n i m), jak i od liczby procesorów
wymaganych przez poszczególne czynno±ci (sizeij ), jak wynika ze zªo»ono±ci
obliczeniowej zaproponowanej metody szybkiego przegl¡dania s¡siedztwa (7.14).
Ponadto, rozmiar ograniczonego s¡siedztwa N (Ξ(π, φ)) zale»y od aktualnego
harmonogramu (π, φ), wi¦c mo»e by¢ zmienny.
Przedstawione wyniki pokazuj¡ równie», »e zaproponowany algorytm TS
dostarcza optymalnych lub bardzo bliskich optymalnym rozwi¡za«, dla in-
stancji o znanej optymalnej warto±ci kryterium oraz dla losowych instancji
z maª¡ liczb¡ stadiów m. Mo»na wi¦c oczekiwa¢, »e dostarcza on równie»
dobrych rozwi¡za« dla instancji o du»ej liczbie stadiów, zwa»ywszy na to, »e
zaproponowane dolne oszacowanie warto±ci optymalnej kryterium staje si¦
tym mniej efektywne im wi¦ksze s¡ warto±ci parametru m.

 Szeregowanie zada« i rozdziaª zasobów ... 111


7.3 Problem uproszczony

Tablica 7.2: Wyniki analizy eksperymantalnej dla algorytmów C i TS

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 -

112 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

7.4 Problem ogólny


W dalszej cz¦±ci b¦dzie rozpatrywany problem ogólny, tzn. problem

F (P )|rj , qj , sizeij , sijk |Cmax . (7.16)

Na wst¦pie zauwa»my, »e w powy»szym problemie, harmonogram mo»e


by¢ reprezentowany w taki sam sposób jak w problemie uproszczonym (7.2),
tzn. przez par¦ (π, φ). Inna jest jednak metoda wyznaczania terminów za-
ko«czenia wykonywania czynno±ci. Idea dziaªania tej metody jest taka sama
jak dla problemu uproszczonego, ale uwzgl¦dniane s¡ dodatkowo terminy
dost¦pno±ci, czasy transportu i czasy przezbroje«. Algorytm wyznaczania
terminów zako«czenia wykonywania czynno±ci zostaª przedstawiony w Pro-
cedurze 4.

Procedura 4 Wyznaczenie terminów zako«czenia wykonywania czynno±ci,


dla ustalonego harmonogramu (π, φ) - dla problemu ogólnego.
1: C0j := 0, j ∈ J
0
2: jil := 0, i ∈ M , l ∈ Mi
3: for i ∈ M do
4: for j ∈ J do
5: Ciπi (j) := max{C(i−1)πi (j) + t(i−1)πi (j) , maxl∈φiπi (j) {Cij 0 + sij 0 πi (j) }} +
il il
piπi (j)
6: for l ∈ φiπi (j) do
0
7: jil := πi (j)
8: end for
9: end for
10: end for

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

 Szeregowanie zada« i rozdziaª zasobów ... 113


7.4 Problem ogólny

s¡ nast¦puj¡co: π1 = (1, 2, 5, 3, 4, 6, 7, 8), π2 = (2, 1, 5, 3, 4, 6, 7, 8) oraz φ11 =


{1}, φ21 = {1, 3}, φ12 = {2, 3}, φ22 = {1, 2, 3}, φ13 = {1, 2}, φ23 = {1},
φ14 = {3, 4}, φ24 = {2}, φ15 = {4}, φ25 = {2, 3}, φ16 = {1, 2, 3, 4}, φ26 = {3},
φ17 = {1, 2, 4}, φ27 = {1, 2}, φ18 = {3}, φ28 = {1, 2, 3}.

Tablica 7.3: Parametry zada« dla Przykªadu 2.

stadium1 stadium 2 transport


zadanie pij sizeij zadanie pij sizeij zadanie rj qj t1j
1 20 1 1 30 2 1 0 30 10
2 30 2 2 20 3 2 0 60 10
3 20 2 3 40 1 3 70 30 50
4 40 2 4 70 1 4 0 50 20
5 40 1 5 30 2 5 0 70 40
6 40 4 6 40 1 6 0 90 60
7 40 3 7 30 2 7 210 20 20
8 50 1 8 20 3 8 0 10 40

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

W dalszej cz¦±ci, w pierwszej kolejno±ci podana zostanie reprezentacja


grafowa harmonogramu. Nast¦pnie zostan¡ przedstawione algorytmy kon-
stukcyjne oraz dwa algorytmy metaheurystyczne, oparte o techniki Tabu
Search oraz Symulowanego Wy»arzania, które zaproponowano do rozwi¡zania
badanego problemu. Na ko«cu zebrano wnioski z przeprowadzonych ekspery-
mentów numerycznych.

114 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Rysunek 7.5: Wykres Gantt'a dla harmonogramu z Przykªadu 2.

7.4.1 Reprezentacja grafowa harmonogramu


Podobnie jak dla problemu uproszczonego, z ka»dym harmonogramem
(π, φ), mo»na zwi¡za¢ acykliczny graf skierowany G(π, φ) = (V, E). Zbiór
wierzchoªków tego grafu V = V1 ∪ V2 ∪ V3 , gdzie V1 = {(i, 0), i ∈ M }, V2 =
{(i, j), i ∈ M, j ∈ J}, oraz V3 = {(0), (∗)}. Ka»dy wierzchoªek (i, j) zbioru
V2 odpowiada czynno±ci oij i ma obci¡»enie pij . Elementy (i, 0) zbioru V1
maj¡ zerowe obci¡»enie i reprezentuj¡ dodatkowe czynno±ci zerowe, sªu»¡ce
do modelowania przezbroje« si0j . Wierzchoªki (0) oraz (∗) nale»¡ce do zbioru
V3 to odpowiednio wierzchoªek pocz¡tkowy i ko«cowy o zerowym obci¡»eniu.

Zbiór kraw¦dzi grafu E = E1 ∪ E2 ∪ E3 ∪ E4 , gdzie E1 = {((0), (1, j)), j ∈


J ∪{0}}, E2 = {((i, j), (i+1, j)), i ∈ M \{m}, j ∈ J}, E3 = {((i, j), (i, k)), i ∈
M, j ∈ J ∪ {0}, k ∈ z̄ij } oraz E4 = {((m, j), (∗)), j ∈ J ∪ {0}}, gdzie z̄ij jest
zbiorem bezpo±rednich nast¦pników operacji oij zdeniowanym tak samo jak
dla problemu uproszczonego (Denicja 7). Ka»da kraw¦d¹ ((0), (1, j)) ∈ E1
ma obci¡»enie rj za wyj¡tkiem kraw¦dzi ((0), (1, 0)) o zerowym obci¡»e-
niu. Kraw¦dzie zbioru E1 modeluj¡ terminy dost¦pno±ci zada«. Kraw¦dzie
((i, j), (i + 1, j)) ∈ E2 maj¡ obci¡»enie tij i modeluj¡ przepªyw zada« przez
kolejne stadia. Kraw¦dzie ((i, j), (i, k)) ∈ E3 maj¡ obci¡»enie sijk i modeluj¡
sekwencj¦ wykonywania operacji na poszczególnych procesorach. Kraw¦dzie
((m, j), (∗)) ∈ E4 maj¡ obci¡»enie qj , za wyj¡tkiem kraw¦dzi ((m, 0), (∗))
o zerowym obci¡»eniu. Kraw¦dzie zbioru E4 modeluj¡ czasy dostarczenia

 Szeregowanie zada« i rozdziaª zasobów ... 115


7.4 Problem ogólny

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.

Rysunek 7.6: Graf G(π, φ) dla harmonogramu z Przykªadu 1 (lini¡ pogru-


bion¡ zaznaczono ±cie»k¦ krytyczn¡).

116 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Rysunek 7.7: Przykªadowy fragment grafu z zaznaczonymi obci¡»eniami


kraw¦dzi.

Przedstawiona powy»ej reprezentacja grafowa zostaªa wykorzystana w


zaproponowanym w dalszej cz¦±ci algorytmie Tabu Search do konstrukcji
algorytmu szybkiego przegl¡dania s¡siedztwa.

7.4.2 Dolne oszacowanie optymalnej warto±ci kryterium


Zanim przedstawione zostan¡ algorytmy przybli»one dla badanego prob-
lemu, zaprezentowana zostanie metoda wyznaczania dolnego oszacowania
warto±ci optymalnej kryterium. Oszacowanie to zostaªo opracowane celem
porównania jako±ci rozwi¡za« dostarczanych przez zaproponowane algorytmy
przybli»one.

Oznaczmy przez

LB = max{LB1 , LB2 , LB3 } (7.17)

 Szeregowanie zada« i rozdziaª zasobów ... 117


7.4 Problem ogólny

dolne oszacowanie warto±ci optymalnej kryterium.


Ka»da z wielko±ci LB1 , LB2 i LB3 równie» jest dolnym oszacowaniem
warto±ci optymalnej kryterium, jednak ka»da z nich wyznaczana jest w inny
sposób. W dalszej cz¦±ci przedstawione zostan¡ kolejno te trzy oszacowania.

Pierwsze oszacowanie jest nast¦puj¡ce:


 
X X 
LB1 = max pij + tij .
j∈J  
i∈M i∈M∪{0}

Interpretacja tego oszacowania jest oczywista, zwa»ywszy na fakt, »e »adne z


P P
zada«, nie mo»e zosta¢ zako«czone przed terminem i∈M pij + i∈M∪{0} tij .
Aby przedstawi¢ kolejne dwa oszacowania wprowad¹my nast¦puj¡ce oz-
0
naczenia. Niech Ji ⊂ J oznacza podzbiór tych zada«, których i-te czynno±ci
nie mog¡ by¢ wykonywane jednocze±nie, tzn. zadania j i k nale»¡ do zbioru
Ji , je»eli sizeij + sizeik > mi i nierówno±¢ ta zachodzi dla ka»dej pary zada«
w zbiorze Ji0 . Niech Ji1 ⊂ J oznacza podzbiór zada« wymagaj¡cych wi¦cej
1 mi
ni» poªowy procesorów i-tego stadium, tzn. j ∈ Ji , gdy sizeij > oraz
2
2
niech Ji ⊂ J oznacza podzbiór zada« wymagaj¡cych dokªadnie poªowy
2 mi
procesorów i-tego stadium, tzn. j ∈ Ji , gdy sizeij = . Dodatkowo, niech
2
Ri oznacza najwcze±niejszy mo»liwy termin rozpocz¦cia wykonywania czyn-
no±ci w stadium i oraz niech Qi oznacza najmniejszy mo»liwy przedziaª czasu
od zako«czenia wykonywania czynno±ci w stadium i do ko«ca uszeregowania.
Wielko±¢ Ri oraz Qi wynosz¡ odpowiednio:

( ( 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

118 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

 
|Ji0 |−1
 X 1 X X 
LB3 = max Ri + pij + pij + sl + Qi ,
i∈M 
1
2 2 l=1

j∈Ji j∈Ji

Interpretacja oszacowania LB2 jest nast¦puj¡ca. W stadium i rozpocz¦cie


wykonywania nie mo»e nast¡pi¢ przed terminem Ri oraz wykonane zostan¡
1
P
one nie szybciej, ni» w czasie
mi j∈J pij sizeij . Dodatkowo, wyst¡pi nie
0
mniej ni» |Ji | − 1 przezbroje«. Ze wzgl¦du na to, »e nie mo»na stwierdzi¢
0
które z przezbroje« wyst¡pi¡, uwzgl¦dnianych jest |Ji | − 1 o najkrótszych
czasach. Ponadto, po zako«czeniu wykonywania czynno±ci w stadium i, potrzeba
jeszcze co najmniej Qi czasu do wykonania czynno±ci w kolejnych stadiach.
Interpretacja oszacowania LB3 jest bardzo podobna do LBP
2, z tym, »e
czas wykonania czynno±ci w stadium i b¦dzie nie krótszy ni» j∈Ji1 pij +
1
Ji1
P
2 j∈Ji2 pij poniewa» »adne dwa zadania ze zbioru nie mog¡ by¢ wyko-
2
nane ª¡cznie, a zadania ze zbioru Ji wykonaj¡ si¦ nie szybciej ni» w czasie
1
P
2 j∈Ji2 pij .

7.4.3 Przybli»one algorytmy konstrukcyjne


W celu znalezienia rozwi¡zania pocz¡tkowego dla algorytmów metaheurysty-
cznych, zaproponowano szereg algorytmów konstrukcyjnych. Algorytmy te
wykorzystuj¡ Procedur¦ 5 do konstrukcji harmonogramu, dla zadanej wej±-
ciowej listy zada« (permutacji) σ . Idea tej procedury jest bardzo podobna do
Algorytmu C, zaproponowanego dla problemu uproszczonego.

Procedura 5 Procedura wyznaczania harmonogramu dla danej listy wej±-


P P
ciowej σ o zªo»ono±ci O( i∈M j∈J sizeij ).
1: W pierwszym stadium wyznacz list¦ π1 = σ.
2: for j = 1, ...n do
3: Przydziel czynno±¢ π1 (j) do size1π1 (j) procesorów, które najwcze±niej
ko«cz¡ wykonywanie poprzednich operacji. Wyznacz termin C1π(j) .
4: end for
5: for i = 2, ..., m do
6: Wyznacz list¦ πi , tak¡, »e C(i−1)πi (j) ≤ C(i−1)πi (j+1) .
7: for j = 1, ...n do
8: Przydziel czynno±¢ πi (j) do sizeiπ1 (j) procesorów, które najwcze±niej
ko«cz¡ wykonywanie poprzednich operacji. Wyznacz termin Ciπ(j) .
9: end for
10: end for

 Szeregowanie zada« i rozdziaª zasobów ... 119


7.4 Problem ogólny

Dodatkowo, niech Ĉmax (σ) oznacza warto±¢ kryterium dla harmonogramu


wyznaczonego przez Procedur¦ 5 dla listy wej±ciowej σ.

Zaproponowano dwa rodzaje algorytmów konstrukcyjnych oznaczonych


przez L(R) oraz I(R), gdzie R oznacza reguª¦ wyznaczania listy wej±ciowej.
Ró»nica mi¦dzy tymi algorytmami jest taka, »e algorytm L(R) wyznacza w
pierwszej kolejno±ci list¦ na podstawie reguªy R, a nast¦pnie stosuje Proce-
dur¦ 5 do wyznaczenia harmonogramu, podczas gdy algorytm I(R) jest al-
gorytmem wykorzystuj¡cym technik¦ wstawie« (np. [111]). Technika wstaw-
ie« (oraz algorytm I(R)) polega na tym, »e w pierwszej kolejno±ci tworzona
jest lista σ wg reguªy R. Nast¦pnie tworzone s¡ kolejne listy cz¦±ciowe σl
(l = 1, ..., n), zawieraj¡ce l pocz¡tkowych zada« listy σ , przy czym lista σl+1
tworzona jest na podstawie listy σl w ten sposób, »e zadanie σ(l +1) znajduje
si¦ w li±cie σl+1 na tej pozycji, dla której warto±¢ kryterium jest najmniejsza.
Algorytmy L(R) oraz I(R) zostaªy przedstawione odpowiednio w Proce-
durach 6 oraz 7.

Procedura 6 Algorytm konstrukcyjny L(R).


1: Wyznacz list¦ σ na podstawie reguªy R.
2: Na podstawie listy σ wyznacz harmonogram przy u»yciu Procedury 5.

Procedura 7 Algorytm konstrukcyjny I(R).


1: Wyznacz list¦ σ na podstawie reguªy R.
2: Wyznacz list¦ σ1 zawieraj¡c¡ tylko jedno zadanie σ(1).
3: for j = 2, ..., n do
4: for l = 1, ..., j do
l
5: Wyznacz list¦ σj dodaj¡c do listy σj−1 zadanie σ(j) na pozycji l .
l l
6: Zastosuj Procedur¦ 5 do listy σj i wyznacz Ĉmax (σj ).
7: end for
∗ ∗
8: Podstaw σj = σjl , gdzie Ĉmax (σjl ) = minl=1,...,j Ĉmax (σjl ).
9: end for
10: Wyznacz harmonogram dla listy σn .

Zaproponowano 20 reguª wyznaczania listy pocz¡tkowej σ. Aby skróci¢


opis, w Tablicy 7.5 zebrano wszystkie reguªy, przy czym np. zapis rj % oz-
σ wyznaczana jest przez posortowanie zada« wg. niemalej¡cych
nacza, »e lista
warto±ci parametrów rj .
Nale»y zwróci¢ uwag¦ na to, »e np. reguªa (pi , A), to w rzeczywisto±ci
m reguª dla ka»dego i ∈ M. W zwi¡zku z tym dla ka»dej instancji mamy
14 + 6m reguª, co daje 28 + 12m algorytmów konstrukcyjnych.

120 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Tablica 7.5: Reguªy wyznaczania listy pocz¡tkowej dla algorytmów konstruk-


cyjnych.

Lp. Oznaczenie Reguªa


1 r, A rj %
2 q, D qj &
3 pi , A pij %
4 pi , D pij &
5 ti , A tij %
6 ti , D tij &
7 sizei , A sizeij %
8 sizei , D Psizeij &
9 T, p, A Pi∈M pij %
10 T, p, D Pi∈M pij &
11 T, t, A Pi∈M tij %
12 T, t, D P i∈M tij &
13 T, size, A Pi∈M sizeij %
14 T, size, D P i∈M sizeij &
15 T, p × size, A Pi∈M sizeij pij %
16 T, p × size, D i∈M sizeij pij &
P pij
17 T, p/size, A %
Pi∈M size pij
ij
18 T, p/size, D i∈M sizeij &
P P
19 T, size, p, t, A Pi∈M size ij p ij + Pi∈M tij %
20 T, size, p, t, D i∈M size p
ij ij + i∈M tij &

 Szeregowanie zada« i rozdziaª zasobów ... 121


7.4 Problem ogólny

7.4.4 Algorytm Symulowanego Wy»arzania


Technika symulowanego wy»arzania, zaproponowana w pracy [90], jest it-
eracyjn¡, stochastyczn¡ metod¡ opart¡ o przeszukiwanie s¡siedztwa. Gªówna
idea tej techniki polega na rozpocz¦ciu pracy w pewnym rozwi¡zaniu pocz¡tkowym,
(π 0 , φ0 ), i sukcesywnym przemieszczaniu si¦ po rozwi¡zaniach s¡siednich a»
nie zostanie speªniony warunek zatrzymania. W ka»dej iteracji, iter, losowe
0 0
rozwi¡zanie, (π , φ ), jest wybierane z s¡siedztwa rozwi¡zania aktualnego ((π
iter
, φiter ))
i zast¦puje ono rozwi¡zanie aktualne z prawdopodobie«stwem

0 0
Cmax (π , φ ) − Cmax (π iter , φiter )
  
P (titer ) = max 1, exp − , (7.18)
titer

gdzie titer jest parametrem nazwanym temperatur¡ w iteracji iter. Temper-


atura maleje podczas procesu poszukiwa« zgodnie ze schematem wy»arza-
nia. Efektywno±¢ algorytmu SA zale»y od nast¦puj¡cych parametrów, które
nale»y starannie dobra¢:

• rozwi¡zanie pocz¡tkowe,

• s¡siedztwo,

• temperatura pocz¡tkowa i schemat wy»arzania,

• warunek zatrzymania.

W dalszej cz¦±ci przedstawione zostan¡ kolejno poszczególne elementy


zaproponowanego algorytmu SA.
Dokªadny opis techniki Symulowanego Wy»arzania mo»na znale¹¢ np. w
[1, 90, 147].

7.4.4.1 Rozwi¡zanie pocz¡tkowe


Jako rozwi¡zanie pocz¡tkowe przyj¦to najlepsze rozwi¡zanie spo±ród dostar-
czonych przez zaproponowane algorytmy konstrukcyjne.

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.

122 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

7.4.4.3 Temperatura pocz¡tkowa


Temperatura pocz¡tkowa wyznaczana jest dla ka»dej instancji problemu
na podstawie rozwi¡za« dostarczonych przez algorytmy konstrukcyjne. Przy-
pomnijmy, »e dla ka»dej instancji problemu mamy K = 28+12m algorytmów
k
konstrukcyjnych. Oznaczmy przez Cmax , k = 1, ..., K , warto±¢ kryterium dla
rozwi¡zania dostarczonego przez k -ty
algorytm konstrukcyjny. Na tej pod-
k
stawie wyznaczana jest maksymalna ró»nica, ∆, mi¦dzy warto±ciami Cmax :

k l
∆= max {|Cmax − Cmax |},
k,l∈{1,...,K}

Na podstawie warto±ci ∆ wyznaczana jest temperatura pocz¡tkowa w


nast¦puj¡cy sposób:


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

7.4.4.4 Schemat wy»arzania


Temperatura zmienia si¦ w ka»dej iteracji algorytmu zgodnie z logaryt-
micznym schematem wy»arzania:

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.

7.4.4.5 Warunek zatrzymania


Algorytm ko«czy prac¦, gdy liczba iteracji jest wi¦ksza ni» a priori zadana
staªa M axIter. W eksperymentach przyj¦to M axIter = 1000000.

 Szeregowanie zada« i rozdziaª zasobów ... 123


7.4 Problem ogólny

7.4.5 Algorytm Tabu Search


Algorytm tabu search zaproponowany dla problemu ogólnego stanowi
rozwini¦cie algorytmu TS zaproponowanego dla problemu uproszczonego w
podrozdziale 7.3.2.2. W zwi¡zku z tym, w poni»szym opisie przedstawione
zostan¡ poszczególne elementy algorytmu z uwzgl¦dnieniem modykacji za-
stosowanych przy konstrukcji algorytmu TS dla problemu ogólnego.

7.4.5.1 Rozwi¡zanie pocz¡tkowe.


Jako rozwi¡zanie pocz¡tkowe przyjmowane jest najlepsze rozwi¡zanie spo±ród
dostarczonych przez algorytmy konstrukcyjne.

7.4.5.2 Ruchy i s¡siedztwo.


S¡siedztwo jest zdeniowane przez zbiór N (Θ(π, φ)) tak samo jak dla
problemu uproszczonego.

7.4.5.3 Lista tabu.


W zaproponowanym algorytmie zastosowano dwie listy tabu. Jedna z tych
list jest taka sama jak dla problemu uproszczonego, a druga zdeniowana jest
nast¦puj¡co. Na li±cie zapami¦tywane s¡ parametry wykonywanych ruchów:
je»eli zostaª wykonany ruch (i, j, k, x, y), wówczas na li±cie tabu zapami¦-
tywana jest nast¦puj¡ca trójka liczb:

(i, πi (j), πi (k)) je»eli j<k

lub

(i, πi (k), πi (j)) je»eli j > k.

Je»eli j=k to na li±cie nic nie jest zapami¦tywane.

Ruch (i, j, k, x, y) ma status tabu, je»eli na li±cie jest zapami¦tana trójka


liczb (a, b, c) taka, »e:

(dla j < k ): a = i, πi (j) = b i dla co najmniej jednej warto±ci l (l =


j + 1, ..., k ), πi (l) = c,
(dla j > k ): a = i, πi (k) = b i dla co najmniej jednej warto±ci l (l =
k + 1, ..., j ), πi (l) = c.

Dªugo±¢ drugiej listy tabu jest staªa i wynosi 8.

124 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

7.4.5.4 Warunki zatrzymania oraz mechanizmy dodatkowe.


Zastosowano takie same mechanizmy (zatrzymania i dywersykacji) jak
dla problemu uproszczonego.

7.4.5.5 Technika przegl¡dania s¡siedztwa.


Przy przegl¡daniu s¡siedztwa zastosowano metod¦ szybkiego naliczania
warto±ci kryterium analogiczn¡ do zaproponowanej dla problemu uproszc-
zonego. Poni»ej przedstawione zostan¡ tylko ró»nice, wynikaj¡ce z dodatkowych
parametrów w problemie ogólnym.
Podobnie jak w problemie uproszczonym grafGîĵ (π, φ) odpowiada zmody-
kowanemu harmonogramowi otrzymanemu z harmonogramu (π, φ), skon-
struowanego w ten sposób, »e czynno±¢ î zadania ĵ nie jest uwzgl¦dniana
w tym harmonogramie. Identycznie jak w problemie uproszczonym zden-
iowane s¡ równie» zbiory nast¦pników (z̄ij ) i poprzedników (z ij ) czynno±ci.
ĵ ĵ
Gªówna ró»nica polega na sposobie naliczania ±cie»ek eik , qik , eik , qik
îĵ
oraz Cmax , poniewa» musz¡ by¢ uwzgl¦dnione czasy transportu tij , terminy
dost¦pno±ci rj , czasy dostarczenia zada« qj oraz czasy przezbroje« sijk . Dªu-
go±ci tych ±cie»ek wyliczane s¡ wi¦c z nast¦puj¡cych zale»no±ci:

eik = max{e(i−1)k + t(i−1)k , max{eil + silk }} + pik dla i ∈ M, k ∈ J (7.19)


l∈z ik

qik = max{q(i+1)k + tik , max{qil + sikl }} + pik dla i ∈ M, k ∈ J (7.20)


l∈z̄ik

eĵik = max{e(i−1)k + t(i−1)k , max{eĵil + silk }} + pik dla i ∈ M, k ∈ J\{ĵ}


l∈z ĵik
(7.21)


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\{ĵ}

gdzie e0k = eĵ0k = 0 i q(m+1)k = q(m+1)k



= 0.
Warto±¢ kryterium po przeniesieniu czynno±ci î zadania ĵ na pozycj¦ hw
harmonogramie (π, φ) wynosi:

îĵh
Cmax îĵ
= max{Cmax , max {eĵîl + sîlĵ } + max {qîlĵ + sîĵl } + pîĵ }. (7.24)
l∈z îĵh l∈z̄îĵh

 Szeregowanie zada« i rozdziaª zasobów ... 125


7.4 Problem ogólny

Procedura 8 Algorytm szybkiego przegl¡dania s¡siedztwa dla problemu


ogólnego.

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

Dla peªno±ci opisu, algorytm szybkiego przegl¡dania s¡siedztwa dla prob-


lemu ogólnego zostaª przedstawiony w Procedurze 8.
Zªo»ono±¢ obliczeniowa
 tego algorytmu, podobnie jak dla problemu up-
size2ij (mi − sizeij + 1)
P P
roszczonego, wynosi: O n i∈M j∈J i znacz¡co (ponad

400 razy) przyspiesza dziaªanie algorytmu TS .

7.4.6 Analiza eksperymentalna


Zaproponowane algorytmy SA i TS zostaªy zaimplementowane w j¦zyku
C++ oraz uruchamiane na komputerze klasy PC 686/800MHz. Aby przetestowa¢
efektywno±¢ tych algorytmów, wygenerowano 3000 instancji testowych. In-
stancje te podzielono na trzy kategorie G1, G2 i G3, ze wzgl¦du na przedziaª, z
którego generowano czasy przezbroje« (jako liczby caªkowite z jednostajnym
prawdopodobie«stwem):

G1: sijk ∈ [0; 10],


G2: sijk ∈ [0; 50],
G3: sijk ∈ [0; 200].
Dla ka»dej kombinacji liczby zada«, liczby stadiów (n = 5, 10, 20, 50, 100,
m = 2, 5, 8, 10) i kategorii wygenerowano 50 instancji problemu, co daje 1000
instancji dla ka»dej kategorii. Pozostaªe parametry problemu generowane

126 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

byªy z jednostajnym prawdopodobie«stwem (liczby caªkowite) na nast¦puj¡-


cych przedziaªach:

• mi ∈ [1; 5],

• pij ∈ [1; 100],

• tij ∈ [1; 100] (równie» rj i qj ),

• sizeij ∈ [1; mi ],

Efektywno±¢ algorytmów badano przy u»yciu nast¦puj¡cych wska¹ników


(C  oznacza najlepszy algorytm konstrukcyjny, SA  oznacza algorytm
symulowanego wyrza»ania, TS  oznacza algorytm tabu search):

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-

ni¦ta przez algorytmu A ∈ {T S, SA}.

• T IM EA - czas wykonywania jednej iteracji algorytmu A ∈ {SA, T S}


w milisekundach.

‘rednie warto±ci wska¹ników zebrano w Tablicach 7.6-7.9.

 Szeregowanie zada« i rozdziaª zasobów ... 127


7.4 Problem ogólny

Tablica 7.6: Wyniki analizy eksperymentalnej dla algorytmów C, SA i TS dla


instancji z kategorii G1

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

±rednia 19,98 14,39 12,34 5,53 7,48

128 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Tablica 7.7: Wyniki analizy eksperymentalnej dla algorytmów C, SA i TS dla


instancji z kategorii G2

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

±rednia 34,42 28,18 26,87 6,22 7,55

 Szeregowanie zada« i rozdziaª zasobów ... 129


7.4 Problem ogólny

Tablica 7.8: Wyniki analizy eksperymentalnej dla algorytmów C, SA i TS dla


instancji z kategorii G3

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

±rednia 117,04 95,89 89,88 21,12 27,16

130 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

Tablica 7.9: Wyniki analizy eksperymentalnej dla algorytmów SA i TS  czas


dziaªania algorytmów

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

 Szeregowanie zada« i rozdziaª zasobów ... 131


7.4 Problem ogólny

Podstawowym wnioskiem pªyn¡cym z przedstawionych wyników jest to,


»e zarówno algorytm SA, jak i TS znacz¡co poprawiaj¡ rozwi¡zanie pocz¡tkowe
 ok. 7% dla instancji kategorii G1 i G2 i ponad 20% dla instancji kategorii
G3. Wyniki ±wiadcz¡ równie» o tym, »e dla du»ych warto±ci czasów przezbro-
je«, algorytmy konstrukcyjne nie s¡ w stanie dostarczy¢ dobrego rozwi¡za-
nia. Jest to do±¢ oczywisty rezultat, zwa»ywszy na fakt, »e »aden z zapro-
ponowanych algorytmów konstrukcyjnych nie uwzgl¦dnia czasów przezbro-
je«.
Mo»na równie» zauwa»y¢, »e jako±¢ rozwi¡za« dostarczanych przez al-
gorytm TS jest statystycznie najlepsza. Niestety jest to okupione dªu»szym
czasem dziaªania. Czas pracy algorytmu TS dla du»ych instancji problemu
si¦gaª 1 godziny (10000 iteracji), podczas gdy algorytm SA, dostarczaj¡c
rozwi¡zania porównywalnej jako±ci, potrzebowaª ok. 15 min (1000000 iter-
acji). Dodatkowo algorytm SA dostarczaª nieznacznie lepszych rozwi¡za« dla
du»ych instancji kategorii G3.
Ponadto, mo»na zauwa»y¢ jak zmienia si¦ jako±¢ dostarczonych rozwi¡za«
wraz ze wzrostem rozmiaru problemu. Dla du»ych instancji problemu ju» al-
gorytmy konstrukcyjne dostarczaj¡ rozwi¡za« o nienajgorszej jako±ci (mniej
ni» 10% dla instancji kategorii G1 i mniej ni» 20% dla instancji kategorii G2).
Niestety dla instancji kategorii G3 jako±¢ dostarczonych rozwi¡za« jest sªaba
i to zarówno w przypadku algorytmów konstrukcyjnych, jak i algorytmów SA
i TS. Takie zachowanie wska¹ników γ nie jest jednak spowodowane rzeczy-
wist¡ jako±ci¡ rozwi¡zania ale faktem, »e wraz ze wzrostem czasów przezbro-
je« maleje efektywno±¢ dolnego oszacowania warto±ci optymalnej kryterium.
Ostatecznie mo»na stwierdzi¢, »e zaproponowane algorytmy SA i TS dostar-
czaj¡ rozwi¡za« o dobrej jako±ci przy akceptowalnym czasie dziaªania. Jako
najlepszy nale»y wskaza¢ algorytm TS, jednak zakres jego stosowalno±ci sku-
pia si¦ na instancjach o niewielkim rozmiarze (do 50 zada«). Dla du»ych in-
stancji (100 zada« i wi¦cej) przewag¦ uzyskuje algorytm SA, zarówno pod
wzgl¦dem jako±ci dostarczonego rozwi¡zania, jak i czasu dziaªania.

132 Maciej Lichtenstein


7 Problemy szeregowania zada« wieloprocesorowych w systemach przepªywowych

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.

 Szeregowanie zada« i rozdziaª zasobów ... 133


Rozdziaª 8
Podsumowanie pracy
W niniejszej pracy postawiono dwa nast¦puj¡ce cele:

1. Wyznaczenie zªo»ono±ci obliczeniowej, wykazanie szczególnych wªasno±ci


oraz skonstruowanie efektywnych algorytmów rozwi¡zania wybranych jedno-
procesorowych problemów szeregowania, w których czasy wykonywania zada«
i czasy przezbroje« procesorów zale»¡ od dodatkowych zasobów.

2. Wyznaczenie zªo»ono±ci obliczeniowej, wykazanie szczególnych wªasno±ci


oraz skonstruowanie efektywnych algorytmów rozwi¡zania problemu szere-
gowania zada« wieloprocesorowych w systemie przepªywowym.

W ramach realizacji pierwszego celu dokonano analizy szeregu jedno-


procesorowych problemów, w których czasy wykonywania zada« oraz czasy
przezbroje« zale»¡ od dodatkowych zasobów. Analiz¦ t¦ rozpocz¦to od bada-
nia problemów, w których przydzielane zasoby podzielne s¡ w sposób ci¡gªy.
Uzyskane wyniki mo»na przedstawi¢ w nast¦puj¡cych punktach:

• Wykazano, »e problem, w którym zarówno czasy wykonywania zada«,


jak i czasy przezbroje« zale»¡ od dodatkowych zasobów, przy kry-
terium minimalizacji dªugo±ci uszeregowania i bez ograniczenia tech-
nologii grupowej jest rozwi¡zywalny w czasie O(n log n)  Twierdzenie
1.

• Wykazano, »e problem, w którym zarówno czasy wykonywania zada«,


jak i czasy przezbroje« zale»¡ od dodatkowych zasobów, przy kry-

134
8 Podsumowanie pracy

terium minimalizacji dªugo±ci uszeregowania i z ograniczeniem tech-


nologii grupowej jest rozwi¡zywalny w czasie O(n log n)  Wniosek 1.

• Skonstruowano wielomianowe algorytmy, o zªo»ono±ci O(n log n), opty-


malnego rozdziaªu zasobów do zada« i przezbroje« przy ustalonej kole-
jno±ci wykonywania zada«, dla problemu z ograniczeniem technologii
grupowej, w którym okre±lone s¡ terminy dost¦pno±ci zada« przy kry-
terium minimalizacji dªugo±ci uszeregowania  Wªasno±ci 7 i 8.

• Skonstruowano wielomianowy algorytm, o zªo»ono±ci O(n log n), rozwi¡za-


nia szczególnego przypadku problemu wymienionego w poprzednim
punkcie, w którym tylko czasy przezbroje« zale»¡ od dodatkowych za-
sobów i zachodzi relacja dominacji mi¦dzy rodzinami zada«  Twierdze-
nie 2.

• Wykazano, »e problem minimalizacji dªugo±ci uszeregowania z zadanymi


terminami dost¦pno±ci zada«, w przypadku braku ograniczenia tech-
nologii grupowej jest NP-trudny ju» w klasycznej postaci, tzn. w sytu-
acji, gdy czasy przezbroje« i czasy wykonywania zada« nie zale»¡ od
dodatkowych zasobów  Twierdzenie 3.

• Dla problemu z ograniczeniem technologii grupowej, przy kryterium


minimalizacji sumy wa»onych terminów zako«czenia wykonywania zada«,
2
skonstruowano optymalne algorytmy wielomianowe o zªo»ono±ci O(n ),
rozdziaªu zasobów do zada« i do przezbroje« przy ustalonej kolejno±ci
wykonywania zada«  Wªasno±ci 10 i 11.

• Dla problemu z ograniczeniem technologii grupowej, przy kryterium


minimalizacji sumy wa»onych terminów zako«czenia wykonywania zada«,
w którym tylko czasy przezbroje« lub czasy wykonywania zada« za-
le»¡ od dodatkowych zasobów zaproponowano dokªadny algorytm o
zªo»ono±ci wykªadniczej  Twierdzenie 5.

• Skonstruowano wielomianowy algorytm, o zªo»ono±ci O(n2 ), rozwi¡za-


nia szczególnego przypadku problemu z ograniczeniem technologii grupowej
przy kryterium minimalizacji sumy wa»onych terminów zako«czenia
wykonywania zada«, w którym tylko czasy przezbroje« lub czasy wykony-
wania zada« zale»¡ od dodatkowych zasobów i zachodzi relacja domi-
nacji mi¦dzy rodzinami zada« lub zadaniami  Twierdzenie 6.

Ponadto, dla szeregu problemów skonstruowano przybli»one algorytmy


konstrukcyjne, których efektywno±¢ zbadano przy u»yciu analizy ekspery-
mentalnej.

 Szeregowanie zada« i rozdziaª zasobów ... 135


W ramach realizacji pierwszego celu pracy, dalsze badania po±wi¦cone
byªy problemom, w których zasoby przydzielane do zada« i do przezbroje«
podzielne s¡ w sposób dyskretny. Rezultaty tych bada« zebrano w kolejnych
punktach:

• Wykazano, »e optymalny rozdziaª zasobów do zada« lub do przezbroje«


przy ustalonej kolejno±ci wykonywania zada« dla problemu minimaliza-
cji dªugo±ci uszeregowania jest problemem NP-trudnym  Twierdzenia
8 i 9.

• Dla szczególnego (NP-trudnego) przypadku problemu minimalizacji dªu-


go±ci uszeregowania, w którym zarówno czasy wykonywania zada«, jak
i czasy przezbroje« zale»¡ od dodatkowych zasobów, skonstruowano
algorytm optymalny o pseudowielomianowej zªo»ono±ci obliczeniowej 
Twierdzenie 10.

• Wykazano, »e problem minimalizacji dªugo±ci uszeregowania przy zadanych


terminach dost¦pno±ci zada« jest NP-trudny i to w przypadku gdy
tylko czasy wykonywania zada« lub tylko czasy przezbroje« zale»¡ od
dodatkowych zasobów  Wniosek 2.

• Wykazano, »e problem minimalizacji sumy wa»onych terminów zako«czenia


wykonywania zada« przy ograniczeniu technologii grupowej, w sytuacji
gdy tylko czasy wykonywania zada« lub tylko czasy przezbroje« zale»¡
od dodatkowych zasobów jest problemem NP-trudnym  Twierdzenie
11.

Podobnie jak dla problemów z zasobem podzielnym w sposób ci¡gªy, dla


tego przypadku równie» skonstruowano szereg konstrukcyjnych algorytmów
przybli»onych rozwi¡zania badanych problemów.

Podczas realizacji drugiego celu pracy badano dwa problemy szeregowa-


nia zada« wieloprocesorowych w systemach przepªywowych przy kryterium
minimalizacji maksymalnego terminu zako«czenia wykonywania zada«.
W pierwszym badanym problemie (uproszczonym) zaªo»ono, »e liczba
stadiów systemu przepªywowego oraz liczba procesorów w ka»dym stadium,
s¡ ustalonymi wielko±ciami i nie stanowi¡ danych wej±ciowych problemu.
Rezultaty bada« nad tym problemem zebrano w kolejnych punktach:

• Wykazano, »e w sytuacji, gdy czasy wykonywania poszczególnych czyn-


no±ci zada« s¡ ograniczone od góry przez zadan¡ staª¡, to problem jest

136 Maciej Lichtenstein


8 Podsumowanie pracy

rozwi¡zywalny wielomianowo przy u»yciu zªo»onego algorytmu opartego


o technik¦ programowania dynamicznego  Twierdzenie 12.

• Wykazano, »e w sytuacji, gdy czasy wykonywania poszczególnych czyn-


no±ci zada« s¡ ograniczone od góry przez zadan¡ staª¡ i wyst¦puj¡
ograniczenia kolejno±ciowe mi¦dzy zadaniami (i to w najprostszej formie),
to problem jest silnie NP-trudny  Twierdzenie 13.

• Dla problemu uproszczonego wykazano cztery wªasno±ci eliminacyjne


(wªasno±ci blokowe) pozwalaj¡ce zaw¦zi¢ obszar poszukiwa« w algoryt-
mach metaheurystycznych.

• Dla problemu uproszczonego zaproponowano algorytm metaheurysty-


czny oparty o technik¦ Tabu Search, w którym wykorzystano wªas-
no±ci eliminacyjne i zaprojektowano metod¦ szybkiego przegl¡dania
s¡siedztwa danego rozwi¡zania, znacznie (ok. 400 razy) przyspiesza-
j¡c¡ dziaªanie algorytmu. Jako±¢ rozwi¡za« dostarczanych przez zapro-
ponowany algorytm zbadano przy u»yciu analizy eksperymentalnej.

Dalsze badania podczas realizacji drugiego celu pracy skierowano na prob-


lem bardziej zªo»ony (problem ogólny). W problemie tym, liczba stadiów
oraz liczba procesorów w poszczególnych stadiach nie jest zadana, a do-
datkowo okre±lone s¡ nast¦puj¡ce parametry zada«: terminy dost¦pno±ci,
czasy dostarczenia oraz czasy transportu mi¦dzy stadiami. Ponadto, wys-
t¦puj¡ sekwencyjnie zale»ne przezbrojenia mi¦dzy czynno±ciami w ka»dym
stadium.
Wyniki bada« nad tym problemem s¡ nast¦puj¡ce:

• Skonstruowano trzy rodzaje dolnych oszacowa« optymalnej warto±ci


funkcji celu.

• Zaproponowano ponad 40 przybli»onych algorytmów konstrukcyjnych,


u»ywanych do generacji rozwi¡za« pocz¡tkowych dla algorytmów meta-
heurystycznych oraz wyznaczania parametrów algorytmu opartego o
technik¦ Symulowanego Wy»arzania.

• Zaproponowano algorytm metaheurystyczny oparty o technik¦ Symu-


lowanego Wy»arzania z automatycznym doborem parametrów schematu
wy»arzania.

• Zaproponowano algorytm metaheurystyczny oparty o technik¦ Tabu


Search wykorzystuj¡cy metod¦ szybkiego przegl¡dania s¡siedztwa ak-
tualnego rozwi¡zania.

 Szeregowanie zada« i rozdziaª zasobów ... 137


• Jako±¢ rozwi¡za« dostarczanych przez algorytmy metaheurystyczne zbadano
przy u»yciu analizy eksperymentalnej.

Uzyskane rezultaty stanowi¡ istotny wkªad do problematyki szeregowa-


nia zada« i to zarówno z punktu widzenia teoretycznego, jak i praktycznego.
Wkªadem teoretycznym jest okre±lenie zªo»ono±ci obliczeniowej szeregu prob-
lemów oraz wykazanie szczególnych wªasno±ci badanych problemów. Wkªad
praktyczny stanowi¡ zaproponowane algorytmy dokªadne i przybli»one, b¦d¡ce
gotowymi narz¦dziami rozwi¡zania badanych problemów.

138 Maciej Lichtenstein


Bibliograa
[1] Aarts, E., Lenstra, J. Local Search in Combinatorial Optimization.
John Wiley & Sons Ltd., 1997.

[2] Adenso-Dias, B. Restricted nieghbourhood in the tabu search for


the owshop problem. European Journal of Operational Research 62
(1992), 2737.

[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.

[5] Allahverdi, A., Gupta, J., Aldowaisan, T. A review of schedul-


ing research involving setup considerations. Omega International Jour-
nal of Management Science 27 (1999), 219239.

[6] Bachman, A., Chudzik, K., Janiak, A. Szeregowanie zada« na


pojedynczej maszynie z przezrojeniami i terminami dost¦pno±ci zada«
 algorytm tabu search. Mechanika Tom 17, Zeszyt 2 (1998), 205214.

[7] Bªa»ewicz, J., Drabowski, M., W¦glarz, J. Scheduling multi-


processor tasks to minimize schedule length. IEEE Transactions on
Computers 35/5 (1986), 389393.

[8] Bªa»ewicz, J., W¦glarz, J., Drabowski, M. Scheduling inde-


pendent 2processor tasks to minimize schedule length. Information
Processing Letters 18 (1984), 267273.

[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

[10] Bozoki, G., Richard, J.-P. A branch-and-bound algorithm for the


continousprocess jobshop scheduling problem. AIIE Transactions
2/3 (1970), 246252.

[11] Brucker, P. Scheduling Algorithms, 2nd ed. Springer, 1998.

[12] Brucker, P., Krämer, A. Polynomial algorithms for resource-


constrained and multiprocessor task scheduling problems. European
Journal of Operational Research 90 (1996), 214226.

[13] Bruno, J., Downey, P. Complexity of task sequencing with dead-


lines, set-up times and changeover costs. SIAM Journal on Computing
7 (1978), 393404.

[14] Campbell, H., Dudek, R., Smith, M. A heuristic algorithm for


the n job, m machine sequencing problem. Management Science 16B
(1970), 630637.

[15] Chen, B. Analysis of classes of heuristics for scheduling a two-stage


ow shop with parallel machines at one stage. Journal of Operational
Research Society 46 (1995), 234244.

[16] Chen, G.-I., Lai, T.-H. Scheduling independent jobs on partitionable


hypercubes. Journal of Parallel and Distributed Computing 12 (1991),
7478.

[17] Cheng, T., Janiak, A., Kovalyov, M. Single machine batch


scheduling with resource dependent setup and processing times. Euro-
pean Journal of Operational Research 135 (2001), 177183.

[18] Chudzik, K. Ocena zªo»ono±ci obliczeniowej oraz algorytmy rozwi¡zy-


wania problemów szeregowania zada« z przezbrojeniami procesora.
Praca doktorska, Instytut Cybernetyki Technicznej, Politechnika
Wrocªawska, 2003.

[19] Chudzik, K., Janiak, A. Harmonogramowanie zada« na pojedynczej


maszynie z przezbrojeniami  algorytm genetyczny.Materiaªy VI Kra-
jowej Konferencji Robotyki, ‘rwieradów Zdrój, 9-12 wrze±nia Tom 2
(1998), 1321.

[20] Chudzik, K., Janiak, A., Oleksiak, R. Algorytm symulowanego


wy»arzania dla wybranych problemów szeregowania zada« na poje-
dynczej maszynie z przezbrojeniami. Materiaªy VI Krajowej Konfer-
encji Robotyki, ‘rwieradów Zdrój, 9-12 wrze±nia Tom 2 (1998), 2329.

140 Maciej Lichtenstein


BIBLIOGRAFIA

[21] Conway, R., Maxwell, W., Miller, L. Theory of Scheduling.


AddisonWesley, Reading, 1967.

[22] Crauwels, H., Hariri, A., Potts, C., Wassenhove, L. V.


Branch and bound algorithms for single machine scheduling with batch
set-up times to minimize total weighted completion time. Annals of
Operations Research 83 (1998), 5976.

[23] Crauwels, H., Potts, C., Wassenhove, L. V. Local search heuris-


tics for single-machine scheduling with batch set-up times to minimize
total weighted completion time. Annals of Operations Research 70
(1997), 261279.

[24] Dannenbring, D. An evaluation of owshop sequencing heuristics.


Management Science 23 (1977), 11741182.

[25] Drozdowski, M. Real-time scheduling of linear speedup parallel


tasks. Information Processing Letters 57 (1996), 3540.

[26] Drozdowski, M. Scheduling multiprocessor tasks  an overview. Eu-


ropean Journal of Operational Research 94 (1996), 215230.

[27] Drozdowski, M. Selected problems of scheduling tasks in multi-


processor computer systems. Poznan University of Technology Press,
Series: Monographs No.321 (1997).

[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.

[30] Garey, M., Johnson, D. Computers and Intractability: A Guide to


the Theory of NP-Completeness. Freeman, 1979.

[31] Garey, M., Johnson, D., Sethi, R. The complexity of owshop


and jobshop scheduling. Mathematics of Operations Research 1 (1976),
117129.

[32] Ghosh, J. Bath scheduling to minimize total completion time. Oper-


ations Research Letters 16 (1994), 271275.

[33] Ghosh, J., Gupta, J. Batch scheduling to minimze maximum late-


ness. Operations Research Letters 21 (1997), 7780.

 Szeregowanie zada« i rozdziaª zasobów ... 141


BIBLIOGRAFIA

[34] Glass, C., Potts, C. Comparison of local search methods for permu-
tation ow shop scheduling. Annals of Operations Research 63 (1996),
489509.

[35] Glover, F. Tabu search. Part I. ORSA Journal on Computing 1


(1989), 190206.

[36] Glover, F. Tabu search. Part II. ORSA Journal on Computing 2


(1990), 432.

[37] Gonzalez, T., Sahni, S. Flow shop and job shop schedules: com-
plexity and approximation. Operations Research 26 (1978), 92101.

[38] Grabowski, J. On two-machine scheduling with release and due dates


to minimize maximum lateness. Opsearch 17 (1980), 133154.

[39] Grabowski, J. A new algorithm of solving the ow-shop problem. w:


G. Feichtinger, P. Kall (eds.), Operations Research in Progress, Reidel,
Dordrecht (1982), 5775.

[40] Grabowski, J., Nowicki, E., Smutnicki, C. Metoda blokowa w


zagadnieniach szeregowania zada«. Akademicka Ocyna Wydawnicza
EXIT, Warszawa, 2003.

[41] Gupta, J. Single facility scheduling with multiple job classes. Euro-
pean Journal of Operational Research 33 (1988), 4245.

[42] Gupta, J. Two stage hybrid owshop scheduling problem. Journal of


Operational Research Society 39, 4 (1988), 359364.

[43] Gupta, J., Reddi, S. Improved dominance conditions for the three
machine owshop scheduling problem. Operations Research 26 (1978),
200203.

[44] Hall, L. A polynomial time approximation scheme for a constrained


ow-shop scheduling problem. Mathematics of Operations Research 19
(1994), 6885.

Proceedings of the
[45] Hall, L. Approximability of ow shop scheduling.
36th IEEE Symposium on Foundations of Computer Science (1995),
8291.

[46] Haouari, M., M'Hallah, R. Heuristic algorithms for the two-stage


hybrid owshop problems. Operations Research Letters 21 (1997), 43
53.

142 Maciej Lichtenstein


BIBLIOGRAFIA

[47] Hariri, A., Potts, C. Algorithms for two-machine ow-shop se-


quencing with precedence constraints. European Journal of Operational
Research 38 (1989), 228237.

[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.

[50] Hoogeveen, J., Kawaguchi, T. Minimizing total completion time


in two-machine owshop: Analysis of special cases. Proceedings of the
5th IPCO Conference (1996), 374388.

[51] Hoogeveen, J., Lenstra, J., Veltman, B. Preemptive scheduling


in a two-stage multiprocesor ow shop is np-hard. European Journal
of Operational Research 89 (1996), 172175.

[52] Ignall, I., Shrage, L. Applications of the branch-and-bound tech-


nique to some ow-shop scheduling problems. Operations Research 13
(1978), 197204.

[53] Jackson, J. Scheduling a production line to minimize maximum tardi-


ness.Management Science Research Project, University of California,
Los Angeles, Research Report 43 (1955).

[54] Janiak, A. On a single machine sequencing to minimize the maximum


job cost subject to resource and precedence constraints. Archiwum
Automatyki i Telemetryki 31 z.4 (1986), 415417.

[55] Janiak, A. One-machine scheduling problems with resource con-


straints.in: System Modelling and Optimization, Lecture Notes in Con-
trol and Information Science, A.Prekopa, J. Szelezsan and B. Strazicky
(eds.), Springer-Verlag 84 (1986), 358364.

[56] Janiak, A. Problemy szeregowania zada« na jednej maszynie z rozdzi-


aªem zasobów. Zeszyty Naukowe Politechniki ‘l¡skiej, s. Automatyka
84 (1986), 8192.

[57] Janiak, A. Time-optimal control in a single machine problem with


resource constraints. Automatica 22 (1986), 745747.

 Szeregowanie zada« i rozdziaª zasobów ... 143


BIBLIOGRAFIA

[58] Janiak, A. Minimization of the maximum tardiness in one-machine


scheduling problem subject to precedence and resource constraints.
International Journal of System Analysis - Modeling - Simulation 4
(1987), 549556.

[59] Janiak, A. One-machine scheduling with allocation of continuously-


divisible resource and with no precedence constraints. Kybernetika 23
(1987), 289293.

[60] Janiak, A. Minimization of the blooming mill standstills  mathemat-


ical model  suboptimal algorithms. Mechanika AGH Tom 8, Zeszyt 2
(1989), 3749.

[61] Janiak, A. Problem minimalizacji przestojów maszyny przy zale»nych


od zasobów terminach gotowo±ci zada« na przykªadzie procesu pro-
dukcyjnego pomi¦dzy stalowni¡ konwertorow¡ a zgniataczem. Zeszyty
Naukowe Politechniki ‘l¡skiej, s. Automatyka 100 (1990), 6177.

[62] Janiak, A. Szeduling independent one-processor tasks with linear


models of release dates under a given maximum schedule length to min-
imize resource consumption. International Journal of System Analysis
- Modeling - Simulation 7 (1990), 885890.

[63] Janiak, A. Dokªadne i przybli»one algorytmy szeregowania zada« i


Wrocªaw,
rozdziaªu zasobów w dyskretnych procesach przemysªowych.
Wydawnictwo Politechniki Wrocªawskiej, seria Monograe 87/20
(1991).

[64] Janiak, A. Single machine scheduling problem with a common dead-


line and resource dependent release dates. European Journal of Oper-
ational Research 53 (1991), 317325.

[65] Janiak, A. Jednomaszynowy problem szeregowania z ograniczeniami


kolejno±ciowymi i zasobowymi. Zeszyty Naukowe Politechniki ‘l¡skiej,
ser. Automatyka 116 (1995), 3147.

[66] Janiak, A. Resource minimization in single machine scheduling with


Proc. of the International Conference on
a completion time constraint.
Industrial Engineering and Production Management, April 4-7, Mar-
rakech 1 (1995), 393401.

[67] Janiak, A. Analiza zªo»ono±ci obliczeniowej jednomaszynowych prob-


lemów szeregowania z terminami dost¦pno±ci zale»nymi od zasobów.

144 Maciej Lichtenstein


BIBLIOGRAFIA

Zeszyty Naukowe Politechniki ‘l¡skiej, ser. Automatyka 117 (1996),


6984.

[68] Janiak, A. Computational complexity analysis of single machine


scheduling problems with job release dates dependent on resources.
Springer-Verlag, Proceedings of the Symposium on Operations Research
(SOR96), Braunschweig, September 3-6, 1996 (1997), 203207.

[69] Janiak, A. Single machine sequencing with linear models of jobs


subject to precedence constraints. Archiwum Automatyki i Telemetryki
33 (1998), 203210.

[70] Janiak, A. Single machine sequencing with linear models of release


dates. Naval Research Logistics 45 (1998), 99113.

[71] Janiak, A. Wybrane problemy i algorytmy szeregowania zada« i


rozdziaªu zasobów. Akademicka Ocyna Wydawnicza PLJ, Warszawa,
1999.

[72] Janiak, A., Chudzik, K. Algorytm genetyczny dla jedno-


maszynowego problemu szeregowania zada« z zasobami. Zeszyty
naukowe Politechnik ‘l¡skiej, s. Automatyka 117 (1996), 111122.

[73] Janiak, A., Grabowski, J. Problem sekwencyjny z rozdziaªem


zasobów w dyskretnych procesach produkcyjnych. Zeszyty naukowe
AGH, NR 866, Elektrykacja i Mechanizacja Górnictwa i Hutnictwa
146 (1981), 209219.

[74] Janiak, A., Grygo, W., Chudzik, K. Szeregowanie zada« na jednej


maszynie z uwzgl¦dnieniem kary za nieterminowo±¢ i ilo±¢ zu»ytych
zasobów. Zeszyty naukowe Politechniki ‘l¡skiej, s. Automatyka 114
(1994), 8597.

[75] Janiak, A., Kovalyov, M. Single machine scheduling subject to


deadlines and resource dependent processing times. European Journal
of Operational Research 94 (1996), 284291.

[76] Janiak, A., Kozan, E., Lichtenstein, M., O§uz, C. Metaheuris-


tic approaches for the hybrid owshop scheduling probelm. Submitted
for publication (2003).

[77] Janiak, A., Kozªowski, J., Lichtenstein, M. Minimalizacja dªu-


go±ci uszeregowania w jednomaszynowym problemie szeregowania z

 Szeregowanie zada« i rozdziaª zasobów ... 145


BIBLIOGRAFIA

zadanymi terminami dost¦pno±ci zada« oraz czasami przezbroje« za-


le»nymi od zasobów. Zeszyty Naukowe Politechniki ‘l¡skiej, s. Au-
tomatyka 134 (2001), 195208.

[78] Janiak, A., Krysiak, T., Lichtenstein, M. Szeregowania zada«


z przezbrojeniami i czasami wykonywania zale»nymi od zasobów przy
kryterium minimalizacji sumy wa»onych czasów zako«czenia wykony-
wania zada«. Zeszyty Naukowe Politechniki ‘l¡skiej, s. Automatyka
134 (2002), 209218.

[79] Janiak, A., Krzy»anowski, T., Marek, M. Jednomaszynowy


problem szeregowania z ograniczeniami zasobowymi - algorytm tabu
search.Materiaªy VI Krajowej Konferencji Robotyki, ‘wieradów Zdrój,
9-12 wrze±nia 1998 tom 2 (1998), 3138.

[80] Janiak, A., Krzy»anowski, T., Marek, M. Zastosowanie sieci


neuronowych do rozwi¡zywania pewnego problemu szeregowania zada«
z ograniczeniami zasobowymi. Materiaªy VI Krajowej Konferencji
Robotyki, ‘wieradów Zdrój, 9-12 weze±nia 1998 tom 2 (1998), 3946.

[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.

[82] Janiak, A., Lichtenstein, M. Comparision of some heuristic algo-


rithms for the ow shop problem with parallel machines to minimize the
Springer-Verlag, Operations
total earlines, tardines and waiting time.
Research Proceedings 2000, Selected Papers of The Symposium on Op-
erations Research (OR 2000), Dresden, September 9-12 2000 (2001),
5963.

[83] Janiak, A., Lichtenstein, M. Some single machine scheduling prob-


lems with resource dependent set-up and processing times. Springer-
Verlag, Operations Research Proceedings 2000, Selected Papers of The
Symposium on Operations Research (OR 2000), Dresden, September
9-12 2000 (2001), 5158.

[84] Janiak, A., Lichtenstein, M., Sªoni«ski, P. Minimalizacja


sumy wa»onych czasów zako«czenia wykonywania zada« w jedno-
maszynowym problemie szeregowania z czasami przezbroje« zale»nymi
od zasobów. Zeszyty Naukowe Politechniki ‘l¡skiej, s. Automatyka 134
(2002), 219232.

146 Maciej Lichtenstein


BIBLIOGRAFIA

[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.

[86] Janiak, A., Portmann, M.-C. Minimization od the maximum late-


ness in single machine scheduling with release dates and additional
resources. Proc. of the International Conference on Industrial Engi-
neering and Production Management, Lyon, France, October 20-24 I
(1997), 283292.

[87] Johnson, S. Optimal two- and three-stage production schedules with


setup times included. Naval Research Logistics Quarterly 1 (1954),
6168.

in: R.E. Miler,


[88] Karp, R. Reducibility among combinatorial problems.
J.W. Ratcher (eds), Complexity of Computer Computations, Plenum
Press, NY (1972), 85103.

[89] Kim, Y.-D. Heuristics for owshop scheduling problems minimizing


mean tardiness. Journal of the Operational Research Society 44 (1993),
1928.

[90] Kirkpatrick, S., Gelatt, C., Vecchi, M. Optimisation by simu-


lated annealing. Science 220 (1983), 671680.

[91] Kohler, W., Steiglitz, K. Exact, approximate and guaranteed


accuracy algorithms for the owshop problem n/2/f /f¯. Journal of the
Association for Computing Machinery 22 (1975), 106114.

[92] Kramer, A. Scheduling multiprocessor tasks on dedicated proces-


sors. PhD-Thesis, Fachbereich Mathematik/Informatik, Univeristat
Osnabruck, 1995.

[93] Krone, M., Steiglitz, K. Heuristic-programming solution of a ow-


shop scheduling problem. Operations Research 22 (1974), 629638.

[94] Krueger, P., Lai, T.-H., Dixit-Radiya, V. Job scheduling is more


important than processor allocation for hypercube computers. IEEE
Transactions on Parallel and Distributed Systems 5/5 (1994), 488497.

[95] Lageweg, B., Lenstra, J., Rinnooy Kan, A. A general bounding


scheme for the permutation ow-shop problem. Operations Research
26 (1978), 5367.

 Szeregowanie zada« i rozdziaª zasobów ... 147


BIBLIOGRAFIA

[96] Lawler, E. A 'pseudopolynomial' algorithm for sequencing jobs to


minimize total tardiness. Annals of Discrete Mathematics 1 (1977),
331342.

[97] Lee, C.-Y., Vairaktarakis, G. Minimizing makespan in hybrid


owshops. Operations Research Letters 16 (1994), 149158.

[98] Lenstra, J., Rinnooy Kan, A., Brucker, P. Complexity of ma-


chine scheduling problems. Annals of Operations Research 1 (1977),
343362.

[99] Liao, C.-J., Liao, L.-M. Single machine scheduling with major nad
minor setup times. Computers and Operations Research 24 (1997),
169178.

[100] Lin, J., Chen, S. Scheduling algorithm for nonpreemptive multi-


processor tasks. Computers and Mathematics with Applications 28/4
(1994), 8592.

[101] Lloyd, E. Concurrent task systems. Operations Research 29/1 (1981),


189201.

[102] Martello, S., Toth, P. Algorithm 37: Algorithm for the solution
of the 01 single knapsack problem. Computing 21 (1979), 8186.

[103] Mason, A. Genetic algorithms and scheduling problems. Ph.D. The-


sis, Department of Engineering, University of Cambridge, UK (1992).

[104] Mason, A., Anderson, E. Minimizing ow time on a single machine


with job classes and setup times. Naval Research Logistics 38 (1991),
333350.

[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.

[106] Rinnooy Kan, A. Machine scheduling problems. Martinus Nijho,


The Hague (1976).

[107] McMahon, G. Optimal production schedules for ow shops. Cana-


dian Operational Research Society Journal 7 (1969), 141151.

[108] McMahon, G., Burton, P. Flow-shop scheduling with the branch-


and-bound method. Operations Research 15 (1967), 473481.

148 Maciej Lichtenstein


BIBLIOGRAFIA

[109] Monma, C., Rinnooy Kan, A. A concise survey of eciently solv-


able special cases of the permutation ow-shop problem. RAIRO
Recherche operationnelle 17 (1983), 105119.

[110] Monma, C., Potts, C. On the complexity of scheduling with batch


setup times. Operations Research 37 (1989), 798804.

[111] Nawaz, M., Enscore, E., Ham, I. A heuristic algorithm for the
m-machine, n-job ow-shop sequencing problem. OMEGA 11 (1983),
9195.

[112] Nowicki, E. Metoda tabu w problemach szeregowania zada« produk-


cyjnych. Ocyna Wydawnicza Politechniki Wrocªawskiej, Seria: Mono-
grae, 1999.

[113] Nowicki, E., Smutnicki, C. Worst-case analysis of an approxima-


tion algorithm for ow-shop scheduling. Operations Research Letters 8
(1989), 171177.

[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.

[119] Osman, I., Potts, C. Simulated annealing for permutation ow-shop


scheduling. OMEGA 17 (1989), 551557.

[120] O§uz, C., Ercan, M. Scheduling multiprocessor tasks in a two-


stage ow-shop environment. Computers and Industrial Engineering
33 (1997), W269W272.

 Szeregowanie zada« i rozdziaª zasobów ... 149


BIBLIOGRAFIA

[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).

[123] Panwalkar, S., Rajagopalan, R. Single machine sequencing with


controllable processing times. European Journal of Operational Re-
search 59 (1992), 298302.

[124] Potss, C., Kovalyov, M. Scheduling with batching: A review. Eu-


ropean Journal of Operational Research 120 (2000), 228249.

[125] Potts, C. An adaptive branching rule for the permutation ow-shop


problem. European Journal of Operational Research 5 (1980), 1925.

[126] Potts, C. An algorithm for the single machine sequencing prob-


lem with precedence constraints. Mathematical Programming Study 13
(1980), 7887.

[127] Potts, C. Analysis of heuristics for two-machine ow-shop sequenc-


ing subject to release dates. Mathematics of Operations Research 10
(1985), 155164.

[128] Potts, C., Shmoys, D., Williamson, D. Permutation vs. non-


permutation ow shop schedules. Operations Research Letters 10
(1991), 281284.

[129] Potts, C., Wassenhove, L. V. Integrating scheduling with batching


and lot-sizing: A review of algorithms and complexity. Journal of the
Operational Research Society 43 (1992), 395406.

[130] Reeves, C. Improving the eciency of tabu search for machine se-
quencing problems. Journal of the Operational Research Society 44
(1993), 375382.

[131] Reeves, C. A genetic algorithm for owshop sequencing. Computers


and Operations Research 22 (1995), 513.

[132] Riane, F., Artiba, A., Elmaghraby, S. A hybrid three-stage ow-


shop problem: Ecient heuristics to minimize makespan. European
Journal of Operational Research 109 (1998), 321329.

150 Maciej Lichtenstein


BIBLIOGRAFIA

[133] Röck, H., Schmidt, G. Machine aggregation heuristics in shop-


scheduling. Methods of Operations Research 45 (1983), 303314.

[134] Rote, G., Woeringer, G. Minimizing the number of tardy jobs


on a single machine with batch setup times.Report Woe-23, START
Project Y43-MAT, Institut fur Mathematik, TU Graz, Austria (1998).

[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.

[136] Schuurman, P., Woeginger, G. A polynomial time approximation


Technical
scheme for the two-stage multiprocessor ow shop problem.
Report Woe-01, Department of Mathematics, TU Graz, Austra (1997).

[137] Shmoys, D., Stein, C., J.Wein. Improved approximation algorithms


for schop scheduling problems. SIAM Journal on Computing 23 (1994),
617632.

[138] Smith, W. Various optimizers for single-stage production. Naval Res.


Logist. Qart. 3 (1956), 5966.

[139] Smutnicki, C. Optimization and control in just-in-time manufactur-


ing systems. Prace naukowe Instytutu Cybernetyki Technicznej Po-
litechniki Wrocªawskiej, Seria Monograe, 1997.

[140] Smutnicki, C. Algorytmy szeregowania. Akademicka Ocyna


Wydawnicza EXIT, Warszawa, 2002.

[141] Srinivasa-Prasanna, G., Musucus, B. Generalized multiprocessor


scheduling for dedicated acyclic graphs. Proceedings of Supercomputing
IEEE Press, New York (1994), 237246.

[142] Szwarc, W. Elimination methods in the m×n sequencing problem.


Naval Research Logistics Quarterly 18 (1971), 295305.

[143] Szwarc, W. Optimal elimination methods in the m×n sequencing


problem. Operations Research 21 (1973), 12501259.

[144] Szwarc, W. Dominance conditions for the three-machine ow-shop


problem. Operations Research 26 (1978), 203206.

[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.

 Szeregowanie zada« i rozdziaª zasobów ... 151


BIBLIOGRAFIA

[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.

[148] Townsend, W. Minimizing the maximum penalty in the two-machine


ow shop. Management Science 24 (1997), 230234.

[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.

[151] Vickson, R. Two single-machine sequencing problems involving con-


trollable processing times. AIIE Transactions 12 (1980), 258262.

[152] Vizing, V. About schedules observing deadlines. Kibernetika 1 (1981),


128135.

[153] Vizing, V. Optimal choice of task execution intensities with a convex


penalty function for intensity. Kibernetika 3 (1982), 125127.

[154] Wang, Q., Chen, K. List scheduling of parallel tasks. Information


Processing Letters 37 (1991), 291297.

[155] Webster, S., Baker, K. Scheduling groups of jobs on a single ma-


chine. Operations Research 43 (1995), 692703.

[156] Weems, C., Riseman, E., Hanson, A. Image understanding ar-


chitecture: Exploiting potential parallelism in machine vision. IEEE
Computer 25 (1992), 12301245.

[157] Werner, F. On the heuristic solution of the permutation ow shop


problem by path algorithms. Computers and Operations Research 20
(1993), 707722.

152 Maciej Lichtenstein


BIBLIOGRAFIA

[158] W¦glarz, J. Scheduling under continuous performing speed vs. re-


source amount activity models. Advances in Project Scheduling, Else-
vier Science Publishers, Amsterdam (1989), 273295.

[159] Widmer, M., Hertz, A. A new heuristic method for the ow shop
sequencing problem. European Journal of Operational Research 41
(1989), 186193.

[160] Williams, D., Wirth, A. A new heuristic for a single machine


scheduling problem with setup times. Journal of the Operational Re-
search Society 47 (1996), 175180.

[161] Woeginger, G. A polynomial time approximation scheme for sin-


gle machine sequencing with delivery times and sequence independent
setup times. Report Woe-17, START Project Y43-MAT, Intitut fur
Mathematik, TU Graz, Austra (1997).

[162] Zdrzaªka, J. Harmonogramowanie zada«, grupowanie i porcjowanie


z przezbrojeniami maszyn. Zeszyty Naukowe Politechniki ‘l¡skiej, ser.
Automatyka 109 (1992), 353366.

[163] Zdrzaªka, J. Analysis of approximation algorithms for single-


machine scheduling with delivery times and sequence independent
batch setup times. European Journal of Operational Research 80
(1995), 371380.

[164] Zhu, Y., Ahuja, M. On job scheduling on a hypercube. IEEE Trans-


actions on Parallel and Distributed Systems 4/1 (1993), 6269.

 Szeregowanie zada« i rozdziaª zasobów ... 153

You might also like