Artykuły
- Statystyka kłamie
- Metoda simpleks w matematycznym programowaniu liniowym
- Programowanie sieciowe
- Aktualizacja asynchroniczna w sieci Hopfielda
- Systemy hexadecymalny i binarny - ściągawka
- Programowanie układów bazujących na procesorze o architekturze 8080
- Transmisja szeregowa w układzie 8251
- Programowanie sterownika przerwań 8259
- Materiały różne
Programowanie sieciowe
Programowanie sieciowe to przedstawienie problemu w postaci grafu, a następnie analizowanie takiego grafu przy zastosowaniu teorii grafów.Programowanie sieciowe wykorzystywane jest przy planowaniu, harmonogramowaniu i kontroli realizacji przedsięwzięć (metody CPM i PERT, diagram Gantta). Programowanie sieciowe pomaga w identyfikacji odstępstw od planu i ich skutków, modyfikacjach harmonogramu.
Żródło: https://pl.wikipedia.org/wiki/Programowanie_sieciowe
Weźmy przykładowy graf:
Pierwszą czynnością, jaką powinniśmy wykonać jest ponumerowanie wierzchołków. Robimy to zaczynając od wierzchołków, które nie posiadają łuków wchodzących. Numerujemy je w dowolnej kolejności, po czym zapominamy o nich oraz o łukach wychodzących z nich. W kolejnych iteracjach powtarzamy numerowanie do czasu gdy ponumerujemy już wszystkie wierzchołki. Proces numerowania przedstawia poniższa grafika (wierzchołkami i łukami po lewej stronie od czerwonej linii się nie zajmujemy):



Obliczanie najpóźniejszych momentów wystąpienia zdarzeń.
Najpóźniejszy moment wystąpienia zdarzenia to najpóźniejszy moment, w którym może zakończyć się zdarzenie przy założeniu, że całkowity czas projektu nie ulegnie zmianie. Liczy się go w zasadzie odwrotnie do tego jak się liczy najwcześniejszy moment wystąpienia zdarzenia. Przechodzimy przez wszystkie wierzchołki od ostatniego do pierwszego i poszukujemy minimalnej różnicy wartości w danym wierzchołku i łuków wchodzących do niego.Aha, pierwsza wartość (przy wierzchołku końcowym) tego parametru jest zawsze równa czasowi wykonania całego projektu.
Wartości dla naszego przykładowego grafu przedstawia poniższa grafika:

Pozostaje jeszcze obliczenie zapasów całkowitych czynności czyli czasu, o jaki można wydłużyć daną czynność, aby cały projekt się nie wydłużył. Nie chce mi się rysować graficzek, więc podam na szybcika, że dla każdego łuku (tak, tym razem liczymy wartości dla łuków) bierzemy pomarańczową wartość przy wyjściu z łuku i od niej odejmujemy wartość na łuku oraz zieloną wartość przy wejściu łuku. Przykładowo dła łuku między wierzchołkami 2 i 4 szukana wartość to 6 - 2 - 2 = 2, zatem zapas dla tej czynności wynosi 2. Możecie zatem podczas tej czynności opierdzielać się przez 2 jednostki czasu i nie wpłynie to na długość wykonania całego projektu.
Łuki z zerowym zapasem leżą na ścieżce krytycznej i nie wolno ich wydłużać, jeśli nie chcemy wydłużyć czasu wykonania całego projektu.
PS: Nie, nie dam wam namiarów na mojego dilera.