WYKŁAD 5 ANALIZA SIECIOWA PROJEKTÓW REALIZACJI Podstawowe problemy rozwiązywane z wykorzystaniem programowania sieciowego: zagadnienia transportowe (rozdział zadań przewozowych, komiwojażer najkrótsza droga), przepływy w sieciach (maksimum przepływu, najkrótsza droga, minimalny koszt przepływu), analiza sieciowa (ścieżka krytyczna, czas realizacji projektu, analiza czasowo kosztowa), drzewa decyzyjne (maksymalizacja oczekiwanej korzyści, minimalizacja oczekiwanego kosztu). Przykładowy typy zadań do realizacji (projekty): P zadanie transportowe Firma produkcyjna posiada 3 magazyny wyrobów gotowych. Wyroby dostarczana są do sieci 5 sklepów. Zasoby magazynów i zamówienia klientów są zadane. Wyznacz taki plan przewozów, aby koszt transportu był minimalny. P2 problem komiwojażera Samochód pocztowy ma rozwieźć przesyłki do urzędów pocztowych w kilkunastu miejscowościach. Odległości pomiędzy miejscowościami są znane. Zaplanuj trasę przejazdu tak, aby operator objechał wszystkie miejscowości najkrótszą (najtańszą) trasą i wrócił do punktu wyjazdu. P3 przepływ w sieci Natężenie pojazdów na pewnym odcinku autostrady wynosi 2000 pojazdów/godz. Ze względu na remont odcinek ten zostanie czasowo wyłączony z ruchu. Istnieje kilka możliwości dróg alternatywnych (różne ograniczenia prędkości, różne standardy nawierzchni). Przepustowości tych dróg są zadane. Wyznacz maksymalny przepływ w rozpatrywanej sieci i ustal, czy jest on wystarczający dla spodziewanego natężenia ruchu. P4 analiza sieciowa Należy opracować plan zamontowania silnika do samochodu. Czynności składające się na to przedsięwzięcie, kolejność ich wykonywania oraz czasy trwania (w minutach) ustalone przed konstrukcją projektu są
podane w tabeli. Przeprowadź analizę sieciową projektu, przyjmując jako kryterium optymalności minimalizację czasu realizacji projektu. Podstawowe pojęcia i oznaczenia: Łuki, krawędzie sieci najkrótsze, niepodzielne ścieżki. Węzły, wierzchołki punkty, w których łączą się łuki. Łuki są zorientowane, tzn. dla każdego z nich można wyznaczyć węzeł początkowy i węzeł końcowy. Źródło - węzeł, który nie jest końcem żadnego łuku. Ujście węzeł, który nie jest początkiem żadnego łuku. Łukom i węzłom można przypisać etykiety; bardzo często etykiety sa liczbami, nazywane są wówczas wagami. Zdarzenie (wydarzenie) pewne punkty realizowanego projektu (zadania, przedsięwzięcia), którym przyporządkowuje się określone momenty czasu; np. zatwierdzenie projektu, rozpoczęcie budowy. Czynność (działanie) wykonanie pewnego zadania, na które potrzebny jest pewien okres czasu, ale także określone środki materialne; np. opracowanie projektu, wykonanie wykopu fundamentu. Każda czynność rozpoczyna się pewnym zdarzeniem (zdarzenie początkowe), a kończy innym zdarzeniem (zdarzenie końcowe). stąd: sieć zdarzeń i czynności lub sieć wydarzeń i działań. Siecią nazywamy graficzne przedstawienie planu realizacji projektu (przedsięwzięcia), uwzględniające wzajemne logiczne zależności między czynnościami. Używane oznaczenia: i numer zdarzenia rozpoczynającego czynność, j numer zdarzenia kończącego czynność, A, a ij, <i, j> - symbol czynności rozpoczynającej się zdarzeniem i, a kończącej się zdarzeniem j, t ij (NT) - czas trwania czynności <i, j>, ES - Earliest Start najwcześniejszy moment rozpoczęcia czynności, LS - Latest Start najpóźniejszy moment rozpoczęcia czynności, EF - Earliest Finish najwcześniejszy moment zakończenia czynności, LF - Latest Finish - najpóźniejszy moment zakończenia czynności. 2
Najczęściej stosowane opisy przedstawiono na rysunkach i 2. wierzchołek grafu zdarzenie nr zdarzenia A 6 czynność A łuk grafu czas trwania czynności (6) Rys.. Graf zdarzenia i czynności nr zdarzenia () najwcześniejszy możliwy moment rozpoczęcia zdarzenia 5 8 najwcześniejszy możliwy moment zakończenia zdarzenia Rys. 2. Oznaczenie zdarzeń 3
ANALIZA SIECIOWA Sieć jest utworzona przez uporządkowany zbiór węzłów (wierzchołków) i łuków. Najczęściej spotykanymi technikami sieciowymi są: AOA activities-on-arcs gdy czynności reprezentowane są za pomocą łuków, a zdarzenia za pomocą węzłów (wierzchołków); jest to sieć czynności (graf czynności). AON activities-on-nodes gdy węzły (wierzchołki) reprezentują czynności, a łuki przedstawiają relacje poprzedzenia; jest to sieć zdarzeń (stanów) lub graf zdarzeń. Graf jest siecią czynności (AOA), jeżeli jest to graf: skierowany - o określonej orientacji połączeń, antysymetryczny złożony z dróg umożliwiających przejście tylko w jednym kierunku: od węzła początkowego do końcowego, spójnym łączącym wszystkie węzły i łuki, acyklicznym pozbawionym obwodu zamkniętego wewnątrz sieci. Budowa sieci AOA:. Kolejne zdarzenia można oznaczać liczbami, 2, i, j n. 2. Pełne nazwy czynności można zastąpić kolejnymi literami alfabetu (np. dużymi A, B, C ) lub symbolem <i, j>, gdzie i jest numerem rozpoczynającym dana czynność, a j numerem zdarzenia kończącego czynność. 3. Sieć zawiera dokładnie jedno zdarzenie początkowe i jedno zdarzenie końcowe. Zdarzenie początkowe nie jest poprzedzone żadna czynnością, a w zdarzeniu końcowym nie rozpoczyna się żadna czynność. Oznacza to, że wszystkie zdarzenia w sieci powinny być początkiem lub końcem co najmniej jednej czynności (z wyjątkiem zdarzenia początkowego i końcowego). 4. Do zdarzenia rozpoczynającego daną czynność powinny dochodzić jedynie te czynności, które bezpośrednio ją poprzedzają. 5. Dwie lub więcej czynności mogą rozpocząć się od tego samego zdarzenia tylko wówczas, gdy maja ten sam zbiór czynności poprzedzających. 6. Dwa dowolnie wybrane węzły może łączyć bezpośrednio co najwyżej jeden łuk. 4
7. Każdy wierzchołek otrzymuje odrębny numer, będący liczbą całkowitą (,2, n) taką, że zdarzenie początkowe przyjmuje numer, końcowe numer n oraz jeśli <i, j> oznacza czynność, to i < j, czyli zdarzenie i będące początkiem czynności, powinno mieć numer mniejszy niż zdarzenie j, które kończy te czynność. 8. Należy unikać sytuacji, w której łuki przecinają się ze sobą. A 2 D C 4 B 3 E Rys.. Poprawny wykres sieciowy AOA A C 2 3 B D 4 Rys. 2. Błędny wykres sieciowy AOA Błędy: - sieć zawiera dwa zdarzenia końcowe (2 i 4), - istnieją dwie czynności <A, B>, które maja wspólny początek i koniec, - czynność C nie spełnia warunku i<j (3<2). 5
Aby usunąć błędy należy wprowadzić w sieci czynności pozorne fikcyjne (przerywane strzałki - łuki). Czynność fikcyjna nie realizuje jakiegoś konkretnego działania, ale umożliwia uwzględnianie w grafie wymaganych relacji poprzedzania oraz przestrzeganie pozostałych zasad. Na rysunku 3 przedstawiono poprawioną wersję grafu z rysunku 2. Wprowadzono dodatkowe zdarzenie (2) będące końcem czynności A. Zakończenie czynności B występuje w zdarzeniu 3, zlikwidowano zatem bezpośrednie połączenia dwóch czynności A i B. Czynności C i D występują dopiero po zakończeniu czynności A i B. Taką relację następstwa może zagwarantować wprowadzona czynność pozorna p. Wprowadzenie drugiej czynności pozornej p 2 umożliwiło zachowanie w sieci tylko jednego zdarzenia końcowego (czyli takiego, do którego strzałki łuki jedynie dochodzą). A 2 P C 4 P 2 3 5 B D Rys. 3. Poprawiony wykres sieciowy AOA (z rys. 2) Algorytm generowania sieci typu AOA: Krok. Ustalić zbiory czynności poprzedzających, ich niepuste części wspólne oraz zbiór tych czynności, które nie wystąpiły w żadnym zbiorze, a następnie przypisać każdemu zbiorowi wierzchołek sieci. Krok 2. Narysować łuki odpowiadające czynnościom tak, aby rozpoczynały się od zbioru poprzedników, a kończyły w najmniejszym zbiorze zawierającym nazwę danej czynności. Czynności bez poprzedników zaczynają się od zbioru pustego. Krok 3. Jeżeli dany niepusty zbiór zawiera się w innym zbiorze, należy wprowadzić czynność pozorną zwróconą w kierunku bardziej licznego zbioru. Krok 4. Jeżeli dwa zbiory połączone są więcej niż jednym łukiem, należy dołączyć czynność fikcyjną. Węzły (wierzchołki) należy ponumerować tak, aby dla każdej czynności zdarzenie 6
rozpoczynające miało numer niższy niż zdarzenie kończące. Liczba wszystkich zbiorów wyznacza liczbę zdarzeń. Przykład działania algorytmu: Analiza czasowa umożliwia ustalenie: najwcześniejszego momentu zakończenia realizacji projektu, czynności, których opóźnienie wykonania przesunie moment zakończenia realizacji zadania, czynności, które można rozpocząć później nie opóźniając realizacji projektu, czynności, które można wykonać wolniej, niż planowano, bez opóźnienia momentu realizacji całego projektu. METODY ANALIZY SIECIOWEJ CPM - Critical Path Method - Metoda ścieżki krytycznej Tworzona została w latach 956 57 w USA w koncernie chemicznym DuPont de Nemours (M.J. Walker) do planowania konserwacji maszyn pracujących w procesach ciągłych. Firma du Pont współpracowała z koncernem elektronicznych maszyn matematycznych Remington Rand Univac (j.e. Kelly). Metoda umożliwia graficzną prezentację kolejnych czynności wykonywanych w ramach projektu z zaznaczeniem szacowanego czasu trwania tych czynności oraz z zachowaniem ich sekwencji. Metodę stosujemy wtedy, gdy wszystkie czynności planowanego projektu są rzeczywiście realizowane, a czasy trwania poszczególnych czynności maja charakter deterministyczny. Ponadto CPM umożliwia odpowiednio wczesne rozpoznanie tzw. wąskich gardeł w procesach realizacji projektu. Ścieżka krytyczna będąca najdłuższą sekwencją czynności niezbędnych do wykonania projektu, wyznacza jednocześnie najkrótszy czas realizacji projektu. Składa się z czynności krytycznych, w przypadku realizacji których nie występuje żaden zapasu czasu. PERT - Program Evaluation and Review Technique Technika oceny i kontroli programu; Stochastyczna metoda planowania i kontroli projektu Metoda opracowana przez Departament Obrony Stanów Zjednoczonych w roku 958 na potrzeby marynarki wojennej USA podczas realizacji projektu budowy rakiet balistycznych Polaris. Projekt dotyczył prac 7
badawczych, konstrukcyjnych i produkcyjnych na okres 5 lat i angażował 3000dostawców. W metodzie PERT projekt jest przedstawiany w postaci grafu skierowanego. Podobnie jak w przypadku metody CPM istotą metody PERT jest analiza ścieżki krytycznej. Jednak czasy trwania czynności i momenty zajścia zdarzeń mają charakter zmiennych losowych o określonej funkcji gęstości prawdopodobieństwa. Takie ujęcie czasu trwania zadań składających się na projekt pozwala zastosować metody statystyczne do oceny czasowego ryzyka ukończenia zadań i całości projektu oraz określania prawdopodobieństwa ich ukończenia w z góry zadanym terminie. Parametry rozkładu prawdopodobieństwa czasu zakończenia zadania szacuje się na podstawie trzech zmiennych: optymistycznego czasu zakończenia zadania, najbardziej prawdopodobnego czasu zakończenia zadania, pesymistycznego czasu zakończenia zadania. Na podstawie tych zmiennych wyznacza się czas oczekiwany zakończenia zadania, który jest podstawą analizy ścieżki krytycznej oraz wariancję czasu oczekiwanego, która określa spodziewaną różnicę szacowanego czasu oczekiwanego zakończenia zadania od rzeczywistego czasu trwania czynności. Metoda CPM choć opracowana niezależnie, jest szczególnym przypadkiem metody PERT takim, w którym wszystkie trzy zmienne czasowe poszczególnych zadań są równe. Analiza ścieżki krytycznej - momenty najwcześniejsze, - momenty najpóźniejsze, - czynności krytyczne, - zapasy czasu, - wyznaczenie ścieżki krytycznej, - wyznaczenie czasu realizacji zadania. Analiza czasowo kosztowa - normalny czas trwania czynności, - koszt normalny, - graniczny czas trwania czynności, - koszt graniczny, - wyznaczenie takiego terminu zakończenia projektu, by koszt jego realizacji był minimalny. 8