Wielokryterialne harmonogramowanie portfela projektów Bogumiła Krzeszowska Katedra Badań Operacyjnych
Problem Należy utworzyć harmonogram portfela projektów. Poprzez harmonogram portfela projektów będziemy rozumieć wyznaczenie czasów rozpoczęcia oraz zakończenia poszczególnych czynności projektów wchodzących skład portfela. Do wykonania projektów wymagane są określone środki, relacje kolejnościowe pomiędzy czynnościami zostały ściśle określone, a poziom dostępności zasobów odnawialnych w poszczególnych jednostkach czasu jest ograniczony. 2
Przykład Realizowany jest portfel składający się z dwóch projektów P oraz P2. Projekty umieszczone zostały na sieci czynności (AON). Horyzont planowania wynosi 5 jednostek czasu, a maksymalna dostępność zasobów odnawialnych w jednostce czasu wynosi 3. 2 3 Czynność P Czas trwania [ES,EF] [LS,LF] Zasób k Zasób k2 Przepływy pieniężne [,] [,] 2-2 2 2 [,3] [,3] 3 3 [3,4] [3,4] 2 3 Czynność P2 Czas trwania [ES,EF] [LS,LF] Zasób k Zasób k2 Przepływy pieniężne 2 [,2] [,2] 2-2 - - - - - 3 [2,3] [2,3] 2 2 Przykładowy haromonogram. 3
Model matematyczny - założenia Realizowany jest portfel projektów składający się z p=,,p projektów, Każdy projekt składa się z j=,,j czynności, Horyzont planowania ograniczony jest do T, przy czym jednostka czasu t=,,t, gdzie t= oznacza okres czasu (,), Czynności projektu umieszczone zostały na sieci czynności (graf AON), Przepływy pieniężne generowane są w momencie zakończenia czynności, Zasoby odnawialne są ograniczone w każdej jednostce czasu, Relacje kolejnościowe pomiędzy czynnościami projektów mogą być typu: zakończenie-początek, początek-początek, początek-zakończenie, zakończenie-zakończenie, Realizacja czynności może być przerywana w trakcie trwania, Projekty w portfelu mogą być na różnym etapie realizacji, Realizacja jednego projektu może zależeć od innego projektu w portfelu. 4
Model matematyczny - oznaczenia x ijp - czynność j projektu p w czasie t, d jp - czas trwania czynności j projektu p, F jp - czas zakończenia czynności j projektu p, S jp - czas rozpoczęcia czynności j projektu p, A ijp - zbiór bezpośrednich poprzedników i czynności j projektu p, F ijp - czas zakończenia poprzednika i czynności j projektu p, S ijp - czas rozpoczęcia poprzednika i czynności j projektu p, k=,,k- zbiór zasobów odnawialnych, r jpk - wielkość zasobu odnawialnego k wymaganego przez czynność j projektu p, R kt dostępność zasobu odnawialnego k w czasie t, LF jp najpóźniejszy czas zakończenia czynności j projektu p wyznaczony metodą ścieżki krytycznej, - stopa dyskontowa, cf jp przepływy pieniężne netto generowane przez czynność j projektu p, M p zbiór czynności j projektu p, będących kamieniami milowymi projektu p. 5
Model matematyczny przykład Ograniczenia () x jpt {,} ( j=,,j, p=,,p, t=,,t) p=2 j=3 t=5 Liczba zmiennych decyzyjnych wynosi j p t=235=3 X={x,,, x 2,,, x 3,,, x,,2, x 2,,2, x 3,,2, x,,3, x 2,,3, x 3,,3, x,,4, x 2,,4, x 3,,4, x,,5, x 2,,5, x 3,,5, x,2,, x 2,2,, x 3,2,, x,2,2, x 2,2,2, x 3,2,2, x,2,3, x 2,2,3, x 3,2,3, x,2,4, x 2,2,4, x 3,2,4, x,2,5, x 2,2,5, x 3,2,5 } 6
Model matematyczny przykład Ograniczenia (2) x jpt gdy czynność j projektu p trwa w okresie t w przeciwnym wypadku ( j=,,j, p=,,p, t=,,t) x,, =, x,,2 =, x,,3 =, x,,4 =, x,,5 =, x 2,, =, x 2,,2 =, x 2,,3 =, x 2,,4 =, x 2,,5 =, x 3,, =, x 3,,2 =, x 3,,3 =, x 3,,4 =, x 3,,5 =, x,2, =, x,2,2 =, x,2,3 =, x,2,4 =, x,2,5 =, x 2,2, =, x 2,2,2 =, x 2,2,3 =, x 2,2,4 =, x 2,2,5 =, x 3,2, =, x 3,2,2=, x 3,2,3 =, x 3,2,4 =, x 3,2,5 =. 7
Model matematyczny przykład Ograniczenia T (3) x d ( j=,,j, p=,,p, t=,,t) p j,..., J t jpt jp Czasy trwania d jp poszczególnych czynności są następujące: d, =, d 2, =2, d 3, =, d,2 =2, d 2,2 =, d 3,2 =. Horyzont planowani t=5. Dla j= oraz p= 5 t x d,, t, x,,+ x,,2 +x,,3 +x,,4 +x,,5 =d, ++++=. Dla j= oraz p=2 5 t x d,2, t,2 x,2,+ x,2,2 +x,2,3 +x,2,4 +x,2,5 =d,2 ++++=2 8
F Model matematyczny przykład Ograniczenia max{ ( t x jpt t,.., T )} (4) jp ( j=,,j, p=,,p, t=,,t) Dla j= oraz p= F, = max {x,,, x,,2 2, x,,3 3, x,,4 4, x,,5 5} = max{, 2, 3, 4, 5}=2 (4`) x jpt S jp min{ t,.., T ( t x jpt )} ( j=,,j, p=,,p, t=,,t) S, = min{x,,2 2}- = min{2}-= 9
Model matematyczny przykład Ograniczenia (5`) S jp F ijp zakończenie-początek ) (5``) S jp S ijp początek-początek (5```) F jp S ijp początek-zakończenie ( j=,,j, p=,,p, i A I jp) ( j=,,j, p=,,p, i A II jp) ( j=,,j, p=,,p, i A III jp) (5````) F jp F ijp zakończenie-zakończenie ( j=,,j, p=,,p, i A IV jp) Dla j=3 raz p=, A I jp ={, 2} Relacje kolejnościowe typu :zakończenie początek (5`) S 3, F, ^ S 3, F 2, F, =2, F 2, =4, S 3, =4. W związku z tym nierówność jest spełniona (4 2^4 4).
Model matematyczny przykład Ograniczenia (6) ( r x ) R ( j=,,j, p=,,p, t=,,t) k,..., K t,..., T dostępność zasobów k= oraz k=2 jest ograniczona w każdej jednostce czasu do 3 jednostek R t =3 oraz R 2t =3. Dla k= oraz t=. 2 p 3 j ( r jp x jp) R P J p j, jpk jpt (r,, x,,+ r 2,, x 2,,+ r 3,, x 3,,+ r,2, x,2,+ r 2,2, x 2,2,+ r 3,2, x 3,2, ) R, 2++2+++ 3 3 Ograniczenie dostępności zasobu pierwszego k= w pierwszej jednostce czasu t= zostało spełnione. kt
Model matematyczny - przykład Funkcje kryterium (K) p,..., P J j max{, F jp LF jp } I i max{, F } min (j=,,j, i=,,i, p=,,p, t=,,t, jm p, im p^[i A I jp i A II jp i A III jp i A IV jp]) ip LF ip F, =2 F,2 =2 LF, = LF,2 =2 F 2, =4 F 2,2 = LF 2, =3 LF 2,2 = F 3, =5 F 3,2 =3 LF 3, =4 LF 3,2 =3 Dla projektu p=: [max{, F, - LF, }+ max{, F 2, - LF 2, }+max{, F 3, - LF 3, }]- [max{, F, - LF, }+ max{, F 2, - LF 2, }]min [max{, 2- }+ max{, 4-3}+max{, 5-4}]-[max{, 2- }+ max{, 4-3}]min (K )= Dla projektu p=2: [max{, F,2 - LF,2 }+max{, F 2,2 - LF 2,2 }]-[max{, F,2 - LF,2 }]min [max{, 2-2}+max{, 3-3}]-[max{, F,2 - LF,2 }]min (K )= 2
Model matematyczny - przykład Funkcje kryterium (K2) k,..., K max t,..., T [ P J p j r jpk x jpt ] min ( j=,,j, p=,,p, t=,,t, k=,,k) Dla zasobu k=. max{ r,, x,,+ r 2,, x 2,,+ r 3,, x 3,,+ r,2, x,2,+ r 2,2, x 2,2,+ r 3,2, x 3,2,, r,, x,,2+ r 2,, x 2,,2+ r 3,, x 3,,2+ r,2, x,2,2+ r 2,2, x 2,2,2+ r 3,2, x 3,2,2, r,, x,,3+ r 2,, x 2,,3+ r 3,, x 3,,3+ r,2, x,2,3+ r 2,2, x 2,2,3+ r 3,2, x 3,2,3, r,, x,,4+ r 2,, x 2,,4+ r 3,, x 3,,4+ r,2, x,2,4+ r 2,2, x 2,2,4+ r 3,2, x 3,2,4, r,, x,,5+ r 2,, x 2,,5+ r 3,, x 3,,5+ r,2, x,2,5+ r 2,2, x 2,2,5+ r 3,2, x 3,2,5 }min max{, 3, 2,, 2}min (K2 )=3 3
Model matematyczny - przykład Funkcje kryterium =5% (K3)=2,6 (K3) ( j=,,j, p=,,p, t=,,t) 4 P p J j F jp jp e cf max max ) ( ) ( ) ( ) ( ) ( 2,2,2 3, 2,,,5 2,2,5,2,5 3,,5 2,,5, F F F F F e cf e cf e cf e cf e cf
Algorytm ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH ALGORYTM SPEA2 Krok: Inicjalizacja. Krok 2: Ocena dopasowania Krok 3: Aktualizacja zbioru zewnętrznego. Krok 4: Elitaryzm. Krok 5: Selekcja. Krok 6: Krzyżowanie. Krok 7: Mutacja. Krok 8: Zakończenie. Pokolenie t Populacja P(t) Zbiór rozwiązań niezdominowanych Selekcja rozwiązań niezdominowanych Zewnętrzny zbiór zawierający rozwiązania niezdominowane Zredukowany zbiór zewnętrzny ETAP 2. FILTRACJA ROZWIĄZAŃ Selekcja METODA LBS Krzyżowanie i mutacja Pokolenie t+ Populacja P(t+) Zaktualizowany zbiór rozwiązań niezdominowanych 5
ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH Elementy algorytmu Kodowanie rozwiązania Chromosom jest macierzą binarną o rozmiarze jpt. Wiersze chromosomu reprezentują poszczególne czynności wszystkich projektów w portfelu jp, natomiast kolumny reprezentują jednostki czasu t. Ch i x x x jp,, 2,,, x x x,,2 2,,2 jp,2... x x,, t 2,, t x jpt Przykład p=2, j=3, t=5 Chromosom jest macierzą o rozmiarze [6x5] Ch Populacja początkowa Zbiór N rozwiązań generowanych w sposób losowy. 6
ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH Elementy algorytmu Ocena rozwiązań. Sprawdzanie dopuszczalności osobnika odrzucenie osobników nienależących do ZRD 2. Każdemu osobnikowi przyporządkowywanych jest p+k+2 parametrów [K,,K p, K2,,K2 k,k3] będących wynikami etapu oceny. 3. Ocena dopasowania (wg. algorytmu SPEA2) Szacowanie wartości siły osobnika Wyznaczenie surowej wartości dopasowania Szacowanie gęstości D( i) k 2 i S( i) { j j P P i j} t t R( i) jp P, ji t t S( j) Wartość dopasowania osobnika F( i) R( i) D( i) 7
ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH Selekcja P t { i i P P F( i) } Jeżeli t P t t Elementy algorytmu N, wówczas proces selekcji jest kompletny. Jeżeli P t, wówczas najlepszych osobników N N P t zdominowanych ze zbioru zewnętrznego P t oraz populacji Pt jest kopiowana do nowego zbioru zewnętrznego. Jeżeli P t N, następuje redukcja zbioru zewnętrznego poprzez usuwanie osobników. 8
Krzyżowanie W pierwszej fazie następuje wylosowanie pary osobników z puli rodzicielskiej do krzyżowania oraz punktów krzyżowania, a więc wierszy do wymiany, dla poszczególnych osobników rodzicielskich. Przykład Wylosowano następujące wiersze do przeprowadzenia krzyżowania: dla osobnika pierwszego wylosowano do krzyżowania wiersz 2, natomiast dla osobnika drugiego wiersz 4. Ch Ch 2 Ch' Ch' 2 9 ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH Elementy algorytmu
Mutacja dni polega na zamianie miejscami dwóch kolumn odpowiadających różnym dniom. Przykład Dni do mutacji: oraz 4 Kryterium zatrzymania algorytmu Wykonanie odpowiedniej liczby iteracji. WYNIK ETAPU ZBIÓR ROZWIĄZAŃ NIEZDOMINOWANYCH Ch Ch' 2 ETAP. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH Elementy algorytmu
ETAP 2. FILTRACJA ROZWIĄZAŃ Zbiór rozwiązań niezdominowanych uzyskany w pierwszym etapie posłuży do wyznaczenia rozwiązania zadania poprzez zastosowanie metody Przeglądu Wiązką Światła (Light Beam Search ) przy udziale decydenta. WYNIK ETAPU 2 ROZWIĄZANIE ZADANIA A. Jaszkiewicz, R. Słowiński 993, 995, 999. 2
Zastosowanie Portfel składający się z 4 projektów informatycznych, Projekt opisany przez zbiór 37 czynności realizowanych w 2 etapach, Zespół projektowy składa się z dwunastu członków, Projekty są na różnym etapie realizacji, Każda czynność opisana jest przez parametry: czas trwania, generowane przepływy pieniężne, wymagane zasoby, opis relacji kolejnościowych, Występują zależności pomiędzy projektami. Etap II Etap VI ZZ Etap VII Etap I Etap III Etap IV Etap V PP Etap VIII Etap IX Etap X Etap XI 23
Etapy projektu ETAP Etap I - Przygotowanie wdrożenia Definicja projektu Etap II - Projekt rozwiązania / Analiza informatyczna Etap III - Przygotowanie środowiska technicznego i aplikacyjnego Etap IV - Przygotowanie i konfiguracja aplikacji Etap V - Przygotowanie i przeprowadzenie sesji testowania funkcjonalnego wybranych procesów Etap VI - Przystosowanie aplikacji - prace programowe Etap VII - Szkolenia użytkowników Etap VIII - Przygotowanie bazy produkcyjnej ETAP IX - Eksploatacja Produktywna Etap X Wdrożenie pełnej funkcjonalności zgodnie z Analizą informatyczną Etap XI - Wdrożenie modułu Budżetowanie Etap XII - Odbiór aplikacji w zakresie uzgodnionym w Analizie 24
PP. 2. 3 2. 2 2. 3. 2 3. 6. 4. 3 4. 2 4. 5. 5. 3 5. 2 8. 7. 7. 2 7. 3 7. 4 7. 6 7. 5 7. 7 9. 7 9. 2 9. 3.. 2 2. 2. 2 2. 3. 2. 9. 4 4. 4 8. 2 8. 4 8. 3 25
26
Dziękuję za uwagę