Harmonogramowanie przedsięwzięć Mariusz Kaleta Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska luty 2014, Warszawa Politechnika Warszawska Harmonogramowanie przedsięwzięć 1 / 25
Wstęp Wprowadzenie Planowanie przedsięwzięć Przedsięwzięcie złożone z dużej liczby czynności/operacji Ograniczenia kolejnościowe wiążące czynności Relacja poprzedzania: operacja może rozpocząć się, gdy wszystkie poprzedzające są zakończone Inne: rozpoczęcie-rozpoczęcie, zakończenie-zakończenie, rozpoczęcie-zakończenie Cel: minimalizacja terminu realizacji przedsięwzięcia przy zachowaniu ograniczeń kolejnościowych Ogólniejsze postawienie problemu wykonywanie operacji wymaga zasobów Kompromis między budżetem a terminem realizacji Zasoby ludzkie Politechnika Warszawska Harmonogramowanie przedsięwzięć 2 / 25
Wstęp Zastosowania w praktyce Duże projekty w obszarach m.in. Branża budowlana Projekty informatyczne (projektowanie, wdrażania oprogramowania) Budowa źródeł energii elektrycznej Loty kosmiczne Przemysł obronny, np. projektowanie i budowa lotniskowców i łodzi podwodnych o napędzie atomowym Politechnika Warszawska Harmonogramowanie przedsięwzięć 3 / 25
Wstęp Sformułowanie problemu Dane problemu Lista operacji Tablica poprzedzania operacji Dane liczbowe charakteryzujące operacje: czasy trwania, wymagania zasobowe operacja operacje poprzedzające czas trwania A 2 B A 6 C 3 D A,B,C 7 Politechnika Warszawska Harmonogramowanie przedsięwzięć 4 / 25
Wstęp Sieć przedsięwzięcia reprezentacja wierzchołkowa Operacje modelowane jako wierzchołki Politechnika Warszawska Harmonogramowanie przedsięwzięć 5 / 25
Wstęp Sieć przedsięwzięcia reprezentacja wierzchołkowa Politechnika Warszawska Harmonogramowanie przedsięwzięć 6 / 25
Wstęp Sieć przedsięwzięcia reprezentacja łukowa Operacje modelowane jako łuki Politechnika Warszawska Harmonogramowanie przedsięwzięć 7 / 25
Wstęp Sieć przedsięwzięcia reprezentacja łukowa Operacja pozorna szczególny typ operacji, która nie zużywa czasu i zasobów, służy do zamodelowania zależności między operacjami Politechnika Warszawska Harmonogramowanie przedsięwzięć 8 / 25
Wstęp Sieć przedsięwzięcia reprezentacja łukowa Uproszczenie sieci Politechnika Warszawska Harmonogramowanie przedsięwzięć 9 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Modelowanie op. i j k l m op. pop. i j i,j Politechnika Warszawska Harmonogramowanie przedsięwzięć 10 / 25
Wstęp Przykład liczbowy Utworzenie filii przedsiębiorstwa operacja operacje poprzedzające czas trwania A) wybór lokalizacji 8 B) zatrudnienie A 10 C) wybór personelu A 11 D) plan finansowy 14 E) transfer personelu C 10 F) adaptacja biura C,D 11 G) przeszkolenie B 4 Politechnika Warszawska Harmonogramowanie przedsięwzięć 11 / 25
Wstęp Przykład liczbowy Utworzenie filii przedsiębiorstwa Politechnika Warszawska Harmonogramowanie przedsięwzięć 12 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Metoda ścieżki krytycznej (Critical Path Method CPM) Etap CPM Utworzenie modelu sieciowego w reprezentacji łukowej Uporządkowanie wierzchołków w porządku topologicznym, wykrywanie cykli Wyznaczenie najwcześniejszych terminów zdarzeń Wyznaczenie najpóźniejszych terminów zdarzeń i ścieżki krytycznej Politechnika Warszawska Harmonogramowanie przedsięwzięć 13 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Sortowanie topologiczne Definicja Wierzchołki są posortowane topologicznie, jeżeli dla każdej pary (i, j) E numer wierzchołka i jest mniejszy niż numer wierzchołka j Algorytm 1 i := 0 2 Znajdź dowolny, nieponumerowany wierzchołek, który nie posiada poprzedników i przypisz mu numer i 3 Jeżeli nie istnieje taki wierzchołek i istnieją wierzchołki nieponumerowane, to graf ma cykl, STOP i wszystkie wierzchołki ponumerowane to koniec algorytmu 4 Usuń chwilowo z grafu wierzchołek i oraz łuki z nim incydentne; i := i + 1 idź do kroku 2 Politechnika Warszawska Harmonogramowanie przedsięwzięć 14 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Sortowanie topologiczne 1 2 0 3 5 4 Politechnika Warszawska Harmonogramowanie przedsięwzięć 15 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najwcześniejszych chwil zdarzeń Algorytm 1 Przyjmij t 0 = 0 2 Dla wierzchołków ponumerowanych topologicznie od 1 do n powtarzaj t j = max i:i<j {t i + t ij } (1) Operacja (i, j) jest aktywna, gdy we wzorze (1) określa maksimum Algorytm wyznacza dendryt operacji aktywnych złożony z n 1 łuków Ścieżka należąca do dendryt prowadząca od wierzchołka 0 do n jest ścieżką krytyczną, a operacje ją tworzące są operacjami krytycznymi Politechnika Warszawska Harmonogramowanie przedsięwzięć 16 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najwcześniejszych chwil zdarzeń 1 2 0 3 5 4 Politechnika Warszawska Harmonogramowanie przedsięwzięć 17 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najwcześniejszych chwil zdarzeń 0+8 8+10 8+11 max{19+0;14} Politechnika Warszawska Harmonogramowanie przedsięwzięć 17 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najwcześniejszych chwil zdarzeń max{19+11;19+10;18+4}=30 Politechnika Warszawska Harmonogramowanie przedsięwzięć 17 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najwcześniejszego terminu realizacji projektu Ścieżki Najkrótszy termin wykonania przedsięwzięcia = najdłuższa ścieżka w grafie ABG 22 ACE - 29 DF 25 ACF 30 Politechnika Warszawska Harmonogramowanie przedsięwzięć 18 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najpóźniejszych chwil zdarzeń Algorytm 1 Przyjmij t n = t n = T 2 Dla wierzchołków ponumerowanych topologicznie od n 1 do 0 powtarzaj ti = min i:i<j {t j t ij } (2) Politechnika Warszawska Harmonogramowanie przedsięwzięć 19 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Wyznaczanie najpóźniejszych chwil zdarzeń Oznaczenia NWR ij najwcześniejszy termin rozpoczęcia (równy t i ) NWZ ij najwcześniejszy termin zakończenia (równy t i + t ij ) NPZ ij najpóźniejszy termin zakończenia (równy t j ) NPR ij najpóźniejszy termin rozpoczęcia (równy t j t ij ) Luz całkowity O ile można opóźnić operację, żeby przedsięwzięcie nie opóźniło się Luz swobodny LC ij = NPR ij NWR ij = NPZ ij NWZ ij (3) O ile można opóźnić operację, żeby żadna inna operacja nie została opóźniona LS ij = min k NWR jk NPZ ij (4) Politechnika Warszawska Harmonogramowanie przedsięwzięć 20 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Metoda PERT Wadą metody CPM jest konieczność dokładnego zdefiniowania czasów wykonywania operacji Metoda PERT (Program Evaluation nad Review Technique) uwzględnia możliwość wahania czasów trwania o charakterze losowym Czas trwania operacji jest niepewny i scharakteryzowany przez czas optymistyczny a czas najbardziej prawdopodobny m czas pesymistyczny b Na podstawie tych parametrów tworzone są estymaty gęstości prawdopodobieństwa Politechnika Warszawska Harmonogramowanie przedsięwzięć 21 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Metoda PERT Wzory aproksymujące E(t) = a + 4m + b 6 σ(t) = b a 6 Na bazie wartości oczekiwanych czasów trwania wyznacza się ścieżkę krytyczną Następie dla operacji krytycznych dokonuje się analizy zmienną losową czasu trwania przedsięwzięcia E(T ) = (i,j)krytyczne E(t ij ) Politechnika Warszawska Harmonogramowanie przedsięwzięć 22 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Metoda PERT Zgodnie z centralnym twierdzenie graniczmy suma dużej liczby niezależnych zmiennych losowych ma rozkład zbliżony do normalnego o wartości oczekiwanej będącej sumą wartości oczekiwanych i wariancji będącej sumą wariancji czasów trwania operacji σ 2 (T ) = (i,j)krytyczne σ 2 (t ij ) Prawdopodobieństwo ukończenia przedsięwzięcia przed określonym terminem (lub czas ukończenia z zadanym prawdopodobieństwem) może być wyznaczany po wprowadzeniu zmiennej losowej znormalizowanej Z = T E(T ) σ(t ) Politechnika Warszawska Harmonogramowanie przedsięwzięć 23 / 25
Planowanie przedsięwzięć bez wymagań zasobowych Planowanie przedsięwzięć bez wymagań zasobowych podsumowanie Problem łatwy z punktu widzenia złożoności obliczeniowej Metody PERT i CPM są koncepcyjnie identyczne CPM głównie do procesów powtarzalnych, w których można uzyskać dobre oszacowania czasów operacji PERT głównie do procesów niepowtarzalnych Politechnika Warszawska Harmonogramowanie przedsięwzięć 24 / 25
Planowanie przedsięwzięć przy elastycznym budżecie Przydział dodatkowych zasobów Przykład c.d. t t min c A 8 5 3 B 10 7 2 C 11 7 3 D 14 8 2 E 10 5 3 F 11 7 2 G 4 4 0 dec. ABG 22 ACE 29 DF 25 ACF 30 koszt Z teorii dualności wynika, że zależność minimalnego czasu od kosztów jest funkcją wypukłą kawałkami liniową Politechnika Warszawska Harmonogramowanie przedsięwzięć 25 / 25
Planowanie przedsięwzięć przy elastycznym budżecie Przydział dodatkowych zasobów Przykład c.d. t t min c A 8 5 3 B 10 7 2 C 11 7 3 D 14 8 2 E 10 5 3 F 11 7 2 G 4 4 0 dec. F-1 A-3 C-2 F-3,E-3 ABG 22 22 19 19 19 ACE 29 29 26 24 21 DF 25 24 24 24 21 ACF 30 29 26 24 21 koszt 2 9 6 15 Z teorii dualności wynika, że zależność minimalnego czasu od kosztów jest funkcją wypukłą kawałkami liniową Politechnika Warszawska Harmonogramowanie przedsięwzięć 25 / 25