szeregowanie zadań, czyli harmonogram inaczej

0

Mając np. 100 zadań do realizacji, układamy jakąś tam sieć współzależności tych zadań, np. tak:
Start -> A -> B -> C -----> Z = koniec.
Start -> D -> E -> F-----> Z
Start -> P -> Q -> R -> S ... -> Z

widać że to jest taki prymitywny graf, bo taki bez cykli.

Pytanie:
Ile danych tu potrzeba do zapisania współzależności pomiędzy elementami/zadaniami?

Zgaduję:
chyba zaledwie n = liczba zadań tu wystarczy, bo pełny graf ma niemal n^2 takich relacji: każdy z każdym.

Po tym zajmiemy się wyliczeniami tego typu sieci: ścieżka krytyczna - minimalny czas realizacji, optymalny, średni - statystyczny, itd.
w zależności od stanu - doświadczenia i kondycji załogi, warunków pracy, wysokości płac, itp.

weźmy np. coś takiego:
title

mamy tu 7 zadań: A, B, ... G,
a tych relacji - linii pomiędzy nimi: 6, tylko (tych od start i do end nie liczymy, bo to nie ma znaczenia).

0

Sam sobie odpwiedziałeś. Możesz zapisać sobie tylko krawędzie / listy sąsiedztwa. Ale wszystko ma swoją cenę - pewne operacje na grafie w takiej reprezentacji będą bardziej kosztowne, więc może być tak, że lepiej trzymać sobie graf VxV albo VxE i kosztem zwiększonego użycia pamięci mieć niższą złożoność obliczeniową dla pewnych operacji.
Kluczowe jest:

  • jaki rozmiar danych bierzesz pod uwagę (dla harmonogramowania pracy mówimy tu może o setkach czy tysiacach węzłów, więc pamięć jest pomijalnie mała)
  • co chcesz z tym grafem robić

1 użytkowników online, w tym zalogowanych: 0, gości: 1