Interaktives Graphentheorie-Lernen
Interaktives Graphentheorie-Lernen
Guest User
Using app without sign in
Graphentheorie Schritt für Schritt
20 Lektionen, 163 Min.|Englische, arabische und deutsche Untertitel
Mit einem Zertifikat, das jeder prüfen kannVorschauKapitel 1Graph Theory Foundations
Kapitel 2Exploring a Graph
Kapitel 3Shortest Paths
Kapitel 4Connecting Cheaply
Kapitel 5Hard Problems
Kapitel 6Network Flows
Wählen Sie einen Algorithmus und generieren Sie Schritte, um die Visualisierung zu beginnen
Löser für ressourcenbeschränkte Planung
Plant Projektaufgaben unter Beachtung sowohl der Vorrangbeziehungen als auch globaler Ressourcengrenzen.
Wählen Sie einen Algorithmus und generieren Sie Schritte, um die Visualisierung zu beginnen
Das ressourcenbeschränkte Projektplanungsproblem (RCPSP) plant Projektvorgänge unter Beachtung sowohl von Vorrangbeziehungen als auch begrenzter erneuerbarer Ressourcen wie Arbeitskräften, Maschinen oder Budget je Periode. Anders als CPM, das unbegrenzte Ressourcen annimmt, ist RCPSP stark NP-schwer.
Prioritätsregel-Heuristiken bauen Pläne mit dem seriellen oder parallelen Plangenerierungsschema: Vorgänge werden zum frühesten Zeitpunkt eingefügt, an dem sowohl Vorrang als auch Ressourcenverfügbarkeit gelten, geordnet nach Regeln wie meiste Gesamtnachfolger oder minimaler Puffer. Exakte Ansätze nutzen Branch and Bound mit ressourcenbasierten unteren Schranken, und Metaheuristiken, besonders genetische Algorithmen mit Aktivitätslisten-Kodierung, dominieren die PSPLIB-Benchmarks.
RCPSP steuert die Einsatzplanung von Baukolonnen und Geräten, die Sprintplanung von Softwareteams unter Personalgrenzen, die Terminierung von Wartungsstillständen in Raffinerien und die Produktionsplanung in der Auftragsfertigung. Es ist die klassische Brücke zwischen Graphalgorithmen und industriellem Operations Research.
RCPSP ist CPM plus begrenzte Ressourcen, und dieser eine Zusatz hebt es von linear auf NP-schwer. Der praktische Ansatz ist eine serielle Planungsheuristik, gesteuert von einer Prioritätsregel.
RCPSP(vorgänge, abhängigkeiten, kapazitäten):
ordnung = topologischeSortierung(vorgänge)
ordnung nach einer Prioritätsregel sortieren
// z. B. geringster Puffer oder längste Dauer zuerst
für jeden Vorgang a in der priorisierten Ordnung:
t = max(ende[p] für p Vorgänger von a)
solange eine Ressource r in
[t, t + dauer[a]) ausgelastet ist:
t = t + 1 // verschieben, bis es passt
start[a] = t; ende[a] = t + dauer[a]
Ressourcen von a für dieses Intervall belegen
Projektdauer = max(ende[a])Der Unterschied zu CPM ist, dass der Start eines Vorgangs nicht mehr allein von seinen Vorgängern bestimmt wird: er kann nach hinten rutschen, weil ein völlig unabhängiger Vorgang gerade die Maschine belegt. Das zerstört genau jene Eigenschaft, die CPM linear machte, denn die Entscheidung über einen Vorgang wirkt nun auf Vorgänge, zu denen keinerlei Abhängigkeit besteht. Deshalb reicht keine noch so ausgefeilte dynamische Programmierung über die topologische Ordnung.
Plane vier Vorgänge, die um eine einzige Ressource mit Kapazität 1 konkurrieren, und vergleiche das Ergebnis mit der CPM-Vorhersage.
Beispielgraph: Vorgänge A (3 Tage), B (2 Tage), C (4 Tage) und D (2 Tage), wobei A und B C vorausgehen und C D vorausgeht. Alle benötigen dieselbe Maschine, von der nur eine Einheit existiert.
Mit unbegrenzten Ressourcen dauert das Projekt 9 Tage, mit einer einzigen Maschine 11. Die beiden Zusatztage stammen aus keiner Abhängigkeit, sondern rein aus der Ressourcenkonkurrenz. Beachte außerdem, dass der Begriff des kritischen Pfades hier schlüpfrig wird: die den Endtermin bestimmende Kette enthält nun Bs Warten auf die Maschine, was gar keine Vorgängerbeziehung ist. Deshalb fallen CPM-Terminpläne bei knappen Ressourcen systematisch zu optimistisch aus.
Zeit: NP-schwer; serielle Heuristik O(V^2 · R) · Speicher: O(V · R)
Die serielle Planungsheuristik verarbeitet jeden der V Vorgänge einmal und muss für jeden gegebenenfalls den Startzeitpunkt vorschieben, wobei die Verfügbarkeit der R Ressourcen geprüft wird, was bei direkter Implementierung im schlechtesten Fall in der Größenordnung O(V hoch 2 mal R) liegt. Das ist schnell und skaliert auf Tausende Vorgänge. Was es nicht leistet, ist eine Optimalitätsgarantie. Exaktes RCPSP ist NP-schwer und gilt als eines der härtesten Planungsprobleme des Operations Research: Benchmarkinstanzen mit nur 60 Vorgängen blieben jahrelang ungelöst. Exaktes Branch and Bound ist je nach Struktur bis etwa 30 bis 60 Vorgänge machbar, darüber hinaus greift man zu Metaheuristiken wie genetischen Algorithmen oder Tabu-Suche.
Wähle danach, ob Ressourcen tatsächlich beschränkend wirken und ob du eine Optimalitätsgarantie brauchst.
| Alternative | Vorzuziehen, wenn | Kosten |
|---|---|---|
| CPM | Ressourcen sind reichlich vorhanden und beschränken nichts. Linear und exakt. | O(V + E) |
| Serielle Planungsheuristik | Große Instanzen. Schnell, einfach und mit guter Prioritätsregel meist wenige Prozent vom Optimum entfernt. | O(V^2 · R) |
| Exaktes Branch and Bound | Einige Dutzend Vorgänge und du brauchst den beweisbar optimalen Terminplan. | exponentiell |
| Metaheuristiken | Hunderte Vorgänge, bei denen Qualität mehr zählt als Garantie. Genetische Algorithmen, Tabu-Suche, Simulated Annealing. | unterschiedlich |
| Ressourcenglättung | Die Dauer steht fest und du willst Spitzen im Ressourceneinsatz glätten statt die Laufzeit zu minimieren. | NP-schwer |
Den ganzen Artikel lesen: Graph Theory in Project Management
Den ganzen Artikel lesen: Operations Research and Graph Theory
Verwandte Algorithmen: Methode des kritischen Pfades (CPM), PERT (Program Evaluation and Review Technique), Topologische Sortierung