• Nie Znaleziono Wyników

W rozdziale tym przedstawimy formalną definicję badanego problemu oraz jego własności. Rozdział 5 składa się z trzech podrozdziałów. W podrozdziale 5.1 sfor-mułujemy badany problem. W podrozdziale 5.2 przedstawimy jego własności.

Na koniec, w podrozdziale 5.3 powiemy kilka słów o złożoności tego problemu.

5.1 Sformułowanie problemu

Problem, który rozważamy w rozprawie można sformułować jako następujący problem szeregowania zadań pozycyjno-zależnych.

Mamy dane n ­ 3 zadań J1, J2, . . . , Jn i dwie równoległe identyczne ma-szyny M1, M2, dostępne od chwili 0. Szeregujemy zadania na obu maszynach bez przestoju. Wszystkie zadania są niezależne, a czas wykonywania każdego zadania zależy od pozycji zadania w uszeregowaniu. Dokładniej, aktualny czas wykonywania zadania Jj uszeregowanego bez podziału na r-tej pozycji w usze-regowaniu jest równy pj,r = pj∗ ra, gdzie pj to podstawowy czas wykonywania zadania Jj, r to pozycja tego zadania w uszeregowaniu, a a < 0 jest indek-sem uczenia się. Wybraliśmy taką formę efektu uczenia się ponieważ jest to najpopularniejsza forma w literaturze (patrz np. ostatnia praca przeglądowa autorstwa Azzouz i inni (2018)).

Czas wykonywania podzielonego zadania Jjjest zdefiniowany podobnie, pod warunkiem, że podstawowy czas wykonywania zadania Jj jest sumą podsta-wowych czasów wykonywania dwóch części zadania: jednej ukończonej przed przerwaniem i drugiej po przerwaniu.

Obie części podzielonego zadania są traktowane jak dwa nowe niezależne i niepodzielne zadania, tj. nie mogą być podzielone i nie mogą być wykonywane na obu maszynach jednocześnie lub na tej samej maszynie w różnych przedziałach czasu.

Kryterium optymalności uszeregowania jest długość uszeregowania Cmax. W całej rozprawie nazywam ten problem PSLE (ang. Preemptive Scheduling with a Learning Effect ).

19

ROZDZIAŁ 5. PROBLEM PSLE 20

5.2 Własności

W tym podrozdziale, przedstawimy podstawowe własności problemu PSLE.

Podrozdział ten składa się z czterech sekcji. W sekcji 5.2.1 przedstawimy własno-ści dotyczące współczynnika podziału zadania. W sekcji 5.2.2 podamy definicję zadania dominującego oraz opiszemy pewne konsekwencje jego istnienia. W sek-cji 5.2.3 pokażemy własności dotyczące uszeregowań optymalnych. Na koniec, w sekcji 5.2.4 przedstawimy własności związane z transformacjami uszeregowań.

5.2.1 Własności współczynnika podziału zadania

Problem PSLE dotyczy podzielnego szeregowania, czyli takiego w którym cho-ciaż jedno zadanie zostało podzielone. Ponieważ do podzielności zadania docho-dzi wtedy, kiedy jego dwie części mają niezerowy czas wykonywania, to należało by formalnie pokazać jak wartość współczynnika podziału zadania, ma się do te-go faktu. Pierwsza z właściwości pokazuje jaką wartość może mieć współczynnik podziału zadania, kiedy zadanie jest podzielone.

Własność 5.1. Zadania Jk0 i Jk00 w uszeregowaniu σ mają niezerowy czas wy-konania zadania wtedy i tylko wtedy gdy współczynnik podziału xk(σ) zadania Jk należy do przedziału (0, 1).

Dowód. (⇒) Rozważmy dowolne podzielne uszeregowanie dla problemu PSLE.

Niech zadanie Jk będzie podzielone w czasie tk na dwa nowe zadania Jk0 i Jk00, z odpowiednio niezerowym czasem wykonywania p0k i p00k. Ponieważ pk > 0 i p0k > 0, to p

(⇐) Rozważmy dowolne podzielne uszeregowanie dla problemu PSLE i niech współczynnik podziału zadania xk(σ) ∈ (0, 1). Ponieważ xk(σ) = pp0k

k > 0 i pk > 0, to p0k > 0. Podobnie, ponieważ xk(σ) < 1 i pk > 0, to p0k < pk, i pk− p0k = p00k > 0.

Powyższa własność została zilustrowana przykładem 4.3.

Ponieważ w badanym problemie zawsze przerywamy zadanie Jk uszeregowa-ne na pierwszej pozycji na maszynie M2, to moment w którym to robimy ma wpływ na długość zadania Jk0 uszeregowanego jako ostatnie na maszynie M1. Co więcej zmieniając ten moment zmieniamy czas wykonania zadania Jk0. Kolejna własność pokazuje zależność między czasem przerwania zadania Jk a czasami zakończenia zadań Jk0 i Jk00.

Własność 5.2. Niech będzie dane uszeregowanie σ w którym zadania Jk0 i Jk00 mają niezerowy czas wykonania zadania i s jest pozycją zadania Jk0. Wtedy jeżeli przekształcimy uszeregowanie σ na σ0w taki sposób, że czas zakończenia zadania Jk00 zmieni się następująco Ck000) = Ck00(σ) + t, gdzie t ∈ (−Ck00, pk− Ck00), to nowy czas zakończenia zadania Jk0 będzie równy Ck00) = Ck0(σ) − tsa.

ROZDZIAŁ 5. PROBLEM PSLE 21

Dowód. Aby udowodnić powyższą własność musimy pokazać jaka jest wartość współczynnik podziału zadania xk0) po przekształceniu, a następnie za jego pomocą pokazać jaka jest wartość Ck00) czasu zakończenia zadania Jk0.

Rozważmy następujące fakty:

• xk0) = p0kp0)

k (patrz definicja 4.2)

• p0k= pk− p00k (patrz definicja 4.1)

• ponieważ zadanie Jk00jest uszeregowane na pierwszej pozycji na maszynie M2to p00k0) = Ck000)

Korzystając z tych faktów mamy

xk0) = pk− Ck000) pk

.

Następnie korzystając z założenia, że Ck000) = Ck00(σ) + t, Ck00(σ) = p00k(σ) oraz z uwagi 4.4 mamy

xk0) = pk− ((1 − xk(σ))pk+ t)

pk =pk− pk+ xk(σ)pk− t

pk .

Przekształcając powyższe równanie otrzymujemy xk0) = xk(σ) − t

pk

. (5.1)

Teraz pokażemy wartość Ck00) czasu zakończenia zadania Jk0. Zauważmy, że zadanie Jk0 rozpoczyna się w tym samym czasie w obu uszeregowaniach σ i σ0, czyli Sk0(σ) = Sk00). Korzystając z uwagi 4.4 i faktu, że Ck00) = Sk00)+p0k0) mamy

Ck00) = Sk0(σ) + xk0)pksa.

Podstawiamy do powyższego równania współczynnik podziału zadania (5.1) otrzymamy

Ck00) = Sk0(σ) + (xk(σ) − t pk

)pksa= Sk0(σ) + xk(σ)pksa− tsa. Ponieważ S0k(σ) + xk(σ)pksa = Ck0(σ) to

Ck00) = Ck0(σ) − tsa co kończy dowód.

Własność 5.2 zilustrujemy następującym przykładem pokazującym wpływ współczynnika podziału zadnia na długość uszeregowania.

ROZDZIAŁ 5. PROBLEM PSLE 22

Rysunek 5.1: Wpływ zmiany momentu podziału zadania na uszeregowanie

Przykład 5.1. Weźmy n = 3 zadania o podstawowych czasach wykonywania równych p1 = 3, p2 = 2, p3 = 4 oraz indeksie uczenia się a = −1. Zadanie J1

przydzielimy do pierwszej maszyny, zadanie J3do drugiej maszyny, a zadanie J2

podzielimy w chwili 1 otrzymując uszeregowanie σ (patrz rysunek 5.1a), wtedy zadanie J20 będzie wykonywane przez 12 jednostki czasu i zakończy się w chwili C20 = 312. Zauważmy, że kiedy podzielimy zadanie J2 w chwili 12 otrzymując uszeregowanie σ0 (patrz rysunek 5.1b), to zadanie J20 będzie wykonywane przez

3

4 jednostki czasu i zakończy się w chwili C20 = 334.

5.2.2 Własności zadania dominującego

Kolejne pojęcie, jakie wprowadzamy, wiąże się z faktem, że niektóre zadania mogą mieć tak duży podstawowe czasy wykonywania, że wykonanie ich będzie trwało dłużej niż wykonanie pozostałych zadań, jak ma to miejsce w Algorytmie McNaughtona, kiedy Cmax? = maxj{pj} (patrz algorytm 3.1 i przykład 3.2).

Każde takie zadanie będzie nazywane zadaniem dominującym.

Definicja 5.1. Niech ¯J = J \ {Jd}, J1⊆ ¯J , J2= ¯J \ J1 i ¯J1= J1\ {Jk}, gdzie Jkjest podzielonym zadaniem. To zadanie Jdnazwiemy zadaniem dominującym, jeśli d = arg maxi{pi} i dla wszystkich podzbiorów zbioru zadań ¯J spełniony jest następujący warunek

max

k {L[1]( ¯J1) + pk(| ¯J1| + 1)a} ¬ L[2](J2) + pd(|J2| + 2)a. (5.2) Każde zadanie, które nie spełnia definicji 5.1, nazwiemy zadaniem nie-domi-nującym. Uszeregowanie z zadaniem dominującym (bez zadania dominującego) będziemy nazywać uszeregowaniem zdominowanym (niezdominowanym). Zilu-strujemy definicję 5.1 następującymi przykładami.

Pierwszy przykład przedstawia zadanie dominujące w uszeregowaniu zadań o stałych czasach wykonywania.

Przykład 5.2. Weźmy n = 4 zadania o podstawowych czasach wykonywa-nia równych p1 = 1, p2 = 1, p3 = 1 i p4 = 4. Jedno z dwudziestu czterech optymalnych uszeregowań zostało przedstawione na rysunku 5.2. Zauważmy, że podstawowy czas wykonywania zadania dominującego J4 jest równy długości uszeregowania Cmax = p4, niezależnie od tego czy zadanie dominujące będzie przerwane czy nie.

ROZDZIAŁ 5. PROBLEM PSLE 23

Rysunek 5.2: Zadanie dominujące w klasycznym przypadku

Drugi przykład przedstawia zadanie dominujące dla uszeregowania zadań pozycyjno-zależnych.

Przykład 5.3. Mamy dane n = 4 zadań z podstawowymi czasami wykonywania p1 = p2 = p3 = 1 i p4 = 3, i niech indeks uczenia się będzie równy a =

−1. Zadanie J4jest zadaniem nie-dominującym (patrz rysunek 5.3a). Jednakże, jeśli zwiększymy p4 do 4, to zadanie J4 będzie zadaniem dominującym (patrz rysunek 5.3b).

Rysunek 5.3: Uszeregowanie zdominowane a uszeregowanie niezdominowane

Kolejna własność mówi o wpływie istnienia zadania dominującego na uszere-gowanie, ale zanim je przedstawimy musimy wprowadzić następującą definicję.

Definicja 5.2. Całkowite obciążenie T Li(σ) maszyny Mi w uszeregowaniu σ jest równe sumie rzeczywistych czasów przetwarzania wszystkich zadań uszere-gowanych na tej maszynie.

Własność 5.3. Jeżeli w instancji istnieje zadanie dominujące, to nie istnieje uszeregowanie optymalne dla tej instancji.

Dowód. Załóżmy, że tak nie jest, i mamy uszeregowanie optymalne σ? dla in-stancji w której istnieje zadanie dominujące Jd. Zgodnie z nierównością (5.2) T L1?) < T L2?) (w przypadku kiedy w nierówności (5.2) lewa strona jest równa prawej, to aby zadania na drugiej maszynie zaczynały się od drugiej po-zycji część zadania Jkmusi zostać przeniesiona na pierwszą pozycję na maszynę M2, co spowoduje nierówność obciążeń obu maszyn). To oznacza, że

Cmax?) = T L2?) = (1 − xk?))pk+ L[2](J2\ {Jd}) + pd(|J2| + 2)a. (5.3) Ponieważ zadanie Jk jest podzielone na dwie niezerowe części to zgodnie z wła-snością 5.1, xk?) ∈ (0, 1). Skonstruujmy uszeregowanie σ w taki sposób, że

ROZDZIAŁ 5. PROBLEM PSLE 24

w uszeregowaniu σ? zastąpimy współczynnik podziału xk?) współczynnikiem xk(σ) takim, że xk?) < xk(σ) < 1.

Ponieważ xk(σ) < 1 więc T L1(σ) < T L2(σ), czyli

Cmax(σ) = T L2(σ) = (1 − xk(σ))pk+ L[2](J2\ {Jd}) + pd(|J2| + 2)a. (5.4) Odejmując (5.4) od (5.3) otrzymujemy

Cmax?) − Cmax(σ) = (1 − xk?))pk− (1 − xk(σ))pk

= ((1 − xk?)) − (1 − xk(σ)))pk.

Ponieważ xk?) < xk(σ) to (1 − xk?)) − (1 − xk(σ)) = xk(σ) − xk?) > 0, co oznacza, że Cmax?) > Cmax(σ), co przeczy temu, że uszeregowanie σ? jest optymalne.

Idee powyższego dowodu przedstawimy na przykładzie 5.3. Na rysunku 5.3b mamy uszeregowanie z zadaniem dominującym w którym czas wykonywania za-dania Jk00jest równy p00k, a Cmax= p00k+ L[2](J2). Ponieważ dla dowolnego p00k > 0 istnieje liczba dodatnia mniejsza od p00k, więc zgodnie z własnością 5.2 zawsze możemy skonstruować krótsze uszeregowanie, dlatego nie możemy wyznaczyć uszeregowania optymalnego.

Ponieważ na mocy własności 5.3 nie istnieje uszeregowanie optymalne dla instancji z zadaniem dominującym to w dalszych rozważaniach rozpatrujemy instancje problemu PSLE bez zadań dominujących.

5.2.3 Własności uszeregowania optymalnego

Teraz przedstawimy kilka właściwości, które charakteryzują optymalne uszere-gowanie dla problemu PSLE.

Własność 5.4 (Pierwszy warunek konieczny uszeregowania optymalnego).

Jeżeli uszeregowanie σ jest optymalne, to pewne zdanie musi być podzielone.

Dowód. Niech będzie dane optymalne uszeregowanie σ? takie, że T L1?) ­ T L2?) i żadne zadanie nie zostało przerwane, gdzie

T L1?) = L[1](J1\ {Jk}) + pksa T L2?) = L[1](J2)

i Jk jest ostatnim zadaniem uszeregowanym na maszynie M1 na s-tej pozycji.

(Jeżeli T L1?) ¬ T L2?), to należy przenumerować maszyny M1 i M2.) Przenieśmy zadanie Jk na pierwszą pozycję na maszynę M2i przerwijmy je w chwili

0 < t < min{pk, L[1](J2) − L[2](J2)}.

Przez σ oznaczmy nowe uszeregowanie w którym zadanie Jk będzie przerwane w powyższy sposób. Pokażemy że Cmax(σ) < Cmax?).

ROZDZIAŁ 5. PROBLEM PSLE 25

Rozważmy obciążenie maszyny M1. Zauważmy,

T L1(σ) = L[1](J1\ {Jk}) + xk(σ)pksa T L1?) = L[1](J1\ {Jk}) + pksa, a ponieważ xk(σ) ∈ (0, 1) zgodnie z własnością 5.1, więc

T L1(σ) < T L1?).

Rozważmy obciążenie maszyny M2. Ponieważ ra > (r + 1)a dla a < 0, to L[1](J2) > L[2](J2). Zatem

T L2(σ) = L[2](J2) + t T L2?) = L[1](J2) a ponieważ t < L[1](J2) − L[2](J2), to

T L2(σ) < T L2?).

Ponieważ obciążenia maszyn w uszeregowaniu σ są mniejsze od obciążeń maszyn w uszeregowaniu σ?, to Cmax(σ) < Cmax?). Sprzeczność.

Powyższą własność zilustrujemy następującym przykładem.

Przykład 5.4. Mamy dane n = 5 zadań z podstawowymi czasami wykonywania p1 = 1, p2 = 4, p3 = 6, p4 = 2 i p5 = 6, i indeks uczenia się a = −1. Na

M1

M2

0 1 2 3 4 5

J1 J2 J3

J4 J5

(a) Uszeregowanie bez podziału Cmax= 5

M1

M2

0 1 2 3 4 5

J1 J2 J30 J300 J4 J5

(b) Uszeregowanie z podziałem Cmax= 423

Rysunek 5.4: Uszeregowanie bez podziału, a uszeregowanie z podzielonym za-daniem

rysunku 5.4a mamy zadania uszeregowane bez podziału w taki sposób, aby obciążenia obu maszyn były sobie równe, Cmax= 5. Jednakże, jeśli przeniesiemy zadanie J3 na pierwszą pozycję maszyny M2 i przerwiemy je w chwili 1 (patrz rysunek 5.4b), to otrzymamy krótsze uszeregowanie w którym Cmax= 423.

Skoro wiemy, że w uszeregowaniu optymalnym musi być podzielone jedno za-danie, więc manipulując wartością jego współczynnika podziału zadania mogli-byśmy z danego uszeregowania spróbować skonstruować krótsze uszeregowanie, o czym mówi następująca własność.

ROZDZIAŁ 5. PROBLEM PSLE 26

Własność 5.5. Niech będzie dane uszeregowanie σ z Cmax(σ) = max{T L1(σ), T L2(σ)}. Jeśli T L1(σ) 6= T L2(σ), to istnieje uszeregowanie σ0takie, że Cmax0)

< Cmax(σ).

Dowód. Niech σ będzie danym uszeregowaniem z Cmax(σ) = max{T L1(σ), T L2(σ)} i takim że T L1(σ) 6= T L2(σ).

Rozważmy dwa przypadki: przypadek 1, kiedy w uszeregowaniu σ nie ma podzie-lonego zadania, i przypadek 2, kiedy w uszeregowaniu σ jest jedno podzielone zadanie.

W przypadku 1, możemy skonstruować z uszeregowania σ inne uszerego-wanie, σ0, z jednym podzielonym zadaniem. Wtedy, zgodnie z własnością 5.4, mamy Cmax0) < Cmax(σ).

Rozważmy przypadek 2. Niech σ będzie uszeregowaniem, w którym T L1(σ) >

T L2(σ) i niech zadanie Jk będzie podzielone w taki sposób, że Jk0 jest uszerego-wane na ostatniej pozycji na maszynie M1, podczas gdy zadanie Jk00 jest usze-regowane na pierwszej pozycji na maszynie M2. Wtedy, zadanie Jk00 rozpoczyna się w chwili 0 i kończy się w chwili Ck00(σ).

Skonstruujemy nowe uszeregowanie, σ0, w którym zadanie Jkjest podzielone w czasie Ck00(σ) < t ¬ b, gdzie b = T L1(σ)−T Lsa+1 2(σ) (T L1+ b ¬ T L2− bsa) a s jest numerem pozycji zadania Jk0. Na mocy własności 5.2, otrzymujemy T L20) >

T L2(σ), ale ponieważ t ¬ b, to T L20) ¬ T L10). Konstruując uszeregowania σ0 z uszeregowania σ skracamy podstawowy czas wykonywania p0k zadania Jk0. Stąd T L10) < T L1(σ). Ponieważ T L20) ¬ T L10) i T L10) < T L1(σ), to Cmax(σ) > Cmax0). Co należało pokazać.

Przypadek kiedy T L1(σ) < T L2(σ) możemy udowodnić w podobny sposób.

Z własność 5.5 wynika następująca własność, która jest warunkiem koniecz-nym optymalności uszeregowania dla problemu PSLE.

Własność 5.6 (Drugi warunek konieczny uszeregowania optymalnego).

Jeżeli uszeregowanie σ? jest optymalne, to T L1?) = T L2?).

Dowód. Załóżmy, że uszeregowanie σ?jest optymalne i T L1?) 6= T L2?). To, na mocy własności 5.5, możemy skonstruować z uszeregowania σ? inne uszere-gowanie, σ, takie że T L1(σ) = T L2(σ) i Cmax(σ) < Cmax?). Sprzeczność.

Jednak, jak pokazuje następny przykład, równość całkowitych obciążeń obu maszyn w uszeregowaniu nie gwarantuje, że uszeregowanie jest optymalne, po-nieważ może istnieć krótsze uszeregowanie z równymi obciążeniami obu maszyn.

Zobrazuje nam to następujący przykład.

Przykład 5.5. Załóżmy, że mamy n = 5 zadań z podstawowymi czasami wy-konywania p1= 1, p2= 2, p3= 3, p4= 4, p5= 5 i indeksem uczenia się a = −1.

Rysunek 5.5a przedstawia uszeregowanie σ z Cmax(σ) = 31324, w którym maszyny M1 i M2kończą wykonywanie zadań w tym samym czasie, a współczynnik po-działu zadania jest równy x4(σ) = 2532. Jednakże, jak pokazano na rysunku 5.5b, jeśli zmienimy sekwencję zadań na maszynach M1 i M2, i przerwiemy J2 ze

ROZDZIAŁ 5. PROBLEM PSLE 27

współczynnikiem podziału zadania x4?) = 3132, to w nowym uszeregowaniu, σ?, obie maszyny kończą wykonywanie zadań ponownie w tym samym czasie ale uszeregowanie σ? jest krótsze niż σ, tj. Cmax?) = 3247 < Cmax(σ). Zwróć-my również uwagę na to że σ?jest unikalnym optymalnym uszeregowaniem dla tej instancji.

(b) Optymalne uszeregowanie σ?, Cmax?) = 3247

Rysunek 5.5: Dwa różne uszeregowania z pojedynczym podzielonym zadaniem

Wpływ efektu uczenia się powoduje, że niektóre zmiany sekwencji niepodzie-lonych zadań przypisanych w danym uszeregowaniu do tej samej maszyny mogą prowadzić do krótszych uszeregowań niż dane uszeregowanie wyjściowe. Szuka-jąc uszeregowania optymalnego musimy więc wykonać następuSzuka-jące czynności:

• wyznaczyć dzielone zadanie Jk,

• wyznaczyć sekwencje zadań niepodzielonych J = J \ {Jk},

• z powstałej sekwencji zadań niedzielonych J wygenerować pewną podse-kwencję zadań, którą przydzielimy do pierwszej maszyny J1,

• dopełnienia powstałych sekwencji przydzielić do drugiej maszyny J2 = J\ J1.

Postępując według powyższych kroków otrzymujemy dwie rozłączne sekwencję zadań J1 i J2 oraz dzielone zadanie Jk. Czyli J = J1∪ J2∪ {Jk}. Aby zna-leźć uszeregowanie optymalne musimy więc sprawdzić wszystkie takie sekwencje.

Jednak podczas tej czynności natrafimy na dwa problemy.

Po pierwsze, nietrudno zauważyć, że niektóre z tych podziałów nie będą spełniały własności 5.6. Rozpatrzmy następujący przykład.

Przykład 5.6. Załóżmy, że mamy dane n = 5 zadań z podstawowymi czasami wykonywania pi = 1 dla 1 ¬ i ¬ 5 oraz a = −1. Próbujemy podzielić zadanie J1, do pierwszej maszyny przydzielamy zadanie J2, a pozostałe zadania szere-gujemy na drugiej maszynie. Powstałe uszeregowanie przedstawia rysunek 5.6.

Zauważmy, że obciążenia obu maszyn nie są równe i dodatkowo zadanie J1 nie zostało podzielone.

Powyższy przykład pokazuje sytuację, która będzie występowała często, to znaczy generując wszystkie podziały sekwencji J otrzymamy takie sekwencje zadań którym będą odpowiadały uszeregowania nie spełniające własności 5.6.

ROZDZIAŁ 5. PROBLEM PSLE 28

M1

M2

0 1 2

J2 J1

J3 J4J5

Rysunek 5.6: Uszeregowanie nie spełniające własności 5.6

Po drugie, jeśli własność 5.6 będzie spełniona, to powinniśmy znać wartość współczynnika podziału dzielonego zadania.

W rozwiązaniu powyższych problemów pomoże nam następująca własność.

Własność 5.7. Niech σ będzie uszeregowaniem takim, że T L1(σ) = T L2(σ), zadanie Jk jest uszeregowane jako ostatnie na maszynie M1 i s jest pozycją tego zadania w uszeregowaniu. Wtedy

0 ¬ L[2](J2) − L[1](J1) + pk

pk(sa+ 1) < 1. (5.5) Dowód. Załóżmy, że T L1(σ) = T L2(σ) i niech zadanie Jk będzie uszeregowane na maszynie M1na pozycji s jako ostatnie zadanie uszeregowane na tej maszy-nie. Równość T L1(σ) = T L2(σ) jest równoważna równości

L[1](J1) + xk(σ)pksa= L[2](J2) + (1 − xk(σ))pk (5.6) jak pokazano na rysunku 5.7.

M1

M2

L[1](J1) xk(σ)pksa

(1 − xk(σ))pkL[2](J2) J1 Jk0 Jk00 J2

Rysunek 5.7: Przykład uszeregowania z xk(σ) ∈ [0, 1)

Obliczając z (5.6) współczynnik podziału zadania xk(σ), otrzymujemy xk(σ) = L[2](J2) − L[1](J1) + pk

pk(sa+ 1) .

Są dwa możliwe przypadki: przypadek 1, kiedy zadanie Jk jest podzielone i przypadek 2, kiedy zadanie Jk nie jest podzielone.

W przypadku 1, na mocy własności 5.1 mamy, że xk(σ) ∈ (0, 1).

W przypadku 2, zadanie Jk jest uszeregowane w całości na pierwszej pozycji na maszynie M2, a to oznacza, że L[1](J1) = L[2](J2)+pk, stąd wynika że licznik

ROZDZIAŁ 5. PROBLEM PSLE 29

ilorazu w (5.5) równa się 0, czyli iloraz jest równy 0. Stąd, wartość xk(σ) zawiera się w przedziale [0, 1).

Mając dany odpowiedni podział sekwencji zadań i własność 5.7 jesteśmy w stanie określić, czy podział ten spełnia własność 5.6. Dodatkowo zauważmy, że jeżeli T L1(σ) = T L2(σ), to (5.5) jest alternatywną definicją współczynnika podziału zadania xk(σ). Jednak, jeśli T L1(σ) 6= T L2(σ), to (5.5) może mieć wartość spoza przedziału [0, 1). Zilustrujemy ten fakt poniższym przykładem.

Przykład 5.7. Załóżmy, że mamy dane n = 5 zadań z podstawowymi czasami wykonywania p1= 1, p2= 2, p3= 3, p4= 4, p5= 5 i chcemy podzielić zadanie

Rysunek 5.8: Współczynnik podziału zadania a podzielność zadań W uszeregowaniu σ0, szeregujemy zadanie J3 na maszynie M1 i zadania J2, J4, J5 na maszynie M2. Wtedy, wartości L[1](J1) i L[2](J2) są odpowiednio równe 3 i 3127. W tym przypadku, wartość (5.5) wynosi 1181 > 1 (patrz rysu-nek 5.8b).

Następnie powinniśmy zastanowić się czy kolejność niepodzielonych zadań przydzielonych do jednej maszyny ma znaczenie. Z faktu iż algorytm SPT jest optymalny dla jednomaszynowego problemu z niepodzielnymi zadaniami pozycyjno-zależnymi oraz kryterium Cmax (zobacz Mosheiov (2001)), wynika następująca własność (por. Żurowski (2018a)).

Własność 5.8. W optymalnym uszeregowaniu wszystkie niepodzielone zadania na maszynie Mi i = 1, 2, są uszeregowane w porządku SPT względem podstawo-wych czasów wykonywania zadań.

Dowód. Załóżmy że w optymalnym uszeregowaniu σ? niepodzielone zadania nie są w porządku SPT. To znaczy, że istnieje zadanie Jj uszeregowane na r-tej pozycji i zdanie Jk uszeregowane na s-tej pozycji, r < s, takie że pk< pj(patrz rysunek 5.9a). Skonstruujemy z uszeregowania σ? nowe uszeregowanie, σ, takie że zadanie Jj jest uszeregowane na s-tej pozycji a zadanie Jk jest uszeregowane

ROZDZIAŁ 5. PROBLEM PSLE 30

M1 M2

Jj Jk Jq0

Jq00 J2

r s

(a) Uszeregowanie σ?

M1

M2

Jk Jj Jq0

Jq00 J2

r s

(b) Uszeregowanie σ

Rysunek 5.9: Porządek SP T w optymalnym uszeregowaniu

na r-tej pozycji (patrz rysunek 5.9b). Ponieważ zadania uszeregowane po s-tej pozycji są wykonywane w obu uszeregowaniach na tych samych pozycjach, wystarczy pokazać, że Ck?) > Cj(σ).

Niech Sk?) = Sj(σ) + (pj− pk)ra, gdzie (pj− pk)ra jest różnicą między rzeczywistymi czasami wykonywania zadań uszeregowanych na r-tej pozycji w obu uszeregowaniach, i niech ra> sa dla a < 0. Wówczas

Ck?) = Sk?) + pk,s

= Sj(σ) + (pj− pk)ra+ pksa

> Sj(σ) + (pj− pk)sa+ pksa

= Sj(σ) + pjsa= Cj(σ).

Ponieważ Ck?) > Cj(σ), to T L1(σ) < T L1?). Stąd na mocy własności 5.5, możemy skonstruować z σ uszeregowanie, σ0, takie że Cmax0) < Cmax(σ) = Cmax?). Sprzeczność.

Następna własność pokazuje o ile mogą się różnić sumy L[2](J2) i L[1](J1) dla uszeregowania σ, pod warunkiem, że T L1(σ) = T L2(σ).

Własność 5.9. Niech zadanie Jk będzie uszeregowane jako ostatnie, niech s będzie pozycją zadania Jk w uszeregowaniu σ. Jeżeli T L1(σ) = T L2(σ), to D + pk ­ 0 i D < pksa.

Dowód. Niech D = L[2](J2) − L[1](J1) i T L1(σ) = T L2(σ). Musimy rozwa-żyć dwa przypadki: kiedy D jest najmniejsze (uszeregowanie σ0) i kiedy D jest największe (uszeregowanie σ00).

Różnica D jest najmniejsza, kiedy L[1](J1) > L[2](J2) i L[1](J1) jest najwięk-sze. Wtedy xk0) = 0 i całe dzielone zadanie jest uszeregowane na pierwszej po-zycji na maszynie M2(patrz rysunek 5.10a). Wtedy L[1](J1) = p00k+L[2](J2) i po

ROZDZIAŁ 5. PROBLEM PSLE 31

przekształceniu i podstawieniu D = L[2](J2)−L[1](J1), otrzymujemy D+p00k = 0.

Ponieważ pk­ p00k, mamy D + pk­ 0.

Różnica D jest największa, kiedy L[1](J1) < L[2](J2) i L[1](J1) jest naj-mniejsze. Wtedy xk00) dąży do 1, ale nie jest równy 1 ponieważ dla spełnienia równości T L100) = T L200) zadania z sekwencji J2 muszą być uszeregowane na maszynie M2 począwszy od drugiej pozycji. Wówczas prawie całe dzielone zadanie jest uszeregowane na ostatniej pozycji na maszynie M1 (patrz rysu-nek 5.10b). Stąd D < pksa.

Rysunek 5.10: Dolne i górne ograniczenie na D dla równych obciążeń maszyn

5.2.4 Własności związane z modyfikacją uszeregowania

Dwie ostatnie własności opisują wpływ usunięcia (wstawienia) zadania z (do) uszeregowania.

Własność 5.10. Niech σ będzie sekwencją s zadań uszeregowanych na maszy-nie Mi w porządku SPT, i = 1, 2. Jeżeli usuniemy zadanie J[r]i z sekwencji σ,

Dowód. Niech σ i σ0 oznacza sekwencję s zadań uszeregowanych na maszynie Mi, w porządku SPT i sekwencja σ0 nie zawiera zadania J[r]i . Aby udowodnić

ROZDZIAŁ 5. PROBLEM PSLE 32

Odejmując prawe strony (5.8) i (5.9) otrzymujemy

T Li(σ) − T Li0) = pi[r]ra+

Po przekształceniu tej nierówności otrzymujemy (5.7).

Zilustrujemy własność 5.10 następującym przykładem.

Przykład 5.8. Mamy n = 4 zadań z podstawowymi czasami wykonywania p1= 1, p2= 2, p3= 2, p4= 4 i a = −1. Wszystkie zadania są uszeregowane na maszynie M1. Obciążenie maszyny T L1(σ) dla uszeregowania σ = (1, 2, 3, 4) jest przedstawione na rysunku 5.11a. Po usunięciu zadania J2otrzymujemy uszere-gowanie σ0 = (1, 3, 4) z mniejszym obciążeniem maszyny (patrz rysunek 5.11b) ale usunięcie zadania J1 powoduje, że T L100) dla σ00= (2, 3, 4) wzrasta (patrz

Rysunek 5.11: Wpływ usunięcia zadania na obciążenie maszyny

W podobny sposób możemy udowodnić następującą własność.

Własność 5.11. Niech σ będzie sekwencją s zadań uszeregowanych na maszynie Mi w porządku SPT, i = 1, 2. Jeżeli wstawimy zadanie J[r]i do sekwencji σ w taki sposób, że zostanie zachowany porządek SPT, obciążenie T Li(σ) skróci się

ROZDZIAŁ 5. PROBLEM PSLE 33

Zilustrujemy własność 5.11 następującym przykładem.

Przykład 5.9. Mamy n = 3 zadań z podstawowymi czasami wykonywania p1 = 1, p2 = 2, p3 = 3 i a = −1. Jak w przykładzie 5.8, wszystkie zadania są uszeregowane na maszynie M1. Obciążenie maszyny T L1(σ) dla uszerego-wania σ = (1, 2, 3) jest przedstawione na rysunku 5.12a. Po wstawieniu do σ nowego zadania, J4, z podstawowym czasem wykonywania p4= 2 otrzymujemy nowe uszeregowanie σ0 = (1, 2, 4, 3) z większym obciążeniem maszyny (patrz rysunek 5.12b), chociaż zachowany jest porządek SPT. Wstawienie w podobny sposób zadania J4 z p4= 1 skutkuje uszeregowaniem σ00 = (1, 4, 2, 3) z mniej-szym obciążeniem maszyny (patrz rysunek 5.12c).

M1

0 1 2 3

J1 J2 J3

(a) Uszeregowanie (1, 2, 3) z T L1(σ) = 3

Rysunek 5.12: Wpływ dodania zadania na obciążenie maszyny

Uwaga 5.1. Zauważmy, że jeśli do pewnej sekwencji dodajemy zadanie o pod-stawowym czasie wykonywania większym niż mają zadania w tej sekwencji, tak aby zachować porządek SPT, to takie zadanie trafi zawsze na ostatnią pozycję tej sekwencji, a co więcej nie będzie spełniona nierówność 5.10, czyli sekwencja taka zawsze się wydłuży.

Powyższa uwaga będzie wykorzystana do konstrukcji pewnego algorytmu w rozdziale 6.

5.3 Uwagi na temat złożoności

Problem PSLE pozostaje problemem otwartym. Rozpatrując wiele instancji te-go problemu zauważyliśmy, że na dłute-gość uszerete-gowania diametralnie większy wpływ ma sposób przydziału zadań do maszyn niż wybór dzielonego zadania.

Ponieważ przydzielając zadania do maszyn musimy sprawdzić wszystkie możli-wości, których jest O(n2n−1), więc możemy postawić hipotezę, że problem PSLE

ROZDZIAŁ 5. PROBLEM PSLE 34

jest problemem NP-trudnym. Dodatkowo brak rozwiązania optymalnego dla in-stancji z zadaniem dominującym sprawia, że problem PSLE nie jest podobny do żadnych innych znanych nam problemów szeregowania zadań.

Rozważając zmianę definicji podzielności na zmodyfikowaną definicję ogra-niczonej k podzielności (patrz Ecker i Hirschberg (1993)), uzyskalibyśmy moż-liwość znalezienia rozwiązania optymalnego dla instancji z zadaniem dominują-cym, jednak takie podejście wygenerowało by uszeregowanie z przestojem, po-dobnie jak ma to miejsce w algorytmie McNaughton’a, kiedy Cmax? = maxj{pj} (patrz algorytm 3.1).

Szczególne instancje problemu PSLE, na przykład takie w której wszyst-kie podstawowe czasy wykonywania zadań są sobie równe możemy rozwiązać w czasie wielomianowym podobnie jak ma to miejsce dla problemu szeregowania podzielnych zadań o stałych czasach na dwóch równoległych identycznych ma-szynach z kryterium optymalności Cmax. Nie badaliśmy innych bardziej skom-plikowanych instancji tego problemu. Możemy więc sformułować następujące twierdzenie.

Twierdzenie 5.1. Jeżeli mamy instancję I problemu PSLE w której wszystkie zadania mają podstawowy czas wykonywania pj = c dla 1 ¬ j ¬ n i c > 0, to rozwiązanie optymalne dla tej instancji można znaleźć w czasie O(n2).

Twierdzenie 5.1. Jeżeli mamy instancję I problemu PSLE w której wszystkie zadania mają podstawowy czas wykonywania pj = c dla 1 ¬ j ¬ n i c > 0, to rozwiązanie optymalne dla tej instancji można znaleźć w czasie O(n2).

Powiązane dokumenty