Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1 Określenie projektu Przez projekt rozumie się jednostkowy(najczęściej jednorazowy) proces złożony ze zbioru wzajemnie powiązanych czynności podjęty dla osiągnięcia pewnego celu zgodnego ze specyficznymi wymaganiami obejmującymi ograniczenia czasowe, kosztowe i zasobowe. Przykładami projektów to: budowa budynku, wykonanie oprogramowania komputerowego, wprowadzenie do produkcji nowego wyrobu, wykonanie studium konsultingowego, itp. Cechy wspólne projektów: Wymagają wykonania wielu różnych zadań(nazywanych również czynnościami), z których niektóre mogą być realizowane równocześnie a inne muszą być realizowane kolejno. Są limitowane czasem i kosztami(środkami budżetowymi) przeznaczonymi na ich wykonanie. Do zadań mogą być przydzielane zasoby(ludzie materiały, maszyny itp.) wpływając na czas wykonania tych zadań. Pomyślne ukończenie dużych projektów wymaga zarządzania personelem o szerokim zakresie umiejętności. Aby wykonać na czas projekt nie przekraczając ograniczeń budżetowych menedżer musi mieć właściwych ludzi, materiały, środki finansowe oraz urzadzenia dostępne we właściwym miejscu i czasie. Na tym wykładzie zajmować się będziemy tylko analizą czasową projektów(metoda CPM i PERT) oraz elementami analizy kosztów i zasobów w projektach. Podstawowe elementy analizy projektu: Dekompozycja projektu na indywidualne zadania(czynności). Przez czynność rozumieć będziemy dającą się zidentyfikować jednostkę pracy, która jest wykonywana przez pojedyńczego człowieka lub grupę osób z jasno sprecyzowanym początkiem i zakończeniem, np. malowanie zewnętrzne budynku. Określenie czynności, które muszą być ukończone zanim można będzie rozpocząć daną czynność. Proces ten nazywamy określeniem relacji poprzedzania i najlepiej wykonać go przy definiowaniu zadań projektu. Określenie czasu wykonania każdej czynności. Czas ten zależy często od nakładów finansowych lub innego typu zasobów przydzielonych do danej czynności, np. użycie większej liczby robotników może skrócić czas wykonania zadania. W metodzie CPM używa się pojęcia normalnego czasu wykonania czynności. Jest to czas wykonania czynności przy najmniejszym poziomie wykorzystania zasobów. Wyróżnia się również czas krytyczny tj. najkrótszy przy maksymalnym dopuszczalnym poziomie wykorzystania zasobów. Czas wykonania zadania może być również losowy(przy stałym poziomie wykorzystania zasobów)- wtedy szacuje się tylko pewne parametry rozkładu czasu wykonania czynności (metoda PERT). Aby przeprowadzić analizę czasowa projektu musimy najpierw skonstruować tzw. sieć projektu będącą formalnym modelem zależności technologicznych(odwzorowującą relację poprzedzania między czynnościami) w projekcie. Istnieją dwie reprezentacje sieciowe projektów: reprezentacja łukowa(sieć zdarzeń, w której łuki reprezentują czynności) i reprezentacja wierzchołkowa(węzły reprezentują czynności a łuki relację poprzedzania między parami czynności). Dla obu tych reprezentacji podamy metody wyznaczania podstawowych charakterystyk czasowych dla projektu.
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej Metoda ścieżki krytycznej CPM Niechprojektskładasięzezbioruczynności A,czasówichwykonania t : A R + oraz relacji bezpośredniego poprzedzania P A A. Projekt ten może być reprezentowany w postaci sieci na dwa sposoby: reprezentacja wierzchołkowa czynność w węźle oznaczana dalej jako(a-on-n) i reprezentacja łukowa czynność na łuku (A-on-A). W obydwu reprezentacjach wynikowy graf jest bezkonturowym grafem skierowanych(digrafem). W reprezentacji(a-on-n) mamy graf G = (V, E), gdzie zbiór węzłów V jest zbiorem czynności A a zbiór łuków E reprezentuje relację poprzedzania P.Włukowejreprezentacji(A-on-A)mamygraf D = (N,A),wktórym oryginalnyzbiórczynności Ajestpodzbioremzbiorułuków A,azbiór A Ajest zbiorem czynności fikcyjnych koniecznych do prawidłowej reprezentacji relacji P. Metoda CPM reprezentacja łukowa(a-on-a) Niech S = (N,A,t),będziesieciąłukowąprojektu. G = (N,A)jestgrafemskierowanym(digrafem), gdzie N = 1,,...,n}-zbiórwęzłów(zdarzeń), A-zbiórłukówsieci(A A).Łukizbioru A Anazywamypozornymi lub fikcyjnymi. Zdarzenie 1 oznacza start projektu a zdarzenie n zakończenie projektu.ponadtonumeracjawęzłówjesttaka,żejeśliłuk (i,j) A,to i < j. Dla grafu bezkonturowego taka numeracja(tzw. topologiczna) zawsze istnieje. t ij -czaswykonywaniaczynności (i,j) A(dlaczynnościfikcyjnychprzyjmujesięzerowyczaswykonania-t ij = 0). Dla każdego zdarzenia(węzła) i tej sieci definiuje się rekurencyjnie jego nawcześniejszymomentrealizacji Ti w oraznajpóźniejszymomentrealizacji T p i następująco: Ti w 0 dlai=1 = max k Γ i(tk w + t ki) dlai 1 oraz T p T w i = n dlai=n min k Γ + i(t p k t ik) dlai n. Luzczasowyzdarzenia i N: L i = T p i T w i, Zdarzenie ijestkrytyczne L i = 0. Charakterystyki czasowe czynności (i, j) A: ES(i,j) = T w i ; EF(i,j) = T w i + t ij = ES(i,j) + t ij LF(i,j) = T p j ; LS(i,j) = T p j t ij = LF(i,j) t ij, gdzie ES(i, j)- najwcześniejszy możliwy termin rozpoczęcia czynności (i, j), EF(i, j)- najwcześniejszy termin zakończenia czynności (i, j), LF(i, j)- najpóźniejszy możliwy termin zakończenia czynności (i, j), LS(i, j)- najpóźniejszy dopuszczalny termin rozpoczęcia czynności (i, j). Zapasy czasowe dla czynności (i, j) CZ(i,j) = T p j T w i t ij całkowityzapas, SZ(i,j) = T w j T w i t ij swobodnyzapas, WZ(i,j) = T p j T p i t ij warunkowyzapas, NZ(i,j) = T w j T p i t ij niezależnyzapas. Całkowity zapas czasu dla czynności (i, j) może być również liczony następująco: CZ(i, j) = LF(i, j) ES(i, j) t ij = LS(i, j) ES(i, j) = LF(i, j) EF(i, j).
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 3 Definicja1Czynność (i, j) Anazywamykrytycznąwtedyitylkowtedy,gdymazerowy całkowityzapasczasutj. CZ(i, j) = 0. Definicja Drogę(ścieżkę) od węzła 1 do n złożoną z czynności krytycznych nazywamy drogą(ścieżką) krytyczną. Metoda CPM reprezentacja wierzchołkowa(a-on-n) G = (V, E)- reprezentacja wierzchołkowa projektu, t(v)- czas wykonania czynności v V. Najwcześniejszyczasrozpoczęciaczynności v T n (v): T n 0 jeśli P(v) = (v) = max u P(u) (T n (u) + t(u)) jeśli P(v) gdzie P(v) = Γ (v), N(v) = Γ + (v).czaszakończeniaprojektu T: T = max (T n (v) + t(v)) v:n(v)= } Najpóźniejszyczaszakończeniaczynności v T p (v): T p T jeśli N(v) = (v) = min w N(u) (T p (w) t(w)) jeśli N(v) Zapasy czasów dla czynności: Zapas całkowity: CZ(v) = T p (v) T n (v) t(v) Czynności dla których całkowity zapas czasu jest zerowy nazywamy krytycznymi (analogicznie jak dla sieci łukowej). Jednak drogę krytyczną wyznaczamy znajdując najdłuższą drogę zaczynającą się węzłem(czynnością) nie mającym poprzedników i kończącą się węzłem nie mającym następników(nie każda droga złożona z czynności krytycznych o podanej własności jest drogą najdłuższą i tym samym krytyczną). Zapas swobodny: T T n (v) t(v) jeśli N(v) = SZ(v) = min w N(v) (T n (w)) T n (v) t(v)) jeśli N(v) Zapas warunkowy: T p (v) t(v) jeśli N(v) = WZ(v) = T p (v) t(v) max u P(v) (T p (w)) jeśli N(v) Zapas niezależny T t(v) T t(v) max NZ(v) = u P(u)} T p (v) min w N(v)} (T n (w)) t(v) min w N(v)} (T w ) t(v) max u P(v)} (T p (u)) jeśli P(v) =, N(v) = jeśli P(v), N(v) = jeśli P(v) =, N(v) jeśli P(v), N(v) Prawdziwe są następujące relacje dla zapasów czasu: oraz CZ(v) + NZ(v) = SZ(v) + WZ(v) CZ(v) maxsz(v), WZ(v)} minsz(v), WZ(v)} max0, NZ(v)}. Najczęściej w zastosowaniach używany jest całkowity zapas czasu. W reprezentacji łukowej każda droga od zdarzenia 1 do n składająca się się z czynności krytycznych jest drogą krytyczną. W reprezentacji węzłowej tak nie musi być, gdyż nie każda droga składająca się tylko z czynności krytycznych jest drogą krytyczna(jest najdłuższą).
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 4 Metoda PERT- przykład Projekt zadany jest następującą siecią czynności: 6 6 C 3 5 9 13 1 0 0 A 6 E 3 5 D 4 11 1 G 3 F 7 15 15 J 8 17 17 B I 3 6 5 9 H 4 13 13 Dane o czynnościach podane są w poniższej tabeli: Czynność (i, j) a ij m ij b ij t ij σ ij A 4 5 1 6 1.78 B 1 1.5 5 0.44 C 3 4 3 0.11 D 3 4 11 5 1.78 E 3 4 3 0.11 F 1.5.5 0.03 G 1.5 3 4.5 3 0.5 H.5 3.5 7.5 4 0.69 I 1.5.5 0.03 J 1 3 0.11 Wsiecinarysunkuczasywykonaniaposzczególnychczynnościsąrówne t ij = E(T ij) = a ij +4m ij +b ij 6,gdzie T ijjestzmiennąlosowączasuwykonaniaczynności (i, j).obliczenia metodącpmdająjednądrogękrytyczną DK = (A E H I J)o wartościśredniej m = E(DK) = (ij) DK E(Tij)i odchyleniustandardowym σ = (ij) DK D (T ij), gdzie D (T ij)jestwariancjączasuwykonaniaczynności (i, j).najwcześniejszyczas wykonaniaprojektu T 8jestzatemzmiennąlosową,októrejwmetodziePERTzakładasię,żemarozkładwprzybliżeniunormalny N(m = 17, σ = 1.9).Abyzatemwyznaczać prawdopodobieństwo ukończenia projektu w czasie np. nie dłuższym niż 18 wystarczy odczytać z tablic standaryzowanego rozkładu normalnego wartość dystrybuanty Φ(0.5) = Φ( 18 17 ) = P(T8 18) = 0.6985 1.9 Zagadnienie kosztów w metodzie CPM Rozważmyprojektzadanyłukowąsieciączynności S = (N, A, c).niechkoszt c ijrealizacji każdejczynności (i, j) Abędzienierosnącąfunkcjąjejczasurealizacji x ijokreślonąw przedziale[tg ij, tn ij],czyli c ij = c ij(x ij)dla x ij [tg ij, tn ij],gdzie tg ij-najkrótszy(graniczny)możliwyczaswykonaniaczynności (i, j), tn ij-normalnyczaswykonaniaczynności (i, j). Postać tej funkcji podano na rys.1. Dlakażdejczynnościfikcyjnej (i, j) Aprzyjmujesię,że tg ij = tn ij = 0 = c ij.mając zadanefunkcje c ijmożnasformułowaćdwanastępująceproblemyoptymalizacyjne:
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 5 c ij (tg ij ) c ij (tn ij ) c ij (x ij ) tg ij xij tnij Rysunek1:Wykresfunkcji c ij (x ij )dlaczynności (i,j) 1. Minimalizacja kosztów(bezpośrednich) wykonania projektu przy zadanym dyrektywnym terminie jego ukończenia.. Minimalizacja czasu wykonania projektu przy ustalonym limicie nakładów na koszty (bezpośrednie). Model pierwszego z tych problemów jest następujący: min x ij,t j (i,j) A c ij(x ij) (1) t j t i x ijdla (i, j) A () tg ij x ij tn ijdla (i, j) A (3) t n t 1 t, (4) gdzie t jest zadanym, dyrektywnym terminem zakończenia projektu. Dla danego t przez C(t) oznaczymy optymalną wartość funkcji celu zagadnienia(1-4). W powyższym sformułowaniupominiętowarunek t j 0,gdyżmającdanerozwiązanieoptymalne x 0 ij, t 0 jtego zagadnieniamożnatakzdefiniowaćnowerozwiązanie: x ij = x 0 ij, t j = t 0 j t 0 1,żebędziejuż spełniony ten warunek. Model drugiego problemu jest następujący: min x ij,t j t n t 1} (5) t j t i x ijdla (i, j) A (6) tg ij x ij tn ijdla (i, j) A (7) cij(x ij) C 0, (8) gdzie C 0jestlimitemnakładów(kosztówbezpośrednich)narealizacjęprojektu. Zajmiemy się teraz zagadnieniem rozwiązalności tych dwóch zagadnień. Oznaczmy przez tterminukończeniaprojektu,gdykażdączynność (i, j) Awykonujesięwczasie tn ij,aprzez tterminukończeniaprojektu,gdykażdączynność (i, j) Awykonuje sięwczasie tg ij.terminy titnazywamyodpowiedniogranicznyminormalnymczasem wykonania projektu. Jeśli t [t, t], to wartość funkcji C(t) dla argumentów z roważanego przedzialu daje krzywą czasowo-kosztową projektu przedstawioną na rys. 1. Dla czasów realizacji projektu t i t otrzymujemy odpowiednio maksymalny (C = C(t)) i minimalny (C = C(t)) koszt realizacji projektu, a dla t z rozpatrywanego przedziału C(t) [C, C].
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 6 C(t) C(t) C(t) t t t Rysunek : Wykres krzywej czasowo-kosztowej projektu Zagadnienie(5-8) ma zatem rozwiązanie, gdy C [C(t), C(t)]. Można przyjąć, że dla t [t, t] t 1 = 0oraz t n = t(tj. tjestterminemzakończeniaprojektu). Dalejrozważymytylkoprzypadekliniowejfunkcjikosztów c ij.niech c ij = c ij(x ij) = b ij a ij x ij dla x ij [tg ij, tn ij], gdzie a ij, b ij 0.Wykrestejfunkcjipodanonarys.3. Model zagadnienia(1-4) ma teraz następującą postać: min (b ij a ij x ij) (9) x ij,t j (i,j) A t j t i x ijdla (i, j) A (10) tg ij x ij tn ijdla (i, j) A (11) t n t 1 t. (1) Krzywa czasowo-kosztowa projektu jest wtedy funkcją kawałkami liniową. Zakładając, że t [t, t]mamy t 1 = 0oraz t n = t.ponadto,jeślizałożymy,że a ij > 0dlakażdejczynności realnej(nie fikcyjnej), to w rozwiązaniu optymalnym mamy: a)jeśliczynność (i, j)jestkrytyczna,to x ij = t j t i tn ij, b)jeśliczynność (i, j)niejestkrytyczna,to x ij = tn ij < t j t i. Zatem, gdy t [t, t], to dla rozwiązania optymalnego spełniony jest następujący warunek: x ij = mint j t i, tn ij}. Zdefiniujemyteraznowezmiennedecyzyjne y ij,będącewielkościąskróceniaczasuwykonaniaczynności (i, j)odjejnormalnegoczasu tn ij,tj. y ij = tn ij x ij. Wtedy problem(9-1) można sformułować następująco: min a ij y ij (13) y ij,t j (i,j) A
Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 7 c ij (tg ij ) c ij (x ij ) c ij (tn ij ) tg ij x ij tn ij Rysunek 3: Liniowa funkcja kosztów dla czynności (i, j) t j t i + y ij tn ijdla (i, j) A (14) 0 y ij tn ij tg ijdla (i, j) A (15) t n t 1 t, t 1 = 0. (16) y ij 0 (17)