348 Zarządzanie projektami
Rysunek 7.22 Rysunek 7.23
Możemy dążyć do minimalizacji kosztu realizacji przedsięwzięcia przy zadanym nieprzekraczalnym czasie jego trwania, zwanym czasem dyrektywnym. Zagadnienie to sprowadza się do sformułowania i rozwiązania odpowiedniego zadania programowania liniowego. Zadanie to utworzymy dla projektu opisanego w przykładzie 7.4.
Oznaczymy przez x, (z = 1.....6) momenty zaistnienia zdarzeń 1-6, natomiast
przez yA, yH — czasy przyspieszenia realizacji czynności A, ..., H. Chcąc
obliczyć koszt przyspieszenia realizacji przedsięwzięcia, odpowiadający zadanemu czasowń dyrektywnemu, tworzymy funkcję:
którą minimalizujemy. Dla czynności oraz zdarzeń tworzących projekt zachodzą ponadto następujące zależności:
1. Moment zaistnienia zdarzenia i (czyli X,) musi być równy lub większy od momentu zakończenia czynności określających to zdarzenie.
2. Czas rozpoczęcia dowolnej czynności jest równy momentowi zaistnienia zdarzenia określającego rozpoczęcie tej czynności.
3. Czas realizacji czynności jest równy czasowi normalnemu pomniejszonemu o czas przyspieszenia.
Stosując powyższe zasady, możemy dla zadania z przykładu 7.4 zapisać:
• dla zdarzenia 1:
• dla zdarzenia 2:
1 <o A\ |
}'a + |
(7.1) | |
moment czas normalny |
przyspieszenie |
moment | |
zaistnienia realizacji |
czynności A |
rozpoczęcia | |
zdarzenia 2 czynności >1 |
czynności A | ||
• dla zdarzenia 3: | |||
X)^7-yn+x„ |
(7.2) | ||
• dla zdarzenia 4: | |||
x4 ^ 6—yc+x2, |
(7.3) | ||
• dla zdarzenia 5: | |||
*5 8->'/> +*2. |
(7.4) | ||
Xi>?>-y,; + X3, |
(7.5) | ||
xs>4-yh-+x4. |
(7.6) | ||
• dla zdarzenia 6: | |||
x6>2-y6+Jc4, |
(7.7) | ||
x6>5 -y„ + xs. |
(7.8) |
Możliwości przyspieszenia są ograniczone, co zapisujemy w postaci następującego układu warunków:
0«Syfi*S3, 0*Sy,sS 1,
0<yc<2, 0«.ycsSl,
0 3, 0<y„s$2.
Przypuśćmy, że chcemy realizować projekt w czasie nie dłuższym niż 15 jednostek. Oznacza to, że moment zaistnienia zdarzenia 6, określający czas realizacji całego projektu, nie może przekraczać wartości 15. Otrzymujemy dodatkowe ograniczenie w postaci:
*6 < 15,
ponadto £, =0 oraz wartości zmiennych x2, x}, x4, xs i x6 muszą być nieujemne.
Sformułowaliśmy zatem zadanie programowania liniowego, które po dokonaniu prostych przekształceń można zapisać następująco: