BAd_OPER__sieciowe
Transkrypt
BAd_OPER__sieciowe
BADANIA OPERACYJNE dr Adam Sojda [email protected] http://dydaktyka.polsl.pl/roz6/asojda/default.aspx Pokój A405 Programowanie sieciowe – zarządzanie projektami Przedsięwzięcie - zorganizowanie działanie ludzkie zmierzające do osiągnięcia określonego celu, zawarte w skończonym przedziale czasowym z wyróżnionym początkiem i końcem. Realizowane przez skończoną liczbę osób, środków technicznych, energii, materiałów, środków finansowych i informacji. Zdarzenie – oznacza osiągniecie stanu zaawansowania prac przy realizacji przedsięwzięcia, jest to moment rozpoczęcia bądź zakończenia jednej czynności lub większej liczby czynności. Zdarzenie przedstawiamy graficznie za pomocą kółek. Każdemu zdarzeniu przyporządkowany jest numer 1,2,3,…,m Czynność – jest dowolnie wyodrębniona częścią przedsięwzięcia charakteryzującą się czasem trwania i zużyciem środków. Obraz graficzny strzałka. Czynność jest charakteryzowana przez parę wskaźników i – k (i<k), gdzie i – numer zdarzenia, w którym dana czynność się zaczyna, k – numer zdarzenia, w którym dana czynność się kończy. Czynność pozorna - szczególny typ czynności, dla których charakterystyczne jest to, że nie zużywają czasu (czas jej trwania jest równy zero) ani środków, a służą jedynie do przedstawienia zależności pomiędzy czynnościami. Graficzny obraz czynności pozornej przerywana strzałka. dr Adam SOJDA 2 Programowanie sieciowe – zarządzanie projektami Sieć czynności jest graficznym obrazem struktury przedsięwzięcia. Przedstawia ona tworzące to przedsięwzięcie czynności oraz powiązania pomiędzy nimi. Sieć składa się z dwóch rodzajów elementów: n łuków – oznaczających czynności n węzłów – zwanych zdarzeniami i oznaczającymi początek lub zakończenie jednej lub kilku czynności. Budowa sieci wymaga znajomości dla poszczególnych czynności: n czasów ich trwania n zbiorów czynności bezpośrednio je poprzedzających Prawidłowo skonstruowana sieć czynności: n łączy wszystkie węzły i łuki ( spójna ) n łuki nie tworzą obwodu zamkniętego ( acykliczna ) n zawiera dokładnie jedno zdarzenie, w którym nie kończy się żadna czynność ( początek przedsięwzięcia ) oraz jedno zdarzenie, w którym nie rozpoczyna się żadna czynność (koniec przedsięwzięcia) n dwa różne łuki nie mają tych samych zdarzeń początkowych i końcowych, w przeciwnym razie wprowadza się czynności pozorne. dr Adam SOJDA 3 Programowanie sieciowe – zarządzanie projektami Najkrótszy możliwy czas realizacji przedsięwzięcia, T* jest to najkrótszy czas, w którym możliwe jest ukończenie wszystkich czynności składających się na przedsięwzięcie. Najwcześniejszy możliwy moment zajścia zdarzenia. Dla danego zdarzenia k, najwcześniejszy moment jego zajścia ( tk ) jest to moment, w którym najwcześniej zostaną ukończone wchodzące do niego czynności. t k = max(t i + t ik ) i t1 = 0 tm = T * Najpóźniejszy dopuszczalny moment zajścia zdarzenia. Dla danego zdarzenia i, najpóźniejszy dopuszczalny moment jego zajścia ( Ti ) jest to moment, w którym najpóźniej mogą być rozpoczęte wszystkie wychodzące z niego czynności, by nie opóźnił się moment realizacji całego przedsięwzięcia (w stosunku do najkrótszego możliwego czasu). Ti = min(Tk − tik ) k dr Adam SOJDA Tm = T ∗ T1 = 0 4 Programowanie sieciowe – zarządzanie projektami Zapas czasu dla zdarzenia, to Li = Ti − t i Luz czasowy czynności Dla każdej czynności możemy wyznaczyć rezerwy czasu wykonywania zwane zapasami czasu. Zapas całkowity, to rezerwa czasu, która może być wykorzystana dodatkowo na wykonanie danej czynności Zc = Tk – ti – tik ANALIZA SIECIOWA CPM ścieżki krytycznej ( Critical Path Method ) Charakterystyki: t – najwcześniejszy moment zaistnienia zdarzenia T – najpóźniejszy dopuszczalny termin zaistnienia zdarzenia L – zapas czasu dla zdarzenia. i – numer zdarzenia i ti Ti Li dr Adam SOJDA 5 Programowanie sieciowe – zarządzanie projektami Pewne przedsięwzięcie można opisać za pomocą następujących czynności (tabela). Wyznaczyć najkrótszy możliwy czas realizacji całego przedsięwzięcia, wyznaczyć czynności, które determinują czas realizacji całego przedsięwzięcia – budowy domu i przeprowadzki do niego. czynność Opis czynności Czynności poprzedzające Czas trwania [dni] A kupno działki B ogrodzenie działki – wstępne C wybór projektu D wybór dewelopera C 15 E sadzenie drzew i krzewów B, D 30 F budowa docelowego ogrodzenia i alejek E 40 G wybór elementów wykończenia domu C 60 H budowa do stanu surowego B, D 120 I wykończenie domu G, H 90 J przeprowadzka F, I 14 dr Adam SOJDA 20 A 15 10 6 Programowanie sieciowe – zarządzanie projektami Przedstawienie przedsięwzięcia jako sieci czynności: B A A B 2 D dr Adam SOJDA J I G 1 C H D C F E 3 E 4 F 5 H I J 7 8 6 G 7 Programowanie sieciowe – zarządzanie projektami Wyznaczenie ścieżki krytycznej: 5 2 20 20 0 0 0 140 30 15 1 205 65 20 40 4 0 35 35 15 10 3 20 10 10 dr Adam SOJDA 7 0 60 245 120 6 245 0 14 8 259 259 0 90 155 155 0 8 Programowanie sieciowe – zarządzanie projektami Analiza zapasów czasu dla poszczególnych czynności czynność i-k tik Tk ti Zc zapas czasu dla czynności A 1-2 20 20 0 0 B 2-4 15 35 20 0 C 1-3 10 20 0 10 D 3-4 15 35 10 10 E 4-5 30 205 35 140 F 5-7 40 245 65 140 G 3-6 60 155 10 85 H 4-6 120 155 35 0 I 6-7 90 245 155 0 J 7-8 14 259 245 0 Czynności, dla których zapas czasu jest równy zero nazywamy czynnościami krytycznymi. Tworzą on ścieżkę krytyczną i stanowi podstawę metody CPM dr Adam SOJDA 9 Programowanie sieciowe – zarządzanie projektami Metoda PERT Zakładamy, że każda z czynności może być opisana trzema czasami: a – najbardziej optymistycznym m – modalnym najczęściej pojawiającym się przy powtarzaniu tej czynności b – najbardziej pesymistycznym Pomiędzy czasami zachodzi zależność: a≤m≤b Dla każdej czynności wyznaczane są dwie wartości: oczekiwany czas realizacji czynności te oraz wariancja czas σ2. Zgodnie ze wzorami: a + 4m + b te = 6 σ 2 i− j ⎛b−a⎞ =⎜ ⎟ ⎝ 6 ⎠ 2 Czas oczekiwany jest wykorzystywany do wyznaczenia ścieżki krytycznej (CPM) oraz oczekiwanego czasu wykonania Te dr Adam SOJDA 10 Programowanie sieciowe – zarządzanie projektami Jeśli pojawiające się ścieżki charakteryzują się tym, iż empiryczne czasy realizacji przedsięwzięcia nie zachodzą na siebie, wówczas można wyznaczyć za pomocą dystrybuanty rozkładu normalnego prawdopodobieństwo zakończenia przedsięwzięcia przed upływem założonego czasu dyrektywnego. Niech X będzie zmienną losową o rozkładzie normalnym oznaczającą czas ukończenia całego przedsięwzięcia. Φ(u) – dystrybuanta rozkładu N(0,1) Te – wartość oczekiwaną czasu realizacji całego przedsięwzięcia wyznaczoną na podstawie ścieżki krytycznej, σ - odchylenie standardowe dla czasu realizacji całego przedsięwzięcia, wyznaczone jako pierwiastek z sumy wariancji czasów realizacji wszystkich czynności tworzących ścieżkę krytyczną. td – czas dyrektywny realizacji całego przedsięwzięcia. td − Te ⎞ ⎛ ⎛ td − Te ⎞ P ( X < t d ) = P⎜ U < ⎟ = Φ⎜ ⎟ σ ⎠ ⎝ ⎝ σ ⎠ Otrzymane wartości prawdopodobieństwa powinny znajdować się w przedziale od 0.25 do 0.60. Dla wartości poniżej 0.25 termin realizacji w czasie dyrektywnym jest małoprawdopodobny, dla wartości powyżej 0.60 istnieją niewykorzystane moce produkcyjne. dr Adam SOJDA 11 Programowanie sieciowe – zarządzanie projektami Dla analizowanego już zagadnienia: czynność i-k a m b A 1-2 10 16 46 B 2-4 12 15 18 C 1-3 7 10 13 D 3-4 7 10 43 E 4-5 10 16 106 F 5-7 36 39 48 G 3-6 30 51 126 H 4-6 100 121 136 I 6-7 50 68 218 J 7-8 7 10 37 dr Adam SOJDA te σ2 12 Programowanie sieciowe – zarządzanie projektami Dla analizowanego już zagadnienia: czynność i-k a m b te σ2 A 1-2 10 16 46 20 36 B 2-4 12 15 18 15 1 C 1-3 7 10 13 10 1 D 3-4 7 10 43 15 36 E 4-5 10 16 106 30 256 F 5-7 36 39 48 40 4 G 3-6 30 51 126 60 256 H 4-6 100 121 136 120 36 I 6-7 70 88 118 90 64 J 7-8 7 10 37 14 25 Oczekiwany czas realizacji całego przedsięwzięcia: Te = 259 Wariancja czasu realizacji: 36+1+36+64+25 = 162 odchylenie standardowe σ = 12,73 dr Adam SOJDA 13 Programowanie sieciowe – zarządzanie projektami Wyznaczyć prawdopodobieństwo ukończenia przedsięwzięcia w czasie 240 dni. Dane: td = 240 td − Te ⎞ ⎛ 240 − 259 ⎞ ⎛ ⎛ td − Te ⎞ P X < t = P U < = Φ = Φ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ d Te = 259 σ ⎠ ⎝ ⎝ σ ⎠ ⎝ 12,73 ⎠ σ = 12,73 ( ) = = Φ(− 1,49 ) = 1 − Φ(1,49 ) = 1 − 0.9319 = 0.0681 Wyznaczyć czas dyrektywny, w którym prawdopodobieństwo ukończenia jest równe 0.95 Dane: ⎛ t d − 259 ⎞ ⎛ t d − Te ⎞ 0 . 95 = Φ 1 . 65 = Φ = Φ ⎜ ⎟⇒ ⎜ ⎟ Te = 259 ⎝ σ ⎠ ⎝ 12,73 ⎠ σ = 12,73 t d − 259 Φ(u)=0.95 1.65 = ⇒ t d = 280 zatem u=1.65 12.73 ( dr Adam SOJDA ) 14 Programowanie sieciowe – zarządzanie projektami Analiza kosztowo – czasowa Czas Czas Koszt Koszt normalny przyspieszony normalny przyspieszony 1-2 20 15 100 150 B 2-4 15 10 5 10 C 1-3 10 9 6 8 D 3-4 15 12 3 12 E 4-5 30 28 15 25 F 5-7 40 38 20 25 G 3-6 60 55 90 120 H 4-6 120 110 250 350 I 6-7 90 85 120 150 J 7-8 14 12 5 9 czynność i-k A dr Adam SOJDA Gradient kosztów 15 Programowanie sieciowe – zarządzanie projektami Analiza kosztowo – czasowa Czas Czas Koszt Koszt normalny przyspieszony normalny przyspieszony Gradient kosztów 1-2 20 15 100 150 10 B 2-4 15 10 5 10 1 C 1-3 10 9 6 8 2 D 3-4 15 12 3 12 3 E 4-5 30 28 15 25 5 F 5-7 40 38 20 25 2,5 G 3-6 60 55 90 120 6 H 4-6 120 110 250 350 10 I 6-7 90 85 120 150 6 J 7-8 14 12 5 9 2 czynność i-k A dr Adam SOJDA 16 Programowanie sieciowe – zarządzanie projektami Program liniowy minimalizacji kosztu przy zadanym czasie dyrektywnym Oznaczenia: xi – najwcześniejszy moment zaistnienia zdarzenia yA, yB, …, yJ - czas przyspieszenia realizacji czynności A,B, …, J FUNKCJA CELU: F(yA, …, yJ ) = 10yA+1yB+2yC+3yD+5yE+2.5yF+6yG+10yH+6yI+2yJ à min Ograniczenia: Muszą być spełnione następujące warunki: i. moment zaistnienia zdarzenia i (xi) musi być większy bądź równy od czasu wykonania czynności, których czas zakończenia określa to zdarzenie ii. czas rozpoczęcia dowolnej czynności jest równy momentowi zaistnienia zdarzenia, określającego rozpoczęcie tej czynności iii. czas realizacji jest równy czasowi normalnemu pomniejszonemu o czas przyspieszenia iv. czasy przyspieszenia są ograniczone dr Adam SOJDA 17 Programowanie sieciowe – zarządzanie projektami Spełnione muszą być warunki dla zdarzeń Moment zaistnienia zdarzenia ≥ Czas normalny realizacji czynności - Przyspieszenie czynności + Moment rozpoczęcia czynności Zdarzenie 1. Zdarzenie 2. Zdarzenie 3. Zdarzenie 4. x1 = 0 Możliwości przyspieszenia są ograniczone: X2 ≥ 20 – yA +x1 0 ≤ yA ≤ 5 0 ≤ yB ≤ 5 X3 ≥ 10 – yC +x1 0 ≤ yC ≤ 1 0 ≤ yD ≤ 3 X4 ≥ 15 – yB +x2 0 ≤ yE ≤ 2 0 ≤ yF ≤ 2 X4 ≥ 15 – yD +x3 0 ≤ yG ≤ 5 0 ≤ yH ≤ 10 Zdarzenie 5. X5 ≥ 30 – yE +x4 0 ≤ yI ≤ 5 0 ≤ yJ ≤ 2 Zdarzenie 6. X6 ≥ 60 – yG +x3 X6 ≥ 120 – yH +x4 Wszystkie zmienne są nieujemne Zdarzenie 7. X7 ≥ 40 – yF +x5 xi ≥ 0 dla i =1,2,…,8 X7 ≥ 90 – yI +x6 yj ≥ 0 dla j = A, B, …, J Zdarzenie 8. X8 ≥ 14 – yJ +x7 Czas zakończenia nie może być dłuższy niż 250 zadany czas dyrektywny x8 ≤ 250 dr Adam SOJDA 18 Programowanie sieciowe – zarządzanie projektami Przy minimalizacji czasu realizacji przedsięwzięcia przy zadanym koszcie zamiast funkcji celu z poprzedniego problemu: F(yA, …, yJ ) = 10yA+1yB+2yC+3yD+5yE+2.5yF+6yG+10yH+6yI+2yJ à min Otrzymujemy ograniczenie dla zadanego kosztu np. 300 10yA+1yB+2yC+3yD+5yE+2.5yF+6yG+10yH+6yI+2yJ ≤ 300 Z ograniczenia czasu realizacji przedsięwzięcia x8 ≤ 250 Otrzymujemy funkcję celu x8 à min dr Adam SOJDA 19