MPD_7_Szeregowanie_zadan

Download Report

Transcript MPD_7_Szeregowanie_zadan

METODY PODEJMOWANIA DECYZJI
ZAGADNIENIE SZEREGOWANIA ZADAŃ
AUTOR: DR INŻ. MICHAŁ KRZEMIŃSKI
PODZIAŁ PROCESÓW W
BUDOWNICTWIE
Procesy jednego typu
Działka 1 Działka 2 Działka 3
Pow 2560 Pow 2560 Pow 2560



Procesy jednego typu charakteryzują się wykonywaniem
prac na określonej ilości działek o takiej samej
powierzchni i technologii wykonywania prac.
Np.: układanie terakoty
2560 – bo tyle pikseli mają 2 komórki w Excel-u 2010
Procesy jednorodne
Działka 1
Pow 2560



Działka 2
Pow 5120
Działka 3
Pow 7680
Procesy jednorodne to te w których technologia
pozostaje niezmienna, zmienia się natomiast wielkość
działek.
Proporcjonalna jest pracochłonność i wielkość działki.
Np.: układanie terakoty
Procesy niejednorodne
Działka 1
Pow 2560


Działka 2
Pow 5120
Działka 3
Pow 7680
Procesy niejednorodne to takie w których nie występuje
żadna stała zależność pomiędzy wielkością działki a
pracochłonnością, niezmienna pozostaje jedynie
technologia wykonywania robót.
Np.: malowanie ścian zaznaczonych na czerwono



Działka 1 – pow. 2560 – 104 mb ściany
Działka 2 – pow. 5120 – 128 mb ściany
Działka 3 – pow. 7680 – 232 mb ściany
SYSTEMY GNIAZDOWE I
PRZEPŁYWOWE

W modelach przepływowych (ang. Flowshop, FS) na
każdej działce roboczej praca powinna zostać wykonana
przez określone brygady w określonej kolejności. Zakłada
się również że dana wyspecjalizowana brygada wykonuje
pracę tylko raz na kolejnej działce. W modelach
gniazdowych (ang. jobshop, JS) nie występuje wymóg
kolejnościowy wykonywania prac. Brygady mogą również
wykonywać kilkakrotnie pracę na tych samych działkach.
Ważne jest to że w obu modelach w danym czasie prace
na działkach mogą być wykonywane przez jedną brygadę.
Najczęściej stosowane kryteria optymalizacyjne to:
 sumaryczne / ilościowe opóźnienie (ang. Tardiness),
 średni czas przebywania zadania w systemie (ang.
Flowtime)
 czas wykonania wszystkich zadań (ang. Makespan)
Można stwierdzić że oba systemy produkcji znajdują swoje
zastosowanie w budownictwie. System przepływowy pasuje
bardziej do produkcji w warunkach budowy, system
gniazdowy do wytwarzania materiałów budowlanych.
WYZNACZANIE TERMINÓW I
SUMARYCZNEGO CZASU PRACY BRYGAD
NA DZIAŁKACH

Chcąc wyznaczyć terminy rozpoczynania i kończenia
zadań przez poszczególne brygady na kolejnych działkach
roboczych, a także całkowity czas realizacji robót należy
czasy wykonania prac na działkach przedstawić w formie
macierzy [𝑡𝑖𝑗 ] gdzie „𝑖” oznacza numer brygady natomiast
„𝑗” to numer kolejnej działki.
Terminy pracy poszczególnych maszyn na kolejnych działkach można obliczyć stosując
następujące wzory:
𝑝
𝑘
𝑘
𝑇𝑖𝑗 = 𝑚𝑎𝑥 𝑇𝑖−1,𝑗
, 𝑇𝑖,𝑗−1
𝑝
𝑇𝑖𝑗𝑘 = 𝑇𝑖𝑗 + 𝑡𝑖𝑗
gdzie:
𝑝

𝑇𝑖𝑗 − 𝑡𝑒𝑟𝑚𝑖𝑛 𝑟𝑜𝑧𝑝𝑜𝑐𝑧ę𝑐𝑖𝑎 𝑝𝑟𝑎𝑐 𝑝𝑟𝑧𝑒𝑧 𝑖 − 𝑡ą 𝑏𝑟𝑦𝑔𝑎𝑑ę 𝑛𝑎 𝑗 − 𝑡𝑒𝑗 𝑑𝑧𝑖𝑎ł𝑐𝑒

𝑇𝑖𝑗𝑘 − 𝑡𝑒𝑟𝑚𝑖𝑛 𝑧𝑎𝑘𝑜ń𝑐𝑧𝑒𝑛𝑖𝑎 𝑝𝑟𝑎𝑐 𝑝𝑟𝑧𝑒𝑧 𝑖 − 𝑡ą 𝑏𝑟𝑦𝑔𝑎𝑑ę 𝑛𝑎 𝑗 − 𝑡𝑒𝑗 𝑑𝑧𝑖𝑎ł𝑐𝑒

𝑡𝑖𝑗 − 𝑡𝑐𝑧𝑎𝑠 𝑤𝑦𝑘𝑜𝑛𝑦𝑤𝑎𝑛𝑖𝑎 𝑝𝑟𝑎𝑐 𝑝𝑟𝑧𝑒𝑧 𝑖 − 𝑡ą 𝑏𝑟𝑦𝑔𝑎𝑑ę 𝑛𝑎 𝑗 − 𝑡𝑒𝑗 𝑑𝑧𝑖𝑎ł𝑐𝑒

𝑖 = 1, 2, … , 𝑛, 𝑔𝑑𝑧𝑖𝑒 𝑛 − 𝑖𝑙𝑜ść 𝑏𝑟𝑦𝑔𝑎𝑑 𝑟𝑜𝑏𝑜𝑐𝑧𝑦𝑐ℎ

𝑗 = 1, 2, … , 𝑚, 𝑔𝑑𝑧𝑖𝑒 𝑚 − 𝑖𝑙𝑜ść 𝑑𝑧𝑖𝑎ł𝑒𝑘 𝑟𝑜𝑏𝑜𝑐𝑧𝑦𝑐ℎ
Chcąc wyznaczyć całkowity czas realizacji wszystkich prac należy wyznaczyć termin
𝑘 .
zakończenia prac dla ostatniej działki roboczej 𝑇𝑛𝑚
ALGORYTM JOHNSONA



Algorytm ten dotyczy zagadnienia harmonogramowania
pracy dwóch maszyn na „n” działkach roboczych
(obiektach),
Został sformułowany przy założeniu, że
harmonogramowanie jest wieloetapowym procesem
planowania,
Algorytm Johnsona charakteryzuje się prostotą i małym
zakresem obliczeń numerycznych.
Oznaczenia w algorytmie:
a – pierwsza maszyna,
b – druga maszyna,
aj – { } zbiór zawierający czasy trwania czynności
wykonywanych przez pierwszą maszynę na kolejnych
obiektach,
bj – { } zbiór zawierający czasy trwania czynności
wykonywanych przez drugą maszynę na kolejnych
obiektach,
i1, i2, ..., in - oznacza permutację (ustawienie w
kolejności elementów zbioru skończonego),
określającą optymalną kolejność obiektów.
Algorytm Johnsona jest następujący:
1.
2.
3.
4.
5.
Przyjąć r = 1, s = n.
Znaleźć najmniejszą liczbę spośród czasów aj, bj (j = 1, 2,
..., n).
Jeżeli liczbą tą jest ak, to ir = k oraz r: = r +1, jeżeli zaś
liczbą tą jest bl to is = l oraz s: = s - 1.
Usunąć ze zbioru czasów trwania parę (ak, bk) lub (al,
bl).
Powtórzyć postępowanie od punktu 2.
Przykład




Dwie różne maszyny budowlane mają wykonywać
prace na sześciu obiektach,
Czasy wykonania robót na kolejnych obiektach przez
maszynę pierwszą wynoszą odpowiednio: aj = { 2, 3,
5, 1, 7, 6 },
Czasy wykonania robót na kolejnych obiektach przez
maszynę drugą wynoszą odpowiednio: bj = { 3, 4, 4, 2,
5, 5 },
Należy wyznaczyć kolejność realizacji obiektów
budowlanych, której odpowiada minimalny cykl
realizacji wszystkich robót łącznie.
Interacja 1
4.
Przyjąć
r = 1, s = 6.
Wyznaczyć
min{a1, a2, a3, a4, a5, a6,
b1, b2, b3, b4, b5, b6} = a4 = 1
Ponieważ liczbą tą jest a4,
to i1 = 4 oraz r = 1 + 1 = 2.
Usuwamy ze zbioru parę (a4, b4) = (1, 2).
5.
Powtarzamy postępowanie od punktu 2.
1.
2.
3.
Interacja 2
4.
Z poprzedniego kroku
r = 2, s = 6.
Wyznaczyć
min{a1, a2, a3, a5, a6,
b1, b2, b3, b5, b6} = a1 = 2
Ponieważ liczbą tą jest a4,
to i2 = 1 oraz r = 2 + 1 = 3.
Usuwamy ze zbioru parę (a1, b1) = (2, 3).
5.
Powtarzamy postępowanie od punktu 2.
1.
2.
3.
Interacja 3
4.
Z poprzedniego kroku
r = 3, s = 6.
Wyznaczyć
min{ a2, a3, a5, a6, b2, b3, b5, b6} = a2 = 3
Ponieważ liczbą tą jest a2,
to i3 = 2 oraz r = 3 + 1 = 4.
Usuwamy ze zbioru parę (a2, b2) = (3, 4).
5.
Powtarzamy postępowanie od punktu 2.
1.
2.
3.
Interacja 4
4.
Z poprzedniego kroku
r = 4, s = 6.
Wyznaczyć
min{ a3, a5, a6, b3, b5, b6} = b3 = 4
Ponieważ liczbą tą jest b3,
to i6 = 3 oraz s = 6 – 1 = 5.
Usuwamy ze zbioru parę (a3, b3) = (5, 4).
5.
Powtarzamy postępowanie od punktu 2.
1.
2.
3.
Interacja 5
4.
Z poprzedniego kroku
r = 4, s = 5.
Wyznaczyć
min{ a5, a6, b5, b6} = b5 = 5
Ponieważ liczbą tą jest b5,
to i5 = 5 oraz s = 5 – 1 = 4.
Usuwamy ze zbioru parę (a5, b5) = (7, 5).
5.
Powtarzamy postępowanie od punktu 2.
1.
2.
3.
Interacja 6



Wykonanie iteracji 6 nie jest konieczne, ponieważ w
sześcioelementowym zbiorze obiektów wyznaczyliśmy
już kolejność realizacji pięciu obiektów, a mianowicie:
i1 = 4, i2 = 1, i3 = 2, i5 = 5, i6 = 3.
Widać więc, że obiekt 6, dla którego nie ustalono
dotychczas kolejności, powinien być realizowany jako
czwarty (po obiekcie 2, i4=6).
Wynik algorytmu
Permutacją określającą optymalną kolejność realizacji
obiektów jest permutacja:
i1=4, i2=1, i3=2, i4=6, i5=5, i6=3.
Wynik algorytmu
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA

Algorytm Johnsona:
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA
A  2 , 3 ,1, 4 , 2 , 3
K
A
ij
0

3

4
 
5
2

 1
3
4
5
2
0
2
1
4
2
0
2
3
1
2
0
1
4
3
1
0
5
2
4
3
B  1, 4 , 2 , 2 , 2 ,1
1

5

2

4
3

0 
K
B
ij
0

2

2
 
5
3

 3
1
2
4
3
0
2
3
1
3
0
2
3
3
3
0
2
2
3
2
0
4
3
4
4
2

4

2

3
4

0 
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA
L.p. Szeregi preferencyjne – kryterium czasowe Koszty wybranych szeregów preferencyjnych
T = 16
Maszyna A → 3 + 4 + 1 + 4 + 1 = 13
1
3 → 5 → 2 → 4 → 6 →1
Maszyna B → 3 + 2 + 3 + 3 + 3 = 14
RAZEM 27
Maszyna A → 2 + 1 + 1 + 3 + 1 = 8
2
3 → 2 → 4 → 5 → 6 →1
Maszyna B → 3 + 3 + 2 + 4 + 3 = 15
RAZEM 23
Maszyna A → 2 + 4 + 1 + 4 + 1 = 12
3
3 → 2 → 5 → 4 → 6 →1
Maszyna B → 3 + 1 + 2 + 3 + 3 = 12
RAZEM 24
Maszyna A → 3 + 4 + 1 + 5 + 1 = 14
4
3 → 5 → 2 → 4 → 1 →6
Maszyna B → 3 + 2 + 3 + 5 + 2 = 15
RAZEM 29
Maszyna A → 2 + 1 + 1 + 2 + 1 = 7
5
3 → 2 → 4 → 5 → 1 →6
Maszyna B → 3 + 3 + 2 + 3 + 2 = 13
RAZEM 20
Maszyna A → 2 + 4 + 1 + 5 + 1 = 13
6
3 → 2 → 5 → 4 → 1 →6
Maszyna B → 3 + 1 + 2 + 5 + 2 = 13
RAZEM 26
ALGORYTM JOHNSONA + MODYFIKACJA
KOSZTOWA

Diagram Hassego dla optymalnego uszeregowania działek
roboczych
3
2
4
5
1
6
ALGORYTM CDS

Nazwa algorytmu pochodzi od pierwszych liter nazwisk
twórców, Herbert Campbell, Richard Dudek, Milton
Smith (1970r.). Algorytm jest uogólnieniem algorytmu
Johnsona, pozwalającym na optymalizację dla więcej niż
dwóch maszyn. Zasada działania algorytmu polega na
podzieleniu zadania z więcej niż dwoma maszynami na
kilka zadań z dwoma maszynami, podzadania
optymalizowane są przy użyciu algorytmu Johnsona.
Następnie wybiera się taki układ zadań który da
najmniejszy czas całkowity.
ALGORYTM NEH
Nazwa algorytmu pochodzi od pierwszych liter nazwisk twórców,
Muhammad Nawaz, Emory Enscore, Inyong Ham (1983r.). Zasadą
działania modelu jest nadawanie zadaniom o większym sumarycznym
czasie trwania wyższego priorytetu. Poniżej znajduje się opis kolejnych
kroków algorytmu:
1.
Sortujemy zadania zgodnie z malejącym (nierosnącym)
sumarycznym czasem obróbki na wszystkich maszynach,
2.
Ustawiamy dwa pierwsze zadania w kolejności umożliwiającej
uzyskanie krótszego czasu zakończenia Cmax(dwie możliwości)
3.
Dla k= 3, … , N wykonujemy krok 4
4.
Wstawiamy k-te zadanie do sekwencji w miejsce, gwarantujące
najmniejszy przyrost czasu Cmax(k możliwości)
5.
Uzyskana sekwencja traktowana jest jako wynik działania
algorytmu
ALGORYTMY ŁOMNICKIEGO I
BROWNA – ŁOMNICKIEGO

Algorytmy wykorzystujące metodę podziałów i
ograniczeń. Algorytm Łomnickiego opracowany został w
celu ustalenia kolejności obróbki detali na maszynach.
Możliwe jest również zaadoptowanie go do warunków
budowlanych, do wyznaczania kolejności pracy m maszyn
na n działkach. Algorytm Browna Łomnickiego będący
uogólnieniem metody Łomnickiego różni się jedynie
postacią funkcji ograniczającej zbiór permutacji.
ALGORYTM SYMULACYJNY
SZEREGOWANIA ZADAŃ
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Algorytm symulacyjny możemy stasować przy dowolnej
liczbie maszyn, jednak nie zapewnia on znalezienia
rozwiązania optymalnego, lecz jedynie suboptymalnego.
Polega on na losowaniu kolejności realizacji działek na
podstawie generatora liczb losowych i obliczaniu łącznego
czasu trwania robót T dla założonego wariantu. Przy
odpowiedniej liczbie prób najlepszy wynik powinien
zbliżyć się do rozwiązania optymalnego, a na pewno być
lepszy od jednego przypadkowego rozwiązania.
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Przykład
Na obiekcie budowlanym wydzielono 5 frontów robót. Na
każdym z frontów należy wykonać po pięć kolejnych
czynności. Czasy wykonania tych czynności zestawiono w
tabeli na następnym slajdzie.
Czynność
I
Czynność
II
Czynność
III
Czynność
IV
Czynność
V
Front
I
5
Front
II
2
Front
III
4
Front
IV
3
Front
V
6
3
3
6
1
4
6
7
8
1
2
4
2
3
5
3
2
1
3
2
1
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Pierwsza wylosowana kolejność
F1 > F2 > F3 > F4 > F5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
C1
2C
C3
C4
C5
Całkowity czas realizacji to 41 jednostek czasowych
1
1
1
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Druga wylosowana kolejność
F2 > F4 > F1 > F5 > F3
C1
C2
C3
C4
C5
Całkowity czas realizacji to 40 jednostek czasowych
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Trzecia wylosowana kolejność
F4 > F2 > F1 > F3 > F5
C1
C2
C3
C4
C5
Całkowity czas realizacji to 36 jednostek czasowych
SZEREGOWANIE ZADAŃ Z ZASTOSOWANIEM
ALGORYTMU SYMULACYJNEGO
Dokładność obliczeń symulacyjnych zależy od liczby
przeprowadzonych eksperymentów. Z trzech eksperymentów można już jednak wnioskować, że w
przedstawiony sposób można poszukiwać cyklu realizacji
robót budowlanych, odpowiadającego przyjętemu
kryterium czasowemu.
PRZEMYSŁOWE MODELE
SZEREGOWANIA ZADAŃ
SPT (shortest processing time)
Jest to model oparty o zasadę najkrótszego czasu przetwarzania.
Algorytm służący do wyznaczania kolejności zadań przy której
całkowity czas trwania procesu będzie najkrótszy. Zasadą
algorytmu, jest umiejscawianie na początku działek na których
czas wykonywania czynności jest najkrótszy. Dotyczy to
sumarycznego czasu wykonania prac na działce przez wszystkie
kolejne maszyny. Jeżeli występuje kilka działek dla których
sumaryczny czas wykonywania wszystkich czynności jest sobie
równy algorytm umiejscawia na pierwszym miejscu działki
posiadające krótsze czasy w czynnościach początkowych.
Algorytm nadaje się do stosowania w optymalizacji procesów
niejednorodnych przy zastosowaniu modelu flowshop.
SPT (shortest processing time)

Dla procesów jednorodnych o ustalonym rytmie
uzyskujemy ciągłość pracy na działkach
LPT (longest processing time)
Jest to model oparty o zasadę najdłuższego czasu przetwarzania.
Algorytm służący do wyznaczania kolejności zadań przy której
całkowity czas trwania procesu będzie najkrótszy. Zasadą
algorytmu, jest umiejscawianie na początku działek na których
czas wykonywania czynności jest najdłuższy. Dotyczy to
sumarycznego czasu wykonania prac na działce przez wszystkie
kolejne maszyny. Jeżeli występuje kilka działek dla których
sumaryczny czas wykonywania wszystkich czynności jest sobie
równy algorytm umiejscawia na pierwszym miejscu działki
posiadające krótsze czasy w czynnościach początkowych.
Algorytm nadaje się do stosowania w optymalizacji procesów
niejednorodnych przy zastosowaniu modelu flowshop.
LPT (longest processing time)

Dla procesów jednorodnych o ustalonym rytmie
uzyskujemy ciągłość pracy brygad
WSPT (weighted shortest processing time)
Model działa w na zasadzie wcześniej opisanego modelu
SPT. Na etapie wprowadzania danych każdej kolejno
definiowanej działce roboczej dopisujemy wagę. Algorytm
wykonując szeregowanie zadań będzie ją uwzględniał
przesuwając na początek działki o najwyższej wadze. Przy
założeniu że ti oznacza czas trwania procesu a wi przypisaną
danej działce wagę, działanie modelu opisuje poniższa
zależność:
t1/w1 <= t2/w2 <= … <=tn/w n, gdzie i = 1,2,…,n.
EDD (earliest due date)
Model zakłada kolejność wykonania zadań według terminów
zamknięcia zleceń, czyli ich zadanych czasów zakończenia (ang.
earliest due date). Algorytm działa licząc sumę czasów począwszy
od przybycia zlecenia do systemu aż do zakończenia danego
zlecenia następnie wybieramy zlecenie z mniejszą sumą.
Przyjmując że di oznaczać będzie ostateczny termin zakończenia
zadania, działanie modelu przedstawia poniższa zależność:
di <= di+1 <= … <= dn, gdzie i = 1,2,…,n.
Wyniki działania modelu nierzadko będą zbliżone do wyników
jakie uzyskuje się z zastosowania modelu SPT, jest to
powodowane faktem że najkrócej w systemie znajdują się działki
na których zaplanowano najkrótszy czas wykonywania prac.
FCFS (first come first serve)
Model charakteryzuje się brakiem jakiegokolwiek
skomplikowania. Polega na uszeregowaniu zadań zgodnie z
kolejnością wprowadzania danych. Model jest prosty,
jednakże dla budownictwa może mieć duże znaczenie.
Planując budowę wydzielamy poszczególne fronty robót na
których mamy podział na działki. Każdy planista ma swoją
wizję organizacji budowy. Dzięki zastosowaniu modelu
może sprawdzić jaki czas uzyskałby przy organizacji pracy w
najbardziej intuicyjny dla niego sposób. Uszeregowanie
może być również wynikową technologii prowadzenia
robót, kosztów przemieszczania się kolejnych brygad
pomiędzy działkami, może też zależeć od innych czynników
wpływających na pracę na budowie.
MS (minimum slack)
Zadaniem modelu jest takie uszeregowanie zadań które
daje możliwie najmniejsze przestoje w pracy brygad.
Przyjmijmy że di to termin zakończenia zadania, natomiast ti
to czas trwania zadania. Zależność opisująca działanie
modelu została przedstawiona poniżej:
di-ti <= di+1-ti+1 <= … <= dn-tn, gdzie i = 1,2,…,n.
System komputerowy
LEKIN jest systemem służącym do szergowania zadań
opracowanym w Stern School of Business, NYU. Projekt w
ramach którego system został opracowany kierowany był
przez profesora Michaela L. Pinedo.[C]
Nazewnictwo w systemie:
jobs – działki
workcenters - brygady
Kryteria szeregowania zadań
Proponowane kryteria

Najkrótszy czas realizacji

Ciągłość pracy brygad

Nieprzekraczalność terminów

Koszt przenoszenia frontów robót
KASS v1.0
Program szeregowania zadań
z zastosowaniem przeglądu zupełnego
Do pobrania
www.ipb.edu.pl
PROGRAMY  KASS v1.0