Algorytmy decyzyjne i teoria złożoności

advertisement
Szeregowanie sieciowe
Co to jest przedsięwzięcie?
Projekt (przedsięwzięcie) to zbiór powiązanych ze sobą
kroków prowadzących do osiągnięcia konkretnego celu.
Projekt realizowany jest jednorazowo.
Cel projektu wyznacza zakres działań jakie należy
podjąć.
Przedsięwzięcia - przykłady
- napisanie programu/aplikacji
- rozbudowa systemu informatycznego
- wdrożenie systemu informatycznego
- akcja marketingowa nowego produktu
- opracowanie nowego produktu
- reorganizacja firmy
- budowa domu, hotelu, mostu, ....
- przygotowanie wycieczki szkolnej
- reorganizacja biblioteki
- organizacja pracowni komputerowej
Przedsięwzięcie (projekt)
Dane są:
- zbiór zadań (czynności) z określonymi czasami trwania
- ograniczenia kolejnościowe (relacja częściowego porządku)
Cel: Minimalizacja czasu potrzebnego do ukończenia
przedsięwzięcia.
Zadania wykonywane są przy użyciu różnych zasobów (ludzi,
sprzętu, narzędzi, materiałów).
Ze względu na sposób reprezentacji przedsięwzięcia stosuje się
określenie szeregowanie sieciowe.
Reprezentacja projektu
Dwie podstawowe metody reprezentacji
przedsięwzięcia (projektu):
1) Sieć czynności (czynność-w-węźle)
- czynności (zadania) przyporządkowane są węzłom
- ograniczenia kolejnościowe mają postać łuków
2) Sieć zdarzeń (czynność-na-łuku)
- węzły sieci reprezentują zdarzenia
- czynności przypisane są łukom
- przy budowaniu sieci zachowane są ograniczenia
kolejnościowe
Przykład przedsięwzięcia
Zainstalowanie fontanny ogrodowej
a
b
c
d
e
f
g
Zakup i przywiezienie fontanny
Przygotowanie miejsca pod fontannę
Przygotowanie wody z dodatkami chemicznymi
Zamontowanie fontanny
Podłączenie prądu do fontanny
Napełnienie i uruchomienie fontanny
Zaprogramowanie fontanny
Przykład przedsięwzięcia
Tabela z danymi:
Czynność
Bezpośrednie
poprzedniki
Czas trwania
a
b
c
d
e
f
g
a
a, b
c, d, e
d, e
5
3
3
4
5
3
4
Przykład przedsięwzięcia
Sieć czynności - tabela
Czynność

a
b
c
d
e
f
g

Bezpośrednie Bezpośrednie
Wszystkie następniki
poprzedniki
następniki


a
a, b

c, d, e
d, e
g,h
a, b, e
c, d
d
f
f, g
f, g


-
a, b, c, d, e, f, g, 
c, d, f, g, 
d, f, g, 
f, 
f, g, 
f, g, 


-
Sieć czynności
a
c
f
d


b
g
e
Transformacja sieci czynności do sieci zdarzeń
Węzły reprezentują zdarzenia, momenty w których
rozpoczynają się i kończą się czynności.
Czynności przyporządkowujemy izolowanym łukom.
Topologia sieci odwzorowuje ograniczenia
kolejnościowe. W razie potrzeby wprowadzamy
czynności pozorne.
Węzły (reprezentujące zdarzenia) ponumerowane są w
porządku topologicznym od 1 do n.
Sieć zdarzeń ma mniej węzłów i łuków niż sieć
czynności.
Sieć zdarzeń
2
c
5
f
a
1
x
y
b
g
d
3
e
6
4
Metoda ścieżki krytycznej
Zaplanowanie przedsięwzięcia polega na
stworzeniu harmonogramu.
W tym celu stosuje się tzw. metodę ścieżki
krytycznej, minimalizującą całkowity czas potrzebny do
ukończenia przedsięwzięcia.
Najkrótszy czas trwania przedsięwzięcia jest
równy długości najdłuższej drogi prowadzącej z węzła
początkowego do węzła końcowego.
Zadania leżące na ścieżce krytycznej to zadania
krytyczne.
Metody przedstawienia harmonogramu
przedsięwzięcia
Metoda amerykańska
- wykorzystuje sieć zdarzeń
Metoda francuska (potencjałów)
- wykorzystuje sieć czynności
Wykres Gantta
Analiza czasowa sieci
W wyniku przeprowadzenia analizy określa się:
- najwcześniejsze możliwe terminy
rozpoczęcia czynności/zdarzeń
- najpóźniejsze możliwe terminy rozpoczęcia
- rezerwy czasowe zdarzeń
- luzy czasowe czynności (pełny, bezpieczny,
swobodny, niezależny)
Luzy czasowe dla zadań krytycznych wynoszą 0.
Najważniejsze pojęcia
Przedsięwzięcie
Zasób (odnawialny, nieodnawialny)
Poprzednik
Wykres Gantta
Ścieżka krytyczna
Zadanie krytyczne
Zapas czasowy zadania
Microsoft Project
Etapy pracy z MS Project:
1. Zaplanowanie przedsięwzięcia (stworzenie
harmonogramu).
2. Wspomaganie zarządzania przedsięwzięciem w
trakcie jego realizacji.
Budowanie harmonogramu
A) Wprowadzenie podstawowych danych:
- zdefiniowanie poszczególnych zadań i określenie ich
czasów trwania
- określenie ograniczeń kolejnościowych
- zdefiniowanie i przydzielenie zasobów niezbędnych
do wykonania zadań
B) Dostosowanie czasu pracy (kalendarzy)
C) Identyfikacja i rozwiązywanie ewentualnych
konfliktów zasobowych (sytuacji, w których zasób ma
przydzielone więcej niż 1 zadanie w tym samym czasie)
Wyrównywanie zasobów
Funkcja wyrównywania/bilansowania zasobów
(Resource Leveling) polega na przesuwaniu (na inne
terminy) zadań, przy których nastąpił konflikt zasobowy.
Zadanie A
Zadanie BZadanie B
czas
Download