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.
Przykład
Realizowany jest portfel składający się z dwóch projektów P1 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.
1 3 2 P1 Czynność Czas trwania [ES,EF] [LS,LF] Zasób k1 Zasób k2 Przepływy pieniężne 1 1 [0,1] [0,1] 2 1 -2 2 2 [1,3] [1,3] 1 3 1 3 1 [3,4] [3,4] 2 1 3 P2 Czynność Czas trwania [ES,EF] [LS,LF] Zasób k1 Zasób k2 Przepływy pieniężne 1 2 [0,2] [0,2] 1 2 -1 2 0 - - - - - 3 1 [2,3] [2,3] 1 2 2 Przykładowy haromonogram. 3
Model matematyczny - założenia
• Realizowany jest portfel projektów składający się z p=1,…,P projektów, • Każdy projekt składa się z j=1,…,J czynności,
• Horyzont planowania ograniczony jest do T, przy czym jednostka czasu
t=1,…,T, gdzie t=1 oznacza okres czasu (0,1),
• 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.
Model matematyczny - oznaczenia
• xijp - czynność j projektu p w czasie t,
• djp- czas trwania czynności j projektu p,
• Fjp - czas zakończenia czynności j projektu p,
• Sjp - czas rozpoczęcia czynności j projektu p,
• Aijp - zbiór bezpośrednich poprzedników i czynności j projektu p,
• Fijp - czas zakończenia poprzednika i czynności j projektu p,
• Sijp - czas rozpoczęcia poprzednika i czynności j projektu p,
• k=1,…,K- zbiór zasobów odnawialnych,
• rjpk - wielkość zasobu odnawialnego k wymaganego przez czynność j
projektu p,
• Rkt – dostępność zasobu odnawialnego k w czasie t,
• LFjp – najpóźniejszy czas zakończenia czynności j projektu p wyznaczony
metodą ścieżki krytycznej,
• - stopa dyskontowa,
• cfjp – przepływy pieniężne netto generowane przez czynność j projektu p,
• Mp – zbiór czynności j projektu p, będących kamieniami milowymi projektu
Model matematyczny – przykład
Ograniczenia
p=2
j=3
t=5
Liczba zmiennych decyzyjnych wynosi j
p
t=2
3
5=30
X={x
1,1,1, x
2,1,1, x
3,1,1, x
1,1,2, x
2,1,2, x
3,1,2, x
1,1,3, x
2,1,3, x
3,1,3, x
1,1,4,
x
2,1,4, x
3,1,4, x
1,1,5, x
2,1,5, x
3,1,5, x
1,2,1, x
2,2,1, x
3,2,1, x
1,2,2, x
2,2,2, x
3,2,2,
x
1,2,3, x
2,2,3, x
3,2,3, x
1,2,4, x
2,2,4, x
3,2,4, x
1,2,5, x
2,2,5, x
3,2,5}
(1)
x
jpt
{
0
,
1
}
( j=1,…,J, p=1,…,P, t=1,…,T)Model matematyczny – przykład
Ograniczenia
x1,1,1=0, x1,1,2=1, x1,1,3=0, x1,1,4=0, x1,1,5=0, x2,1,1=0, x2,1,2=0, x2,1,3=1, x2,1,4=1, x2,1,5=0, x3,1,1=0, x3,1,2=0, x3,1,3=0, x3,1,4=0, x3,1,5=1, x1,2,1=1, x1,2,2=1, x1,2,3=0, x1,2,4=0, x1,2,5=0, x2,2,1=0, x2,2,2=0, x2,2,3=0, x2,2,4=0, x2,2,5=0, x3,2,1=0, x3,2,2=0, x3,2,3=1, x3,2,4=0, x3,2,5=0. (2) ( j=1,…,J, p=1,…,P, t=1,…,T)
0
1
jptx
gdy czynność j projektu p trwa w okresie tw przeciwnym wypadku
Model matematyczny – przykład
Ograniczenia
Czasy trwania d
jpposzczególnych czynności są następujące: d
1,1=1,
d
2,1=2, d
3,1=1, d
1,2=2, d
2,2=0, d
3,2=1. Horyzont planowani t=5.
Dla j=1 oraz p=1
x
1,1,1+x
1,1,2+x
1,1,3+x
1,1,4+x
1,1,5=d
1,1
0+1+0+0+0=1.
Dla j=1 oraz p=2
x
1,2,1+x
1,2,2+x
1,2,3+x
1,2,4+x
1,2,5=d
1,2
1+1+0+0+0=2
(3) jp ( j=1,…,J, p=1,…,P, t=1,…,T) T t jpt J j p
x d 1 ,..., 1 1 1 , 1 5 1 , 1 , 1 d x t t
2 , 1 5 1 , 2 , 1 d x t t
8Model matematyczny – przykład
Ograniczenia
Dla j=1 oraz p=1
F
1,1= max {x
1,1,1
1, x
1,1,2
2, x
1,1,3
3, x
1,1,4
4, x
1,1,5
5} =
max{0
1, 1
2, 0
3, 0
4, 0
5}=2
S
1,1= min{x
1,1,2
2}-1
= min{1
2}-1=1
(4)max{
1,..,(
jpt)}
( j=1,…,J, p=1,…,P, t=1,…,T) T t jpt
x
F
(4`)min{
(
)}
( j=1,…,J, p=1,…,P, t=1,…,T)1
,.., 1 0
jp t T jpt xjptS
t
x
9Model matematyczny – przykład
Ograniczenia
(5`) Sjp ≥ Fijp zakończenie-początek ( j=1,…,J, p=1,…,P, i AI jp) ) (5``) Sjp ≥ Sijp początek-początek ( j=1,…,J, p=1,…,P, i AII jp)(5```) Fjp ≥ Sijp początek-zakończenie ( j=1,…,J, p=1,…,P, i AIII jp)
(5````) Fjp ≥ Fijp zakończenie-zakończenie ( j=1,…,J, p=1,…,P, i AIVjp)
Dla j=3 raz p=1, A
Ijp
={1, 2}
Relacje kolejnościowe typu :zakończenie – początek
(5`)
S
3,1≥ F
1,1^ S
3,1≥ F
2,1F
1,1=2, F
2,1=4, S
3,1=4.
Model matematyczny – przykład
Ograniczenia
dostępność zasobów k=1 oraz k=2 jest ograniczona w każdej jednostce
czasu do 3 jednostek
R
1t=3 oraz R
2t=3.
Dla k=1 oraz t=1.
(r1,1,1 x1,1,1+ r2,1,1 x2,1,1+ r3,1,1 x3,1,1+ r1,2,1 x1,2,1+ r2,2,1 x2,2,1+ r3,2,1 x3,2,1) ≤R1,1
20+11+20+11+00+10≤3 1≤3
Ograniczenie dostępności zasobu pierwszego k=1 w pierwszej jednostce czasu
t=1 zostało spełnione. (6)
( j=1,…,J, p=1,…,P, t=1,…,T)
P p kt jpt J j jpk T t K kr
x
R
1 1 ,..., 1 ,..., 1(
)
2 1 1 , 1 1 3 1 1 ) ( p jp j jp x R r 11Model matematyczny - przykład
Funkcje kryterium
F1,1=2 F1,2=2 LF1,1=1 LF1,2=2 F2,1=4 F2,2=0 LF2,1=3 LF2,2=0 F3,1=5 F3,2=3 LF3,1=4 LF3,2=3 Dla projektu p=1:[max{0, F1,1- LF1,1}+ max{0, F2,1- LF2,1}+max{0, F3,1- LF3,1}]- [max{0, F1,1- LF1,1}+ max{0, F2,1- LF2,1}]min
[max{0, 2- 1}+ max{0, 4- 3}+max{0, 5- 4}]-[max{0, 2- 1}+ max{0, 41- 3}]min (K1’)=1
Dla projektu p=2:
[max{0, F1,2- LF1,2}+max{0, F2,2- LF2,2}]-[max{0, F1,2- LF1,2}]min [max{0, 2- 2}+max{0, 3- 3}]-[max{0, F1,2- LF1,2}]min (K1’’)=0
(K1) (j=1,…,J, i=1,…,I, p=1,…,P, t=1,…,T, jMp, iMp^[i AI jp˅ i AIIjp ˅ i AIIIjp˅ i AIVjp]) 12
min
}
,
0
max{
}
,
0
max{
1 1 ,..., 1
ip I i ip jp J j jp P pF
LF
F
LF
Model matematyczny - przykład
Funkcje kryterium
Dla zasobu k=1. max{ r1,1,1 x1,1,1+ r2,1,1 x2,1,1+ r3,1,1 x3,1,1+ r1,2,1 x1,2,1+ r2,2,1 x2,2,1+ r3,2,1 x3,2,1, r1,1,1 x1,1,2+ r2,1,1 x2,1,2+ r3,1,1 x3,1,2+ r1,2,1 x1,2,2+ r2,2,1 x2,2,2+ r3,2,1 x3,2,2, r1,1,1 x1,1,3+ r2,1,1 x2,1,3+ r3,1,1 x3,1,3+ r1,2,1 x1,2,3+ r2,2,1 x2,2,3+ r3,2,1 x3,2,3, r1,1,1 x1,1,4+ r2,1,1 x2,1,4+ r3,1,1 x3,1,4+ r1,2,1 x1,2,4+ r2,2,1 x2,2,4+ r3,2,1 x3,2,4, r1,1,1 x1,1,5+ r2,1,1 x2,1,5+ r3,1,1 x3,1,5+ r1,2,1 x1,2,5+ r2,2,1 x2,2,5+ r3,2,1 x3,2,5}min max{1, 3, 2, 1, 2}min (K2’)=3 (K2) ( j=1,…,J, p=1,…,P, t=1,…,T, k=1,…,K)
P p jpt J j jpk T t K kr
x
1 1 ,..., 1 ,..., 1max
[
]
min
13Model matematyczny - przykład
Funkcje kryterium
=5%
(K3)=2,16
(K3) ( j=1,…,J, p=1,…,P, t=1,…,T) 14
P p J j F jp jp e cf 1 1 max max
)
(
)
(
)
(
)
(
)
(
2 , 2 2 , 1 1 , 3 1 , 2 1 , 1 05 , 0 2 , 2 05 , 0 2 , 1 05 , 0 1 , 3 05 , 0 1 , 2 05 , 0 1 , 1
F F F F Fe
cf
e
cf
e
cf
e
cf
e
cf
Algorytm
ETAP 1. IDENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCH –
ALGORYTM SPEA2
Krok1: 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.
ETAP 2. FILTRACJA ROZWIĄZAŃ
METODA LBS
Populacja P(t) Zbiór rozwiązań niezdominowanych
Selekcja
Selekcja rozwiązań niezdominowanych
Zewnętrzny zbiór zawierający rozwiązania niezdominowane Zredukowany zbiór zewnętrzny
Populacja P(t+1) Zaktualizowany zbiór rozwiązań niezdominowanych Krzyżowanie i mutacja Pokolenie t Pokolenie t+1 15
E
TAP1. I
DENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCHElementy algorytmu
Kodowanie rozwiązania
Chromosom jest macierzą binarną o rozmiarze jp
t. Wiersze
chromosomu reprezentują poszczególne czynności wszystkich
projektów w portfelu jp, natomiast kolumny reprezentują jednostki
czasu t.
Populacja początkowa
Zbiór N rozwiązań generowanych w sposób losowy.
jpt jp jp t t i x x x x x x x x x Ch ... 2 , 1 , , 1 , 2 2 , 1 , 2 1 , 1 , 2 , 1 , 1 2 , 1 , 1 1 , 1 , 1 Przykład p=2, j=3, t=5 Chromosom jest macierzą o rozmiarze [6x5] 16 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 Ch
E
TAP1. I
DENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCHElementy algorytmu
Ocena rozwiązań
1. Sprawdzanie „dopuszczalności” osobnika – odrzucenie osobników
nienależących do ZRD
2. Każdemu osobnikowi przyporządkowywanych jest p+k+2
parametrów [K1
1,…,K1
p, K2
1,…,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
Wartość dopasowania osobnika
| } | { | ) (i j j P P i j S t t
i j P P j t t j S i R , ) ( ) ( 2 1 ) ( k i i D ) ( ) ( ) (i R i D i F 17Selekcja
• Jeżeli , wówczas proces selekcji jest kompletny.
• Jeżeli , wówczas najlepszych osobników
zdominowanych ze zbioru zewnętrznego oraz populacji jest
kopiowana do nowego zbioru zewnętrznego.
• Jeżeli , następuje redukcja zbioru zewnętrznego poprzez
usuwanie osobników.
} 1 ) ( | { 1 i i P P F i Pt t t N Pt | | 1 N Pt | | 1 N | Pt1 | t P Pt N Pt | | 1 18E
TAP1. I
DENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCHKrzyż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.
0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 Ch 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 2 Ch 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 '1 Ch 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 '2 Ch 19E
TAP1. I
DENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCHMutacja dni
polega na zamianie miejscami dwóch kolumn odpowiadających różnym
dniom.
Przykład
Dni do mutacji: 1 oraz 4
Kryterium zatrzymania algorytmu
Wykonanie odpowiedniej liczby iteracji.
WYNIK ETAPU 1
Z
BIÓR ROZWIĄZAŃ NIEZDOMINOWANYCH 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 Ch 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 '1 Ch 20
E
TAP1. I
DENTYFIKACJA ZBIORU ROZWIĄZAŃ NIEZDOMINOWANYCHE
TAP
2. F
ILTRACJA
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
1) przy udziale
decydenta.
WYNIK ETAPU 2 ROZWIĄZANIE ZADANIA
1 A. Jaszkiewicz, R. Słowiński 1993, 1995, 1999.
Zastosowanie
• Portfel składający się z 4 projektów informatycznych,
• Projekt opisany przez zbiór 37 czynności realizowanych w 12 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 I Etap II Etap III Etap VI Etap IV Etap VII Etap IX Etap X Etap XI Etap VIII Etap V PP ZZ 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
PP 1. 1 2. 3 2. 2 2. 1 3. 2 3. 1 6. 1 4. 3 4. 2 4. 1 5. 1 5.3 5. 2 8. 1 7. 1 7. 2 7. 3 7. 4 7. 6 7. 5 7. 7 9. 1 7 9. 2 9. 3 10. 1 10. 2 12. 1 12. 2 12. 3 1. 2 11. 1 9. 4 4. 4 8. 2 8. 4 8. 3 25