• Nie Znaleziono Wyników

Model matematyczny i reprezentacja grafowa

W dokumencie 1.1 Tezy pracy (Stron 51-57)

3.3 Modele grafowe operacji wielomaszynowych

4.1.2 Model matematyczny i reprezentacja grafowa

Prezentowany poniżej model permutacyjno–grafowy zbudowany jest na bazie modelu wielomaszynowej operacji z nieprzesuwalnymi czynnościami asynchronicznymi, przedstawionej w rozdziale 3.3.2, oraz na bazie idei mo-delowania ograniczeń technologicznych i kolejnościowych, przedstawionej w rozdziale 3.4.

Jak już wspominałem, jako zmienną decyzyjną przyjmujemy zestaw per-mutacji π = (π1, . . . , πm), gdzie πl = (πl(1), . . . , πl(nl)) jest permutacją zbioru czynności Nl wykonywanych na maszynie l ∈ M; zbiór wszystkich takich zestawów, zwanych krótko permutacjami, oznaczamy przez Π. Łatwo zauważyć, że dla danej permutacji π ∈ Π, uszeregowanie s(u) ­ 0, u ∈ N jest uszeregowaniem dopuszczalnym wtedy i tylko wtedy, gdy

s(u+j−1) + pu+

j−1 ¬ s(uj ), jk+ 2 ¬ j ¬ jk+ ok, k ∈ J, (4.1) s(πl(i − 1)) + pπl(i−1) ¬ s(πl(i)), 2 ¬ i ¬ |πl| = nl, l ∈ M, (4.2) s(u) − rau = minns(v) : v ∈ Njo u ∈ Nj, j ∈ O. (4.3) Warunek (4.1) określa ograniczenia technologiczne omówione w rozdziale 3.4.1 i przedstawione wzorem (3.24). Warunek (4.2) wynika z przyjętej ko-lejności wykonywania czynności na poszczególnych maszynach (ogranicze-nia kolejnościowe), (3.21). Na koniec, warunek (4.3) określa ogranicze(ogranicze-nia operacyjne przedstawione w (3.15).

Przeprowadzimy teraz analizę powyższej równoważności. Po pierwsze, wynika z niej, że jeżeli dla danej permutacji π układ nierówności (4.1)-(4.3) jest sprzeczny, to nie istnieje uszeregowanie dopuszczalne dla permutacji π (mówiąc precyzyjniej nie istnieje uszeregowanie dopuszczalne zgodne z π 2).

Po drugie, jeżeli układ ten nie jest sprzeczny, to każde uszeregowanie s(u), u ∈ N , które go spełnia jest uszeregowaniem dopuszczalnym. W klasie tych uszeregowań wyspecyfikujmy tzw. uszeregowanie pseudo-aktywne 3. Ostatecznie badany przez nas problem polega na znalezieniu takiej permu-tacji π ∈ Π, dla której: (i) układ nierówności (4.1)-(4.3) nie jest sprzeczny

2Uszeregowanie s(u), u∈ N jest zgodne z π, jeżeli s(πl(i−1)) ¬ s(πl(i)), 2¬ i ¬ |πl|, l∈ M .

3Uszeregowanie jest pseudo-aktywne, jeżeli nie można przyspieszyć momentu rozpo-częcia żadnej czynności, tak aby (i) nie zmienić kolejności wykonywania czynności na poszczególnych maszynach oraz (ii) uszeregowanie pozostało dalej dopuszczalne.

oraz (ii) moment zakończenia wszystkich czynności maxu∈Nsa(u) + pu jest jak najmniejszy, gdzie sa(u) jest uszeregowaniem pseudo-aktywnym z klasy uszeregowań zgodnych z π i spełniających ten układ nierówności.

Przystąpimy teraz do sformułowania modelu permutacyjno-grafowego.

W tym celu dla permutacji π ∈ Π definiujemy graf

G(π) =N, ET ∪ EO∪ EK(π) (4.4) ze zbiorem obciążonych wierzchołków N reprezentujących poszczególne czynności, zbiorem nieobciążonych łuków technologicznych (wynikających z kolejności wykonywania operacji w poszczególnych zadaniach)

ET = [

nieobciążonych łuków kolejnościowych (wynikających z permutacji π)

EK(π) = [

oraz zbiorem obciążonych łuków operacyjnych (odzwierciedlających usta-lone względne położenie czynności poszczególnych operacji)

EO = [ reprezen-tujący czynność u ∈ N obciążony jest wartością pu. Łuki operacyjne po-szczególnych operacji obciążone są odpowiednimi wartościami, określonymi wzorem (3.16). Łuki technologiczne i kolejnościowe ET ∪ EK(π) zawsze łą-czą czynności różnych operacji zaś łuki operacyjne EO– różne czynności tej samej operacji, więc zbiory te są rozłączne, (ET∪EK(π))∩EO= ∅. Pozwa-la to na bardzo „przejrzyste” określenie wartości obciążenia wu,v każdego łuku (u, v) w grafie G(π),

wu,v=

( rav− rau− pu, (u, v) ∈ EO

0, (u, v) ∈ ET ∪ EK(π). (4.8) Łatwo zauważyć, że graf G(π) posiada n wierzchołków oraz o − r łuków technologicznych, 2(n − o) – luków operacyjnych, n − m – łuków kolejno-ściowych; łącznie 3n − o − m − r łuków.

Z definicji grafu G(π) wynika, że zawiera on cykle; długość tych cykli może być dowolna (ujemna, zerowa lub dodatnia). W przypadku kiedy w grafie G(π) nie ma cykli o dodatniej długości, niech rπ(u) (qπ(u)) oznacza wartość najdłuższej drogi dochodzącej do (wychodzącej z) wierzchołka u, łącznie z wagą tego wierzchołka4. Prawdziwe jest następujące twierdzenie.

Twierdzenie 4.1 Niech permutacja π ∈ Π oraz wszystkie operacje należą do grupy II.

(i) Jeżeli w grafie G(π) nie ma cykli o dodatniej długości, to uszeregowanie s(u) = rπ(u) − pu, u ∈ N jest pseudo-aktywnym uszeregowaniem dopusz-czalnym zgodnym z permutacją π.

(ii) Jeżeli w grafie G(π) występuje cykl o dodatniej długości, to nie istnieje żadne uszeregowanie dopuszczalne zgodne z permutacją π.

Dowód. Dowód przeprowadzimy niezależnie dla dwóch części (i) oraz (ii).

(i). Przyjmijmy, że w grafie G(π) nie ma cykli o dodatniej długości i roz-ważmy uszeregowanie s(u) = rπ(u) − pu, u ∈ N. Dalej pokażemy, że usze-regowanie to spełnia warunki (4.1)–(4.3). Z faktu, że s(u) jest wartością najdłuższej drogi dochodzącej do wierzchołka u (bez jego wagi) wynika, że s(u), u ∈ N spełnia ograniczenia łukowe dla grafu G(π)5. W szczególności oznacza to, że zestaw s(u), u ∈ Njspełnia ograniczenia łukowe grafu GO(j), j ∈ O. Stąd i z własności 3.1 wynika, iż spełnione są także ograniczenia operacyjne (3.15), czyli warunki (4.3). Co więcej, powyższy fakt oraz po-stać łuków technologicznych i kolejnościowych grafu G(π) implikuje praw-dziwość warunków (4.1), (4.2). Tak więc uszeregowanie s(u) = rπ(u) − pu, u ∈ N jest uszeregowaniem dopuszczalnym oraz jest zgodne z permutacją π Jednocześnie uszeregowanie to jest pseudo-aktywne, ponieważ dla każdego łuku (v1, v2) łączącego dwa kolejne wierzchołki v1, v2 należące do najdłuż-szej drogi dochodzącej do węzła u zachodzi s(v1) + pv1 + wv1,v2 = s(v2).

Kończy to dowód pierwszej części twierdzenia.

(ii) Dowód tej części przeprowadzimy metodą nie wprost. Załóżmy, że: (A) graf G(π) zawiera cykl (u1, u2, . . . , uk, u1), ui ∈ N , i = 1, . . . , k o dodatniej długości x > 0 oraz (B) istnieje pewne uszeregowanie dopuszczalne s(u),

4Zauważmy, że pojęcia: „długość najdłuższej drogi dochodzącej do pewnego wierz-chołka”, „długość najdłuższej drogi wychodzącej z pewnego wierzchołka” oraz „długość najdłuższej drogi” w dowolnym grafie skierowanym są dobrze określone i nie wymagają podawania: w pierwszym wypadku wierzchołka początkowego, w drugim – wierzchołka końcowego, zaś w trzecim – wierzchołka początkowego i końcowego.

5Dla definicji tego pojęcia patrz (3.12).

u ∈ N zgodne z permutacją π. Z założenia (A) wynika, że

x =

k

X

i=1

(pui+ wui,ui+1), (4.9)

gdzie uk+1 = u1. Z kolei założenie (B) implikuje, iż uszeregowanie s(u), u ∈ N spełnia: (a) ograniczenia technologiczne (4.1), (b) kolejnościowe (4.2) oraz (c) operacyjne (4.3). Z (c) oraz z własności 3.1 wynika jednak, iż s(u), u ∈ Nj spełnia również ograniczenia łukowe grafu GO(j), j ∈ O (tzn.

ograniczenia łukowe dla łuków EO). Jednocześnie z (a) oraz (b) otrzymu-jemy, iż odpowiednie elementy s(u), u ∈ N spełniają ograniczenia łukowe dla łuków EK(π) ∪ ET. Tak więc zestaw s(u), u ∈ N spełnia ograniczenia łukowe dla grafu G(π). Oznacza to jednak, że jeżeli każdemu wierzchołkowi u tego grafu przypiszemy wartość s(u), to zachodzi

s(u) + pu+ wu,v ¬ s(v), (u, v) ∈ ET ∪ EO∪ EK(π), (4.10) gdzie wielkości wu,v są określone wzorem (4.8). Stosując teraz nierówności (4.10) do kolejnych par wierzchołków cyklu (u1, u2, . . . , uk, u1) otrzymamy s(ui) + pui+ wui,ui+1 ¬ s(ui+1), i = 1, . . . , k, . Stąd oraz z (4.9) wynika, że

s(u1) +

k

X

i=1

(pui+ wui,ui+1) = s(u1) + x ¬ s(u1) (4.11)

czyli x ¬ 0. Otrzymana sprzeczność z założeniem (A) kończy dowód twier-dzenia.

Zdefiniowany graf G(π) oraz twierdzenie 4.1 pozwala na proste sformu-łowanie badanego problemu. Niech Cmax(π) oznacza długość najdłuższej drogi (ścieżka krytyczna) w grafie G(π) dla permutacji π ∈ Π6. Rozważany problem polega na znalezieniu takiej permutacji π ∈ Π, że odpowiadają-cy jej graf G(π) nie ma cykli o dodatniej wartości oraz ma najmniejszą długość ścieżki krytycznej Cmax).

Przedstawiony model permutacyjno-grafowy zilustruję następującym przykładem:

Przykład 4.1 W systemie produkcyjnym zawierającym m = 3 maszyny M = {1, 2, 3} należy wykonać r = 2 zadania; J = {1, 2}. Zadanie pierwsze składa się z sekwencji o1 = 2 operacji oznaczanych przez 1, 2, zaś zadanie drugie – także z sekwencji o2 = 2 operacji oznaczonych przez 3, 4; j1 = 0,

6Będziemy przyjmować, że w przypadku gdy graf G(π) posiada cykle o dodatniej długości, to Cmax(π) =∞.

Tabela 4.1: Dane przykładu problemu z operacjami z grupy II

zadanie 1 zadanie 2

maszyna operacja 1 operacja 2 operacja 3 operacja 4 l ra(1,l) p(1,l) ra(2,l) p(2,l) ra(3,l) p(3,l) ra(4,l) p(4,l)

1 2 2 – – 0 3 0 6

2 0 2 2 6 3 1 – –

3 – – 0 3 – – 1 2

j2 = 2, O = {1, 2, 3, 4} oraz o = 4. Operacje te mają być wykonywane odpowiednio na maszynach: M1 = {1, 2}, M2 = {2, 3}, M3 = {1, 2} oraz M4 = {1, 3}; m1 = m2 = m3 = m4 = 2. Łącznie w systemie należy wyko-nać n = 8 czynności. Zgodnie z przyjętą notacją kolejne operacje 1, 2, 3, 4 składają się z następujących zbiorów czynności N1 = {(1, 1), (1, 2)}, N2 = {(2, 2), (2, 3)}, N3 = {(3, 1), (3, 2)}, N4 = {(4, 1), (4, 3)}; N = S4j=1Nj. Wartości głów rau i ciał pu dla poszczególnych czynności u ∈ N przed-stawiono w tabeli 4.1. Podane przyporządkowanie czynności do poszcze-gólnych maszyn pozwala podzielić zbiór N na m = 3 rozłączne podzbiory N1 = {(1, 1), (3, 1), (4, 1)}, N2 = {(1, 2), (2, 2), (3, 2)}, N3= {(2, 3), (4, 3)};

n1 = n2= 3, n3= 2.

Rozważmy permutację π = (π1, π2, π3), gdzie π1= ((3, 1), (1, 1), (4, 1)), π2 = ((1, 2), (3, 2), (2, 2)), π3 = ((2, 3), (4, 3)). Na rys. 4.1(i) przedstawio-no pseudo-aktywne uszeregowanie dopuszczalne s(u), u ∈ N zgodne z tą permutacją. Moment zakończenia wszystkich czynności Cmax(π) = 13. Z kolei na rys. 4.1(ii) przedstawiono graf G(π). Graf ten składa się z n = 8 węzłów oraz 3n − o − m − r = 3 ∗ 8 − 4 − 3 − 2 = 15 łuków. Dokład-niej, zawiera on 2(n − o) = 2(8 − 4) = 8 łuków operacyjnych (po dwa na każdą operację), o − r = 4 − 2 = 2 łuki technologiczne (pomiędzy operacjami poszczególnych zadań) oraz n − m = 8 − 3 = 5 łuków kolej-nościowych (dwa na maszynie 1 i 2 oraz jeden na maszynie 3). Łuki ope-racyjne, technologiczne oraz kolejnościowe zaznaczono odpowiednio linią cienką, linią grubą oraz linią przerywaną. Obciążenie wierzchołków i łu-ków opisane jest liczbą umieszczoną nad danym wierzchołkiem lub łukiem, zerowe obciążenie łuków technologicznych i kolejnościowych nie było zazna-czane. Łatwo sprawdzić, że graf G(π) nie zawiera cykli o dodatniej długości oraz s(u) = rπ(u) − pu, u ∈ N. Przykładowo s((4, 1)) = 7, podczas gdy rπ((4, 1)) = p(3,1) + w(3,1),(1,1)+ p(1,1) + w(1,1),(2,3)+ p(2,3)+ w(2,3),(4,3)+ p(4,3)+ w(4,3),(4,1)+ p(4,1) = 3 + 0 + 2 + 0 + 3 + 0 + 2 − 3 + 5 = 12, czyli

1 2 3

1,1

2,2 1,2

4,3 3,1

3,2

4,1

0 -4 -1 -8

1,2

1,1 2,2

2,3 2

2 3

6

-3 -4 4,3 4,1 5

-4 0 2 3,2 3,1

1 3

2,3

łuki operacyjne, łuki technologiczne, łuki kolejno ciowe Cmax = 13 czas

( i )

( ii ) Mj

Rysunek 4.1: Przykład problemu gniazdowego z operacjami wielomaszyno-wymi z grupy II; (i) pseudo-aktywne uszeregowanie dopuszczalne zgodne z permutacją π, (ii) graf G(π)

rπ((4, 1)) − p(4,1)= 12 − 5 = 7 = s((4, 1)).

Warto także zauważyć, że jeżeli zmienimy kolejność wykonywania czyn-ności na maszynie 1 z π1 = ((3, 1), (1, 1), (4, 1)) na π10 = ((3, 1), (4, 1), (1, 1)),

to graf G(α), α1 = π01, αl = πl dla l = 2, 3 będzie zawierał cykl. Rzeczy-wiście graf G(α) otrzymujemy z grafu G(α) przez usunięcie dwóch łuków kolejnościowych ((3, 1), (1, 1)), ((1, 1), (4, 1)) i dodanie dwóch nowych łu-ków tego typu ((3, 1), (4, 1)) oraz ((4, 1), (1, 1)). Pojawienie się tych nowych łuków generuje cykl w postaci ((1, 1), (2, 3), (4, 3), (4, 1), (1, 1)) o długości p(1,1)+w(1,1),(2,3)+p(2,3)+w(2,3),(4,3)+p(4,3)+w(4,3),(4,1)+p(4,1)+w(4,1),(1,1)= 2 + 0 + 3 + 0 + 2 − 3 + 5 + 0 = 9; cykl ten przechodzi przez wprowadzony łuk ((4, 1), (1, 1)). Oznacza to jednak, zgodnie z twierdzeniem 4.1, że nie istnieje żadne uszeregowanie dopuszczalne zgodne z permutacją α (układ nierówności (4.1)-(4.3) jest sprzeczny).

Na koniec tego rozdziału chciałbym zwrócić uwagę czytelnika, na sze-rokie spektrum problemów praktycznych, które mogą być traktowane jako problem gniazdowy z operacjami wielomaszynowymi typu II i w konse-kwencji modelowane za pomocą zaproponowanego modelu permutacyjno-grafowego, a następnie rozwiązywane metodami podanymi w dalszej części tej pracy. Należy tu zauważyć, że jest to jedno z najtrudniejszych zagadnień szeregowania. Klasyczny problem gniazdowy (operacje jednomaszynowe) z ograniczeniami typu bez czekania (ang. no-wait) jest szczególnym przypad-kiem rozważanego problemu. Rzeczywiście, wystarczy w klasycznym pro-blemie wszystkie operacje jk+ 1, . . . , jk+ okdanego zadania k potraktować jako jedną (oznaczaną przez k) operację wielomaszynową z mk= ok czyn-nościami postaci: (k, µ(jk+ 1)), (k, µ(jk+ 1)), . . . , (k, µ(jk+ ok)), k ∈ J.

Czynność u = (k, µ(jk+ i)) ma głowę rau oraz ciało pu o wartości odpo-wiednio

rau =

jk+i−1

X

j=jk+1

pj, pu = pjk+i, (4.12)

i = 1, . . . , ok, k ∈ J, gdzie pj jest czasem wykonywania operacji j w pro-blemie klasycznym.

W dokumencie 1.1 Tezy pracy (Stron 51-57)