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

Podobne dokumenty