134 46 3MB
English Pages 349 [357] Year 2010
Springer-Lehrbuch
Weitere Bände siehe www.springer.com/series/1183
Jürgen Zimmermann Christoph Stark Julia Rieck
Projektplanung Modelle, Methoden, Management
Zweite, überarbeitete und erweiterte Auflage Mit 204 Abbildungen und 95 Tabellen
1C
Prof. Dr. Jürgen Zimmermann Dr. Christoph Stark Dr. Julia Rieck Technische Universität Clausthal Institut für Wirtschaftswissenschaft Julius-Albert-Str. 2 38678 Clausthal-Zellerfeld [email protected] [email protected] [email protected]
ISSN 0937-7433 ISBN 978-3-642-11878-4 e-ISBN 978-3-642-11879-1 DOI 10.1007/978-3-642-11879-1 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © Springer-Verlag Berlin Heidelberg 2006, 2010 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Einbandentwurf: WMXDesign GmbH, Heidelberg Gedruckt auf säurefreiem Papier Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)
Vorwort
Unser im Jahre 2006 erstmals erschienenes Lehrbuch wurde erfreulich gut angenommen. Die Grundkonzeption und die bew¨ahrte Darstellung blieben daher unver¨ andert, wir haben lediglich einige Korrekturen und Anpassungen zur besseren Verst¨ andlichkeit vorgenommen. Ferner wurde Kapitel 1 um einige Ausf¨ uhrungen zur Projektkonzeption bzw. -spezifikation erg¨anzt und in Kapitel 4 die skizzenhafte Darstellung f¨ ur das Verfahren zur Kostenplanung unter allgemeinen Zeitbeziehungen konkretisiert. Zudem haben wir eine Fallstudie zum Time-Cost-Tradeoff-Problem eingef¨ ugt, um das Kapitel zur Kostenplanung transparenter und damit lebendiger werden zu lassen. F¨ ur eine Reihe wertvoller Verbesserungsvorschl¨age danken wir Herrn Dr. Jan-Hendrik Bartels, Herrn Prof. Dr. Stefan Dempe, Herrn Dipl.-Wirt.-Ing. Carsten Ehrenberg, Herrn Dipl.-Wirt.-Inf. Thorsten Gather, Herrn Prof. Dr. Martin Josef Geiger, Herrn Dipl.-Math. Claas Hemig, Frau Prof. Dr. Sigrid Knust, Herrn Prof. Dr. Rainer Kolisch, Herrn Dipl.-Wirt.-Ing. Marco Schulze, Herrn Prof. Dr. Christoph Schwindt, Herrn Dipl.-Wirt.-Ing. Mathias Walter sowie den Teilnehmern der Vorlesungen Projektmanagement und Projektplanung der Technischen Universit¨ at Clausthal. Clausthal-Zellerfeld, Dezember 2009 dummy
J¨ urgen Zimmermann Christoph Stark Julia Rieck
Vorwort zur ersten Auflage Das vorliegende Lehrbuch ist aus Vorlesungen zum Projektmanagement und zur Projektplanung f¨ ur Studierende der Betriebswirtschaftslehre, des Wirtschaftsingenieurwesens sowie der Wirtschaftsinformatik und -mathematik an der Technischen Universit¨ at Clausthal sowie der Universit¨at Karlsruhe (TH) entstanden.
VI
Vorwort
Seit Jahrzehnten spielen das Projektmanagement und die Projektplanung eine wichtige Rolle bei der Aufgabenabwicklung in Wirtschaft und Verwaltung. Unter einem Projekt versteht man dabei ein einmaliges Vorhaben, das in Teilprojekte und Vorg¨ ange zerlegt werden kann. Zwischen den Vorg¨ angen eines Projektes sind Zeitbeziehungen gegeben, die die Reihenfolge, in der die Vorg¨ ange ausgef¨ uhrt werden, spezifizieren. F¨ ur die Ausf¨ uhrung eines Vorgangs werden im Allgemeinen Zeit und Ressourcen ben¨otigt, und die Durchf¨ uhrung eines Projektes ist daher i.d.R. mit Kosten verbunden. Als Projektmanagement bezeichnet man die Gesamtheit aller Planungs-, Steuerungs-, ¨ Koordinierungs- und Uberwachungsaufgaben zur sach-, termin- und kostengerechten Realisierung von Projekten. Besondere Bedeutung kommt hierbei der Projektplanung zu, deren Aufgabe es ist, allen Vorg¨angen eines Projektes einen Startzeitpunkt zuzuweisen, so dass die Zeitbeziehungen zwischen den Vorg¨ angen eingehalten und knappe Ressourcenkapazit¨aten nicht u ¨ berschritten werden. Dabei verfolgt ein Projektverantwortlicher ein bestimmtes Ziel, wie z.B. die Minimierung der Projektdauer, die Maximierung des aus der Projektdurchf¨ uhrung resultierenden Kapitalwertes oder die gleichm¨aßige Auslastung der zugrunde liegenden Ressourcen. Schon seit den 50er Jahren existieren zahlreiche Modelle und Methoden, die einen Entscheidungstr¨ ager bei der Projektplanung unterst¨ utzen. Auf dem Gebiet der Projektplanung unter Zeit- und Ressourcenrestriktionen wurden in den vergangenen 15 Jahren jedoch enorme Fortschritte gemacht, die die effiziente Planung großer, praxisrelevanter Projekte erm¨oglichen. Die Ergebnisse dieser Forschungsbem¨ uhungen wurden in Form zahlreicher Fachb¨ ucher und Artikel publiziert, die sich aber vor allem an ein Fachpublikum wenden und in f¨ ur Studierende und Praktiker geeigneten Lehrb¨ uchern so gut wie nicht aufgegriffen wurden. Genau diese L¨ ucke wollen wir mit dem vorliegenden Buch schließen. Unser Ziel war es, ein einf¨ uhrendes Lehrbuch zu schreiben, das sich an mathematisch vorgebildete, die Projektplanung betreffend aber unbedarfte Leser ¨ wendet und einen fundierten Uberblick u ¨ber die wichtigsten aktuellen Modelle und Methoden der Projektplanung gibt. Im Vordergrund steht nicht die Darstellung der neuesten Forschungsergebnisse, sondern eine didaktisch g¨ unstige Aufbereitung grundlegender und aktueller quantitativer Modelle und Methoden. Wichtig war uns ferner, dass der behandelte Stoff auch in einer f¨ ur das Selbststudium geeigneten Form dargestellt wird, so dass zahlreiche Beispiele und Abbildungen die mathematischen und algorithmischen Beschreibungen erg¨ anzen. F¨ ur die kritische Durchsicht des Manuskripts und zahlreiche Verbesserungsvorschl¨ age sind wir insbesondere Herrn Prof. Dr. Klaus Neumann, Herrn Dipl.-Math. Claas Hemig, Herrn Dipl.-Wirt.-Ing. Jan-Hendrik Bartels und Frau Dipl.-Math. Andrea Zimmermann zu Dank verpflichtet. Herrn Prof. Dr. Christoph Schwindt danken wir f¨ ur viele inhaltliche Anregungen und fruchtbare Diskussionen. F¨ ur seine wertvolle Unterst¨ utzung bei der Vorbereitung des 5. Kapitels danken wir ferner Herrn cand. Inf. Gernot Kuhns. Fehler,
Vorwort
VII
die das vorliegende Buch trotz der umfangreichen Unterst¨ utzung, die wir erfahren durften, noch enth¨ alt, haben allerdings ausschließlich die Autoren zu verantworten. Unserer besonderer Dank gilt ferner den Mitarbeitern des Springer Verlages, insbesondere Herrn Dr. Werner M¨ uller f¨ ur die Aufnahme dieses Buches in die Reihe der Springer-Lehrb¨ ucher und Frau Ruth Milewski sowie Herrn Frank Holzwarth f¨ ur ihre tatkr¨ aftige Unterst¨ utzung bei der Gestaltung des Manuskripts und der Erzeugung einer ansprechenden Druckvorlage. Lautenthal, August 2005 dummy
J¨ urgen Zimmermann Christoph Stark Julia Rieck
Inhaltsverzeichnis
Symbolverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .XIII 1
Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Grundlagen des Projektmanagements . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Begriffe und Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Phasenmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Projektkonzeption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.1 Projektauftrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.2 Machbarkeitsstudie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.3 Aufwandssch¨ atzung und Wirtschaftlichkeitsanalyse . . . . 15 1.2.4 Risikoanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.5 Projektselektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.3 Projektspezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.3.1 Aufbauorganisation von Projekten . . . . . . . . . . . . . . . . . . . 33 1.3.2 Ablauforganisation von Projekten . . . . . . . . . . . . . . . . . . . 36 1.3.3 Projektziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.4 Projektplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.4.1 Strukturanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.4.2 Zeit-, Ressourcen- und Kostenanalyse . . . . . . . . . . . . . . . . 50 1.4.3 Metra-Potential-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 1.4.4 Weitere Netzplantechniken . . . . . . . . . . . . . . . . . . . . . . . . . . 77 1.4.5 Terminierung der Vorg¨ ange . . . . . . . . . . . . . . . . . . . . . . . . . 110 1.5 Projektrealisation und -abschluss . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1.5.1 Projekt¨ uberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1.5.2 Projektr¨ uckschau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
2
Projektplanung unter Zeitrestriktionen . . . . . . . . . . . . . . . . . . . . 121 2.1 Problemformulierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2.1.1 Zielfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 2.1.2 Lineare Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 2.1.3 Zeitindexbasierte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . 135
X
Inhaltsverzeichnis
2.1.4 Zeitzul¨ assiger Bereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 2.1.5 Zielfunktionen und ausgezeichnete Punkte . . . . . . . . . . . . 144 2.2 Exakte L¨ osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 2.2.1 Minimierung der Projektdauer . . . . . . . . . . . . . . . . . . . . . . 152 2.2.2 Minimierung der Summe gewichteter Startzeitpunkte . . 153 2.2.3 Maximierung des Kapitalwertes . . . . . . . . . . . . . . . . . . . . . 159 2.2.4 Ressourceninvestment-, Ressourcenabweichungs- und Ressourcennivellierungsprobleme . . . . . . . . . . . . . . . . . . . . 169 2.3 Heuristisches L¨ osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 2.4 Kundenauftragsfertigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 3
Projektplanung unter Zeit- und Ressourcenrestriktionen . . . 205 3.1 Problemformulierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 3.1.1 Zeitindexbasierte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . 209 3.1.2 Zul¨ assiger Bereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 3.1.3 Zielfunktionen und ausgezeichnete Punkte . . . . . . . . . . . . 214 3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 3.2.1 Relaxationsbasiertes Enumerationsschema . . . . . . . . . . . . 217 3.2.2 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 3.2.3 Untere Schranken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 3.2.4 Auslotregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 3.2.5 Branch-and-Bound-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 241 3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen . . . . . . . . . . 246 3.3.1 Relaxationsbasierter Enumerationsansatz . . . . . . . . . . . . . 247 3.3.2 Ger¨ ustbasierter Enumerationsansatz . . . . . . . . . . . . . . . . . 251 3.4 Heuristische L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 3.5 Heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen . . . . . 265 3.6 Fabrikabholung von Neuwagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
4
Kostenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 4.1 Problemformulierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen . . . 280 4.2.1 Bestimmung maximaler Fl¨ usse . . . . . . . . . . . . . . . . . . . . . . 287 4.2.2 Algorithmus von Kelley . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 4.3 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit allgemeinen Zeitbeziehungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 4.4 Bau eines Biomassekraftwerks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 4.4.1 Struktur- und Zeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 313 4.4.2 Zeitplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 4.4.3 Kostenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Inhaltsverzeichnis
5
XI
Softwaresysteme f¨ ur die Projektplanung . . . . . . . . . . . . . . . . . . . 325 5.1 Softwareprodukte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 5.1.1 Microsoft Project 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 5.1.2 CS Project Professional 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . 329 5.1.3 Primavera Project Management . . . . . . . . . . . . . . . . . . . . . 330 5.2 Testumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 5.3 Testergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Symbolverzeichnis
Verschiedenes ∅ |A| A∪B A∩B A⊆B A\B O R Rm R≥0
z (z)+ Z Z≥0 Netzpl¨ ane d¯ δij E ei e¯i i, j G = VG , EG n N = V, E; δ pi
Leere Menge Elementanzahl der endlichen Menge A Vereinigungsmenge der Mengen A und B Schnittmenge der Mengen A und B A ist Teilmenge von B Menge A ohne die Elemente aus B Landausches Symbol; f¨ ur f, g : N → R≥0 ist g ∈ O(f ), falls eine Konstante c > 0 und eine positive ganze Zahl n0 existieren, so dass g(n) ≤ cf (n) f¨ ur alle n ≥ n0 Menge der reellen Zahlen Menge der m–Tupel reeller Zahlen Menge der nichtnegativen reellen Zahlen Kleinste ganzzahlige Zahl gr¨oßer oder gleich z Maximum von 0 und z Menge der ganzen Zahlen Menge der nichtnegativen ganzen Zahlen
Vorgegebene maximale Projektdauer Bewertung des Pfeils i, j Pfeilmenge Startereignis von Vorgang i Endereignis von Vorgang i Pfeil mit Anfangsknoten i und Endknoten j (Teil-)Ger¨ ust mit Knotenmenge VG und Pfeilmenge EG Anzahl der realen Vorg¨ ange eines Projektes Netzplan mit Knotenmenge V , Pfeilmenge E und Pfeilbewertungen δ Dauer des Vorgangs i
XIV
Symbolverzeichnis
Pred (i) Succ(i) Tijmax Tijmin V Zeitplanung Ci dij EC i EFF i ES i EZ e LC i LFF i LS i LZ e Si S SC TF i Ze Wi Wi xit
Zielfunktionen α βt cE i cF i cTi cP k cD k di (E + T ) f (S) (MFT )
Menge der unmittelbaren Vorg¨anger von Vorgang i Menge der unmittelbaren Nachfolger von Vorgang i Zeitlicher H¨ ochstabstand zwischen den Startzeitpunkten der Vorg¨ ange i und j Zeitlicher Mindestabstand zwischen den Startzeitpunkten der Vorg¨ ange i und j Knotenmenge
Endzeitpunkt des Vorgangs i L¨ ange eines l¨ angsten Weges von Knoten i zu Knoten j im Netzplan N Fr¨ uhester Endzeitpunkt des Vorgangs i Freie Pufferzeit des Vorgangs i Fr¨ uhester Startzeitpunkt des Vorgangs i Fr¨ uhester Eintrittszeitpunkt des Ereignisses e Sp¨ atester Endzeitpunkt des Vorgangs i Freie R¨ uckw¨ artspufferzeit des Vorgangs i Sp¨ atester Startzeitpunkt des Vorgangs i Sp¨ atester Eintrittszeitpunkt des Ereignisses e Startzeitpunkt des Vorgangs i Schedule (Vektor von Startzeitpunkten) Teilschedule (Vektor von Startzeitpunkten der Vorg¨ange i ∈ C) Gesamte Pufferzeit des Vorgangs i Eintrittszeitpunkt des Ereignisses e Zeitfenster, in dem Vorgang i starten kann Menge der diskreten Startzeitpunkte von Vorgang i Bin¨ arvariable: 1, wenn Vorgang i zum Zeitpunkt t startet; 0, sonst
Zinssatz Diskontfaktor f¨ ur Periode t Verfr¨ uhungskosten des Vorgangs i Mit der Ausf¨ uhrung von Vorgang i verbundene, auf den Zeitpunkt Si diskontierte Zahlung Versp¨ atungskosten des Vorgangs i Beschaffungskosten f¨ ur Ressource k ¨ Uberschreitungskosten f¨ ur Ressource k F¨ alligkeitstermin von Vorgang i ∈ V Zielfunktion des Earliness-Tardiness-Problems Zielfunktionswert von Schedule S Zielfunktion f¨ ur die Minimierung der mittleren Durchlaufzeit
Symbolverzeichnis
(NPV ) (PD ) (RD ) (RI ) (RL) wi (WST ) Yk Ressourcen rik rk (S, t) rkb (S, t) R Rk
XV
Zielfunktion des Kapitalwertmaximierungsproblems Zielfunktion des Projektdauerminimierungsproblems Zielfunktion des Ressourcenabweichungsproblems Zielfunktion des Ressourceninvestmentproblems Zielfunktion des Ressourcennivellierungsproblems Reellwertiger Gewichtungsfaktor von Vorgang i Zielfunktion der Minimierung der Summe gewichteter Startzeitpunkte Ressourcenniveau f¨ ur Ressource k ∈ R
Ressourcenbedarf von Vorgang i an Ressource k Menge an Ressource k, die zum Zeitpunkt t zur Ausf¨ uhrung der Vorg¨ ange i ∈ A(S, t) ben¨otigt wird Menge an Ressource k, die zum Zeitpunkt t zur Ausf¨ uhrung der Vorg¨ ange i ∈ Ab (S, t) ben¨otigt wird Menge der erneuerbaren Ressouren Kapazit¨ at der erneuerbaren Ressource k
Relationen und strenge Ordnungen N (O) Ordnungsnetzplan der strengen Ordnung O O, ≺ Strenge Ordnungen auf der Knotenmenge V ST (O) Ordnungspolytop der strengen Ordnung O ST (O(S)) Schedulepolytop des Schedules S ST= (O(S)) Isoordnungsmenge des Schedules S tr() Transitive H¨ ulle der Relation L¨ osungsverfahren f¨ ur die Zeit- und Ressourcenplanung A(S, t) Menge der zum Zeitpunkt t in Ausf¨ uhrung befindlichen Vorg¨ ange f¨ ur gegebenen Schedule S Ab (S, t) Menge der zum Zeitpunkt t in Ausf¨ uhrung befindlichen Vorg¨ ange f¨ ur gegebenen Schedule S und unter Ber¨ ucksichtigung teilfixierter Vorg¨ange Al Menge aller minimalen Verz¨ogerungsalternativen A Verz¨ ogerungsalternative Amin Minimale Verz¨ ogerungsalternative C Menge der eingeplanten Vorg¨ange C Menge der noch nicht eingeplanten Vorg¨ange CT (S) Menge aller Zeitpunkte, zu denen gem¨aß S mindestens ein Vorgang endet Dj (S C ) Menge der bzgl. ST zul¨ assigen Entscheidungszeitpunkte von Vorgang j bei gegebenem Teilschedule S C j (S C ) Menge der bzgl. S zul¨ assigen Entscheidungszeitpunkte D von Vorgang j bei gegebenem Teilschedule S C
XVI
Symbolverzeichnis
ES i (S C ) E fa fb F (i, Amin ) LB , LB0 , LBA, LBD , LBR, LBW LS i (S C ) S ST R(S C , j, t) S+ ST (S) UB U ⊆C Wi (S C )
Kostenplanung ai aK i aK ci (pi ) C(p) d¯min d¯n δK K K− ⊆ K K+ = K \ K− pmax i pmin i pni
Planungsabh¨ angiger fr¨ uhester Startzeitpunkt von Vorgang i Menge der einplanbaren Vorg¨ange Erweiterungskostenfunktion Erweiterungskostenfunktion unter Ber¨ ucksichtigung teilfixierter Vorg¨ ange Verbotene Menge Minimaler Verz¨ ogerungsmodus mit schiebendem Vorgang i Untere Schranken f¨ ur den optimalen Zielfunktionswert Planungsabh¨ angiger sp¨ atester Startzeitpunkt von Vorgang i Zul¨ assiger Bereich eines Projektplanungsproblems Zeitzul¨ assiger Bereich eines Projektplanungsproblems Ressourcen¨ uberschreitung, die durch die Einplanung von Vorgang j zum Zeitpunkt t verursacht wird Minimalstelle einer Funktion f Menge aller Zeitpunkte, zu denen gem¨aß S mindestens ein Vorgang startet Obere Schranke f¨ ur den optimalen Zielfunktionswert Menge der auszuplanenden Vorg¨ange Planungsabh¨ angiges Einplanungszeitfenster von Vorgang i
Zusatzkosten, die f¨ ur die Beschleunigung des Vorgangs i um eine Zeiteinheit anfallen Aus der Verk¨ urzung bzw. Verl¨angerung eines Vorgangs i ∈ K resultierende Kosten pro Zeiteinheit Kostenfaktor der Verk¨ urzungsmenge K Kostenfunktion des Vorgangs i in Abh¨angigkeit von der Vorgangsdauer pi Zielfunktion des Time-Cost-Tradeoff-Problems K¨ urzestm¨ ogliche Projektdauer bei Wahl der Vorgangsdauern pmin f¨ ur alle Vorg¨ange i des Projektes i K¨ urzestm¨ ogliche Projektdauer, bei Wahl der Vorgangsdauern pni f¨ ur alle Vorg¨ ange i des Projektes Verk¨ urzungsfaktor der Verk¨ urzungsmenge K Verk¨ urzungsmenge Menge der zu verk¨ urzenden Vorg¨ange Menge der zu verl¨ angernden Vorg¨ange Obere Schranke f¨ ur die Vorgangsdauer pi Untere Schranke f¨ ur die Vorgangsdauer pi Kostenminimale Vorgangsdauer pi
1 Projektmanagement
Als Fachdisziplin, aber auch als Aufgabenbereich in Unternehmen erf¨ahrt das Projektmanagement zunehmend an Bedeutung. In vielen Branchen ist die Projektarbeit zur vorherrschenden Arbeitsform geworden. Dieser Prozess wird noch durch den immer k¨ urzer werdenden Lebenszyklus von Produkten und den immer schnelleren technologischen Wandel der Umwelt- und Wettbewerbsbedingungen beschleunigt. F¨ ur die erfolgreiche Durchf¨ uhrung eines Projektes ist ein systematisches und methodengest¨ utztes Vorgehen notwendig. In diesem Kapitel besch¨ aftigen wir uns nach der Erl¨auterung einiger grundlegender Begriffe und Konzepte in Abschnitt 1.1 mit den einzelnen Schritten, die notwendig sind, um ein Projekt erfolgreich zum Abschluss zu bringen. Dabei orientieren wir uns aus didaktischen Gr¨ unden an einer Darstellung, die sich an den generischen Lebenszyklus eines Projektes anlehnt. Zun¨achst ¨ gehen wir in Abschnitt 1.2 auf wesentliche Uberlegungen ein, die der verbindlichen Entscheidung u uhrung eines Projektes vorausgehen. ¨ ber die Durchf¨ In Abschnitt 1.3 werden dann die Aufbau- und die Ablauforganisation von Projekten sowie die Identifikation von Projektzielen thematisiert, die im Anschluss an die Entscheidung u uhrung eines Projektes von be¨ber die Durchf¨ sonderer Bedeutung sind. Einen Schwerpunkt unserer Ausf¨ uhrungen bilden so genannte Netzplantechniken als Methoden zur konkreten Planung von Projekten im Sinne einer gedanklichen Vorwegnahme zuk¨ unftiger Handlungen (vgl. Abschnitt 1.4). Im Anschluss an die Projektplanung besch¨aftigen wir uns in Abschnitt 1.5 mit den wesentlichen Aufgaben bei der Realisierung und dem Abschluss von Projekten.
1.1 Grundlagen des Projektmanagements Im Folgenden stellen wir einige Grundlagen des Projektmanagements vor. In Abschnitt 1.1.1 definieren und erl¨ autern wir unter anderem die Begrifflichkeiten Projekt und Projektmanagement, die umgangssprachlich zwar h¨aufig
2
1 Projektmanagement
verwendet werden, deren pr¨ azise Festlegung jedoch unerwartete Schwierigkeiten bereitet. In Abschnitt 1.1.2 gehen wir auf die einzelnen Phasen ein, die ein Projekt von seiner Initiierung bis zu seiner Abwicklung durchl¨auft. 1.1.1 Begriffe und Aufgaben Der Begriff Projekt wird als Plan, Vorhaben oder Absicht umschrieben und entstammt dem lateinischen Begriff proiectum“, der mit nach vorne gewor” ” fen“ u ¨ bersetzt werden kann. Nach DIN 69 901 ist ein Projekt definiert als Vorhaben, das im Wesentlichen durch Einmaligkeit der Bedingungen ” in ihrer Gesamtheit gekennzeichnet ist, wie z.B. • Zielvorgabe • zeitliche, finanzielle, personelle oder andere Begrenzungen • Abgrenzung gegen¨ uber anderen Vorhaben • projektspezifische Organisation“. In der Literatur finden sich eine Reihe weiterer Definitionen und Charakteristika eines Projektes. Allen Definitionen ist gemein, dass ein Projekt als ein Vorhaben beschrieben wird, welches zur Erreichung bestimmter Ziele in einem vorgegebenen Zeitraum durchgef¨ uhrt werden soll und zu dessen Durchf¨ uhrung eine Menge knapper Ressourcen ben¨otigt wird. Gegenstand eines Projektes ist z.B. die Entwicklung eines neuen Produktes, der Bau eines Flughafens, die Entwicklung und Einf¨ uhrung einer Software, die Erstellung eines Jahresabschlusses oder die Montage einer Anlage. Es lassen sich also viele heterogene Vorhaben unter dem Begriff Projekt subsumieren. Gemeinsam ist allen Projekten, dass sie einmalige Vorhaben darstellen, d.h. ein Projekt besitzt immer mindestens eine Eigenschaft, die es von anderen Projekten unterscheidet. Da Projekte i.d.R. nicht standardisierbar sind und sich h¨aufig durch eine ausgepr¨ agte interdisziplin¨ are und interorganisationale Zusammenarbeit der Projektbeteiligten auszeichnen, handelt es sich meist um besonders komplexe Vorhaben. Projekte sind daher h¨ aufig mit einem erh¨ohten Risiko in technischer, wirtschaftlicher oder terminlicher Hinsicht verbunden und f¨ ur die beteiligten Unternehmen von großer Bedeutung. Tabelle 1.1 zeigt beispielhaft den typischen Umfang (gebundene Mitarbeiter und Budgets) unterschiedlicher Produktentwicklungsprojekte und verdeutlicht damit die besondere Bedeutung von Projekten. Da Projekte ganz unterschiedlicher Natur sein k¨onnen, erl¨autern wir zun¨ achst zwei Klassifizierungsschemata zur Einordnung von Projekten. Einige der in den folgenden Abschnitten behandelten Projektmanagementmethoden eignen sich f¨ ur gewisse Projekttypen besser als f¨ ur andere, so dass nachfolgend ausgew¨ ahlte Merkmale der einzelnen Projekttypen dargestellt werden. Man kann Projekte zun¨ achst danach unterscheiden, ob ihr Auftraggeber unternehmensintern oder -extern ist. Interne Projekte, wie z.B. die Optimierung von Produktionsprozessen, werden u ¨ blicherweise von der Unterneh-
1.1 Grundlagen des Projektmanagements
3
Tabelle 1.1. Typischer Umfang von Produktentwicklungsprojekten Branche Ziviler Flugzeugbau Automobilindustrie Station¨ are Gasturbinen Konsumg¨ uter (Elektronik)
Projektdauer F&E-Kapazit¨ at [Jahre] [Mannjahre] 4 2,5 3 0,5
– – – –
7 5 5 1
5.000 – 10.000 1.000 – 2.000 500 – 1.000 10 – 100
Budget [Mio. e] 2.500 – 5.000 500 – 2.000 300 – 500 5 – 50
mensf¨ uhrung in Auftrag gegeben. Bei externen Projekten ist das Projektergebnis eine Marktleistung und der Auftraggeber ist ein Kunde. Ein typisches externes Projekt ist die Entwicklung einer maßgeschneiderten Software durch ein Softwareunternehmen aufgrund eines Kundenauftrages. Externe Projekte zeichnen sich unter anderem dadurch aus, dass die durch das Projekt zu erbringende Leistung in Form eines Pflichtenheftes konkret spezifiziert ist, w¨ ahrend der Konkretisierungsgrad bei internen Projekten sehr unterschiedlich sein kann. Bei internen Projekten ist der Projektauftrag grunds¨atzlich ver¨ anderbar und eine Intervention m¨ oglich, wenn die Notwendigkeit dazu besteht. Bei externen Projekten hingegen sind Interventionsm¨oglichkeiten i.d.R. vertraglich geregelt und nachtr¨ agliche Ver¨ anderungen des Projektauftrages bed¨ urfen der Zustimmung aller Projektpartner. Letztlich besteht bei externen Projekten eine Gew¨ ahrleistungspflicht mit juristischer Relevanz, was f¨ ur interne Projekte oft nicht der Fall ist. Projekte sind zwar als einmalige Vorhaben gekennzeichnet, dennoch k¨on¨ nen sie Ahnlichkeit mit anderen Projekten bzw. Wiederholungscharakter haben. Entsprechend kann zwischen einmalig durchzuf¨ uhrenden Projekten und Routineprojekten unterschieden werden. Einmalig durchzuf¨ uhrende Projekte sind beispielsweise Reorganisationsprojekte oder Forschungs- und Entwicklungsprojekte. Sie sind durch einen hohen Innovationsgrad gekennzeichnet und meist mit großen Unsicherheiten belastet, die z.B. die Identifikation m¨oglicher Risiken bei der Projektdurchf¨ uhrung oder die Sch¨atzung der mit dem Projekt verbundenen Kosten erschweren. Routineprojekte zeichnen sich dadurch aus, dass die Gesamtheit der Rahmenbedingungen zwar nicht identisch, aber sehr ahnlich zu den Rahmenbedingungen vergangener Projekte ist. So ist f¨ ur ein ¨ Unternehmen der Softwarebranche die Einf¨ uhrung einer Software bei einem Kunden mit Sicherheit ein Routineprojekt (aus Sicht des Kunden mag das nat¨ urlich ganz anders sein). Routineprojekte haben den großen Vorteil, dass bei ihrer Durchf¨ uhrung i.d.R. auf Erfahrungswerte aus vergangenen Projekten zur¨ uckgegriffen werden kann. Typische Beispiele f¨ ur Routineprojekte sind im Anlagen-, Schiffs- und Hochbau zu finden. Der Begriff Projektmanagement hat grunds¨atzlich zweierlei Bedeutung. Aus organisationaler bzw. institutioneller Sicht bezeichnet man als Projektmanagement die Organisationseinheit bzw. Institution, von der die zur Projektdurchf¨ uhrung notwendigen F¨ uhrungsaufgaben u ¨bernommen werden (vgl. hierzu auch Abschnitt 1.3.1). Andererseits versteht man unter Projekt-
4
1 Projektmanagement
management die Gesamtheit aller Planungs-, Steuerungs-, Koordinierungs¨ und Uberwachungsaufgaben zur sach-, termin- und kostengerechten Realisierung von Projekten sowie die hierf¨ ur ben¨ otigten Konzepte und Methoden. Aufgabe der Projektplanung ist die Vorbereitung der Projektdurchf¨ uhrung im Sinne einer gedanklichen Vorwegnahme zuk¨ unftiger Handlungen. Steuerung und Koordinierung dienen der zielorientierten und reibungslosen Realisierung des geplanten Projektes. Da es bei der Umsetzung einer Planung jedoch regelm¨ aßig zu Planabweichungen kommt, ist es Aufgabe der Projekt¨ uberwachung, diese Abweichungen zu identifizieren und geeignete Gegenmaßnahmen einzuleiten. Zur Unterst¨ utzung dieser zentralen Aufgaben des Projektmanagements existieren eine Reihe von Konzepten und Verfahren, auf die wir im vorliegenden Kapitel eingehen werden. F¨ ur die Planung von Projekten ist ein Projekt zun¨achst in seine Strukturelemente zu zerlegen. Um das Verst¨ andnis der folgenden Ausf¨ uhrungen zu erleichtern, schicken wir eine kurze Erl¨ auterung der wichtigsten Strukturelemente eines Projektes voraus. Ein Vorgang (Arbeitsgang, Aktivit¨at, Operation) ist ein zeiterforderndes Geschehen, dessen Durchf¨ uhrung i.d.R. Ressourcen beansprucht und Kosten verursacht. Ein Ereignis bezeichnet einen Zeitpunkt, der das Eintreten eines ausgezeichneten Projektzustands repr¨asentiert. Der zeitliche Ablauf eines Projektes wird durch eine bestimmte Reihenfolge der zugeh¨ origen Vorg¨ ange und Ereignisse beschrieben. Eine solche Reihenfolge wird durch Zeitbeziehungen zwischen zwei Vorg¨angen bzw. Ereignissen impliziert. In Abschnitt 1.4 werden Vorg¨ ange, Ereignisse und Zeitbeziehungen detailliert beschrieben. 1.1.2 Phasenmodelle Jedes Projekt durchl¨ auft – ebenso wie ein Produkt – von seiner Initiierung bis zu seiner Abwicklung eine Reihe von Phasen, die als Lebenszyklus bezeichnet werden. In der betriebswirtschaftlichen Literatur herrscht weitgehend Einigkeit u ¨ber die einzelnen von einem Produkt zu durchlaufenden Phasen und deren Inhalte. Ein Produktlebenszyklus besteht aus den folgenden Phasen • • • • • •
Entwicklungsphase, Wachstumsphase, Reifephase, S¨ attigungsphase, R¨ uckgangsphase und gegebenenfalls Nachlaufphase.
In der Literatur zum Projektmanagement hat sich ein entsprechender Konsens bislang nicht herausgebildet. Stattdessen existiert eine Vielzahl von spezialisierten Lebenszyklusmodellen f¨ ur einzelne Projekttypen, die sich meist nur schwer verallgemeinern lassen. In EDV-Projekten werden beispielsweise h¨aufig die Phasen Projektdefinition, Projektplanung, Ist-Analyse, Soll-Konzept, Systementwicklung, Systembeschreibung, Programmierung, Aufgabenorganisati-
1.1 Grundlagen des Projektmanagements
5
on, Durchf¨ uhrungsvorbereitung und Umstellung unterschieden (vgl. Litke, 1995, Kapitel 1.5). In industriellen Forschungs- und Entwicklungsprojekten hingegen besteht der Projektlebenszyklus oft aus den Hauptphasen Definition, Entwurf, Realisierung, Erprobung und Einsatz (vgl. Burghardt, 2000, Kapitel 1.2 und 1.3). Bei einem typischen Six Sigma“ Projekt zur Qualit¨ats” verbesserung von Prozessen folgt man dem so genannten DMAIC Phasenmodell, bestehend aus den Schritten Define (Definition der Leistungsmerkmale eines Prozesses), Measure (Messung der derzeitigen Auspr¨agung der Leistungsmerkmale), Analyze (Analyse der Ursachen von Leistungsabweichungen in der Prozessausf¨ uhrung), Improve (Identifizieren von Verbesserungsm¨oglichkei¨ ten), Control (Umsetzung der Verbesserung und Uberwachung des ver¨anderten Prozessablaufs). Wie diese Beispiele zeigen, gibt es eine große Anzahl m¨oglicher Lebenszyklusmodelle f¨ ur unterschiedliche Projekttypen. Dennoch lassen sich eine Reihe von Gemeinsamkeiten feststellen (vgl. zur Illustration Abb. 1.1 – 1.4): •
• • •
Die Unsicherheit u ¨ ber den erfolgreichen Projektausgang ist im Allgemeinen zu Beginn eines Projektes am gr¨ oßten. Je weiter ein Projekt im Verlauf fortschreitet, desto gr¨ oßer ist die Sicherheit u ¨ber die sach-, termin- und kostengerechte Projektfertigstellung. Der laufende Ressourcenbedarf und die resultierenden Kosten eines Projektes sind zu Beginn gering, steigen dann stetig an und sinken zum Projektende z¨ ugig. Die Einflussnahme des Projektauftraggebers oder anderer Projektstakeholder auf den Projektverlauf und -ausgang ist zu Beginn eines Projektes im Allgemeinen hoch und nimmt zum Projektende deutlich ab. Dies h¨ angt auch damit zusammen, dass der ben¨otigte Aufwand bei der ¨ Ber¨ ucksichtigung von Anderungen im Projektauftrag bzw. anderer wesentlicher Projektmerkmale zu Beginn sehr niedrig ist, aber im Projektverlauf deutlich ansteigt, so dass Projekt¨ anderungen ggf. wirtschaftlich nicht mehr vertretbar sind.
hoch
hoch
niedrig
niedrig Projektverlauf
Abb. 1.1. Unsicherheit u ¨ ber erfolgreichen Projektausgang
Projektverlauf Abb. 1.2. Laufende Projektkosten und Ressourcenbedarf
6
1 Projektmanagement hoch
hoch
niedrig
niedrig Projektverlauf
Abb. 1.3. M¨ oglichkeit der Einflussnahme in den Projektablauf
Projektverlauf Abb. 1.4. Aufwand bei Projekt¨ anderungen
Im Folgenden wollen wir ein eher generisches Phasenmodell beschreiben, wobei wir unsere Betrachtungen auf die Phasen • • • •
Projektkonzeption, Projektspezifikation, Projektplanung sowie Projektrealisation und -abschluss
eines Projektlebenszyklus beschr¨ anken, die nachfolgend kurz erl¨autert werden. Eine detaillierte Erl¨ auterung ausgew¨ ahlter Aspekte der einzelnen Phasen findet sich in den Abschnitten 1.2 bis 1.5. Projekte werden durch eine Projektidee initiiert, d.h. sie werden z.B. von Mitarbeitern (internes Projekt) oder durch einen Kundenauftrag (externes Projekt) angeregt. In diesem Stadium liegen i.d.R. zun¨achst nur ungenaue Informationen u ¨ ber das Projektvorhaben vor. Im Rahmen der Projektkonzeption wird daher zun¨ achst gemeinsam mit dem Auftraggeber der Projektauftrag formuliert (vgl. Abschnitt 1.2.1). In Form eines Pflichtenheftes werden die Aufgabenstellung, die mit der Durchf¨ uhrung des Projektes verfolgten Ziele sowie eine Beschreibung der zu erbringenden Leistungen festgehalten. Insbesondere bei externen Projekten kommt der sorgf¨altigen Erstellung des Pflichtenheftes besondere Bedeutung zu. Es bildet die Grundlage f¨ ur den Projektauftrag und die Vertragsverhandlungen. Da es bei der Planung und Durchf¨ uhrung von Projekten regelm¨ aßig zu Planrevisionen kommt, sollte außerdem zwischen den Projektbeteiligten festgehalten werden, in welcher Art ¨ und Weise auf notwendige Anderungen des Projektes reagiert werden soll. Im Anschluss sind eine Machbarkeitsstudie (vgl. Abschnitt 1.2.2), eine Aufwandssch¨atzung und Wirtschaftlichkeitsanalyse (vgl. Abschnitt 1.2.3) sowie eine Risikoanalyse (vgl. Abschnitt 1.2.4) durchzuf¨ uhren. Die Machbarkeitsstudie gibt Aufschluss dar¨ uber, ob die f¨ ur die erfolgreiche Projektdurchf¨ uhrung ben¨ otigten Ressourcen – z.B. qualifizierte Mitarbeiter, erforderliche Technologien oder finanzielle Mittel – vorhanden sind oder rechtzeitig bereitgestellt werden k¨ onnen. Im Rahmen einer Aufwandssch¨atzung wird der aus der Projektdurchf¨ uhrung resultierende mengen- und wertm¨aßige Aufwand bestimmt. Das Ergebnis der Aufwandssch¨ atzung ist gerade bei externen Projekten von
1.1 Grundlagen des Projektmanagements
7
großer Bedeutung, da der ermittelte Projektaufwand als Grundlage f¨ ur Preisverhandlungen mit dem Auftraggeber dient. Die Wirtschaftlichkeitsanalyse gibt Auskunft u ¨ ber den bei einer erfolgreichen Projektabwicklung zu erwartenden Gewinn und ist somit f¨ ur interne Projekte, denen kein vertraglich vereinbarter Erl¨ os“ gegen¨ ubersteht, besonders bedeutsam. Schließlich werden ” im Zuge einer Risikoanalyse potentielle Risiken identifiziert, die einem sach-, termin- und kostengerechten Projektabschluss entgegenstehen. Zur Reduzierung von Risiken werden geeignete Gegenmaßnahmen erarbeitet. H¨aufig gibt es außerdem unterschiedliche M¨ oglichkeiten, den Projektauftrag zu erf¨ ullen. In diesem Fall sollte jede Projektalternative in Bezug auf ihre Machbarkeit, den voraussichtlich damit verbundenen Aufwand, ihre Wirtschaftlichkeit sowie die mit ihrer Durchf¨ uhrung verbundenen Risiken untersucht werden. Auf Grundlage dieser Informationen wird dann im Rahmen der Projektselektion (vgl. Abschnitt 1.2.5) dar¨ uber entschieden, ob ein Projekt durchgef¨ uhrt werden soll bzw. welche von mehreren Projektalternativen durchgef¨ uhrt werden sollen. Sobald verbindlich u uhrung eines Projektes entschieden ¨ ber die Durchf¨ wurde, erfolgt die Projektspezifikation (vgl. Abschnitt 1.3). Hier muss zun¨achst u ¨ ber die Aufbauorganisation des Projektes entschieden werden (vgl. Abschnitt 1.3.1), d.h. es muss festgelegt werden, welche Mitarbeiter aus welchen Abteilungen an der Durchf¨ uhrung des Projektes beteiligt sein werden und wie das Projektmanagement und das Projektteam in die Organisationsstruktur des ausf¨ uhrenden Unternehmens eingebettet werden sollen. Anschließend muss eine geeignete Ablauforganisation gefunden werden, die den weiteren Projektablauf spezifiziert (vgl. Abschnitt 1.3.2). Dazu werden meist zentrale Meilensteine im Projektablauf und Reihenfolgebeziehungen zwischen einzelnen Meilensteinen identifiziert. Ein Meilenstein stellt dabei ein Ereignis von besonderer Bedeutung dar, wie beispielsweise den Abschluss eines wichtigen Teilprojektes. Schließlich werden die mit der Durchf¨ uhrung des Projektes verbundenen Ziele konkretisiert (vgl. Abschnitt 1.3.3). Auf der Grundlage des Projektauftrages und des zugeh¨ origen Pflichtenheftes werden die vom Auftraggeber vorgegebenen und den Gegenstand bzw. die Leistungen des Projektes betreffenden Ziele (so genannte produktbezogene Ziele) in Unterziele heruntergebrochen. Bei Forschungs- und Entwicklungsprojekten in der Automobilindustrie ist ein Projektauftraggeber z.B. an bestimmten Eigenschaften eines Aggregates interessiert. Im Rahmen der Zielanalyse werden dann die Unterziele identifiziert, deren Erf¨ ullung zu den gew¨ unschten Eigenschaften f¨ uhrt. Weiterhin werden in diesem Stadium die den zeitlichen Projektablauf betreffenden Ziele spezifiziert, wie z.B. die Minimierung der Projektdauer oder die gleichm¨ aßige Auslastung bestimmter f¨ ur das Projekt ben¨otigter Ressourcen. Hierbei ist wichtig, dass diese Ziele so weit als m¨oglich operationalisiert sind, um eine effektive Projektsteuerung und -¨ uberwachung zu erm¨oglichen. Die Projektplanung (vgl. Abschnitt 1.4) dient der detaillierten Planung des Projektablaufs. Zu diesem Zweck wird das Projekt im Rahmen einer Strukturanalyse (vgl. Abschnitt 1.4.1) zun¨ achst systematisch in Teilprojekte, Un-
8
1 Projektmanagement
terprojekte, Arbeitspakete und Projektvorg¨ ange disaggregiert. Anschließend werden logisch oder technologisch bedingte Zeitbeziehungen zwischen einzelnen Vorg¨ angen identifiziert. Diese Zeitbeziehungen bestimmen den zeitlichen Ablauf des Projektes. In der nachfolgenden Zeit-, Ressourcen- und Kostenanalyse (vgl. Abschnitt 1.4.2) werden zun¨ achst die Ausf¨ uhrungsdauern der einzelnen Projektvorg¨ ange sowie die Zeitbeziehungen zwischen den Vorg¨angen quantifiziert. Ferner werden die zur Durchf¨ uhrung eines Vorgangs ben¨otigten Ressourcen – z.B. Mitarbeiter, Maschinen oder Materialien – sowie die Kosten bestimmt, die aus der Durchf¨ uhrung der einzelnen Projektvorg¨ange resultieren. Nachdem alle Strukturelemente eines Projektes identifiziert und quantifiziert wurden, k¨ onnen mit Hilfe so genannter Netzplantechniken Informationen u ¨ ber den zeitlichen Ablauf eines Projektes extrahiert werden, wie beispielsweise die fr¨ uhest- und sp¨ atestm¨ oglichen Start- und Fertigstellungszeitpunkte der Projektvorg¨ ange. Die am weitesten verbreitete Netzplantechnik ist die Metra-Potential-Methode (MPM), die in Abschnitt 1.4.3 ausf¨ uhrlich erl¨ autert wird. Neben der MPM-Netzplantechnik werden in der Praxis h¨aufig weitere Netzplantechniken eingesetzt, auf die wir in Abschnitt 1.4.4 eingehen. Ergebnis einer Projektanalyse mit Hilfe von Netzplantechniken ist ein Zeitintervall f¨ ur jeden Vorgang, innerhalb dessen der betrachtete Vorgang aufgrund der gegebenen Zeitbeziehungen starten muss. Um einen verbindlichen Plan f¨ ur den Projektablauf zu erhalten, muss nun jedem Vorgang genau ein Startzeitpunkt aus diesem (planungsabh¨ angigen) Zeitintervall zugewiesen werden, d.h. jeder Vorgang muss terminiert werden (vgl. Abschnitt 1.4.5). Diese Terminierung der Vorg¨ ange erfolgt unter Ber¨ ucksichtigung der Zeitbeziehungen sowie der vorhandenen Ressourcenkapazit¨ aten. Die einzelnen Vorg¨ange werden so fixiert, dass ein im Rahmen der Zielanalyse spezifiziertes Zielkriterium m¨ oglichst gut erf¨ ullt wird. In der Praxis werden die Vorg¨ange beispielsweise h¨aufig so terminiert, dass ein Projekt m¨ oglichst fr¨ uhzeitig beendet wird oder der aus der Projektdurchf¨ uhrung resultierende Kapitalwert maximiert wird. Im Anschluss an die Projektplanung erfolgen schließlich die Projektrealisation und der Projektabschluss (vgl. Abschnitt 1.5). Die sach-, termin- und ¨ kostengerechte Durchf¨ uhrung eines Projektes erfordert eine st¨andige Uberwachung des Projektablaufs (vgl. Abschnitt 1.5.1). Dazu werden laufend die ¨ tats¨ achlichen Uberoder Unterschreitungen der im Rahmen der Projektplanung ermittelten Eckdaten – d.h. insbesondere der Start- und Endzeitpunkte der Projektvorg¨ ange und der kumulierten Kosten – bestimmt. Werden Abweichungen vom urspr¨ unglichen Plan festgestellt, so m¨ ussen geeignete Maßnahmen getroffen werden, um die Planabweichungen zu korrigieren oder ihre Auswirkungen zu minimieren. Nach Abschluss des Projektes findet schließlich eine Projektr¨ uckschau statt (vgl. Abschnitt 1.5.2), wobei das Projekt ex-post analysiert wird und Verbesserungspotentiale f¨ ur zuk¨ unftige Projektvorhaben erarbeitet werden. Abbildung 1.5 zeigt zusammenfassend die vier beschriebenen Phasen des Projektlebenszyklus sowie die wichtigsten Teilschritte innerhalb der einzelnen Phasen. Dieses Phasenmodell ist dabei jedoch nicht so zu verstehen, dass die
1.1 Grundlagen des Projektmanagements
9
einzelnen Phasen strikt sequentiell durchlaufen werden. Vielmehr k¨onnen bei fortschreitendem Detaillierungsgrad der Planung einzelne Phasen oder ausgew¨ ahlte Schritte einzelner Phasen wiederholt durchlaufen werden, d.h. es finden R¨ uckkopplungen zwischen den Phasen statt.
1. Projektkonzeption: • Projektauftrag • Machbarkeitsstudie • Aufwandssch¨ atzung und Wirtschaftlichkeitsanalyse • Risikoanalyse • Projektselektion
2. Projektspezifikation:
3. Projektplanung:
R¨ uckkopplungen
• Aufbauorganisation • Ablauforganisation • Projektziele
• Strukturanalyse • Zeit-, Ressourcen-, und Kostenanalyse • Netzplantechnik • Terminierung
4. Projektrealisation: • Projekt¨ uberwachung • Projektr¨ uckschau
Abb. 1.5. R¨ uckkopplungen zwischen den Phasen des Projektlebenszyklus
10
1 Projektmanagement
In der zweiten Phase (Projektspezifikation) wird z.B. der zeitliche Ablauf des Projektes auf der Grundlage wesentlicher Meilensteine spezifiziert. Stellt sich heraus, dass einzelne Meilensteine erst sehr sp¨at erreicht werden, hat diese Information u.U. Auswirkungen auf die erste Phase (Projektkonzeption). So k¨ onnte sich beispielsweise der aus der Durchf¨ uhrung des Projektes resultierende Gewinn verringern, da das ausf¨ uhrende Unternehmen vertraglich vereinbarte Abschlagszahlungen zu einem sp¨ ateren Zeitpunkt erh¨alt, als urspr¨ unglich im Rahmen der Projektkonzeption angenommen. Unter Umst¨anden ergeben sich durch eine Versp¨ atung wichtiger Meilensteine auch terminliche Risiken, die in der Risikoanalyse ber¨ ucksichtigt werden sollten. Eventuell muss sogar u uhrung des Projektes neu entschieden werden. Nach Abschluss ¨ ber die Durchf¨ der Projektplanung (Phase 3) stehen erstmals detaillierte Informationen u ¨ ber den zeitlichen Ablauf des Projektes sowie u ¨ ber resultierende kumulierte Ressourcenbedarfe und Kosten zur Verf¨ ugung. Stellt sich dann z.B. heraus, dass die zur Verf¨ ugung stehenden Ressourcenkapazit¨aten nicht ausreichen, um das betrachtete Projekt p¨ unktlich fertigzustellen, so k¨onnten beispielsweise die Ressourcenkapazit¨ aten erweitert werden, um den avisierten Projektendtermin einzuhalten. Eine solche Kapazit¨ atserweiterung hat wiederum Auswirkungen auf die der Projektkonzeption zugrunde liegende Aufwandssch¨atzung. Kommt es schließlich w¨ ahrend der Projektdurchf¨ uhrung (Phase 4) zu Abweichungen vom geplanten Projektablauf, dann m¨ ussen entsprechende Modifikationen im Rahmen der Projektplanung und teilweise im Rahmen der Projektspezifikation und Projektkonzeption ber¨ ucksichtigt werden.
1.2 Projektkonzeption Im Folgenden betrachten wir ausgew¨ ahlte Aspekte von Projekten bzw. des Projektmanagements, die vor der Entscheidung u uhrung ei¨ ber die Durchf¨ nes Projektes im Rahmen der Projektselektion (vgl. Abschnitt 1.2.5) eingehend untersucht werden m¨ ussen. Dabei handelt es sich im Einzelnen um die Gestaltung des Projektauftrages als Grundlage f¨ ur Vertragsverhandlungen (vgl. Abschnitt 1.2.1), die Untersuchung eines Projektes im Hinblick auf seine Durchf¨ uhrbarkeit (vgl. Abschnitt 1.2.2), die Ermittlung des mit einem Projekt verbundenen Aufwandes und die Bestimmung seiner Wirtschaftlichkeit (vgl. Abschnitt 1.2.3). Abschließend besch¨ aftigen wir uns mit der Untersuchung m¨ oglicher Risiken, die einem erfolgreichen Projektabschluss entgegenstehen (vgl. Abschnitt 1.2.4). 1.2.1 Projektauftrag Initiiert wird ein Projekt entweder durch das (unternehmensinterne) Management oder aber durch einen (unternehmensexternen) Kundenauftrag, wenn der Gegenstand des Projektes eine Marktleistung darstellt, wie z.B. bei der Kundenauftragsfertigung. In jedem Fall wird ein Projektauftrag formuliert
1.2 Projektkonzeption
11
und erteilt, der meist ein Pflichtenheft enth¨ alt und weitere f¨ ur die Projektplanung und -durchf¨ uhrung wesentliche Aspekte thematisiert. So sollte z.B. ¨ festgelegt werden, wie auf Anderungsanforderungen des Projektauftrages bzw. Pflichtenheftes reagiert wird und – bei externen Projekten – wie die Zahlungsmodalit¨ aten ausgestaltet werden. Ein Pflichtenheft enth¨ alt alle den Projektablauf und die Leistung bzw. den Gegenstand des Projektes betreffenden Ziele und Anforderungen sowie alle f¨ ur die Projektplanung notwendigen Rahmenbedingungen und Vorgaben. Insbesondere enth¨ alt ein Pflichtenheft die Aufgabenstellung des Auftraggebers sowie – daraus abgeleitet – eine detaillierte Beschreibung der Leistung, die mit der Durchf¨ uhrung des Projektes erbracht werden soll. Diese Anforderungen des Auftraggebers dienen der Festlegung dessen, was erreicht werden soll, ohne jedoch dabei einzelne L¨ osungsm¨ oglichkeiten auszuschließen, d.h. die Anforderungen sollten l¨ osungsneutral formuliert sein. F¨ ur ein Softwareprojekt enth¨ alt ein Pflichtenheft beispielsweise Informationen u ¨ ber die Einsatzumgebung, die geforderten Funktionen und Eigenschaften, die Benutzeroberfl¨ache und -schnittstellen, die Datenbasis und das Mengenger¨ ust, Qualit¨atsanforderungen, Realisierungsvorgaben und Dokumentationsanforderungen (vgl. Burghardt, 2000, Kapitel 2.2). Sind an einem Projekt Dritte beteiligt, dann ist ein Pflichtenheft verbindliche Grundlage f¨ ur sp¨atere Vertragsvereinbarungen. Es ist daher zweckm¨ aßig, schon fr¨ uh im Rahmen der Projektkonzeption ein Pflichtenheft anzulegen. Mit fortschreitender Planung wird das Pflichtenheft dann schrittweise detailliert. Bei der Planung von Projekten werden regelm¨aßig bereits erarbeitete Zwischenergebnisse aufgrund neuer oder ver¨ anderter Informationen in Frage ge¨ stellt, d.h. es kommt zu so genannten Anderungsanforderungen. Je grundle¨ gender dabei die notwendige Anderung ist, desto schwerwiegender ist i.d.R. ¨ ihre Auswirkung auf das zugrunde liegende Projekt. Andern sich in einem sehr sp¨ aten Stadium beispielsweise wesentliche Elemente des Pflichtenheftes, dann kann dies zu einer deutlichen Verz¨ ogerung, Verteuerung (vgl. die Ausf¨ uhrungen in Abschnitt 1.1.2) oder gar einem Abbruch des Projektes f¨ uhren. Aus diesem Grund sollten sich die Projektbeteiligten im Rahmen des Projektauftrages ¨ ¨ auf ein Anderungsverfahren einigen, das spezifiziert, wie Anderungsanforderungen in das laufende Projekt eingearbeitet werden. Nachfolgend beschreiben ¨ wir drei wesentliche Anderungsverfahren: das so genannte kontinuierliche, das ¨ eingeschobene und das begleitende Anderungsverfahren (vgl. Burghardt, 2000, Kapitel 2.2.4). ¨ ¨ Bei kontinuierlichen Anderungsverfahren werden die Anderungsanforderungen synchron mit dem Projektablauf in der Projektplanung ber¨ ucksich¨ tigt. Ein solches Anderungsverfahren eignet sich nur f¨ ur wenige und verh¨alt¨ nism¨ aßig kleine Anderungsanforderungen, da der Projektablauf dadurch verz¨ogert wird und es aufgrund der resultierenden intransparenten Entwicklungsst¨ande des Projektes zu einem deutlich erh¨ ohten Kommunikationsaufwand ¨ kommt. Eingeschobene Anderungsverfahren zeichnen sich dadurch aus, dass ¨ der Projektablauf bei Vorliegen von Anderungsanforderungen oder zu vorher
12
1 Projektmanagement
spezifizierten Terminen unterbrochen wird. W¨ahrend einer solchen Unterbre¨ chung werden s¨ amtliche Anderungsanforderungen in die bereits vorliegenden Planungsergebnisse eingearbeitet. Da meist nicht alle an einem Projekt be¨ teiligten Mitarbeiter bzw. Organisationseinheiten von einer Anderungsanforderung betroffen sind, kann es w¨ ahrend einer Unterbrechung auch zu einem Leerlauf“ in einzelnen Abteilungen kommen. Außerdem f¨ uhren die Unterbre” chungen des Projektablaufs zu einer meist deutlichen Verz¨ogerung des Projek¨ tes. Begleitende Anderungsverfahren finden vor allem in hochinnovativen und zeitkritischen Projekten Anwendung. Dabei werden parallel zur urspr¨ ungli¨ chen Planung die Anderungsanforderungen im Rahmen einer Schattenpla” nung“ ber¨ ucksichtigt. Die Ergebnisse dieser parallelen Planungen werden anschließend konsolidiert. Dem betr¨ achtlichen Mehraufwand bei einem solchen ¨ begleitenden Anderungsverfahren steht ein im Vergleich zu den anderen Verfahren k¨ urzerer Projektentwicklungsprozess entgegen, da der urspr¨ ungliche ¨ Planungszweig zielstrebig vorangetrieben werden kann, ohne auf Anderungsanforderungen reagieren zu m¨ ussen. Im Anschluss an die Aufstellung eines Pflichtenheftes und die Spezifikati¨ on des zu implementierenden Anderungsverfahrens m¨ ussen sich die Projektpartner im Rahmen der Vertragsverhandlungen auf die dem Projektauftrag zugrunde liegenden Zahlungsmodalit¨aten einigen. Den Zahlungsvereinbarungen kommt insbesondere bei langfristigen und kapitalintensiven Projekten, die sich oft u ¨ ber mehrere Jahre hinziehen, große Bedeutung zu. In der Praxis trifft man im Prinzip f¨ unf Typen von Vertr¨ agen an, die sich hinsichtlich ihrer zugrunde liegenden Zahlungsvereinbarungen unterscheiden (vgl. Kerzner, 2003, Kapitel 21.6): •
•
•
Lump-sum contract (Pauschalpreisvertrag): Bei Pauschalpreisvertr¨agen vereinbaren Auftraggeber und Auftragnehmer einen fixen Preis – den Pauschalpreis – f¨ ur die Erbringung der im Rahmen des Projektauftrages vereinbarten Leistung. Somit tr¨ agt der Auftragnehmer, d.h. das ausf¨ uhrende Unternehmen, das volle Risiko f¨ ur die dem Vertrag zugrunde liegen¨ unglich kalkulierten Kosten de Kalkulation. Eine Uberschreitung der urspr¨ schm¨ alert den Gewinn des Auftragnehmers. Der Auftraggeber tr¨agt kein preisliches Risiko. Cost-plus-fixed-fee contract – CPFF (Kostenzuschlagsvertrag mit Gewinnaufschlag auf Selbstkosten): Bei CPFF-Vertr¨agen verpflichtet sich der Auftragnehmer, die vereinbarte Leistung m¨ oglichst kosteng¨ unstig“ zu erbrin” gen. Die tats¨ achlich angefallenen Kosten werden vom Auftraggeber getragen und der Auftragnehmer erh¨ alt einen im Vorhinein fest vereinbarten Betrag als Gewinn. Der Auftraggeber tr¨ agt somit ein hohes Kostenrisiko. Die einzigen Anreize f¨ ur den Auftragnehmer, m¨oglichst kosteng¨ unstig zu arbeiten, sind die Aussicht auf eventuelle Nachfolgeauftr¨age sowie das Bestreben, seine Kapitalbindungskosten zu minimieren. Cost-plus-percentage-fee contract – CPPF (Kostenzuschlagsvertrag mit ¨ Prozentzuschlag auf Selbstkosten): Ahnlich wie bei CPFF-Vertr¨agen tr¨agt
1.2 Projektkonzeption
•
•
13
bei CPPF-Vertr¨ agen der Auftraggeber das volle Kostenrisiko. Der Auftragnehmer erh¨ alt als Gewinnmarge einen im Vorhinein fest vereinbarten Prozentsatz der insgesamt angefallenen Kosten. Guaranteed maximum-share savings contract – GMSS (Kostenzuschlagsvertrag mit garantiertem Maximum und Ber¨ ucksichtigung der Einsparungen): GMSS-Vertr¨ age sind den CPFF-Vertr¨ agen sehr ¨ahnlich. Der Auftragnehmer erh¨ alt als Gewinn einen fixen Betrag, jedoch tr¨agt der Auftraggeber die anfallenden Kosten nur bis zu einer vorher vereinbarten H¨ohe. Kosten dar¨ uber hinaus hat der Auftragnehmer zu verantworten. Etwaige Einsparungen werden nach einer vorher vereinbarten Regel zwischen dem Auftraggeber und dem Auftragnehmer aufgeteilt. Cost-plus-incentive-fee contract – CPIF (Kostenzuschlagsvertrag mit Anreiz ): Ein CPIF-Vertrag unterscheidet sich von CPFF- oder CPPF-Vertr¨ agen dadurch, dass der Gewinnanteil des Auftragnehmers von der H¨ohe der tats¨ achlich angefallenen Kosten abh¨ angt. Unterschreitet das ausf¨ uhrende Unternehmen die prognostizierten Kosten, so erh¨oht sich der Gewinnan¨ teil, bei einer Uberschreitung vermindert sich der Gewinnanteil gem¨aß einer vertraglich festgelegten Berechnungsvorschrift.
Bei kleinen, u ur die ¨ berschaubaren Projekten, bei denen sich die Kosten f¨ Projektausf¨ uhrung relativ exakt absch¨ atzen lassen, herrschen Pauschalpreisvertr¨ age vor. Bei großen Projekten hingegen, wie z.B. dem Bau eines Flughafens oder eines Staudamms, dem Schiff- oder Anlagenbau, wird h¨aufig einer der vier anderen Vertragstypen gew¨ ahlt. Neben den beschriebenen Vertragstypen und ihren Kombinationen finden sich in der Praxis weitere wichtige Vertragskonstrukte. Um die Einhaltung vertraglich vereinbarter Projekttermine zu gew¨ ahrleisten, werden h¨ aufig Konventionalstrafen vereinbart, die der Auf¨ tragnehmer bei Uberschreitungen vorgeschriebener Fertigstellungstermine zu entrichten hat. Im umgekehrten Fall, d.h. bei Terminunterschreitungen, erh¨alt das ausf¨ uhrende Unternehmen oft eine zus¨ atzliche Pr¨amie. Bei großen und langwierigen Projekten werden außerdem meist Fortschrittszahlungen vereinalt bei Abschluss wichtiger Teilprojekte eine bart, d.h. der Auftragnehmer erh¨ Abschlagszahlung oder vor Beginn eines Teilprojektes einen Kredit in Form einer entsprechenden Vorauszahlung. Der weitere Ablauf der Projektkonzeption h¨angt teilweise von den jeweils vertraglich vereinbarten Zahlungsmodalit¨ aten ab. So ist bei Pauschalpreisvertr¨ agen f¨ ur das ausf¨ uhrende Unternehmen die in Abschnitt 1.2.3 beschriebene Aufwandssch¨ atzung und Wirtschaftlichkeitsanalyse von großer Bedeutung, da das Unternehmen f¨ ur die H¨ ohe des eigenen Gewinns maßgeblich eigenverantwortlich ist. Bei Kostenzuschlagsvertr¨ agen hingegen f¨allt der Wirtschaftlichkeitsanalyse eine eher untergeordnete Rolle zu, da der aus einem Projekt resultierende Gewinn grunds¨ atzlich feststeht.
14
1 Projektmanagement
1.2.2 Machbarkeitsstudie Die Durchf¨ uhrung von Projekten ist i.d.R. mit einem hohem Aufwand verbunden und hat f¨ ur ein Unternehmen weitreichende Konsequenzen sowohl bei erfolgreicher als auch bei erfolgloser Projektdurchf¨ uhrung. Aus diesem Grund ist es wichtig, sich zu Beginn eines Projektes im Rahmen einer Machbarkeitsstudie von der Realisierbarkeit eines Projektes zu u ¨ berzeugen. Wichtige Aspekte einer solchen Machbarkeitsstudie werden z.B. in Diethelm (2000, Kapitel II.3.3), Klein (2000, Kapitel 1.3.1) oder Schwarze (2001, Kapitel 5) behandelt. Der konkrete Inhalt einer Machbarkeitsstudie h¨angt wesentlich vom zugrunde liegenden Projekt ab, so dass an dieser Stelle nur kurz einige ausgew¨ ahlte Kriterien f¨ ur die Durchf¨ uhrung einer solchen Studie besprochen werden. Zun¨ achst muss die technische Machbarkeit eines Projektes erwogen werden. Es ist sicherzustellen, dass die f¨ ur die Durchf¨ uhrung des Projektes ben¨ otigten Technologien und das korrespondierende Wissen im Unternehmen vorhanden sind oder aber im Projektverlauf beschafft werden k¨onnen. Weiterhin muss personelle Machbarkeit gew¨ ahrleistet sein, d.h. die f¨ ur das Projekt ben¨ otigten Mitarbeiter m¨ ussen sowohl in qualitativer als auch quantitativer Hinsicht zur Verf¨ ugung stehen oder akquiriert werden k¨onnen. Selbiges muss f¨ ur die zur Durchf¨ uhrung eines Projektes ben¨otigten Ressourcen gelten. Im Projektverlauf m¨ ussen beispielsweise die ben¨ otigten Maschinen oder Laboreinrichtungen verf¨ ugbar sein. Die finanziellen Mittel zur Durchf¨ uhrung des Projektes bzw. der einzelnen Teilprojekte m¨ ussen sowohl in hinreichender H¨ohe als auch zu den Zeitpunkten zur Verf¨ ugung stehen, zu denen sie voraussichtlich ben¨ otigt werden, um die Liquidit¨ at des Unternehmens zu wahren.1 Von Bedeutung sind ferner Untersuchungen im Hinblick auf die soziale, rechtliche und psychologische Machbarkeit eines Projektes. Dabei ist zu eruieren, ob die Projektdurchf¨ uhrung zu sozialen H¨ arten und Unzumutbarkeiten f¨ uhrt (z.B. bei einer Unternehmensreorganisation, die in enger Abstimmung mit dem Betriebsrat durchgef¨ uhrt wird), welche juristischen Konsequenzen aus einem Projekt erwachsen k¨ onnen (bspw. steuerliche Aspekte, die aus Transferpreisregelungen im Rahmen eines Kostensenkungsprojekt in der Beschaffung erwachsen k¨ onnen) und ob bei der Projektdurchf¨ uhrung psychologische H¨ urden wie beispielsweise Akzeptanzprobleme bei Mitarbeitern (etwa bei der Einf¨ uhrung einer neuen Software) zu bew¨ altigen sind. Im Anschluss an die Machbarkeitsstudie muss die Unternehmensf¨ uhrung basierend auf den Ergebnissen der Untersuchungen dar¨ uber entscheiden, ob das betrachtete Projekt weiter verfolgt werden soll oder nicht.
1
¨ Uber die Zeitpunkte, zu denen die aus einem Projekt resultierenden Ein- und Auszahlungen anfallen, gibt der im Rahmen der Ablauforganisation erstellte Meilensteinplan (vgl. Abschnitt 1.3.2) sowie der Projektplan (vgl. Abschnitt 1.4.5) n¨ ahere Ausk¨ unfte.
1.2 Projektkonzeption
15
1.2.3 Aufwandssch¨ atzung und Wirtschaftlichkeitsanalyse Die nachfolgend beschriebene Aufwandssch¨ atzung und die Wirtschaftlichkeitsanalyse stellen zwei zentrale Schritte der Projektkonzeption dar. Dabei dient die Aufwandssch¨ atzung der Quantifizierung des mit der Realisierung eines Projektes verbundenen mengen- oder wertm¨aßigen Aufwandes. Die anschließende Wirtschaftlichkeitsanalyse, die auf den Ergebnissen der Aufwandssch¨ atzung aufbaut, dient zur Beurteilung der Wirtschaftlichkeit eines Projektes. Ihr Ergebnis ist eine wesentliche Einflussgr¨oße bei der Entscheidung u uhrung oder Nicht-Durchf¨ uhrung von Projekten im Rahmen ¨ ber die Durchf¨ der Projektselektion (vgl. Abschnitt 1.2.5). Als Aufwand eines Projektes wird der gesamte mengenm¨aßige oder der bewerte Einsatz von Ressourcen und finanziellen Mitteln bezeichnet, der zur Realisierung eines Projektes notwendig ist.2 Die Aufwandssch¨atzung dient der m¨ oglichst genauen Sch¨ atzung des Projektaufwandes. Der so ermittelte Projektaufwand wird z.B. f¨ ur die Ermittlung von Preisuntergrenzen bei Vertrags¨ verhandlungen, die innerbetriebliche Budgetplanung, die Steuerung, Uberwachung und Kontrolle eines Projektes oder als Grundlage f¨ ur Projektvergleiche ben¨ otigt. Da der Projektaufwand a priori ermittelt wird, handelt es sich naturgem¨ aß um eine (unsichere) Sch¨ atzgr¨ oße, die vom sp¨ater tats¨achlich realisierten Aufwand abweichen wird. Bei Routineprojekten werden in dem ausf¨ uhrenden Unternehmen Erfahrungen mit ¨ ahnlichen Projekten vorhanden sein, die eine relativ zuverl¨ assige Aufwandssch¨ atzung erm¨oglichen. Bei besonders innovativen, einmaligen Projekten hingegen ist der gesch¨atzte Aufwand meist mit großen Unsicherheiten belastet. Allgemein gilt, dass mit fortschreitendem Planungsstand die Sch¨ atzung des Projektaufwandes zunehmend genauer erfolgt. Eine erste Aufwandssch¨ atzung f¨ ur ein Projekt wird meist auf der Basis der noch recht ungenauen Daten aus der Projektkonzeption durchgef¨ uhrt. In sp¨ ateren Projektphasen wird diese Sch¨ atzung fortgeschrieben bzw. aktualisiert. Die H¨ ohe des Aufwandes eines Projektes h¨angt dabei von einer Vielzahl von Einflussgr¨ oßen ab, die m¨ oglichst vollst¨ andig ber¨ ucksichtigt werden sollten. Beispiele f¨ ur solche Einflussgr¨ oßen sind der Leistungsumfang bzw. die Gr¨ oße“ eines Projektes, die Komplexit¨ at bzw. der Schwierigkeitsgrad eines ” Projektes, die angestrebte Qualit¨ at der durch das Projekt zu erbringenden Leistung oder die Qualifikation, Erfahrung und Motivation der Projektmitarbeiter. Zur Sch¨ atzung des Projektaufwandes wird in der Praxis h¨aufig eines der vier nachfolgend in ihren Grundz¨ ugen dargestellten Verfahren angewendet. ur die H¨ohe Bei der Analogiemethode ermittelt man zun¨achst s¨amtliche f¨ des Projektaufwandes maßgeblichen Einflussgr¨oßen. Anschließend vergleicht man das betrachtete Projekt mit bereits durchgef¨ uhrten Projekten, die in 2
Wir wollen den Begriff Aufwand“ im Folgenden nicht im Sinne seiner engeren ” betriebswirtschaftlichen Definition als Stromgr¨ oße, sondern weiter gefasst verstehen.
16
1 Projektmanagement
Bezug auf die vorher identifizierten Einflussgr¨oßen unter ¨ahnlichen Rahmenbedingungen realisiert wurden. Dann wird von dem tats¨achlich realisierten Aufwand der Vergleichsprojekte auf den Aufwand des betrachteten Projektes geschlossen, wobei Unterschiede der Projekte ber¨ ucksichtigt werden m¨ ussen. Die Analogiemethode wird h¨ aufig bei Bauprojekten verwendet. Der Bautr¨ager eines Einfamilienhauses kann z.B. aus vergangenen Projekten meist recht genau den Aufwand f¨ ur ein neues Bauprojekt ermitteln, indem er auf Grundlage vergleichbarer Bauprojekte, die dem betrachteten Projekt z.B. bez¨ uglich der Anzahl der Stockwerke oder des Baugrundes ¨ ahneln, einen durchschnittlichen Kostensatz je Kubikmeter umbauten Raumes bestimmt. Ein großer Vorteil der Analogiemethode ist ihre einfache Anwendbarkeit. Allerdings h¨angt die G¨ ute der resultierenden Sch¨ atzwerte ganz wesentlich von den Erfahrungswerten des ausf¨ uhrenden Unternehmens mit vergleichbaren Projekten ab. Betrachten wir ein kleines Beispiel zur Analogiemethode. ¨ Beispiel 1.1. Ein Energieversorgungsunternehmen plant den Bau einer Olpipeline von insgesamt 1000 km L¨ ange. Die geplante Trasse f¨ uhrt u ¨ber ca. 300 km durch dicht bewaldetes Gebiet und f¨ ur ca. 700 km durch unbewohntes, gut zug¨ angliches Gebiet. Aus vergangenen Projekten ist dem Unternehmen bekannt, dass je Kilometer gebauter Pipeline in gut zug¨anglichem Gebiet Kosten in H¨ ohe von 850 000 e anfallen. F¨ uhrt die Pipeline durch bewaldetes Gebiet, so fallen je Kilometer erfahrungsgem¨ aß zus¨ atzlich 150 000 e f¨ ur Rodungsarbeiten an. Insgesamt sch¨ atzt das Unternehmen den monet¨aren Aufwand f¨ ur den Bau der neuen Pipeline daher auf 300 km·1 000 000 e/km+700 km·850 000 e/km = 895 000 000 e. Bei der Sch¨ atzung des Projektaufwandes mit Hilfe der Prozentsatzmethode wird das betrachtete Projekt zun¨ achst in einzelne Teilprojekte unterteilt. Ausgehend von Erfahrungswerten mit vergleichbaren Projekten bestimmt man dann eine prozentuale Verteilung des gesamten Projektaufwandes auf die einzelnen Teilprojekte. Anschließend wird ein repr¨asentatives Teilprojekt realisiert oder der Aufwand dieses Teilprojektes detailliert gesch¨atzt, z.B. mit Hilfe von Expertenbefragungen, St¨ ucklisten oder Arbeitsgangbeschreibungen. Mittels der eingangs vorgenommenen Aufwandsverteilung auf die einzelnen Teilprojekte kann dann auf der Grundlage des ermittelten Aufwands des untersuchten Teilprojektes auf den Gesamtaufwand geschlossen werden. Die Prozentsatzmethode ist ¨ ahnlich einfach anzuwenden wie die Analogiemethode und die G¨ ute der resultierenden Sch¨ atzung h¨ angt ebenso von der vorhandenen Erfahrung mit ¨ ahnlichen Projekten ab. Bei der Sch¨atzung des Aufwands f¨ ur das repr¨ asentative Teilprojekt muss besonders sorgf¨altig vorgegangen werden, da sich Sch¨ atzfehler im Ergebnis multiplikativ niederschlagen. Zur Verdeutlichung der Prozentsatzmethode betrachten wir wieder ein kleines Beispiel. Beispiel 1.2. Ein Unternehmen der chemischen Industrie entwickelt einen neuen Produktionsprozess zur Herstellung von Plastikgranulat aus Kunststoffabf¨ allen. Das entsprechende Projekt l¨ asst sich in vier Teilprojekte untergliedern. In einem ersten Schritt muss ein geeigneter Sortierprozess zur farblichen
1.2 Projektkonzeption
17
Trennung der Kunststoffabf¨ alle entwickelt werden (Sortieren). Anschließend m¨ ussen die Prozesse zur Reinigung der Kunststoffabf¨alle (Waschen) sowie f¨ ur deren Einschmelzung (Schmelzen) gestaltet werden. Im vierten Schritt ist dann der Produktionsprozess zur Erzeugung des Plastikgranulats aus der Kunststoffschmelze zu entwerfen (Produktion). Da das Unternehmen ¨ahnliche Projekte schon mehrfach durchgef¨ uhrt hat, kann relativ gesichert davon ausgegangen werden, dass sich der zeitliche Aufwand f¨ ur die Durchf¨ uhrung des Projektes im Verh¨ altnis 20% : 10% : 40% : 30% auf die Teilprojekte Sortieren, Waschen, Schmelzen und Produktion verteilt. Eine detaillierte Aufwandssch¨ atzung f¨ ur das Teilprojekt Waschen ergibt, dass f¨ ur den Abschluss dieses Teilprojektes etwa 15 Tage veranschlagt werden m¨ ussen. Daraus ergibt sich dann beispielsweise f¨ ur das Teilprojekt Sortieren ein gesch¨atzter zeitlicher Aufwand von 15 · (20%/10%) = 30 Tagen. Der resultierende Aufwand in Tagen f¨ ur die beiden verbleibenden Teilprojekte ist in Tabelle 1.2 angegeben. Tabelle 1.2. Aufwandsverteilung und zeitlicher Aufwand der einzelnen Teilprojekte Teilprojekt
Aufwandsverteilung
Sortieren Waschen Schmelzen Produktion
20% 10% 40% 30%
zeitlicher Aufwand 30 15 60 45
Tage Tage Tage Tage
Faktorenverfahren stellen den Gesamtaufwand eines Projektes als lineare Funktion der f¨ ur den Aufwand maßgeblichen Einflussgr¨oßen dar. Sei xi der Wert bzw. die Auspr¨ agung der Einflussgr¨ oße i, i = 1, . . . , n, dann ergibt sich der Gesamtaufwand A zu A = b + a1 x1 + a2 x2 + . . . + an xn = b +
n
ai xi .
(1.1)
i=1
Der Parameter b stellt einen konstanten Term dar, der den fixen Aufwandsanteil am Gesamtaufwand widerspiegelt. Die Parameter ai , i = 1, . . . , n, sind Koeffizienten, die den Einfluss der Gr¨ oße xi auf den Gesamtaufwand A repr¨ asentieren. b und a1 , . . . , an sind zun¨ achst unbekannt und k¨onnen mit Hilfe einer linearen Regressionsanalyse basierend auf Erfahrungswerten aus vergangenen Projekten gesch¨ atzt werden.3 Dazu werden die Parameter b und a1 , . . . , an so festgelegt, dass der quadratische Abstand der Hyperebene (1.1) von den beobachteten Werten (x1p , . . . , xnp , Ap ) der vergleichbaren, bereits durchgef¨ uhrten Projekte p = 1, . . . , m minimal ist. Sind die Gr¨oßen b und a1 , . . . , an festgelegt, kann der Gesamtaufwand f¨ ur das betrachtete Projekt 3
F¨ ur eine Einf¨ uhrung in die Regressionsrechnung verweisen wir z.B. auf Bamberg und Baur (2001) oder Schlittgen (1998).
18
1 Projektmanagement
ermittelt werden, indem die entsprechenden Werte xi der relevanten Einflussgr¨ oßen in Gleichung (1.1) eingesetzt werden. Die G¨ ute der Aufwandssch¨atzung h¨ angt beim Faktorenverfahren wie bei den vorgenannten Sch¨atzmethoden von der Menge vorhandener Vergleichsprojekte ab. Anders als bei den vorgenannten Verfahren und abgesehen von der Wahl der zu ber¨ ucksichtigenden Einflussgr¨ oßen ist die Sch¨ atzung aber frei von subjektiven Einfl¨ ussen, die das Ergebnis verzerren k¨ onnten.4 Wir betrachten im Folgenden ein Beispiel zur Demonstration des Faktorenverfahrens. Beispiel 1.3. Ein Softwareunternehmen entwickelt im Kundenauftrag eine Individualsoftware. Ein zentrales Teilprojekt dieses Entwicklungsprojektes besteht in der Implementierung geeigneter Schnittstellen zur Einbettung der Software in eine bestehende DV-Infrastruktur. Erfahrungsgem¨aß h¨angt der monet¨ are Aufwand f¨ ur die notwendigen Implementierungsarbeiten n¨aherungsweise linear von der Anzahl der beim Kunden vorhandenen Softwaresysteme ab. Die entsprechenden Erfahrungswerte sind in Tabelle 1.3 angegeben. Dabei bezeichne der Index p jeweils das bereits abgeschlossene Teilprojekt, xp die Anzahl der zu ber¨ ucksichtigenden Softwaresysteme und Ap den aus der Realisierung des Teilprojektes p folgenden Aufwand in Euro.5 Tabelle 1.3. Anzahl ben¨ otigter Schnittstellen und zugeh¨ origer Aufwand Teilprojekt p Anzahl Schnittstellen (xp ) Aufwand in 1 000 Euro (Ap )
1
2
3
4
7 30
9 37
6 29,5
12 43
Das betrachtete Softwareunternehmen will nun im Rahmen eines Projektes eine Individualsoftware entwickeln, die u ¨ber x = 10 Schnittstellen zu anderen Softwaresystemen verf¨ ugt und interessiert sich f¨ ur den hieraus resultierenden monet¨ aren Aufwand A. Die zugeh¨ orige lineare Regressionsgleichung, die den Aufwand als Funktion der Anzahl zu implementierender Schnittstellen angibt, lautet A = b + ax . Zur Sch¨ atzung der Parameter a und b wird die Summe der Abweichungsquadrate minimiert, d.h. wir l¨ osen das Optimierungsproblem Minimiere Q(b, a) =
4
(Ap − (b + axp ))2 .
p=1
Nullsetzen der partiellen Ableitungen von Q ergibt 4
5
Die geeignete Wahl der relevanten Einflussgr¨ oßen kann jedoch methodisch durch eine statistische Korrelationsanalyse unterst¨ utzt werden. Da nur eine Einflussgr¨ oße ber¨ ucksichtigt wird, n¨ amlich die Anzahl ben¨ otigter Schnittstellen zu anderen DV-Systemen, kann auf den Index i verzichtet werden.
1.2 Projektkonzeption
4 a=
p=1 (xp − x)(Ap − 4 2 p=1 (xp − x)
19
A)
und b = A − ax , wobei x und A das arithmetische Mittel der jeweiligen Beobachtungen xp und Ap f¨ ur alle p darstellen.6 Durch Einsetzen der Werte aus Tabelle 1.3 erhalten wir f¨ ur x ¯ = 8,5 und A¯ =34 875 e. Damit ist b = 14 535,7 und a = 2 392,9. F¨ ur x = 10 ergibt sich der gesch¨ atzte Aufwand zur Implementierung der Schnittstellen dann zu A ≈ 38 464 e. Die Function-Point-Methode ist ein Verfahren zur Aufwandssch¨atzung, das vor allem bei Softwareprojekten angewendet wird. Ein Softwaresystem, das Gegenstand eines solchen Projektes ist, zerlegen wir dabei zun¨achst in einzelne Softwaremodule. Dabei nehmen wir an, dass ein beliebiges Softwaremodul sich prinzipiell aus einer Menge grundlegender Funktionstypen zusammensetzt, z.B. Eingabefunktionen, Ausgabefunktionen oder Berechnungsfunktionen. Nun bestimmen wir u ur das gesamte Software¨ ber alle Module hinweg f¨ system und jeden Funktionstyp die Anzahl der ben¨otigten Funktionen. Die einzelnen Funktionen lassen sich dabei hinsichtlich ihrer Komplexit¨at unterscheiden, d.h. wir differenzieren z.B. zwischen einem niedrigen, durchschnittlichen oder hohen Komplexit¨ atsniveau einer jeden Funktion. Ordnen wir jedem Komplexit¨ atsniveau ein positives, mit zunehmender Komplexit¨at wachsendes Gewicht zu, dann erhalten wir die so genannten Function-Points eines Funktionstyps und eines zugeh¨ origen Komplexit¨ atsgrades als Produkt der Anzahl der Funktionen und des Komplexit¨ atsniveaus. Die Summe aller Function-Points ist ein erstes Indiz f¨ ur den mit einem Projekt verbundenen Aufwand. Anschließend werden eine Menge projektspezifischer Einflussgr¨oßen identifiziert, die sich auf den Projektaufwand auswirken und die Summe der FunctionPoints entsprechend vermindern oder erh¨ ohen. Die Summe der resultierenden modifizierten Function-Points repr¨ asentiert schließlich den gesamten Aufwand des Projektes in einer aggregierten, dimensionslosen Gr¨oße. Um Informationen u ¨ ber den Projektaufwand in Tagen oder Euro zu erhalten, vergleichen wir die Summe der modifizierten Function-Points mit den Function-Points vergangener Projekte, f¨ ur die der mengen- oder wertm¨ aßige Aufwand bekannt ist. Um das Prinzip der Function-Point-Methode zu verdeutlichen, betrachten wir das nachfolgende Beispiel.
6
Die beschriebene Vorgehensweise beruht auf der Annahme, dass die Beobachtungen xi nicht identisch sind, d.h. die Summe der quadratischen Abweichungen m 2 (x ahrleistet, dass p − x) ist positiv. Unter dieser Voraussetzung ist gew¨ p=1 Q(b, a) genau eine Minimalstelle besitzt (vgl. Bamberg und Baur, 2001, Kapitel 4.3).
20
1 Projektmanagement
Beispiel 1.4. In Tabelle 1.4 wird die Bestimmung der modifizierten Function-Points beispielhaft aufgezeigt. Dazu betrachten wir ein Softwareentwicklungsprojekt, bei dem zwischen drei Funktionstypen (Eingabe, Ausgabe, Berechnung) sowie drei Komplexit¨ atsniveaus (niedrig, durchschnittlich, hoch) mit zugeh¨ origer Gewichtung unterschieden wird. Die Summe A der FunctionPoints erhalten wir durch Multiplikation der Anzahl der jeweiligen Funktionen mit den zugeh¨ origen Gewichten und Addition der entsprechenden Zeilensummen (vgl. Tab. 1.4, A = 570). Weiterhin nehmen wir an, dass drei zentrale Einflussgr¨ oßen identifiziert werden k¨ onnen (Verflechtung mit anderen Anwendungssystemen, Datenbestandskonvertierungen, Wiederverwendbarkeit), die sich jeweils im gleichen Maße auf die H¨ ohe des Projektaufwandes auswirken. Der vorl¨ aufige Function-Point-Wert A soll durch diese Einflussgr¨oßen um insgesamt h¨ ochstens ±30% modifiziert werden, d.h. die modifizierten FunctionPoints ergeben sich gem¨ aß A · C mit C ∈ [0,7; 1,3]. Daher ordnen wir jeder der drei Einflussgr¨ oßen einen Wert zwischen 0 und 20 Punkten zu, der das Ausmaß der Ver¨anderung der vorl¨ aufigen Function-Points durch die betrachtete Gr¨ oße widerspiegelt. Die Summe B dieser Werte spiegelt die Ver¨anderung von A durch die betrachteten Einflussgr¨ oßen wider und geht in die Ermittlung von C gem¨ aß C = B/100 + 0,7 ein. F¨ ur B = 30 entsprechen die modifizierten Function-Points gerade A, f¨ ur B < 30 sind die modifizierten Function-Points niedriger und f¨ ur B > 30 sind die modifizierten Function-Points gr¨oßer als A. Der Aufwand des betrachteten Projektes betr¨agt 581,4 Function-Points. Hat das ausf¨ uhrende Unternehmen in der Vergangenheit bereits eine Vielzahl von Projekten ausgef¨ uhrt, f¨ ur die die zugeh¨ origen modifizierten Function-Points sowie der tats¨ achliche mengen- oder wertm¨ aßige Aufwand bekannt sind, dann k¨ onnen wir daraus auf den erwarteten Aufwand des betrachteten Projektes schließen. Obgleich die Function-Point-Methode vor allem im Rahmen von Softwareprojekten eingesetzt wird, ist sie grunds¨ atzlich auch f¨ ur andere Arten von Projekten anwendbar. Voraussetzung daf¨ ur ist jedoch, dass die betrachteten Projekte sich in mehr oder minder standardisierte T¨atigkeiten bzw. Arbeitsg¨ange (Funktionen) disaggregieren lassen, wie es beispielsweise h¨aufig in der Kundenauftragsfertigung der Fall ist. F¨ ur hoch innovative und wenig standardisierbare Projekte, z.B. in der Produktentwicklung oder Forschungsprojekte, ist die Function-Point-Methode dagegen weniger geeignet. Die beschriebenen Verfahren zur Aufwandssch¨atzung stellen recht einfache Verfahren dar, die sich auf eine Vielzahl von Projekten anwenden lassen. F¨ ur spezielle Projekttypen existieren in der Literatur meist spezialisierte Methoden zur Sch¨ atzung des Projektaufwandes, die projektspezifische Besonderheiten besser ber¨ ucksichtigen, als dies ein generisches Verfahren vermag. Bei der Entwicklung und Implementierung von Soft- und Hardware hat die quantitative methodische Unterst¨ utzung bei der Aufwandssch¨atzung eine lange Tradition. Burghardt (2000, Kapitel 3.2) beschreibt f¨ ur solche Projekte eine Vielzahl spezialisierter Sch¨ atzverfahren, die in den wesentlichen Grundz¨ ugen
1.2 Projektkonzeption
21
Tabelle 1.4. Berechnungsformular zur Function-Point Methode Funktion
Anzahl 30 Eingabe 20 10 20 Ausgabe 10 15 10 Berechnung 8 10 Summe
Komplexit¨ at Gewichtung Zeilensumme niedrig ·3 = 90 durchschnittlich ·4 = 80 hoch ·6 = 60 niedrig ·3 = 60 durchschnittlich ·4 = 40 hoch ·6 = 90 niedrig ·4 = 40 durchschnittlich ·5 = 40 hoch ·7 = 70 A = 570
Einflussgr¨ oßen (modifizieren die Function-Points A um ±30%)
Verflechtung mit anderen Anwendungssystemen (0–20) Datenbestandskonvertierungen (0–20) Wiederverwendbarkeit (0 –20) B
Summe
= 15 =7 = 10 = 32
Modifikationsfaktor C = B/100 + 0, 7
= 1,02
Modifizierte Function-Points: A · C
= 581,4
auf dem Verfahrensprinzip der Analogiemethode, Prozentsatzmethode, des Faktorenverfahrens oder der Function-Point-Methode beruhen. Im Anschluss an die Ermittlung des Projektaufwandes wenden wir uns im Rahmen der Wirtschaftlichkeitsanalyse den aus der Projektdurchf¨ uhrung resultierenden Erl¨ osen“ zu. Aufgabe einer Wirtschaftlichkeitsanalyse ist es, ” ein Projektvorhaben unter wirtschaftlichen Gesichtspunkten zu betrachten. Das Wirtschaftlichkeitsprinzip als betriebswirtschaftliche Handlungsmaxime sollte grunds¨ atzlich auch bei Projekten Anwendung finden, d.h. ein Projekt sollte nur dann durchgef¨ uhrt werden, wenn hieraus ein monet¨ar messbarer Nutzen resultiert. Zu diesem Zweck wird in geeigneter Form stets der mit der Durchf¨ uhrung eines Projektes verbundene monet¨are Aufwand“ dem prognos” tizierten Erl¨ os“ bei erfolgreichem Projektabschluss gegen¨ ubergestellt. Es ist ” jedoch zu beachten, dass nicht jedes Projekt uneingeschr¨ankt und unmittelbar am Wirtschaftlichkeitsprinzip orientiert werden kann. Das betrifft beispielsweise Public-Relations-Projekte, die der F¨ orderung der Reputation eines Unternehmens dienen, oder Reorganisationsprojekte, die aufgrund strategischer Entscheidungen der Gesch¨ aftsleitung durchgef¨ uhrt werden und deren Nutzen sich bisweilen nur schwer monet¨ ar messen l¨ asst. Im Gegensatz zur Aufwandssch¨ atzung werden bei der Wirtschaftlichkeitsanalyse ausschließlich monet¨ ar quantifizierbare Gr¨oßen ber¨ ucksichtigt. Hierunter fallen insbesondere die betriebswirtschaftlichen Stromgr¨oßen Ein-
22
1 Projektmanagement
bzw. Auszahlungen sowie Kosten bzw. Leistungen.7 Ein- und Auszahlungen erh¨ ohen bzw. vermindern den Bestand an liquiden Mitteln in einem Unternehmen und lassen sich (ex post) eindeutig einem bestimmten Zeitpunkt zuordnen. Kosten bzw. Leistungen entsprechen dem Wert aller verbrauchten bzw. erbrachten G¨ uter im Rahmen der betrieblichen T¨atigkeit, und sie vermindern bzw. erh¨ ohen das betriebsnotwendige Verm¨ ogen eines Unternehmens. Anders als Ein- und Auszahlungen lassen sich Leistungen und Kosten i.d.R. nicht exakt einem Zeitpunkt zuordnen, sondern lediglich einem bestimmten Zeitraum, da es sich um periodenbezogene Gr¨ oßen handelt. Bevor mit einer Wirtschaftlichkeitsanalyse begonnen werden kann, m¨ ussen zun¨ achst alle Ein- und Auszahlungen bzw. Leistungen und Kosten ermittelt werden, die unmittelbar oder mittelbar aus der Durchf¨ uhrung des betrachteten Projektes resultieren. Auszahlungen oder Kosten lassen sich aus dem im Zuge der Aufwandssch¨ atzung ermittelten Projektaufwand herleiten. Handelt es sich dabei um einen mengenm¨ aßigen oder zeitlichen Aufwand, so wird dieser z.B. mit Marktpreisen, Wiederbeschaffungspreisen, Anschaffungs- und Herstellkosten, Opportunit¨ atskosten oder Kostens¨atzen pro Arbeits- oder Maschinenstunde bewertet, um eine monet¨ are Gr¨oße zu erhalten. Einzahlungen bzw. Leistungen ergeben sich i.d.R. aus vertraglich fixierten Abschlags- oder Vorauszahlungen f¨ ur die Fertigstellung einzelner Teilprojekte oder aus prognostizierten Absatzpreisen und -mengen f¨ ur ein marktg¨angiges Endprodukt. Sind s¨ amtliche relevanten Zahlungen bzw. Kosten und Leistungen ermittelt worden, kann mit Hilfe der bekannten Verfahren der Wirtschaftlichkeitsbzw. Investitionsrechnung eine Wirtschaftlichkeitsanalyse durchgef¨ uhrt wer¨ den. Einen entsprechenden Uberblick findet man z.B. in Perridon und Stei¨ ner (2004) oder Kruschwitz (2005). Ublicherweise wird dabei zwischen so genannten statischen und dynamischen Verfahren der Wirtschaftlichkeitsrechnung unterschieden. Bei den statischen Verfahren zur Wirtschaftlichkeitsrechnung werden i.d.R. s¨ amtliche Kosten und Leistungen einer repr¨ asentativen Periode eines Projektes ermittelt und, gegliedert nach Kosten- und Leistungsarten, einander gegen¨ ubergestellt. Der Saldo dieser Gegen¨ uberstellung entspricht dem aus der Durchf¨ uhrung des Projektes resultierenden Gewinn oder Verlust. Da Kosten und Leistungen periodenbezogene Gr¨ oßen sind, wird eine solche statische Wirtschaftlichkeitsrechnung f¨ ur eine repr¨ asentative, durchschnittliche Periode ur den gesamten Projektlebenszyklus. Zu den statischen durchgef¨ uhrt oder f¨ Verfahren wird auch die Amortisationsdauerrechnung gez¨ahlt, die ausgehend von den mit einem Projekt assoziierten Ein- und Auszahlungen ermittelt, ob bzw. wann sich ein Projekt amortisiert. Die Amortisationsdauer ist also die Zeitspanne, die ben¨ otigt wird, damit die kumulierte Summe der mit einem
7
¨ F¨ ur einen Uberblick und eine einf¨ uhrende Darstellung u ¨ber die zentralen betriebswirtschaftlichen Bestands- und Stromgr¨ oßen verweisen wir z.B. auf Haberstock (2004) oder Coenenberg (2003).
1.2 Projektkonzeption
23
Projekt verbundenen laufenden Einzahlungen die H¨ohe der kumulierten Auszahlungen u ¨ bersteigt. Statische Verfahren der Wirtschaftlichkeitsrechnung sind im Allgemeinen sehr einfach zu handhaben. Sie haben jedoch den entscheidenden Nachteil, dass sie die zeitliche Struktur der mit einem Projekt verbundenen Ein- und Auszahlungen nicht hinreichend ber¨ ucksichtigen. Dynamische Verfahren der Wirtschaftlichkeitsrechnung, wie z.B. die Kapitalwertmethode oder die Methode des internen Zinsfußes, ber¨ ucksichtigen hingegen die zeitliche Struktur der Projektzahlungen. Bei der Kapitalwertmethode werden s¨amtliche Ein- und Auszahlungen, die sich aus einem Projekt ergeben, unter Zuhilfenahme eines geeigneten Kalkulationszinsfußes auf einen einheitlichen Zeitpunkt auf- oder abgezinst. Die Zeitpunkte, zu denen eine Zahlung stattfindet, sind dabei Gegenstand der Projektplanung (vgl. Abschnitt 1.4.5). Der Einfachheit halber nehmen wir im Folgenden jedoch an, dass sich f¨ ur alle Zahlungen die korrespondierenden Zahlungszeitpunkte im Vorhinein sch¨atzen lassen, z.B. auf der Grundlage eines Meilensteinplans, wie wir ihn in Abschnitt 1.3.2 erl¨autern. Bezeichne zt die Summe der Ein- und Auszahlungen zum Zeitpunkt t = 0, . . . , T und r den einheitlichen Soll- bzw. Habenzins, so wird mit NPV =
T
zt (1 + r)−t
t=0
der Kapitalwert (Barwert, net present value) eines Projektes bezeichnet.8 Ist der Kapitalwert eines Projektes positiv, so ist die Durchf¨ uhrung des Projektes im Vergleich zur alternativen Geldanlage zum Kalkulationszins vorteilhaft. Bei der Methode des internen Zinsfußes ist das Ergebnis der Wirtschaftlichkeitsrechnung der Zinssatz r, f¨ ur den der Kapitalwert NPV eines Projektes gerade den Wert 0 hat. Der interne Zinsfuß ist somit ein Maßstab f¨ ur die Verzinsung eines Projektes. Ist der interne Zinsfuß positiv und gr¨oßer als ein Vergleichszinssatz, so gilt die Durchf¨ uhrung des Projektes als wirtschaftlich. Problematisch an dieser Methode ist, dass sich f¨ ur viele Projekte entweder kein oder aber viele verschiedene interne Zinsf¨ uße ergeben k¨onnen, da die Kapitalwertfunktion NPV in Abh¨ angigkeit vom Zinssatz r ein Polynom darstellt, f¨ ur das keine, eine oder mehrere Nullstellen existieren k¨onnen. Beispiel 1.5. Ein Unternehmen analysiert ein Projekt, f¨ ur das vier wesentliche Meilensteine identifiziert wurden. Tabelle 1.5 zeigt die geplanten Eintrittszeitpunkte dieser Meilensteine sowie die saldierten Ein- bzw. Auszahlungen, 8
Ist der Sollzins s gr¨ oßer als der Habenzins h, dann wird der so genannte Endwert anstelle des Barwertes (Kapitalwertes) bestimmt. Der Endwert CT ergibt sich aus den Rekursionsgleichungen ur Ct−1 < 0 Ct−1 (1 + s) + zt f¨ Ct := ur Ct−1 ≥ 0 Ct−1 (1 + h) + zt f¨ f¨ ur t = 1, . . . , T und mit C0 := z0 , indem alle Zahlungen auf den Zeitpunkt T aufgezinst werden.
24
1 Projektmanagement
die bei Erreichen eines Meilensteins anfallen. Es werde weiter angenommen, dass die Zahlungen gerade zu Vielfachen der Zinszuschlagstermine anfallen und der g¨ angige Marktzins f¨ ur eine Zinsperiode 3% betrage. Der Kapitalwert des Projektes ist dann NPV =
−30 000 15 000 7 000 16 000 + + + = −12 597,40 e . 1,030 1,0315 1,0327 1,0342
Da der Kapitalwert negativ ist, ist die Durchf¨ uhrung des Projektes f¨ ur das Unternehmen unter wirtschaftlichen Gesichtspunkten nicht lohnenswert. Das Unternehmen w¨ are besser gestellt, wenn es die Anfangsauszahlung i.H.v. 30 000 e zum Zinssatz von 3% am Kapitalmarkt anlegen w¨ urde. Tabelle 1.5. Zahlungen eines Projektes und zugeh¨ orige antizipierte Zahlungszeitpunkte Meilenstein Zeitpunkt (Zinsperioden) Zahlung
1
2
3
4
0 −30 000 e
15 15 000 e
27 7 000 e
42 16 000 e
Die klassischen statischen und dynamischen Verfahren der Investitionsund Wirtschaftlichkeitsrechnung sind bei der Wirtschaftlichkeitsanalyse von Projekten bisweilen nur eingeschr¨ ankt verwendungsf¨ahig, da die erforderlichen Daten, wie beispielsweise die H¨ ohe der mit einem Projekt verbundenen Einund Auszahlungen, h¨ aufig nicht in der erforderlichen Genauigkeit beschafft oder gesch¨ atzt werden k¨ onnen. Ebenso verh¨ alt es sich mit der (planungsabh¨ angigen) Terminierung der Ein- und Auszahlungen. Eine genaue Terminierung der Zahlungen ist vor Durchf¨ uhrung der Projektplanung meist nicht m¨oglich und selbst wenn die genauen Startzeitpunkte der Projektvorg¨ange gegeben sind, kann es beispielsweise aufgrund von St¨orungen w¨ahrend der Projektrealisation zu Abweichungen kommen. Unsicherheit besteht in der Praxis h¨ aufig auch hinsichtlich der Wahl eines geeigneten Kalkulationszinssatzes, der die Grundlage f¨ ur die Ermittlung des Barwertes eines Projektes darstellt. Aus den genannten Gr¨ unden ist es wichtig darauf hinzuweisen, dass es sich bei dem Ergebnis einer im Vorfeld eines Projektes durchgef¨ uhrten Wirtschaftlichkeitsanalyse stets um eine Sch¨ atzgr¨ oße handelt, die teils betr¨achtlich von der tats¨ achlich realisierten Gr¨ oße abweichen kann. Zur Durchf¨ uhrung einer Wirtschaftlichkeitsanalyse bei unbekannten oder unsicheren Daten (z.B. hinsichtlich der H¨ ohe der anfallenden Zahlungen) existieren stochastische Ans¨ atze, auf die hier nicht n¨aher eingegangen wird; vgl. hierzu bspw. Perridon und Steiner (2004) oder Breuer (2001). F¨ ur den Fall, dass ein geeigneter Kalkulationszins nicht ermittelt werden kann, bietet sich ein von Schwindt und Zimmermann (2002) entwickelter Ansatz der parametrischen Optimierung an, mit dessen Hilfe man den Barwert eines Projektes in Abh¨ angigkeit vom (endogenen) Kalkulationszins bestimmen
1.2 Projektkonzeption
25
kann. In der Praxis bedient man sich in solchen F¨allen h¨aufig einer Szenarioanalyse, d.h. es wird eine Reihe von wahrscheinlichen“ Projektverl¨aufen ” in Abh¨ angigkeit von unsicheren Umwelteinfl¨ ussen skizziert und jeder davon separat wirtschaftlich bewertet. Kann man dann die Eintrittswahrscheinlichkeit der verschiedenen Szenarien einsch¨ atzen, so entspricht die Summe der Produkte aus Eintrittswahrscheinlichkeiten eines Szenarios und der jeweils ermittelten Wirtschaftlichkeit der erwarteten“ Wirtschaftlichkeit. ” 1.2.4 Risikoanalyse Jedes Projekt ist mit einer Reihe von Risiken behaftet, die einem sach-, termin- und kostengerechten Projektabschluss entgegenstehen. Ganz allgemein verstehen wir unter einem Risiko den Eintritt eines bestimmten Umweltzustandes, der dazu f¨ uhrt, dass eines oder mehrere der vorgegebenen Projektziele nicht erreicht werden k¨ onnen bzw. einzelne der Planung zugrunde liegende Restriktionen verletzt werden. Nach der Art ihrer Auswirkung lassen sich drei Arten von Risiken unterscheiden: sachliche Risiken, terminliche Risiken und wirtschaftliche Risiken. Sachliche Risiken sind solche Risiken, die den Gegenstand eines Projektes betreffen, also bei einem Entwicklungsprojekt z.B. das zu entwickelnde Produkt. Solche Risiken resultieren etwa aus Fehlern des Engineering oder fehlerhaften Materiallieferungen. Unter terminlichen Risiken versteht man alle Risiken, die dazu f¨ uhren k¨ onnen, dass geplante Projekttermine, wie Fertigstellungszeitpunkte wichtiger Teilprojekte, nicht eingehalten werden k¨onnen. Derartige Versp¨ atungen haben u.U. auch monet¨are Konsequenzen, wenn bei¨ spielsweise Konventionalstrafen f¨ ur die Uberschreitung eines gegebenen Meilensteins vereinbart wurden. Ein wirtschaftliches Risiko liegt vor, wenn die Gefahr besteht, dass ein Projekt mit h¨ oheren als den veranschlagten Kosten oder einem niedrigeren als dem geplanten Erl¨os abgeschlossen wird. Neben diesen zentralen Risiken werden in der Literatur auch h¨aufig andere Risikotypen wie z.B. psychologische oder organisatorische Risiken aufgef¨ uhrt, die sich im Hinblick auf ihre Konsequenzen jedoch i.d.R. einem der drei vorgenannten Risikotypen zuordnen lassen. Eine wichtige Aufgabe des Projektmanagements besteht darin, potentielle Risiken zu identifizieren, zu bewerten, geeignete Gegenmaßnahmen zur Vermeidung oder Minderung der m¨ oglichen Risiken zu erarbeiten und den Risikostatus eines Projektes laufend zu kontrollieren. H¨aufig wird das gesamte Projekt dabei zun¨ achst in geeignete Subsysteme“ unterteilt, wobei f¨ ur je” des Subsystem eine Risikoanalyse vorzunehmen ist. Auf diese Weise kann die Risikoanalyse parallel von den jeweilig verantwortlichen Mitarbeitern durchgef¨ uhrt werden, die u ur eine solche Analyse zwingend notwendige ¨ ber das f¨ ugen. Ein Subsystem kann eine bestimmte Phase des ProjektFachwissen verf¨ lebenszyklus darstellen, eines der Teilprojekte des betrachteten Projektes oder aber einen bestimmten Aspekt des Projektgegenstandes.
26
1 Projektmanagement
Im ersten Schritt einer Risikoanalyse werden nun f¨ ur jedes Subsystem die potentiellen Risiken identifiziert und analysiert. Hierbei bedient man sich insbesondere zur Identifizierung sachlicher Risiken h¨aufig qualitativer Verfahren wie Expertenbefragungen oder gemeinsamer Workshops mit den Projektbeteiligten und Stakeholdern sowie verschiedener Kreativit¨atstechniken (Brainstorming, Mindmapping, etc.). Zur Analyse terminlicher Risiken existieren besondere Verfahren, die in Abschnitt 1.4.4 betrachtet werden. Die diesen Verfahren zugrunde liegenden Konzepte sind zum einen stochastische Vorgangsdauern (PERT) und zum anderen stochastische Ablaufstrukturen mit bedingten Ausf¨ uhrungswahrscheinlichkeiten f¨ ur einzelne Projektvorg¨ange (GERT). Wirtschaftliche Risiken k¨ onnen h¨ aufig mit Hilfe stochastischer Methoden analysiert werden, indem man z.B. im Rahmen der Wirtschaftlichkeitsanalyse (vgl. Abschnitt 1.2.3) nicht mit deterministischen, sondern stochastischen Parametern arbeitet. Besteht z.B. Unklarheit u ¨ ber den Zeitpunkt, zu dem bestimmte Einzahlungen anfallen, so bestimmt man f¨ ur diese Zahlungszeitpunkte geeignete Wahrscheinlichkeitsverteilungen und ermittelt analytisch oder mit Hilfe einer Simulation die (empirische) Wahrscheinlichkeitsverteilung des resultierenden Kapitalwertes. Der zweite Schritt einer Risikoanalyse beinhaltet eine Bewertung der Risiken, d.h. es ist das Ausmaß der identifizierten Risiken zu bestimmen. Das Ausmaß eines Risikos h¨ angt von der Auspr¨ agung zweier Komponenten ab, n¨amlich der Eintrittswahrscheinlichkeit des Risikos und seiner Konsequenzen f¨ ur das Projekt. Die Sch¨ atzung von Eintrittswahrscheinlichkeiten f¨ ur einzelne Risiken kann durch Experten mit hinreichenden Erfahrungswerten erfolgen oder mit Hilfe der im ersten Schritt der Risikoanalyse verwendeten stochastischen Methoden. So erlaubt die Netzplantechnik PERT beispielsweise eine Quantifizierung der Wahrscheinlichkeit daf¨ ur, dass ein Projekt nicht rechtzeitig beendet wird. Des Weiteren m¨ ussen die Konsequenzen beim Eintritt eines Risikos beziffert werden. Im Allgemeinen wird die Konsequenz eines Risikos in Geldeinheiten ausgedr¨ uckt. Wird das Projekt nicht rechtzeitig abgeschlossen, so muss z.B. eine Konventionalstrafe bezahlt werden, es fallen zus¨atzliche Kapitalbindungskosten an oder es kommt zu Opportunit¨atskosten beispielsweise durch entgangene Nachfolgeauftr¨ age. Zusammenfassend kann man sich das Ausmaß eines Risikos daher als eine (monoton wachsende) Funktion seiner Eintrittswahrscheinlichkeit und seiner Konsequenzen vorstellen, z.B. als Produkt der Eintrittswahrscheinlichkeit und der Konsequenzen. Wird die Eintrittswahrscheinlichkeit eines Risikos beispielsweise mit 15% beziffert und seine monet¨ aren Konsequenzen mit 1 000 000 e, so wird das Ausmaß des Risikos auf 0,15 · 1 000 000 e = 150 000 e gesch¨ atzt. Da eine exakte Sch¨atzung des Ausmaßes von Risiken in der Praxis oft nicht m¨oglich ist, werden Risiken h¨ aufig lediglich in A-, B- und C-Risiken unterteilt, wobei A-Risiken ein besonders hohes Risikoausmaß und eine besonders hohe wirtschaftliche Konsequenz aufweisen (vgl. zur Illustration Abb. 1.6). Nachdem alle m¨ oglichen Risiken mitsamt ihres Ausmaßes identifiziert und bewertet wurden, m¨ ussen im dritten Schritt der Risikoanalyse geeignete Maß-
1.2 Projektkonzeption
27
hoch
A
(wirtschaftliche) Konsequenz
B C
niedrig niedrig hoch Eintrittswahrscheinlichkeit Abb. 1.6. Risikoklassifizierung in A-, B- und C-Risiken
nahmen zur Vermeidung ihres Eintritts oder zur Minderung ihres Ausmaßes formuliert werden. Einige Risiken lassen sich unter Umst¨anden weitestgehend ausschließen oder zumindest vermindern. Dazu geh¨oren beispielsweise technische M¨ angel in Zulieferteilen, die sich durch verst¨arkte Qualit¨atskontrollen ausschließen lassen. F¨ ur Risiken, die nicht durch das projektierende Unternehmen beeinflusst werden k¨ onnen, muss anderweitig Vorsorge getroffen werden. Manche Risiken lassen sich versichern, so z.B. der Untergang von ¨ Wirtschaftsg¨ utern durch Katastrophen (Feuer, Uberschwemmung). Andere Risiken lassen sich auf dem Wege einer Risikodiversifikation in ihrem m¨oglichen Ausmaß vermindern. So k¨ onnen in internationalen Projekten Wechselkursrisiken durch entsprechende Gegengesch¨ afte ( hedging“, z.B. in Form von ” W¨ ahrungs-Swaps) ausgeglichen werden. In einem Multiprojektumfeld k¨onnte ferner durch die Zusammenfassung von Projekten mit nicht vollst¨andig miteinander korrelierten oder gar negativ korrelierten Risiken in Anlehnung an die Portfolio-Theorie von Markowitz das Gesamtrisiko des projektierenden Unternehmens begrenzt und gesteuert werden. Aus diesem Grund ist es beispielsweise f¨ ur ein Bauunternehmen sehr riskant, wenn ein Großteil aller durchgef¨ uhrten Bauprojekte f¨ ur denselben Kunden oder in demselben (Schwellen-)Land stattfindet. K¨ ame es zu einer Insolvenz des Kunden oder zu politischen Instabilit¨ aten im betrachteten Schwellenland, dann w¨are auch das projektierende Unternehmen unmittelbar in seiner Existenz bedroht. Ist eine Risikoversicherung oder -diversifikation nicht m¨ oglich, kann einem Risiko aber dennoch in Form kalkulatorischer Wagniskosten im Rahmen der Aufwandssch¨atzung und der Wirtschaftlichkeitsanalyse Rechnung getragen werden. Letztendlich kann auf einige Risiken, insbesondere C-Risiken geringen Ausmaßes, auch u ¨ ber-
28
1 Projektmanagement
haupt nicht reagiert werden. In diesem Fall ist sich das Projektmanagement dieser Risiken zwar bewusst, ignoriert sie jedoch f¨ ur den Verlauf der weiteren Planung und reagiert erst kurzfristig bei Eintritt des Risikos in geeigneter Weise. Abschließend sind potentielle Risiken im Projektverlauf genau zu beobachten und Informationen u anderungen eines Risikos (z.B. Eintrittswahr¨ ber Ver¨ scheinlichkeiten oder m¨ ogliche Schadensh¨ ohen) offenzulegen. Hierzu bietet es sich an, dass die Projektleitung ein standardisiertes Berichtswesen etabliert, in dem geeignete Kennzahlen zur Verfolgung von Risiken definiert und verant¨ wortliche Personen zur Uberwachung und Durchf¨ uhrung von Gegenmaßnahmen benannt werden. Ein solcher Risikobericht, der u ¨ ber den aktuellen Status der identifizierten Risiken und Gegenmaßnahmen informiert, sollte dann Bestandteil der regelm¨ aßigen (z.B. monatlichen) Projektsitzungen sein. 1.2.5 Projektselektion Im Zuge der Projektkonzeption werden h¨ aufig parallel mehrere Projekte konzipiert, die in Frage kommen, um den Projektauftrag zu erf¨ ullen. Die Projektselektion dient zur Entscheidung dar¨ uber, ob ein Projekt bzw. welches Projekt letztlich realisiert wird. Im Kontext der Projektselektion unterscheidet man grunds¨ atzlich drei Entscheidungssituationen: 1. Es ist u uhrung eines einzelnen Projektes zu entscheiden ¨ ber die Durchf¨ (Einzelentscheidung). 2. Aus einer Menge alternativer, einander ausschließender Projekte ist genau eines zur Durchf¨ uhrung auszuw¨ ahlen (Wahlentscheidung). 3. Aus einer Menge einander nicht ausschließender Projekte ist eine Teilmenge von Projekten zur Durchf¨ uhrung auszuw¨ahlen (Programmentscheidung). Die Entscheidung u uhrung oder Nicht-Durchf¨ uhrung eines ¨ ber die Durchf¨ Projektes (Einzelentscheidung) sollte sich grunds¨atzlich am Wirtschaftlichkeitsprinzip orientieren. Hierzu sind die Ergebnisse der Wirtschaftlichkeitsanalyse (vgl. Abschnitt 1.2.3) heranzuziehen. Ist u uhrung eines ¨ ber die Durchf¨ einzelnen Projektes zu entscheiden, so sollte das Projekt somit grunds¨atzlich nur dann durchgef¨ uhrt werden, wenn es – mit im Hinblick auf die Ergebnisse der Risikoanalyse (vgl. Abschnitt 1.2.4) hinreichender Sicherheit – zu einem Gewinn (als Ergebnis einer statischen Wirtschaftlichkeitsrechnung) f¨ ur das ausf¨ uhrende Unternehmen f¨ uhrt bzw. u ¨ ber einen positiven Kapitalwert (als Ergebnis einer dynamischen Wirtschaftlichkeitsrechnung) verf¨ ugt. In der Prauhrung jedoch xis werden im Rahmen der Entscheidung u ¨ ber die Projektdurchf¨ bisweilen zus¨ atzliche weiche“ Faktoren ber¨ ucksichtigt. So ist das zugrunde ” liegende Projekt f¨ ur sich betrachtet vielleicht nicht rentabel, aber bei erfolgversprechender Projektdurchf¨ uhrung ist beispielsweise mit rentablen Folgeauftr¨ agen zu rechnen. F¨ ur einige Projekte, wie z.B. Public-Relations-Projekte
1.2 Projektkonzeption
29
oder strategische Reorganisationen, ist eine sinnvolle Wirtschaftlichkeitsanalyse u.U. gar nicht oder nur sehr schwer m¨ oglich, aber das ausf¨ uhrende Unternehmen verspricht sich von ihrer Realisierung anderweitige Vorteile. Letztlich muss daher die Unternehmensf¨ uhrung eine Entscheidung auf Grundlage der Wirtschaftlichkeit und sonstiger Einflussgr¨ oßen treffen, die sich nur schwer methodisch unterst¨ utzen l¨ asst. Im Rahmen einer Wahlentscheidung ist genau eines von mehreren m¨oglichen Projekten (Projektalternativen) zur Realisierung auszuw¨ahlen. Kennt man den Kapitalwert, den Gewinn oder die Amortisationsdauer aller Projektalternativen, so sollte analog zur Einzelentscheidung eine Entscheidung f¨ ur diejenige Projektalternative erfolgen, welche den h¨ochsten (positiven) Kapitalwert besitzt, den h¨ ochsten Gewinn verspricht oder zur k¨ urzesten Amortisationsdauer f¨ uhrt. Wie bei der Einzelentscheidung sind u.U. weitere Einflussgr¨ oßen bei der Entscheidung zu ber¨ ucksichtigen. Dabei unterscheidet man zwischen qualitativen Einflussgr¨ oßen und quantifizierbaren Einflussgr¨oßen, die sich nicht monet¨ar bewerten lassen. Quantifizierbare, aber nicht monet¨ar messbare Einflussgr¨oßen lassen sich metrisch messen und vergleichen. Beispiele f¨ ur solche Einflussgr¨oßen sind k¨ urzere Wartezeiten der Anrufer in einem Call Center oder eine h¨ohere Servicequalit¨ at, die sich etwa als Anteil der vollst¨ andig und rechtzeitig ausgef¨ uhrten Kundenauftr¨ age ausdr¨ ucken l¨ asst. Qualitative Einflussgr¨oßen sind hingegen nicht quantifizierbar, d.h. sie lassen sich nicht unmittelbar in Form von Zahlen ausdr¨ ucken. Dazu geh¨ oren beispielsweise u ¨bersichtlichere Organisationsstrukturen oder eine verbesserte Wahrnehmung des Unternehmens ¨ durch die Offentlichkeit. F¨ ur die weiteren Ausf¨ uhrungen nehmen wir an, dass sich die verschiedenen Auspr¨ agungen einer qualitativen Einflussgr¨oße ordinal messen lassen, d.h. sie lassen sich hinsichtlich ihrer G¨ ute“ sortieren. Zur ” Unterst¨ utzung des Entscheidungstr¨ agers bei der Entscheidung f¨ ur eine der Projektalternativen unter Ber¨ ucksichtigung der nicht monet¨ar messbaren und qualitativen Einflussgr¨ oßen wird in der Praxis h¨aufig eine Nutzwertanalyse angewendet. Zur Durchf¨ uhrung einer Nutzwertanalyse m¨ ussen zun¨achst alle f¨ ur die Entscheidungsfindung maßgeblichen monet¨ aren und nicht monet¨aren Einflussgr¨ oßen identifiziert werden. Jede dieser Einflussgr¨oßen wird anschließend mit einem Gewicht versehen, das die relative Bedeutung der entsprechenden Einflussgr¨ oße f¨ ur die Entscheidungsfindung widerspiegelt. Dabei wird angenommen, dass ein hohes Gewicht eine große Bedeutung impliziert. Anschließend wird f¨ ur jede der n Projektalternativen und jede Einflussgr¨oße festgestellt, inwiefern die entsprechende Alternative das den jeweiligen Einflussgr¨ oßen zugrunde liegende Bewertungskriterium erf¨ ullt (Bewertung). Dies kann grunds¨ atzlich auf zweierlei Arten erfolgen. Zum einen kann man die Projektalternativen nach ihrem Erf¨ ullungsgrad sortieren. Die beste“ Projektalterna” tive erh¨ alt dann die Bewertung n, die zweitbeste n − 1, usw. Zum anderen kann man eine fixe Bewertungsskala vorgeben, z.B. die Zahlen von 1 bis 10, wobei die Bewertung 10 bedeutet, dass die entsprechende Projektalternative im
30
1 Projektmanagement
Hinblick auf die betrachtete Einflussgr¨ oße als sehr gut“ bewertet wird. Jeder ” Projektalternative wird dann je nach ihrem Erf¨ ullungsgrad ein Wert zwischen 1 und 10 zugewiesen. Anschließend wird f¨ ur jede Alternative und jede Einflussgr¨ oße der so genannte Punktwert, d.h. das Produkt aus dem Gewicht der Einflussgr¨ oße und der Bewertung der betrachteten Projektalternative, gebildet. Die Summe der Punktwerte einer Alternative entspricht schließlich dem Nutzwert des entsprechenden Projektes. Tabelle 1.6 verdeutlicht das beschriebene Vorgehen zur Ermittlung der projektbezogenen Nutzwerte. Schließlich wird diejenige Projektalternative zur Durchf¨ uhrung ausgew¨ahlt, welche den gr¨ oßten Nutzwert aufweist. Unterscheiden sich die Nutzwerte zweier Projektalternativen nur geringf¨ ugig, dann sollte man die endg¨ ultige Entscheidung nicht von einer nur geringen Differenz der Nutzwerte abh¨angig machen, sondern die betreffenden Alternativen noch einmal sorgf¨altig miteinander vergleichen (bspw. im Hinblick auf die zugrunde liegenden Risiken). Tabelle 1.6. Tabellarische Ermittlung der Nutzwerte Alternative 1
Alternative 2
Gewicht Bewertung Punktwert Bewertung Punktwert Einflussgr¨ oße 1
g1
p11
g1 · p11
p21
g1 · p21
Einflussgr¨ oße 2
g2
p12
g2 · p12
p22
g2 · p22
Einflussgr¨ oße 3
g3
p13
g3 · p13
p23
Nutzwert
3 i=1
gi · p1i
g3 · p23 3 i=1
gi · p2i
Beispiel 1.6. Ein Unternehmen plant die Durchf¨ uhrung eines IT-Projektes zur Erweiterung der ERP-Systeme9 um eine neue Funktionalit¨at. Hierzu wurden zwei externe Softwarehersteller in die engere Auswahl genommen, deren Produkte sich in einigen Punkten voneinander unterscheiden, so dass u ¨ ber zwei m¨ ogliche einander ausschließende Projektalternativen entschieden werden muss. Im Rahmen der Vorauswahl wurden drei wesentliche Punkte identifiziert, in denen sich die Softwareprodukte unterscheiden: • • 9
Zukunftssicherheit: Regelm¨ aßige Pflege und zeitnahe Updates der Software auch in sp¨ ateren Jahren, Datenmigration: Einfache Anbindung an die existierenden Datenstrukturen, In einem ERP-System werden unternehmensweit alle wesentlichen Prozesse, Gesch¨ aftsf¨ alle und Abl¨ aufe abgebildet. Unternehmen setzen solche Systeme zur Planung, Durchf¨ uhrung, Kontrolle und Steuerung des gesamten Gesch¨ aftsablaufs ein.
1.2 Projektkonzeption
•
31
Mitarbeiterschulung: Schulungsbedarf f¨ ur die eigenen Mitarbeiter in Abh¨ angigkeit der unterschiedlichen Bedienkonzepte.
Die Bewertung dieser Einflussgr¨ oßen auf die Entscheidung ist in Tabelle 1.7 zusammengefasst, wobei der Punktwert 10 eine hohe Bewertung repr¨asentiert (d.h. hohe Zukunftssicherheit, geringer Aufwand f¨ ur die Datenanbindung und geringer Schulungsaufwand) und der Punktwert 1 eine niedrige Bewertung. Tabelle 1.7. Bewertung der unterschiedlichen Einflussgr¨ oßen Einflussgr¨ oßen
Projektalternative 1 Projektalternative 2
Zukunftssicherheit Datenmigration Mitarbeiterschulung
9 10 9
10 8 8
F¨ ur die Entscheidung gewichtet das projektierende Unternehmen die drei Einflussgr¨ oßen im Verh¨ altnis 50 : 30 : 20. Tabelle 1.8 zeigt das entsprechende Ergebnis der Nutzwertanalyse und eine Pr¨ aferenz f¨ ur Projektalternative 1 mit einem Nutzwert von 9,3 gegen¨ uber 9,0 f¨ ur Projektalternative 2. Tabelle 1.8. Beispiel zur Ermittlung der Nutzwerte Alternative 1
Alternative 2
Gewicht Bewertung Punktwert Bewertung Punktwert Zukunftssicherheit
50%
9
4,5
10
5,0
Datenmigration
30%
10
3,0
8
2,4
Mitarbeiterschulung
20%
9
1,8
8
1,6
Nutzwert
9,3
9,0
In der Praxis wird ein Unternehmen nicht gleichzeitig immer nur ein Projekt bearbeiten, sondern es werden meist zahlreiche Projekte gleichzeitig ausgef¨ uhrt. Da die Realisation eines Projektes aber stets knappe betriebliche Ressourcen wie beispielsweise finanzielle Mittel oder Projektmitarbeiter in Anspruch nimmt, k¨ onnen nicht alle vorteilhaften Projekte ausgef¨ uhrt werden. Stattdessen muss im Zuge einer Programmentscheidung aus einer Menge m¨ oglicher Projekte eine Teilmenge einander nicht ausschließender Projekte zur Durchf¨ uhrung ausgew¨ ahlt werden. Das Ziel der Unternehmensleitung sollte dabei sein, die Projekte so auszuw¨ ahlen, dass der aus der Durchf¨ uhrung der Projekte resultierende Gewinn bzw. Kapitalwert oder der resultierende Nutzen (z.B. gemessen als Nutzwert) maximal ist. Gleichzeitig muss gew¨ahrleistet sein, dass die vorhandenen Ressourcen zur Realisation der Projekte
32
1 Projektmanagement
ausreichen. Liegen keine Ressourcenkapazit¨ aten vor, so werden s¨amtliche Projekte mit einem positiven Kapitalwert bzw. Gewinn durchgef¨ uhrt. Eine N¨aherungsl¨ osung dieses Problems der Programmentscheidung kann man mit Hilfe eines einfachen rangbasierten Verfahrens bestimmen. Dazu werden s¨amtliche in Frage kommenden Projekte in einer gem¨ aß ihres Gewinns bzw. Nutzens nichtwachsenden Reihenfolge sortiert. Sodann werden die Projekte gem¨aß dieser Reihenfolge sukzessive zur Realisierung ausgew¨ahlt, bis schließlich die vorhandenen Ressourcen zur Realisierung des in der Reihenfolge n¨achsten Projektes nicht mehr ausreichen. Das auf diese Weise ausgew¨ahlte Portfolio von Projekten ist jedoch im Allgemeinen nicht optimal hinsichtlich des erzielten Gesamtgewinns bzw. -nutzens, wie man anhand des folgenden Beispiels sieht. Beispiel 1.7. Ein Unternehmen m¨ ochte aus einer Menge von vier einander nicht ausschließender Projekte eine Teilmenge von Projekten realisieren. Zu diesem Zweck verf¨ ugt das Unternehmen im betrachteten Zeitraum u ¨ ber ein Budget i.H.v. 100 000 e und insgesamt 10 Mitarbeiter. F¨ ur jedes der vier Projekte sind in Tabelle 1.9 die ben¨ otigten Kosten und Mitarbeiter sowie der aus der Durchf¨ uhrung der jeweiligen Projekte resultierende Nutzen angegeben. Wir nehmen außerdem an, dass Mitarbeiter, die einem Projekt zugeordnet sind, f¨ ur ein anderes Projekt nicht mehr zur Verf¨ ugung stehen. Tabelle 1.9. Beispiel zur Programmentscheidung Projekt i
1
2
3
4
Nutzen ui 10 8 5 4 ben¨ otigte Mitarbeiter 1 2 3 6 Kosten 50 000 e 50 000 e 20 000 e 30 000 e Rang 1. 2. 3. 4.
Werden die Projekte nach nichtwachsenden Nutzenwerten ausgew¨ahlt, so entscheidet sich das Unternehmen f¨ ur die Realisierung der Projekte 1 und 2 und erzielt damit einen Gesamtnutzen von 18. Weitere Projekte k¨onnen nicht ausgef¨ uhrt werden, da das Budget mit diesen beiden Projekten zur G¨anze ausgef¨ ullt ist. Wie man an diesem kleinen Beispiel jedoch leicht sieht, handelt es sich dabei nicht um eine optimale L¨ osung des Programmentscheidungsproblems. F¨ ur das betrachtete Unternehmen w¨ are es n¨amlich besser, die Projekte 1, 3 und 4 durchzuf¨ uhren, die gemeinsam zu einem Gesamtnutzen i.H.v. 19 Einheiten f¨ uhren. Das vorhergehende Beispiel zeigt deutlich, dass das weiter oben beschriebene rangbasierte Verfahren schon f¨ ur kleine Probleme h¨aufig nicht in der Lage ist, eine optimale L¨ osung zu bestimmen. Wir beschreiben daher im Folgenden ein einfaches ganzzahliges lineares Optimierungsproblem zur Bestimmung einer optimalen Programmentscheidung. Wir nehmen an, dass aus einer Menge
1.3 Projektspezifikation
33
von Projekten i = 1, . . . , n eine Teilmenge zur Durchf¨ uhrung ausgew¨ahlt werden soll und dass zu diesem Zweck m Ressourcen r = 1, . . . , m zur Verf¨ ugung stehen. Von Ressource r stehen im Planungszeitraum insgesamt br Einheiten zum Verbrauch bereit. Der Nutzen eines Projektes i sei mit ui bezeichnet, und f¨ ur die Durchf¨ uhrung von Projekt i werden air Einheiten der Ressource r ben¨ otigt. Weiter f¨ uhren wir bin¨ are Entscheidungsvariablen xi ein, die genau dann 1 sind, wenn Projekt i durchgef¨ uhrt wird und 0 sonst. Wir erhalten damit das Optimierungsproblem10 Maximiere u.d.N.
n i=1 n
ui xi air xi ≤ br (r = 1, . . . , m)
i=1
xi ∈ {0, 1}
(i = 1, . . . , n)
Zur L¨ osung solcher ganzzahliger linearer Optimierungsprobleme existieren zahlreiche Verfahren und Standardsoftwarepakete, wie z.B. der in Microsoft Excel enthaltene Solver. Detaillierte Informationen zur L¨osung solcher Optimierungsprobleme finden sich beispielsweise in Domschke und Drexl (2005).
1.3 Projektspezifikation Im Rahmen der Projektspezifikation besch¨ aftigen wir uns mit der organisatorischen Einbettung des Projektmanagements und der Projektmitarbeiter in die betriebliche Organisationsstruktur (vgl. Abschnitt 1.3.1) sowie mit der Gestaltung der Ablauforganisation eines Projektes (vgl. Abschnitt 1.3.2). Schließlich widmen wir uns in Abschnitt 1.3.3 der Spezifikation und Analyse der mit der Durchf¨ uhrung eines Projektes verfolgten produktbezogenen Ziele. Ferner beschreiben wir einige den zeitlichen Projektablauf betreffenden Ziele und betten diese in einen hierarchischen Planungsrahmen ein. 1.3.1 Aufbauorganisation von Projekten Zur erfolgreichen Durchf¨ uhrung eines Projektes muss das Projektmanagement geeignet in die bestehende betriebliche Organisationsstruktur eingebettet werden. Da es sich bei Projekten um einmalige Vorhaben handelt, ist die resultierende um das Projektmanagement erweiterte Betriebsorganisation als tempor¨ ar zu erachten und nur f¨ ur die Dauer des Projektes aufrecht zu erhalten. In Unternehmen, in denen h¨ aufig Projekte durchzuf¨ uhren sind, oder bei großen Projekten empfiehlt sich ferner die Einrichtung eines Projektb¨ uros, welches etwa f¨ ur eine einheitliche Dokumentierung mehrerer (Teil-)Projekte Sorge 10
Das beschriebene Problem ist in der Literatur auch als mehrperiodiges Ruck” sackproblem“ bekannt.
34
1 Projektmanagement
tr¨agt, bei der Pr¨ asentation von Projektst¨ anden und -ergebnissen in regelm¨aßigen Lenkungsaussch¨ ussen unterst¨ utzt, den Projektverlauf u ¨ berwacht und bei Termin- oder Budget¨ uberschreitungen interveniert. Im Folgenden skizzieren wir drei wesentliche Organisationsformen zur Einbettung des Projektmanagements in die bestehende Unternehmensstruktur. F¨ ur eine ausf¨ uhrliche Darstellung sei z.B. auf Kerzner (2003, Kapitel 3) verwiesen. Bei der so genannten reinen Projektorganisation wird der Verantwortungsbereich Projektmanagement gleichrangig neben andere Organisationseinheiten des ausf¨ uhrenden Unternehmens eingegliedert (vgl. Abb. 1.7). Das Projektmanagement stellt eine autonome Organisationseinheit dar, d.h. alle an der Durchf¨ uhrung des Projektes beteiligten Mitarbeiter sind f¨ ur die Dauer des Projektes unmittelbar dem Projektmanagement zugeordnet. Der Projektmanager besitzt gegen¨ uber den Projektmitarbeitern uneingeschr¨ankte Weisungsbefugnis und ist f¨ ur die erfolgreiche Durchf¨ uhrung des Projektes unmittelbar verantwortlich. Wesentlicher Vorteil dieser Organisationsform ist, dass sie aufgrund der kurzen Kommunikationswege zusammen mit der klaren Verteilung der Verantwortlichkeiten eine Konzentration auf die Realisierung des betrachteten Projektes erlaubt. Gleichzeitig besteht jedoch die Gefahr, dass es aufgrund fehlender Absprachen zwischen verschiedenen Projektteams bzw. dem Projektteam und den Fachabteilungen zu Parallelentwicklungen kommt. Die reine Projektorganisation eignet sich f¨ ur außerordentliche Vorhaben mit großem Umfang, die relativ wenig Ber¨ uhrung zu den herk¨ommlichen Aufgaben des Unternehmens haben, wie z.B. die Entwicklung einer v¨ollig neuen Produktlinie.
Vorstand
Abteilung I
Abteilung II
Abteilung III
Projektmanagement
Abb. 1.7. Reine Projektorganisation
Bei der Stabsstellen-Projektorganisation (Einfluss-Projektorganisation) ist das Projektmanagement direkt der Unternehmensf¨ uhrung als Stabsstelle unterstellt (vgl. Abb. 1.8). Die Projektmitarbeiter bleiben f¨ ur die Dauer des Projektes den jeweiligen Fachabteilungen zugeordnet. Der Projektmanager besitzt keinerlei Weisungs- und Entscheidungsbefugnisse, er f¨ uhrt nur Koordinierungsaufgaben durch und steht dem Vorstand beratend zur Seite. Die unmittelbare Verantwortung f¨ ur das Projekt verbleibt bei den beteiligten Fachabteilungen. Diese Organisationsform erfordert zwar nur geringf¨ ugige Ver¨anderungen der bestehenden Organisationsstruktur, f¨ uhrt jedoch zu einem erh¨ohten Koordinierungsaufwand seitens des Projektmanagers. Aufgrund der verteilten Verantwortung k¨ onnen ferner Zieldivergenzen und Abstimmungsprobleme auftre-
1.3 Projektspezifikation
35
ten. Die Stabsstellen-Projektorganisation ist in der Praxis h¨aufig anzutreffen, wenn etwa einzelne Projekte durch Referenten einer Stabsabteilung oder Vorstandsassistenten geleitet und betreut werden. Sie eignet sich f¨ ur Projekte, deren Umfang den Rahmen der herk¨ ommlichen Aufgaben im Unternehmen nicht wesentlich u ¨bersteigt, wie beispielsweise die Abwicklung großer Kundenauftr¨ age oder Projekte zur Prozessoptimierung.
Vorstand
Abteilung I
Abteilung II
Abteilung III
Projektmanagement
Abteilung IV
Abb. 1.8. Stabsstellen-Projektorganisation
Die so genannte Matrix-Projektorganisation stellt eine Mischform der beiden vorgenannten Organisationsformen dar. Das Projektmanagement wird wie bei der Stabsstellen-Projektorganisation dem Vorstand als Stabsstelle zugeordnet und die Projektmitarbeiter unterstehen disziplinarisch den Abteilungsleitern ihrer jeweiligen Fachabteilungen (vgl. Abb. 1.9). Das Projektmanagement tr¨ agt allerdings wie bei der reinen Projektorganisation die volle Verantwortung f¨ ur das Gelingen der auszuf¨ uhrenden Projekte. Daher wird dem jeweiligen Projektleiter die Weisungsbefugnis u ¨ ber die am Projekt beteiligten Mitarbeiter aus den einzelnen Fachabteilungen u ¨ bertragen. Diese Organisationsform ist sehr flexibel einsetzbar und zeichnet sich durch ein hohes Maß an Interdisziplinarit¨ at sowie ein betr¨ achtliches Synergiepotential aus. Als nachteilig erweist sich, dass es h¨ aufig zu Konflikten zwischen der Projektarbeit und dem Tagesgesch¨ aft kommt, da die Projektmitarbeiter sich gegen¨ uber zweier Vorgesetzter verantworten m¨ ussen. Wesentliche Voraussetzung f¨ ur die erfolgreiche Implementierung der Matrix-Projektorganisation ist, dass durch klare Befugnisregelungen und Zieldefinitionen Kompetenzstreitigkeiten zwischen dem Projektmanagement und den Leitern der Fachabteilungen vermieden werden.
Vorstand
Abteilung I
Abteilung II
Abteilung III
Projektmanagement Projekt 1 Projekt 2 Projekt 3
Abb. 1.9. Matrix-Projektorganisation
36
1 Projektmanagement
Zur Planung und Steuerung eines Projektes sind neben dem Projektmanagement noch eine Reihe weiterer Personengruppen bzw. Gremien erforderlich (vgl. Abb. 1.10). Der Projektleitung direkt zugeordnet sind beispielsweise Arbeitsgruppen, die h¨ aufig auf Linienebene angesiedelt sind und die Projektarbeit innerhalb eines durch die Projektleitung vorgegebenen Rahmens vorantreiben. Ein Lenkungsausschuss u ¨ berwacht den sach-, termin- und kostengerechten Projektverlauf (z.B. im Rahmen periodisch stattfindender Projektstandsberichte zu wichtigen Meilensteinterminen) und ist f¨ ur wesentliche Richtungsentscheidungen verantwortlich. Bei sehr komplexen oder innovativen Projekten gibt es ggf. eine Gruppe von Fachleuten und Experten, die der Projektleitung beratend zur Seite steht (Beratungsgremium). Daneben existiert i.d.R. noch ein Projektb¨ uro, das f¨ ur die Projektleitung und den Lenkungsausschuss unterst¨ utzend t¨ atig ist. Hier werden beispielsweise administrative Aufgaben, wie die Vorbereitung der Lenkungsausschusssitzungen, die Gew¨ ahrleistung einer einheitlichen Projektdokumentation oder die operati¨ ve Uberwachung des Projektverlaufs, durchgef¨ uhrt. In gr¨oßeren Projektb¨ uros werden außerdem die Projektressourcen und Budgets koordiniert und T¨atigkeiten wie Schulungen der Projektmitarbeiter (z.B. zu Themen des Projektmanagements) durchgef¨ uhrt oder projektplanerische Aufgaben (z.B. die Optimierung der Terminplanung bei großen Projekten) durch Fachleute u ¨ bernommen. Projektb¨ uro
Lenkungsausschuss
Projekmanagement
Arbeitsgruppe 1
Beratungsgremium
Arbeitsgruppe 2
...
Abb. 1.10. Typische Projektorganisation
1.3.2 Ablauforganisation von Projekten Zur Spezifizierung der Ablauforganisation eines Projektes wird das betrachtete Projekt zun¨ achst in einzelne Projektphasen bzw. Teilprojekte zerlegt. Hierbei kann u.U. auf der im Rahmen einer Aufwandssch¨atzung (vgl. hierzu die Prozentsatzmethode in Abschnitt 1.2.3) vorgenommenen Zerlegung des Projektes aufgebaut werden. Die Disaggregation des Projektes in Teilprojekte erfolgt so, dass ein einzelnes Teilprojekt einen genau abgegrenzten Abschnitt
1.3 Projektspezifikation
37
des Projektablaufs darstellt, der sich sachlich von anderen Teilprojekten unterscheidet. H¨ aufig wird auch gefordert, dass sich f¨ ur ein Teilprojekt stets ein verantwortlicher Mitarbeiter benennen l¨ asst, der in besonderem Maße f¨ ur die sach-, kosten- und termingerechte Abwicklung des Teilprojektes verantwortlich ist. Zwischen einzelnen Teilprojekten werden ferner Vorrangbeziehungen identifiziert, die Auskunft u ¨ ber die zeitliche Ablaufstruktur der einzelnen Teilprojekte geben. Eine solche Disaggregation und zeitliche Anordnung eines Projektes dient dazu, den Projektablauf f¨ ur das Projektmanagement u ¨ berschaubar und somit kontrollierbar darzustellen. In Abbildung 1.11 ist beispielhaft die Zerlegung eines Softwareentwicklungsprojektes in sieben Teilprojekte dargestellt. Zun¨achst wird ein Entwurf f¨ ur das zu entwickelnde Softwaresystem angefertigt. Im Anschluss werden die wesentlichen Funktionalit¨ aten der Software prototypisch implementiert. Nach erfolgreicher Erstellung des Prototypen werden die drei Softwaremodule A, B und C, aus denen die Software besteht, programmiert und anschließend getestet. Wurden die Tests erfolgreich abgeschlossen, kann das fertige System in die bestehende DV-Infrastruktur eingebettet werden. Die einzelnen Teilprojekte sind in Abbildung 1.11 als Blockpfeile dargestellt. Mit der Bearbeitung eines Teilprojektes kann erst dann begonnen werden, wenn alle vorangehenden Teilprojekte abgeschlossen wurden. Es ist zu beachten, dass die Teilprojekte nicht notwendigerweise seriell, d.h. sukzessive nacheinander, bearbeitet werden m¨ ussen. Meist k¨ onnen einzelne voneinander unabh¨angige Teilprojekte parallel zueinander durchgef¨ uhrt werden, wie die Programmierung der drei Softwaremodule im vorliegenden Beispiel, oder die einzelnen Phasen k¨onnen sich u ¨berlappen.
Programmierung von Modul A 3 Implementierung Prototyp
Systementwurf 1
Programmierung von Modul B 2
Integration in DVLandschaft
Tests
4
6
Programmierung von Modul C
7
5 Abb. 1.11. Phasenorientierte Darstellung eines Projektes
8
38
1 Projektmanagement
Eine teilprojektorientierte Betrachtung eines Projektes, wie sie in Abbildung 1.11 skizziert ist, hat den Nachteil, dass sie bei gr¨oßeren Projekten schnell un¨ ubersichtlich wird und komplexere Abh¨angigkeiten der einzelnen Projektphasen schlecht abgebildet werden k¨ onnen. Aus diesem Grund ist es sinnvoll, einer ereignis- bzw. meilensteinorientierten Betrachtung eines Projektes zu folgen. Ein Projekt wird dabei nicht als eine Phasenkette“ wie in ” Abbildung 1.11, sondern vielmehr als ein Phasennetz“ dargestellt, dessen ” Konstruktion wir im Folgenden beschreiben. Jedem Teilprojekt werden dazu ein oder mehrere Meilensteine zugeordnet. Typischerweise werden z.B. dem Abschluss eines Teilprojektes oder wichtigen Arbeitspaketen innerhalb eines Teilprojektes Meilensteine zugewiesen. F¨ ur jeden Meilenstein ist ferner festzuhalten, welche Ergebnisse bei Erreichen des entsprechenden Meilensteins vorliegen m¨ ussen. Solche Ergebnisse sind z.B. Zwischenprodukte, Testergebnisse oder Dokumentationen. Bei Erreichen eines Meilensteins muss dann die Projektleitung oder der Lenkungsausschuss u at der erzielten Ergebnisse befinden und falls n¨otig Nachbes¨ ber die Qualit¨ serungen anstoßen. In Abbildung 1.11 sind acht Meilensteine in Form eines Kreises dargestellt, die den einzelnen Projektphasen zugeordnet sind. Wir nehmen an, dass f¨ ur das Teilprojekt Tests“ zwei Meilensteine mit den Nummern 6 und 7 identifiziert ” wurden. Meilenstein 6 kennzeichnet das erfolgreiche Ende der Tests von Softwaremodul A und Meilenstein 7 das Ende der gemeinsamen Tests der Module B und C. F¨ ur die anderen Teilprojekte existiert jeweils nur ein Meilenstein, der den Abschluss des jeweiligen Teilprojektes repr¨asentiert. Der Ablauf des betrachteten Projektes l¨ asst sich nun wie in Abbildung 1.12 dargestellt als so genannter Meilensteinplan repr¨ asentieren. Ein Meilensteinplan besteht aus drei Komponenten. Die Knoten repr¨ asentieren Ereignisse (z.B. das Ereignis Meilenstein 4 und 5 erreicht“) und die nummerierten Knoten entsprechen ” den Meilensteinen, die herausragende Projektereignisse darstellen. Die Pfeile zwischen den Knoten entsprechen den Teilprojekten bzw. einzelnen Arbeitspaketen und induzieren somit eine Reihenfolgebeziehung zwischen den entsprechenden Ereignissen. So bedeutet der Pfeil zwischen den Meilensteinen 1 und 2, dass das Ereignis Prototyp fertiggestellt“ erst dann eintreten kann, wenn ” das Ereignis Systementwurf entwickelt“ eingetreten ist und das Teilprojekt ” Implementierung des Prototypen“ abgeschlossen wurde. Anders als bei der ” teilprojektorientierten Darstellung sieht man im Meilensteinplan sofort, dass ein Teil der Tests (Test 1) unmittelbar im Anschluss an die Implementierung von Modul A durchgef¨ uhrt werden kann, unabh¨angig vom Implementierungsfortschritt der Softwaremodule B und C. Mit Hilfe so genannter Netzplantechniken lassen sich aus einem Meilensteinplan f¨ ur das Projektmanagement relevante Informationen extrahieren. Dies sind insbesondere die fr¨ uhesten und sp¨ atesten Eintrittszeitpunkte der Meilensteine und damit die fr¨ uhesten und sp¨atesten Zeitpunkte, zu denen ein Teilprojekt begonnen bzw. fertiggestellt werden kann, sowie verschiedene Pufferzeiten, die beispielsweise angeben, wie lange die Durchf¨ uhrung eines
1.3 Projektspezifikation 3 M
Systementwurf
Prototyp
1
o
l du
Tes t
1
A
6
Modul B
2
4 M
39
Integration
8 Test 2
od
ul
7 C
5 Abb. 1.12. Meilensteinplan f¨ ur ein Projekt
Teilprojektes hinausgez¨ ogert werden darf, ohne dass der avisierte Projektend¨ termin u u ¨berschritten wird. Eine detaillierte Ubersicht ¨ ber verschiedene Netzplantechniken geben wir in den Abschnitten 1.4.3 und 1.4.4 im Rahmen der Projektplanung. Die dort dargelegten Methoden lassen sich ohne weiteres auf einen Meilensteinplan u ¨ bertragen.11 1.3.3 Projektziele Im Rahmen einer Zielanalyse werden die mit der Durchf¨ uhrung eines Projektes verfolgten Ziele systematisch strukturiert und formuliert sowie in einer f¨ ur alle Projektbeteiligten verbindlichen Form festgehalten. Dabei ist zu beachten, dass Ziele soweit als m¨ oglich operational formuliert sein sollten, d.h. der Grad der Zielerreichung muss eindeutig feststellbar sein. Diese Forderung ist f¨ ur eine effektive Projektkontrolle und -steuerung, wie sie in Abschnitt 1.5.1 beschrieben wird, unabdingbar. Insbesondere bei gr¨oßeren Projekten werden die Projektziele außerdem in den pers¨ onlichen Zielvereinbarungen der Projektverantwortlichen verankert. Grunds¨ atzlich lassen sich zwei Arten von Zielen unterscheiden: produkt- und projektbezogene Ziele. Produktbezogene Ziele sind Ziele, die sich auf den Gegenstand eines Projektes beziehen, also beispielsweise bei einem Produktentwicklungsprojekt auf das zu entwickelnde Produkt. Derartige Ziele lassen sich unmittelbar aus dem Pflichtenheft (vgl. Abschnitt 1.2.1) ableiten, das eine detaillierte Beschreibung 11
F¨ ur die weitergehende Analyse eines Meilensteinplans, wie er hier beschrieben ist, d.h. die Ereignisse entsprechen Knoten und Pfeile stellen Teilprojekte (Metavorg¨ ange) bzw. Scheinvorg¨ ange dar, verwendet man die so genannte CPMNetzplantechnik (vgl. Abschnitt 1.4.4). Ein Meilensteinplan ließe sich jedoch auch so formulieren, dass die einzelnen Teilprojekte und die Meilensteine den Knoten und die Pfeile den Zeitbeziehungen zwischen den Teilprojekten und Meilensteinen entsprechen. In diesem Fall findet die MPM-Netzplantechnik aus Abschnitt 1.4.3 Anwendung. Sollen außerdem Unsicherheiten im Projektverlauf abgebildet werden, die beispielsweise die Dauer einer Projektphase betreffen, so verweisen wir auf die stochastischen Netzplantechniken PERT und GERT in Abschnitt 1.4.4.
40
1 Projektmanagement
der Anforderungen an die durch das Projekt zu erbringende Leistung enth¨alt. Die Anforderungen an die Projektleistung ergeben sich unmittelbar aus den Zielvorstellungen des Auftraggebers und man kann zwischen restriktiven und ergebnisoffenen Anforderungen unterscheiden. Bei restriktiven Anforderungen hat der Auftraggeber idealerweise eine konkrete Auspr¨agung eines Aspektes der Projektleistung vor Augen, die er erf¨ ullt wissen m¨ochte. Bei der Entwicklung eines Automobils ist die Forderung, dass der Motor eine bestimmte Abgasnorm erf¨ ullt, ein Beispiel f¨ ur eine solche restriktive Anforderung. Bei einer ergebnisoffenen Anforderung m¨ ochte der Auftraggeber, dass ein einzelner Aspekt einer Projektleistung von m¨ oglichst hoher G¨ ute ist, ohne jedoch einen konkreten Zielwert f¨ ur die G¨ ute vorzugeben. Bei der Entwicklung eines Sportwagens m¨ ochte der Auftraggeber vielleicht, dass der Wagen u ¨ ber m¨oglichst viel Leistung verf¨ ugt oder m¨ oglichst wenig Treibstoff verbraucht. Kombinationen dieser beiden Arten von Anforderungen sind auch m¨oglich (z.B. m¨oglichst viel, aber wenigstens 150 kW). Ferner wird h¨aufig zwischen Muss- und SollAnforderungen unterschieden. Ziel des ausf¨ uhrenden Unternehmens ist es, die Muss-Anforderungen in jedem Fall und die Soll-Anforderungen soweit als m¨oglich zu erf¨ ullen. Nachdem die produktbezogenen Ziele identifiziert wurden, werden sie hierarchisch in Unterziele und Detailziele zerlegt (vgl. Abb. 1.13). Eine solche systematische Zerlegung der Ziele in Detailziele hilft der Projektleitung dabei, Zielkonflikte und Zielsynergien zu identifizieren und liefert u.U. zus¨atzliche Anregungen f¨ ur bislang unber¨ ucksichtigt gebliebene Maßnahmen zur Zielerreichung. Eine solche Zieldekomposition sollte MECE“ (mutually exclusive, ” completely exhaustive) sein, d.h. die Detailziele sollten eine vollst¨andige Zerlegung der Hauptziele darstellen und voneinander unabh¨angig sein. Wir betrachten nachfolgend eines kleines Beispiel f¨ ur eine solche Zieldekomposition. Ziel Unterziel I Detailziel I
Detailziel II
Unterziel II Detailziel III
Detailziel IV
Abb. 1.13. Dekomposition von Zielen
Beispiel 1.8. Bei der Entwicklung eines Sportwagens bestehe eines der Ziele darin, dass der Wagen m¨ oglichst gute Beschleunigungswerte erreicht. Man kann dann zwei Unterziele formulieren, die zur Erreichung des betrachteten Zieles beitragen (vgl. Abb. 1.14). Zum einen kann man das Leistungsgewicht des Wagens und zum anderen seine Aerodynamik geeignet verbessern. Disaggregiert man die Unterziele abermals, dann ließen sich beispielsweise die folgenden Detailziele identifizieren: Sowohl eine Erh¨ohung der Motorleistung
1.3 Projektspezifikation
41
(in kW) als auch eine Reduzierung des Fahrzeuggewichts f¨ uhren zu einer Verbesserung des Leistungsgewichts. Zur Verbesserung der Fahrzeugaerodynamik bietet es sich ferner an, den Luftwiderstands-Beiwert der Karosserie zu vermindern sowie durch die geeignete Konstruktion der Bodengruppe und zus¨atzlicher Spoiler f¨ ur einen st¨ arkeren Anpressdruck bzw. Abtrieb des Fahrzeugs zu sorgen. Beschleunigung Leistungsgewicht kW
Gewicht
Aerodynamik Karosserie
Bodengruppe
Spoiler
Abb. 1.14. Beispiel f¨ ur eine Zieldekomposition
Besteht ein weiteres Ziel bei der Fahrzeugentwicklung darin, m¨oglichst wenig Treibstoff zu verbrauchen, dann resultieren hieraus z.B. die Detailziele, einen Motor mit geringer Motorleistung zu entwickeln und das Gewicht des Fahrzeugs zu minimieren. Das erste Detailziel f¨ uhrt offensichtlich zu einem Konflikt mit dem Ziel der Leistungssteigerung, um das Beschleunigungsverm¨ ogen des Autos zu verbessern. Da das Unterziel Gewicht reduzieren“ ” jedoch zur Erf¨ ullung beider vom Auftraggeber formulierten Ziele beitr¨agt, kommt es bei der Verfolgung dieses Detailziels zu Synergieeffekten, die es auszunutzen gilt. Neben den produktbezogenen Zielen werden bei der Durchf¨ uhrung von Projekten stets auch projektbezogene Ziele verfolgt, die i.d.R. vom ausf¨ uhrenden Unternehmen vorgegeben werden. Unter projektbezogenen Zielen verstehen wir Ziele, die mittelbar oder unmittelbar den zeitlichen Ablauf eines Projektes betreffen.12 Je nach Planungshorizont eines Projektes werden bei der Planung unterschiedliche Zielsetzungen verfolgt. Eine langfristige (strategische) Projektplanung erstreckt sich u ¨ ber einen Zeitraum von mehreren Jahren und ber¨ ucksichtigt nur ausgew¨ahlte Schl¨ usselressourcen (z.B. Experten oder spezielle Maschinen und Anlagen), die kurzbzw. mittelfristig nicht am Markt beschafft werden k¨onnen. Andere Ressourcen sind unter strategischen Gesichtspunkten i.d.R. nicht als knapp zu erachten und bed¨ urfen daher bei der Planung keiner besonderen Ber¨ ucksichtigung. Gegenstand der langfristigen Projektplanung sind nicht einzelne Arbeitsg¨ ange bzw. Vorg¨ ange eines Projektes, sondern hoch aggregierte Vorg¨ange oder Teilprojekte. K¨ onnen dem Abschluss jedes dieser Teilprojekte Ein- und 12
Handelt es sich bei dem einem Projekt zugrunde liegenden Produkt um eine Dienstleistung, so ist anzumerken, dass produkt- und projektbezogene Ziele h¨ aufig zusammenfallen.
42
1 Projektmanagement
Auszahlungen zugeordnet werden, so besteht das wesentliche Ziel der Projektplanung darin, die einzelnen Teilprojekte so zu terminieren, dass der aus der Durchf¨ uhrung des Projektes resultierende Kapitalwert maximal ist. Bei der mittelfristigen (taktischen) Projektplanung mit einem Planungshorizont zwischen einigen Monaten und wenigen Jahren werden neben Schl¨ usselressourcen auch solche Ressourcen ber¨ ucksichtigt, die mittel- bis kurzfristig am Markt beschafft werden k¨ onnen, wie z.B. qualifizierte Facharbeiter, Maschinenparks oder Fahrzeugflotten. Muss die f¨ ur die Projektdurchf¨ uhrung ben¨ otigte Ressourcenkapazit¨ at erst noch aufw¨andig besorgt werden, dann ist man in der Praxis i.d.R. daran interessiert, die Projektvorg¨ange so einzuplanen, dass die maximale Ressourceninanspruchnahme u ¨ ber die Projektdauer und somit die notwendige Investition minimal ist (so genanntes Ressourceninvestmentproblem)13 . H¨ aufig sind die ben¨ otigten Ressourcen hingegen schon mit gegebenen Kapazit¨ aten im Unternehmen vorhanden, und es k¨onnen notfalls zus¨ atzliche Kapazit¨ aten kurzfristig angemietet werden. In diesem Fall sind die Projektvorg¨ ange so zu terminieren, dass die zur Verf¨ ugung stehenden Ressourcenkapazit¨ aten zur Projektdurchf¨ uhrung ausreichen bzw. die variablen Kosten f¨ ur die Miete zus¨ atzlicher Ressourceneinheiten minimal sind (so genanntes Ressourcenabweichungsproblem). Die dritte typische taktische Zielsetzung ist die so genannte Ressourcennivellierung. Dabei ist man bestrebt, die Vorg¨ ange eines Projektes so einzuplanen, dass die Ressourceninanspruchnahme der ben¨ otigten Ressourcen m¨ oglichst wenigen Schwankungen im Zeitverlauf unterliegt. Solche Ziele sind z.B. bei personellen Ressourcen von Bedeutung oder wenn bei einer Maschine hohe Anpassungskosten oder ¨ Qualit¨ atsverluste mit einer Anderung der Betriebsstufe einhergehen. Der kurzfristigen (operativen) Projektplanung liegt ein Planungszeitraum von wenigen Wochen zugrunde. In der kurzen Frist werden die Ressourcenkapazit¨ aten im Allgemeinen als fix angenommen. Daher werden bei der operativen Projektplanung meist zeitbezogene Ziele betrachtet. Am h¨aufigsten wird in der Praxis das Ziel der Projektdauerminimierung verfolgt, d.h. die einzelnen Projektvorg¨ ange werden so eingeplant, dass das Projekt fr¨ uhestm¨oglich beendet wird. Auf diese Weise verschafft sich das ausf¨ uhrende Unternehmen einen zeitlichen Puffer f¨ ur den Fall unvorhergesehener St¨orungen im Projektablauf. Ein anderes Ziel besteht darin, die Vorg¨ange so einzuplanen, dass alle Vorg¨ ange m¨ oglichst fr¨ uh beendet sind. Ein solches Vorgehen f¨ uhrt dazu, dass die zur Projektdurchf¨ uhrung ben¨ otigten Ressourcen fr¨ uhzeitig be- und folglich auch entlastet werden und somit m¨ oglichst fr¨ uh f¨ ur andere Projekte wieder zur Verf¨ ugung stehen. In anderen F¨ allen sollen bestimmte Vorg¨ange eines Projektes m¨ oglichst fr¨ uh und andere Vorg¨ ange m¨oglichst sp¨at ausgef¨ uhrt werden. Sind f¨ ur einzelne Projektvorg¨ ange Fertigstellungs- bzw. Bereitstellungs¨ zeitpunkte vorgegeben und fallen f¨ ur deren Uberoder Unterschreitung Ver13
F¨ ur das allgemeine Ressourceninvestmentproblem (vgl. Abschnitt 2.1.1) werden mehrere Ressourcen betrachtet. Dabei wird dann die kumulierte (gewichtete) Ressourceninanspruchnahme u ¨ ber den Zeitablauf minimiert.
1.4 Projektplanung
43
sp¨atungs- oder Verfr¨ uhungskosten an, so sind alle Projektvorg¨ange m¨oglichst so zu terminieren, dass die vorgegebenen Termine gerade eingehalten werden. Versp¨ atungskosten k¨ onnen sich beispielsweise aus vertraglich vereinbarten Strafen ergeben und zu Verfr¨ uhungskosten kann es kommen, wenn etwa Zwischenprodukte gelagert werden m¨ ussen, bevor sie weiterverarbeitet werden k¨ onnen. Bei der Planung gr¨ oßerer Projekte ist es sinnvoll, einen hierarchischen Planungsansatz zu w¨ ahlen. Dabei wird das zugrunde liegende Projekt zun¨achst auf einer hohen Aggregationsstufe unter kapitalwertorientierten Gesichtspunkten geplant (strategische Projektplanung). Mit fortschreitendem Projektverlauf wird dann f¨ ur die einzelnen Teilprojekte eine zunehmend detaillierte taktische und schließlich operative Planung durchgef¨ uhrt. Wir gehen im Folgenden davon aus, dass auf jeder Planungsstufe stets nur eines der oben genannten Ziele verfolgt wird. Eine mathematische Formulierung der genannten Ziele geben wir ferner in Abschnitt 2.1.1.
1.4 Projektplanung Voraussetzung f¨ ur eine effiziente Projektplanung sind detaillierte Informationen u ¨ber das Projekt, z.B. u ¨ber die einzelnen Vorg¨ange, die sich aus den Arbeitspaketen eines so genannten Projektstrukturplans ableiten lassen, sowie u ¨ber die Zeitbeziehungen zwischen den Vorg¨angen, die sich aufgrund von technisch oder ablauforganisatorisch bedingten Anordnungsbeziehungen ergeben. Außerdem werden Informationen u ur ¨ ber die Dauern der Vorg¨ange, die f¨ deren Ausf¨ uhrung erforderlichen Ressourcen sowie die mit der Durchf¨ uhrung der Vorg¨ ange verbundenen Kosten ben¨ otigt. Diese Informationen werden im Rahmen der Struktur-, Zeit-, Ressourcen- und Kostenanalyse erhoben (vgl. Abschnitte 1.4.1 und 1.4.2). So genannte Netzplantechniken (vgl. Abschnitte 1.4.3 und 1.4.4) dienen zur Visualisierung von Projekten mit Hilfe von Netzpl¨ anen und zur Zeit- bzw. Terminplanung, die f¨ ur alle Vorg¨ange eines Projektes die fr¨ uhest- und sp¨ atestm¨ oglichen Start- und Endzeitpunkte sowie die Pufferzeiten ermittelt. Mit der Terminierung aller Projektvorg¨ange, d.h. der Festlegung eines Startzeitpunktes f¨ ur jeden Vorgang, ist die Projektplanung abgeschlossen (vgl. Abschnitt 1.4.5). 1.4.1 Strukturanalyse Im Rahmen der Strukturanalyse werden die Strukturelemente eines Projektes identifiziert. Wesentliche Strukturelemente sind die einzelnen Vorg¨ange des Projektes, die Zeitbeziehungen zwischen den Vorg¨angen sowie Ereignisse, die bestimmte Projektzust¨ ande markieren.
44
1 Projektmanagement
Vorg¨ ange Bei den Vorg¨angen eines Projektes handelt es sich um zeitbeanspruchende Geschehen mit ausgezeichneten Start- und Endereignissen, bei deren Ausf¨ uhrung i.d.R. Ressourcen (z.B. Arbeitskr¨ afte, Maschinen, Material) ge- oder verbraucht und Kosten verursacht werden. Zur Ermittlung der Projektvorg¨ange wird zun¨ achst ein Projektstrukturplan erstellt, indem ein Projekt hierarchisch in Arbeitspakete disaggregiert wird. Dabei unterscheidet man i.d.R. zwischen einem projektorientierten und einem produktorientierten Vorgehen. Bei einem projektorientierten Strukturplan werden die Teilprojekte, die bereits im Rahmen der Ablauforganisation ermittelt wurden (vgl. Abschnitt 1.3.2), weiter in Unterprojekte und schließlich in Arbeitspakete zerlegt (vgl. Abb. 1.15). Ein Arbeitspaket stellt dabei eine selbst¨ andige Teilaufgabe dar, die eindeutig einem verantwortlichen Mitarbeiter bzw. einer Mitarbeitergruppe zugeordnet werden kann. Bei einem produktbezogenen Projektstrukturplan beginnt man mit dem Produkt als Gegenstand des Projektes und zerlegt dieses in seine einzelnen Teilprodukte und Module bzw. Aggregate (vgl. Abb. 1.16). F¨ ur jedes dieser Module werden dann wieder s¨ amtliche Arbeitspakete identifiziert, die zur Entwicklung und Herstellung des betrachteten Moduls notwendig sind. Diese Informationen lassen sich z.B. recht einfach aus den technischen Spezifikationen eines Moduls erheben, sofern eine solche Dokumentation bereits vorliegt. Projekt Teilprojekt I Unterprojekt I
Teilprojekt II
Unterprojekt II
Arbeitspaket I
Unterprojekt III
Arbeitspaket II
Abb. 1.15. Projektorientierter Projektstrukturplan
Hat man s¨ amtliche Arbeitspakete eines Projektes bestimmt, werden aus diesen Arbeitspaketen die Projektvorg¨ ange abgeleitet. Dabei kann ein Arbeitspaket gerade einem Vorgang entsprechen, ein Arbeitspaket kann in mehrere Vorg¨ ange zerlegt werden, oder es lassen sich mehrere Arbeitspakete zu einem Vorgang zusammenfassen. Bei einer detaillierten Planung, d.h. f¨ ur eine kurzfristige Projektplanung (vgl. Abschnitt 1.3.3), wird das zugrunde liegende Projekt in eher kleine Vorg¨ ange untergliedert, die beispielsweise jeweils nur aus einem einzelnen Arbeitsschritt bestehen. Aus wirtschaftlichen Gr¨ unden sollte die Zerlegung des Projektes allerdings nicht zu detailliert sein, da sonst die Planung, Steuerung und Kontrolle des Projektes sehr aufw¨andig werden.
1.4 Projektplanung
45
Produkt Teilprodukt I Modul I
Teilprodukt II
Modul II
Arbeitspaket I
Modul III
Arbeitspaket II
Abb. 1.16. Produktorientierter Projektstrukturplan
Andererseits birgt eine zu grobe Planung die Gefahr, dass wichtige Aspekte des Projektablaufs nicht mehr abgebildet werden k¨onnen und somit das Ergebnis der Projektplanung nur ein allzu sehr vereinfachtes Abbild der Realit¨at darstellt. Die Zerlegung eines Projektes in einzelne Vorg¨ange sollte je nach Einsatzzweck und unter Ber¨ ucksichtigung eines ausgewogenen KostenNutzen-Verh¨ altnisses erfolgen. In der Praxis erfolgt bei großen Projekten daher im Rahmen einer rollierenden Planung zun¨achst eine grobe Planung f¨ ur das Gesamtprojekt, w¨ ahrend lediglich f¨ ur nahe in der Zukunft liegende Teilprojekte eine Detailplanung durchgef¨ uhrt wird. Im Zeitverlauf werden somit nach und nach alle Teilprojekte einer Detailplanung unterzogen. Die Festlegung des optimalen Detaillierungsgrades, d.h. der optimalen Vorgangsgr¨oßen, ist eine wichtige, aber h¨ aufig auch schwierige Aufgabe der Projektplanung. ¨ Ubliche Faustregeln zur Festlegung des Detaillierungsgrades sind: • •
• •
Der Ressourcenbedarf eines Vorgangs sollte w¨ahrend seiner Durchf¨ uhrung konstant sein, d.h. er sollte hinsichtlich der Art und Menge der ben¨otigten Ressourcen nicht variieren. Ein Vorgang sollte nicht unterbrechbar sein, d.h. er sollte gerade so klein gew¨ ahlt werden, dass er ein nicht sinnvoll unterbrechbares zeiterforderndes Geschehen darstellt. Die meisten Modelle und Verfahren der Projektplanung setzen voraus, dass die Projektvorg¨ange nicht unterbrechbar sind. Sofern nichts anderes gesagt wird, werden wir im Folgenden daher davon ausgehen, dass diese Voraussetzung stets erf¨ ullt ist. Ein Vorgang sollte nicht weniger als eine Zeiteinheit dauern. Je nach Art des Projektes und Detaillierungsgrad ist als Zeiteinheit z.B. eine Minute, eine Stunde, ein Tag, eine Woche oder gar ein Monat zu w¨ahlen. Ein Vorgang sollte eindeutig einer verantwortlichen Stelle oder Abteilung zugeordnet werden k¨ onnen. Dies erleichtert insbesondere die Projektsteuerung und -¨ uberwachung.
Kommen Vorg¨ ange in gleicher oder ¨ ahnlicher Form in mehreren Projekten vor, dann ist der Aufbau einer Projektdatenbank sinnvoll, in der alle relevanten Informationen u ange abgelegt werden. Eine solche ¨ ber einzelne Vorg¨ Projektdatenbank erleichtert die Identifizierung und Charakterisierung von Vorg¨ angen f¨ ur zuk¨ unftige Projekte. Nachdem alle Vorg¨ange des Projektes
46
1 Projektmanagement
identifiziert wurden, werden die Dauern, Ressourceninanspruchnahmen und Kosten der Vorg¨ ange im Rahmen der Zeit-, Ressourcen- und Kostenanalyse (vgl. Abschnitt 1.4.2) ermittelt. Ereignisse Neben der Bestimmung der Vorg¨ ange eines Projektes werden im Rahmen der Strukturanalyse wichtige Ereignisse identifiziert. Ein Ereignis kennzeichnet das Erreichen eines bestimmten Projektzustands. Beispielsweise ist dem Beginn und dem Ende eines Projektes jeweils ein Ereignis zugeordnet, das als Projektstart bzw. Projektende bezeichnet wird. Meilensteine, die wir im Rahmen der ablauforganisatorischen Betrachtung eines Projektes in Abschnitt 1.3.2 bereits identifiziert haben, stellen ebenfalls Ereignisse dar. In den folgenden Ausf¨ uhrungen subsumieren wir Ereignisse unter den Vorg¨angen und bezeichnen sie als fiktive Vorg¨ange. Anders als reale Vorg¨ange verbrauchen fiktive Vorg¨ ange (Ereignisse) aber weder Zeit und Ressourcen noch verursachen sie Kosten. Zeitbeziehungen Sind alle Vorg¨ ange des Projektes ermittelt, werden die Zeitbeziehungen zwischen den Vorg¨ angen spezifiziert. Eine Zeitbeziehung wird durch eine Anordnungsbeziehung und einen Zeitabstand charakterisiert. Eine Anordnungsbeziehung beschreibt die Reihenfolge zweier Vorg¨ange. Anordnungsbeziehungen k¨ onnen technisch bedingt sein, d.h. es ist eine technisch bzw. logisch zwingende Reihenfolge zwischen den Vorg¨ angen einzuhalten. So muss man bei einem Hausbau immer erst das Fundament gießen, dann die W¨ande und anschließend den Dachstuhl errichten. Daneben k¨ onnen Anordnungsbeziehungen auch ablauforganisatorische Gr¨ unde haben, d.h. sie ergeben sich aufgrund von Terminrestriktionen oder sonstiger ablauforganisatorischer Gegebenheiten. Jeder Vorgang besitzt zwei feste Bezugspunkte, n¨ amlich ein Start- und ein Endereignis. Insgesamt unterscheidet man daher vier m¨ogliche Arten von Anordnungsbeziehungen (Verkn¨ upfungstypen) zwischen zwei Vorg¨angen i und j: 1. Ende-Start-Beziehung (es): Vorgang j kann begonnen werden, sobald Vorgang i beendet wurde. 2. Start-Start-Beziehung (ss): Vorgang j kann begonnen werden, sobald Vorgang i begonnen wurde. 3. Start-Ende-Beziehung (se): Vorgang j kann beendet werden, sobald Vorgang i begonnen wurde. 4. Ende-Ende-Beziehung (ee): Vorgang j kann beendet werden, sobald Vorgang i beendet wurde. In Abbildung 1.17 sind die vier Verkn¨ upfungstypen grafisch veranschaulicht. Jeder Vorgang ist durch einen Knoten (Quadrat) dargestellt, wobei die
1.4 Projektplanung se ss i
es ee
47
? ? - j 6
Abb. 1.17. Vier Verkn¨ upfungstypen
linke Seite des Knotens das Startereignis und die rechte Seite das Endereignis des Vorgangs symbolisiert. In jedem der vier F¨alle wird eine Vorg¨angerNachfolger-Beziehung zwischen den Vorg¨ angen i und j impliziert, die durch einen Pfeil von i nach j dargestellt wird. Man bezeichnet Vorgang i als Vorg¨anger von j und Vorgang j als Nachfolger von i. Um die Zeitbeziehungen zwischen den Vorg¨angen eines Projektes vollst¨andig beschreiben zu k¨ onnen, m¨ ussen neben den Anordnungsbeziehungen die Zeitabst¨ande zwischen zwei Vorg¨ angen spezifiziert werden. Es werden zwei Arten von Zeitabst¨ anden unterschieden. Mindestabst¨ande kennzeichnen zeitliche Abst¨ ande, die nicht unterschritten, wohl aber u urfen. ¨berschritten werden d¨ H¨ochstabst¨ande sind zeitliche Abst¨ ande, die unterschritten, nicht aber u ¨ berschritten werden d¨ urfen.14 Insgesamt lassen sich damit acht verschiedene Arten von Zeitbeziehungen unterscheiden: 1. Mindestabstand zwischen i und j vom Typ Ende-Start ( es Tijmin ): Vorgang j kann fr¨ uhestens es Tijmin Zeiteinheiten (ZE) nach Beendigung von Vorgang i beginnen, der Start von j kann aber auch sp¨ater erfolgen. 2. Mindestabstand zwischen i und j vom Typ Start-Start ( ss Tijmin ): Vorgang j kann fr¨ uhestens ss Tijmin ZE nach dem Start von Vorgang i beginnen, der Start von j kann aber auch sp¨ ater erfolgen. 3. Mindestabstand zwischen i und j vom Typ Start-Ende ( se Tijmin ): Vorgang j kann fr¨ uhestens se Tijmin ZE nach dem Start von Vorgang i beendet werden, das Ende von j kann aber auch sp¨ater eintreten. 4. Mindestabstand zwischen i und j vom Typ Ende-Ende ( ee Tijmin ): Vorgang j kann fr¨ uhestens ee Tijmin ZE nach Beendigung von Vorgang i beendet werden, das Ende von j kann aber auch sp¨ater eintreten. 5. H¨ ochstabstand zwischen i und j vom Typ Ende-Start ( es Tijmax ): Vorgang j muss sp¨ atestens es Tijmax ZE nach dem Ende von Vorgang i beginnen, der Start von j kann aber auch fr¨ uher erfolgen. 6. H¨ ochstabstand zwischen i und j vom Typ Start-Start ( ss Tijmax ): Vorgang j muss sp¨ atestens ss Tijmax ZE nach dem Start von Vorgang i beginnen, der Start von j kann aber auch fr¨ uher erfolgen. 7. H¨ ochstabstand zwischen i und j vom Typ Start-Ende ( se Tijmax ): Vorgang j muss sp¨ atestens se Tijmax ZE nach dem Start von Vorgang i beendet werden, das Ende von j kann aber auch fr¨ uher eintreten. 14
Die Ermittlung der konkreten zeitlichen Abst¨ ande, die nicht unter- bzw. u ¨ berschritten werden d¨ urfen, ist im Rahmen der Zeitanalyse in Abschnitt 1.4.2 dargelegt.
48
1 Projektmanagement
8. H¨ ochstabstand zwischen i und j vom Typ Ende-Ende ( ee Tijmax ): Vorgang j muss sp¨ atestens ee Tijmax ZE nach Beendigung von Vorgang i beendet werden, das Ende von j kann aber auch fr¨ uher eintreten. Oft soll f¨ ur einen der Verkn¨ upfungstypen v ∈ {es, ss, se, ee} ein Zeitabstand τ zwischen zwei Vorg¨ angen i und j exakt eingehalten werden. Dies kann durch die Einf¨ uhrung eines Mindest- und eines H¨ochstabstandes mit v min Tij := v Tijmax := τ realisiert werden. Die vier m¨ oglichen Verkn¨ upfungstypen zwischen zwei Vorg¨angen k¨onnen leicht ineinander u uhrt werden. Zur Demonstration betrachten wir einen ¨berf¨ zeitlichen Mindestabstand vom Typ Start-Start, der in einen zeitlichen Mindestabstand vom Typ Ende-Start u uhrt werden soll. Sei pi ∈ Z≥0 die Be¨berf¨ arbeitungsdauer (processing time) von Vorgang i. Da zwischen dem Start und dem Ende von Vorgang i somit gerade pi Zeiteinheiten vergehen, entspricht ein zeitlicher Mindestabstand vom Typ Ende-Start zwischen den Vorg¨angen i und j einem zeitlichen Mindestabstand vom Typ Start-Start abz¨ uglich der Dauer von Vorgang i, d.h. es Tijmin = ss Tijmin − pi (vgl. Abb. 1.18). F¨ ur einen zeitlichen H¨ ochstabstand wird analog vorgegangen, d.h. es Tijmax = ss Tijmax − pi .
ss
Tijmin
-
pi
es
Tijmin
Vorgang i
Vorgang j
-t 0 Abb. 1.18. Start-Start- und Ende-Start-Beziehungen
¨ Eine Ubersicht u upfungstypen f¨ ur ¨ber die Umrechnungsregeln aller Verkn¨ den Fall zeitlicher Mindestabst¨ ande ist in Tabelle 1.10 gegeben. Liegen zeitliche H¨ ochstabst¨ ande vor, so gelten die Umrechnungsregeln analog. Tabelle 1.10. Umrechnungsregeln aller Verkn¨ upfungstypen es
Tijmin =
Tijmin es min Tij se min Tij se min Tij se min Tij es
= = = = =
ss se
Tijmin − pi
Tijmin ee min Tij ss min Tij es min Tij ee min Tij
− pi − − pj + pj + pi + + pi
ss ss
Tijmin =
pj Tijmin ss min Tij ee min Tij ee min pj Tij ee min Tij
es
Tijmin + pi
se
Tijmin − pj
ee
Tijmin + pi − pj
ss
Tijmin − pi + pj
=
es
Tijmin + pj
=
se
Tijmin − pi
= = =
1.4 Projektplanung
49
Da die vier Verkn¨ upfungstypen einfach ineinander umgerechnet werden k¨onnen, ist es u upfungstypen zu arbei¨ blich, mit nur einem dieser Verkn¨ ten. Im Rahmen der MPM-Netzplantechnik, die wir in Abschnitt 1.4.3 n¨aher erl¨ autern, werden beispielsweise ausschließlich zeitliche Mindest- und H¨ochstabst¨ ande vom Typ Start-Start ( ss Tijmin und ss Tijmax ) betrachtet und wir bezeichnen diese in verk¨ urzter Schreibweise mit Tijmin und Tijmax . Bei der CPMNetzplantechnik hingegen (vgl. Abschnitt 1.4.4) werden nur zeitliche Mindestabst¨ ande es Tijmin = 0 vom Typ Ende-Start, so genannte Vorrangbeziehungen, verwendet. Beispiel 1.9 (Bau eines Hauses). Zur Veranschaulichung der Strukturanalyse betrachten wir ein kleines Bauprojekt. Zu Beginn des Projektes ist das Fundament des Hauses bereits gegossen und es soll sofort mit den Arbeiten am Rohbau begonnen werden. Zwischen dem Projektstart und dem Beginn der Maurerarbeiten darf daher keine Zeit verstreichen. An die Maurerarbeiten schließt sich unmittelbar die Errichtung des Dachstuhls an. Auf die Fertigstellung des Dachstuhls folgt mit dem Richtfest unmittelbar ein Meilenstein des Bauprojekts. Nach dem Richtfest muss sofort das Dach gedeckt werden, damit der Rohbau bei schlechtem Wetter nicht feucht wird. Fr¨ uhestens nach Errichtung des Dachstuhls sollen außerdem die Fenster des Hauses eingesetzt werden. Damit mit dem Innenausbau begonnen werden kann, muss allerdings, sp¨ atestens eine Woche nachdem das Dach gedeckt wurde, mit dem Einsetzen der Fenster begonnen werden. Die Sanit¨ arinstallationen k¨onnen erst beginnen, wenn der beauftragte Installateur mit seinen Arbeiten auf einer anderen Baustelle fertig ist. Es ist somit fr¨ uhestens f¨ unf Wochen nach dem Projektstart mit dem Einbau der Sanit¨ arinstallation zu rechnen. Mit den Elektroinstallationen kann fr¨ uhestens eine Woche nach Beginn der Sanit¨arinstallationen begonnen werden. Da die Handwerker viel besch¨aftigt sind, m¨ ussen die Elektroinstallationen sp¨ atestens zw¨ olf Wochen nach Baubeginn abgeschlossen sein. Unmittelbar nach Abschluss der sanit¨ aren Installationsarbeiten soll mit den Arbeiten am Innenputz des Hauses begonnen werden. Fr¨ uhestens eine Woche nach Beginn und sp¨ atestens zwei Wochen nach dem Ende der Putzarbeiten muss die Malerfirma mit ihren Arbeiten anfangen. Sobald die Elektroinstallationen und die Malerarbeiten abgeschlossen sind, kann mit der Montage der K¨ uche begonnen werden. Das Projektende kann erst eintreten, wenn das Dach gedeckt, die Fenster eingesetzt und die K¨ uche montiert wurden. Außerdem wurde mit dem Auftraggeber vereinbart, dass das Haus sp¨atestens 18 Wochen nach Projektbeginn fertiggestellt sein muss. Tabelle 1.11 zeigt die realen und fiktiven Vorg¨ange des Bauprojekts, die sich aus der verbalen Beschreibung des Bauprojektes ableiten lassen. Jedem Vorgang ist dabei eine eindeutige Vorgangsnummer zugeordnet, und f¨ ur jeden Vorgang ist die Menge seiner unmittelbaren Vorg¨anger und Nachfolger angegeben. Weiterhin werden die sich ergebenden Zeitbeziehungen zwischen den Vorg¨ angen des Projektes in Abbildung 1.19 veranschaulicht. Jeder Vorgang wird durch einen Knoten mit der entsprechenden Vorgangsnummer dargestellt
50
1 Projektmanagement
und die Mindest- und H¨ ochstabst¨ ande vom Typ Start-Start zwischen je zwei Vorg¨ angen werden durch eine Kante zwischen den entsprechenden Knoten symbolisiert. Tabelle 1.11. Vorg¨ ange mit jeweiligen Vorg¨ angern und Nachfolgern Nr.
Vorgang
Vorg¨ anger
Nachfolger
0 1 2 3 4 5 6 7 8 9 10 11
Projektstart Maurerarbeiten Errichtung des Dachstuhls Richtfest Dachdeckerarbeiten Fenster einsetzen Sanit¨ arinstallationen Elektroinstallationen Innenputzarbeiten Malerarbeiten Montage der K¨ uche Projektende
— 0 1 2 3 2, 4 0 0, 6 6 8 7, 9 0, 4, 5, 10
1, 6, 7, 11 2 3, 5 4 5, 11 11 7, 8 10 9 10 11 —
max T0,11
1
min T12
2
min T23
3
min T34
4
max max S T34 H T23 HH min S T4,11 min T25 max HH S T45 max T01 HH S HH min S max T5,11 T 07 H 5 S 11 0 7 Z S Z T min S min Z 7,10 T67 S Z min min T10,11 Z T06 S Z T min min min S T89 T9,10 Z Z S 6 68 8 9 10 min T01
max T12
max T68
max T89
Abb. 1.19. Zeitbeziehungen zwischen den Vorg¨ angen
1.4.2 Zeit-, Ressourcen- und Kostenanalyse Im Rahmen der Projektplanung werden Informationen u ¨ ber die Vorgangsdauern, die Zeitabst¨ ande der Zeitbeziehungen sowie die f¨ ur die Ausf¨ uhrung eines Vorgangs erforderlichen Ressourcen und die aus seiner Ausf¨ uhrung resultierenden Kosten ben¨ otigt. Diese Informationen werden im Rahmen der
1.4 Projektplanung
51
Zeit-, Ressourcen- und Kostenanalyse erhoben. Es ist zu beachten, dass dabei in der Zukunft liegende Werte ermittelt oder gesch¨atzt werden m¨ ussen. Die Ergebnisse der Zeit-, Ressourcen- und Kostenanalyse sind daher stets mit Unsicherheiten behaftet. Zeitanalyse Im Rahmen der Zeitanalyse werden die Vorgangsdauern bestimmt und die Mindest- und H¨ochstabst¨ ande zwischen den Vorg¨angen quantifiziert. Die Ausf¨ uhrungsdauern der Vorg¨ange k¨ onnen je nach den spezifischen Gegebenheiten des zugrunde liegenden Projektes bzw. seiner Projektvorg¨ange auf verschiedene Arten ermittelt werden. In großen Projekten werden einzelne Vorg¨ ange und Teilprojekte h¨aufig von unternehmensexternen Dritten durchgef¨ uhrt, z.B. von Subunternehmern oder Zulieferern. Die Vorgangsdauern solcher Vorg¨ ange k¨onnen auf der Grundlage von Lieferzeitangaben oder Terminzusagen der externen Projektpartner erhoben werden. Diese Art der Erhebung von Vorgangsdauern ist zwar sehr einfach, hat aber den Nachteil, dass der Planer keine Informationen u ute ¨ber die G¨ der Zeitangaben hat, die von der Termintreue des Projektpartners abh¨angen. Sowohl f¨ ur unternehmensinterne als auch -externe Vorg¨ange kann die Sch¨ atzung der Ausf¨ uhrungsdauern auf der Grundlage von Erfahrungen des Planers erfolgen. Die Qualit¨ at einer solchen Sch¨atzung h¨angt dabei ganz wesentlich von der Erfahrung des Planers ab und ist u ¨berhaupt nur m¨oglich, wenn der Planer aus vorausgegangenen Projekten u ¨ ber Erfahrungswerte mit vergleichbaren Vorg¨ angen verf¨ ugt. F¨ ur diese Art der Sch¨atzung empfiehlt es sich, f¨ ur alle h¨ aufiger vorkommenden Vorg¨ ange sowohl die Zeitsch¨atzungen als auch die letztlich realisierten Zeiten in einer Projektdatenbank festzuhalten, so dass sp¨ ater darauf zur¨ uckgegriffen werden kann. Fehlen dem Planer notwendige Informationen u ¨ ber Detailfragen, dann ist die Gefahr von Fehleinsch¨ atzungen groß. Wenn m¨ oglich, sollten die Zeitsch¨atzungen daher nicht allein durch den Projektplaner vorgenommen werden, sondern es sollte stets die Meinung qualifizierter Dritter eingeholt werden. Dabei kann es sich z.B. um andere Mitglieder des Projektplanungsstabes, die f¨ ur einen Vorgang verantwortlichen Personen oder die mit der Ausf¨ uhrung eines Vorgangs betrauten Mitarbeiter handeln. Bei der Sch¨ atzung von Vorgangsdauern durch letztere ¨ ist allerdings zu ber¨ ucksichtigen, dass es zu Ubersch¨ atzungen der eigentlichen Dauern kommen kann, um sich Zeitreserven zu verschaffen. F¨ ur h¨ aufig vorkommende, insbesondere unternehmensinterne, Vorg¨ange (Arbeitsg¨ ange) k¨ onnen die Vorgangsdauern außerdem mit Hilfe arbeitswissenschaftlicher Arbeitszeitstudien ermittelt werden; vgl. hierzu bspw. Luczak (1998, Kapitel 23). Dabei wird zwischen analytischen und synthetischen Verfahren unterschieden. Bei analytischen Verfahren, wie z.B. der REFA-Methode des Verbandes f¨ ur Arbeitsstudien und Betriebsorganisation e.V., findet f¨ ur eine repr¨ asentative Anzahl von Wiederholungen desselben Arbeitsganges eine Arbeitszeitmessung am Arbeitsplatz statt. Gleichzeitig wird f¨ ur jede dieser
52
1 Projektmanagement
Wiederholungen der Leistungsgrad gesch¨ atzt, d.h. es wird gesch¨atzt, ob der beobachtete Arbeitnehmer besonders z¨ ugig, besonders langsam oder mit einer durchschnittlichen Geschwindigkeit arbeitet. Damit k¨onnen die empirisch erhobenen Ist-Zeiten zu einer Vorgabezeit aggregiert werden, die auf einen repr¨ asentativen Leistungsgrad bezogen und dann als entsprechende Vorgangsdauer angesetzt wird. Bei synthetischen Verfahren zur Arbeitszeitermittlung, wie beispielsweise der MTM-Methode (Methods Time Measurement), wird ein Arbeitsgang in einfachste grundlegende Bewegungsabl¨aufe disaggregiert. Jeder dieser Bewegungsabl¨ aufe wird dann in Abh¨angigkeit von unterschiedlichen Einflussfaktoren (bspw. die Komplexit¨at eines Werkst¨ ucks) mit einer Vorgabezeit bewertet. Die Summe aller Vorgabezeiten ergibt schließlich die gesuchte Vorgangsdauer. Die Verwendung von Arbeitszeitstudien zur Ermittlung der Vorgangsdauern eignet sich jedoch nur f¨ ur manuelle und teilautomatisierte Arbeiten, nicht aber f¨ ur Arbeiten die – wie etwa bei Forschungs- und Entwicklungsprojekten – u unstlerischer, kreativer oder geistiger ¨berwiegend k¨ Natur sind. In der Praxis wird zumeist ignoriert, dass die ermittelten Vorgangsdauern mit Unsicherheiten behaftet sind. Die Zeitplanung und Terminierung der Projektvorg¨ ange erfolgt so, als ob die gesch¨ atzten Dauern tats¨achlich eingehalten w¨ urden. Dies gilt auch f¨ ur die am weitesten verbreitete Netzplantechnik MPM, die in Abschnitt 1.4.3 ausf¨ uhrlich erl¨ autert wird. Bei einigen Netzplantechniken (PERT und Weiterentwicklungen, vgl. Abschnitt 1.4.4) wird der Unsicherheit bei der Zeitanalyse durch die Verwendung stochastischer Vorgangsdauern Rechnung getragen. Dabei ist die Vorgangsdauer eine Zufallsvariable, die einer vorzugebenden Wahrscheinlichkeitsverteilung gehorcht. Aus Gr¨ unden der Praktikabilit¨ at wird meist keine genaue Kenntnis der entsprechenden Wahrscheinlichkeitsverteilungen gefordert. Stattdessen wird i.d.R. mit drei Zeitgr¨ oßen je Vorgang gearbeitet, die die Verteilung der Vorgangsdauer charakterisieren. Bei einer solchen Dreizeitensch¨atzung ermittelt man f¨ ur einen Vorgang die wahrscheinlichste oder h¨ aufigste Vorgangsdauer sowie eine pessimistische und eine optimistische Vorgangsdauer. Die wahrscheinlichste oder h¨aufigste Dauer ist die Zeit, die unter normalen Bedingungen f¨ ur die Ausf¨ uhrung eines Vorgangs ben¨ otigt wird. Sie kommt bei wiederholter Durchf¨ uhrung des Vorgangs am h¨ aufigsten vor (Modalwert der Verteilung). Die pessimistische Dauer wird unter ung¨ unstigsten Bedingungen ben¨ otigt, d.h. in allen F¨allen, in denen sich die zur Zeitverl¨ angerung beitragenden St¨ orfaktoren stark h¨aufen. Die optimistische Dauer ist die k¨ urzestm¨ ogliche Zeit, in der ein Vorgang ausgef¨ uhrt werden kann. Allgemein spricht man von einer Mehrzeitensch¨atzung, wenn mit mehreren Zeitgr¨ oßen je Vorgang gearbeitet wird. Eine Mehrzeitensch¨atzung erfordert naturgem¨ aß einen gr¨ oßeren Aufwand als eine Einzeitensch¨atzung, da f¨ ur jeden Vorgang mehrere Sch¨ atzwerte zu ermitteln sind. Jeder der einzelnen Sch¨ atzwerte ist jedoch unsicher, so dass das Unsicherheitsproblem zwar reduziert, aber nicht ausgeschaltet wird. Neben der Ermittlung der Ausf¨ uhrungsdauern der Vorg¨ange werden im Rahmen der Zeitanalyse auch die Zeitabst¨ande der Zeitbeziehungen quantifi-
1.4 Projektplanung
53
ziert, die in Form von Mindest- und H¨ ochstabst¨anden vorliegen. Ebenso wie die Anordnungsbeziehungen zwischen je zwei Vorg¨angen (vgl. Abschnitt 1.4.1) kann man auch die Zeitabst¨ ande zwischen diesen Vorg¨angen hinsichtlich ihrer Ursachen unterscheiden, d.h. sie k¨ onnen technisch bzw. logisch bedingt sein oder sich aufgrund ablauforganisatorischer Umst¨ande ergeben. Beispielsweise muss eine Fahrzeugkarosserie, nachdem sie lackiert wurde, mindestens zwei Stunden trocknen, bevor sie weiterbearbeitet werden kann, oder aber ein Teilprojekt muss aufgrund vertraglicher Verpflichtungen eine vorgegebene Zeitspanne nach Projektbeginn beendet werden. Die Erhebung von Zeitabst¨ anden ist in hohem Maße abh¨angig vom vorliegenden Projekt. Konkrete Zeitabst¨ ande werden z.B. auf der Grundlage von Produkt- und Fertigungsspezifikationen, intern oder extern vorgegebener Fristen sowie sp¨ atesten Fertigstellungs- oder fr¨ uhesten Bereitstellungszeitpunkten ermittelt. In der Regel sind auch die Dauern der einzelnen Projektvorg¨ange bei der Bestimmung der Zeitabst¨ ande zu ber¨ ucksichtigen. Soll beispielsweise ein Vorgang j fr¨ uhestens nach dem Ende von Vorgang i mit der Dauer pi starten k¨ onnen, dann hat der korrespondierende Mindestabstand zwischen den beiden Startzeitpunkten der Vorg¨ ange i und j die L¨ange ss Tijmin = pi (vgl. hierzu auch Tab. 1.10). Beispiel 1.10 (Fortsetzung von Beispiel 1.9). Zur Veranschaulichung der Zeitanalyse betrachten wir wieder unser Bauprojekt aus Abschnitt 1.4.1. Wir nehmen an, dass die Ausf¨ uhrungsdauern der Vorg¨ange aufgrund von Erfahrungswerten und Terminzusagen der Subunternehmer wie in Tabelle 1.12 angegeben gesch¨ atzt werden k¨ onnen. Die fiktiven Vorg¨ange Projektstart, Richtfest (Meilenstein) und Projektende haben die Dauer 0. Tabelle 1.12. Ausf¨ uhrungsdauern der Vorg¨ ange Nr. Vorgang 0 1 2 3 4 5 6 7 8 9 10 11
Projektstart Maurerarbeiten Errichtung des Dachstuhls Richtfest Dachdeckerarbeiten Fenster einsetzen Sanit¨ arinstallationen Elektroinstallationen Innenputzarbeiten Malerarbeiten Montage der K¨ uche Projektende
Dauer (in Wochen) 0 3 2 0 1 1 4 3 2 2 1 0
Mit Hilfe der Vorgangsdauern und der in der Projektbeschreibung in Beispiel 1.9 angegebenen Termine und Zeitabst¨ ande zwischen einzelnen Vor-
54
1 Projektmanagement
g¨ angen k¨ onnen die zeitlichen Mindest- und H¨ochstabst¨ande vom Typ StartStart quantifiziert werden. Da beispielsweise Vorgang 1 unmittelbar nach Promin max jektbeginn starten soll, gilt T01 := T01 := 0. Mit der Bearbeitung von Vorgang 8 soll sofort nach dem Ende von Vorgang 6 begonnen werden. Daher min max gilt T68 := T68 := p6 = 4. Da Vorgang 9 fr¨ uhestens eine Woche nach dem Beginn von Vorgang 8 starten darf und sp¨atestens 2 Wochen nach dem min max Ende von 8 starten muss, gilt T89 := 1 und T89 := p8 + 2 = 4. Vorgang 5 kann fr¨ uhestens nach Beendigung von Vorgang 2 begonnen werden und muss sp¨ atestens eine Woche nach dem Ende von Vorgang 4 gestartet werden, d.h. min max T25 := p2 = 2 und T45 := p4 + 1 = 2. Vorgang 7 muss sp¨atestens 12 Womax chen nach Projektbeginn beendet sein, d.h. T07 := 12 − p7 = 9. Die u ¨brigen Zeitbeziehungen (vgl. Abb. 1.20) ergeben sich analog. max T0,11 := 18 min T12 := 3
min T23 := 2
min T34 := 0
max T68 := 4
max T89 := 4
min T9,10 := 2
1 max 2 3 max 4 max T12 := 3 := 2 T34 := 0 S 23 HTH min T01 := 0 min S T4,11 H := 1 min T25 := 2 H max S T45 := 2 H max T01 := 0 H S H HH min max T5,11 := S 1 T07 := 9 H 5 S 11 0 7 Z S Z T min := 3 S min Z 7,10 T67 := 1 S Z min min T10,11 Z T06 := 5S := 1 Z min min S T :=4 T89 := 1 Z Z S 6 68 8 9 10 Abb. 1.20. Mindest- und H¨ ochstabst¨ ande zwischen den Vorg¨ angen
Ressourcenanalyse Bei der Bestimmung der f¨ ur die Durchf¨ uhrung eines Vorgangs ben¨otigten Ressourcen unterscheiden wir zwischen zwei grundlegenden Arten von Ressourcen: erneuerbaren und nicht-erneuerbaren Ressourcen. Nicht-erneuerbare Ressourcen sind klassische Verbrauchsg¨ uter wie z.B. Rohstoffe oder Materialien, die nur einmal verwendet werden k¨onnen und danach nicht mehr zur Verf¨ ugung stehen. Zu den nicht-erneuerbaren Ressourcen i.w.S. werden auch finanzielle Mittel gez¨ ahlt. Wird n¨amlich ein vorgegebenes Budget durch einen Vorgang in Anspruch genommen, dann stehen diese finanziellen Mittel f¨ ur nachfolgende Vorg¨ ange nicht mehr zur Verf¨ ugung. Die f¨ ur einen Vorgang ben¨ otigten Verbrauchsg¨ uter k¨onnen meist recht genau anhand von St¨ ucklisten bzw. Produktbeschreibungen (bedarfsgesteuerte
1.4 Projektplanung
55
Materialbedarfsprognose) oder mit Hilfe verbrauchsgesteuerter Prognoseverfahren ermittelt werden. Bei der Herstellung eines PKW kann der St¨ uckliste unmittelbar entnommen werden, dass f¨ ur den Vorgang R¨ader montieren“ ” vier Komplettr¨ ader ben¨ otigt werden. Verbrauchsgesteuerte Prognoseverfahren hingegen, wie z.B. Verfahren der exponentiellen Gl¨attung, kommen vor allem bei der Bedarfsprognose geringwertiger Wirtschaftsg¨ uter (z.B. Schrauben oder Schmiermittel) zum Einsatz, f¨ ur die eine bedarfsgesteuerte Disposition zu aufw¨ andig w¨ are. Nicht-erneuerbare Ressourcen sind vor allem f¨ ur die Kostenplanung (vgl. Kapitel 4) von Interesse, bei der die einzelnen Vorg¨ange durch den vermehrten bzw. verminderten Einsatz von Ressourcen beschleunigt bzw. verz¨ogert werden k¨ onnen. Im Rahmen der Projektplanung unter Zeitrestriktionen (vgl. Kapitel 2) bzw. der Projektplanung unter Zeit- und Ressourcenrestriktionen (vgl. Kapitel 3) spielen nicht-erneuerbare Ressourcen eine untergeordnete Rolle, da wir annehmen, dass die zur Ausf¨ uhrung eines Vorgangs ben¨otigten nicht-erneuerbaren Ressourcen stets zu Beginn des Vorgangs in ausreichender Menge zur Verf¨ ugung stehen. Kann dies einmal nicht gew¨ahrleistet werden, so k¨onnen fr¨ uheste Bereitstellungstermine mit Hilfe zeitlicher Mindestabst¨ande zwischen dem Projektstart und dem zugrunde liegenden Vorgang abgebildet werden. Zur Behandlung nicht-erneuerbarer Ressourcen f¨ ur die Projektplanung im Mehrmodusfall, bei der f¨ ur die Ausf¨ uhrung von Vorg¨angen verschiedene Ausf¨ uhrungsmodi zu betrachten sind, verweisen wir auf Neumann et al. (2003, Kap. 2.15) und Demeulemeester und Herroelen (2002, Kap. 8). Erneuerbare Ressourcen wie Maschinen, Prozessoren, Laboreinrichtungen oder Personal sind Ressourcen, die f¨ ur die Dauer eines Vorgangs durch diesen ganz oder teilweise belegt werden und w¨ ahrend dieses Zeitraums f¨ ur andere Vorg¨ ange nicht bzw. nicht in voller H¨ ohe zur Verf¨ ugung stehen. Sobald der beanspruchende Vorgang endet, kann eine erneuerbare Ressource von anderen Vorg¨ angen wieder belegt werden. Unter Umst¨anden sind vor der Belegung einer solchen Ressource jedoch noch (reihenfolgeabh¨angige) R¨ ustzeiten zu ber¨ ucksichtigen, z.B. um neue Werkzeuge in ein Bohrfutter einzuspannen oder einen chemischen Reaktor zu reinigen. Wir nehmen an, dass erneuerbare Ressourcen zu jedem Zeitpunkt des Planungszeitraums in konstanter H¨ ohe zur Verf¨ ugung stehen, unabh¨ angig davon, ob sie zuvor bereits verwendet wurden oder nicht. Zur Bestimmung der H¨ohe der Inanspruchnahme einer erneuerbaren Ressource durch einen Vorgang kann man beispielsweise eine technische Beschreibung des zugrunde liegenden Arbeitsgangs heranziehen. In einem solchen Arbeitsplan ist i.d.R. genau spezifiziert, welcher Maschinentyp zur Bearbeitung eines Werkst¨ ucks ben¨ otigt wird oder u ¨ber welche Qualifikationen ein Mitarbeiter verf¨ ugen muss und wie viele Mitarbeiter notwendig sind. F¨ ur alle ben¨ otigten erneuerbaren Ressourcen m¨ ussen außerdem die im Planungszeitraum verf¨ ugbaren Ressourcenkapazit¨aten bestimmt werden. Es muss also beispielsweise gekl¨ art werden, wie viele Mitarbeiter f¨ ur das betrachtete Projekt verf¨ ugbar sind oder freigestellt werden k¨onnen oder wie viele der ben¨ otigten Maschinen im betrachteten Zeitraum nicht belegt sind. Die knap-
56
1 Projektmanagement
pen Ressourcen stellen aus Sicht der Projektplanung Restriktionen dar, da f¨ ur jeden beliebigen Zeitpunkt w¨ ahrend der Ausf¨ uhrung eines Projektes die gesamte Inanspruchnahme einer Ressource durch die in Ausf¨ uhrung befindlichen Vorg¨ ange die verf¨ ugbare Ressourcenkapazit¨ at nicht u ¨berschreiten darf. ¨ F¨ ur einen Uberblick u ¨ ber weitere im Rahmen der Projektplanung h¨aufig thematisierte Ressourcentypen verweisen wir auf weiterf¨ uhrende Literatur, da deren Behandlung den Rahmen dieser Monographie u ¨bersteigt. In Neumann et al. (2003, Kap. 2.12 und 2.13) werden z.B. so genannte kumulative und synchronisierende Ressourcen behandelt, B¨ ottcher et al. (1999) beschreiben partiell erneuerbare Ressourcen und in Schwindt und Trautmann (2003) werden so genannte allozierende Ressourcen betrachtet. Zwischen der Dauer eines Vorgangs und der Menge der durch seine Ausf¨ uhrung in Anspruch genommenen erneuerbaren oder nicht-erneuerbaren Ressourcen besteht in vielen F¨ allen ein unmittelbarer Zusammenhang. Die Vorgangsdauern h¨ angen meist von den eingesetzten Ressourcenkapazit¨aten ab und sind damit in einem gewissen Rahmen variabel. So kann z.B. ein Vorgang in einem Bauprojekt beschleunigt werden, indem man mehr Mitarbeiter oder Baukr¨ ane zur Verf¨ ugung stellt, oder ein chemischer Prozess wird dadurch beschleunigt, dass ihm mehr Energie zugef¨ uhrt wird. Dieser Zusammenhang erschwert die Ermittlung der f¨ ur die Projektplanung anzusetzenden Vorgangsdauern bzw. der zu veranschlagenden Ressourceninanspruchnahmen. In der Praxis wird daher h¨ aufig die unter normalen Projektablaufbedingungen wahrscheinlichste oder h¨ aufigste Dauer f¨ ur einen Vorgang sowie der hieraus resultierende Ressourcenverbrauch vorgegeben. Es ist jedoch empfehlenswert, sich bei der Festlegung einer Vorgangsdauer und der resultierenden Ressourceninanspruchnahmen am ¨ okonomischen Prinzip, d.h. an der Minimierung der resultierenden Kosten, zu orientieren. Kostenanalyse Im Rahmen der Kostenanalyse werden die Kosten ermittelt, die bei der Durchf¨ uhrung eines Projektes anfallen. Dazu wird zwischen Vorgangseinzelkosten (Einzelkosten), d.h. Kosten, die den einzelnen Vorg¨angen unmittelbar zurechenbar sind, und Vorgangsgemeinkosten (Gemeinkosten), d.h. Kosten, die den einzelnen Vorg¨ angen nicht unmittelbar zugeordnet werden k¨onnen, unterschieden. Die Einzelkosten eines Vorgangs ergeben sich im Allgemeinen unmittelbar aus der Ressourceninanspruchnahme eines Vorgangs, indem die beanspruchte Ressourcenkapazit¨ at mit Preisen bzw. Kostens¨atzen bewertet wird. Eine solche Bewertung ist f¨ ur nicht-erneuerbare Ressourcen einfach; z.B. k¨onnen die f¨ ur einen Vorgang ben¨ otigten Rohstoffe und Materialien mit aktuellen Marktpreisen oder historischen Anschaffungskosten bewertet werden. Die Ber¨ ucksichtigung erneuerbarer Ressourcen erweist sich als komplizierter, da sie einem Unternehmen i.d.R. u angeren Zeitraum hinaus zur Verf¨ ugung ste¨ ber einen l¨ hen und ihre Zurechnung zu einem einzelnen Vorgang meist u ¨ber bestimmte
1.4 Projektplanung
57
Kostenschl¨ ussel erfolgt. Wird z.B. eine Spezialmaschine von nur einem einzigen Projektvorgang ben¨ otigt, so k¨ onnen die anteiligen kalkulatorischen Abschreibungen dieser Maschine zusammen mit etwaigen Bereitstellungskosten (bspw. Transportkosten eines Krans zu einer Baustelle) als Einzelkosten des betrachteten Vorgangs angesehen werden.15 Die Vorgangseinzelkosten sind nicht als fix zu erachten, da ihre H¨ohe wesentlich von der H¨ ohe der Ressourceninanspruchnahme und damit von der Vorgangsdauer abh¨ angt. Eine Ver¨ anderung der Vorgangsdauer kann durch eine • • • •
¨ quantitative Anpassung (z.B. Anderung der Anzahl eingesetzter Maschinen oder Mitarbeiter), intensit¨ atsm¨ aßige Anpassung (z.B. Erh¨ ohung bzw. Verminderung der Produktionsgeschwindigkeit), ¨ zeitliche Anpassung (z.B. Uberbzw. Unterstunden der Mitarbeiter) oder qualitative Anpassung (z.B. Anwendung anderer Technologien oder Verfahren)
¨ erfolgen. Wird ein Vorgang beschleunigt, dann fallen beispielsweise Uberstundenkosten f¨ ur die eingesetzten Arbeitskr¨afte oder L¨ohne f¨ ur zus¨atzlich ben¨ otigte Arbeitskr¨ afte an. Werden Maschinen in einer h¨oheren Betriebsstufe betrieben, dann f¨ uhrt dies meist zu einem h¨oheren Verschleiß und einem h¨ oheren Energieverbrauch. Man kann sich die Gesamtkosten eines Vorgangs daher als eine Funktion in Abh¨ angigkeit von der Vorgangsdauer denken. Eine solche Kostenfunktion kann, wie aus der Produktions- und Kostentheorie bekannt, grunds¨ atzlich verschiedene Verl¨ aufe haben; sie kann beispielsweise konstant, progressiv, degressiv, s- oder u-f¨ ormig verlaufen sowie stetig oder diskret definiert sein. H¨ aufig wird der in Abbildung 1.21 dargestellte u-f¨ormige Verlauf der Vorgangskostenfunktion angenommen. In der Regel empfiehlt es sich, f¨ ur die Dauer eines Vorgangs diejenige Dauer anzunehmen, f¨ ur die die Kostenfunktion minimal ist (vgl. Abb. 1.21). Aus dieser kostenminimalen Vorgangsdauer ergeben sich dann die entsprechenden Ressourceninanspruchnahmen und die Vorgangskosten. Ist allerdings ein Projektendtermin vorgegeben, dann m¨ ussen u.U. einige Vorg¨ange beschleunigt werden, um das Projekt rechtzeitig beenden zu k¨onnen. Eine derartige beschleunigte Projektdurchf¨ uhrung f¨ uhrt jedoch meist zu h¨oheren Kosur die Durchf¨ uhrung eines Projektes auch ein ten. H¨ aufig ist in der Praxis f¨ Budget vorgegeben, das nicht u ¨berschritten werden darf. In diesem Fall ist man daran interessiert, das zugrunde liegende Projekt so schnell wie m¨oglich durchzuf¨ uhren unter der Bedingung, dass die aus der Projektdurchf¨ uhrung resultierenden Kosten das gegebene Budget nicht u ¨ berschreiten. Dieses so genannte Time-Cost-Tradeoff-Problem der Ermittlung geeigneter Vorgangsdau15
Bei kalkulatorischen Abschreibungen handelt es sich in der klassischen Kostenrechnung um (Kostentr¨ ager-)Gemeinkosten. Aus Projektsicht k¨ onnen diese Abschreibungen Vorgangseinzel- oder -gemeinkosten darstellen, je nach ihrer Zurechenbarkeit zu einem einzelnen Vorgang.
58
1 Projektmanagement
Vorgangskosten
6
- Vorgangsdauer kostenminimale Vorgangsdauer Abb. 1.21. Idealtypischer Kostenverlauf in Abh¨ angigkeit von der Vorgangsdauer
ern zur Ber¨ ucksichtigung einer vorgegebenen maximalen Projektdauer bzw. zur Einhaltung gegebener Budgetrestriktionen wird in Kapitel 4 ausf¨ uhrlich behandelt. Bei den Gemeinkosten handelt es sich um Kosten, die einer Menge von Vorg¨ angen, einem Teilprojekt oder gar dem ganzen Projekt unmittelbar zurechenbar sind. Hierzu z¨ ahlen beispielsweise Kosten f¨ ur die Bauleitung bei einem Bauprojekt, Versicherungsbeitr¨ age, kalkulatorische Zinsen oder kalkulatorische Abschreibungen f¨ ur Wertgegenst¨ande des Anlageverm¨ogens, die von mehreren Vorg¨ angen beansprucht werden. Um die Gesamtkosten eines Vorgangs zu bestimmen, m¨ ussen die Gemeinkosten mit Hilfe eines geeigneten Schl¨ ussels verursachungsgerecht auf die einzelnen Vorg¨angen des Projektes umgelegt werden. Eine solche Schl¨ usselung kann mit Hilfe von Mengenschl¨ usseln erfolgen, d.h. unter Verwendung von Zeitgr¨oßen wie Fertigungs-, R¨ ust-, Lagerzeiten, Maschinen- oder Mannstunden oder unter Verwendung physikalisch-technischer Gr¨ oßen wie die Anzahl installierter Anlagen, Fl¨achenoder Rauminhalte. Die Kosten f¨ ur den Einsatz eines Schwerlastkrans auf einer Baustelle k¨ onnen beispielsweise auf die einzelnen Vorg¨ange umgelegt werden, indem man die gesamten Gemeinkosten des Kraneinsatzes durch die Anzahl Tage, die der Kran auf der Baustelle eingesetzt wird, teilt und diesen Tagessatz dann mit der Inanspruchnahme (in Tagen) der einzelnen Vorg¨ange multipliziert.16 Nicht immer ist eine Schl¨ usselung jedoch so einfach m¨oglich. Es ist beispielsweise nicht sofort ersichtlich, wie man die Kosten f¨ ur die Bauleitung auf die einzelnen Vorg¨ ange umlegen sollte. Eine M¨oglichkeit w¨are, die Kosten auf Grundlage der jeweiligen Vorgangsdauern zu verrechnen. Diese Art der Umlage ist jedoch h¨ aufig nicht sonderlich verursachungsgerecht, da der An16
Dabei wird angenommen, dass der Kran pro Tag nur genau einem Vorgang zur Verf¨ ugung steht.
1.4 Projektplanung
59
teil der Gemeinkosten an den Gesamtkosten eines Projektes h¨aufig deutlich h¨ oher ist als der Anteil der Einzelkosten und wenig arbeitsintensive, aber langwierige Vorg¨ ange st¨ arker belastet w¨ urden als sehr arbeitsintensive, komplexe Vorg¨ ange, deren Ausf¨ uhrung relativ wenig Zeit in Anspruch nimmt. In solchen F¨ allen bietet sich die Verwendung eines Wertschl¨ ussels zur Umlage einzelner Gemeinkostenpositionen an, wie z.B. die Einzelkosten eines Vorgangs, wenn man davon ausgeht, dass die H¨ ohe der Einzelkosten eines Vorgangs die relative Inanspruchnahme der Gemeinkosten im Vergleich zu anderen Vorg¨angen widerspiegelt. Abschließend ist festzuhalten, dass eine wirklich verursachungsgerechte Umlage der Gemeinkosten auf die einzelnen Vorg¨ange i.d.R. nicht exakt m¨ oglich ist. Wichtig bei der Wahl eines geeigneten Schl¨ ussels zur Umlage der Gemeinkosten ist jedoch, dass die H¨ ohe des Kostenanfalls m¨oglichst proportional von dem gew¨ ahlten Schl¨ ussel abh¨angt. 1.4.3 Metra-Potential-Methode Nach DIN 69900 (Teil 1, August 1987) umfasst eine Netzplantechnik ¨ alle Verfahren zur Analyse, Beschreibung, Planung, Steuerung, Uber” wachung von Abl¨ aufen auf der Grundlage der Graphentheorie, wobei Zeit, Kosten, Einsatzmittel und weitere Einflussgr¨oßen ber¨ ucksichtigt werden k¨ onnen.“ Die Metra-Potential-Methode (MPM) ist die derzeit in Theorie und Praxis am ¨ weitesten verbreitete Netzplantechnik. Ein Uberblick u ¨ ber weitere Netzplantechniken wird in Abschnitt 1.4.4 gegeben. Die MPM-Netzplantechnik stellt Projekte als Vorgangsknotennetze dar, d.h. jedem Projektvorgang entspricht im MPM-Netzplan ein Knoten (Quadrat), der durch die Vorgangsnummer eindeutig bezeichnet ist. Ein Pfeil zwischen zwei Vorg¨angen repr¨ asentiert eine Zeitbeziehung zwischen diesen beiden Vorg¨ angen. Bei MPM-Netzpl¨ anen werden alle Anordnungsbeziehungen als Start-Start-Beziehungen modelliert (vgl. Abschnitt 1.4.1), d.h. wir unterscheiden nur zeitliche Mindest- und H¨ ochstabst¨ ande zwischen den Startzeitpunkten zweier Vorg¨ ange. Jeder Pfeil des Netzplans hat eine Bewertung, die dem zeitlichen Abstand zwischen den beiden mit dem Pfeil inzidenten Vorg¨angen entspricht. Der Pfeil zwischen den Vorg¨ angen a und i in Abbildung 1.22 repr¨ asentiert beispielsweise einen Mindestabstand und besagt, dass Vorgang i fr¨ uhestens drei Zeiteinheiten nach dem Start von Vorgang a starten kann. Konstruktion von MPM-Netzpl¨ anen Sei V := {0, 1, . . . , n, n+1} mit n ≥ 1 die Menge aller (nicht unterbrechbaren) Vorg¨ ange eines Projektes. Vorgang 0 entspricht dem fiktiven Vorgang Projektstart und n + 1 dem fiktiven Vorgang Projektende. Da jeder Projektvorgang durch einen Knoten im Projektnetzplan repr¨ asentiert wird, ist V gleichzeitig
60
1 Projektmanagement
* h
2
3
a H
HH
- i
H H j j H
4
Abb. 1.22. Teil eines MPM-Netzplans
die Menge aller Knoten des Netzplans. pi ≥ 0 bezeichnet die als deterministisch angenommene Dauer (processing time) eines Vorgangs i ∈ V . Da es sich bei den Vorg¨ angen Projektstart und Projektende um fiktive Vorg¨ange (Ereignisse) handelt, gilt p0 = pn+1 = 0. Wir bezeichnen den Startzeitpunkt eines Vorgangs i mit Si ≥ 0 und setzen ohne Beschr¨ankung der Allgemeinheit S0 := 0, d.h. das Projekt beginnt immer zum Zeitpunkt 0. Damit entspricht der Eintrittszeitpunkt des Projektendes Sn+1 gerade der Projektdauer, d.h. der Zeitspanne, die zwischen dem Beginn und dem Ende des Projektes verstreicht. Ein zeitlicher Mindestabstand (minimum time lag) Tijmin , oder ausf¨ uhrlicher Sj − Si ≥ Tijmin , (1.2) zwischen dem Beginn zweier Vorg¨ ange i und j besagt, dass Vorgang j fr¨ uhestens eine vorgegebene Zeitspanne Tijmin nach Beginn von Vorgang i gestartet werden kann (vgl. Abb. 1.23).17 Falls Vorgang j begonnen werden kann, bevor Vorgang i beendet worden ist, k¨ onnen sich die Vorg¨ange u ¨ berlappen und es gilt Tijmin < pi . Kann Vorgang j fr¨ uhestens unmittelbar nach dem Ende von Vorgang i beginnen, so gilt Tijmin := pi . Liegt ein Mindestabstand Tijmin = 0 vor, so kann Vorgang j fr¨ uhestens gleichzeitig mit dem Start von Vorgang i begonnen werden. Vorgang i
0
Si
pi
Vorgang j
-
pj -
-t
Sj ≥ Tijmin Abb. 1.23. Zeitlicher Mindestabstand
17
Aus Gr¨ unden der einfacheren Darstellung verwenden wir im Folgenden das Symbol Tijmin synonym f¨ ur Ungleichung (1.2) und f¨ ur die rechte Seite der Ungleichung. Sollte die Bedeutung von Tijmin einmal nicht aus dem Kontext klar werden, so weisen wir deutlich auf die jeweilige Bedeutung hin.
1.4 Projektplanung
61
H¨ aufig kann ein Vorgang erst begonnen werden, wenn die zu seiner Ausf¨ uhrung notwendigen Materialien bereitgestellt wurden. Nehmen wir an, f¨ ur einen Vorgang i sei aufgrund gegebener Bereitstellungstermine ein fr¨ uhester Startzeitpunkt ti ≥ 0 vorgegeben. Dann kann dies durch die Einf¨ uhrung eines min zeitlichen Mindestabstands T0i := ti gew¨ ahrleistet werden (vgl. Abb. 1.24). Projektstart
Vorgang i
?
-t Si
0
min ≥ T0i Abb. 1.24. Mindestabstand zwischen Projektstart und Vorgang i
Soll ein Vorgang i sp¨ atestens τi ≥ 0 Zeiteinheiten vor Projektende beendet sein, d.h. das Projektende darf fr¨ uhestens τi Zeiteinheiten nach dem Ende von min i eintreten, dann f¨ uhren wir einen zeitlichen Mindestabstand Ti,n+1 := pi + τi ein (vgl. Abb. 1.25). Projektende
Vorgang i
0
pi -
τi
?-t
Si
min ≥ Ti,n+1 Abb. 1.25. Mindestabstand zwischen Vorgang i und Projektende
Ein zeitlicher H¨ochstabstand (maximum time lag) Tijmax , bzw. ausf¨ uhrlicher Sj − Si ≤ Tijmax , (1.3) zwischen dem Beginn zweier Vorg¨ ange i und j besagt, dass Vorgang j sp¨atestens Tijmax Zeiteinheiten nach Beginn von Vorgang i gestartet werden muss (vgl. Abb. 1.26).18 F¨ ur einige Vorg¨ ange k¨ onnen aufgrund vertraglicher Vorgaben sp¨ateste Abschlusszeitpunkte vorgegeben sein. Sei beispielsweise ti ≥ pi ein sp¨atester Abschlusszeitpunkt f¨ ur Vorgang i, d.h. Vorgang i muss sp¨atestens zum Zeitpunkt ti beendet werden. Somit muss Vorgang i sp¨atestens ti − pi Zeiteinheiten 18
Analog zu Tijmin verwenden wir im Folgenden das Symbol Tijmax synonym f¨ ur Ungleichung (1.3) und f¨ ur die rechte Seite der Ungleichung.
62
1 Projektmanagement Vorgang i
0
pi
Vorgang j
-
pj -
-t
Sj
Si ≤ Tijmax
Abb. 1.26. Zeitlicher H¨ ochstabstand
nach Beginn des Projektes begonnen werden und wir f¨ uhren den zeitlichen max H¨ochstabstand T0i := ti − pi ein (vgl. Abb. 1.27). Projektbeginn
Vorgang i
?
ti
pi
-
-t
Si
0 ≤
max T0i
Abb. 1.27. H¨ ochstabstand zwischen Projektstart und Vorgang i
Kann mit der Ausf¨ uhrung eines Vorgangs i fr¨ uhestens τi ≥ pi Zeiteinheiten vor Ende des Projektes begonnen werden, d.h. das Projektende darf sp¨atestens τi Zeiteinheiten nach Beginn von Vorgang i eintreten, dann f¨ uhren wir einen max zeitlichen H¨ ochstabstand Ti,n+1 := τi ein (vgl. Abb. 1.28). Vorgang i
Projektende
? 0
-t
Si max ≤ Ti,n+1
Abb. 1.28. H¨ ochstabstand zwischen Vorgang i und Projektende
Neben den bereits genannten M¨ oglichkeiten zur Modellierung praktischer Zeitbeziehungen mit Hilfe zeitlicher Mindest- und H¨ochstabst¨ande lassen sich eine Reihe weiterer Zeitbeziehungen abbilden: •
Soll ein Vorgang j unmittelbar im Anschluss an einen Vorgang i ausgef¨ uhrt werden, d.h. Sj − Si = pi , dann werden Mindest- und H¨ochstabst¨ande Tijmin := pi und Tijmax := pi eingef¨ uhrt.
1.4 Projektplanung
•
• •
63
Sollen m Vorg¨ ange i1 , i2 , . . . , im−1 , im zur gleichen Zeit beginnen, d.h. Si1 = Si2 = . . . = Sim−1 = Sim , dann m¨ ussen m − 1 Mindestabst¨ande min Timin := . . . := T := 0 und ein H¨ o chstabstand Timax := 0 eingef¨ uhrt ,i ,i i 1 2 m−1 m 1 ,im werden. Sollen also beispielsweise die Vorg¨ ange i1 und i2 gleichzeitig starten, so setzen wir Timin := Timax := 0. 1 ,i2 1 ,i2 Soll ein Vorgang i zu einem vorgegebenen Zeitpunkt ti starten (enden), d.h. Si = ti (Si = ti − pi ), dann werden Mindest- und H¨ochstabst¨ande min max T0i := T0i := Si eingef¨ uhrt. Soll ein Vorgang i fr¨ uhestens zum Zeitpunkt ti ≥ 0 und sp¨atestens zum Zeitpunkt ti > ti beginnen, werden die zeitlichen Mindest- und min max H¨ ochstabst¨ ande T0i := ti und T0i := ti eingef¨ uhrt.
Wir erl¨ autern nun den Zusammenhang zwischen zeitlichen Mindest- und max H¨ ochstabst¨ anden. Ein zeitlicher H¨ ochstabstand Tji zwischen dem Beginn zweier Vorg¨ ange j und i ist definiert als max Si − Sj ≤ Tji .
Multiplizieren wir diese Ungleichung mit −1, so erhalten wir die a¨quivalente Ungleichung max Sj − Si ≥ −Tji . Diese Ungleichung spezifiziert gerade einen zeitlichen Mindestabstand Tijmin max zwischen i und j mit Tijmin = −Tji . Ein zeitlicher H¨ochstabstand zwischen dem Beginn der Vorg¨ ange j und i entspricht somit einem negativen zeitlichen Mindestabstand zwischen dem Beginn der Vorg¨ange i und j, d.h. zeitliche H¨ ochstabst¨ ande k¨ onnen in zeitliche Mindestabst¨ande u uhrt werden. Zur ¨ berf¨ Plausibilisierung betrachten wir ein kleines Beispiel. Beispiel 1.11. Zwischen zwei Vorg¨ angen j und i ist ein zeitlicher H¨ochstabmax stand Tji = 5 gegeben (vgl. Abb. 1.29). Das ist a¨quivalent zu den Aussagen Vorgang i muss sp¨ atestens 5 Zeiteinheiten nach dem Start von Vor” gang j starten.“ Vorgang j kann fr¨ uhestens 5 Zeiteinheiten vor dem Start von Vorgang ” i starten.“ Vorgang j kann fr¨ uhestens −5 Zeiteinheiten nach dem Start von Vor” gang i gestartet werden.“ Die letzte Aussage wiederum entspricht einem zeitlichen Mindestabstand Tijmin = −5. Die Tatsache, dass zeitliche H¨ ochstabst¨ ande einfach in Mindestabst¨ande u berf¨ u hrt werden k¨ o nnen, machen wir uns bei der Konstruktion eines MPM¨ Netzplans zunutze. Wir formulieren unter Verwendung der Gleichung max = −Tijmin Tji
64
1 Projektmanagement Vorgang j ≥ Tijmin = −5
Vorgang i
max ≤ Tji =5
0
Sj
-t Si
Abb. 1.29. Zusammenhang von zeitlichen Mindest- und H¨ ochstabst¨ anden
alle (nichtnegativen bzw. negativen) H¨ ochstabst¨ande zwischen zwei Vorg¨angen j und i als (nichtpositive bzw. positive) Mindestabst¨ande zwischen i und j (vgl. Beispiel 1.11). Somit k¨ onnen wir uns bei der Visualisierung eines Projektnetzplans auf die Darstellung von zeitlichen Mindestabst¨anden beschr¨anken. Ist ein zeitlicher Mindestabstand zwischen dem Beginn zweier Vorg¨ange i, j ∈ V , i = j, gegeben, so f¨ uhren wir einen Pfeil i, j zwischen diesen beiden Vorg¨ angen (Knoten) mit der Bewertung δij = Tijmin ein. F¨ ur einen zeitlichen H¨ ochstabstand Tijmax zwischen dem Beginn zweier Vorg¨ange i und j, i = j, min zwischen j und i der, wie wir gesehen haben, einem Mindestabstand Tji min = entspricht, f¨ uhren wir einen Pfeil j, i mit der Bewertung δji = Tji max −Tij in entgegengesetzter Richtung ein (vgl. Abb. 1.30). Existieren k > 1 1 k Pfeile i, j 1 , . . . , i, j k mit zugeh¨ origen Pfeilbewertungen δij , . . . , δij zwischen den Vorg¨ angen i und j, so muss nur ein Pfeil i, j mit der Bewertung δij = 1 k max(δij , . . . , δij ) eingef¨ uhrt werden. Die u ¨ brigen Pfeile sind redundant und k¨onnen f¨ ur alle weiteren Betrachtungen ignoriert werden. i
δij = Tijmin δji = −Tijmax
- j
Abb. 1.30. Zeitliche Mindest- und H¨ ochstabst¨ ande im Netzplan
Beispiel 1.12 (Fortsetzung von Beispiel 1.10). Ausgehend von den Zeitbeziehungen, die wir in Beispiel 1.10 spezifiziert haben, k¨onnen wir unser Beispielprojekt, wie in Abbildung 1.31 dargestellt, als MPM-Netzplan veranschaulichen. An den Knoten des Netzplans, die die Projektvorg¨ange repr¨asentieren, notieren wir neben der Vorgangsnummer zus¨atzlich die entsprechende Vorgangsdauer. Die Mindestabst¨ ande Tijmin zwischen zwei Knoten i und j entsprechen gerade einem Pfeil i, j mit der Bewertung δij = Tijmin , und die H¨ ochstabst¨ ande Tijmax werden wie beschrieben als Pfeile j, i mit der Bewertung δji = −Tijmax repr¨ asentiert. Sei E ⊆ V × V die Menge aller Pfeile eines Projektnetzplans, dann k¨onnen die Zeitbeziehungen des Projektes analog zu (1.2) als Ungleichungen der Form
1.4 Projektplanung
65
−18 3 2 0 3 2 1 2 3 7 −3 H −2
1
- 4 0 S 6 S HH 0 1 HH 2 −2 S 0 HH S 0 3 HH ? S 0 −9 1 j 5 H / w 11 S 0 7 > Z 7 S Z S Z 3 1 S Z Legende: 1 5S Z pj Z pi 4 2 2 1 S δij Z 4 1 Z ~ w 6 S j 8 9 10 i −4
−4
0
2
Abb. 1.31. MPM-Netzplan f¨ ur das Beispielprojekt
Sj − Si ≥ δij
( i, j ∈ E)
(1.4)
zusammengefasst werden. Anmerkung 1.13. Die Startzeitpunkte Si ≥ 0 der Vorg¨ange i ∈ V k¨onnen als Knotengewichte eines MPM-Netzplans aufgefasst werden. Eine Abbildung S : V → R≥0 , die die Zeitrestriktionen (1.4) erf¨ ullt, nennt man ein Potential des zugrunde liegenden Netzplans. Aus dieser Sichtweise r¨ uhrt die Bezeichnung Metra-Potential-Methode f¨ ur die Zeitplanung auf Vorgangsknotennetzen. Ein MPM-Netzplan N entspricht einem bewerteten Digraphen, der durch die Menge seiner Knoten V und seiner Pfeilmenge E mit zugeh¨origen Bewertungen δij f¨ ur alle i, j ∈ E eindeutig spezifiziert ist. Wir schreiben kurz N = V, E; δ . Zur weiteren Charakterisierung eines MPM-Netzplans ben¨otigen wir einige grundlegende Begriffe der Graphentheorie, die wir im Folgenden kurz erl¨ autern. F¨ ur eine ausf¨ uhrliche Darstellung verweisen wir z.B. auf Neumann und Morlock (2002). Eine Folge i0 , i0 , i1 , i1 , . . . , ir−1 , ir−1 , ir , ir von Knoten und Pfeilen in N = V, E; δ heißt Pfeilfolge mit Anfangsknoten i0 und Endknoten ir und wird mit dem Symbol i0 , i1 , . . . , ir bezeichnet. Sind alle Knoten einer solchen Pfeilfolge unterschiedlich, d.h. ik = il (k, l = 0, . . . , r, k = l), so bezeichnen wir eine Pfeilfolge als Weg. F¨ ur i0 = ir sowie ik = il (k, l = 1, . . . , r, k = l) heißt eine Pfeilfolge Zyklus. Die L¨ange eines rWeges bzw. die L¨ange eines Zyklus i0 , i1 , . . . , ir entspricht der Summe k=1 δik−1 ik der Pfeilbewertungen auf diesem Weg bzw. Zyklus. Die L¨ ange eines Weges von Knoten i nach Knoten j bezeichnen wir im Folgenden mit lij . In einem MPM-Netzplan hat die L¨ ange eines Weges zwischen zwei Knoten eine wichtige Implikation, denn ein Weg der L¨ ange lij von Knoten i zu Knoten j induziert einen zeitlichen Mindestabstand Tijmin = lij . Beispielsweise enth¨alt der Digraph in Abbildung 1.32 einen Weg von Knoten i zu Knoten j mit lij = 2. Dieser induziert einen zeitlichen Mindestabstand Tijmin = 2 zwischen
66
1 Projektmanagement
dem Start der Vorg¨ ange i und j, d.h. j kann fr¨ uhestens zwei Zeiteinheiten nach dem Start von i beginnen. Nehmen wir an, dass Vorgang i zum Zeitpunkt Si startet, dann kann h fr¨ uhestens zum Zeitpunkt Si + 2 beginnen. Vorgang l wiederum kann fr¨ uhestens 1 Zeiteinheit vor dem Beginn von h starten. Wenn h also zum fr¨ uhestm¨ oglichen Zeitpunkt begonnen wird, dann kann l fr¨ uhestens zum Zeitpunkt Si +1 starten. Der fr¨ uhestm¨ ogliche Startzeitpunkt von j ergibt sich dann analog zu Si + 2, was gerade einem Mindestabstand Tijmin = 2 entspricht. Existieren k > 1 Wege zwischen zwei Vorg¨angen i und j mit den 1 k 1 k zugeh¨ origen L¨ angen lij , . . . , lij , so bezeichnen wir mit dij = max{lij , . . . , lij } die L¨ ange eines l¨ angsten Weges zwischen i und j.
i
2-
h
−1-
l
1-
j
Abb. 1.32. Weg zwischen den Vorg¨ angen i und j
Ganz ¨ ahnlich verh¨ alt es sich mit der L¨ ange eines Zyklus. Ein Zyklus der L¨ ange lii mit Anfangs- und Endknoten i induziert einen zeitlichen Mindestabstand Tiimin := lii . F¨ ur lii > 0 besagt der resultierende Mindestabstand, dass mit der Ausf¨ uhrung eines Vorgangs i fr¨ uhestens lii Zeiteinheiten nach seinem eigenen Start begonnen werden k¨ onnte. Eine derartige Zeitbeziehung kann niemals erf¨ ullt sein. Somit kann ein MPM-Netzplan niemals einen Zyklus positiver L¨ ange enthalten. Ein MPM-Netzplan zeichnet sich ferner dadurch aus, dass er stets genau eine Quelle (Projektstart), d.h. einen Knoten, in den keine Pfeile einm¨ unden, und eine Senke (Projektende), d.h. einen Knoten, von dem keine Pfeile ausgehen, enth¨ alt. Um zu gew¨ ahrleisten, dass kein Vorgang vor dem Projektstart (Knoten 0) begonnen werden und kein Vorgang sich nach dem Projektende (Knoten n + 1) noch in Ausf¨ uhrung befinden kann, gehen wir stets davon aus, dass ein MPM-Netzplan wohldefiniert ist. Vereinbarung 1.14. Ein MPM-Netzplan N = V, E; δ heißt wohldefiniert, wenn die folgenden Eigenschaften erf¨ ullt sind: 1. Kein Vorgang kann vor dem Projektstart begonnen werden, d.h. d0i ≥ 0
f¨ ur alle i ∈ V \ {0}.
2. Kein Vorgang kann sich nach dem Projektende noch in Ausf¨ uhrung befinden, d.h. di,n+1 ≥ pi f¨ ur alle i ∈ V \ {n + 1}. Ist Eigenschaft 1 in Vereinbarung 1.14 f¨ ur einen Vorgang i ∈ V \ {0} nicht min erf¨ ullt, so muss ein zeitlicher Mindestabstand T0i := 0 eingef¨ uhrt werden, d.h. ein Pfeil 0, i mit δ0i := 0. Falls Eigenschaft 2 f¨ ur ein i ∈ V \ {n + 1} min nicht erf¨ ullt ist, so muss ein zeitlicher Mindestabstand Ti,n+1 := pi , d.h. ein Pfeil i, n + 1 mit δi,n+1 := pi , hinzugef¨ ugt werden.
1.4 Projektplanung
67
Zeitplanung mit MPM-Netzpl¨ anen Im Rahmen der Zeit- bzw. Terminplanung von Projekten mit Hilfe einer Netzplantechnik werden die fr¨ uhest- und sp¨ atestm¨oglichen Startzeitpunkte der Projektvorg¨ ange ermittelt. Ferner bestimmen wir f¨ ur alle Vorg¨ange unterschiedliche Pufferzeiten, die z.B. angeben, inwieweit ein Vorgang verz¨ogert werden kann, ohne dass das geplante Projektende verz¨ogert wird. Die Bestimmung dieser Startzeitpunkte und Pufferzeiten beruht auf einigen grundlegenden aus der Graphentheorie bekannten Algorithmen, die wir nachfolgend erl¨ autern. Eine ausf¨ uhrliche Darstellung findet sich beispielsweise in Neumann und Morlock (2002). Zwischen zwei Knoten i, j ∈ V existieren oft mehrere Wege, die meist verschiedene L¨ angen aufweisen. Zur Bestimmung l¨angster Wege in einem Netzplan N existieren in der Literatur eine Reihe von Algorithmen. Wir skizzieren im Folgenden einen so genannten Label-Correcting-Algorithmus zur Bestimmung l¨ angster Wege zwischen einem ausgezeichneten Knoten r ∈ V und allen anderen Knoten i ∈ V in einem Netzplan. Das Verfahren basiert auf dem Bellmanschen Optimalit¨ atsprinzip, welches besagt, dass Teilwege l¨angster Wege selbst wieder l¨ angste Wege darstellen. Zur Illustration betrachten wir den Ausschnitt eines Digraphen in Abbildung 1.33. Wir nehmen an, dass wir die l¨ angsten Wege vom ausgezeichneten Knoten r zu den beiden Knoten h und i bereits bestimmt haben. Die L¨ ange eines solchen l¨angsten Weges von Knoten r zu einem beliebigen Knoten i bezeichnen wir mit dri . Gelangt man von Knoten r zu einem Knoten j nur u ¨ ber die beiden Knoten h und i, so ergibt sich nach dem Bellmanschen Optimalit¨atsprinzip die L¨ange eines l¨angsten Weges von r nach j zu drj := max{drh + δhj , dri + δij }. In Abbildung 1.33 sind die Knoten entsprechend mit den L¨ angen l¨ angster Wege bewertet. 4 i H 2 7 Hj 3 4 H * j h
Legende: drh dri δhii h
Abb. 1.33. Illustration des Bellmanschen Optimalit¨ atsprinzips
Sei pri der unmittelbare Vorg¨ anger von i auf einem l¨angsten Weg von r nach i. Ferner bezeichne Succ(i) die Menge der unmittelbaren Nachfolger (successors) von Knoten i ∈ V in N . Zu Beginn des Label-Correcting-Algorithmus ist drr := 0 und dri := −∞ f¨ ur alle Knoten i ∈ V \ {r}. Knoten r ist einziges Element einer Schlange (Queue) Q. Unter einer Schlange versteht man eine FIFO-Liste (first-in first-out), d.h. neue Elemente werden an das Ende von Q angef¨ ugt, w¨ ahrend Elemente vom Kopf der Schlange entnommen werden. In jeder Iteration des Algorithmus wird ein Knoten i aus Q entnommen und f¨ ur jeden seiner Nachfolger j ∈ Succ(i) gepr¨ uft, ob ein Weg r, . . . , i, j von
68
1 Projektmanagement
r nach i und anschließend j l¨ anger ist als der aktuelle l¨angste Weg r, . . . , j von r nach j, der nicht u uhrt. Es wird also gepr¨ uft, ob dri + δij gr¨oßer ¨ ber i f¨ ist als drj . Ist dies der Fall, so wird drj entsprechend angepasst und Knoten j in Q aufgenommen. Das Verfahren terminiert, wenn Q leer ist. Enth¨alt der Netzplan einen Zyklus positiver L¨ ange, d.h. es gilt dii > 0 f¨ ur mindestens ein i ∈ V , dann terminiert der Label-Correcting-Algorithmus nicht, so dass f¨ ur diesen Fall ein geeignetes Abbruchkriterium zu implementieren ist. F¨ ur |V | = n und |E| = m hat der Algorithmus eine Zeitkomplexit¨at von O(mn), d.h. der Aufwand zur Bestimmung eines l¨angsten Weges von r zu allen anderen Knoten im Netzplan hat die durch die Funktion mn angegebene Gr¨ oßenordnung. Algorithmus 1.15 zeigt eine Beschreibung des Verfahrens in Pseudo-Code. Der Label-Correcting-Algorithmus liefert als Ergebnis den Vektor (dri )i∈V der L¨ angen l¨ angster Wege vom ausgezeichneten Knoten r zu allen anderen Knoten des Netzplans. Ist f¨ ur ein i ∈ V dri = −∞, so gibt es keinen Weg von r nach i. Mit Hilfe des Vektors (pri )i∈V kann – sofern vorhanden – ein l¨ angster Weg von r nach i von i ausgehend rekursiv entwickelt werden. Algorithmus 1.15 (Label-Correcting-Algorithmus). Initialisierung: Setze drr := 0, prr := r und Q := {r}. F¨ ur alle i ∈ V \ {r}: Setze dri := −∞ und pri := −1. Hauptschritt: Solange Q = ∅: Entferne i vom Kopf von Q. F¨ ur alle j ∈ Succ(i) mit drj < dri + δij : Setze drj := dri + δij , prj := i. Falls j ∈ Q: F¨ uge j am Ende von Q ein. Beispiel 1.16 (Fortsetzung von Beispiel 1.12). Wir betrachten den in Abbildung 1.31 dargestellten Projektnetzplan. Zur Ermittlung der l¨angsten Wege von Knoten r = 0 zu allen anderen Knoten wenden wir den LabelCorrecting-Algorithmus (vgl. Algorithmus 1.15) an. In Tabelle 1.13 sind einige Iterationen des Algorithmus ausf¨ uhrlich dargestellt. Zu Beginn des Verfahrens (Iteration 0) setzen wir d00 := 0 und p00 := 0 sowie d0i := −∞ und p0i := −1 f¨ ur i = 1, . . . , 11. Schlange Q enth¨alt nur das Element 0, d.h. Q := {0}. In der ersten Iteration wird Knoten 0 vom Anfang von Q entfernt und wir betrachten die beiden unmittelbaren Nachfolger 1 und 6 von 0. Da d01 = −∞ < d00 + δ01 = 0 setzen wir d01 := d00 + δ01 = 0, d.h. es gibt einen Weg der L¨ ange d01 = 0 von 0 nach 1. Der unmittelbare Vorg¨anger von 1 auf diesem Weg ist Knoten 0, wir setzen daher p01 := 0. Da wir die Markierung d01 verbessern konnten, wird Knoten 1 an das Ende von Q angef¨ ugt. Wegen
1.4 Projektplanung
69
Tabelle 1.13. Ermittlung l¨ angster Wege von Knoten 0 zu allen anderen Knoten Iteration 0 1 2 3 Q = {0} {1, 6} {6, 2} {2, 7, 8} Vorgang i d0i p0i d0i p0i d0i p0i d0i p0i 0 1 2 3 4 5 6 7 8 9 10 11
0 −∞ −∞ −∞ −∞ −∞ −∞ −∞ −∞ −∞ −∞ −∞
0 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1 −1
0 0 −∞ −∞ −∞ −∞ 5 −∞ −∞ −∞ −∞ −∞
0 0 −1 −1 −1 −1 0 −1 −1 −1 −1 −1
0 0 3 −∞ −∞ −∞ 5 −∞ −∞ −∞ −∞ −∞
0 0 1 −1 −1 −1 0 −1 −1 −1 −1 −1
0 0 3 −∞ −∞ −∞ 5 6 9 −∞ −∞ −∞
0 0 1 −1 −1 −1 0 6 6 −1 −1 −1
··· ··· ···
∅ d0i p0i
··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ···
0 0 0 0 3 1 5 2 5 3 5 2 5 0 6 6 9 6 10 8 12 9 13 10
d06 = −∞ < d00 + δ06 = 5 setzen wir analog d06 := 5, p06 := 0 und f¨ ugen Knoten 6 in Q ein. Zu Beginn der zweiten Iteration ist Q = {1, 6}. Wir entfernen Knoten 1 aus Q und betrachten seine Nachfolger 0 und 2. Da d00 = 0 < d01 + δ10 = 0, wird die Markierung von Knoten 0 nicht aktualisiert. Wegen d02 = −∞ < d01 + δ12 = 3 setzen wir d02 := 3, p02 := 1 und f¨ ugen Knoten 2 in Q ein. In Iteration 3 gilt Q = {6, 2} und wir entfernen 6 aus Q. Die Nachfolger von Knoten 6 sind 7 und 8. Wegen d07 = −∞ < d06 + δ67 = 6 setzen wir d07 := 6, p07 := 6 und Q := Q ∪ {7}. Weil d08 = −∞ < d06 + δ68 = 9 gilt, setzen wir d08 := 9, p08 := 6 und Q := Q ∪ {8}. Fahren wir auf diese Art und Weise mit dem Algorithmus fort, bis Q = ∅ gilt, so erhalten wir als Ergebnis die Werte (d0i )i∈V und (p0i )i∈V , wie sie in der letzten Spalte von Tabelle 1.13 angegeben sind. Beispielsweise hat ein l¨angster Weg von Knoten 0 zu 11 die L¨ ange d0,11 = 13. Direkter Vorg¨anger von Knoten 11 auf einem solchen Weg ist p0,11 = 10. Vorg¨ anger von 10 ist p0,10 = 9, dessen unmittelbarer Vorg¨ anger wiederum p09 = 8 ist. Der unmittelbare Vorg¨anger von 8 ist p08 = 6 und der Vorg¨ anger von 6 ist p06 = 0, also gerade der ausgezeichnete Knoten. Ein l¨ angster Weg von 0 nach 11 ist somit der Weg 0, 6, 8, 9, 10, 11 . Die Eigenschaft, dass ein l¨ angster Weg der L¨ange dij einen zeitlichen Mindestabstand Tijmin := dij induziert, k¨ onnen wir nutzen, um den fr¨ uhesten Startzeitpunkt (earliest start time) ES i eines Vorgangs i zu ermitteln. Wir bestimmen ausgehend vom Projektstart die L¨ angen l¨angster Wege d0i zu allen Knoten i ∈ V \ {0}. Da ein l¨ angster Weg von 0 nach i einen Mindestabstand min T0i := d0i zwischen dem Projektbeginn und Vorgang i induziert und da ES 0 := S0 = 0 ist, folgt, dass Vorgang i nicht vor dem Zeitpunkt d0i starten kann, d.h.
70
1 Projektmanagement
f¨ ur alle i ∈ V \ {0}.
ES i := d0i
Die k¨ urzeste Projektdauer, d.h. die k¨ urzeste Zeitspanne, in der alle zum Projekt geh¨ origen Vorg¨ ange ausgef¨ uhrt werden k¨onnen, ist somit ES n+1 := d0,n+1 . In Abbildung 1.34 wird der beschriebene Sachverhalt verdeutlicht. Wir nehmen an, dass zwischen Knoten 0 und einem Knoten i genau drei unterschiedliche Wege mit den L¨ angen 17, 12 und 11 existieren, die in der Abbildung durch drei gestrichelte Pfeile gekennzeichnet sind. Jeder dieser Pfeile entspricht einem zeitlichen Mindestabstand zwischen den Vorg¨angen 0 und i, von denen zwei redundant sind. Vorgang i kann folglich fr¨ uhestens 17 Zeiteinheiten nach dem Start von Vorgang 0 starten. Unter der Annahme, dass Vorgang 0 zum Zeitpunkt 0 startet, entspricht dieser Mindestabstand gerade der L¨ ange eines l¨angsten Weges von 0 nach i. min T0i = 17 min = 12 - ? T0i i
0
6
min = 11 T0i
Abb. 1.34. L¨ angste Wege und fr¨ uheste Startzeitpunkte von Vorg¨ angen
Der fr¨ uheste Endzeitpunkt (earliest completion time) EC i eines Vorgangs i ∈ V ergibt sich unmittelbar aus dem fr¨ uhesten Startzeitpunkt von i zuz¨ uglich seiner Vorgangsdauer, d.h. f¨ ur alle i ∈ V.
EC i := ES i + pi
Beispiel 1.17 (Fortsetzung von Beispiel 1.16). Wir haben bereits in Beispiel 1.16 f¨ ur den MPM-Netzplan unseres Beispielprojektes die L¨angen l¨angster Wege von Knoten 0 zu allen anderen Knoten bestimmt. Zusammen mit den Dauern der Projektvorg¨ ange erhalten wir somit die in Tabelle 1.14 angegebenen fr¨ uhesten Start- und Endzeitpunkte f¨ ur die Vorg¨ange 0, . . . , 11. Tabelle 1.14. Fr¨ uheste Start- und Endzeitpunkte f¨ ur das Beispielprojekt i
0
1
2
3
4
5
6
7
9
10
11
ES i EC i
0 0
0 3
3 5
5 5
5 6
5 6
5 9
6 9 10 9 11 12
8
12 13
13 13
Der sp¨ateste Startzeitpunkt (latest start time) LS i eines Vorgangs i ∈ V gibt den Zeitpunkt an, zu dem mit der Durchf¨ uhrung von Vorgang i sp¨atestens min begonnen werden muss. Da ein Mindestabstand Tji einem H¨ochstabstand
1.4 Projektplanung
71
min Tijmax = −Tji entspricht, induziert ein l¨ angster Weg von Knoten i ∈ V \ {0} max zu Knoten 0 mit der L¨ ange di0 einen H¨ ochstabstand T0i = −di0 . Existiert also ein solcher Weg im Projektnetzplan N , dann muss Vorgang i sp¨atestens −di0 Zeiteinheiten nach dem Projektbeginn starten, d.h. LSi = −di0 . F¨ ur die u ange, f¨ ur die kein Weg zum Knoten 0 existiert, kann ¨brigen Vorg¨ zun¨ achst kein sp¨ atester Startzeitpunkt angegeben werden. In der Praxis wird jedoch meist eine maximale Projektdauer d¯ ≥ ES n+1 vorgeschrieben, die nicht u ¨berschritten werden darf. Ist d¯ nicht vorgegeben, so nimmt man i.d.R. ¯ d := ES n+1 an, d.h. das Projekt muss zum fr¨ uhestm¨oglichen Termin abgeschlossen werden. Da von jedem Knoten i ∈ V \{n+1} ein Weg zu Knoten n+1 existiert, ergibt sich ausgehend von S0 := 0 und dem daraus resultierenden sp¨ atestm¨ oglichen Projektendtermin LS n+1 := d¯ ein sp¨atester Startzeitpunkt der Vorg¨ ange i ∈ V \ {0, n + 1} gem¨ aß LSi := LS n+1 − di,n+1 , d.h. aus dem sp¨ atesten Projektendtermin abz¨ uglich der Zeit, die zwischen dem Beginn des Vorgangs i und dem Eintritt des Projektendes mindestens verstreichen muss. F¨ ur Vorg¨ ange i, f¨ ur die zus¨ atzlich ein Weg zu Knoten 0 existiert, der den sp¨ atesten Startzeitpunkt LSi impliziert, gilt LS i := min{LSi , LSi }. Zur Ermittlung der sp¨ atesten Startzeitpunkte LS i ist es hilfreich, einen ¯ der einem zeitlichen H¨ochstabPfeil n+1, 0 mit der Bewertung δn+1,0 = −d, max stand T0,n+1 := d¯ entspricht, in den Netzplan einzuf¨ ugen. Ein solcher Pfeil gew¨ ahrleistet, dass kein Vorgang so sp¨ at gestartet wird, dass die vorgegebene maximale Projektdauer d¯ u ¨ berschritten wird. Wir nehmen im Folgenden an, dass ein Projektnetzplan stets einen solchen Pfeil n + 1, 0 enth¨alt. Unter dieser Voraussetzung ergibt sich der sp¨ ateste Startzeitpunkt eines Vorgangs i ∈ V \ {0} zu LS i := −di0 .
Da ein Projekt stets zum Zeitpunkt 0 startet, gilt LS 0 := S0 = 0. Anmerkung 1.18. Enth¨ alt ein wohldefinierter MPM-Netzplan den Pfeil n+ ¯ so ist er stark zusammenh¨angend, d.h. von jedem 1, 0 mit δn+1,0 := −d, Knoten i des Netzplans existiert ein gerichteter Weg zu allen anderen Knoten j, da stets ein Weg von Vorgang i u ¨ ber die Vorg¨ange n + 1 und 0 zu Vorgang j existiert. Dennoch bezeichnen wir im Folgenden Knoten 0 weiterhin als Quelle und Knoten n + 1 weiterhin als Senke eines solchen MPM-Netzplans. Abbildung 1.35 illustriert den Zusammenhang zwischen den L¨angen l¨angster Wege und dem sp¨ atesten Startzeitpunkt eines Vorgangs. Angenommen zwischen Knoten i und Knoten 0 existieren drei unterschiedliche Wege mit den L¨ angen −10, −8 und −15, wobei es unwesentlich ist, ob diese Wege den Pfeil n + 1, 0 enthalten oder nicht. Die skizzierten Wege implizieren dann drei H¨ ochstabst¨ ande zwischen 0 und i mit den Zeitabst¨anden 10, 8 und 15. Vorgang i muss somit sp¨ atestens 8 Zeiteinheiten nach dem Start von Vorgang 0 starten. Wegen S0 = 0 ist der sp¨ ateste Startzeitpunkt von Vorgang i gerade LS i = 8.
72
1 Projektmanagement max = 10 T0i max =8 - ? T0i i
0
6
max T0i = 15
Abb. 1.35. L¨ angste Wege und sp¨ ateste Startzeitpunkte von Vorg¨ angen
Der sp¨ateste Endzeitpunkt (latest completion time) LC i von Vorgang i ∈ V entspricht dem sp¨ atesten Startzeitpunkt von i zuz¨ uglich der Vorgangsdauer, d.h. LC i := LS i + pi f¨ ur alle i ∈ V. Die f¨ ur die Ermittlung der sp¨ atesten Start- und Endzeitpunkte ben¨otigten L¨ angen l¨ angster Wege di0 von Vorgang i zu Vorgang 0 k¨onnen wir mit Hilfe von Algorithmus 1.15 bestimmen, indem wir den Label-Correcting-Algorithmus n mal ausf¨ uhren, einmal f¨ ur jeden ausgezeichneten Knoten i ∈ V \ {0}. Geschickter ist es allerdings, wie folgt zu verfahren. Wir bestimmen zun¨achst ˜ aus ˜ Wir erhalten N ˜ = V, E; ˜ δ den zu Netzplan N inversen Netzplan N. N = V, E; δ , indem wir die Richtung jedes Pfeils in N umdrehen; die Pfeil˜ somit einen bewertung bleibt unver¨ andert. F¨ ur jeden Pfeil i, j ∈ E enth¨alt E Pfeil j, i mit der Pfeilbewertung δji = δij . Die L¨ange eines l¨angsten Weges di0 von i nach 0 in N entspricht dann gerade der L¨ange eines l¨angsten Weges ˜ . Zur Bestimmung der sp¨atesten Startzeitpunkte LS i ist d˜0i von 0 nach i in N es somit ausreichend, genau einmal die L¨ angen l¨angster Wege von 0 nach i im ˜ zu bestimmen. inversen Netzplan N Beispiel 1.19 (Fortsetzung von Beispiel 1.17). F¨ ur den MPM-Netzplan des Bauprojektes aus Abbildung 1.31 erhalten wir die in Tabelle 1.15 angegeben sp¨ atesten Start- und Endzeitpunkte f¨ ur die Vorg¨ange 0, . . . , 11. Zur Bestimmung der sp¨ atesten Startzeitpunkte ist in Abbildung 1.36 der inverse Netzplan zu unserem Beispielprojekt angegeben. Tabelle 1.15. Sp¨ ateste Start- und Endzeitpunkte f¨ ur das Beispielprojekt i
0
1
2
3
4
5
6
7
8
9
10
11
LS i LC i
0 0
0 3
3 5
5 5
5 6
7 8 9 12 15 8 12 12 14 17
17 18
18 18
Da der Label-Correcting-Algorithmus lediglich die l¨angsten Wege von einem ausgezeichneten Knoten i zu den anderen Knoten des Netzplans bestimmt, muss Algorithmus 1.15 mindestens zweimal ausgef¨ uhrt werden, um die fr¨ uhesten und sp¨ atesten Startzeitpunkte aller Vorg¨ange zu bestimmen. Die gleichzeitige Ermittlung der ES i - und LS i -Werte aller Vorg¨ange i ∈ V erlaubt der so genannte Tripel-Algorithmus (Algorithmus 1.20), der simultan die L¨ angen l¨ angster Wege (dij )i,j∈V zwischen allen Knoten eines Netzplans
1.4 Projektplanung
73
−18 3 2 0 −3 −2 1 2 3 7 3 Y 2 H
0
1
- 4
S o S S1 2 HH 0 S −2 HH S 0 ? 0 3 ? H −9 1 - 7 H 5 S 11 / 0 Z o S } Z S Z 1 S Z 3 Legende: Z 5S 1 Z pi S 4 2 2 1 Z −4 δij −4 = S 6 Z / 8 9 10 i H
0
0
HH
4
1
2
pj j
Abb. 1.36. Inverser Netzplan f¨ ur das Beispielprojekt
sowie die unmittelbaren Vorg¨ anger (pij )i,j∈V von j auf einem l¨angsten Weg von i nach j ermittelt. Im Laufe des Verfahrens werden systematisch alle Tripel von Knoten (ν, i, j) dahingehend u uft, ob ein Weg i, . . . , ν, . . . , j ¨ berpr¨ von i nach j u oßer ist als der bisher l¨ angste Weg i, . . . , j von i nach ¨ ber ν gr¨ j, der nicht u uhrt. Wir pr¨ ufen also, ob dij durch den evtl. gr¨oßeren ¨ ber ν f¨ Wert diν + dνj ersetzt werden kann. Ist das der Fall, dann wird der unmittelbare Vorg¨ anger pij von j auf einem l¨ angsten Weg von i nach j durch den unmittelbaren Vorg¨ anger pνj von j auf einem l¨angsten Weg von ν nach j ersetzt. Im Gegensatz zum Label-Correcting-Algorithmus terminiert der TripelAlgorithmus auch dann, wenn N einen Zyklus positiver L¨ange enth¨alt. Ein Zyklus positiver L¨ ange liegt vor, wenn wir dii > 0 f¨ ur mindestens ein i ∈ V erhalten. Mit |V | = n hat der Tripel-Algorithmus eine Zeitkomplexit¨at von O(n3 ). Algorithmus 1.20 (Tripel-Algorithmus). Initialisierung: F¨ ur alle i ∈ V : Setze dii := 0 und pii := i. F¨ ur alle j ∈ V \ {i}: δij falls i, j ∈ E Setze dij := −∞ sonst i falls dij > −∞ Setze pij := −1 sonst Hauptschritt: F¨ ur alle ν ∈ V : F¨ ur alle i ∈ V \ {ν} mit diν > −∞: F¨ ur alle j ∈ V \ {ν} mit dij < diν + dνj : Setze dij := diν + dνj und pij := pνj .
74
1 Projektmanagement
Beispiel 1.21. Zur Demonstration der Funktionsweise des Tripel-Algorithmus betrachten wir ein Projekt mit vier realen Vorg¨angen (vgl. Abb. 1.37). 0 1 1 -1 -? 1 2 @ -2
0 0 0
1
@
-6
@0 @
@1 @ 0 @ R @ 5
Legende:
2
3
@ R 3 @
4
pi
1
- 4
i
δij
pj
- j
Abb. 1.37. MPM-Netzplan mit sechs Vorg¨ angen
Zu Beginn des Verfahrens (Iteration 0, vgl. Tab. 1.16) setzen wir dii := 0 und pii := i f¨ ur alle i ∈ V = {0, . . . , 5} sowie dij := δij und pij := i f¨ ur alle i, j ∈ E. F¨ ur alle u brigen i, j ∈ V setzen wir d := −∞ und p := −1. ¨ ij ij Tabelle 1.16. Iteration 0 des Tripel-Algorithmus j i 0 1 2 3 4 5
0 dij pij 0 −∞ −∞ −∞ −∞ −6
0 −1 −1 −1 −1 5
1 dij pij
2 dij pij
0 0 0 0 0 1 −1 1 −2 2 0 2 −∞ −1 −∞ −1 −∞ −1 −∞ −1 −∞ −1 −∞ −1
3 dij pij 0 −∞ −∞ 0 −∞ −∞
0 −1 −1 3 −1 −1
4 dij pij −∞ −∞ −∞ 4 0 −∞
5 dij pij
−1 −∞ −1 −1 1 1 −1 1 2 3 −∞ −1 4 2 4 −1 0 5
Wir betrachten nun zun¨ achst den Knoten ν = 0 und pr¨ ufen, ob wir eine der Markierungen dij verbessern k¨ onnen, indem wir uns im Netzplan von einem Knoten i u ufen ob ¨ ber Knoten 0 zu Knoten j bewegen, d.h. wir u ¨ berpr¨ dij < di0 + d0j ist. Dies ist offensichtlich f¨ ur die Markierungen d51 , d52 und d53 der Fall und wir setzen d51 := d52 := d53 := −6. Nun wird der unmittelbare Vorg¨ anger der Knoten 1, 2 und 3 entsprechend aktualisiert und wir setzen p5j := p0j = 0 f¨ ur j = 1, 2, 3. Weitere Markierungen k¨onnen nicht verbessert werden. Wir erhalten somit die in Tabelle 1.17 angegebenen Werte (dij )i,j∈V und (pij )i,j∈V .
1.4 Projektplanung
75
Tabelle 1.17. Iteration 1 des Tripel-Algorithmus j
0 dij pij
i 0 1 2 3 4 5
0 −∞ −∞ −∞ −∞ −6
0 −1 −1 −1 −1 5
1 dij pij
2 dij pij
3 dij pij
4 dij pij
5 dij pij
0 0 0 0 0 0 −∞ −1 −∞ −1 0 1 −1 1 −∞ −1 −∞ −1 1 1 −2 2 0 2 −∞ −1 −∞ −1 1 2 −∞ −1 −∞ −1 0 3 4 3 −∞ −1 −∞ −1 −∞ −1 −∞ −1 0 4 2 4 −6 0 −6 0 −6 0 −∞ −1 0 5
Fahren wir auf diese Weise f¨ ur ν = 1, . . . , 5 fort, so erhalten wir schließlich die in Tabelle 1.18 gezeigten Werte f¨ ur dij und pij , i, j ∈ V . F¨ ur den Projektnetzplan in Abbildung 1.37 k¨ onnen wir unmittelbar die fr¨ uhesten und sp¨ atesten Startzeitpunkte ES i = d0i und LS i = −di0 f¨ ur alle Vorg¨ange i ∈ V ablesen (vgl. Tab. 1.19). Den l¨ angsten Weg zwischen zwei Knoten i und j erhalten wir, indem wir ausgehend von Vorgang j systematisch die Vorg¨angermatrix (pij )i,j∈V auswerten. F¨ ur einen l¨ angsten Weg von 0 nach 5 mit d05 = 6 beispielsweise ist der unmittelbare Vorg¨ anger von 5 auf einem solchen Weg p05 = 4. Der unmittelbare Vorg¨ anger von Knoten 4 auf einem Weg von 0 nach 4 ist Knoten p04 = 3, und dessen Vorg¨ anger wiederum ist Knoten p03 = 0. Ein l¨ angster Weg von 0 nach 5 ist somit durch 0, 3, 4, 5 gegeben. Tabelle 1.18. Letzte Iteration des Tripel-Algorithmus i
j
0 1 2 3 4 5 dij pij dij pij dij pij dij pij dij pij dij pij
0 1 2 3 4 5
0 −5 −5 0 −4 −6
0 0 5 0 5 −2 5 0 5 −4 5 −6
0 0 1 −1 2 0 0 0 0 −4 0 −6
0 1 2 0 0 0
0 −5 −5 0 −4 −6
0 4 0 −1 0 −1 3 4 0 0 0 −2
3 3 3 3 4 3
6 1 1 6 2 0
4 1 2 4 4 5
Tabelle 1.19. Fr¨ uheste und sp¨ ateste Startzeitpunkte i
0
1
2
3
4
5
ES i LS i
0 0
0 5
0 5
0 0
4 4
6 6
Neben den fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkten sind f¨ ur die Durchf¨ uhrung des Projektes die Pufferzeiten der Vorg¨ange von Interesse. Wir unterscheiden drei Arten von Pufferzeiten.
76
1 Projektmanagement
Die gesamte Pufferzeit (Gesamtpufferzeit) TF i (total float) eines Vorgangs i ∈ V \ {0} gibt die Zeitspanne an, um die der Start von Vorgang i maximal verz¨ ogert werden kann, ohne die maximale Projektdauer LS n+1 zu erh¨ohen. Die gesamte Pufferzeit von Vorgang i ∈ V ergibt sich somit aus der Differenz des sp¨ atesten und fr¨ uhesten Startzeitpunktes von Vorgang i, d.h. TF i := LS i − ES i . Die Menge der Vorg¨ ange {i ∈ V | TF i = minj∈V \{0} {TF j }} mit minimaler Gesamtpufferzeit heißen kritische Vorg¨ange. Insbesondere sind alle Vorg¨ange, die auf einem l¨ angsten Weg von 0 nach n+1 liegen, kritisch. Wird einer der kritischen Vorg¨ ange verz¨ ogert, so verz¨ ogert sich das fr¨ uheste Projektende ES n+1 um die entsprechende Zeitspanne. Gilt ES n+1 = LS n+1 , d.h. das Projekt soll so fr¨ uh wie m¨ oglich beendet werden, so haben alle kritischen Vorg¨ange eine Gesamtpufferzeit von TF i = 0 und sind somit fixiert. Die freie Pufferzeit EFF i (early free float) eines Vorgangs i ∈ V \ {0} gibt die maximale Zeitspanne an, um die der Start von Vorgang i von ES i ausgehend verz¨ ogert werden kann unter der Bedingung, dass alle unmittelbaren Nachfolger j ∈ Succ(i) von Vorgang i in N zu ihrem fr¨ uhesten Startzeitpunkt starten. Die freie Pufferzeit f¨ ur einen Vorgang i ∈ V entspricht der Differenz aus dem fr¨ uhesten Zeitpunkt, an dem mindestens ein Nachfolger j von i beginnen kann abz¨ uglich des Mindestabstandes zwischen i und j, und dem fr¨ uhesten Startzeitpunkt von Vorgang i, d.h. EFF i :=
min (ES j − δij ) − ES i .
j∈Succ(i)
Die freie R¨ uckw¨artspufferzeit LFF i (late free float) eines Vorgangs i ∈ V gibt die maximale Zeitspanne an, um die der Start von i ausgehend vom sp¨ atesten Startzeitpunkt LS i nach vorne verschoben werden kann unter der Bedingung, dass alle unmittelbaren Vorg¨ anger (predecessor) h ∈ Pred (i) von Vorgang i in N zu ihrem sp¨ atesten Startzeitpunkt starten. Die freie R¨ uckw¨ artspufferzeit ergibt sich somit als Differenz aus dem sp¨atesten Startzeitpunkt von Vorgang i und dem sp¨ atesten Zeitpunkt, zu dem alle Vorg¨anger h von i starten m¨ ussen zuz¨ uglich des Mindestabstands zwischen h und i, d.h. LFF i := LS i −
max (LS h + δhi ).
h∈Pred(i)
F¨ ur alle Vorg¨ ange i mit TF i = 0 gilt stets EFF i = LFF i = 0, insbesondere ist f¨ ur Vorgang 0 TF 0 := EFF 0 := LFF 0 := 0. Die Bestimmung der verschiedenen Pufferzeiten wird nachfolgend anhand unseres Beispielprojektes verdeutlicht. Beispiel 1.22 (Fortsetzung von Beispiel 1.19). Die gesamte Pufferzeit, die freie Pufferzeit und die freie R¨ uckw¨ artspufferzeit sind f¨ ur alle Vorg¨ange i ∈ V des Beispielprojektes in Tabelle 1.20 angegeben. So kann beispielsweise Vorgang 10 um TF 10 = 5 Zeiteinheiten verz¨ ogert werden, ohne dass sich der
1.4 Projektplanung
77
sp¨ateste Projektendtermin LS 11 verschiebt. Vorgang 7 kann vom ES 7 = 6 aus um maximal EFF 7 = 3 Zeiteinheiten verz¨ ogert werden, bevor sich der fr¨ uheste Start des Vorgangs 0 verz¨ ogert. Vorgang 9 kann vom LS 9 = 15 ausgehend h¨ ochstens LFF 9 = 2 Zeiteinheiten fr¨ uher gestartet werden, bevor sich der sp¨ ateste Startzeitpunkt von Vorgang 8 verschiebt. Tabelle 1.20. Gesamtpufferzeit, freie Pufferzeit und freie R¨ uckw¨ artspufferzeit i
0
1
2
3
4
5
6
7
8
9
10
11
TF i EFF i LFF i
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
2 2 2
3 0 0
3 3 0
3 0 0
5 0 2
5 0 0
5 5 0
Abschließend merken wir an, dass MPM-Netzpl¨ane, die ausschließlich fiktive Vorg¨ ange enthalten, in der Literatur auch als Ereignisknotennetze anstelle von Vorgangsknotennetzen bezeichnet werden. In einem solchen Netzplan stellen die Knoten ausschließlich Ereignisse (z.B. Meilensteine) dar und die Pfeile des Netzplans repr¨ asentieren Zeitbeziehungen zwischen diesen Ereignissen. 1.4.4 Weitere Netzplantechniken Neben der in Abschnitt 1.4.3 behandelten MPM-Netzplantechnik werden in der Praxis h¨ aufig noch eine Reihe anderer Netzplantechniken verwendet. So z.B. die Critical-Path-Methode (CPM), die wie die MPM-Netzplantechnik zu den deterministischen Netzplantechniken z¨ ahlt. Bei der CPM-Netzplantechnik wird jedoch ein so genanntes Vorgangspfeilnetz zugrunde gelegt, d.h. die einzelnen Projektvorg¨ ange werden jeweils durch einen Pfeil repr¨asentiert, w¨ ahrend die Knoten des Netzplans Ereignisse darstellen. Die bekanntesten stochastischen Netzplantechniken sind die Program Evaluation and Review Technique (PERT) sowie die Graphical Evaluation and Review Technique (GERT). Bei PERT-Netzpl¨ anen wird die Unsicherheit bei der Ermittlung der Vorgangsdauern ber¨ ucksichtigt. Ausgehend von einer Dreizeitensch¨atzung (vgl. Abschnitt 1.4.2) wird die Ausf¨ uhrungsdauer eines Vorgangs als Zufallsvariable mit geeigneter Wahrscheinlichkeitsverteilung modelliert. Die Verwendung von GERT-Netzpl¨ anen bietet sich an, wenn die zeitliche Ablaufstruktur eines Projektes a priori nicht eindeutig bestimmt werden kann. Zum Beispiel kann der weitere Projektverlauf von dem Ergebnis einer Qualit¨atskontrolle eines bestimmten Bauteils abh¨ angen. Je nach Ergebnis der Qualit¨atskontrolle muss ein solches Bauteil u.U. nachgearbeitet werden oder auch nicht. In GERT-Netzpl¨ anen werden verschiedene Knotentypen verwendet, um stochastische Ablaufstrukturen eines Projektes zu modellieren. CPM-Netzplantechnik Die CPM-Netzplantechnik verwendet als Darstellungsform ein Vorgangspfeilnetz, d.h. jedem Vorgang eines Projektes wird ein Pfeil zugeordnet, wobei
78
1 Projektmanagement
aufeinander folgende Pfeile aufeinander folgende Vorg¨ange repr¨asentieren. Die Bewertung eines Pfeils entspricht gerade der Dauer des zugeh¨origen Vorgangs. CPM-Netzpl¨ ane gehen von zeitlichen Mindestabst¨anden des Typs Ende-Start aus (Vorrangbeziehungen), d.h. ein Vorgang kann fr¨ uhestens beginnen, sobald seine Vorg¨ anger abgeschlossen wurden.19 Die Knoten (Kreise) eines CPMNetzplans stellen Ereignisse dar. Jeder Vorgang (Pfeil) ist stets mit genau zwei Ereignissen (Knoten) inzident, die den Beginn und das Ende des Vorgangs repr¨ asentieren. Betrachten wir hierzu den Ausschnitt eines CPM-Netzplans in Abbildung 1.38. Die Vorg¨ ange h, i und j haben einen gemeinsamen Vorg¨anger (Vorgang a), d.h. sie k¨ onnen fr¨ uhestens dann starten, wenn Vorgang a beendet wurde. Knoten 1 repr¨ asentiert das Start- und Knoten 2 das Endereignis von Vorgang a.20 Gleichzeitig stellt Knoten 2 das Startereignis der Vorg¨ange h, i und j dar.
1j
a
j *3 h i - 2j - 4j H HH
j HH j 5j H
Abb. 1.38. Ausschnitt eines CPM-Netzplans
Ein CPM-Netzplan besitzt genau eine Quelle (den Projektstart) und eine Senke (das Projektende). Im Gegensatz zu MPM-Netzpl¨anen sind CPMNetzpl¨ ane zyklenfrei, d.h. sie enthalten keine Zyklen. Da in einem CPMNetzplan die Pfeilbewertungen den Vorgangsdauern entsprechen, die f¨ ur alle realen Vorg¨ ange positiv sind, m¨ usste ansonsten ein Vorgang, der auf einem Zyklus liegt, beendet werden, bevor er starten k¨ onnte. Ferner ist in einem CPMNetzplan jeder Knoten von der Quelle aus erreichbar und von jedem Knoten aus kann die Senke des Netzplans erreicht werden. Folglich existiert immer mindestens ein Weg von der Quelle zur Senke im Netzplan. Ein CPM-Netzplan ist daher schwach zusammenh¨ angend, d.h. je zwei Knoten des Netzplans sind durch einen Semiweg (ungerichtete Pfeilfolge) miteinander verbunden. 19
20
Die Verwendung zeitlicher H¨ ochstabst¨ ande ist in CPM-Netzpl¨ anen prinzipiell nicht m¨ oglich. Elmaghraby und Kamburowski (1992) diskutieren eine Erweiterung von CPM-Netzpl¨ anen mit mehreren Quellen und Senken, bei der es zwei Arten von Pfeilen gibt, n¨ amlich Pfeile, die Vorg¨ ange darstellen, und Pfeile, die allgemeine Mindest- und H¨ ochstabst¨ ande repr¨ asentieren. In der Literatur werden solche Netzpl¨ ane meist als Ereignisknotennetze bezeichnet; vgl. beispielsweise Schwindt (2005). Da Vorg¨ ange in CPM-Netzpl¨ anen Pfeilen im Netzplan entsprechen, wird ein Vorgang i h¨ aufig in Pfeilnotation mit Hilfe seines Start- und Endereignisses e bzw. e¯ eindeutig als e, e¯ benannt. Vorgang a in Abbildung 1.38 beispielsweise wird daher synonym als Vorgang 1, 2 bezeichnet.
1.4 Projektplanung
79
Die Konstruktion von CPM-Netzpl¨ anen ist im Gegensatz zu MPM-Netzpl¨ anen nicht kanonisch, da Anordnungsbeziehungen existieren, die sich nur unter Zuhilfenahme weiterer Bausteine (so genannter Scheinvorg¨ange) modellieren lassen. Scheinvorg¨ange stellen hierbei fiktive Vorg¨ange mit Dauer Null dar. Da sich ein und derselbe Sachverhalt (Anordnungsbeziehung) auf unterschiedliche Art und Weise durch Scheinvorg¨ange modellieren l¨asst, ist die Konstruktion von CPM-Netzpl¨ anen i.d.R. nicht eindeutig. Die nachfolgenden Regeln beschreiben einige besondere Anordnungsbeziehungen zwischen Vorg¨ angen und wie diese in einem CPM-Netzplan, teilweise unter Zuhilfenahme von Scheinvorg¨ angen, abgebildet werden k¨ onnen. 1. K¨ onnen zwei Vorg¨ ange i und j begonnen werden, sobald zwei andere Vorg¨ ange a und b beendet worden sind, dann entspricht dem Ende von a und b und dem (fr¨ uhestm¨ oglichen) Beginn von i und j ein und dasselbe Ereignis e (vgl. Abb. 1.39). 2. Setzt der Beginn von Vorgang i die Beendigung der beiden Vorg¨ange a und b voraus, w¨ ahrend Vorgang j bereits gestartet werden kann, sobald lediglich Vorgang b beendet wurde, so m¨ ussen wir einen Scheinvorgang s einf¨ uhren. In Abbildung 1.40 wird s durch einen gestrichelten Pfeil im Netzplan repr¨ asentiert, diese Darstellungsform wird im Folgenden beibehalten. rP PPa P
1r i PP q e PP j b 1 PP P qr P r Abb. 1.39. Erste Regel
r
a
-r 6
i
-r
j
-r
s
r
b
-r
Abb. 1.40. Zweite Regel
3. Werden dem Beginn und dem Abschluss zweier Vorg¨ange a und b jeweils ein und derselbe Knoten zugeordnet, so ist ein Scheinvorgang s einzuf¨ uhren, um parallele Pfeile zu vermeiden (vgl. Abb. 1.41). Der Scheinvorgang s kann wahlweise auch vom Startereignis von Vorgang a (b) zum Startereignis von Vorgang b (a) oder vom Endereignis von Vorgang b zum Endereignis von a eingef¨ ugt werden. r
a b
? r wird ersetzt durch 6
*
a
r
Abb. 1.41. Dritte Regel
b
r
s
- r?
80
1 Projektmanagement
4. Dem Beginn aller Startvorg¨ ange, d.h. Vorg¨ange, die unmittelbar nach Projektstart begonnen werden k¨ onnen, wird ein und derselbe Knoten zugeordnet, der dem Startereignis des Projektes entspricht und die Quelle des Netzplans darstellt (vgl. Abb. 1.42 mit Startvorg¨angen a, b und c). Entsprechend wird dem Ende aller Zielvorg¨ ange, d.h. Vorg¨ange, nach deren Abschluss unmittelbar das Projektende eintreten kann, ein und derselbe Knoten zugeordnet, der die Senke des Netzplans darstellt (vgl. Abb. 1.42 mit Zielvorg¨ angen d, e und f ). 1r
a b -r Quelle r PP
PP
cPPP
P qr P
rP P r
PP d PP
PP q r Senke P 1
e
f
r
Abb. 1.42. Vierte Regel
5a. Soll ein Vorgang b fr¨ uhestens τ > 0 Zeiteinheiten nach dem Ende von Vorgang a begonnen werden (d.h. es ist ein zeitlicher Mindestabstand zwischen den Vorg¨ angen a und b vorgegeben), so f¨ ugen wir einen zus¨atzlichen Vorgang i zwischen a und b mit der Dauer τ ein (vgl. Abb. 1.43).
r
a -r
i -r
b -r
Abb. 1.43. Regel 5a
5b. Soll ein Vorgang a fr¨ uhestens τ > 0 Zeiteinheiten nach Projektbeginn starten d¨ urfen, dann f¨ ugen wir vor a einen zus¨atzlichen Vorgang i mit der Dauer τ ein, dessen Beginn der Quelle des Netzplans entspricht (vgl. Vorgang i in Abb. 1.44). Soll ein Vorgang b sp¨ atestens τ > 0 Zeiteinheiten vor dem Projektende abgeschlossen sein, f¨ ugen wir nach b einen Vorgang j mit der Dauer τ ein, dessen Ende gerade der Senke des Netzplans entspricht (vgl. Vorgang j in Abb. 1.44).
Quelle r
i -r
a -r
r
b -r
j
- r Senke
Abb. 1.44. Regel 5b
In der Literatur findet man neben den genannten f¨ unf Regeln zur Konstruktion von CPM-Netzpl¨ anen auch h¨ aufig weitere Regeln, beispielsweise die folgende:
1.4 Projektplanung
81
Kann ein Vorgang j bereits gestartet werden, sobald ein Teil eines Vorgangs i beendet worden ist, dann ist i so in zwei Teilvorg¨ange i und i zu zerlegen, dass j unmittelbar nach Beendigung von i gestartet werden kann (vgl. Abb. 1.45).
r
i
* i
r
r - H
j HH
H jr H
¨ Abb. 1.45. Uberlappen von Vorg¨ angen
Diese Regel besagt, dass Vorgang i (fr¨ uhestens) nach dem Ende von Vorgang i beginnen kann, aber nicht muss. Die unmittelbar aufeinander folgende Ausf¨ uhrung der Vorg¨ ange i und i ist jedoch nicht gew¨ahrleistet. Falls Vorg¨ ange nicht unterbrechbar sind, was wir hier stets annehmen, kann das ¨ Uberlappen von Vorg¨ angen mit einem CPM-Netzplan nicht modelliert werden. Hat man mit Hilfe der Regeln 1 bis 5 f¨ ur ein Projekt einen bewerteten Digraphen (CPM-Netzplan) N = V, E; δ mit Knotenmenge (Ereignismenge) V und Pfeilmenge (Menge der Vorg¨ ange) E ⊂ V × V konstruiert, so ordnet man den Pfeilen e, f ∈ E eine Pfeilbewertung δef zu, die gerade der Dauer des zugeh¨ origen Vorgangs entspricht. Wir gehen davon aus, dass n reale Vorg¨ange in den Netzplan eingehen, wobei n ≤ |E| gilt. Die Anzahl der Ereignisse im Netzplan bezeichnen wir mit m = |V |. Da die Einf¨ uhrung der Scheinvorg¨ange gem¨ aß den Regeln 2 und 3 im Allgemeinen nicht eindeutig ist, kann ein Projekt durch verschiedene CPM-Netzpl¨ ane dargestellt werden. F¨ ur die Berechnung der im Rahmen der Termin- bzw. Zeitplanung relevanten Gr¨oßen kann aber ohne Beschr¨ ankung der Allgemeinheit irgendein dem Projekt entsprechender CPM-Netzplan zugrunde gelegt werden. F¨ ur große Projekte mit vielen Vorg¨ angen ist die manuelle Konstruktion eines CPM-Netzplans mit Hilfe der Regeln 1 bis 5 nicht empfehlenswert. Im Folgenden wollen wir deshalb ein Verfahren zur automatisierten Erstellung von CPM-Netzpl¨ anen vorstellen; vgl. hierzu auch Brucker (1973) und Neumann (1999). Dazu sind zun¨ achst f¨ ur jeden Vorgang die unmittelbaren Vorl¨ aufer zu bestimmen. Ein Vorgang i wird Vorl¨aufer von Vorgang j genannt, wenn Vorgang i beendet sein muss, bevor Vorgang j beginnen kann. Bei der Vorl¨ auferbeziehung handelt es sich im Gegensatz zur Vorg¨angerbeziehung nicht um eine Knoten- sondern um eine Pfeilabfolge (vgl. Abb. 1.46). Vorgang i ist unmittelbarer Vorl¨aufer von Vorgang j, wenn i Vorl¨aufer von j ist und kein anderer Vorgang h existiert, so dass h Vorl¨aufer von j und i Vorl¨ aufer von h ist. Die Menge der unmittelbaren Vorl¨aufer eines Vorgangs l¨ asst sich mit Hilfe eines so genannten Vorranggraphen ermitteln. In einem
82
1 Projektmanagement
solchen Vorranggraphen wird jeder Vorgang durch einen Knoten repr¨asentiert und Vorrangbeziehungen zwischen zwei Vorg¨angen i und j werden durch einen Pfeil i, j im Graphen modelliert. Entfernt man alle redundanten Pfeile im Vorranggraphen, so ist die unmittelbare Vorl¨aufermenge eines Vorgangs j durch die Menge aller Vorg¨ ange i gegeben, f¨ ur die der Vorranggraph einen Pfeil i, j enth¨ alt. In Habib et al. (1993) ist ein effizientes Verfahren zur Bestimmung der unmittelbaren Vorl¨ aufermengen, d.h. zur Entfernung redundanter Pfeile, beschrieben. r
h
-r
-r
i
j
-r
unmittelbarer Vorl¨ aufer von j Vorl¨ aufer im weiteren Sinne Abb. 1.46. Vorl¨ aufer von Vorgang j
Sind die unmittelbaren Vorl¨ aufermengen f¨ ur die realen Projektvorg¨ange gegeben, so kann f¨ ur alle Vorg¨ ange, die die gleiche Vorl¨aufermenge besitzen, die zu dieser Vorl¨ aufermenge geh¨ orige Nachl¨ aufermenge angegeben werden. Besitzen beispielsweise die Vorg¨ ange 1, . . . , 4 die in Tabelle 1.21 dargestellten unmittelbaren Vorl¨ aufermengen, so ergibt sich f¨ ur die Vorl¨aufermenge ∅ die zugeh¨ orige Nachl¨aufermenge {1, 2}. Insgesamt lassen sich die in Tabelle 1.22 angegebenen Vorl¨ aufer- und Nachl¨ aufermengen identifizieren. Tabelle 1.21. Projektvorg¨ ange mit ihren Vorl¨ aufermengen Vorgang unmittelbare Vorl¨ aufer
1 ∅
2 ∅
3 {1}
4 {1,2}
Mit Hilfe der unmittelbaren Vorl¨ aufer- und Nachl¨aufermengen l¨asst sich die Einf¨ uhrung von Scheinvorg¨ angen auf die drei folgenden F¨alle zur¨ uckf¨ uhren. aufermengen mit ∅ = V ⊂ V , d.h. ein Vora) Seien V und V zwei Vorl¨ gang besitzt dieselben unmittelbaren Vorl¨aufer wie ein anderer Vorgang und gleichzeitig einige weitere Vorl¨aufer. Beispielsweise seien die Vorl¨ aufermengen V1 = ∅, V2 = {1}, V3 = {1, 2} und zugeh¨orige Mengen N1 = {1, 2}, N2 = {3}, N3 = {4} gegeben (vgl. Tab. 1.22). Offensichtlich ist ∅ = V2 ⊂ V3 . Ersetzen wir Vorgang 1 in der Menge V3 durch den Scheinvorgang 5 und f¨ ugen Vorgang 5 in die Menge N2 ein, so erhalten wir die in Tabelle 1.23 dargestellten Vorl¨ aufer- und Nachl¨aufermengen.
1.4 Projektplanung Vorl¨ aufer Nachl¨ aufer ∅ {1} {1, 2}
Vorl¨ aufer (Ve ) Nachl¨ aufer (Ne ) ∅ {1} 1, 2, 5} {
{1, 2} {3} {4}
Tabelle 1.22. Vorl¨ aufermengen vor Anwendung von Regel a)
{1, 2} {3, 5} {4}
83 e 1 2 3
Tabelle 1.23. Vorl¨ aufermengen nach Anwendung von Regel a)
Ausgehend von Tabelle 1.23 k¨ onnen wir den resultierenden CPM-Netzplan zeichnen, indem wir f¨ ur jede Zeile in der Tabelle einen Knoten e (Ereignis) einf¨ ugen, in den die Vorg¨ ange der zugeh¨ origen Vorl¨aufermenge einm¨ unden und aus dem die Vorg¨ ange der zugeh¨ origen Nachl¨aufermenge ausgehen (vgl. Abb. 1.47). Dann bezeichnet man die entsprechende Vorl¨aufer- bzw. Nachl¨ aufermenge auch als die zu diesem Ereignis e zugeh¨orige Vorl¨aufermenge Ve bzw. Nachl¨ aufermenge Ne . j *2
1
2
1j
3
-
4
-
5
? - 3j
Abb. 1.47. CPM-Netzplan nach Anwendung von Regel a)
b) Seien V und V zwei Vorl¨ aufermengen mit V ⊂ V und V ∩ V = ∅, d.h. zwei Vorg¨ ange haben zum Teil gemeinsame und zum Teil unterschiedliche unmittelbare Vorl¨ aufer. Zum Beispiel seien die Vorl¨aufermengen Ve und zugeh¨ orige Mengen Ne in Tabelle 1.24 mit V2 ⊂ V3 und V2 ∩ V3 = ∅ gegeben. Wir f¨ ugen eine neue Vorl¨ aufermenge V4 = V2 ∩ V3 = {2} ein sowie die zugeh¨ orige Menge N4 = {6, 7}. Anschließend ersetzen wir den Vorgang 2 in der Menge V2 durch den Scheinvorgang 6 und in der Menge V3 durch den Scheinvorgang 7 (vgl. Tab. 1.25). Der resultierende CPMNetzplan ist in Abbildung 1.48 dargestellt.
Ve
Ne
∅ {1, 2, 3} {1, 2} {4} {2, 3} {5}
e 1 2 3
Tabelle 1.24. Vorl¨ aufermengen vor Anwendung von Regel b)
Ve
Ne
∅ {1, 2, 3} 2, 6} {4} {1, 2, 3, 7} {5} { {2} {6, 7}
e 1 2 3 4
Tabelle 1.25. Vorl¨ aufermengen nach Anwendung von Regel b)
c) Seien eine Vorl¨ aufermenge V und eine Menge N mit |V ∩N | > 1 gegeben, d.h. mindestens zwei Vorg¨ ange haben identische Vorl¨aufer und verlaufen
84
1 Projektmanagement
j *2 66 - 4j
4
-
5
-
1
2 H 3 HH
1j H
7
? HH j 3j
Abb. 1.48. CPM-Netzplan nach Anwendung von Regel b)
parallel zueinander. F¨ ur die Mengen Ve und Ne in Tabelle 1.26 gilt beispielsweise |V3 ∩ N1 | > 1. Wir ersetzen einen Vorgang aus V3 ∩ N1 in der Menge V3 durch einen Scheinvorgang, z.B. ersetzen wir Vorgang 1 in V3 durch den Scheinvorgang 5. Dann f¨ ugen wir eine neue Vorl¨aufermenge V4 = {1} und die zugeh¨ orige Menge N4 = {5} ein (vgl. Tab. 1.27). Der resultierende CPM-Netzplan ist in Abbildung 1.49 dargestellt.
Ve
Ne
{3} {1, 2} ∅ {3} {1, 2} {4}
e 1 2 3
Tabelle 1.26. Vorl¨ aufermengen vor Anwendung von Regel c)
Ve
Ne
e
{3} ∅ 1, 2, 5} { {1}
{1, 2} {3} {4} {5}
1 2 3 4
Tabelle 1.27. Vorl¨ aufermengen nach Anwendung von Regel c)
j *4 1 5 3 2 - ? 4 j j 2 1 3j Abb. 1.49. CPM-Netzplan nach Anwendung von Regel c)
Greift f¨ ur gegebene Mengen Ve und Ne , e = 1, . . . , l, keiner der drei oben genannten F¨ alle, so kann dem zugeh¨ origen Projekt ein CPM-Netzplan ohne Scheinvorg¨ ange zugeordnet werden. Ansonsten m¨ ussen, wie in den Regeln a) bis c) angegeben, Scheinvorg¨ ange in den Netzplan eingef¨ ugt und die Mengen Ve und Ne entsprechend aktualisiert werden. Der folgende Algorithmus fasst das Vorgehen zur automatisierten Bestimmung eines CPM-Netzplans bei gegebenen unmittelbaren Vorl¨ aufermengen Ve , e = 1, . . . , l, sowie zugeh¨origer Mengen Ne zusammen.
1.4 Projektplanung
85
Algorithmus 1.23 (Konstruktion eines CPM-Netzplans). Schritt 1: Setze s := n + 1. Schritt 2: Falls zwei Vorl¨ aufermengen V und V mit ∅ = V ⊂ V existieren, gehe zu Schritt 3. Falls zwei Vorl¨ aufermengen V und V mit V ⊂ V , V ∩ V = ∅ existieren, gehe zu Schritt 4. Falls f¨ ur zwei Mengen V und N gilt |V ∩ N | > 1, dann gehe zu Schritt 5. Andernfalls gehe zu Schritt 6. Schritt 3: ange i ∈ V in der Menge V durch Es gilt ∅ = V ⊂ V . Ersetze alle Vorg¨ den Scheinvorgang s. F¨ uge s zu N hinzu und setze s := s + 1. Gehe zu Schritt 2. Schritt 4: Sei V ⊂ V , V ∩ V = {j 1 , . . . , j r } = ∅. F¨ uge r neue Vorl¨aufermengen {j k } mit k = 1, . . . , r hinzu. Ersetze alle r Vorg¨ange der Menge V ∩ V in der Menge V durch r Scheinvorg¨ ange s, s + 1, . . . , s + r − 1 und in der Menge V durch r Scheinvorg¨ ange s + r, s + r + 1, . . . , s + 2r − 1. F¨ uge jeder neuen Vorl¨ aufermenge {j k } die zugeh¨orige Nachl¨aufermenge N = {s + k − 1, s + r + k − 1} hinzu. Setze s := s + 2r und gehe zu Schritt 2. Schritt 5: Sei |V ∩ N | = r > 1. Ersetze r − 1 Vorg¨ ange aus V ∩ N , etwa j 1 , . . . , j r−1 , in der Menge V durch die Scheinvorg¨ ange s, . . . , s + r − 2. F¨ uge r − 1 Paare zusammengeh¨ origer Mengen V p := {j p+1 }, N p := {s+p}, (p = 0, . . . , r−2) hinzu. Setze s := s + r − 1 und gehe zu Schritt 2. Schritt 6: F¨ uhre einen Knoten e f¨ ur jedes zusammengeh¨orige Paar von Mengen (Ve , Ne ) mit den einm¨ undenden Vorg¨ angen i ∈ Ve und den wegf¨ uhrenden Vorg¨ angen j ∈ Ne ein. Die Vorgehensweise von Algorithmus 1.23 zur Konstruktion von CPMNetzpl¨ anen wird nun anhand eines Beispiels verdeutlicht. Wir gehen wieder von dem Bauprojekt aus Abschnitt 1.4.1 aus. Da in CPM-Netzpl¨anen i.d.R. jedoch keine zeitlichen H¨ ochstabst¨ anden abgebildet werden, wird die Aufgabenstellung von Beispiel 1.9 leicht modifiziert. Beispiel 1.24 (Modifikation von Beispiel 1.9). Zu Beginn des Bauprojektes ist das Fundament des Hauses bereits gegossen und es kann sofort mit den Arbeiten am Rohbau begonnen werden. An die Maurerarbeiten kann
86
1 Projektmanagement
sich unmittelbar die Errichtung des Dachstuhls anschließen. Das zugeh¨orige Endereignis dieses Vorgangs repr¨ asentiert das Richtfest. Nach Errichtung des Dachstuhls kann sofort mit dem Decken des Dachs begonnen werden. Sobald das Dach gedeckt ist, k¨ onnen die Fenster des Hauses eingesetzt werden. Mit den Sanit¨ arinstallationen kann fr¨ uhestens f¨ unf Wochen nach Projektstart begonnen werden, da die gew¨ ahlte Installationsfirma noch auf einer anderen Baustelle besch¨ aftigt ist. Allerdings ist zu beachten, dass vor Beginn der Sanit¨arinstallationen der Dachstuhl errichtet sein muss. Die Elektroinstallationen im Haus k¨ onnen fr¨ uhestens gleichzeitig mit dem Beginn der Sanit¨arinstallationen begonnen werden. An die Sanit¨ ar- und Elektroinstallationen k¨onnen sich unmittelbar die Innenputzarbeiten anschließen. Fr¨ uhestens nach Abschluss der Putzarbeiten und des Einsetzens der Fenster kann die Malerfirma mit ihren Arbeiten beginnen. Sobald die Malerarbeiten abgeschlossen sind, kann mit der Montage der K¨ uche begonnen werden. Das Projekt soll so fr¨ uh wie m¨oglich beendet werden. In Tabelle 1.28 sind alle Vorg¨ ange des Projektes sowie die zugeh¨origen Ausf¨ uhrungsdauern angegeben. Um den Mindestabstand zwischen dem Projektstart und den Sanit¨ arinstallationen zu modellieren, f¨ uhren wir außerdem einen weiteren Vorgang 10 mit einer Dauer von f¨ unf Wochen ein. Tabelle 1.28. Die Projektvorg¨ ange mit ihren jeweiligen Dauern Nr. 1 2 3 4 5 6 7 8 9 10
Vorgang Maurerarbeiten Errichten des Dachstuhls Dachdeckerarbeiten Fenster einsetzen Sanit¨ arinstallationen Elektroinstallationen Innenputzarbeiten Malerarbeiten Montage der K¨ uche Bereitstellungstermin Sanit¨ arinstallationen
Dauer (in Wochen) 3 2 1 1 4 3 2 2 1 5
Algorithmus 1.23 vollzieht sich f¨ ur das vorliegende Projekt wie folgt. Die unmittelbaren Vorl¨ aufermengen Ve und zugeh¨origen Mengen Ne zu Beginn des Algorithmus sind in Tabelle 1.29 angegeben. Schritt 1: Setze s := n + 1 = 11. Schritt 2: F¨ ur V3 = {2} und V5 = {2, 10} gilt ∅ = V3 ⊂ V5 . Wir gehen daher zu Schritt 3. Schritt 3: Vorgang {2} ∈ V3 wird in der Menge V5 durch den Scheinvorgang s = 11 ersetzt. Wir setzen daher V5 := {10, 11}, N3 := {3, 11}, s := 12 und fahren mit Schritt 2 fort.
1.4 Projektplanung
87
Schritt 2: F¨ ur V6 = {5, 6} und N5 = {5, 6} gilt |V6 ∩ N5 | = 2 > 1. Wir fahren also mit Schritt 5 fort. Schritt 5: Wir ersetzen einen Vorgang aus V6 ∩ N5 = {5, 6}, beispielsweise Vorgang 6, in der Menge V6 durch den Scheinvorgang s = 12, d.h. V6 := {5, 12}. Außerdem f¨ ugen wir eine Menge V10 := {6} mit zugeh¨origer Menge N10 := {12} hinzu. Anschließend setzen wir s := 13 und gehen zu Schritt 2. Schritt 2: Da keiner der angegebenen drei F¨ alle zutrifft, gehen wir zu Schritt 6. Schritt 6: F¨ ur jedes zusammengeh¨ orige Paar von Mengen (Ve , Ne ) wird ein Knoten e mit den einm¨ undenden Vorg¨ angen i ∈ Ve und den wegf¨ uhrenden Vorg¨ angen j ∈ Ne eingef¨ uhrt. In Tabelle 1.30 sind die Vorl¨ aufermengen Ve sowie die zugeh¨origen Mengen Ne des Projektes nach Ende des Algorithmus angegeben. Es ergibt sich somit der in Abbildung 1.50 dargestellte Netzplan. Die Pfeile des Netzplans sind mit der jeweiligen Vorgangsnummer und der Vorgangsdauer beschriftet. Ve
Ne
e
∅ {1} {2} {3} {2, 10} {5, 6} {4, 7} {8} {9}
{1, 10} {2} {3} {4} {5, 6} {7} {8} {9} ∅
1 2 3 4 5 6 7 8 9
Tabelle 1.29. Mengen Ve und Ne sowie Knoten e vor Anwendung des Algorithmus
2/2 2
1/3
1
10/5
3/1
Ve
Ne
e
∅ {1} {2} {3} 2, 10, 11} { 6, 12} {5, {4, 7} {8} {9} {6}
{1, 10} {2} {3, 11} {4} {5, 6} {7} {8} {9} ∅ {12}
1 2 3 4 5 6 7 8 9 10
Tabelle 1.30. Mengen Ve und Ne sowie Knoten e nach Anwendung des Algorithmus
Legende:
Nr./Dauer - 4 - e e @ @4/1 11/0 @ ? 5/4 7/2 9/1 8/2 @ - 5 - 6 - 8 - 9 @ R 7 HH H 12/0 6 6/3 HH j - 3
10
Abb. 1.50. Netzplan des Projektes Haus bauen“ ”
88
1 Projektmanagement
Die Bestimmung fr¨ uhester und sp¨ atester Start- und Endzeitpunkte in CPM-Netzpl¨ anen erfolgt ¨ ahnlich wie bei der MPM-Netzplantechnik (vgl. Abschnitt 1.4.3). Fr¨ uheste und sp¨ ateste Start- und Endzeitpunkte sind hierbei nur f¨ ur reale Vorg¨ ange von Interesse, d.h. f¨ ur Vorg¨ange, die keine Scheinvorg¨ ange darstellen. Nehmen wir an, dass alle n realen Vorg¨ange (Pfeile) e, f ∈ E aufsteigend nummeriert sind, d.h. wir k¨onnen die reale Vorgangsbzw. Pfeilmenge alternativ in der Form E = {1, . . . , n} schreiben. Sei ferner V = {1, . . . , m} die Knoten- bzw. Ereignismenge eines CPM-Netzplans, insbesondere sei Knoten 1 die Quelle und Knoten m die Senke des Netzplans. Jeder Vorgang i ∈ E ist mit zwei Ereignissen inzident, einem Startereignis ei ∈ V und einem Endereignis e¯i ∈ V (vgl. Abb. 1.51). ei
Vorgang i
- e¯i
Abb. 1.51. Start- und Endereignis von Vorgang i
Der fr¨ uheste Startzeitpunkt ES i des realen Vorgangs i ist gleich dem fr¨ uhesten Eintrittszeitpunkt des Ereignisses ei ∈ V . Analog ist der sp¨ateste Startzeitpunkt LS i des realen Vorgangs i gleich dem sp¨atesten Zeitpunkt f¨ ur den Eintritt des Ereignisses e¯i abz¨ uglich der Vorgangsdauer pi . Die fr¨ uhesten und sp¨ atesten Endzeitpunkte EC i und LC i des realen Vorgangs i ergeben sich unmittelbar aus den entsprechenden Startzeitpunkten zuz¨ uglich der Vorgangsdauer pi . Fr¨ uheste und sp¨ ateste Start- und Endzeitpunkte der Projektvorg¨ ange k¨ onnen somit mit Hilfe der Ereigniszeitpunkte EZ e : fr¨ uhester Zeitpunkt (earliest time) f¨ ur den Eintritt des Ereignisses e ∈ V LZ e : sp¨atester Zeitpunkt (latest time) f¨ ur den Eintritt des Ereignisses e ∈ V ermittelt werden. Wir nehmen ohne Beschr¨ ankung der Allgemeinheit an, dass das zugrunde liegende Projekt zum Zeitpunkt 0 beginnt, d.h. der Eintrittszeitpunkt f¨ ur den Projektstart (Quelle bzw. Knoten 1) ist EZ 1 := 0. Der fr¨ uheste Zeitpunkt f¨ ur den Eintritt eines Ereignisses e ∈ {2, . . . , m} ⊂ V entspricht dann gerade der L¨ ange eines l¨ angsten Weges von der Quelle zu Ereignis e, d.h. EZ e := d1e
f¨ ur alle e ∈ {2, . . . , m}.
Zur Bestimmung der fr¨ uhesten Eintrittszeitpunkte kann das Label-Correcting Verfahren (vgl. Algorithmus 1.15) verwendet werden. Da ein CPM-Netzplan jedoch keine Zyklen enth¨ alt und sich die Knoten des Netzplans somit topologisch sortieren lassen, kann mit dem Bellman-Algorithmus ein effizienteres Verfahren zur Bestimmung l¨ angster Wege von einem zu allen anderen Knoten benutzt werden. Ein Netzplan heißt topologisch sortiert, wenn f¨ ur einen Knoten f ∈ V und alle Vorg¨ angerknoten e ∈ V von f gilt, dass e < f ist. Wir gehen daher ohne Beschr¨ ankung der Allgemeinheit davon aus, dass die Knotenmenge V topologisch sortiert ist.
1.4 Projektplanung
89
Sei e, f ein Pfeil (Vorgang) mit der Bewertung (Vorgangsdauer) δef zwischen zwei Knoten (Ereignissen) e, f ∈ V und bezeichne Pred (f ) die Menge der unmittelbaren Vorg¨ angerknoten von Knoten f im zugrunde liegenden CPM-Netzplan. Dann ermittelt der Bellman-Algorithmus mit d11 := 0 und d1f := −∞ f¨ ur f = 2, . . . , m die L¨ angen l¨ angster Wege von 1 zu allen anderen Knoten f gem¨ aß der Bellmanschen Funktionalgleichung d1f :=
max (d1e + δef ).
e∈Pred(f )
Da jeder Pfeil (Vorgang) nur genau einmal inspiziert wird, betr¨agt die Zeitkomplexit¨ at des Bellman-Algorithmus O(n). Zur Bestimmung der sp¨ atesten Zeitpunkte LZ e f¨ ur den Eintritt der Ereignisse e ∈ {1, . . . , m − 1} ⊂ V ist ein sp¨ atester Abschlusstermin LZ m := d¯ f¨ ur das Projektende, d.h. die Senke des CPM-Netzplans, vorzugeben. Ist d¯ nicht vorgegeben, so setzen wir LZ m := EZ m , d.h. das Projekt endet so fr¨ uh als m¨ oglich. Der sp¨ ateste Zeitpunkt f¨ ur den Eintritt eines Ereignisses e ∈ {1, . . . , m − 1} ⊂ V entspricht dann gerade der Differenz aus dem sp¨ atestm¨ oglichen Eintrittszeitpunkt des Projektendes und der L¨ange eines l¨ angsten Weges von e zum Projektende m, d.h. LZ e := LZ m − dem
f¨ ur alle e ∈ {1, . . . , m − 1}.
Analog zu Abschnitt 1.4.3 bestimmen wir die Werte dem f¨ ur alle Knoten e ∈ {1, . . . , m − 1}, indem wir die L¨ angen d˜me l¨angster Wege von Knoten m ˜ bestimmen, da d˜me gerade zu allen anderen Knoten im inversen Netzplan N gleich dem ist. Haben wir die fr¨ uhesten und sp¨ atesten Eintrittszeitpunkte aller Ereignisse bestimmt, so ergeben sich f¨ ur einen Vorgang i ∈ E mit Startereignis ei ∈ V und Endereignis e¯i ∈ V die fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkte zu ES i := EZ ei EC i := EZ ei + pi LS i := LZ e¯i − pi LC i := LZ e¯i . Beispiel 1.25 (Fortsetzung von Beispiel 1.24). Wir berechnen die fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkte aller Vorg¨ange des Projektes aus Beispiel 1.24. Der zugeh¨ orige CPM-Netzplan ist in Abbildung 1.50 angegeben. Zun¨ achst ermitteln wir die fr¨ uhesten und sp¨ atesten Ereigniszeitpunkte EZ e und LZ e f¨ ur alle Knoten e ∈ V , indem wir mit dem Bellman-Algorithmus die L¨ angen l¨ angster Wege von Knoten 1 zu allen anderen Knoten berechnen sowie die L¨ angen l¨ angster Wege von Knoten m zu allen anderen Knoten im inversen Netzplan. Beispielsweise ist EZ 7 := max{EZ 4 + 1, EZ 6 + 2} = max{6 + 1, 9 + 2} = 11. Da das Projekt so fr¨ uh wie m¨oglich beendet werden soll, gilt
90
1 Projektmanagement
LZ 9 := EZ 9 = 14. F¨ ur Ereignis 4 z.B. erhalten wir somit LZ 4 := LZ 9 − d49 = LZ 9 −d˜94 = 14−4 = 10. In Tabelle 1.31 sind s¨ amtliche fr¨ uhesten und sp¨atesten Ereigniszeitpunkte angegeben. Tabelle 1.31. Fr¨ uheste und sp¨ ateste Ereigniszeitpunkte e∈V
1
2
3
4
5
6
9
10
EZ e LZ e
0 0
3 3
5 6 5 10
5 5
9 11 13 14 9 11 13 14
8 9
7
8
Aus den ermittelten Ereigniszeitpunkten k¨ onnen unmittelbar die fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkte f¨ ur alle realen Vorg¨ange i = 1, . . . , 10 bestimmt werden (vgl. Tab. 1.32). Vorgang 6 ∈ E ist z.B. inzident mit den Ereignissen 5, 10 ∈ V , Ereignis 5 ist das Startereignis und 10 das Endereignis von Vorgang 6. Daher ist ES 6 := EZ 5 = 5 und LS 6 := LZ 10 − p6 = 6 sowie EC 6 := EZ 5 + p6 = 8 und LC 6 := LZ 10 = 9. Tabelle 1.32. Fr¨ uheste und sp¨ ateste Start- und Endzeitpunkte i∈E
1
2
4
5
6
9
10
ES i EC i LS i LC i
0 3 0 3
3 5 6 5 6 7 3 9 10 5 10 11
5 9 5 9
5 9 11 13 8 11 13 14 6 9 11 13 9 11 13 14
0 5 0 5
3
7
8
Analog zur MPM-Netzplantechnik k¨ onnen auch f¨ ur die Vorg¨ange in CPMNetzpl¨ anen Pufferzeiten ermittelt werden. Die gesamte Pufferzeit (Gesamtpufferzeit) TF i eines Vorgangs i ∈ E, die die Zeitspanne angibt, um die der Start von Vorgang i maximal verz¨ ogert werden kann, ohne dass die vorgegebene maximale Projektdauer LZ m u ¨ berschritten wird, ergibt sich zu TF i := LS i − ES i
f¨ ur alle i ∈ E.
Ein Vorgang i ∈ E heißt kritisch genau dann, wenn TF i = minj∈E TF j −LZ 1 gilt. Insbesondere sind alle Vorg¨ ange auf einem l¨angsten Weg (kritischen Weg) von Knoten 1 zu Knoten m kritisch. Ist LZ m = EZ m , d.h. das Projekt soll so fr¨ uh wie m¨ oglich beendet werden, dann gilt f¨ ur alle kritischen Vorg¨ange TF i = 0. F¨ ur die Bestimmung der freien Pufferzeit sowie der freien R¨ uckw¨artspufferzeit in CPM-Netzpl¨ anen ben¨ otigen wir die beiden modifizierten Eintrittszeit+ + punkte EZ + uheste Zeitpunkt, zu dem mindestens e und LZe . EZ e ist der fr¨ ein realer Vorgang mit Startereignis e beginnen kann. LZe+ ist der sp¨ateste Zeitpunkt, zu dem alle realen Vorg¨ ange vor Ereignis e beendet sein m¨ ussen.
1.4 Projektplanung
91
Also ist EZ + e := EZ e , falls von Knoten e mindestens ein realer Vorgang aus+ geht, und EZ + ange e := minf ∈Succ(e) EZ f , falls von Knoten e nur Scheinvorg¨ + ausgehen. Analog dazu ist LZf := LZ f , falls in Knoten f mindestens ein realer Vorgang einm¨ undet und LZf+ := maxe∈Pred(f ) LZe+ , falls in Knoten f nur + Scheinvorg¨ ange einm¨ unden. Offensichtlich gilt EZ + e ≥ EZ e und LZe ≤ LZ e + f¨ ur jeden Knoten e ∈ V . EZ e > EZ e gilt genau dann, wenn alle von Knoten e ausgehenden Vorg¨ ange Scheinvorg¨ ange sind und keiner dieser Scheinvorg¨ange auf einem l¨ angsten Weg von der Quelle zur Senke liegt. LZe+ < LZ e gilt genau dann, wenn alle in den Knoten e einm¨ undenden Vorg¨ange Scheinvorg¨ange sind und keiner dieser Scheinvorg¨ ange auf einem l¨angsten Weg von der Quelle zur Senke liegt. Beispiel 1.26 (Fortsetzung von Beispiel 1.25). F¨ ur die Ereignisse e = 1, . . . , 8 gilt EZ + = EZ , da von ihnen mindestens ein realer Vorgang ausgeht. e e Von Ereignis 10 geht nur ein Scheinvorgang aus; daher gilt EZ + ur 10 = 9. F¨ die Ereignisse e = 2, . . . , 10 gilt LZe+ = LZ e , da in sie mindestens ein realer + Vorgang einm¨ undet. Die modifizierten Ereigniszeitpunkte EZ + e und LZe sind f¨ ur alle Knoten e ∈ V in Tabelle 1.33 angegeben. Tabelle 1.33. Modifizierte fr¨ uheste und sp¨ ateste Eintrittszeitpunkte e∈V
1
2
3
4
5
6
9
10
EZ + e LZe+
0 0
3 3
5 6 5 10
5 5
9 11 13 14 9 11 13 14
9 9
7
8
Die freie Pufferzeit EFF i eines Vorgangs i ∈ E mit Endereignis e¯i gibt die maximale Zeitspanne an, um die der Start von Vorgang i ausgehend vom ES i verz¨ ogert werden kann unter der Bedingung, dass alle unmittelbaren Nachfolger von i zu ihrem fr¨ uhesten Startzeitpunkt starten, d.h. EFF i := EZ + e¯i − EC i
f¨ ur alle i ∈ E.
Die freie R¨ uckw¨artspufferzeit LFF i eines Vorgangs i ∈ E mit Startereignis ei gibt die maximale Zeitspanne an, um die der Start von i ausgehend vom LS i nach vorn geschoben werden kann unter der Bedingung, dass alle unmittelbaren Vorg¨ anger von i zu ihrem sp¨ atesten Startzeitpunkt starten, d.h. LFF i := LS i − LZe+i f¨ ur alle i ∈ E. Beispiel 1.27 (Fortsetzung von Beispiel 1.26). Die gesamte Pufferzeit, die freie Pufferzeit und die freie R¨ uckw¨ artspufferzeit sind f¨ ur alle realen Vorg¨ ange i = 1, . . . , 10 unseres Beispielprojektes in Tabelle 1.34 angegeben.
92
1 Projektmanagement
Tabelle 1.34. Gesamtpufferzeit, freie Pufferzeit und freie R¨ uckw¨ artspufferzeit i∈E
1
2
3
4
5
6
7
8
9
10
TF i EFF i LFF i
0 0 0
0 0 0
4 0 4
4 4 0
0 0 0
1 1 1
0 0 0
0 0 0
0 0 0
0 0 0
PERT-Netzplantechnik In MPM- und CPM-Netzpl¨ anen wird die Dauer pi eines Vorgangs i als deterministisch angenommen. H¨ aufig kann die Dauer eines Vorgangs jedoch nicht genau beziffert werden. Stattdessen wird angenommen, dass die tats¨achlich realisierte Dauer eines Vorgangs zuf¨ alligen Schwankungen unterliegt. Die PERT-Netzplantechnik ber¨ ucksichtigt solche zuf¨alligen Schwankungen der Vorgangsdauern. Dies ist insbesondere f¨ ur Projekte, bei denen die Sch¨atzung der Vorgangsdauern mit großen Unsicherheiten verbunden ist, wie beispielsweise bei Forschungs- und Entwicklungsprojekten, von großem Vorteil. PERT-Netzpl¨ ane sind ebenso wie CPM-Netzpl¨ane Vorgangspfeilnetze, d.h. jedem Projektvorgang entspricht ein Pfeil und Knoten entsprechen Ereignissen. Analog zu den CPM-Netzpl¨ anen enthalten PERT-Netzpl¨ane genau eine Quelle und eine Senke, sie sind schwach zusammenh¨angend und es werden nur zeitliche Mindestabst¨ ande des Verkn¨ upfungstyps Ende-Start betrachtet. Der wesentliche Unterschied zwischen CPM- und PERT-Netzpl¨anen ist, dass die Dauer eines Vorgangs in einem PERT-Netzplan als Zufallsgr¨oße erachtet wird. Anstelle einer deterministischen Dauer wird jedem Vorgang bei der Modellierung eines PERT-Netzplans eine Zufallsvariable zugeordnet, die einer geeignet zu bestimmenden Wahrscheinlichkeitsverteilung gehorcht. Aufgrund praktischer Erfahrungen empfiehlt es sich, eine Verteilung der Vorgangsdauern zu w¨ ahlen, die folgenden Bedingungen gen¨ ugt: 1. Die Verteilungsfunktion f¨ ur die Dauer pi eines Vorgangs i ist auf einem P O O P abgeschlossenen Intervall [pO i , pi ] mit pi ≥ 0 und pi < pi definiert. 2. Die Realisationen der Vorgangsdauern pi konzentrieren sich um einen Wert. Eine diesen Forderungen gen¨ ugende Verteilung ist die Betaverteilung 21 , deren stetige und unimodale Dichte durch α P β (pi −pO P i ) (pi −pi ) ur pO α+β+1 B(α+1,β+1) f¨ i ≤ pi ≤ pi f (pi ) := (pPi −pO i ) 0 sonst mit α, β > −1 definiert ist. B repr¨ asentiert dabei die Betafunktion 21
Grunds¨ atzlich k¨ onnen im Rahmen der PERT-Netzplantechnik beliebige Wahrscheinlichkeitsverteilungen f¨ ur die Vorgangsdauern angenommen werden. Andere im Rahmen der PERT-Netzplantechnik h¨ aufig verwendete Wahrscheinlichkeitsverteilungen sind beispielsweise die Gleichverteilung oder die Dreiecksverteilung.
1.4 Projektplanung
B(u, v) := und Γ die durch
Γ (u)Γ (v) Γ (u + v) ∞
Γ (z) :=
93
f¨ ur u, v > 0
τ z−1 e−τ dτ
f¨ ur z > 0
0
festgelegte Gammafunktion. Speziell ist Γ (1) = 1 und Γ (n) = (n − 1)! f¨ ur n ∈ N. In Abbildung 1.52 ist die Dichtefunktion der Betaverteilung f¨ ur eine P Vorgangsdauer pi ∈ [pO angigkeit verschiedener Werte f¨ ur i = 1, pi = 4] in Abh¨ α und β abgebildet. f (pi )
(α, β) = (1, 3)
(α, β) = (3, 1) (α, β) = (2, 2)
pi P Abb. 1.52. Dichte der Betaverteilung f¨ ur pi ∈ [pO angigkeit i = 1, pi = 4] in Abh¨ von α und β
Wir bestimmen nun die Verteilungsparameter Modalwert, Erwartungswert und Varianz der Betaverteilung.22 Der Modalwert pH i (Maximalstelle der Funktion f (pi )) ist L¨ osung der Gleichung α−1 P α P β−1 (pi − pi )β − β(pi − pO df (pi ) α(pi − pO i ) i ) (pi − pi ) = 0, = O α+β+1 B(α + 1, β + 1) dpi (pP i − pi ) O f¨ ur die unter der Annahme α, β > 0 und pP osung i > pi ≥ 0 eine eindeutige L¨
pH i =
P βpO i + αpi α+β
(1.5)
existiert. Weiter ist der Erwartungswert p¯i 22
Eine ausf¨ uhrliche Herleitung des Erwartungswertes und der Varianz der Betaverteilung ist beispielsweise in Neumann (1975, S. 215 ff.) angegeben.
94
1 Projektmanagement P
pi p¯i =
pi f (pi ) dpi pO i
pPi
= =
α P β pi (pi − pO i ) (pi − pi ) dpi pO i O α+β+1 B(α + 1, β + 1) (pP i − pi ) P pO i (β + 1) + pi (α + 1)
α+β+2
.
Unter Ber¨ ucksichtigung von (1.5) l¨ asst sich p¯i auch in der Form p¯i =
H P pO i + (α + β)pi + pi α+β+2
(1.6)
schreiben. F¨ ur die Varianz σi2 gilt pi )2 , σi2 = (p2i ) − (¯ wobei
P
pi
p2i f (pi ) dpi .
(p2i ) = pO i
Nach Substitution und Umformung erhalten wir schließlich σi2 =
(α + 1)(β + 1) 2 (pP − pO i ) . (α + β + 2)2 (α + β + 3) i
(1.7)
Zur eindeutigen Spezifizierung der Verteilung der Vorgangsdauern pi eiP nes Vorgangs i in einem PERT-Netzplan m¨ ussen die vier Parameter pO i , pi , O P α und β geeignet festgelegt werden. Als obere Grenze des Intervalls [pi , pi ] innerhalb dessen die Dauer pi schwanken kann, wird die im Rahmen der in Abschnitt 1.4.2 durchgef¨ uhrten Dreizeitensch¨atzung ermittelte pessimistische Dauer angesetzt. pP entspricht somit der Dauer des Vorgangs i unter besoni ders ung¨ unstigen Umst¨ anden. Analog dazu entspricht pO i der optimistischen Dauer von Vorgang i, d.h. der Dauer des Vorgangs unter besonders g¨ unstigen Umst¨ anden. F¨ ur die Parameter α und β hat es sich bei PERT-Netzpl¨anen als g¨ unstig erwiesen, α und β so zu w¨ ahlen, dass α + β = 4.
(1.8)
Weiterhin geht man davon aus, dass der Modalwert pH i gerade der wahrscheinlichsten oder h¨aufigsten Dauer, d.h. der Dauer des Vorgangs i, die unter normalen“ Umst¨ anden am h¨ aufigsten eintritt, entspricht. F¨ ur gegebene Wer” P H te f¨ ur pO i , pi und pi lassen sich aus (1.5) zusammen mit (1.8) α und β einP H deutig bestimmen. Gilt beispielsweise pO i = 1, pi = 4 und pi = 2, so erhalten
1.4 Projektplanung
95
f (pi )
pi pO i
pH p¯i i
pP i
P H Abb. 1.53. Dichte der Betaverteilung f¨ ur p O i = 1, pi = 4, pi = 2, α = 4/3 und β = 8/3
wir aus (1.5) und (1.8) ein lineares Gleichungssystem mit zwei Gleichungen und zwei Unbekannten, dessen eindeutige L¨ osung α = 4/3 und β = 8/3 ist. Ein Plot der resultierenden Betaverteilung ist in Abbildung 1.53 angegeben. Aus (1.6) und (1.8) folgt f¨ ur den Erwartungswert p¯i eines Vorgangs i in einem PERT-Netzplan23 p¯i =
H P pO i + 4pi + pi . 6
(1.9)
F¨ ur die Betaverteilung aus Abbildung 1.53 ist beispielsweise p¯i = 13/6. Nach (1.7) ergibt sich unter der Annahme α + β = 4 f¨ ur die Varianz σi2 eines Vorgangs i in einem PERT-Netzplan σi2 =
(α + 1)(β + 1) P (5 − β)(β + 1) P 2 2 (pi − pO (pi − pO i ) = i ) . 252 252
F¨ ur die Betaverteilung aus Abbildung 1.53 erhalten wir σi2 = 11/36. In der Praxis wird die Varianz jedoch meist mit Hilfe der n¨aherungsweise g¨ ultigen Beziehung 2 (pP − pO i ) σ ˆi2 = i (1.10) 36 bestimmt. F¨ ur die in Abbildung 1.53 dargestellte Verteilung erhalten wir mit Hilfe von (1.10) den Wert σ ˆi2 = 1/4. 23
H Es sei angemerkt, dass p¯i genau pH i entspricht, wenn pi gerade in der Mitte des O P H O P Intervalls [pi , pi ] liegt, d.h. wenn pi − pi = pi − pH i . In diesem Fall ist die resultierende Dichtefunktion f (pi ) symmetrisch.
96
1 Projektmanagement
Die fr¨ uhesten und sp¨ atesten Eintrittszeitpunkte EZ e und LZ e der Ereignisse (Knoten) e ∈ V in einem PERT-Netzplan stellen anders als in CPMNetzpl¨ anen Zufallsgr¨ oßen dar. Die Erwartungswerte EZ e und LZ e dieser Zufallsgr¨ oßen bestimmt man bei PERT ¨ ahnlich wie die deterministischen Gr¨oßen bei der CPM-Netzplantechnik, indem man in den betreffenden Formeln (vgl. S. 88 ff.) die deterministischen Gr¨ oßen pi , EZ e und LZ e , i ∈ E und e ∈ V , durch die entsprechenden Erwartungswerte p¯i , EZ e bzw. LZ e ersetzt. Der erwartete fr¨ uheste Eintrittszeitpunkt EZ e eines Ereignisses e ∈ V entspricht also der Summe der erwarteten Vorgangsdauern p¯i auf einem l¨angsten Weg vom Projektstart zu Ereignis e. Vorg¨ ange, die auf einem bez¨ uglich der Erwartungswerte p¯i l¨ angsten Weg vom Projektstart zum Projektende liegen, heißen kritische Vorg¨ange und ein korrespondierender l¨angster Weg heißt kritischer Weg. Der erwartete sp¨ateste Eintrittszeitpunkt LZ e eines Ereignisses e ist gleich dem vorgegebenen Projektendtermin abz¨ uglich der Summe der erwarteten Vorgangsdauern p¯i auf einem l¨ angsten Weg von e zum Projektende. F¨ ur einen Vorgang i ∈ E mit Startereignis ei ∈ V und Endereignis e¯i ∈ V ergeben sich die erwarteten fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkte zu ES i := EZ ei EC i := EZ ei + p¯i LS i := LZ e¯i − p¯i LC i := LZ e¯i . Als Varianz f¨ ur die L¨ ange eines Weges legt man die Summe der Varianzen der einzelnen Vorgangsdauern auf diesem Weg fest. Die Streuung (Varianz) 2 EZ σeˆ des fr¨ uhesten Eintrittszeitpunktes eines Ereignisses e wird daher bestimmt, indem die Varianzen σ ˆi2 aller Vorgangsdauern i auf einem bez¨ uglich p¯i l¨ angsten Weg vom Projektstart zu Ereignis e addiert werden. Existieren mehrere l¨ angste Wege mit unterschiedlichen Varianzen, so wird im Sinne einer worst-case Betrachtung die gr¨ oßte dieser Varianzen als Varianz des zugrunde 2 liegenden Ereignisses festgelegt. Analog dazu ist die Varianz LZeσˆ der sp¨atesten Eintrittszeitpunkte von Ereignis e gerade die Summe der Varianzen σ ˆi2 der Vorg¨ ange i auf einem l¨ angsten Weg von Ereignis e zum Projektende. Die beschriebene additive Vorgehensweise zur Ermittlung der Varianzen einzelner Ereignisse setzt voraus, dass die Vorgangsdauern nicht korreliert sind, d.h. dass die einzelnen Vorgangsdauern stochastisch unabh¨angig voneinander sind. Diese Annahme ist in der Praxis jedoch nur selten erf¨ ullt. Bei einem Bauprojekt beispielsweise h¨ angt die Dauer vieler Vorg¨ange von identischen Einflussgr¨ oßen wie den Wetterbedingungen zum Zeitpunkt der Projektdurchf¨ uhrung oder den beteiligten Projektmitarbeitern ab. Bei der beschriebenen Ermittlung der erwarteten Eintrittszeitpunkte EZ e und LZ e ist zu beachten, dass die fr¨ uhesten Eintrittszeitpunkte EZ e im Allgemeinen untersch¨ atzt werden, w¨ ahrend sp¨ ateste Eintrittszeitpunkte LZ e u ¨ bersch¨ atzt werden. Urs¨ achlich hierf¨ ur ist die Tatsache, dass bei der Bestimmung
1.4 Projektplanung
97
eines bez¨ uglich der erwarteten Vorgangsdauern l¨angsten Weges zwischen zwei Ereignissen e und f nur die kritischen Vorg¨ange Ber¨ ucksichtigung finden, w¨ ahrend die unkritischen“ Vorg¨ ange auf alternativen Wegen von e nach f ” unber¨ ucksichtigt bleiben. Je nach Realisation der Zufallsgr¨oße Vorgangsdau” er“ k¨ onnen aber ganz andere Wege als der von PERT bestimmte kritisch sein. Um das Problem deutlich zu machen, betrachten wir das folgende Beispiel. Beispiel 1.28. Wir betrachten den PERT-Netzplan in Abbildung 1.54 mit drei Vorg¨ angen i ∈ E. Die Dauern der Vorg¨ ange 2 und 3 werden mit p2 = p¯2 = 1 und p3 = p¯3 = 1 als deterministisch angenommen. Die Dauer des Vorgangs 1 sei stochastisch mit p¯1 = 2 und gehorche der Einfachheit halber der in Tabelle 1.35 angegebenen diskreten Wahrscheinlichkeitsverteilung. 1 -r * HH2 3 HH j r H
r H
Legende:
r
i
-r
Abb. 1.54. PERT-Netzplan mit drei Vorg¨ angen
Tabelle 1.35. Diskrete Verteilung der Vorgangsdauer p1 Vorgangsdauer
Wahrscheinlichkeit
1 2 3
1/3 1/3 1/3
Unter Verwendung der PERT-Methodik ergibt sich 2 als erwartete L¨ange eines l¨ angsten Weges vom Projektstart zum Projektende, d.h. es wird erwartet, dass das Projekt fr¨ uhestens zum Zeitpunkt 2 beendet werden kann. Tats¨ achlich h¨ angt der fr¨ uheste Eintrittszeitpunkt des Projektendes aber von den drei m¨ oglichen Realisationen der Dauer p1 ab. Ist p1 = 1 oder p1 = 2, so kann das Projektende fr¨ uhestens zum Zeitpunkt 2 eintreten. F¨ ur p1 = 3 hingegen ist der Projektabschluss fr¨ uhestens zum Zeitpunkt 3 m¨oglich. Da jede dieser Realisationen von p1 mit Wahrscheinlichkeit 1/3 gleich wahrscheinlich ist, ist der tats¨ achliche erwartete fr¨ uheste Projektendtermin 13 ·2+ 31 ·2+ 31 ·3 = 7/3. Die PERT-Methode untersch¨ atzt das erwartete fr¨ uheste Projektende somit um 1/3 Zeiteinheiten. Tendenziell ist die beschriebene Untersch¨ atzung der erwarteten L¨ange eines Weges von e nach f in einem PERT-Netzplan umso gr¨oßer, je mehr alternative Wege es zwischen e und f gibt und je n¨aher die erwarteten L¨angen dieser Wege an der erwarteten L¨ ange eines kritischen Wegs liegen.
98
1 Projektmanagement
Um f¨ ur einen gegebenen PERT-Netzplan den Sch¨atzfehler bei der Ermittlung der erwarteten L¨ ange eines l¨ angsten Weges zwischen zwei Knoten beziffern zu k¨ onnen, muss die tats¨ achlich erwartete Wegl¨ange analytisch bestimmt werden. Dies ist schon f¨ ur kleine Netzpl¨ ane und einfache, diskrete Wahrscheinlichkeitsverteilungen der Vorgangsdauern sehr aufw¨andig, da f¨ ur alle m¨oglichen Realisationen der Vorgangsdauern ein l¨angster Weg bestimmt werden muss. Bei stetigen Verteilungen der Vorgangsdauern ist die analytische bzw. numerische Ermittlung der erwarteten Wegl¨ ange zwischen zwei Knoten mit Hilfe von Faltungsintegralen i.d.R. noch deutlich schwieriger als im diskreten Fall. Mit Hilfe einer Monte-Carlo-Simulation kann f¨ ur die erwartete L¨ange eines Weges zwischen zwei Knoten e und f recht einfach eine i.d.R. gute N¨aherung bestimmt werden. Dabei wird f¨ ur jeden Vorgang eines PERT-Netzplans mit Hilfe eines f¨ ur die vorliegende Wahrscheinlichkeitsverteilung geeigneten Zufallszahlengenerators eine zuf¨ allige Vorgangsdauer erzeugt; vgl. hierzu bspw. Law und Kelton (2000). Auf Grundlage der zuf¨allig erzeugten Vorgangsdauern wird dann der l¨ angste Weg zwischen e und f bestimmt. Werden diese Schritte sehr oft wiederholt, so stellt die Summe aller L¨angen der jeweils l¨angsten Wege geteilt durch die Anzahl der Wiederholungen eine N¨aherung f¨ ur die erwartete Wegl¨ ange zwischen e und f dar. Ebenso l¨asst sich die erwartete Varianz der L¨ ange eines Weges zwischen e und f aus den Ergebnissen der Stichprobengesamtheit ermitteln. Speichert man im Verlaufe einer solchen Simulation außerdem, wie oft ein Vorgang Bestandteil eines kritischen Weges oße geteilt durch die Anzahl der Wiedervon e nach f war, so wird diese Gr¨ holungen als kritischer Index eines Vorgangs bezeichnet. Der kritische Index ist ein Maß f¨ ur die Wahrscheinlichkeit, dass ein Vorgang Bestandteil eines kritischen Weges von e nach f ist. F¨ ur die Projektsteuerung empfiehlt es sich daher, allen Vorg¨ angen mit einem hohen kritischen Index und nicht bloß den gem¨ aß PERT kritischen Vorg¨ angen besondere Aufmerksamkeit zu widmen, um ein rechtzeitiges Projektende zu gew¨ ahrleisten. Die f¨ ur die Monte-Carlo-Simulation erforderlichen betaverteilten Zufallszahlen lassen sich mit Hilfe eines Rechners in zwei Schritten erzeugen: 1. Erzeugen einer Folge u1 , u2 , u3 , . . ., von (0, 1)-gleichverteilten Zufallszahlen24 2. Transformation der (0, 1)-gleichverteilten Zufallszahlen25 , so dass sie der gew¨ unschten Betaverteilung einer Zufallsvariablen X mit der Verteilungs24
25
Dies kann z.B. mit einem multiplikativen Kongruenzgenerator gem¨ aß der Vorschrift vν ≡ (avν−1 ) mod m (ν = 1, 2, . . .) uν := vmν erfolgen (f¨ ur detaillierte Ausf¨ uhrungen verweisen wir auf Law und Kelton, 2000). Dabei sind a, v0 , m ∈ N vorzugebende Gr¨ oßen. F¨ ur die Transformation eignet sich die im nachfolgend beschriebene so genannte Inversionsmethode, da P (X ≤ x) = F (x) = P (U ≤ F (x)) = P (F −1 (U ) ≤ x) gilt.
1.4 Projektplanung
99
funktion F entsprechen. Die gew¨ unschte Verteilungsfunktion F (x) muss hierzu in Form tabellierter Werte (xi , F (xi )) vorliegen. Der Wert der Umkehrfunktion F −1 an der Stelle uν wird durch lineare Interpolation in zwei Schritten berechnet (vgl. Abb. 1.55 zur Illustration): a) Bestimme xi und xi+1 , so dass F (xi ) ≤ uν ≤ F (xi+1 ) gilt. b) Die Zufallszahl zν , die zu der Verteilungsfunktion F geh¨ort, wird nun wie folgt berechnet: zν := xi + (xi+1 − xi )
uν − F (xi ) F (xi+1 ) − F (xi )
(ν = 1, 2, . . .)
F (x) 1 x
0 0
1
2
3
4
Abb. 1.55. Transformation mit der Inversionsmethode
Gem¨ aß des zentralen Grenzwertsatzes der Wahrscheinlichkeitsrechnung ist die Summe unabh¨ angiger Zufallsgr¨ oßen f¨ ur eine große Anzahl von Summanden n¨ aherungsweise normalverteilt; vgl. bspw. Bamberg und Baur (2001, Kapitel 10.2). In Anlehnung an diesen Satz werden bei PERT die fr¨ uhesten und sp¨ atesten Eintrittszeitpunkte EZ e und LZ e der Ereignisse e ∈ V (und damit die fr¨ uhesten und sp¨ atesten Start- und Endzeitpunkte der Projektvorg¨ ange) als normalverteilt mit den Erwartungswerten EZ e bzw. LZ e und 2 2 den Varianzen EZ σeˆ bzw. LZ σeˆ angenommen, d.h.
2 EZ e − EZ e oder ∼ N (0, 1) EZ e ∼ N EZ e , EZ σeˆ 2 EZ σeˆ und
2 LZ e ∼ N LZ e , LZ σeˆ
oder
LZ e − LZ e ∼ N (0, 1) 2 LZ σeˆ
f¨ ur alle e ∈ V . Aufgrund der angenommen Normalverteilung der Eintrittszeitpunkte der Ereignisse kann die Wahrscheinlichkeit, dass vorgegebene Termine einzelner Ereignisse eingehalten werden, abgesch¨atzt werden. So ist etwa ⎛ ⎞ θ − EZ e ⎠ P (EZ e > θ) = 1 − P (EZ e ≤ θ) = 1 − Φ ⎝ σ ˆ2 EZ e die Wahrscheinlichkeit, dass ein Ereignis e fr¨ uhestens zu einem vorgegebenen Zeitpunkt θ eintritt, wobei Φ die Verteilungsfunktion der Standardnormalverteilung bezeichnet.
100
1 Projektmanagement
Beispiel 1.29 (Fortsetzung von Beispiel 1.24). Wir betrachten unser Beispielprojekt Bau eines Hauses“, f¨ ur das wir bereits einen CPM-Netzplan ” konstruiert haben. Wir nehmen an, dass die Erwartungswerte und Varianzen der einzelnen Vorgangsdauern bereits ermittelt wurden. Die Werte p¯i und σ ˆi2 sind f¨ ur jeden Vorgang in Abbildung 1.56 angegeben. Die Dauern der Scheinvorg¨ ange 11 und 12 sind deterministisch, daher gilt p¯11 = p¯12 = 0 und 2 2 σ ˆ11 =σ ˆ12 = 0. Legende:
1; 3; 0,3
1
2; 2,2; 0,5 i; p¯i ; σ ˆi2 - 3 3; 1,1; 0,1 - 4 - e e 2 @ @ 4; 1; 0,2 11; 0; 0 @ ? 5; 4,4; 0,6 - 5 H - 6 7; 2; 1 @ - 9 @ R 7 8; 2; 0,3- 8 9; 1,2; 0,1 10; 5; 0,8 H H 612; 0; 0 6; 3,1; 0,2 HH j 10
Abb. 1.56. PERT-Netzplan des Projektes Haus bauen“ ”
Der bez¨ uglich der erwarteten Vorgangsdauern p¯i l¨angste Weg vom Projektstart zum Projektende im Netzplan in Abbildung 1.56 hat die L¨ange 14,8. Somit ist der erwartete fr¨ uheste Projektendtermin EZ 9 = 14,8 und die Vorg¨ange 1, 2, 11, 5, 7, 8 und 9 sind kritisch. Die zugeh¨ orige Varianz des fr¨ uhesten Pro2 jektendtermins ist EZ σ9ˆ = 2,8. Wollen wir nun beispielsweise bestimmen, wie groß die Wahrscheinlichkeit ist, dass das fr¨ uheste Projektende zwischen θ1 = 14 und θ2 = 17 Wochen liegen wird, so berechnen wir ⎛ ⎞ ⎛ ⎞ θ − EZ − EZ θ 2 9⎠ 1 9⎠ P (θ1 ≤ EZ 9 ≤ θ2 ) = Φ ⎝ − Φ⎝ σ ˆ2 σ ˆ2 EZ 9 EZ 9 14 − 14,8 17 − 14,8 √ √ −Φ =Φ 2,8 2,8 = Φ(1,31) − Φ(−0,48) = Φ(1,31) − (1 − Φ(0,48)) = 0,90 − (1 − 0,68) = 0,58 . Das fr¨ uheste Projektende wird also mit Wahrscheinlichkeit 0,58 innerhalb des Intervalls [14, 17] eintreten. Stellen wir uns weiterhin vor, dass ein Solltermin θ = 18 f¨ ur den Pro¨ jektabschluss vorgegeben ist, bei dessen Uberschreitung eine Konventionalstrafe gezahlt werden muss. Ferner seien aber die Anpassungsmaßnahmen zur Gew¨ ahrleistung dieses Solltermins mit so hohen Kosten verbunden, dass sie nur dann ergriffen werden sollen, wenn die Wahrscheinlichkeit, dass der Solltermin u oßer als 5% ist. Die Wahrscheinlichkeit f¨ ur die ¨ berschritten wird, gr¨ ¨ Uberschreitung des Solltermins ist
1.4 Projektplanung
101
P (EZ 9 > θ) = 1 − P (EZ 9 ≤ θ) 18 − 14,8 √ =1−Φ 2,8 = 1 − Φ(1,91) = 1 − 0,97 = 0,03 . Auf eine kostspielige Beschleunigung des Projektes kann daher verzichtet werden. GERT-Netzpl¨ ane Mit Hilfe der in den Netzplantechnik-Methoden CPM und PERT verwendeten zyklenfreien Vorgangspfeilnetze k¨ onnen nur Projekte modelliert werden, deren logischer bzw. zeitlicher Ablauf im Vorhinein eindeutig festgelegt ist (gleiches gilt f¨ ur MPM-Netzpl¨ ane). Dabei wird w¨ ahrend einer Projektausf¨ uhrung jedes Ereignis des Projektes genau einmal realisiert, und es treten w¨ahrend des Projektablaufs keine R¨ uckspr¨ unge zu bereits zuvor einmal ausgef¨ uhrten Vorg¨ angen auf. Viele praktische Projekte erf¨ ullen diese Bedingungen jedoch nicht. Bei Projekten der Kundenauftragsfertigung etwa werden Zwischenerzeugnisse gew¨ ohnlich einer Qualit¨ atskontrolle unterzogen. Die weiteren Bearbeitungsschritte, denen ein Zwischenerzeugnis zugef¨ uhrt wird, h¨angen dann von dem ¨ Ausgang der vorhergehenden Uberpr¨ ufung ab. Nehmen wir z.B. an, dass ein Bauteil in einem Arbeitsgang aus einem Rohling gefertigt wird (vgl. Abb. 1.57). Anschließend erfolgt eine Qualit¨ atskontrolle. 70% der u uften ¨ berpr¨ Bauteile erf¨ ullen die vorgegebene Spezifikation und k¨onnen f¨ ur den Einbau an die Montage weitergeleitet werden. 25% der Bauteile werden u ¨ berarbeitet und nochmals gepr¨ uft. Dabei entstehen Bauteile mit derselben G¨ ute wie bei der Erstbearbeitung. Die jeweils verbleibenden 5% der Bauteile stellen Ausschuss dar und werden verschrottet. Es f¨ allt auf, dass einzelne Vorg¨ange (z.B. die Verschrottung von Bauteilen) einerseits nur mit einer gewissen Wahrscheinlichkeit 0 < p < 1 ausgef¨ uhrt werden, andererseits aber mehrmals w¨ahrend einer Projektausf¨ uhrung realisiert werden k¨ onnen (bspw. die Qualit¨atskontrolle, wenn ein u uft wird). ¨berarbeitetes Bauteil abermals gepr¨
25% u ¨ berarbeiten Rohling bearbeiten Kontrolle
en ott chr ers v 5% 70%
wei te
rle i
Einbau
te n
Abb. 1.57. Beispiel eines stochastischen Projektes
102
1 Projektmanagement
¨ F¨ ur die Planung und Uberwachung der Ausf¨ uhrung solcher Projekte mit stochastischen Elementen ist die GERT-Netzplantechnik entwickelt worden. Eine ausf¨ uhrliche Betrachtung von GERT-Netzpl¨anen findet sich in Neumann (1990). Wie CPM- und PERT-Netzpl¨ ane stellen GERT-Netzpl¨ane Vorgangspfeilnetze dar, d.h. die Projektvorg¨ ange werden im Netzplan durch Pfeile dargestellt. Des Weiteren werden nur Zeitbeziehungen vom Typ Ende-Start ber¨ ucksichtigt. Im Gegensatz zu den vorgenannten Netzplantechniken zeichnen sich GERT-Netzpl¨ ane jedoch durch verschiedene Knotentypen und allgemeinere Pfeilbewertungen aus. Einem Pfeil (Vorgang) ist als Bewertung neben einer stochastischen Vorgangsdauer bzw. der Verteilungsfunktion der Dauer des betreffenden Vorgangs die Ausf¨ uhrungswahrscheinlichkeit des Vorgangs zugeordnet. Diese Ausf¨ uhrungswahrscheinlichkeit kann kleiner als 1 sein; sie stellt streng genommen die bedingte Wahrscheinlichkeit dar, dass der betreffende Vorgang ausgef¨ uhrt wird unter der Bedingung, dass sein Startereignis eingetreten ist. Ferner besitzt ein GERT-Netzplan im Allgemeinen Zyklen. Diese dienen der Modellierung von m¨ oglichen R¨ uckspr¨ ungen (R¨ uckkopplungen) w¨ ahrend des Projektablaufs. Ein GERT-Netzplan kann außerdem mehrere Senken (Projektausg¨ ange) besitzen, z.B. die beiden Ereignisse Projekt” erfolg“ und Projektmisserfolg“, er hat jedoch, wie bei Vorgangspfeilnetzen ” u ¨ blich, genau eine Quelle (Projektstart). Ein Knoten eines GERT-Netzplans besteht aus einer Eingangsseite und einer Ausgangsseite. Bei CPM- und PERT-Netzpl¨anen besitzt jeder Knoten einen so genannten Und-Eingang. Das bedeutet, das betreffende Projektereignis tritt ein, sobald alle in den Knoten einm¨ undenden Vorg¨ange beendet worden sind. Bei GERT-Netzpl¨ anen sind zus¨ atzlich Knoten mit Inklusiv-OderEingang (IOR-Eingang) und Exklusiv-Oder-Eingang (EOR-Eingang) spezifiziert. Besitzt ein Knoten einen Inklusiv-Oder-Eingang, so tritt das zugeh¨orige Projektereignis ein, sobald der (zeitlich) erste der einm¨ undenden Vorg¨ange beendet ist. Wir sprechen von einem Exklusiv-Oder-Eingang, wenn das betreffende Projektereignis jedes Mal dann eintritt, sobald ein einm¨ undender Vorgang beendet ist. Knoten, die in einem Zyklus enthalten sind, sollen stets einen Exklusiv-Oder-Eingang besitzen. Jeder Knoten eines CPM- oder PERT-Netzplans besitzt einen deterministischen Ausgang, d.h. nach Eintritt des zugeh¨origen Projektereignisses k¨onnen alle vom Knoten wegf¨ uhrenden Vorg¨ ange unmittelbar gestartet werden. GERT-Netzpl¨ ane k¨ onnen außerdem Knoten mit so genanntem stochastischem Ausgang enthalten. Nach Eintritt des einem solchen Knoten entsprechenden Ereignisses kann genau einer der ausgehenden Vorg¨ange gestartet werden. Ein Knoten mit h¨ ochstens einem Nachfolger habe stets einen sto¨ chastischen Ausgang. Tabelle 1.36 gibt einen Uberblick u ¨ ber die Eingangsund Ausgangsseiten eines Knotens, wobei die Aktivierung eines Knotens i bedeutet, dass alle Vorg¨ ange mit dem Startereignis i (d.h. alle Vorg¨ange, die von Knoten i ausgehen) ausgef¨ uhrt werden k¨ onnen.
1.4 Projektplanung
103
Tabelle 1.36. Die Eingangs- und Ausgangsseiten eines GERT-Knotens Eingangsseiten:
Ausgangsseiten:
UND-Eingang: Ein Knoten mit UNDEingang wird aktiviert, sobald alle einm¨ undenden Vorg¨ ange abgeschlossen sind.
DET-Ausgang: Wird ein Knoten mit DET-Ausgang (deterministischer Ausgang) aktiviert, so k¨ onnen alle ausgehenden Vorg¨ ange unmittelbar anschließend ausgef¨ uhrt werden. IOR-Eingang: Ein Knoten mit IOR- ST-Ausgang: Wird ein Knoten mit STEingang wird aktiviert, sobald ein ein- Ausgang (stochastischer Ausgang) akm¨ undender Vorgang abgeschlossen ist tiviert, so kann genau ein ausgehender (Inklusives Oder). Vorgang ausgef¨ uhrt werden. EOR-Eingang: Ein Knoten mit EOREingang wird jedes Mal aktiviert, sobald genau ein einm¨ undender Vorgang abgeschlossen ist (Exklusives Oder).
Im Folgenden stellen wir die sechs verschiedenen Knotentypen eines GERTNetzplans wie in Abbildung 1.58 illustriert dar. Ein DETUND-Knoten ist hierbei ein Knoten mit einem UND-Eingang und einem DET-Ausgang usw.
DETUND
STUND
DETIOR
STIOR
DETEOR
STEOR
Abb. 1.58. Darstellung der sechs Knotentypen eines GERT-Netzplans
F¨ ur jeden Vorgang (Pfeil) i ∈ E mit Startereignis ei und Endereignis e¯i eines GERT-Netzplans N = V, E; w, F ist eine Bewertung (wi , Fi ) gegeben. Dabei ist wi die (bedingte) Wahrscheinlichkeit f¨ ur die Ausf¨ uhrung des Vorgangs i unter der Bedingung, dass das zugeh¨orige Startereignis ei eintritt bzw. Knoten ei aktiviert wird. Fi ist die (bedingte) Verteilungsfunktion der f¨ ur die Ausf¨ uhrung von Vorgang i ben¨ otigten Dauer pi unter der Bedingung, dass i ausgef¨ uhrt wird. Da wir voraussetzen, dass die einzelnen Ausf¨ uhrungen eines Vorgangs voneinander unabh¨ angig sind, bezeichne pi im Weiteren die Zufallsvariable f¨ ur die Dauer einer beliebigen Ausf¨ uhrung des Vorgangs i. Aus der Definition der Ausgangsseiten eines Knotens folgt, dass f¨ ur einen DET-Knoten e und f¨ ur alle Vorg¨ ange i ∈ E mit Startereignis e die (bedingte) Ausf¨ uhrungswahrscheinlichkeit wi = 1 ist. F¨ ur einen ST-Knoten e gilt analog f¨ ur alle Vorg¨ ange i mit Startereignis e, dass i wi = 1 ist. Somit wird mit Wahrscheinlichkeit 1 nach der Aktivierung eines ST-Knotens, der keine Senke darstellt, genau ein von diesem Knoten ausgehender Vorgang ausgef¨ uhrt. Ein (zul¨assiger) GERT-Netzplan N = V, E; w, F ist nun ein Netzplan, in dem jeder Knoten zu einem der beschriebenen sechs Knotentypen geh¨ort,
104
1 Projektmanagement
jedem Vorgang i ∈ E ein Paar (wi , Fi ) zugeordnet ist und der ferner den folgenden sechs Voraussetzungen gen¨ ugt: 1. wi und Fi seien unabh¨ angig von der Anzahl der (bisherigen) Aktivierungen des zugeh¨ origen Startknotens e und der Anzahl der (bisherigen) Ausf¨ uhrungen des Vorgangs i. Außerdem seien alle Zufallsvariablen pi voneinander unabh¨ angig. Wir gehen im Folgenden stets davon aus, dass diese so genannte Markov-Eigenschaft erf¨ ullt ist. 2. Alle (bedingten) Ausf¨ uhrungswahrscheinlichkeiten seien positiv, d.h. wi > 0 f¨ ur alle i ∈ E, und die erwarteten Dauern seien p¯i < ∞ (P (pi < ∞) = 1) f¨ ur alle i ∈ E. Nehmen wir ferner an, dass jede Zyklenstruktur26 einen Ausgangspfeil besitzt, so wird gew¨ ahrleistet, dass jede Zyklenstruktur mit positiver Wahrscheinlichkeit verlassen wird. 3. Jeder Knoten mit mindestens zwei Vorg¨ angern, der nicht in einer Zyklenstruktur liegt, habe einen UND- oder IOR-Eingang. Jeder Knoten außerhalb einer Zyklenstruktur eines GERT-Netzplans wird daher h¨ochstens einmal aktiviert. 4. Jeder Knoten in einer Zyklenstruktur sei ein STEOR-Knoten. Somit kann jeder Knoten einer Zyklenstruktur mehrmals aktiviert werden. 5. Bei jeder Realisation des Netzplans werde h¨ochstens ein Eingangspfeil einer Zyklenstruktur ausgef¨ uhrt und dieser genau einmal. Unter Beachtung von Voraussetzung 4 besagt diese Voraussetzung, dass zu jedem Zeitpunkt der Projektausf¨ uhrung h¨ ochstens ein Knoten einer jeden Zyklenstruktur aktiv ist, d.h. der Knoten ist aktiviert worden, aber es wurde noch kein ausgehender Vorgang begonnen. Somit wird in jeder Projektausf¨ uhrung h¨ ochstens ein Ausgangspfeil einer jeden Zyklenstruktur genau einmal ausgef¨ uhrt. 6. Bezeichne Ω die Menge aller m¨ oglichen Realisationen eines GERT-Netzplans, dann existiere f¨ ur jeden UND-Knoten e ∈ V eine Netzplanrealisation ω ∈ Ω, bei der e aktiviert wird. Diese Voraussetzung stellt sicher, dass jeder Vorgang des Projektes bei mindestens einer Projektrealisierung ausgef¨ uhrt wird. Um die Zuweisung der Knotentypen bei der Darstellung von GERTNetzpl¨ anen zu vereinheitlichen, treffen wir die folgende bereits erw¨ahnte Vereinbarung. Ein Knoten e mit |P red(e)| ≤ 1 habe stets einen EOR-Eingang, und ein Knoten f mit |Succ(f )| ≤ 1 habe stets einen ST-Ausgang. Nachfolgend demonstrieren wir die Konstruktion eines GERT-Netzplans f¨ ur ein Bauprojekt.
26
Unter einer Zyklenstruktur in einem Netzplan N = V, E; w, F versteht man eine starke Zusammenhangskomponente von N , d.h. einen maximal stark zusammenh¨ angenden Teildigraphen von N f¨ ur den gilt, dass f¨ ur je zwei Knoten i und j des Teildigraphen i von j aus erreichbar ist und j von i aus (vgl. Neumann und Morlock, 2002, S. 183).
1.4 Projektplanung
105
Beispiel 1.30 (Modifikation von Beispiel 1.24). Zu Beginn des Bauprojektes ist das Fundament des Hauses bereits gegossen und es kann sofort mit den Arbeiten am Rohbau begonnen werden. An die Maurerarbeiten schließen sich unmittelbar der Einbau der Fenster sowie die Errichtung des Dachstuhls an. Sobald der Dachstuhl fertiggestellt wurde, kann das Dach des Hauses gedeckt werden. Wenn alle Fenster eingebaut wurden und das Dach gedeckt wurde, k¨ onnen die Heizungs- und Sanit¨ arinstallationen vorgenommen werden. Im Anschluss daran wird die korrekte Funktionsweise der Heizung u uft. Er¨ berpr¨ fahrungsgem¨ aß muss eine neu eingebaute Heizung in 10% aller F¨alle nochmals aufw¨ andig justiert werden, um die vorgegebenen Abgasnormen einzuhalten. In den restlichen 90% der F¨ alle, d.h. wenn die Heizung einwandfrei funktioniert, kann sofort mit dem Innenausbau des Hauses begonnen werden. Zuletzt wird die K¨ uche eingebaut. Grunds¨ atzlich kann zwischen zwei Typen von K¨ uchen unterschieden werden. Die Eigent¨ umer des Hauses haben neben der Standardbauweise (K¨ uche A) auch die M¨ oglichkeit, eine K¨ uche im amerikanischen Stil einzubauen (K¨ uche B), bei der der Herd, die Sp¨ ule, der Backofen usw. freistehend im Raum montiert werden. Erfahrungsgem¨aß entscheiden sich etwa die H¨ alfte aller Bauherren f¨ ur die modernere K¨ uche B. In Tabelle 1.37 sind alle Vorg¨ ange des Projektes sowie die zugeh¨origen deterministischen Ausf¨ uhrungsdauern angegeben. Der zugeh¨orige GERTNetzplan ist in Abbildung 1.59 dargestellt, wobei an den Pfeilen des Netzplans die entsprechende Vorgangsnummer und gegebenenfalls die (bedingte) Ausf¨ uhrungswahrscheinlichkeit des betreffenden Vorgangs angegeben sind. Tabelle 1.37. Vorg¨ ange des Beispielprojektes i∈E 1 2 3 4 5 6 7 8 9 10
Vorgangsbezeichnung Maurerarbeiten Fenster einsetzen Errichten des Dachstuhls Dachdeckerarbeiten Heizungs- und Sanit¨ arinstallationen ¨ Uberpr¨ ufung der Heizung Justierung der Heizung Innenausbau Einbau K¨ uche A Einbau K¨ uche B
Dauer (in Wochen) 3 1 2 1 5 1 1 4 1 2
Die wesentliche Aufgabe der Netzplantechniken MPM, CPM und PERT bestand in der Ermittlung der (erwarteten) fr¨ uhesten und sp¨atesten Startzeitpunkte f¨ ur alle Projektvorg¨ ange bzw. Projektereignisse sowie der Ermittlung der minimalen Projektdauer (bzw. deren Verteilung). F¨ ur GERT-Netzpl¨ane besteht ebenfalls die M¨ oglichkeit, Konzepte f¨ ur fr¨ uheste und sp¨ateste Aktivierungzeitpunkte von Knoten einzuf¨ uhren. Da bei GERT-Netzpl¨anen Projekter-
106
1 Projektmanagement 3
8 7
4 3 1 1
2
4
5
2
0,5
9
0,1
5
8 6
6
7 0,9 0,5
10 Legende: ei
i
9 e¯i
(wi ) Abb. 1.59. GERT-Netzplan f¨ ur das Beispielprojekt
eignisse in einer Realisation des Netzplans mehrfach oder aber auch gar nicht eintreten k¨ onnen, haben diese Gr¨ oßen aber eine andere Bedeutung und sind deutlich schwieriger zu berechnen als bei den vorgenannten Netzplantechniken.27 Daher wollen wir auf diese Konzepte nicht weiter eingehen. Stattdessen folgen wir den Ausf¨ uhrungen von Neumann (1990, Kap. 2), an die wir uns im Folgenden eng anlehnen. Demnach sind zur Evaluierung eines GERTNetzplans im Sinne der Zeitplanung die so genannten Aktivierungsfunktionen der Senken zu ermitteln, mit deren Hilfe sich dann Aussagen u ¨ber • •
die Aktivierungswahrscheinlichkeiten der Senken sowie die Verteilung der Projektdauer
treffen lassen. Man ist aber nach wie vor daran interessiert das Projekt m¨ oglichst rasch durchzuf¨ uhren, so dass die Annahme getroffen wird, dass mit der Ausf¨ uhrung eines Vorgang i immer so fr¨ uh als m¨oglich begonnen wird, d.h. sobald das Startereignis von Vorgang i, Knoten ei , aktiviert wurde. Seien Ke (t) die Anzahl der Aktivierungen und K e (t) die erwartete Anzahl der Aktivierungen von Knoten e w¨ ahrend einer Projektausf¨ uhrung im Zeitintervall [0, t]. Dann bezeichnen wir mit Ye (t) := K e (t) die Aktivierungsfunktion von Knoten e, die gerade die erwartete Anzahl an Aktivierungen im Intervall [0, t] angibt. Die Gr¨oße ze := lim Ye (t) t→∞
bezeichnen wir als Aktivierungszahl von e. F¨ ur Senken e eines GERT-Netzplans entspricht die erwartete Anzahl an Aktivierungen bis zum Zeitpunkt t 27
F¨ ur GERT-Netzpl¨ ane, die bestimmte Voraussetzungen erf¨ ullen, ist in Neumann und Steinhardt (1979, Kap. 2.5) beschrieben, wie sich fr¨ uheste und sp¨ ateste Startzeitpunkte der Projektvorg¨ ange bestimmen lassen.
1.4 Projektplanung
107
gerade der Aktivierungswahrscheinlichkeit des Knotens bis zum Zeitpunkt t. Sei Te der Aktivierungszeitpunkt von Senke e, dann gilt Ye (t) = P (Te ≤ t) . Somit entspricht in diesem Fall ze gerade der Aktivierungswahrscheinlichkeit qe von Knoten e. Sei Θ die Menge aller Senken des zugrunde liegenden GERT-Netzplans, bezeichne Θ ⊆ Θ, Θ = ∅, eine nichtleere Teilmenge dieser Senken und sei tΘ := (te )e∈Θ ein Vektor von Zeitpunkten te f¨ ur alle Senken e ∈ Θ. Die Grundlage der Zeitplanung f¨ ur GERT-Netzpl¨ ane bildet dann die Familie von Aktivierungsfunktionen Y (Θ) := {YΘ | ∅ = Θ ⊆ Θ} mit YΘ (tΘ ) := P [(Te ≤ te )e∈Θ ] . Die Berechnung dieser Funktionen ist im Allgemeinen aber sehr aufw¨andig und f¨ ur das Verst¨ andnis der nachfolgend geschilderten Sachverhalte prinzipiell nicht notwendig. Der interessierte Leser sei daher auf Neumann und Steinhardt (1979, Kap. 4.2) verwiesen. Es sei nur angemerkt, dass die Berechnung f¨ ur EOR-Netzpl¨ane, d.h. GERT-Netzpl¨ane, die nur STEOR- und DETEOR-Knoten besitzen, sehr viel einfacher ist, da sich diesen Netzpl¨anen homogene Markovsche Erneuerungprozesse zuordnen lassen und somit die Ye Werte mit Hilfe eines Integralgleichungssystem bestimmt werden k¨onnen; vgl. hierzu z.B. Nicolai (1980) und Neumann (1990, Kap. 3 und 4). In der Praxis werden die Aktivierungsfunktionen YΘ i.d.R. mit Simulationsmethoden bestimmt; vgl. bspw. Neumann und Steinhardt (1979, Kap. 7). Hat man die Aktivierungsfunktionen YΘ bestimmt, so ergibt sich die Wahrscheinlichkeit, dass alle Senken e ∈ Θ aktiviert werden, zu ur Θ = ∅ qΘ := lim YΘ (tΘ ) f¨ tΘ →∞
und die (bedingte) Verteilungsfunktion der Projektdauer unter der Bedingung, dass alle Senken e ∈ Θ aktiviert werden, zu GΘ (tΘ ) :=
YΘ (tΘ ) qΘ
f¨ ur qΘ > 0 .
Wir betrachten zur Illustration das folgende Beispiel (vgl. Neumann, 1990, S. 52 ff.). Beispiel 1.31. Gegeben sei der GERT-Netzplan in Abbildung 1.60. An den Pfeilen des Netzplans sind die Ausf¨ uhrungswahrscheinlichkeiten wi < 1 der Vorg¨ ange i ∈ E angegeben. Die Menge aller Senken ist Θ = {5, 6, 7}. Die Wahrscheinlichkeiten qΘ f¨ ur alle Θ ⊆ Θ, Θ = ∅ sind in Tabelle 1.38 angegeben.
108
1 Projektmanagement 2
5
1/4 1/3
1/2 1
3
6 2/3
1/4 4
7
Abb. 1.60. GERT-Netzplan ur alle Θ ⊆ Θ, Θ = ∅ Tabelle 1.38. qΘ f¨ Θ ∅ {5} {6} {7} {5, 6} {5, 7} {6, 7} {5, 6, 7} qΘ 1
2 3
1 2
7 12
1 2
1 4
1 4
1 4
Neben den Aktivierungswahrscheinlichkeiten f¨ ur die Senken ist man i.d.R. auch an der erwarteten Anzahl der Aktivierungen ze (Aktivierungszahl ) und der Aktivierungswahrscheinlichkeit qe f¨ ur jeden Knoten e ∈ V interessiert, f¨ ur die der folgende Satz gilt; zum Beweis siehe Neumann (1990, S. 80 ff.). Satz 1.32. F¨ ur alle Knoten e ∈ V eines GERT-Netzplans N = V, E; w, F gilt: 1. ze < ∞ und 2. ze = qe , falls e nicht in einer Zyklenstruktur von N liegt. Die Bestimmung der Aktivierungswahrscheinlichkeiten qe ist im Allgemeinen sehr aufw¨ andig. Anhand des folgenden Beispiels demonstrieren wir, wie man zur Bestimmung von qe grunds¨ atzlich vorgeht. Beispiel 1.33. Gegeben sei der GERT-Netzplan in Abbildung 1.61. Wir bestimmen die exakten Werte f¨ ur die Aktivierungswahrscheinlichkeiten der sechs Knoten. Den exakten Wert f¨ ur die Aktivierungswahrscheinlichkeit von Knoten 4 erh¨ alt man zum Beispiel, indem man die Wahrscheinlichkeiten f¨ ur die Netzplanrealisationen, in denen Knoten 4 aktiviert wird, aufsummiert, d.h. q4 :=
1 1 3 · 1 + · = 0,875. 4 4 2
Insgesamt erhalten wir auf diese Weise f¨ ur die Aktivierungswahrscheinlichkeiten aller Knoten des Netzplans die in Tabelle 1.39 angegebenen Werte.
1.4 Projektplanung
109
1 2
3/4
4
1
1 1
6
Legende:
1/2 1/4
3
1
5
ei
wi
e¯i
1/2 Abb. 1.61. GERT-Netzplan mit bedingten Ausf¨ uhrungswahrscheinlichkeiten Tabelle 1.39. Aktivierungswahrscheinlichkeiten der Ereignisse e ∈ V e∈V qe
1 1
2 0,75
3 0,25
4 0,875
5 0,875
6 0,75
Im Gegensatz zu allgemeinen GERT-Netzpl¨anen lassen sich f¨ ur EORNetzpl¨ ane die Aktivierungszahlen ze und Aktivierungswahrscheinlichkeiten qe f¨ ur alle Knoten e ∈ V mit Hilfe des folgenden Satzes leicht berechnen (vgl. Zimmermann, 1995, Kap. 1.2.2). Satz 1.34. Sei N = V, E; w, F ein EOR-Netzplan mit der Quelle r und sei wef die Aktivierungswahrscheinlichkeit des Vorgangs i mit Startereignis e und Endereignis f . Es gelte wef := 0, falls der zugeh¨orige Vorgang i nicht Bestandteil der Pfeilmenge E ist. Dann gilt mit zr := qr := 1 ur alle Knoten f ∈ V \ {r}. (1) zf = e∈V ze wef f¨ (2) F¨ ur jeden Knoten e ∈ V auf einer Zyklenstruktur l¨asst sich qf durch L¨osen des Gleichungssystems wf g , falls f = e qg = ∀g ∈ V \ {r} qf w ˜f g mit w ˜f g := 0, sonst f ∈V
qe := qe bestimmen. Liegt Knoten e ∈ V nicht auf einer Zyklenstruktur, so gilt nach Satz 1.32 qe = ze . Zur Illustration von Satz 1.34 betrachten wir das folgende Beispiel. Beispiel 1.35. Gegeben sei der EOR-Netzplan N = V, E; w, F in Abbildung 1.62. Um die Aktivierungswahrscheinlichkeiten qe der Knoten e ∈ V \ VC zu bestimmen, ist das Gleichungssystem (1) von Satz 1.34 zu l¨osen. Dabei enthalte VC alle Knoten f ∈ V , die auf einer Zyklenstruktur liegen.
110
1 Projektmanagement
z1 = 1 z2 = 1 + 0,3z3 + 0,4z4 z3 = z2 z4 = 0,6z3 z5 = 0,1z3 + 0,1z4 z6 = 0,5z4
0,1
5
0,3 Legende:
0,1 1
0,6
1
1
2
3
ei
4
wi
e¯i
0,5
0,4 6
Abb. 1.62. Bestimmung der Aktivierungswahrscheinlichkeiten qi
F¨ ur die Zyklenknoten VC := {2, 3, 4} sind die Gleichungssysteme (2) von Satz 1.34 zu l¨ osen. F¨ ur Knoten 4 erhalten wir z.B. das Gleichungssystem: q1 = 1 q2 = 1 + 0,3q3 q3 = q2 q4 = 0,6q3 q5 = 0,1q3 q6 = 0 Durch L¨ osen des Gleichungssystems ergibt sich q4 = 6/7. Nach Auswertung aller Gleichungssysteme erhalten wir die in Tabelle 1.40 dargestellte L¨osung. Tabelle 1.40. Aktivierungswahrscheinlichkeiten qe f¨ ur alle Ereignisse e ∈ V e∈V qe
1 1
2 1
3 1
4 0,86
5 0,35
6 0,65
1.4.5 Terminierung der Vorg¨ ange Mit Hilfe der in den Abschnitten 1.4.3 und 1.4.4 erl¨auterten Netzplantechniken MPM, CPM und PERT k¨ onnen f¨ ur alle Vorg¨ange i eines Projektes
1.4 Projektplanung
111
die im Hinblick auf die bestehenden Zeitbeziehungen (erwarteten) fr¨ uhestund sp¨ atestm¨ oglichen Startzeitpunkte ES i und LS i bestimmt werden. Gilt f¨ ur einen Vorgang ES i = LS i , d.h. der Gesamtpuffer TF i des Vorgangs ist gerade 0, dann startet der betrachtete Vorgang selbstverst¨andlich zum Zeitpunkt Si = ES i = LS i . In der Regel fallen der fr¨ uhest- und der sp¨atestm¨ogliche Startzeitpunkt f¨ ur einen Vorgang jedoch nicht zusammen, d.h. es gilt ES i < LS i . In diesem Fall m¨ ussen wir Vorgang i einen Startzeitpunkt Si ∈ [ES i , LS i ] als geplanten Zeitpunkt f¨ ur den Beginn seiner Ausf¨ uhrung zuweisen. Bei der Wahl eines geeigneten Startzeitpunktes Si sind zwei wesentliche Aspekte zu ber¨ ucksichtigen. Zum einen wollen wir die Startzeitpunkte so w¨ ahlen, dass ein bestimmtes vorgegebenes Zielkriterium bestm¨oglich erf¨ ullt ist. Außerdem muss bei der Bestimmung der Startzeitpunkte den vorgegebenen Zeitbeziehungen zwischen den Projektvorg¨angen und eventuell vorhandenen Ressourcenrestriktionen Rechnung getragen werden. Einige h¨ aufig verwendete Zielkriterien, z.B. die gleichm¨aßige Auslastung der Ressourcen oder die Maximierung des mit einem Projekt verbundenen Kapitalwertes, haben wir in Abschnitt 1.3.3 bereits erl¨autert. Die Bestimmung der Startzeitpunkte Si dergestalt, dass ein solches Zielkriterium bestm¨oglich oder zumindest gut“ erf¨ ullt wird, behandeln wir in Kapitel 2 ausf¨ uhrlich. ” Dabei m¨ ussen die Zeitbeziehungen zwischen den Projektvorg¨angen ber¨ ucksichtigt werden, da die Zeitfenster [ES i , LS i ], innerhalb derer ein Vorgang i starten kann, planungsabh¨angig sind. Das bedeutet, dass die Menge der m¨oglichen Startzeitpunkte [ES i , LS i ] eines noch nicht eingeplanten Vorgangs i von den Startzeitpunkten Sj der bereits eingeplanten Vorg¨ange j abh¨angt. Zur Illustration betrachten wir den MPM-Netzplan in Abbildung 1.63, f¨ ur den wir im Rahmen von Beispiel 1.21 die in Tabelle 1.41 angegebenen fr¨ uhesten und sp¨ atesten Startzeitpunkte ermittelt haben. 0
0
1 1 -1 -? 1 2 @ -2
0 0
1
@
-6
@0 @
@1 @ 0 @ R @ 5 2
3
@ R 3 @
4
1
- 4
Legende: pi i
δij
Abb. 1.63. MPM-Netzplan mit sechs Vorg¨ angen
pj
- j
112
1 Projektmanagement Tabelle 1.41. Fr¨ uheste und sp¨ ateste Startzeitpunkte i
0
1
2
3
4
5
ES i LS i
0 0
0 5
0 5
0 0
4 4
6 6
Aus Tabelle 1.41 k¨ onnen wir ersehen, dass wir lediglich f¨ ur die Vorg¨ange 1 und 2 noch die Startzeitpunkte S1 und S2 bestimmen m¨ ussen, da f¨ ur die verbleibenden Vorg¨ ange S0 = S3 = 0, S4 = 4 und S5 = 6 gelten muss. Wir entnehmen der Tabelle außerdem, dass S1 und S2 aus dem Intervall [0, 5] gew¨ ahlt werden m¨ ussen. Nehmen wir nun an, dass Vorgang 1 zum Zeitpunkt 1 startet, d.h. S1 = 1. Dann ¨ andert sich der sp¨ ateste Startzeitpunkt LS 2 wegen max des H¨ ochstabstandes T12 = 2 zwischen den Vorg¨angen 1 und 2 zu LS 2 = 3, d.h. wir m¨ ussen S2 aus dem Intervall [0, 3] w¨ ahlen. Wie wir in Abschnitt 1.4.2 gesehen haben, ben¨otigt ein Vorgang bei seiner Durchf¨ uhrung nicht nur Zeit, sondern i.d.R. auch eine oder mehrere erneuerbare Ressourcen mit begrenzten Ressourcenkapazit¨aten. In der Praxis werden nicht beliebig viele Vorg¨ ange gleichzeitig auf solche Ressourcen zugreifen k¨ onnen. Bei der Terminierung der Projektvorg¨ange m¨ ussen neben den Zeitbeziehungen auch Ressourcenrestriktionen beachtet werden. In Kapitel 3 widmen wir uns daher der Bestimmung von Startzeitpunkten Si unter Zeitund Ressourcenrestriktionen. Dabei gehen wir davon aus, dass als Zielkriterium die in der Praxis vorherrschende Minimierung der ben¨otigten Projektdauer verfolgt wird.
1.5 Projektrealisation und -abschluss Im Anschluss an die Projektplanung erfolgt die eigentliche Realisierung des zugrunde liegenden Projektes. Hier besteht die vornehmliche Aufgabe des Pro¨ jektmanagements in der Uberwachung des planm¨aßigen Projektfortschritts (vgl. Abschnitt 1.5.1). Werden im Zuge dessen Abweichungen des tats¨achlichen vom geplanten Projektverlauf festgestellt, so muss das Projektmanagement geeignete Reaktionsmaßnahmen ergreifen. Nachdem ein Projekt abgeschlossen wurde, erfolgt schließlich eine Projektr¨ uckschau, auf die wir in Abschnitt 1.5.2 kurz eingehen. 1.5.1 Projekt¨ uberwachung Nachdem mit der Durchf¨ uhrung eines Projektes begonnen wurde, muss der planm¨ aßige Projektfortschritt laufend kontrolliert werden. Zu diesem Zweck m¨ ussen in regelm¨ aßigen Abst¨ anden Daten erhoben werden, die die aktuelle Situation des betrachteten Projektes widerspiegeln. In die Projekt¨ uberwachung
1.5 Projektrealisation und -abschluss
113
sind alle quantifizierbaren Gr¨ oßen einzubeziehen, insbesondere die Zeit (Terminkontrolle) sowie Aufwands- und Kostengr¨oßen (Aufwands- bzw. Kostenkontrolle). Um eventuelle Abweichungen vom geplanten Projektablauf erkennen zu k¨ onnen, werden diese Ist-Werte den urspr¨ unglich geplanten Werten (Plan-Werten) gegen¨ ubergestellt. Kommt es zu Abweichungen vom Plan, so erfolgt eine erneute Projektplanung auf Grundlage der aktualisierten Daten. Besteht die Gefahr, dass wichtige Abschlusstermine nicht eingehalten oder dass bestimmte Kostenziele u ¨ berschritten werden, muss das Projektmanagement Maßnahmen entwickeln, um auf solche Abweichungen geeignet reagieren zu k¨ onnen. Im Rahmen der Terminkontrolle muss f¨ ur jedes Teilprojekt oder f¨ ur jeden Projektvorgang der aktuelle Bearbeitungsfortschritt erhoben werden. Die f¨ ur die Durchf¨ uhrung eines Vorgangs verantwortlichen Mitarbeiter melden dazu in regelm¨ aßigen Abst¨ anden an das Projektmanagement, ob mit der Bearbeitung des Vorgangs bereits begonnen wurde, zu wie viel Prozent der Vorgang bereits abgeschlossen wurde und zu welchem Termin mit dem Beginn und dem Abschluss des Vorgangs zu rechnen ist. Es werden also sowohl Ist-Gr¨oßen als auch erwartete Gr¨ oßen erhoben. Die einfache Gegen¨ uberstellung dieser Werte f¨ ur alle Projektvorg¨ ange liefert sofort Informationen dar¨ uber, ob ein Projekt im Zeitplan liegt. Diese Informationen lassen sich graphisch als Termintrendkurve – wie in Abbildung 1.64 dargestellt – aufbereiten. Juli
Plantermine
Juni
4
Mai April
3
M¨ arz Feb.
2 1
Jan. Jan.
Feb.
M¨ arz April
Mai
Juni
Juli
Isttermine Abb. 1.64. Termintrendkurve
Eine solche kompakte Darstellung aller wesentlichen Termininformationen erlaubt es dem Projektmanagement, Trends f¨ ur die zuk¨ unftige Entwicklung der Projekttermine zu identifizieren. An den Achsen der Grafik werden die
114
1 Projektmanagement
Ist- und die Plantermine aufgetragen. Ein Projektvorgang wird in die Grafik eingetragen, indem man das Ist- und das Plandatum f¨ ur seinen Beginn und sein Ende abtr¨ agt. Anschließend verbindet man die beiden resultierenden den Vorgangsstart und das Vorgangsende repr¨ asentierenden Punkte in der Grafik durch eine Gerade. In Abbildung 1.64 sind auf diese Weise vier Vorg¨ange eingezeichnet. Sowohl der Beginn als auch das Ende von Vorgang 1 liegen genau auf der Winkelhalbierenden; Vorgang 1 befindet sich daher exakt im Plan. Vorgang 2 startet zwar p¨ unktlich, wird aber sp¨ater als geplant abgeschlossen. Dies kann man sofort erkennen, da die Steigung der entsprechenden Geraden geringer ist als die der Winkelhalbierenden. Vorgang 3 startet sp¨ater als geplant, es ist aber nicht mit weiteren Verz¨ ogerungen zu rechnen, da die Vorgang 3 entsprechende Gerade parallel zur Winkelhalbierenden verl¨auft. Schließlich startet Vorgang 4 ebenfalls sp¨ ater als urspr¨ unglich angenommen, wird aber z¨ ugiger als geplant durchgef¨ uhrt, so dass Vorgang 4 p¨ unktlich beendet wird. Die Steigung der entsprechenden Geraden ist gr¨oßer als die der Winkelhalbierenden. Als wesentliche Kennzahl f¨ ur die terminliche Situation eines Vorgangs wird im Rahmen der Terminkontrolle die Termintreue verwandt. Bezeichne TiP den geplanten Abschlusszeitpunkt von Vorgang i, TiI den tats¨achlichen bzw. den erwarteten Abschlusszeitpunkt und ΔTi = TiI − TiP somit den (tats¨achlichen oder erwarteten) Terminverzug f¨ ur den Abschluss von i. Dann gibt T Ti =
TiP − ΔTi TiP
die Termintreue von Vorgang i an. Bei Termin¨ uberschreitungen nimmt T Ti Werte kleiner 1 an; bei Terminunterschreitungen gilt T Ti > 1. Die Termintreue des gesamten Projektes ermittelt sich als Summe aller TermintreueKennzahlen geteilt durch die Anzahl der betrachteten Vorg¨ange. Da bei der Terminkontrolle auch erwartete Termine f¨ ur den Beginn oder den Abschluss eines Vorgangs erhoben werden, muss man bei der Interpretation dieser antizipierten Termine Vorsicht walten lassen. Dies gilt umso mehr f¨ ur langfristige Projekte. Wurde bei einem solchen Projekt z.B. der erwartete Eintrittszeitpunkt eines einzelnen weit in der Zukunft liegenden Meilensteins bereits mehrfach verz¨ ogert, so ist meist auch zuk¨ unftig mit weiteren Verz¨ ogerungen zu rechnen. Eine singul¨ are Verz¨ogerung hingegen f¨allt bei einem Projekt mit mehrj¨ ahriger Laufzeit kaum ins Gewicht. Das Projektmanagement sollte daher den Verlauf der gemeldeten Meilensteintermine bei der Bestimmung eines erwarteten Eintrittszeitpunktes im Auge behalten. Hierbei wird das Management durch eine Meilensteintrendanalyse, wie sie in Abbildung 1.65 dargestellt ist, unterst¨ utzt. Auf der Ordinate der Grafik sind die erwarteten Eintrittszeitpunkte einzelner Meilensteine abgetragen, die z.B. dem Abschluss wichtiger Teilprojekte entsprechen. Auf der Abszisse sind die Berichtstermine dargestellt, zu denen die verantwortlichen Mitarbeiter eine Prognose f¨ ur die erwarteten Eintrittszeitpunkte abgeben. Das Projektmanagement kann mit Hilfe einer solchen
1.5 Projektrealisation und -abschluss
115
Nov. Okt.
Sept.
Aug.
1
Meilensteintermine
Juli
2
Juni Mai
3
April
M¨ arz
Feb. Jan. Jan. Feb. M¨ arz April Mai
Juni
Juli Aug. Sept. Okt. Nov.
Berichtstermine Abb. 1.65. Meilensteintrendanalyse
Grafik sofort erfassen, wie sich die gemeldeten Eintrittszeitpunkte im Zeitverlauf entwickeln. F¨ ur Meilenstein 1 beispielsweise schwanken die gemeldeten Eintrittszeitpunkte relativ dicht um den geplanten Eintrittszeitpunkt herum und der Verlauf der entsprechenden Kurve ist n¨aherungsweise konstant. Somit kann davon ausgegangen werden, dass der geplante Termin f¨ ur diesen Meilenstein in etwa eingehalten wird. Der Verlauf der Meilenstein 2 entsprechenden Kurve ist monoton fallend. Dies deutet darauf hin, dass Meilenstein 2 fr¨ uher als zuletzt angenommen eintritt. F¨ ur Meilenstein 3 hingegen hat die Kurve einen deutlich steigenden Verlauf. Es ist daher mit weiteren Verz¨ogerungen bei der Durchf¨ uhrung des entsprechenden Teilprojektes bzw. Vorgangs zu rechnen. Aus dem Verlauf der einzelnen Kurven in einer Meilensteintrendanalyse kann also ein Trend f¨ ur die weitere Terminentwicklung eines Meilensteins herausgelesen werden. Bei sehr langen Projekten und vielen Berichtsterminen, d.h. bei einer hinreichend großen Datenbasis, bietet es sich an, statistische Methoden zur Zeitreihenanalyse hinzuzuziehen, um eine quantitativ fundierte Sch¨ atzung des Eintrittszeitpunktes der jeweiligen Meilensteine zu erhalten. Analog zur Terminkontrolle werden bei der Aufwands- bzw. Kostenkontrolle regelm¨ aßig die tats¨ achlichen oder erwarteten Aufwands- und Kostengr¨oßen
116
1 Projektmanagement
dem geplanten Aufwand und den geplanten Kosten gegen¨ ubergestellt. Dabei bieten sich grunds¨ atzlich vier M¨ oglichkeiten der Gegen¨ uberstellung an (vgl. Burghardt, 2000, Kapitel 4.2.4). Im einfachsten Fall wird der Ist-Aufwand mit dem gesamten Plan-Aufwand verglichen (vgl. Abb. 1.66). Der betrachtete Ist-Aufwand liegt somit die meiste Zeit unter dem Plan-Aufwand. Da eine ¨ Uberschreitung des Plan-Aufwandes jedoch i.d.R. erst zum Projektende hin eintritt, ist ein solcher absoluter Vergleich f¨ ur Kontrollzwecke wenig aussagekr¨ aftig. Geht man davon aus, dass der aus der Projektdurchf¨ uhrung resultierende Aufwand gleichm¨ aßig verteilt u ¨ ber die Zeit anf¨allt, so wird h¨aufig ein linearer Vergleich durchgef¨ uhrt (vgl. Abb. 1.67). Auf diese Weise werden Abweichungen des Ist-Aufwandes vom Plan-Aufwand fr¨ uher erkannt. Allerdings ist die Annahme, dass der Aufwand eine lineare Funktion der Zeit darstellt, in der Praxis meist nicht zutreffend und ein linearer Vergleich somit nur eingeschr¨ ankt empfehlenswert. Aufwand Plan
Aufwand Ist
Ist Plan
Berichtstermine Abb. 1.66. Absoluter Vergleich
Berichtstermine Abb. 1.67. Linearer Vergleich
Bei einem so genannten aufwandskorrelierten Vergleich wird der Plan-Aufwand f¨ ur eine bestimmte Aufwandsgr¨ oße genau bestimmt (vgl. Abb. 1.68). Im Rahmen der Projektplanung (vgl. Abschnitt 1.4.5) haben wir f¨ ur jeden Vorgang i seinen Startzeitpunkt Si bestimmt. Ebenso kennen wir aus der Ressourcen- und Kostenanalyse (vgl. Abschnitt 1.4.2) die Ressourceninanspruchnahme jedes Vorgangs und die hieraus resultierenden Kosten. Mit diesen Informationen l¨ asst sich genau ermitteln, zu welchem Zeitpunkt bei einem plangem¨ aßen Projektablauf mit welchem Aufwand zu rechnen ist. Dieser Plan-Aufwand wird dann dem Ist-Aufwand gegen¨ ubergestellt. Nachteilig an diesem Vorgehen ist, dass einmalige gr¨ oßere Abweichungen des Ist-Aufwandes vom Plan-Aufwand dazu f¨ uhren, dass der Plan-Aufwand in der Zukunft dauerhaft u ¨ ber- oder unterschritten wird und eine ordnungsgem¨aße Aufwandskontrolle f¨ ur die nachfolgenden Berichtstermine somit nicht mehr gew¨ahrleistet ist. Aus diesem Grund werden bei einem plankorrigierten Vergleich die Planwerte laufend korrigiert, indem ausgehend von den jeweiligen Istwerten der noch zu erbringende Restaufwand bzw. die zuk¨ unftig anfallenden Restkosten
1.5 Projektrealisation und -abschluss
117
gesch¨ atzt werden (vgl. Abb. 1.69). Allerdings ist dieses Vorgehen aufgrund der regelm¨ aßigen Restaufwandssch¨ atzungen sehr aufw¨andig. Aufwand
Aufwand Ist
Ist Plan
Berichtstermine Abb. 1.68. Aufwandskorrelierter Vergleich
Plan
Berichtstermine Abb. 1.69. Plankorrigierter Vergleich
Eine wirklich sachgerechte Aufwandskontrolle ist jedoch nur m¨oglich, wenn man die jeweils aktuelle Terminsituation in die Kontrolle miteinbezieht. Eine isolierte Aufwandskontrolle kann n¨ amlich zu falschen Ergebnissen f¨ uhren. Ist z.B. ein Teilprojekt gegen¨ uber dem Plan beschleunigt durchgef¨ uhrt worden, dann f¨ allt naturgem¨ aß auch ein h¨ oherer als der urspr¨ unglich angenommene Aufwand zu einem fr¨ uheren als dem geplanten Zeitpunkt an. In Abbildung 1.70 ist dieser Sachverhalt illustriert. Wie in Abbildung 1.68 ist dazu der aufwandskorrelierte Plan-Aufwand abgetragen, wobei jedoch drei herausragende Meilensteine, die z.B. den Abschluss wichtiger Teilprojekte repr¨asentieren, auf der Kurve aufgetragen sind. Der Ist-Aufwand wird nun analog aufgetragen, d.h. einschließlich der drei Meilensteine. An der Verschiebung der Meilensteine in Abbildung 1.70 k¨ onnen wir nun sofort die Entwicklung der Termin- und Aufwandssituation des Projektes erkennen. Meilenstein 1 wurde beispielsweise sp¨ ater als geplant erreicht; daf¨ ur f¨ uhrte die Durchf¨ uhrung des zugeh¨ origen Teilprojektes zu einem niedrigeren Aufwand als urspr¨ unglich geplant. Meilenstein 2 trat fr¨ uher als erwartet ein, und die Realisierung des entsprechenden Teilprojektes f¨ uhrte zu einem wesentlich h¨oheren Aufwand. Meilenstein 3 wurde ebenso wie Meilenstein 1 sp¨ater als geplant und mit einem niedrigeren Aufwand erreicht. Aus der Position des dritten Meilensteins gegen¨ uber seiner geplanten Situation k¨ onnen wir unmittelbar die kumulierte Termin- und Aufwandsabweichung des Projektes ablesen. Die Darstellung als Zeit-Aufwands-Kurve unterst¨ utzt das Projektmanagement auch bei Identifizierung der Verantwortlichkeiten f¨ ur einzelne Termin- oder Aufwandsabweichungen. Dazu vergleicht man die kumulierten Termin- und Aufwandsabweichungen vor Beginn eines Teilprojektes mit den kumulierten Abweichungen ¨ bei Abschluss des Teilprojektes. F¨ ur die Uberschreitung des geplanten Aufwandes ist im Beispiel alleine das zweite Teilprojekt und damit der mit der Durchf¨ uhrung dieses Teilprojektes betraute Mitarbeiter verantwortlich. Die
118
1 Projektmanagement
beiden anderen Teilprojekte wurden sogar mit einem geringeren Aufwand als dem geplanten abgeschlossen. Die Verantwortung f¨ ur die kumulierte Terminabweichung m¨ ussen sich hingegen die Verantwortlichen des ersten und dritten Teilprojektes teilen, w¨ ahrend das zweite Teilprojekt fr¨ uher als geplant fertiggestellt wurde. Aufwand
Aufwandsabweichung
3
3
2
Plan Ist
2
1
Terminabweichung
100%
1 100%
Zeit
Abb. 1.70. Zeit-Aufwands-Kurve
Geht das Projektmanagement auf Grundlage der Termin- und Aufwandsbzw. Kostenkontrolle davon aus, dass ein Projekt nicht rechtzeitig oder zu h¨oheren Kosten bzw. mit einem h¨ oheren Aufwand abgeschlossen wird, m¨ ussen geeignete Gegenmaßnahmen ergriffen werden. Wie wir in Abschnitt 1.4.2 gesehen haben, h¨ angen der Aufwand eines Vorgangs und die resultierenden Kosten i.d.R. von der Dauer eines Vorgangs ab. Aufgabe ist es nun, die noch nicht abgeschlossenen Projektvorg¨ ange so zu beschleunigen oder zu verz¨ogern, dass das Projekt rechtzeitig abgeschlossen werden kann und der resultierende Aufwand den geplanten Aufwand nicht u ¨ bersteigt. Unterstellt man, wie in Abbildung 1.21 skizziert, einen u-f¨ ormigen Verlauf der Aufwands- bzw. Kostenfunktion in Abh¨ angigkeit von der Vorgangsdauer, so f¨ uhrt ausgehend von der aufwandsminimalen Vorgangsdauer die Beschleunigung eines Vorgangs zu einer Erh¨ ohung des resultierenden Aufwands und umgekehrt. Dieses so genannte Time-Cost-Tradeoff-Problem ist Gegenstand von Kapitel 4 und wird dort ausf¨ uhrlich behandelt. Im Folgenden beschreiben wir aber eine sehr einfache Vorgehensweise, um die rechtzeitige Fertigstellung eines Projektes bei m¨oglichst geringen Zusatzkosten zu erreichen. Ausgehend von den geplanten Vorgangsdauern wird die Vorgangsdauer eines kritischen und noch nicht ab-
1.5 Projektrealisation und -abschluss
119
geschlossenen Vorgangs um eine Zeiteinheit reduziert. Dazu w¨ahlen wir denjenigen Vorgang, dessen Beschleunigung zu den geringsten Zusatzkosten f¨ uhrt. Da sich der kritische Weg im Netzplan hierdurch ¨andern kann, bestimmen wir erneut den fr¨ uhesten Projektendtermin und den zugeh¨origen kritischen Weg. Diese Schritte werden solange wiederholt, bis das Projektende zum geplanten Zeitpunkt erreicht wird oder kein Vorgang mehr beschleunigt werden kann. Da eine Beschleunigung der Projektvorg¨ ange jedoch meist mit Zusatzkosten verbunden ist, kommt es im Zuge der geschilderten Vorgehensweise zu einer ¨ Uberschreitung der urspr¨ unglich geplanten Kosten. Das Projektmanagement muss daher geeignet zwischen der f¨ ur die Durchf¨ uhrung ben¨otigten Zeit und den hieraus resultierenden Kosten abw¨ agen. 1.5.2 Projektr¨ uckschau Nach Abschluss eines Projektes sollte stets eine systematische Projektr¨ uckschau stattfinden. In dieser letzten Phase des Projektlebenszyklus wird zun¨ achst die durch das Projekt erbrachte Leistung an den Auftraggeber u ¨ bergeben. Insbesondere bei Produktentwicklungsprojekten findet an dieser Stelle ¨ eine u.U. recht umfangreiche Ubergabeprozedur statt, in der das entwickelte Produkt z.B. einige letzte Abnahmetests durchl¨auft. Im Anschluss findet eine Projektabschlussanalyse statt, die dazu dient, die im Rahmen des Projektes gewonnenen Erfahrungen f¨ ur das ausf¨ uhrende Unternehmen zu sichern. Wesentlicher Bestandteil einer Projektabschlussanalyse ist eine ausf¨ uhrliche Nachkalkulation des gesamten Projektes. Gr¨ oßen von besonderer Bedeutung sind hier z.B. die Vorgangsdauern und wichtige Projekttermine, die Aufw¨ande und Kosten der einzelnen Vorg¨ ange sowie die Wirtschaftlichkeit des Projektes. Alle diese Gr¨ oßen werden dann den jeweiligen Plan-Werten gegen¨ ubergestellt und eventuelle Abweichungen werden auf ihre Ursachen und Auswirkungen hin untersucht. Die aus der Abweichungsanalyse gewonnenen Erkenntnisse und die wichtigsten Projektgr¨ oßen sollten dann in einer geeigneten Projektdatenbank abgelegt werden, um bei zuk¨ unftigen Projekten auf diese Erfahrungswerte zur¨ uckgreifen zu k¨ onnen.
Erg¨ anzende Literatur Burghardt (1999) Burghardt (2000) Diethelm (2000) Diethelm (2001) Elmaghraby (1977) Lehner (2001) Litke (1995) Kerzner (2003) Klein (2000)
Maylor (2003) Moder et al. (1983) Neumann (1975) Neumann (1987) Neumann (1990) REFA (1974) Schwarze (2001) Streich et al. (1996) Turner (1999)
2 Projektplanung unter Zeitrestriktionen
F¨ ur die Ausf¨ uhrung eines Vorgangs werden in der Regel Zeit und Ressourcen ben¨ otigt. In Abschnitt 1.4.2 haben wir zwei unterschiedliche Arten von Ressourcen kennengelernt, von denen wir in diesem Kapitel nur die erneuerbaren Ressourcen betrachten, wie z.B. Maschinen oder Mitarbeiter.1 Wir nehmen an, dass die ben¨ otigten Ressourcen in ausreichender“ Menge zur Verf¨ ugung ” stehen, d.h. der kumulierte Ressourcenbedarf aller simultan ausf¨ uhrbaren Vorg¨ ange ist geringer als die vorhandene Ressourcenkapazit¨at. Somit stellen die gegebenen Kapazit¨ aten der ben¨ otigten Ressourcen keine Einschr¨ankungen dar, m¨ ussen aber gegebenenfalls bei einer zielgerichteten Terminierung der Vorg¨ ange ber¨ ucksichtigt werden. Wir betrachten im Folgenden das Problem der Projektplanung unter Zeitrestriktionen, wobei die Terminierung der Projektvorg¨ange unter Beachtung der durch einen MPM-Netzplan gegebenen Zeitbeziehungen erfolgt. Dabei gehen wir, wenn nichts anderes gesagt wird, immer von allgemeinen Zeitbeziehungen in Form von Mindest- und H¨ ochstabst¨anden vom Typ Start-Start aus. Aufgabe der Projektplanung unter Zeitrestriktionen ist die Terminierung der Vorg¨ ange eines gegebenen Projektes, so dass ein vorgegebenes projektbezogenes Ziel (vgl. Abschnitt 1.3.3) bestm¨ oglich erf¨ ullt wird und gleichzeitig die Startzeitpunkte der Vorg¨ ange die vorgegebenen Zeitbeziehungen einhalten. In Abschnitt 2.1 stellen wir zun¨ achst eine mathematische Modellformulierung des Projektplanungsproblems unter Zeitrestriktionen vor. In Abschnitt 2.1.1 formulieren wir dann f¨ ur praxisrelevante Ziele eine geeignete mathematische Zielfunktion. F¨ ur lineare Zielfunktionen stellt das entsprechende Optimierungsproblem ein lineares Programm (LP) dar. F¨ ur nichtlineare Zielfunktion zeigen wir in den Abschnitten 2.1.2 und 2.1.3, wie sich das resultierende nichtlineare Optimierungsproblem in ein LP bzw. mit Hilfe einer zeitindexbasierten Formulierung in ein gemischt-ganzzahliges lineares Programm (MIP) u uhren l¨ asst. In Abschnitt 2.1.4 beschreiben wir den ¨ berf¨ 1
Auf die Betrachtung von nicht-erneuerbaren Ressourcen wird, aus den in Abschnitt 1.4.2 genannten Gr¨ unden, verzichtet.
122
2 Projektplanung unter Zeitrestriktionen
zul¨ assigen Bereich des Projektplanungsproblems unter Zeitrestriktionen. Im Anschluss geben wir f¨ ur die behandelten Zielfunktionen so genannte ausgezeichnete Punkte des zul¨ assigen Bereichs an, die potentielle Kandidaten f¨ ur eine optimale L¨ osung darstellen (vgl. Abschnitt 2.1.5). In Abschnitt 2.2 stellen wir exakte L¨ osungsverfahren vor. Diese bestimmen in Abh¨ angigkeit von der betrachteten Zielfunktion unter den jeweiligen ausgezeichneten Punkten eine optimale L¨ osung. Da die Bestimmung einer optimalen L¨ osung f¨ ur einzelne Zielfunktionen sehr aufw¨andig ist, diskutieren wir in Abschnitt 2.3 ein heuristisches L¨ osungsverfahren, das eine N¨aherungsl¨osung f¨ ur das jeweils zugrunde liegende Problem erzeugt. Abschließend wird in Abschnitt 2.4 ein Anwendungsbeispiel f¨ ur die Projektplanung unter Zeitrestriktionen behandelt.
2.1 Problemformulierung Bei der Terminierung der Vorg¨ ange i ∈ V eines Projektes unter Beachtung vorgegebener Mindest- und H¨ ochstabst¨ande sind den Vorg¨angen i = 0, 1, . . . , n + 1 Startzeitpunkte Si zuzuordnen, so dass f¨ ur jeden Pfeil i, j ∈ E eine Zeitbeziehung der Form Sj − Si ≥ δij , eingehalten wird. Gesucht wird ein Vektor von Startzeitpunkten S = (S0 , S1 , . . . , Sn+1 ), der eine vorgegebene Zielfunktion f (S), f : Rn+2 ≥0 → R, optimiert und alle durch den Projektnetzplan vorgegebenen Zeitbeziehungen einh¨ alt. Wie in Abschnitt 1.4.3 gehen wir davon aus, dass zur Einhaltung einer vorgegebenen maximalen Projektdauer d ein Pfeil n + 1, 0 mit der Bewertung δn+1,0 = −d in der Pfeilmenge E des Netzplans enthalten ist. Definition 2.1 (Zeitzul¨ assiger Schedule). Ein Vektor von Startzeitpunkten S = (S0 , S1 , . . . , Sn+1 ) mit S0 = 0 und Si ∈ R≥0 f¨ ur alle Vorg¨ange i ∈ V \{0} eines Projektes wird Schedule genannt. Einen Schedule, der zus¨atzlich die Zeitbeziehungen Sj − Si ≥ δij f¨ ur alle i, j ∈ E erf¨ ullt, bezeichnen wir als zeitzul¨assig. Zur Darstellung von Schedules haben sich in der Literatur zur Projektplanung so genannte Gantt-Charts etabliert. Jeder reale Vorgang (Vorgang mit positiver Dauer) wird dabei als Rechteck u ¨ber der Zeitachse dargestellt, wobei die L¨ ange des Rechtecks der Dauer des jeweiligen Vorgangs entspricht. An der Lage des Rechtecks u ¨ber der Zeitachse kann abgelesen werden, wann der zugeh¨ orige Vorgang beginnt bzw. endet. Fiktive Vorg¨ange wie der Projektstart, das Projektende und Meilensteine werden nicht in einen Gantt-Chart aufgenommen, da sie eine Dauer von 0 besitzen. Beispiel 2.2. Wir betrachten das in Abbildung 2.1 dargestellte Projekt mit vier realen Vorg¨ angen. Die Einhaltung der maximalen Projektdauer d = 6
2.1 Problemformulierung
123
0
0
1 2 -1 -? 1 2 @ -2
0 0
@1 @ 0 R @ 5
1
@
-6
@0 @ 3 R 3 @
2
1 4 4
Legende: pj pi δij j i
Abb. 2.1. Projektnetzplan mit vier realen Vorg¨ angen
wird durch den Pfeil 5, 0 mit δ50 = −6 im Projektnetzplan gew¨ahrleistet. F¨ ur den zeitzul¨ assigen Schedule S = (0, 0, 2, 0, 4, 6) erhalten wir den in Abbildung 2.2 dargestellten Gantt-Chart. 4 3 2
- t
1 0
1
2
3
4
5
6
Abb. 2.2. Gantt-Chart f¨ ur Schedule S
Gantt-Charts geben weder Auskunft u ¨ ber die Ressourceninanspruchnahme der einzelnen Projektvorg¨ ange noch u ¨ber den gesamten Ressourcenbedarf eines Projektes. Hierf¨ ur eignen sich so genannte Ressourcenprofile, die angeben, wie viele Einheiten jeder ben¨ otigten Ressource zu einem Zeitpunkt t ∈ [0, d] in Anspruch genommen werden. Seien R die Menge der erneuerbaren Ressourcen, die f¨ ur die Projektdurchf¨ uhrung ben¨ otigt werden, und rik ∈ Z≥0 die Ressourceninanspruchnahme von Vorgang i ∈ V an Ressource k ∈ R, wobei wir davon ausgehen, dass die Ressourceninanspruchnahme rik w¨ ahrend der gesamten Ausf¨ uhrungszeit pi von Vorgang i konstant ist. F¨ ur fiktive Vorg¨ ange j ∈ V gilt pj := 0 und rjk := 0. Ein Vorgang i wird im Ressourcenprofil der Ressource k als Rechteck mit einer Breite von pi Zeiteinheiten und einer H¨ohe von rik Ressourceneinheiten dargestellt. In Abbildung 2.3 skizzieren wir ein Ressourcenprofil f¨ ur zwei Vorg¨ ange, welches der fett eingezeichneten Treppenfunktion entspricht. Um zu gew¨ ahrleisten, dass zwei direkt hintereinander ausf¨ uhrbare Vorg¨ange nicht um eine Ressource konkurrieren, nehmen wir an, dass ein Vorgang die von ihm ben¨ otigten Ressourcen zu seinem Startzeitpunkt in Anspruch nimmt und zu seinem Endzeitpunkt wieder freigibt. Man kann sich gewissermaßen vorstellen, dass Vorgang i zum Zeitpunkt Sj die von ihm belegten Ressourcen sofort
124
2 Projektplanung unter Zeitrestriktionen
in der ben¨ otigten H¨ ohe an Vorgang j u ¨ bergibt und somit nur im Intervall [Si , Si + pi [ in Ausf¨ uhrung ist. Dies ist in Abbildung 2.3 durch den leeren und den ausgef¨ ullten Kreis an den Sprungstellen des Ressourcenprofils kenntlich gemacht, wobei der ausgef¨ ullte Kreis den Funktionswert an einer Sprungstelle symbolisiert.
6
r
rik
r 0
pi
- b r
Vorgang i
Vorgang j
? rq Si
pj
b
6 rjk r ?
Sj
-t
d
Abb. 2.3. Vorg¨ ange mit Ressourcenbedarf an Ressource k ∈ R
F¨ ur einen gegebenen Schedule S bezeichne A(S, t) := {i ∈ V |Si ≤ t < Si + pi } die Menge der realen Vorg¨ ange i ∈ V , die sich zum Zeitpunkt t in Ausf¨ uhrung befinden (auch aktive Menge genannt).2 Ferner sei rk (S, t) := rik i∈A(S,t)
die gesamte Menge an Ressource k ∈ R, die zum Zeitpunkt t zur Ausf¨ uhrung aller Vorg¨ ange i ∈ A(S, t) ben¨ otigt wird. Das Ressourcenprofil f¨ ur einen gegebenen Schedule S und eine Ressource k ∈ R stellt somit eine rechtsseitig stetige Treppenfunktion rk (S, ·) : [0, d] → R≥0 dar. Beispiel 2.3. Wir betrachten das Projekt aus Abbildung 2.1 und nehmen an, dass zur Ausf¨ uhrung der einzelnen Vorg¨ ange zwei erneuerbare Ressourcen ben¨ otigt werden. Abbildung 2.4 zeigt den entsprechend erweiterten Projektnetzplan, wobei unterhalb der Vorg¨ ange die Ressourceninanspruchnahme des betreffenden Vorgangs an den Ressourcen 1 und 2 angegeben ist. F¨ ur den zeitzul¨ assigen Schedule S = (0, 0, 2, 0, 4, 6) erhalten wir die in Abbildung 2.5 dargestellten Ressourcenprofile. Nachfolgend geben wir eine allgemeine mathematische Formulierung des Projektplanungsproblems unter Zeitrestriktionen f¨ ur eine noch zu spezifizierende Zielfunktion f (S) an: ⎫ Minimiere f (S) ⎪ ⎪ ⎪ u.d.N. Sj − Si ≥ δij ( i, j ∈ E) ⎪ ⎬ S0 = 0 (2.1) ⎪ ⎪ Si ≥ 0 (i ∈ V ) ⎪ ⎪ ⎭ Sn+1 ≤ d. 2
Die Menge A(S, t) enth¨ alt nur Vorg¨ ange i ∈ V mit positiver Dauer (pi > 0), d.h. es sind keine fiktiven Vorg¨ ange wie Projektstart, Projektende oder Meilensteine in A(S, t) enthalten.
2.1 Problemformulierung
125
0 1 2 -1 -? 1 2 1,2 @ -2 1,1
0 0 0 0,0 @
@1 @ 0 R @ -
1
5
-6
@0 @ 3 R 3 @
2
0,0
Legende: pj pi δij - j i ri1 , ri2 rj1 , rj2
1 4 4 3,1
1,1
Abb. 2.4. Projektnetzplan mit zwei erneuerbaren Ressourcen r1 (S, t)
r2 (S, t)
6
r
3 2
r
1
r
rq 1
r
rq
rq 2
r
3 1
rq 2
2
rq
3
6 rq r
2
1
4 1
5
6
rq
r rq
r
2
r
3
-t
r 4
3
1
rq 2
2
3
4 4
r 5
-t 6
Abb. 2.5. Ressourcenprofile f¨ ur Schedule S
Dabei nehmen wir o.B.d.A. an, dass die Zielfunktion f (S) zu minimieren ist. Die Menge ST aller zeitzul¨ assigen Schedules entspricht dem zul¨assigen Bereich des Projektplanungsproblems, den wir im Folgenden als zeitzul¨assigen Bereich bezeichnen. Die Nebenbedingungen von (2.1) gew¨ahrleisten, dass die vorgegebenen Zeitbeziehungen eingehalten werden, das Projekt zum Zeitpunkt 0 startet, die Startzeitpunkte aller Vorg¨ ange nichtnegativ sind und die maximale Projektdauer d nicht u berschritten wird. Es sei angemerkt, dass die Bedingun¨ gen Si ≥ 0 f¨ ur alle i ∈ V redundant sind, da wir S0 := 0 setzen und f¨ ur einen wohldefinierten MPM-Netzplan gilt, dass kein Vorgang vor dem Projektstart begonnen werden darf (vgl. Vereinbarung 1.14). Ebenso ist die Nebenbedingung Sn+1 ≤ d redundant, weil S0 := 0 gilt und wir davon ausgehen, dass ein Netzplan stets einen Pfeil n + 1, 0 mit der Bewertung δn+1,0 = −d enth¨alt. Die Bestimmung eines beliebigen zeitzul¨assigen Schedules entspricht der L¨ osung des linearen Ungleichungssystems, das den zeitzul¨assigen Bereich von Problem (2.1) definiert. Es existiert genau dann mindestens ein zeitzul¨assiger Schedule f¨ ur ein Projekt, wenn der zugeh¨ orige Projektnetzplan keinen Zyklus positiver L¨ ange enth¨ alt, wovon wir im Folgenden stets ausgehen.
126
2 Projektplanung unter Zeitrestriktionen
2.1.1 Zielfunktionen In Abschnitt 1.3.3 haben wir eine Reihe praxisrelevanter Ziele f¨ ur die Projektplanung vorgestellt. Im Folgenden erl¨ autern wir zugeh¨orige aus der Literatur bekannte Zielfunktionen f : Rn+2 ≥0 → R. Alle betrachteten Zielfunktionen ordnen einem Schedule S ∈ ST einen Zielfunktionswert f (S) ∈ R zu. Wir unterscheiden im Weiteren nach der Dimension (Maßeinheit) des Zielfunktionswertes zwischen zeitbezogenen, monet¨ aren und ressourcenabh¨angigen Zielen. Zu den zeitbezogenen Zielen geh¨ oren die Minimierung der Projektdauer, die Minimierung der mittleren Durchlaufzeit sowie die Minimierung der Summe gewichteter Startzeitpunkte. Ziel der Projektdauerminimierung ist es, die Projektvorg¨ange so zu terminieren, dass das Projektende Sn+1 m¨ oglichst fr¨ uh eintritt. Dieses Ziel wird oft bei kleinen Projekten gew¨ ahlt, da dort im Allgemeinen die Zahlungsvereinbarungen vorsehen, dass ein großer Teil der Projektzahlungen erst zum Projektende geleistet wird (vgl. Abschnitt 1.2.1). Eine kurze Projektdauer f¨ uhrt somit zu einer Reduzierung der Kapitalbindungskosten. Weiterhin wird bei der Minimierung der Projektdauer die Gefahr einer Termin¨ uberschreitung und damit verbundener Konventionalstrafen verringert. Die Zielfunktion der Projektdauerminimierung ergibt sich zu f (S) := Sn+1 .
(PD )
Bei der Minimierung der mittleren Durchlaufzeit (mean flow time) ist der Zeitpunkt zu minimieren, zu dem im Mittel alle Vorg¨ange beendet werden. Daher m¨ ussen alle Vorg¨ ange i ∈ V so fr¨ uh wie m¨oglich eingeplant werden. Die damit verbundene fr¨ uhzeitige Auslastung der Ressourcenkapazit¨aten f¨ uhrt im Umkehrschluss dazu, dass die in Anspruch genommenen Ressourcen so fr¨ uh wie m¨ oglich wieder f¨ ur andere Projekte zur Verf¨ ugung stehen. Weiterhin besteht die M¨ oglichkeit, dass Projekte, bei denen aufgrund von St¨orungen des Projektablaufs einzelne Vorg¨ ange verz¨ ogert werden m¨ ussen, noch ohne Termin¨ uberschreitungen ausgef¨ uhrt werden k¨ onnen. F¨ ur die Minimierung der mittleren Durchlaufzeit ergibt sich die Zielfunktion f (S) :=
1 (Si + pi ). n+2
(MFT )
i∈V
In praktischen Anwendungen ist z.B. aufgrund technischer Risiken (vgl. Abschnitt 1.2.4) h¨ aufig eine Teilmenge V ⊆ V von Vorg¨angen m¨oglichst fr¨ uh einzuplanen. Andere Vorg¨ ange V ⊆ V \ V hingegen sollen m¨oglichst sp¨at durchgef¨ uhrt werden, beispielsweise weil f¨ ur Endprodukte, die im Rahmen solcher Vorg¨ ange hergestellt werden, hohe Lagerungskosten anfallen. In einem solchen Fall betrachten wir das Ziel der Minimierung der Summe gewichteter Startzeitpunkte (weighted start times) aller Vorg¨ange. Jeder Vorgang i ∈ V erh¨ alt dabei ein positives Gewicht wi ∈ R>0 , jeder Vorgang j ∈ V ein
2.1 Problemformulierung
127
negatives Gewicht wj ∈ R Yk . Betrachten wir dazu das Ressourcenprofil in Abbildung 2.6. F¨ ur den gegebenen Schedule S = (0, 0, 1, 2, 5) ist die Ressourceninanspruchnahme rk (S, t) f¨ ur alle Zeitpunkte t ∈ [1, 2[ gr¨oßer als das Ressourcenniveau Yk = 2, das als waagerechte Linie in das Ressour¨ cenprofil eingezeichnet ist. Demzufolge fallen Uberschreitungskosten an. rk (S, t)
6 3
r
rq Yk
2 1
r
rq
2
r
1
rq 3
1
2
3
r 4
-t 5
6
Abb. 2.6. Ressourcenprofil
F¨ ur das Ressourcenabweichungsproblem (resource deviation problem) erhalten wir die Zielfunktion gem¨ aß f (S) := cD [rk (S, t) − Yk ]+ dt. (RD) k k∈R
t∈[0,d]
Zu den ressourcenabh¨angigen Zielen geh¨ oren Ziele der Ressourcennivellierung (resource levelling). Dabei ist die gleichm¨aßige Auslastung der Ressour-
2.1 Problemformulierung
129
cen k ∈ R im Zeitintervall [0, d] zu erreichen. Bei einigen industriellen Anla¨ gen f¨ uhrt eine Anderung der Betriebsintensit¨ at der Anlage mitunter zu hohen Anpassungskosten, z.B. bei Hoch¨ ofen. Ferner f¨ uhrt ein Wechsel der jeweiligen Betriebsstufe einer Anlage h¨ aufig dazu, dass w¨ahrend der nachfolgenden Anlaufphase vermehrt Produkte minderer Qualit¨at produziert werden und der Ausschuss somit zunimmt. Dabei haben die geschilderten Effekte einer solchen Intensit¨ atsanpassung meist umso gr¨ oßere Auswirkungen, je gr¨oßer der Wechsel in der Betriebsintensit¨ at ist. Aus diesen Gr¨ unden ist man in der Praxis h¨ aufig daran interessiert, ausgew¨ ahlte Ressourcen gleichm¨aßig u ¨ber die Zeit zu belasten und hohe Ressourceninanspruchnahmen st¨arker zu bestrafen als geringe. Als Zielfunktion f¨ ur ein solches Problem der Ressourcennivellierung ergibt sich z.B. f (S) := rk2 (S, t) dt. (RL) k∈R t∈[0,d]
Beispiel 2.4. Betrachten wir den in Abbildung 2.7 dargestellten Projektnetzplan mit vier realen Vorg¨ angen und einer erneuerbaren Ressource. Die Einhaltung der maximalen Projektdauer d = 6 wird durch den Pfeil 5, 0 mit der Bewertung δ50 = −6 im Projektnetzplan gew¨ ahrleistet. Da wir nur eine Ressource betrachten, kann der Index f¨ ur die Ressource k ∈ R in den folgenden Ausf¨ uhrungen entfallen. F¨ ur den zeitzul¨ assigen Schedule S = (0, 3, 5, 0, 4, 6) ergibt sich das in Abbildung 2.8 dargestellte Ressourcenprofil. 0
0
1 1 -1 -? 1 2 @ -2 1 2 @1
0 0 0 @
1 -6
@0 @
@ 0 @ R @ 5 0
2 3
@ R 3 @ 1
4
Legende:
1
pi
3
i ri
- 4
δij
pj
- j
rj
Abb. 2.7. Netzplan mit einer erneuerbaren Ressource
Die Zielfunktionswerte f (S) f¨ ur Schedule S = (0, 3, 5, 0, 4, 6) und die eingef¨ uhrten Zielfunktionen ergeben sich nun wie folgt. F¨ ur die Zielfunktion der Projektdauerminimierung (PD ) gilt f (S) := S5 = 6 und f¨ ur die Zielfunktion der Minimierung der mittleren Durchlaufzeit (MFT ) erhalten wir
130
2 Projektplanung unter Zeitrestriktionen r(S, t)
r
6
rq r
2
r
rq 3
rq
4 2
1 2
r 4
-t
6
Abb. 2.8. Ressourcenprofil f¨ ur Schedule S = (0, 3, 5, 0, 4, 6)
24 1 (0 + 4 + 6 + 3 + 5 + 6) = = 4. 6 6 Die Zielfunktionswerte der u ¨ brigen Zielfunktionen mit den zugeh¨origen Parametern sind in Tabelle 2.1 angegeben. f (S) :=
Tabelle 2.1. Zielfunktionswerte f¨ ur Schedule S = (0, 3, 5, 0, 4, 6) Zielfunktion Parameter (WST ) (E + T ) (NPV ) (RI ) (RD) (RL)
f (S)
wi = 1 f¨ ur i = 0, . . . , 5 18 d0 = 0, d1 = 5, d2 = 5, d3 = 3, d4 = 5, d5 = 6 T E T cE ur i = 1, . . . , 5 2 0 = c0 = 0, ci = ci = 1 f¨ F ur i = 0, . . . , 5; β = 0, 9 −4,51 ci = 1 f¨ cP = 5 15 D c = 1, Y = 1 3 17
In der Praxis h¨ angt die verwendete Zielfunktion meist vom Planungshorizont des zugrunde liegenden Projektplanungsproblems ab (vgl. auch Abschnitt 1.3.3). Tabelle 2.2 zeigt eine gel¨ aufige Klassifizierung der Zielfunktionen in Abh¨ angigkeit vom Planungshorizont (lang-, mittel- und kurzfristig). Tabelle 2.2. Ziele in Abh¨ angigkeit vom Planungshorizont langfristig
mittelfristig
Planungshorizont 1 – 5 Jahre 1 – 12 Monate Periodenl¨ ange 1 Woche – 1 Monat 1 Tag – 1 Woche Zielfunktionen (NPV ) (RI ), (RD), (RL)
kurzfristig 1 – 30 Tage 1 Stunde – 1 Schicht (PD), (MFT ), (WST ), (E + T )
Besitzt ein Projektnetzplan keinen Zyklus positiver L¨ange, so existiert, wie bereits gesagt, immer eine zeitzul¨ assige L¨ osung f¨ ur Problem (2.1). Da es sich bei den Zielfunktionen (PD ), (MFT ), (WST ), (E + T ), (NPV ), (RD )
2.1 Problemformulierung
131
und (RL) um stetige Funktionen handelt und der zeitzul¨assige Bereich ST abgeschlossen und beschr¨ ankt ist, existiert nach dem Satz von Weierstrass f¨ ur diese Zielfunktionen immer auch eine optimale L¨osung auf ST ; vgl. hierzu bspw. Zeidler (2003, S. 251). Des Weiteren ist die Zielfunktion (RI ) stetig auf Rn+2 ur mindestens ein Paar ≥0 bis auf alle Schedules S mit Sj − Si = pi f¨ i, j ∈ V . An diesen potentiellen Unstetigkeitsstellen gilt aber immer, dass f (S) ≤ f (S ) f¨ ur alle Schedules S , die in einer offenen ε-Umgebung von S liegen, d.h. die Funktion ist nach unten halbstetig. Betrachten wir dazu das Ressourcenprofil in Abbildung 2.9. Wird Vorgang 2 ausgehend von seinem ES 2 = 2 verz¨ ogert, so ist zum Startzeitpunkt S2 = 3 f¨ ur die Vorg¨ange 2 und 3 die Bedingung S3 − S2 = p2 erf¨ ullt. Des Weiteren gilt f¨ ur S2 = 4 die Bedingung S2 − S1 = p1 und f¨ ur S2 = 6 die Bedingung S2 − S3 = p3 . Die resultierende Ressourceninvestment-Zielfunktion (RI ) besitzt an den Stellen S2 = 3 und S2 = 6 Unstetigkeiten, es gilt aber f (S) ≤ f (S ) f¨ ur alle S aus einer offenen ε-Umgebung von S (vgl. Abb. 2.9). f (S2 )
r(S, t)
6
6
3
qb
3
2 2
2
2
3
1
1 1
2
4
r
qb r
1
2 3
r
s
-t 5
6
- S2 2
4
6
Abb. 2.9. Nach unten halbstetige Funktion (RI )
Allgemein sind nach unten halbstetige Funktionen wie folgt definiert. Definition 2.5 (Nach unten halbstetige Funktion). Eine Funktion f : Rn+2 ur alle S, S ∈ Rn+2 ≥0 → R wird nach unten halbstetig genannt, wenn f¨ ≥0 gilt, dass f (S) ≤ lim inf S →S f (S ). Genau wie f¨ ur stetige Funktionen gilt auch f¨ ur nach unten halbstetige Funktionen, dass sie auf einem abgeschlossenen und beschr¨ankten Bereich ihr Minimum annehmen; vgl. hierzu bspw. Heuser (1998, S. 242). Korollar 2.6. F¨ ur Problem (2.1) existiert f¨ ur alle stetigen bzw. nach unten halbstetigen Zielfunktionen im Fall ST = ∅ eine optimale L¨osung. In den beiden folgenden Abschnitten geben wir an, wie sich Problem (2.1) f¨ ur die nichtlinearen Zielfunktionen (E + T ), (NPV ), (RI ), (RD ) und (RL) als lineares Programm (LP) oder gemischt-ganzzahliges lineares Programm (MIP) formulieren und somit prinzipiell mit Hilfe geeigneter Standardsoftware (bspw. CPLEX oder Excel Solver) l¨ osen l¨ asst.3 3
Eine Einf¨ uhrung in die lineare Programmierung findet man z.B. in Domschke und Drexl (2005) oder Neumann und Morlock (2002).
132
2 Projektplanung unter Zeitrestriktionen
2.1.2 Lineare Modelle F¨ ur die Zielfunktionen (PD ), (MFT ) und (WST ) stellt Problem (2.1) ein lineares Programm dar. Ein optimaler Schedule kann f¨ ur diese Probleme bei ganzzahligen Eingabedaten in polynomialer Zeit bestimmt werden.4 In diesem Abschnitt zeigen wir, dass auch das Earliness-Tardiness-Problem und das Kapitalwertmaximierungsproblem in lineare Optimierungsprobleme (LP) transformiert werden k¨ onnen und damit ebenfalls effizient l¨osbar sind. Beim Earliness-Tardiness-Problem, d.h. Problem (2.1) mit Zielfunktion (E + T ), handelt es sich um ein nichtlineares Optimierungsproblem mit linearen Nebenbedingungen und nichtlinearer Zielfunktion. Die EarlinessTardiness-Zielfunktion + T + f (S) := cE i (di − Si − pi ) + ci (Si + pi − di ) i∈V
ur die Verfr¨ uhung und kann durch die Einf¨ uhrung von Hilfsvariablen ei ≥ 0 f¨ li ≥ 0 f¨ ur die Versp¨ atung eines Vorgangs i ∈ V linearisiert werden. Unter Verwendung dieser Hilfsvariablen k¨ onnen wir das folgende lineare Programm formulieren T Minimiere cE i e i + ci l i i∈V
u.d.N.
ei ≥ di − Si − pi li ≥ Si + pi − di ei ≥ 0 li ≥ 0 Sj − Si ≥ δij S0 = 0.
(i ∈ V ) (i ∈ V ) (i ∈ V ) (i ∈ V ) ( i, j ∈ E)
Die beschriebene Linearisierung f¨ uhrt zu einer Zunahme der Anzahl von Entscheidungsvariablen und Nebenbedingungen. Da f¨ ur jeden Vorgang i ∈ V zus¨ atzliche Variablen ei und li eingef¨ uhrt wurden, erh¨oht sich die Anzahl der Entscheidungsvariablen von |V | = n + 2 auf 3|V | = 3n + 6. Die Anzahl der Nebenbedingungen erh¨ oht sich um 4|V |. Das folgende Beispiel veranschaulicht die Linearisierung des Earliness-Tardiness-Problems anhand einer Probleminstanz. 4
Ein Optimierungsproblem heißt in der Komplexit¨ atstheorie in polynomialer Zeit ” l¨ osbar“, wenn ein L¨ osungsalgorithmus f¨ ur das betrachtete Problem existiert, f¨ ur den der zeitliche Aufwand zur L¨ osung des Problems durch ein Polynom in Abh¨ angigkeit von der Problemgr¨ oße nach oben beschr¨ ankt ist. Unter Optimierungsgesichtspunkten werden Probleme, die sich in polynomialer Zeit l¨ osen lassen, als einfache“ Probleme erachtet. F¨ ur eine Einf¨ uhrung in die Komplexit¨ atstheo” rie verweisen wir beispielsweise auf Bachem (1980). Eine umfassende Darstellung des Themas findet sich in Garey und Johnson (1979).
2.1 Problemformulierung
133
Beispiel 2.7. Wir betrachten den in Abbildung 2.10 dargestellten Projektnetzplan mit einer maximalen Projektdauer von d = 6. Die Knoten des Netzplans sind mit den Dauern pi und den F¨ alligkeitsterminen di der einzelnen Vorg¨ ange i ∈ V bewertet. 1 1 4 4 @ 1 @
0 0 0
-6
0 R 2 @ 6
Legende: pj pi δij j i di dj
Abb. 2.10. Netzplan
F¨ ur die Vorg¨ ange i = 1, 2 sollen die vorgegebenen F¨alligkeitstermine di weder unter- noch u uhungs- und Versp¨atungskosten ¨berschritten werden. Die Verfr¨ T E T seien cE = c := 0 und c = c := 1 f¨ u r i = 1, 2. Mit Hilfe dieser Parame0 0 i i ter l¨ asst sich die Probleminstanz aus Abbildung 2.10 wie folgt als EarlinessTardiness-Problem formulieren Minimiere f (S) := (3 − S1 )+ + (S1 − 3)+ + (6 − S2 )+ + (S2 − 6)+ u.d.N. S1 − S0 ≥ 4 S2 − S 1 ≥ 1 S0 − S2 ≥ −6 S0 = 0. ur i = 0, 1, 2 ergibt sich daraus Durch Einf¨ uhrung der Hilfsvariablen ei und li f¨ das folgende LP Minimiere f (S) := e1 + l1 + e2 + l2 u.d.N. e 1 ≥ 3 − S1 e 2 ≥ 6 − S2 l 1 ≥ S1 − 3 l 2 ≥ S2 − 6 S1 − S 0 ≥ 4 S2 − S 1 ≥ 1 S0 − S2 ≥ −6 S0 = 0 ei ≥ 0 (i = 0, 1, 2) li ≥ 0 (i = 0, 1, 2). Anstelle von 3 Entscheidungsvariablen ben¨ otigen wir f¨ ur die LP-Formulierung 9 Entscheidungsvariablen und anstelle von 4 Nebenbedingungen ergeben sich 14 Nebenbedingungen, wobei wir die beiden redundanten Restriktionen e0 ≥ 0 − S0 und l0 ≥ S0 − 0 vernachl¨ assigt haben. Der optimale Zielfunktionswert wird f¨ ur e0 ≥ 0, e1 = 0, e2 = 0, l0 ≥ 0, l1 = 1, l2 = 0 bzw. S = (0, 4, 6) angenommen.
134
2 Projektplanung unter Zeitrestriktionen
Beim Problem der Kapitalwertmaximierung mit der Zielfunktion (NPV ) ⎫ Si Maximiere f (S) := i∈V cF ⎬ i β u.d.N. Sj − Si ≥ δij ( i, j ∈ E) (2.2) ⎭ S0 = 0 handelt es sich ebenfalls um ein Optimierungsproblem mit nichtlinearer Zielfunktion und linearen Nebenbedingungen. F¨ ur den Diskontfaktor β Si = 1 wird in der Literatur h¨ a ufig auch die Darstellung e−αSi verwendet. Bei (1+r)Si gegebenem Kalkulationszinsfuß r ≥ 0 kann α durch α = ln(1 + r) bestimmt werden. Problem (2.2) l¨ asst sich in ein lineares Programm transformieren, indem wir yi := e−αSi und Kij := eαδij setzen. Dabei ist yi = e−αSi ¨aquivai) lent zu Si = − ln(y α . Aus unserer Vereinbarung, dass das Projekt immer zum Zeitpunkt 0 gestartet wird, folgt S0 = 0 ⇔ −
ln(y0 ) = 0 ⇔ y0 = 1. α
Da die nat¨ urliche Logarithmusfunktion monoton wachsend ist, k¨onnen die Zeitbeziehungen wie folgt transformiert werden: S j − Si ⇔
ln(y ) − αj
≥ δij +
ln(yi ) α
≥ δij
⇔ ln(yi ) − ln(yj ) ≥ αδij = ln(Kij ) ⇔ ln( yyji )
≥ ln(Kij )
⇔
≥ Kij
yi yj
⇔ 0
≥ yj Kij − yi .
Insgesamt erhalten wir das lineare Programm5 Maximiere cF i yi i∈V
u.d.N.
5
yj Kij − yi ≤ 0 y0 = 1.
( i, j ∈ E)
Anders als bei Earliness-Tardiness-Problemen f¨ uhrt die Linearisierung bei der Kapitalwertmaximierung nicht zu zus¨ atzlichen Entscheidungsvariablen und Nebenbedingungen. Aber auch wenn die urspr¨ unglichen Zielfunktionskoeffizienten cF ande δij alle ganzzahlig sind, ergibt sich durch die Substitui und die Zeitabst¨ tion eine Koeffizientenmatrix mit Eintr¨ agen, die weder ganzzahlig noch rational sind, so dass das entsprechende LP i.d.R. nicht mehr in polynomialer Zeit l¨ osbar ist.
2.1 Problemformulierung
135
2.1.3 Zeitindexbasierte Modelle Projektplanungsprobleme mit den Zielfunktionen (RI ), (RD ) und (RL) lassen sich nicht als lineare Programme formulieren. Mit Hilfe einer geeigneten Diskretisierung der Zeit lassen sie sich aber zumindest als gemischt-ganzzahlige lineare Programme (MIP) beschreiben Pritsker et al. (1969). Dazu nehmen wir an, dass der Planungszeitraum [0, d] in d Zeitintervalle (Perioden) [0, 1[, [1, 2[, . . . , [d − 2, d − 1[, [d − 1, d] zerlegt wird und die Vorg¨ange i ∈ V nur zu Beginn eines dieser Zeitintervalle, d.h. zu den (diskreten) Startzeitpunkten t = 0, 1, . . . , d − 1, sowie zum Zeitpunkt t = d starten k¨onnen. Diese Annahme ist i.d.R. nicht einschr¨ ankend, da unter der Pr¨ amisse, dass die Vorgangsdauern und Zeitabst¨ande des zugrunde liegenden Netzplans ganzzahlig sind, f¨ ur das zugrunde liegende Problem stets eine optimale L¨osung mit ganzzahligen Startzeitpunkten Si ∈ {0, 1, . . . , d} f¨ ur alle i ∈ V existiert. Bezeichne Wi = [ES i , LS i ] das Zeitfenster, in dem Vorgang i ∈ V unter Beachtung der zugrunde liegenden Zeitbeziehungen starten kann, dann entspricht W i = {ES i , ES i + 1, . . . , LS i } ⊆ {0, 1, . . . , d} der Menge der zugeh¨ origen diskreten Startzeitpunkte. Anstelle der Entscheidungsvariablen Si k¨onnen wir dann eine Menge von bin¨ aren Entscheidungsvariablen xit (t ∈ W i ) f¨ ur jeden Vorgang i ∈ V verwenden. xit sei genau dann 1, wenn Vorgang i ∈ V zum Zeitpunkt t ∈ W i startet, d.h. 1 falls t = Si xit := 0 sonst. ur den Da ein Projekt stets zum Zeitpunkt 0 startet, d.h. S0 = 0, ergibt sich f¨ Projektstart x00 = 1. Der Vektor x = (x00 , x1ES 1 , . . . , x1LS 1 , x2ES 2 , . . . , xn+1,LSn+1 )T fasst alle auftretenden Bin¨ arvariablen zusammen. Mit den Nebenbedingungen xit = 1 (i ∈ V ) t∈W i
stellen wir sicher, dass jeder Vorgang eines Projektes genau einmal gestartet wird. Um die Einhaltung der vorgegebenen Zeitbeziehungen im Projekt zu gew¨ ahrleisten, f¨ uhren wir zun¨ achst den Ausdruck t∈W i txit ein. Dieser entspricht f¨ ur einen Vorgang i ∈ V genau dann Si , wenn i zum Zeitpunkt t = Si startet. Zur Einhaltung der Mindest- und H¨ochstabst¨ande ergeben sich somit die Nebenbedingungen txjt − txit ≥ δij ( i, j ∈ E). t∈W j
t∈W i
Betrachten wir das Ressourceninvestmentproblem mit Zielfunktion cP f (S) := k max rk (S, t) , k∈R
t∈[0,d]
136
2 Projektplanung unter Zeitrestriktionen
bei dem die kumulierte mit Bereitstellungskosten cP k gewichtete maximale Ressourceninanspruchnahme aller Ressourcen u ber die Zeit zu minimieren ¨ ist. Zun¨ achst gilt es, den Term rk (S, t) = i∈A(S,t) rik mit Hilfe der Bin¨arvariablen xit (i ∈ V, t ∈ W i ) auszudr¨ ucken. Ein Vorgang i ∈ V ist genau dann zum Zeitpunkt t in Ausf¨ uhrung, falls er nicht nach t und h¨ochstens pi − 1 Zeiteinheiten vor t startet, wobei die Subtraktion von 1 der Freigabe der betrachteten Ressource am Ende des Vorgangs Rechnung t tr¨agt. Ist ein Vorgang i zum Zeitpunkt t in Ausf¨ uhrung, dann muss also τ =t−pi +1 xiτ = 1 erf¨ ullt sein. F¨ ur gegebenes x entspricht
t
rik
xiτ
τ =t−pi +1
i∈V
gerade der gesamten Inanspruchnahme der Ressource k zum Zeitpunkt t. Da ein Vorgang i ∈ V nur zu einem Zeitpunkt t ∈ W i = {ES i , ES i + 1, . . . , LS i } starten kann, ist der obige Ausdruck ¨ aquivalent zu
min{t,LS i }
rik
i∈V
xiτ .
τ =max{ES i ,t−pi +1}
Wir f¨ uhren nun f¨ ur jede Ressource k ∈ R eine Hilfsvariable zk ≥ 0 ein, die mindestens der maximalen Ressourceninanspruchnahme von k zu einem Zeitpunkt t entspricht, d.h. die Ungleichung zk ≥
i∈V
min{t,LS i }
rik
xiτ ,
(2.3)
τ =max{ES i ,t−pi +1}
ullt sein. Das kleinste zk , muss f¨ ur alle t ∈ {0, 1, . . . , d − 1} und k ∈ R erf¨ f¨ ur das (2.3) gerade noch erf¨ ullt ist, entspricht dann der maximalen Ressourceninanspruchnahme von k ∈ R. Somit kann die folgende zeitindexbasierte Formulierung des Ressourceninvestmentproblems angegeben werden Minimiere
cP k zk
k∈R
u.d.N.
zk ≥ t∈W i
min{t,LS i }
rik
i∈V
t∈W j
x00 = 1 xit ∈ {0, 1}
(t ∈ {0, 1, . . . , d − 1}, k ∈ R)
τ =max{ES i ,t−pi +1}
(i ∈ V )
xit = 1 txjt −
xiτ
txit ≥ δij
( i, j ∈ E)
t∈W i
(i ∈ V, t ∈ W i ).
2.1 Problemformulierung
137
Es sei angemerkt, dass die Nebenbedingung x00 = 1 redundant ist, da ES 0 = LS 0 = 0 und somit W 0 = {0} gilt. Das folgende Beispiel veranschaulicht die Formulierung des Ressourceninvestmentproblems mit zeitindexbasierten Entscheidungsvariablen. Beispiel 2.8. Betrachten wir den in Abbildung 2.11 dargestellten Projektnetzplan N mit einer erneuerbaren Ressource und der maximalen Projektdauer von d = 6. Wegen |R| = 1 kann der Ressourcenindex k entfallen. 1 1 4 2 @ 1 @
0 0 @ 0 2@
Legende: pj pi δij - j i ri rj
0 @ 3 R 0 2
-6 2 R 2 @ 1
Abb. 2.11. Netzplan N
Wir unterteilen den Planungszeitraum [0, 6] in die diskreten Zeitpunkte t = 0, . . . , 6. Mit Hilfe der Metra-Potential-Methode aus Abschnitt 1.4.3 erhalten wir die in Tabelle 2.3 angegebenen fr¨ uhesten und sp¨atesten Startzeitpunkte der Vorg¨ ange i ∈ V . Tabelle 2.3. ES i und LS i f¨ ur alle Vorg¨ ange i ∈ V i
0
1
2
3
ES i LS i
0 0
4 5
2 4
5 6
Aufgrund der durch Netzplan N implizierten Zeitbeziehungen muss Vorgang 1 innerhalb des Intervalls W1 = [4, 5] starten. Die Menge der diskreten Startzeitpunkte von Vorgang 1 ergibt sich somit zu W 1 = {4, 5}. F¨ ur die Vorg¨ ange 2 und 3 gilt entsprechend W 2 = {2, 3, 4} und W 3 = {5, 6}. Weiterhin definieren wir f¨ ur jeden Vorgang i ∈ V eine Menge von Entscheidungsvariablen xit mit t ∈ W i und eine Hilfsvariable z ≥ 0, die der maximalen Ressourceninanspruchnahme zu einem Zeitpunkt t ∈ {0, . . . , 6} entspricht. Mit Bereitstellungskosten cP ergibt sich die folgende MIP-Formulierung f¨ ur die beschriebene Instanz des Ressourceninvestmentproblems Minimiere cP z u.d.N. z ≥ x22 z ≥ x22 + x23 z ≥ 2x14 + x23 + x24
(t = 2) (t = 3) (t = 4)
138
2 Projektplanung unter Zeitrestriktionen
z ≥ 2x15 + x24 x00 = 1 x14 + x15 = 1 x22 + x23 + x24 = 1 x35 + x36 = 1 4 x14 + 5 x15 − 0 x00 ≥ 4 2 x22 + 3 x23 + 4 x24 − 0 x00 ≥ 2 5 x35 + 6 x36 − 4 x14 − 5 x15 ≥ 1 5 x35 + 6 x36 − 2 x22 − 3 x23 − 4 x24 ≥ 2 0 x00 − 5 x35 − 6 x36 ≥ −6 z≥0 xit ∈ {0, 1}
(t = 5) (i = 0) (i = 1) (i = 2) (i = 3) ( i, j = 0, 1 ) ( i, j = 0, 2 ) ( i, j = 1, 3 ) ( i, j = 2, 3 ) ( i, j = 3, 0 ) (i = 1, 2, 3; t ∈ W i ) .
Wenden wir uns nun dem Ressourcenabweichungsproblem mit Zielfunktion D f (S) := ck [rk (S, t) − Yk ]+ dt k∈R
t∈[0,d]
zu, bei dem f¨ ur jede Ressource k ∈ R Kosten cD ucksichtigt werden, die bei k ber¨ ¨ Uberschreitung des vorgegebenen Ressourcenniveaus Yk anfallen. Zun¨achst gilt es, den Term rk (S, t)−Yk = i∈A(S,t) rik −Yk mit Hilfe der Bin¨arvariablen xit (i ∈ V, t ∈ W i ) auszudr¨ ucken. Wir erhalten
rik − Yk =
rik
xiτ − Yk .
τ =t−pi +1
i∈V
i∈A(S,t)
t
Nun f¨ uhren wir Hilfsvariablen zkt ≥ 0 f¨ ur alle Ressourcen k ∈ R und alle Zeitpunkte t ∈ {0, . . . , d − 1} ein, wobei zkt der u ¨ber das Ressourcenniveau Yk hinausgehenden Ressourceninanspruchnahme von Ressource k zum Zeitpunkt t entspricht. Ber¨ ucksichtigen wir, dass ein Vorgang i ∈ V nur zu einem Zeitpunkt t ∈ W i = {ES i , ES i + 1, . . . , LS i } starten kann, m¨ ussen f¨ ur die Variablen zkt die Ungleichungen zkt ≥
i∈V
min{t,LS i }
rik
xiτ − Yk
τ =max{ES i ,t−pi +1}
erf¨ ullt sein. F¨ ur das Ressourcenabweichungsproblem mit Zielfunktion (RD ) erhalten wir somit das folgende zeitindexbasierte Modell Min. cD k zkt k∈R t∈{0,1,...,d−1}
u.d.N. zkt ≥
i∈V
min{t,LS i }
rik
τ =max{ES i ,t−pi +1}
xiτ − Yk (t ∈ {0, . . . , d − 1}, k ∈ R)
2.1 Problemformulierung
t∈W i t∈W j
(i ∈ V )
xit = 1 txjt −
zkt ≥ 0 xit ∈ {0, 1}
139
txit ≥ δij
t∈W i
( i, j ∈ E) (t ∈ {0, . . . , d − 1}, k ∈ R) (i ∈ V, t ∈ W i ).
F¨ ur Projektplanungsprobleme mit den Zielfunktionen (RI ) und (RD) l¨asst sich auf Grundlage der vorgestellten MIP-Formulierungen mit Hilfe von Standardsoftware zur L¨ osung gemischt-ganzzahliger Programme prinzipiell eine optimale L¨ osung angeben. Praktisch wird man auf diese Weise i.d.R. jedoch nur kleine bis mittelgroße Probleminstanzen erfolgreich l¨osen k¨onnen. F¨ ur Ressourcennivellierungsprobleme l¨ asst sich ebenfalls eine MIP-Formulierung mit zus¨ atzlichen bin¨ aren Hilfsvariablen yktq angeben. Die Hilfsvariablen nehmen genau dann den Wert 1 an, falls rk2 (S, t) = q ist. Dabei kommen f¨ ur q alle 2 Quadratzahlen 1, 4, 9, . . . kleiner als in Frage. Zu beachten ist, i∈V rik dass die Anzahl an Entscheidungsvariablen schon f¨ ur kleine Instanzen sehr groß sein kann. 2.1.4 Zeitzul¨ assiger Bereich Der zeitzul¨assige Bereich ST von Problem (2.1) ist durch Zeitrestriktionen der Form 1 · Sj − 1 · Si ≥ δij ( i, j ∈ E) (2.4) sowie durch S0 = 0 spezifiziert und stellt ein konvexes Polytop dar. Da die Koeffizienten der Entscheidungsvariablen in den Nebenbedingungen (2.4) alle 1 oder −1 sind, verlaufen die Begrenzungslinien von ST in bin¨arer Richtung z ∈ {0, 1}n+2 parallel zu den Koordinatenachsen oder zur ersten Winkelhalbierenden (vgl. z.B. Abb. 2.13). Ferner besitzt ST als eindeutigen Minimalpunkt den ES -Schedule und als eindeutigen Maximalpunkt den LS -Schedule. Ein Punkt S min eines Polytops heißt Minimalpunkt, falls er bez¨ uglich jeder Komponente minimal ist, d.h. es gilt Simin ≤ Si f¨ ur alle i ∈ V und alle Punkte S des Polytops. Analog heißt ein Punkt S max eines Polytops Maximalpunkt, falls Simax ≥ Si f¨ ur alle i ∈ V und alle Punkte S des Polytops gilt. Ein Extremalpunkt bzw. eine Ecke S eines Polytops ist ein Punkt, der sich nicht als Konvexkombination zweier von S verschiedener Punkte des Polytops darstellen l¨ asst, d.h. es gibt keine zwei Punkte, so dass S auf der Verbindungslinie der beiden Punkte liegt. Der zeitzul¨ assige Bereich ST ⊆ Rn+2 asst sich f¨ ur ≥0 l¨ n ≥ 2 i.d.R. nicht vollst¨ andig visualisieren. Besitzt ein Projekt allerdings genau zwei Vorg¨ ange i und j, die nicht zeitlich fixiert sind, d.h. die Vorg¨ange haben eine positive Gesamtpufferzeit, so k¨ onnen wir den Bereich ST als so genannten Si -Sj -Schnitt darstellen. Dabei projizieren wir ST auf die entsprechende Si -Sj -Ebene.
140
2 Projektplanung unter Zeitrestriktionen
Beispiel 2.9. Wir betrachten den in Abbildung 2.12 dargestellten Projektnetzplan mit drei realen Vorg¨ angen. Die Einhaltung einer maximalen Projektdauer d = 6 wird durch den R¨ uckw¨ artspfeil 4, 0 mit der Bewertung δ40 = −6 sichergestellt. 0
0
1 1 -2 -? 1 2 @ -2
@1 @
0 0
0 @ R @ * 4
HH
1 -6
HH4 HH
2 1 H j 3 H
Legende: pj pi δij j i
Abb. 2.12. Projektnetzplan N mit drei realen Vorg¨ angen
F¨ ur das zugrunde liegende Projekt erhalten wir die in Tabelle 2.4 angegebenen fr¨ uhesten und sp¨ atesten Startzeitpunkte sowie die Gesamtpufferzeiten der Vorg¨ ange i ∈ V . Da die Vorg¨ ange 0, 3 und 4 eine Gesamtpufferzeit von 0 besitzen, sind sie fixiert und m¨ ussen zu ihrem fr¨ uhesten Startzeitpunkt eingeplant werden. Der durch Projektnetzplan N spezifizierte zeitzul¨assige Bereich ST l¨ asst sich folglich als S1 -S2 -Schnitt visualisieren. Tabelle 2.4. ES i , LS i und TF i f¨ ur alle Vorg¨ ange i = 0, . . . , 4 i
0
1
2
3
4
ES i LS i TF i
0 0 0
0 5 5
0 5 5
4 4 0
6 6 0
Sobald ein Vorgang eingeplant wird, a ¨ndert sich i.d.R. das Zeitfenster [ESi , LSi ], innerhalb dessen ein noch nicht eingeplanter Vorgang i starten kann, da die Zeitbeziehungen zwischen den Vorg¨angen ber¨ ucksichtigt werden m¨ ussen (vgl. Abschnitt 1.4.5). Planen wir Vorgang 1 zum Zeitpunkt 0 ein, so kann Vorgang 2 nach wie vor fr¨ uhestens zum Zeitpunkt 0 starten. Aufgrund der Zeitbeziehung S1 − S2 ≥ −2 ergibt sich aber f¨ ur Vorgang 2 ein sp¨atester Startzeitpunkt von 2. Wird Vorgang 1 zum Zeitpunkt 1 eingeplant, so ergibt sich f¨ ur Vorgang 2 das m¨ ogliche Einplanungs-Zeitfenster [0, 3]. F¨ ur S1 = 5 erhalten wir S2 ∈ [3, 5]. Insgesamt ergibt sich der in Abbildung 2.13 dargestellte S1 -S2 -Schnitt des zeitzul¨ assigen Bereichs ST . Die Extremalpunkte (Ecken) des
2.1 Problemformulierung
141
S1 -S2 -Schnitts sind S 1 = (0, 0, 0, 4, 6), S 2 = (0, 2, 0, 4, 6), S 3 = (0, 0, 2, 4, 6), S 4 = (0, 5, 5, 4, 6), S 5 = (0, 5, 3, 4, 6), S 6 = (0, 3, 5, 4, 6). S2
6
S6
r
5
S 4 = LS
r
r S5 S3 r
r S 1 = ES
r S2
- S1 5
Abb. 2.13. S1 -S2 -Schnitt des zeitzul¨ assigen Bereichs
Aus der Theorie der Linearen Optimierung ist bekannt, dass in jedem Extremalpunkt (Ecke) des zeitzul¨ assigen Bereichs ST mindestens n + 1 linear unabh¨ angige Nebenbedingungen Sj − Si ≥ δij bindend sind, d.h. sie sind mit Gleichheit erf¨ ullt (vgl. Neumann und Morlock, 2002, Kapitel 1). Beispielsweise sind im Extremalpunkt S 6 in Abbildung 2.13 die Zeitbeziehungen S0 − S4 ≥ −6, S1 − S2 ≥ −2, S4 − S2 ≥ 1 und S4 − S3 ≥ 2 bindend. Definition 2.10 (Ger¨ ust, Outtree). Sei D = V, E ein Digraph mit n + 2 Knoten. Ein schwach zusammenh¨ angender Teildigraph6 des Digraphen D mit n + 2 Knoten und n + 1 Pfeilen heißt Ger¨ ust von D. Ein Ger¨ ust, bei dem jeder Knoten von Knoten 0 aus erreichbar ist, bezeichnen wir als Outtree mit Wurzelknoten 0. Abbildung 2.14 zeigt einen Digraphen sowie ein zugeh¨origes Ger¨ ust und einen zugeh¨ origen Outtree. Der folgende Satz besagt, dass sich die Extremalpunkte des zeitzul¨ assigen Bereichs eines Projektnetzplans als Ger¨ uste des zugrunde liegenden Netzplans darstellen lassen. Satz 2.11. Jede Ecke des zeitzul¨ assigen Bereichs ST kann durch mindestens ein Ger¨ ust des zugeh¨ origen Netzplans N repr¨asentiert werden, wobei jeder 6
In einem schwach zusammenh¨ angenden Teildigraph sind alle Knoten durch eine ungerichtete Pfeilfolge miteinander verbunden.
142
2 Projektplanung unter Zeitrestriktionen
3 2 Q QQ s 3 3 QQ s 1
0 Q
3 2 Q QQ s 3 0 3 1
3 2
0 Q
3 3 QQ s 1
Abb. 2.14. Digraph, Ger¨ ust und Outtree
Pfeil i, j des Ger¨ ustes eine bindende Zeitbeziehung Sj −Si = δij repr¨asentiert. Ferner entspricht jedem Ger¨ ust des Netzplans N h¨ochstens ein Extremalpunkt von ST . Zur Generierung eines Ger¨ ustes f¨ ur eine gegebene Ecke S des zeitzul¨assigen Bereichs ST bestimmen wir sukzessive f¨ ur jeden Knoten i ∈ V \ {0} eine bindende Nebenbedingung Sj − Si = δij bzw. Si − Sj = δji zu einem Knoten j, f¨ ur den bereits eine bindende Nebenbedingung bestimmt wurde. Ausgangspunkt ist hierbei der Knoten 0, f¨ ur den die Nebenbedingung S0 = 0 immer bindend ist. Algorithmus 2.12 stellt dar, wie f¨ ur einen gegebenen Extremalpunkt S ein zugeh¨ origes Ger¨ ust G = V, EG mit der Pfeilmenge EG erzeugt werden kann. Dabei gibt mi = 1 an, dass Knoten i bereits betrachtet wurde. Algorithmus 2.12 (Generierung eines Ger¨ ustes f¨ ur eine Ecke S). Setze m0 := 1 und mi := 0 f¨ ur alle i ∈ V \ {0}. EG := ∅ und Q := {0} (Q wird als Schlange verwaltet). Solange Q = ∅ und mindestens ein i ∈ V mit mi = 0 existiert: Entferne i vom Kopf der Schlange Q. An Knoten i wird nun, falls m¨ oglich, ein weiterer Knoten angeh¨angt. 1. F¨ ur alle i, j ∈ E: Falls mj = 0 und Sj − Si = δij : uge j am Ende von Q ein. Setze EG := EG ∪ { i, j }, mj := 1, und f¨ 2. F¨ ur alle h, i ∈ E: Falls mh = 0 und Si − Sh = δhi : uge h am Ende von Q ein. Setze EG := EG ∪ { h, i }, mh := 1, und f¨ Anmerkung 2.13. Bei der Generierung eines Ger¨ ustes f¨ ur den ES -Schedule entf¨ allt die 2. Schleife in Algorithmus 2.12, da der ES -Schedule als Outtree in N dargestellt werden kann. Um die Beziehung zwischen den Ecken des zeitzul¨assigen Bereichs ST und den Ger¨ usten des zugeh¨ origen Projektnetzplans N zu illustrieren, betrachten wir das folgende Beispiel. Beispiel 2.14. Gegeben seien der in Abbildung 2.15 dargestellte Projektnetzplan mit drei Vorg¨ angen und der zugeh¨ orige S1 -S2 -Schnitt des zeitzul¨assigen Bereichs ST mit den Extremalpunkten S 1 = (0, 1, 4), S 2 = (0, 1, 6), S 3 = (0, 4, 6) und S 4 = (0, 2, 4).
2.1 Problemformulierung
143
S2
6
1 0 0
2 1
@
4
@2
6S 2
S1
S 3r
r r
r
S4
@
4 -6
0 @ R @ 2
2
- S1 2
4
Abb. 2.15. Projektnetzplan und S1 − S2 -Schnitt des zeitzul¨ assigen Bereichs ST
Wir bestimmen mit Hilfe von Algorithmus 2.12 das zu S 1 geh¨orige Ger¨ ust. In der Initialisierung setzen wir m0 := 1, m1 := 0, m2 := 0, EG := ∅ und Q := {0}. Dann entnehmen wir Vorgang 0 vom Kopf der Schlange Q. Da Pfeil 0, 1 im Netzplan enthalten ist, m1 = 0 und S1 − S0 = 1 gilt, h¨angen wir Knoten 1 an Knoten 0 an, d.h. wir setzen EG := { 0, 1 }, m1 := 1 und Q := {1}. Weiterhin sind f¨ ur 0, 2 ∈ E die Gleichungen m2 = 0 und S2 − S0 = 4 erf¨ ullt, deshalb setzen wir EG := { 0, 1 , 0, 2 }, m2 := 1 und Q := {1, 2}. Da f¨ ur alle Vorg¨ ange i ∈ V nun mi = 1 gilt, terminiert der Algorithmus. Somit sind f¨ ur Schedule S 1 die beiden linear unabh¨ angigen Nebenbedingungen S11 − S01 ≥ 1 und S21 − S01 ≥ 4 bindend, und das korrespondierende Ger¨ ust G1 enth¨alt die Pfeilmenge EG1 = { 0, 1 , 0, 2 }. Wird Algorithmus 2.12 angewendet, um die zu S 2 , S 3 und S 4 geh¨ origen Ger¨ uste zu generieren, dann erhalten wir f¨ ur S 2 das Ger¨ ust G2 mit der Pfeilmenge EG2 = { 0, 1 , 2, 0 }, f¨ ur S 3 das 3 4 Ger¨ ust G mit der Pfeilmenge EG3 = { 1, 2 , 2, 0 } und f¨ ur S ergibt sich EG4 = { 0, 2 , 1, 2 }. Um f¨ ur ein gegebenes Ger¨ ust G mit Pfeilmenge EG den zugeh¨origen Extremalpunkt S zu bestimmen, l¨ osen wir das lineare Gleichungssystem Sj − Si = δij
( i, j ∈ EG )
S0 = 0 . F¨ ur das dem Netzplan aus Abbildung 2.15 zugrunde liegende Ger¨ ust G3 mit Pfeilmenge EG3 = { 1, 2 , 2, 0 } erhalten wir beispielsweise das lineare Gleichungssystem S2 − S1 = 2 S0 − S2 = −6 S0 = 0 mit der eindeutigen L¨ osung S 3 = (0, 4, 6).
144
2 Projektplanung unter Zeitrestriktionen
Es sei angemerkt, dass nicht jedes Ger¨ ust des Netzplans N einen Extremalpunkt des zeitzul¨ assigen Bereichs ST repr¨asentiert. Beispielsweise entspricht das Ger¨ ust G mit der Pfeilmenge EG = { 0, 1 , 1, 2 } dem Schedule S = (0, 1, 3). S ist nicht zeitzul¨ assig, da Vorgang 3 fr¨ uhestens 4 Zeiteinheiten nach dem Projektbeginn starten darf. In Abbildung 2.15 entspricht Schedule S dem Schnittpunkt der beiden Geraden S1 − S0 = 1 und S2 − S1 = 2. 2.1.5 Zielfunktionen und ausgezeichnete Punkte Wie in Abschnitt 2.1.1 geschildert, existiert f¨ ur Problem (2.1) mit stetiger bzw. nach unten halbstetiger Zielfunktion f (S) stets eine optimale L¨osung. Je nach betrachteter Zielfunktion k¨ onnen wir uns bei der Suche nach einem solchen optimalen Schedule auf eine Menge ausgezeichneter Punkte beschr¨anken. Bei den ausgezeichneten Punkten handelt es sich um zeitzul¨assige Schedules, die potentielle Kandidaten f¨ ur eine optimale L¨osung darstellen. Dabei h¨angt die Menge der ausgezeichneten Punkte von speziellen Struktureigenschaften der betrachteten Zielfunktionen ab, die wir im Folgenden untersuchen. In Abh¨ angigkeit der Struktureigenschaften lassen sich dann unterschiedliche L¨ osungsverfahren etablieren. Bei den Zielfunktionen Projektdauer (PD ) und mittlere Durchlaufzeit (MFT ) handelt es sich um regul¨are Funktionen, d.h. f ist monoton wachsend in den Startzeitpunkten der Vorg¨ ange. F¨ ur zwei Schedules S, S ∈ Rn+2 ≥0 mit S ≤ S (d.h. Si ≤ Si f¨ ur alle i ∈ V ) gilt somit f (S) ≤ f (S ). Da der zeitzul¨ assige Bereich ST ein konvexes Polytop mit genau einem Minimalpunkt (dem ES -Schedule) darstellt, ist f¨ ur Problem (2.1) mit regul¨arer Zielfunktion der ES -Schedule optimal. Die Menge der ausgezeichneten Punkte f¨ ur Projektplanungsprobleme mit den Zielfunktionen (PD ), (MFT ) oder anderen regul¨ aren Funktionen besteht daher aus dem ES -Schedule. F¨ ur die lineare Zielfunktion (WST ) der Summe gewichteter Startzeitpunkte stellt Problem (2.1) ein lineares Programm dar, f¨ ur das immer einer der Extremalpunkte des zeitzul¨ assigen Bereichs optimal ist. Die Menge der ausgezeichneten Punkte f¨ ur Problem (2.1) mit Zielfunktion (WST ) entspricht somit allen Extremalpunkten (Ecken) von ST . Die Zielfunktion des Earliness-Tardiness-Problems (E + T ) ist konvex, d.h. jede Sekante liegt oberhalb des Graphen von f und es gilt f (λS + (1 − λ)S ) ≤ λf (S) + (1 − λ)f (S ) f¨ ur alle S, S ∈ Rn+2 ≥0 und λ ∈]0, 1[ (vgl. Abb. 2.16). F¨ ur konvexe Zielfunktionen ist i.d.R. kein Punkt auf dem Rand des zeitzul¨ assigen Bereichs ST optimal. Da aber f¨ ur Minimierungsprobleme mit konvexer Zielfunktion und konvexem zul¨ assigen Bereich jedes lokale Optimum auch global optimal ist, l¨ asst sich die Suche nach einem optimalen Schedule beschr¨ anken auf lokale Minimalstellen S ∗ der Funktion f , d.h. auf Punkte S ∗ , f¨ ur die f (S ∗ ) ≤ f (S ) f¨ ur alle S aus einer offenen ε-Umgebung von S ∗ erf¨ ullt E ist. Ist ci = 0 f¨ ur alle i ∈ V , so handelt es sich bei (E + T ) um eine regul¨are Funktion und der ES -Schedule ist optimal. Gilt cTi = 0 f¨ ur alle i ∈ V , so ist Zielfunktion (E + T ) multipliziert mit −1 regul¨ar, d.h. der LS -Schedule
2.1 Problemformulierung
145
f (S)
6
f (S ) f (S)
-S
S
S
Abb. 2.16. Konvexe Funktion
ist optimal. Eine optimale L¨ osung f¨ ur das Earliness-Tardiness-Problem mit T cE ur mindestens ein i ∈ V entspricht einer lokalen Minimalstelle S ∗ , i , ci > 0 f¨ bei der jeder Vorgang i entweder zu di − pi oder zu ES i bzw. LS i startet, wobei die ES - und LS -Werte planungsabh¨ angig gem¨aß Schedule S ∗ zu verstehen sind (vgl. Abschnitt 1.4.5). Die Zielfunktion (NPV ) des Kapitalwertmaximierungsproblems ist bin¨ar monoton, d.h. sie ist monoton auf jeder Halbgeraden {S ∈ Rn+2 ≥0 | S = n+2 S + λz, λ ∈ R} mit bin¨ arer Richtung z ∈ {0, 1} . Seien z eine bin¨are Richtung, V ⊆ V die Menge aller Vorg¨ ange i mit zi = 0 und V = V \ V die Menge aller Vorg¨ ange i mit zi = 1. Dann gilt f¨ ur die Zielfunktion f der Kapitalwertmaximierung Si +λzi f (S + λz) = − cF i β i∈V
=−
i∈V
=−
i∈V
Si cF − i β
i∈V
Si cF i β
− βλ
Si +λ cF i β
i∈V
Si cF . i β
Si Si F¨ ur − i∈V cF ≥ 0 ist f monoton wachsend und f¨ ur − i∈V cF ≤0 i β i β monoton fallend in bin¨ arer Richtung z. Somit ist f bin¨armonoton und da ferner die Begrenzungslinien von ST in bin¨ arer Richtung verlaufen, stellen ebenso wie bei linearen Zielfunktionen die Extremalpunkte von ST ausgezeichnete Punkte f¨ ur Problem (2.1) mit Zielfunktion (NPV ) dar. Dies ist intuitiv einsichtig, da wir in Abschnitt 2.1.2 bereits gezeigt haben, dass sich das Kapitalwertmaximierungsproblem in ein ¨ aquivalentes lineares Programm gleicher Dimension transformieren l¨ asst. Um ausgezeichnete Punkte f¨ ur Projektplanungsprobleme mit den Zielfunktionen (RI ), (RD) und (RL) angeben zu k¨onnen, sind einige einleitende Erl¨ auterungen notwendig. Wir f¨ uhren zun¨ achst den Begriff einer strengen Ordnung auf der Knotenmenge V ein.
146
2 Projektplanung unter Zeitrestriktionen
Definition 2.15 (Strenge Ordnung). Eine Relation auf der Menge V ist eine Menge von Paaren (i, j) ∈ V × V . Anstelle von (i, j) ∈ schreiben wir auch i ≺ j (wobei ≺“ als vor“ gelesen wird) und i ≺ j f¨ ur (i, j) ∈ . Eine ” ” strenge Ordnung auf der Knotenmenge V ist eine asymmetrische, transitive Relation ≺ in V , d.h. • •
f¨ ur keine zwei Elemente i, j ∈ V gilt i ≺ j und j ≺ i (Asymmetrie), wenn f¨ ur h, i, j ∈ V die Bedingungen h ≺ i und i ≺ j erf¨ ullt sind, dann gilt auch h ≺ j (Transitivit¨ at).
Strenge Ordnung O ⊆ V × V hat die folgende anschauliche Interpretation. Enth¨ alt Ordnung O das Element (i, j), so wird eine Vorrangbeziehung zwischen Vorgang i und Vorgang j induziert. Eine Vorrangbeziehung zwischen i und j besteht, wenn der Startzeitpunkt von j gr¨oßer oder gleich dem Endzeitpunkt von i ist, d.h. Sj − Si ≥ pi . Definition 2.16 (Ordnungspolytop). Sei O ⊆ V ×V eine strenge Ordnung auf der Knotenmenge V und sei ST (O) := {S ∈ ST | Sj − Si ≥ pi f¨ ur alle (i, j) ∈ O} die Menge aller zeitzul¨ assigen Schedules, die die durch O induzierten Vorrangbeziehungen einhalten. Dann stellt die Teilmenge ST (O) von ST ein konvexes Polytop dar, das wir als Ordnungspolytop von O bezeichnen. Die Ordnung O wird als zeitzul¨assig bezeichnet, wenn ST (O) = ∅ ist. Beispiel 2.17. Betrachten wir den MPM-Netzplan und den S1 -S2 -Schnitt des zugeh¨ origen zeitzul¨ assigen Bereichs ST in Abbildung 2.17. S2
6
0 0 0 H
Sq6
5
0 1 1 -2 -? 1 2 @ -2
HH 4 HH
-6 1 H j3
@1 @ 0 1 R @ *4 2
S4 q
Sq7
q S5
S3 q S8 q S1
q
- S1
q
S2
5
Abb. 2.17. Projektnetzplan und S1 -S2 -Schnitt des Bereichs ST
Ordnung O = {(1, 2)} besagt, dass Vorgang 2 starten kann, sobald Vorgang 1 beendet ist, d.h. S2 − S1 ≥ p1 . Da Vorgang 1 die Ausf¨ uhrungsdauer p1 = 1 besitzt, beinhaltet das Ordnungspolytop ST (O) alle Schedules S ∈ ST , f¨ ur die gilt, dass Vorgang 2 mindestens eine Zeiteinheit nach Vorgang 1 startet. Startet Vorgang 1 beispielsweise zum Zeitpunkt 0, dann
2.1 Problemformulierung
147
kann Vorgang 2 zu einem beliebigen Zeitpunkt t ∈ [1, 2] starten. Somit erhalten wir f¨ ur die Ordnung O = {(1, 2)} das durch die konvexe H¨ ulle der Punkte S 3 , S 6 , S 7 , S 8 spezifizierte Ordnungspolytop, d.h. ST (O) beinhaltet alle Schedules, die sich als Konvexkombination der Punkte S 3 , S 6 , S 7 , S 8 darstellen lassen, und wir schreiben daf¨ ur ST (O) = conv {S 3 , S 6 , S 7 , S 8 } (vgl. Abb. 2.17). F¨ ur die Ordnung O = {(2, 3)} erhalten wir analog das Ordnungspolytop ST (O) = conv {S 1 , S 2 , S 3 , S 4 , S 5 }. Im Folgenden f¨ uhren wir das Konzept des so genannten Ordnungsnetzplans N (O) einer strengen Ordnung O ein. Dabei ist N (O) der Netzplan, der aus dem Projektnetzplan N resultiert, indem wir f¨ ur jedes Paar (i, j) ∈ O einen Pfeil i, j mit der Bewertung δij = pi hinzuf¨ ugen, d.h. Vorgang j kann fr¨ uhestens nach dem Ende von Vorgang i starten. Besitzt Projektnetzplan N bereits einen Pfeil i, j mit der Bewertung δij , dann ersetzen wir seine Pfeilbewertung durch max{δij , pi }. Die Menge der zeitzul¨assigen Schedules des Ordnungsnetzplans N (O) entspricht gerade dem Ordnungspolytop ST (O) von O. Eine strenge Ordnung O ist demnach genau dann zeitzul¨assig, wenn der zugeh¨ orige Ordnungsnetzplan N (O) keine Zyklen positiver L¨ange beinhaltet und somit ST (O) = ∅ gilt. F¨ ur jeden zeitzul¨ assigen Schedule S ∈ ST existiert eine zugeh¨orige strenge Ordnung O(S) := {(i, j) ∈ V × V | i = j, Sj − Si ≥ pi }, die gerade die durch den Schedule S implizierten Vorrangbeziehungen besitzt (wir sagen auch die von Schedule S induzierte Ordnung).7 Aus Definition 2.16 folgt sofort, dass S ∈ ST (O(S)) gilt. Die kanonischen Vorrangbeziehungen (0, i) f¨ ur alle i ∈ V \ {0} sowie (i, n + 1) f¨ ur alle i ∈ V \ {n + 1} f¨ uhren wir im Folgenden bei der Darstellung einer Schedule induzierten Ordnung O(S) nicht explizit an, da diese f¨ ur einen wohldefinierten MPM-Netzplan stets erf¨ ullt sind. Das folgende Beispiel verdeutlicht den Zusammenhang zwischen einem Schedule S, der durch S induzierten Ordnung O(S) und dem Ordnungspolytop ST (O(S)) von O(S), welches auch Schedulepolytop genannt wird. Beispiel 2.18. Betrachten wir den MPM-Netzplan und den S1 -S2 -Schnitt des zugeh¨ origen zeitzul¨ assigen Bereichs ST in Abbildung 2.18. F¨ ur die eingezeichneten Schedules S i (i = 1, . . . , 17) sollen jeweils die zugeh¨orige Ordnung O(S i ) und das entsprechende Schedulepolytop ST (O(S i )) angegeben werden. Der zeitzul¨ assige Schedule S 1 = (0, 0, 0, 4, 6) impliziert die zugeh¨orige 1 Ordnung O(S ) = {(1, 3), (2, 3)}, d.h. Vorgang 3 beginnt nach der Beendigung der Vorg¨ ange 1 und 2. Das zur Ordnung O(S 1 ) geh¨orige konvexe Schedulepolytop besitzt die Extremalpunkte S 1 , S 2 , S 3 , S 4 , S 12 , S 14 , d.h. 7
O(S) repr¨ asentiert f¨ ur pi > 0, i = 1, . . . , n eine strenge Ordnung. Im Folgenden gehen wir davon aus, dass nur Vorg¨ ange i = {0, n + 1} mit pi > 0 bei der Generierung von O(S) ber¨ ucksichtigt werden, Vorg¨ ange mit pi = 0, wie z.B. Meilensteine, sind zwar bei der Bestimmung der planungsabh¨ angigen ES - und LS -Werte relevant, spielen aber f¨ ur die Ressourcenprofile eines Schedules keine Rolle.
148
2 Projektplanung unter Zeitrestriktionen S2
6 0
0 0 0 H
Sq6
5
1 1 -2 -? 1 2 @ -2
@1
@ 0 R @ *4 2 1
HH 4 HH
-6 1 H j3
S4 q S3 q
q S
13
S8 q S1
q
Sq7
Sq9
q S 16
q S 15
12 17 qS Sq
q S5
q S 11 q S 14
q
- S1
q
S 10 S 2
5
Abb. 2.18. Projektnetzplan und S1 -S2 -Schnitt des Bereichs ST
ST (O(S 1 )) = conv {S 1 , S 2 , S 3 , S 4 , S 12 , S 14 }. Schedule S 2 = (0, 2, 0, 4, 6) besitzt die zugeh¨ orige Ordnung O(S 2 ) = {(1, 3), (2, 1), (2, 3)}. Gem¨aß dieser Ordnung beginnt Vorgang 3 nach Beendigung der Vorg¨ange 1 und 2 und Vorgang 1 beginnt nach dem Ende von Vorgang 2. Das zu O(S 2 ) geh¨orige Schedulepolytop ist ST (O(S 2 )) = conv {S 2 , S 10 , S 11 , S 14 }. Tabelle 2.5 listet zusammenfassend die in Abbildung 2.18 eingezeichneten Schedules, die zugeh¨ origen Ordnungen O(S i ) und die entsprechenden Schedi ulepolytope ST (O(S )) auf. alt alle Schedules S , die mindestens die Schedulepolytop ST (O(S)) enth¨ durch S implizierten Vorrangbeziehungen einhalten. Ferner kann ein Schedule S ∈ ST (O(S)) aber noch weitere Vorrangbeziehungen implizieren. Betrachten wir z.B. S 16 in Abbildung 2.18 mit O(S 16 ) = {(1, 2), (1, 3)} und ST (O(S 16 )) = conv{S 3 , S 6 , S 8 , S 16 }, so enth¨ alt ST (O(S 16 )) Schedule S 3 mit 3 O(S ) = {(1, 2), (1, 3), (2, 3)}. = In einer so genannten Isoordnungsmenge ST (O(S)) hingegen sind nur Schedules enthalten, die dieselbe Ordnung wie S induzieren. Sei S ein zeitzul¨ assiger Schedule, dann nennen wir die Menge aller Schedules S aus dem Schedulepolytop von O(S) mit der Eigenschaft, dass O(S ) = O(S) ist, die Isoordnungsmenge von S. Die Isoordnungsmenge ST (O(S)) := {S ∈ ST (O(S)) | O(S ) = O(S)} =
von Schedule S enth¨ alt somit alle Schedules S ∈ ST , die die gleiche Ordnung wie S induzieren. Zum Verst¨ andnis betrachten wir Abbildung 2.19, in der ein Projektnetzplan und die Ressourcenprofile der beiden Schedules S 1 = (0, 0, 4, 5, 8) und S 2 = (0, 0, 4, 2, 8) dargestellt sind. F¨ ur die Vorg¨ange i ∈ {0, 1, 2, 4} gilt ES i = LS i ; nur Vorgang 3 ist nicht zeitlich fixiert. Da die Schedules S = (0, 0, 4, t, 8), t ∈ ]3, 7[, die Eigenschaft besitzen, dass O(S ) = O(S 1 ) gilt, ist die Isoordnungsmenge von S 1 = (0, 0, 4, 5, 8) gleich
2.1 Problemformulierung
149
ur alle i = 1, . . . , 17 Tabelle 2.5. S i , O(S i ) und ST (O(S i )) f¨ S 1
S S2 S3 S4 S5 S6 S7 S8 S9 S 10 S 11 S 12 S 13 S 14 S 15 S 16 S 17
O(S)
ST (O(S))
{(1, 3),(2, 3)} {(1 ,3), (2, 1), (2, {(1, 2), (1, 3), (2, {(1, 2), (1, 3), (2, {(2, 1), (2, 3), (3, {(1, 2), (1, 3), (3, {(1, 2), (3, 2)} {(1, 2), (1, 3), (2, {(3, 1), (3, 2)} {(1 ,3), (2, 1), (2, {(1 ,3), (2, 1), (2, {(1, 3), (2, 3)} {(1, 2), (1, 3), (2, {(1 ,3), (2, 1), (2, {(2, 1), (3, 1)} {(1, 2), (1, 3)} {(2, 1), (2, 3)}
conv {S 1 , S 2 , S 3 , S 4 , S 12 , S 14 } conv {S 2 , S 10 , S 11 , S 14 } conv {S 3 , S 4 , S 8 , S 13 } conv {S 3 , S 4 , S 8 , S 13 } {S 5 } {S 6 } conv {S 6 , S 7 } conv {S 3 , S 4 , S 8 , S 13 } {S 9 } conv {S 2 , S 10 , S 11 , S 14 } conv {S 2 , S 10 , S 11 , S 14 } conv {S 1 , S 2 , S 3 , S 4 , S 12 , S 14 } conv {S 3 , S 4 , S 8 , S 13 } conv {S 2 , S 10 , S 11 , S 14 } conv {S 5 , S 15 } conv {S 3 , S 6 , S 8 , S 16 } conv {S 2 , S 5 , S 10 , S 17 }
3)} 3)} 3)} 1)} 2)} 3)} 3)} 3)} 3)} 3)}
=
ST (O(S 1 )) = {(0, 0, 4, t, 8) | t ∈ ]3, 7[ }. F¨ ur S 2 = (0, 0, 4, 2, 8) ergibt sich die = 2 Isoordnungsmenge ST (O(S )) = {(0, 0, 4, t, 8)| t ∈ [1, 3] }. Wie wir sehen, sind Isoordnungsmengen i.d.R. nicht abgeschlossen, ihr Abschluss stellt aber ein konvexes Polytop dar. 1 1 2 0 0 0 H 0 HH1
3 4 2 1@ 4
@ 0 @ R4 @ * 1 0
-8
H
1
Legende:
pi i ri
δij -
pj j rj
HH j3 1
r(S 1 , t)
r(S 2 , t)
2
r6 rq
1
1
r qr
r 2
t 4
r rq rq 3 r 2
t 6
qr r
-t 8
2
r6 rq
1
1
r
r rq qr 3 r
r qr
2
4
qr r
2 6
-t 8
Abb. 2.19. Projektnetzplan und Ressourcenprofile von S 1 und S 2
150
2 Projektplanung unter Zeitrestriktionen
Auf Grundlage der vorhergehenden Ausf¨ uhrungen ist es nun m¨oglich, ausgezeichnete Punkte f¨ ur die Zielfunktionen (RI ), (RD) und (RL) anzugeben. Wie bereits erl¨ autert, ist die Zielfunktion (RI ) nach unten halbstetig. Weiterhin k¨ onnen wir zeigen, dass (RI ) konstant auf der Isoordnungsmenge jedes zeitzul¨ assigen Schedules S ist. Seien S , S ∈ ST= (O(S)) zwei Schedules aus der Isoordnungsmenge von S, und nehmen wir ferner an, dass rk (S , t ) = maxt∈[0,d] rk (S , t) ist. Da S und S die gleiche Ordnung implizieren, gibt es mindestens einen Zeitpunkt t mit A(S , t ) = A(S , t ), d.h. bei der Projektausf¨ uhrung gem¨ aß Schedule S u ¨berlappen sich zum Zeitpunkt t die gleichen Vorg¨ ange wie zum Zeitpunkt t bei der Ausf¨ uhrung gem¨aß S (siehe hierzu auch Abb. 2.19, Vorgang 3). Somit gilt, dass der Zielfunktionswert auf der Isoordnungsmenge konstant ist. Eine stetige oder nach unten halbstetige Funktion f : Rn+2 ≥0 → R, die auf der Isoordnungsmenge jedes zeitzul¨ assigen Schedules regul¨ar ist, wird lokal regul¨ar genannt. Die auf jeder Isoordnungsmenge konstante Funktion (RI ) geh¨ ort somit zu den lokal regul¨ aren Funktionen, f¨ ur die immer ein Minimalpunkt eines Schedulepolytops ST (O(S)), S ∈ ST optimal ist. Stellt der Minimalpunkt S des Abschlusses einer Isoordnungsmenge auch den Minimalpunkt des zugeh¨ origen Schedulepolytops dar und ist damit auch Element der Isoordnungsmenge, so haben wir einen Kandidaten f¨ ur die optimale L¨osung gefunden. Dies ergibt sich direkt aus der Regularit¨at von f auf der Isoordnungsmenge. Geh¨ ort der Minimalpunkt S des Abschlusses selbst nicht zur Isoord= nungsmenge, wie beispielsweise S 4 in Abbildung 2.20 nicht zu ST (O(S 18 )) = conv {S 4 , S 6 , S 13 , S 16 } \ conv {S 4 , S 13 } geh¨ ort, so gilt wegen der Halbstetig= keit nach unten von f , dass f (S 4 ) ≤ f (S) mit S ∈ ST (O(S 18 )). Da f auf = der Isoordnungsmenge ST (O(S 4 )) = conv {S 3 , S 4 , S 8 , S 13 } wieder regul¨ar ist, = gilt ferner f¨ ur den Minimalpunkt S 8 von ST (O(S 4 )): f (S 8 ) ≤ f (S 4 ) ≤ f (S) = f¨ ur alle S ∈ ST (O(S 18 )). Es sei angemerkt, dass S 8 dem Minimalpunkt der beiden Schedulepolytope ST (O(S 4 )) und ST (O(S 18 )) entspricht. S2
6 0
0 0 0 H
Sq6
5
S 18q
1 1 -2 -? 1 2 @ -2
HH 4 HH
-6
@1 @ 0 1 R @ *4 2
1 H j3
S4 q S3 q
Sq7
q S 16
q
S 13
S8 q S1
q
- S1 5
Abb. 2.20. Projektnetzplan und S1 -S2 -Schnitt des Bereichs ST
2.1 Problemformulierung
151
F¨ ur Zielfunktion (RI ) kommen also die Minimalpunkte der Schedulepolytope ST (O(S)) als potentielle L¨ osungen in Frage und bilden die Elemente der Menge der ausgezeichneten Punkte. Bei den Zielfunktionen (RD) und (RL) handelt es sich um stetige Funktionen. Zudem sind (RD ) und (RL) konkav auf der Isoordnungsmenge jedes zeitzul¨ assigen Schedules S. Bei konkaven Funktionen liegt jede Sekante unterhalb des Graphen von f , so dass die Funktion f auf einem abgeschlossenen Intervall [a, b] ihr Minimum in einem der beiden Endpunkte a oder b annimmt (vgl. Abb. 2.21), d.h. aufgrund der Stetigkeit entspricht eine Minimalstelle von f immer einer Ecke des Abschlusses der entsprechenden Isoordnungsmenge. f (S)
6 f (b)
f (a)
S a
b
S
-S
Abb. 2.21. Konkave Funktion
Eine nach unten halbstetige (stetige) Funktion f : Rn+2 ≥0 → R, die auf der Isoordnungsmenge jedes zeitzul¨ assigen Schedules konkav ist, wird lokal konkav genannt. Somit geh¨ oren (RD) und (RL) zu den lokal konkaven Funktionen, f¨ ur die immer ein Extremalpunkt eines Schedulepolytops optimal ist. Da jeder Extremalpunkt des Abschlusses einer Isoordnungsmenge auch Extremalpunkt eines Schedulepolytops ist, folgt dies sofort aus der Stetigkeit und Konkavit¨at von f . Die Menge der ausgezeichneten Punkte eines Projektplanungsproblems mit Zielfunktion (RD ) oder (RL) entspricht daher den Extremalpunkten aller Schedulepolytope ST (O(S)), S ∈ ST . Die verschiedenen Zielfunktionen und ihre ausgezeichneten Punkte sind zusammenfassend in Tabelle 2.6 angegeben. Tabelle 2.6. Zielfunktionen und ausgezeichnete Punkte Zielfunktion
ausgezeichnete Punkte von ST
(PD), (MFT ) (E + T ) (WST ), (NPV ) (RI ) (RD), (RL)
Minimalpunkt von ST lokale Minimalstellen S ∗ der Funktion f Extremalpunkte von ST Minimalpunkte von ST (O(S)) Extremalpunkte von ST (O(S))
152
2 Projektplanung unter Zeitrestriktionen
2.2 Exakte L¨ osungsverfahren Wir stellen nun exakte Verfahren zur L¨ osung von Projektplanungsproblemen unter Zeitrestriktionen mit den in Abschnitt 2.1.1 aufgef¨ uhrten Zielfunktionen vor. Die exakten Verfahren bestimmen unter den in Abschnitt 2.1.5 eingef¨ uhrten ausgezeichneten Punkten der jeweiligen Zielfunktion eine optimale L¨osung. 2.2.1 Minimierung der Projektdauer Bei den Zielfunktionen der Minimierung der Projektdauer (PD ) und der Minimierung der mittleren Durchlaufzeit (MFT ) handelt es sich, wie in Abschnitt 2.1.5 beschrieben, um regul¨ are Funktionen. Daher muss zur Bestimmung einer optimalen L¨ osung f¨ ur das entsprechende Optimierungsproblem der Minimalpunkt des zeitzul¨ assigen Bereichs ST ermittelt werden. Der Minimalpunkt von ST entspricht dem Vektor ES = (ES i )i∈V der fr¨ uhesten Startzeitpunkte mit ES i = d0i f¨ ur alle i ∈ V . Die Bestimmung der L¨angen l¨angster Wege d0i von 0 nach i kann mit dem Label-Correcting-Algorithmus (vgl. Algorithmus 1.15 in Abschnitt 1.4.3) oder dem Tripel-Algorithmus (vgl. Algorithmus 1.20 in Abschnitt 1.4.3) erfolgen. Beispiel 2.19. Betrachten wir den in Abbildung 2.22 dargestellten Projektnetzplan mit drei realen Vorg¨ angen und einer maximalen Projektdauer von d = 7. Mit Hilfe des Label-Correcting-Algorithmus soll nun eine optimale L¨osung f¨ ur die Projektdauerminimierung und die Minimierung der mittleren Durchlaufzeit bestimmt werden. 0
0
1 2 -2 -? 1 2 @ -2
0 0
@2 @
0 @ R @ * 4
HH
1 -7
HH3 HH
3 1 H j 3 H
Legende: pj pi δij j i
Abb. 2.22. Projektnetzplan mit drei realen Vorg¨ angen
Im Initialisierungsschritt setzen wir d00 := 0, p00 := 0 und Q := {0} sowie d0i := −∞ und p0i := −1 f¨ ur die Vorg¨ange i = 1, 2, 3, 4. Zu Beginn des ersten Hauptschrittes entfernen wir Vorgang 0 vom Kopf der Schlange Q. F¨ ur die Menge der unmittelbaren Nachfolger von Vorgang 0 ergibt
2.2 Exakte L¨ osungsverfahren
153
sich Succ(0) = {1, 2, 3}. Aktualisieren wir die L¨angen l¨angster Wege dieser Vorg¨ ange, so erhalten wir d01 := 0, d02 := 0, d03 := 3 und setzen p0i := 0 f¨ ur i = 1, 2, 3 sowie Q := {1, 2, 3}. Als N¨ achstes entfernen wir Vorgang i = 1 vom Kopf von Q und fahren auf gleiche Art und Weise fort. Die Ergebnisse der einzelnen Iterationen sind in Tabelle 2.7 angegeben. Tabelle 2.7. Ermittlung l¨ angster Wege von Knoten 0 zu allen anderen Knoten Iteration Q= Vorgang i 0 1 2 3 4
0 1 2 3 4 5 {0} {1, 2, 3} {2, 3, 4} {3, 4} {4} {} d0i p0i d0i p0i d0i p0i d0i p0i d0i p0i d0i p0i 0 −∞ −∞ −∞ −∞
0 0 0 −1 0 0 −1 0 0 −1 3 0 −1 −∞ −1
0 0 0 3 1
0 0 0 0 1
0 0 0 3 2
0 0 0 0 2
0 0 0 3 6
0 0 0 0 3
0 0 0 3 6
0 0 0 0 3
Der Minimalpunkt von ST entspricht also dem Vektor ES = (0, 0, 0, 3, 6). Damit betr¨ agt die minimale Projektdauer 6 Zeiteinheiten und die minimale mittlere Durchlaufzeit 13 5 = 2,6 Zeiteinheiten. 2.2.2 Minimierung der Summe gewichteter Startzeitpunkte Bei der Zielfunktion der Minimierung der Summe gewichteter Startzeitpunkte handelt es sich um eine lineare Funktion. Ein Projektplanungsproblem (2.1) mit linearer Zielfunktion stellt ein lineares Programm dar, f¨ ur das immer ein Extremalpunkt des zeitzul¨ assigen Bereichs optimal ist. Eine optimale L¨osung kann daher mit Hilfe eines beliebigen Verfahrens der linearen Programmierung, z.B. dem Simplex-Verfahren, ermittelt werden. Wesentlich effizienter ist es aber in diesem speziellen Fall, das zu (2.1) duale Problem zu l¨ osen, welches einem kostenminimalen Flussproblem entspricht.8 Dualisieren wir Problem (2.1) mit Zielfunktion (WST ), d.h. Minimiere f (S) := i∈V wi Si u.d.N. Sj − Si ≥ δij ( i, j ∈ E) S0 = 0 Si ≥ 0 (i ∈ V ), so erhalten wir das lineare Programm
8
Eine Einf¨ uhrung in die Dualit¨ atstheorie findet man z.B. in Domschke und Drexl (2005) oder Neumann und Morlock (2002).
154
2 Projektplanung unter Zeitrestriktionen
Maximiere u.d.N.
⎫ δij · xij + 0 · z ⎪ ⎪ ⎪ i,j ∈E ⎪ ⎪ ⎪ ⎪ xh0 − x0j = w0 z+ ⎪ ⎬ h,0 ∈E 0,j ∈E xhi − xij = wi (i ∈ V \ {0}) ⎪ ⎪ ⎪ h,i ∈E i,j ∈E ⎪ ⎪ ⎪ ( i, j ∈ E) ⎪ xij ≥ 0 ⎪ ⎭ z ∈ R,
(2.5)
wobei Pred (i) wieder die Menge der Vorg¨ anger und Succ(i) die Menge der Nachfolger von Knoten i im Projektnetzplan bezeichnet. Die Dualvariable z ist nicht vorzeichenbeschr¨ ankt und der zugeh¨ origeZielfunktionskoeffizient ist 0, daher k¨ onnen wir z beliebig w¨ ahlen, z.B. z := i∈V wi . Multiplizieren wir weiter die Zielfunktion mit −1, ergibt sich das zu (2.5) ¨aquivalente Minimierungsproblem ⎫ Minimiere −δij · xij ⎪ ⎪ ⎪ ⎬ i,j ∈E u.d.N. xhi − xij = wi (i ∈ V ) (2.6) ⎪ h,i ∈E i,j ∈E ⎪ ⎪ ( i, j ∈ E), ⎭ xij ≥ 0 mit w0 = − i∈V \{0} wi . Problem (2.6) entspricht einem kostenminimalen ur alle Flussproblem mit einer unteren Schranke (Minimalkapazit¨at) λij = 0 f¨ x , i, j ∈ E. Außerdem gilt aufgrund der geschickten Wahl von w 0 , dass ij w = 0. Die Variable x gibt an, wie viele Flusseinheiten von Knoten i i ij i∈V zu Knoten j transportiert werden. In der Literatur wird gemeinhin angenommen, dass f¨ ur jede Flussvariable xij , i, j ∈ E, neben einer unteren Schranke λij auch eine obere Schranke κij vorgegeben ist. Im vorliegenden Fall gilt dann κij = ∞ f¨ ur alle i, j ∈ E. Das Gewicht wi bezeichnet f¨ ur jeden Knoten i ∈ V den Bedarf an Flusseinheiten. Entsprechend bezeichnen wir einen Knoten i mit wi > 0 als Nachfrageknoten, einen Knoten i mit wi < 0 als Angebotsknoten und einen Knoten mit wi = 0 als Umladeknoten. Gesucht ist ein Fluss mit minimalen Kosten, der den Flussbedingungen gen¨ ugt, d.h. dass f¨ ur alle Knoten i ∈ V die Summe der in Knoten i einm¨ undenden Flusseinheiten abz¨ uglich der aus Knoten i ausm¨ undenden Flusseinheiten gerade wi entspricht. Zun¨ achst konstruieren wir das dem Flussproblem (2.6) zugrunde liegende Flussnetzwerk N F = V F , E F ; δ F , λ, κ . Knoten- und Pfeilmenge des Flussnetzwerks N F entsprechen der Knoten- und Pfeilmenge des urspr¨ unglichen Projektnetzplans N = V, E; δ . F¨ ur die Pfeile i, j ∈ E F ergeben sich die F Bewertungen δij := −δij sowie dieKapazit¨ aten λij := 0 und κij := ∞. Knoten 0 erh¨ alt das Gewicht w0 := − i∈V \{0} wi , w¨ahrend alle anderen Knoten ihr Gewicht beibehalten. Beispiel 2.20. Betrachten wir den Projektnetzplan N in Abbildung 2.23 mit drei realen Vorg¨ angen und einer maximalen Projektdauer von d = 4. Die Knoten i des Netzplans sind mit Gewichten wi bewertet.
2.2 Exakte L¨ osungsverfahren
1
4 1
−1 - −3 2
155
@
@2 @ 2 0 R @ −4 0 * 4 HH 0 3 HH HH −1 j 3 H
Legende: wj wi δij - j i
Abb. 2.23. Projektnetzplan N mit drei realen Vorg¨ angen
Das Flussnetzwerk N F ergibt sich aus dem Projektnetzplan N , indem wir F den Pfeilen i, j ∈ E F die Bewertungen δij := −δij zuordnen und das Ge wicht des Knotens 0 auf w0 := − i∈V \{0} wi = −2 setzen. Das resultierende Flussnetzwerk N F ist in Abbildung 2.24 dargestellt.
−1
−2 0
4 1
1 - −3 2
@−2 @ 2 R @ * 4 −3
4
HH
0 HH
@
HH −1 j 3 H
Legende: wj wi F δij - j i
Abb. 2.24. Flussnetzwerk N F = V F , E F ; δ F , λ, κ
Aus dem folgenden Satz vom komplement¨aren Schlupf folgt, dass aus einer optimalen L¨ osung (xij )i,j ∈E des Flussproblems (2.6) eine optimale L¨osung f¨ ur Problem (2.1) mit Zielfunktion (WST ) konstruiert werden kann, indem wir das lineare Gleichungssystem Sj − Si = δij f¨ ur alle i, j ∈ E mit xij > 0 l¨ osen; vgl. Domschke und Drexl (2005, S. 34). Satz 2.21 (Satz vom komplement¨ aren Schlupf ). Gegeben seien zwei zueinander duale lineare Programme. Ist f¨ ur eine optimale L¨osung des einen Problems eine der Nebenbedingungen nicht bindend, d.h. sie hat Schlupf, dann ist die mit dieser Nebenbedingung korrespondierende Variable des anderen Problems in einer optimaler L¨ osung gleich 0. Ist andererseits in einer optimalen L¨ osung des einen Problems eine der Entscheidungsvariablen positiv, so ist die mit dieser Variablen korrespondierende Nebenbedingung des anderen Problems in einer optimaler L¨ osung bindend, d.h. sie hat keinen Schlupf. Wie wir noch sehen werden, stellt f¨ ur das in Beispiel 2.20 vorgestellte Problem der Fluss x01 = 4, x24 = 3, x34 = 1, x40 = 2 und xij = 0 f¨ ur alle
156
2 Projektplanung unter Zeitrestriktionen
u ¨ brigen Variablen einen optimalen Fluss dar. Aus Satz 2.21 k¨onnen wir nun folgern, dass in einer optimalen L¨ osung von Problem (2.1) die Nebenbedingungen S0 − S4 ≥ −4, S1 − S0 ≥ 1, S4 − S2 ≥ 2 und S4 − S3 ≥ 3 bindend, d.h. mit Gleichheit erf¨ ullt sind. Die L¨ osung S = (0, 1, 2, 1, 4) des entsprechenden linearen Gleichungssystems S0 − S4 = −4 S1 − S 0 = 1 S 4 − S2 = 2 S 4 − S3 = 3 S0 = 0 entspricht daher einer optimalen L¨ osung f¨ ur die Minimierung der Summe gewichteter Startzeitpunkte. Eine optimale L¨ osung f¨ ur Flussproblem (2.6) kann ermittelt werden, indem wir einen zul¨ assigen Ausgangsfluss sukzessive verbessern. Zur Bestimmung eines zul¨ assigen Ausgangsflusses x f¨ ur das Flussnetzwerk N F erg¨anzen F wir die Knotenmenge V um einen Umladeknoten n + 2 mit dem Gewicht wn+2 := 0. Dann f¨ ugen wir f¨ ur jeden Nachfrageknoten l einen Pfeil n + 2, l und f¨ ur jeden Angebotsknoten h einen Pfeil h, n + 2 mit der Bewertung F F δn+2,l := |δ | bzw. δ := ij h,n+2 i,j ∈E i,j ∈E |δij | ein. Der Transport einer Flusseinheit auf diesen Pfeilen ist also teurer als auf einem beliebigen Weg im Flussnetzwerk, der Knoten n + 2 nicht enth¨alt. Alle eingef¨ uhrten Pfeile erhalten eine Minimalkapazit¨ at von Null und eine Maximalkapazit¨ at von ∞. Das entsprechend erweiterte Flussnetzwerk bezeichnen wir mit ˆ F = Vˆ F , E ˆ F , δ F , λ, κ . Ein zul¨ N assiger Ausgangsfluss x im erweiterten Flussnetzwerk ergibt sich nun ganz kanonisch, indem wir xi,n+2 := −wi f¨ ur alle Pfeile i, n + 2 und xn+2,i := wi f¨ ur alle Pfeile n + 2, i setzen. Die u ¨brigen Pfeile erhalten einen Fluss von 0. Zur sukzessiven Verbesserung des Ausgangsflusses ben¨ otigen wir das zum gegebenen Fluss x geh¨orige Inkrementnetzwerk N I = V I , E I , δ I , λ, κ , das wie folgt definiert ist. F¨ ur die Knotenmenge des Inkrementnetzwerks gilt V I := Vˆ F . Die Pfeilmenge des Inkrementnetzwerks entspricht zun¨ achst der Pfeilmenge Eˆ F des erweiterten Flussnetzwerks mit ˆ F , dann den jeweiligen Bewertungen. Gilt xij > 0 f¨ ur einen Pfeil i, j ∈ E I erg¨ anzen wir das Inkrementnetzwerk N um einen R¨ uckw¨artspfeil j, i mit F der Bewertung −δij und den unteren bzw. oberen Kapazit¨aten λji = 0 bzw. κji = xij . Die Optimalit¨ at des aktuellen Flusses x kann nun mit Hilfe des folgenden aus der Graphentheorie bekannten Satzes u uft werden; vgl. ¨ berpr¨ z.B. Neumann und Morlock (2002, Abschnitt 2.6.6). Satz 2.22. Eine zul¨ assige L¨ osung (Fluss) f¨ ur das Flussproblem (2.6) ist genau dann optimal, falls das entsprechende Inkrementnetzwerk keinen Zyklus negativer L¨ ange besitzt. Beinhaltet das Inkrementnetzwerk N I einen Zyklus negativer L¨ange, so kann der aktuelle Fluss verbessert werden. Dazu bestimmen wir einen solchen
2.2 Exakte L¨ osungsverfahren
157
Zyklus, sagen wir Zyklus C, und ermitteln die minimale Maximalkapazit¨at aller in C enthaltenen Pfeile, d.h. κ∗ = mini,j ∈C {κij }.9 Seien E + := { i, j ∈ ˆ F } und E − := { i, j ∈ C | i, j ∈ N ˆ F ∧ j, i ∈ N ˆ F }. Dann wird C | i, j ∈ N F ˆ nun im erweiterten Flussnetzwerk N auf allen Pfeilen i, j ∈ E + der Fluss xij um κ∗ Einheiten erh¨ oht und auf allen Pfeilen j, i , f¨ ur die i, j ∈ E − gilt, ∗ um κ Einheiten verringert. Ausgehend von der so erhaltenen neuen L¨osung x wird abermals das zugeh¨ orige Inkrementnetzwerk konstruiert und ein Zyklus negativer L¨ ange gesucht. Diese Schritte werden solange wiederholt, bis das Inkrementnetzwerk f¨ ur den aktuellen Fluss schließlich keinen Zyklus negativer L¨ ange mehr enth¨ alt. Der aktuelle Fluss ist dann optimal. Ein zugeh¨origer optimaler Schedule f¨ ur das zugrunde liegende Projektplanungsproblem kann dann, wie bereits gesagt, mit dem Satz vom komplement¨aren Schlupf bestimmt werden. Beispiel 2.23. Betrachten wir abermals den Projektnetzplan N in Abbildung 2.23 und das zugeh¨ orige Flussnetzwerk N F in Abbildung 2.24. Um f¨ ur das Flussnetzwerk einen zul¨ assigen Ausgangsfluss zu bestimmen, f¨ ugen wir den Umladeknoten 5 mit dem Gewicht w5 = 0 ein. Weiter ist f¨ ur jeden Nachfrageknoten l = 1, 4 ein Pfeil 5, l und f¨ ur jeden Angebotsknoten h = 0, 2, 3 F F ein Pfeil h, 5 mit der Bewertung δ5l = 11 bzw. δh5 = 11 in das Flussnetzwerk ˆ F ist mit einem aufzunehmen. Das resultierende erweiterte Flussnetzwerk N zul¨ assigen Ausgangsfluss x05 := 2, x25 := 3, x35 := 1, x51 := 4, x54 := 2 und xij = 0 f¨ ur alle u ¨ brigen Variablen in Abbildung 2.25 dargestellt. 0 4 1
−3
- 2 J ]J
J
0
4 3
J0 J J 2 −2 ?
J 0
2 2
JJ J 5
^ 0
3 4 Q Q 6 Q 0 0 1 Q Q −1 Q Q s 3 Q 0
Legende: wj wi xij j i
ˆF Abb. 2.25. Ausgangsfluss im erweiterten Flussnetzwerk N
ˆ F geh¨ Das zum Ausgangsfluss in N orende Inkrementnetzwerk N I erhalten F ˆ wir, indem wir f¨ ur alle i, j ∈ E mit xij > 0 das erweiterte Flussnetzwerk F ˆ F um einen R¨ N uckw¨ artspfeil j, i mit den Bewertungen −δij sowie λji = 0 und κji = xij erg¨ anzen (vgl. Abb. 2.26). 9
Um die Notation zu vereinfachen, stellen wir einen Zyklus 1, 2, 3, 1 in diesem Abschnitt als Pfeilfolge {1, 2, 2, 3, 3, 1} dar.
158
2 Projektplanung unter Zeitrestriktionen 4 4 1 J ]J J
−3
2
J −11 −11 −1 J
J−2
JJ
11 11
J 2 −2 ?
JJ 0 11
11 ^ J
JJ
J
^ 0 5 3 4 Q −11 −11 Q 6 Q −11 11 Q 0 Q −1 −3 Q ? Q 3 s Q 1
Legende: wj wi I δij j i
Abb. 2.26. Inkrementnetzwerk N I
Das Inkrementnetzwerk N I besitzt mehrere Zyklen negativer L¨ange. Die L¨ ange von Zyklus C 1 = { 5, 0 , 0, 1 , 1, 5 } betr¨agt beispielsweise δ50 + δ01 + δ15 = −23. Wir konstruieren die zugeh¨origen Mengen E + := { 0, 1 } und E − := { 5, 0 , 1, 5 }. Die minimale Maximalkapazit¨at im Zyklus C 1 ist ˆ F den Fluss κ∗ := min{2, ∞, 4} = 2. Daher erh¨ ohen wir im Netzwerk N auf dem Pfeil 0, 1 um 2 Einheiten, auf den Pfeilen { 0, 5 , 5, 1 } wird der Fluss um 2 Einheiten verringert. Es ergeben sich ver¨anderte Flusswerte x05 = 0, x01 = 2 und x51 = 2. Das zu dem resultierenden Fluss konstruierte Inkrementnetzwerk besitzt den Zyklus C 2 = { 5, 2 , 2, 4 , 4, 5 }, f¨ ur den die kumulierten Kosten −24 betragen. Es ergeben sich die Mengen E + := { 2, 4 } und E − := { 5, 2 , 4, 5 }. Die minimale Maximalkapazit¨at im Zyklus C 2 ist ˆ F auf dem Pfeil 2, 4 um 2 Einmin{3, ∞, 2} = 2; somit wird der Fluss in N heiten erh¨ oht und auf den Pfeilen { 2, 5 , 5, 4 } um 2 Einheiten verringert. Damit ergeben sich die neuen Flusswerte x25 = 1, x24 = 2 und x54 = 0. Das zu dem erhaltenen Fluss geh¨ orige Inkrementnetzwerk beinhaltet den Zyklus C 3 = { 5, 3 , 3, 4 , 4, 0 , 0, 1 , 1, 5 } mit den Gesamtkosten −22 und einer minimalen Maximalkapazit¨ at von min{1, ∞, ∞, ∞, 2} = 1. Wir konstruieren die Mengen E + := { 3, 4 , 4, 0 , 0, 1 } und E − := { 5, 3 , 1, 5 }. ˆ F auf den Pfeilen { 3, 4 , 4, 0 , 0, 1 } um eiErh¨ ohen wir den Fluss in N ne Einheit und verringern wir den Fluss auf den Pfeilen { 3, 5 , 5, 1 } um eine Einheit, dann erhalten wir die Flusswerte x35 = 0, x34 = 1, x40 = 1, x01 = 3 und x51 = 1. Im neu konstruierten Inkrementnetzwerk existiert nur noch der Zyklus C 4 = { 5, 2 , 2, 4 , 4, 0 , 0, 1 , 1, 5 } mit negativen kumulierten Kosten in H¨ ohe von −21 und einer minimalen Maximalkapaˆ F auf den Pfeilen zit¨ at von min{1, ∞, ∞, ∞, 1} = 1. Wird der Fluss in N { 2, 4 , 4, 0 , 0, 1 } um eine Einheit erh¨ oht und auf den Pfeilen { 2, 5 , 5, 1 } um eine Einheit verringert, so ergibt sich der in Abbildung 2.27 dargestellte Fluss: x01 = 4, x24 = 3, x34 = 1 und x40 = 2 sowie xij = 0 f¨ ur alle u ¨brigen Variablen. Das entsprechende Inkrementnetzwerk enth¨alt keinen Zyklus negativer L¨ ange. Somit ist der gefundene Fluss optimal. Der zugeh¨orige Schedule kann nun mit dem Satz vom komplement¨ aren Schlupf bestimmt werden. Wir
2.2 Exakte L¨ osungsverfahren
159
erhalten mit S = (0, 1, 2, 1, 4) die optimale L¨ osung f¨ ur das Problem der Minimierung der Summe gewichteter Startzeitpunkte. 2 4 1
−3
- 2 J ]J
J
4
0 0
J3 J J 2 −2 ?
J 0
0 0
JJ J 5
^ 0
3 4 Q Q 6 Q 0 1 0 Q Q −1 Q Q s 3 Q 0
Legende: wj wi xij - j i
ˆF Abb. 2.27. Optimaler Fluss im erweiterten Flussnetzwerk N
2.2.3 Maximierung des Kapitalwertes Wie bereits in Abschnitt 2.1.4 beschrieben, l¨ asst sich das Problem der Kapitalwertmaximierung in ein lineares Programm transformieren. Zur Bestimmung einer optimalen L¨ osung kann folglich das Simplex-Verfahren verwendet werden. Eine weitaus effizientere Methode zur Bestimmung eines Schedules mit maximalem Kapitalwert ist jedoch das im Folgenden beschriebene Anstiegsverfahren. Aus didaktischen Gr¨ unden betrachten wir dabei anstelle der zu minimierenden Zielfunktion (NPV ) die ¨ aquivalente zu maximierende Zielfunk −αSi tion f (S) := i∈V cF . Ausgehend von einem Extremalpunkt S ∈ ST i e bestimmen wir in jeder Iteration des Anstiegsverfahrens eine m¨oglichst steile zul¨ assige Anstiegsrichtung z. Sei φi := ∂f (S)/∂Si die partielle Ableitung der Zielfunktion f nach Si im Punkt S, die die Ver¨anderung des Kapitalwertes angibt, den eine marginale Erh¨ ohung des Startzeitpunktes Si von Vorgang i bewirkt. Dann w¨ ahlen wir eine zul¨ ur die die so genannte assige Richtung z, f¨ Richtungsableitung z T ∇f (S) := i∈V zi φi maximal ist (steilste Anstiegsrichtung). Weiterhin bestimmen wir eine Schrittweite λ, die angibt, wie weit wir uns in Richtung z bewegen k¨ onnen, bevor eine der vorgegebenen Zeitbeziehungen verletzt oder die Richtungsableitung negativ wird (letzteres passiert nicht, wenn wir in eine bin¨ are Richtung gehen). Ausgehend von einem Extremalpunkt S bewegen wir uns so zu einem zeitzul¨assigen Schedule S := S + λz mit h¨ oherem Kapitalwert. Betrachten wir zun¨ achst die Bestimmung einer zul¨assigen steilsten Anstiegsrichtung z f¨ ur einen beliebigen Extremalpunkt S ∈ ST . In jedem Extremalpunkt S ∈ ST sind mindestens n + 1 linear unabh¨angige Nebenbedingungen bindend. Daher l¨ asst sich S als Ger¨ ust G = V, EG des Projektnetzplans
160
2 Projektplanung unter Zeitrestriktionen
N darstellen, wobei jeder Pfeil i, j ∈ EG zu einer bindenden Nebenbedingung Sj − Si = δij geh¨ ort (vgl. Abschnitt 2.1.4). W¨ahlen wir zur Normierung des Richtungsvektors z die Maximumsnorm, d.h. ||z||∞ = maxi∈V |zi |, dann kann die Bestimmung einer zul¨ assigen steilsten Anstiegsrichtung in S mit dem zugeh¨ origen Ger¨ ust G als lineares Programm in den Ver¨anderlichen zi wie folgt formuliert werden Maximiere z T ∇f (S) := u.d.N. zj − zi ≥ 0 z0 = 0 −1 ≤ zi ≤ 1
i∈V
−αSi −αcF zi i e
( i, j ∈ EG ) (i ∈ V ) .
⎫ ⎪ ⎪ ⎬ ⎪ ⎪ ⎭
(2.7)
Die Nebenbedingungen zj − zi ≥ 0, i, j ∈ EG , stellen sicher, dass bei einer Verz¨ ogerung des Startzeitpunktes von Vorgang i um zi > 0 Zeiteinheiten auch alle Nachfolger j von i im Ger¨ ust G um zj ≥ zi Zeiteinheiten verz¨ogert werden, da alle Pfeile im zugrunde liegenden Ger¨ ust bindende Zeitbeziehungen repr¨ asentieren. Bei einer Verz¨ ogerung des Startzeitpunktes von Vorgang j um zj < 0 Zeiteinheiten, d.h. Vorgang j wird zj Zeiteinheiten fr¨ uher gestartet, m¨ ussen aufgrund der bindenden Zeitbeziehungen alle Vorg¨anger i von j im Ger¨ ust G um zi ≤ zj Zeiteinheiten fr¨ uher starten. Die Bedingung z0 = 0 besagt, dass der Projektstart weder vorgezogen noch verz¨ogert werden darf. Die beiden Nebenbedingungen sorgen somit daf¨ ur, dass es sich bei z um eine zul¨ assige Anstiegsrichtung handelt. Durch die Zielfunktion wird gew¨ahrleistet, dass wir eine steilste Anstiegsreichtung erhalten. Es l¨ asst sich zeigen, dass die Koeffizientenmatrix von Problem (2.7) total unimodular ist, d.h. die Determinante jeder quadratischen Teilmatrix nimmt nur die Werte 0, 1 bzw. −1 an. Aufgrund dieser Eigenschaft der Koeffizientenmatrix und der gew¨ ahlten Normierung existiert f¨ ur Problem (2.7) immer eine optimale L¨ osung z ∈ {−1, 0, 1}n+2. Schwindt und Zimmermann (1998) zeigen ferner, dass ausgehend vom ES -Schedule immer eine zul¨assige steilste Anstiegsrichtung z ∈ {0, 1}n+2 f¨ ur unser Anstiegsverfahren existiert. Sei S 1 , . . . , S r eine endliche Folge von Schedules mit S 1 = ES und S q+1 = S q + λq z q f¨ ur q = 1, . . . , r − 1, wobei λq ∈ R≥0 ist, und z q = 0 f¨ ur alle q = 1, . . . , r eine steilste Anstiegsrichtung f¨ ur Schedule S q repr¨asenr tiert. Dann gilt f¨ ur jede optimale L¨ osung z des Problems (2.7) f¨ ur Schedule S r , dass z r ≥ 0, d.h. in jedem Schritt kann z ∈ {0, 1}n+2 gew¨ahlt werden. Die Folge der mit Hilfe des steilsten Anstiegsverfahrens generierten Schedules S 1 , . . . , S r ist somit komponentenweise monoton wachsend, d.h. S 1 ≤ S 2 ≤ · · · ≤ S r−1 ≤ S r . Die Bestimmung einer steilsten Anstiegsrichtung z ∈ {0, 1}n+2 f¨ ur Schedule S mit zugeh¨ origem Ger¨ ust G basiert auf dem folgenden Lemma. Lemma 2.24. Sei i die Anzahl der Pfeile auf einem Semiweg (ungerichtete Pfeilfolge) von Knoten 0 zu Knoten i im Ger¨ ust G des Projektnetzplans N . Die Vorg¨ ange i des Ger¨ ustes mit maximalem i stellen dann entweder Quellen mit genau einem Nachfolger oder Senken mit genau einem Vorg¨anger dar.
2.2 Exakte L¨ osungsverfahren
161
In Abbildung 2.28 ist ein Ger¨ ust mit den zugeh¨origen Zahlungen cF ur i f¨ alle Vorg¨ ange i ∈ V angegeben. F¨ ur i = 3, 4 ist i = 2 maximal, wobei Vorgang 3 eine Senke mit genau einem Vorg¨ anger und Vorgang 4 eine Quelle mit genau einem Nachfolger darstellt. Wir skizzieren nun anhand dieses Beispiels, wie man eine steilste Anstiegsrichtung bestimmt, bevor wir im Anschluss eine allgemeine Beschreibung des Vorgehens zur Bestimmung einer steilsten Anstiegsrichtung geben.
0 0 @ 0
5 1 1
@ 5 R 2 @ 1
-10
- 3 2
-10 4 2
Legende: cF i i i
cF j
- j
j
Abb. 2.28. Ger¨ ust mit 3 = 4 = 2 −αS3 Da die partielle Ableitung φ3 = −αcF der Zielfunktion f nach S3 im 3e Punkt S f¨ ur beliebige α > 0 positiv ist, f¨ uhrt eine Erh¨ohung von S3 auch zu einer Erh¨ ohung des Projektkapitalwertes. Wir setzen daher z3 := 1. F¨ ur den Vorg¨ anger von Vorgang 3, Vorgang 1, ist φ1 < 0, d.h. eine Verz¨ogerung des Vorgangs f¨ uhrt zu einer Verminderung des Kapitalwertes. Aus diesem Grund setzen wir z1 := 0. F¨ ur Vorgang 4 ist die partielle Ableitung φ4 positiv und eine Verz¨ ogerung von Vorgang 4 f¨ uhrt zu einer Erh¨ohung des Kapitalwertes. Vorgang 4 hat im Ger¨ ust G jedoch Knoten 2 als Nachfolger, d.h. es existiert eine bindende Zeitbeziehung zwischen den Vorg¨angen 4 und 2. Wollen wir Vorgang 4 verz¨ ogern, so m¨ ussen wir Vorgang 2 gemeinsam mit Vorgang 4 verz¨ ogern, um die im zugrunde liegenden Netzplan gegebenen Zeitbeziehungen einzuhalten. Wir betrachten daher die Summe der partiellen Ableitungen der beiden Vorg¨ ange. Ist φ2 + φ4 > 0, d.h. die gemeinsame Verz¨ogerung von Vorgang 2 und 4 f¨ uhrt zu einer Erh¨ ohung des Kapitalwertes, so setzen wir z2 := z4 := 1. Andernfalls gilt z2 := z4 := 0, d.h. die Vorg¨ange 2 und 4 werden nicht verz¨ ogert. Da wir annehmen, dass Vorgang 0 zum Zeitpunkt S0 = 0 startet, gilt naturgem¨ aß z0 := 0. Zur Bestimmung einer steilsten zul¨ assigen Anstiegsrichtung gehen wir nun im Einzelnen wie folgt vor. Seien S ein Extremalpunkt des zeitzul¨assigen Bereichs ST und G ein zugeh¨ origes Ger¨ ust. Ausgehend von den Vorg¨angen i mit maximaler Pfeilanzahl i bestimmen wir dann Teilger¨ uste, deren Verz¨ogerung zu einer Erh¨ ohung des Projektkapitalwertes f¨ uhren. F¨ ur die Vorg¨ange i eines solchen Teilger¨ ustes setzen wir zi := 1. Wir bestimmen dazu zun¨ achst die Werte i f¨ ur alle i ∈ V \{0} und sortieren sie nach nichtwachsenden Werten. Anschließend ermitteln wir die partiellen Ableitungen φi = ∂f (S)/∂Si von f nach Si im Punkt S. Wir entnehmen
162
2 Projektplanung unter Zeitrestriktionen
jeweils den Knoten i mit maximalem i und untersuchen, ob es sich um eine Quelle oder eine Senke im zugrunde liegenden Ger¨ ust G handelt. Ist Vorgang i eine Senke, dann ist zu pr¨ ufen, ob die Verz¨ ogerung von Vorgang i zu einer Erh¨ ohung des Zielfunktionswertes f¨ uhrt. Dies ist f¨ ur φi > 0 der Fall und wir setzen zi := 1. F¨ uhrt allerdings die Verz¨ ogerung des Vorgangs i nicht zu einer Erh¨ ohung des Kapitalwertes, d.h. φi ≤ 0, dann verschmelzen“ wir ” Vorgang i mit seinem eindeutigen Vorg¨ anger j, indem wir φj := φj + φi setzen.10 φj gibt dann die Ver¨ anderung des Kapitalwertes an, wenn wir das Teilger¨ ust bestehend aus den Knoten i und j verz¨ogern. Da Knoten i mit seinem Vorg¨ anger j verschmolzen wurde, braucht Knoten i im Folgenden nicht weiter betrachtet zu werden. Handelt es sich bei Vorgang i um eine Quelle in G, so kann Vorgang i nur gemeinsam mit seinem eindeutig direkten Nachfolger j in G in einer bin¨aren Richtung zi ∈ {0, 1} verz¨ ogert werden, da zwischen i und j eine bindende Zeitbeziehung existiert. Gehen wir vom ES -Schedule aus, so ist φi f¨ ur eine Quelle i außerdem immer positiv. Wir verschmelzen daher Quelle i stets mit ihrem Nachfolger j, setzen φj := φj + φi und brauchen Knoten i im Weiteren nicht mehr zu ber¨ ucksichtigen. Diese Schritte werden solange ausgef¨ uhrt, bis alle Vorg¨ange i ∈ V \ {0} betrachtet wurden. Ist die Verz¨ ogerung eines Teilger¨ ustes vorteilhaft, d.h. die (kumulierte) partielle Ableitung φj des Knotens j, der ein Teilger¨ ust repr¨ asentiert, ist positiv, so werden alle zu diesem Teilger¨ ust geh¨orenden Vorg¨ ange verz¨ ogert. Bezeichne C(j) die Menge der mit Vorgang j verschmolzenen Vorg¨ ange, dann setzen wir also zi := 1 f¨ ur alle i ∈ C(j). F¨ ur die mit Knoten 0 verschmolzenen Vorg¨ ange i ∈ C(0) gilt zi := 0. Algorithmus 2.25 fasst die beschriebene Vorgehensweise zusammen. Algorithmus 2.25 (Bestimmung einer steilsten Anstiegsrichtung z f¨ ur Schedule S). −αSi Setze zi := 0, φi := ∂f (S)/∂Si = −α cF und C(i) := {i} f¨ ur alle i ∈ V . i e Bestimme ein zu S geh¨ origes Ger¨ ust G und setze V := V \ {0}. ur alle i ∈ V . Bestimme i f¨ Solange V = ∅: Entnimm einen Vorgang i mit gr¨ oßtem i aus V . Falls i eine Quelle im aktuellen Ger¨ ust G darstellt, d.h. i besitzt keinen Vorg¨ anger, aber genau einen Nachfolger j: Verschmelze Knoten i mit Knoten j und setze φj := φj +φi und C(j) := C(j) ∪ C(i). Falls i eine Senke im aktuellen Ger¨ ust G darstellt, d.h. i besitzt keinen Nachfolger, aber genau einen Vorg¨ anger j: 10
Eine Senke i mit maximalem i besitzt nach Lemma 2.24 immer genau einen Vorg¨ anger.
2.2 Exakte L¨ osungsverfahren
163
Falls φi > 0: Setze zh := 1 f¨ ur alle h ∈ C(i). Andernfalls verschmelze Knoten i mit Knoten j und setze φj := φj + φi und C(j) := C(j) ∪ C(i). Mit Hilfe von Algorithmus 2.25 bestimmen wir zum einen eine bin¨are steilste Anstiegsrichtung z ∈ {0, 1}n+2 und zum anderen Teilger¨ uste mit der Knotenmenge C(j), j ∈ V , die gemeinsam verschoben werden k¨onnen. Hierbei ist zu beachten, dass die Verz¨ ogerung jedes einzelnen Teilger¨ ustes (d.h. die Verz¨ ogerung jedes Vorgangs dieses Teilger¨ ustes um denselben Betrag) eine Verschiebung in eine bin¨ are Richtung darstellt und somit f¨ ur sich eine Verbesserung des Zielfunktionswertes bewirkt. Nachdem eine steilste Anstiegsrichtung z ∈ {0, 1}n+2 ermittelt wurde, m¨ ussen wir eine Schrittweite λ berechnen, die angibt, wie weit wir uns in Richtung z bewegen. Da die Zielfunktion (NPV ) bin¨armonoton und die bestimmte steilste Anstiegsrichtung z ∈ {0, 1}n+2 ist, k¨onnen wir die Schrittweite so groß wie m¨ oglich w¨ ahlen, ohne dass eine der Nebenbedingungen Sj − Si ≥ δij , i, j ∈ E, verletzt wird. Der Durchstoßpunkt S = S + λz liegt also immer auf dem Rand des zeitzul¨ assigen Bereichs (vgl. Abb. 2.29). Die optimale Schrittweite λ ergibt sich dabei gem¨ aß λ :=
min
i∈V :zi =1
min {Sj − Si − δij },
j∈V :zj =0
(2.8)
mit f (S + λz) = maxλ∈R≥0 {f (S + λz) | S + λz ∈ ST }. Im Allgemeinen stellt der Durchstoßpunkt S = S + λz keinen Extremalpunkt des zeitzul¨assigen Bereichs ST dar (vgl. Abb. 2.29). S2
6
S = S + λz
r
3
2
z 1
r
- S1
S 1 2 3 4 5 Abb. 2.29. Vorgehensweise des Anstiegsverfahrens
Verz¨ ogern wir alle Vorg¨ ange i ∈ V mit zi = 1 um λ dann wird i.d.R. zun¨ achst eine Zeitbeziehung Sj − Si ≥ δij mit zi = 1 und zj = 0 bindend, d.h. eines der verz¨ ogerten Teilger¨ uste dockt“ an das Teilger¨ ust der stehen” gebliebenen Vorg¨ ange j mit zj = 0 an. Weiteres Verz¨ogern der verbleibenden
164
2 Projektplanung unter Zeitrestriktionen
Teilger¨ uste bewirkt, aufgrund der bin¨ armonotonen Eigenschaft der Zielfunktion (NPV ) und da die steilste Anstiegsrichtung z bin¨ar ist, eine weitere Erh¨ ohung des Kapitalwertes. Deshalb f¨ uhren wir ausgehend von Schedule S zur Beschleunigung des Verfahrens einen so genannten Eckenanstieg durch. Dabei wird nacheinander f¨ ur alle Teilger¨ uste eine bindende Zeitbeziehung eingef¨ ugt. Auf diese Weise erhalten wir ein neues Ger¨ ust und somit eine neue Ecke des zeitzul¨ assigen Bereichs (vgl. Abb. 2.30). S2
6 r -r S E = S + λz + λ z z
3
2
z 1
r S
- S1 1
2
3
4
5
Abb. 2.30. Eckenanstieg
Zur Bestimmung der maximalen Schrittweite in den einzelnen Schritten des Eckenanstiegs gehen wir wie folgt vor. Seien G das zu Schedule S geh¨ orende Ger¨ ust und V s die Menge aller Knoten, die verz¨ogert werden, d.h. s V := {i ∈ V | zi = 1}. F¨ ur alle i ∈ V \ V s initialisieren wir SiE := Si . Wir entfernen zun¨ achst alle Pfeile i, j ∈ EG mit i ∈ C(j) und j ∈ C(i) aus G, d.h. wir entfernen die Pfeile aus G, an denen die zu verschiebenden Teilger¨ uste abgerissen“ werden. Danach bestimmen wir eine Schrittweite λ gem¨aß (2.8) ” und den zugeh¨ origen Pfeil h, l mit λ = Sl − Sh − δhl . F¨ ur das entsprechende Teilger¨ ust bzw. die Knotenmenge C(j), die den Knoten h enth¨alt, erh¨ohen wir die Startzeitpunkte um λ Zeiteinheiten, d.h. wir setzen SiE := Si + λ. Danach werden die Knoten des Teilger¨ ustes C(j) aus der Menge V s eliminiert und der Pfeil h, l dem Ger¨ ust G hinzugef¨ ugt. Diese Schritte werden solange wiederholt, bis die Menge V s leer ist. Algorithmus 2.26 fasst die einzelnen Schritte zur Durchf¨ uhrung eines Eckenanstiegs zusammen. Algorithmus 2.26 (Eckenanstieg). Setze V s := {i ∈ V | zi = 1}. F¨ ur alle i ∈ V \ V s : Setze SiE := Si . / C(i) und i ∈ / C(j) : Setze EG := EG \ { i, j }. F¨ ur alle i, j ∈ EG mit j ∈ s Solange V = ∅.
2.2 Exakte L¨ osungsverfahren
165
Ermittle h, l ∈ E mit h ∈ V s und l ∈ V \V s , so dass λ := SlE −Sh −δhl = min min (SjE − Si − δij ). i∈V :zi =1
j∈V :zj =0
Ermittle die Knotenmenge C(j) mit h ∈ C(j). F¨ ur alle i ∈ C(j): Setze SiE := Si + λ und zi := 0. V s := V s \ C(j). EG := EG ∪ { h, l }. R¨ uckgabe S E . In Algorithmus 2.26 werden die Teilger¨ uste einzeln nacheinander verschoben, indem die jeweiligen Startzeitpunkte erh¨oht werden. Formal ergibt sich die zweite Anstiegsrichtig z aus der ersten Anstiegsrichtig z durch Nullsetzen der Komponenten aus der Menge C(j). Die zweite Schrittweite λ ≥ λ umfasst die Schrittweite von S nach S sowie von S nach S (vgl. Abb. 2.30). Das Verfahren des steilsten Anstiegs zur L¨osung von Kapitalwertmaximierungsproblemen unter Zeitrestriktionen ist zusammenfassend in Algorithmus 2.27 beschrieben und wird anhand von Beispiel 2.28 veranschaulicht. Die Zeitkomplexit¨ at von Algorithmus 2.25 zur Bestimmung einer steilsten Anstiegsrichtung f¨ ur einen Schedule S l¨ asst sich mit O(|V |) angeben. F¨ ur die Zeitkomplexit¨ at des Algorithmus 2.26 zur Durchf¨ uhrung eines Eckenanstiegs ergibt sich O(|E| log |E|). Obwohl die Anzahl an ben¨otigten Iterationen in Algorithmus 2.27 i.d.R. gering ist, konnte bislang nicht gezeigt werden, dass die Anzahl an Wiederholungen f¨ ur beliebige Probleminstanzen polynomial beschr¨ ankt ist. Nichts desto trotz zeigen experimentelle Tests im Vergleich zur L¨ osung des auf S. 134 dargesellten LP-Ansatzes einen entscheidenden Laufzeitvorteil. Algorithmus 2.27 (Verfahren des steilsten Anstiegs). Ermittle den Schedule der fr¨ uhesten Startzeitpunkte ES und zugeh¨origes Ger¨ ust G = V, EG des Netzwerkes N . Setze S := ES . Wiederhole: Ermittle eine steilste Anstiegsrichtung z in S mit Algorithmus 2.25. Falls z = 0 : Bestimme eine Ecke S E mit Algorithmus 2.26. Setze S := S E . Solange bis z = 0. R¨ uckgabe S Beispiel 2.28. Wir betrachten den Projektnetzplan in Abbildung 2.31 mit vier realen Vorg¨ angen und einer maximalen Projektdauer von d = 10. Zur Maximierung des Projektkapitalwertes wenden wir Algorithmus 2.27 an, wobei wir α = 0,01 w¨ ahlen.
166
2 Projektplanung unter Zeitrestriktionen −10 2 2 3 1 2 Q 3 −3 1 −3 Q2 2 0 ? 0 Q Q s 5 Q 0 4 Q 8 3 2 0 Q 0 1 2 Q ? Q s 3 -1 - 4 Q 1 4 −5
Legende: pi
δij
i
pj
- j
cF i
cF j
Abb. 2.31. Projektnetzplan mit vier realen Vorg¨ angen
Wir erhalten den Vektor der fr¨ uhesten Startzeitpunkte gem¨aß ES = (0, 1, 4, 8, 7, 9). Ein zugeh¨ origes Ger¨ ust (Outtree) ist in Abbildung 2.32 angegeben. 2 3 1 1 −3
0 0 Q 8 Q 0 Q
1
Q s 3 Q 4
2 3 2 2
0 3 5 2 0
2 -1 4 −5
Abb. 2.32. Ger¨ ust zum ES -Schedule
Zu Beginn des Verfahrens zur Bestimmung einer steilsten Anstiegsrichtung setzen wir zi := 0 und C(i) := {i} f¨ ur alle i ∈ V sowie V := V \ {0}. Weiter −0,01·Si berechnen wir f¨ ur alle i ∈ V die partiellen Ableitungen φi = −0,01·cF i ·e von f nach Si im Punkt S (vgl. Tab. 2.8). Im ersten Hauptschritt entnehmen Tabelle 2.8. Partielle Ableitungen von f nach Si im Punkt S i∈V
0
1
2
3
4
5
φi
0
0,030
−0,019
−0,037
0,047
0
wir Knoten 5 mit 5 = 3 aus der Menge V . Knoten 5 besitzt keinen Nachfolger, aber genau einen Vorg¨ anger (Knoten 4) und stellt damit eine Senke in dem zum ES -Schedule geh¨ origen Ger¨ ust dar. Da φ5 = 0 gilt, wird Knoten 5 nicht verz¨ ogert, sondern wir verschmelzen Vorgang 5 mit Vorgang 4 und setzen φ4 := φ4 + φ5 = 0,047 sowie C(4) := {4, 5}. F¨ ur die Vorg¨ange 2 und 4 gilt 2 = 4 = 2. Zun¨ achst w¨ ahlen wir Knoten 2 (Senke) aus V . Da f¨ ur Vorgang 2 die Bedingung φ2 < 0 erf¨ ullt ist, verschmelzen wir Knoten 2 mit
2.2 Exakte L¨ osungsverfahren
167
Knoten 1. Es ergibt sich φ1 := φ1 + φ2 = 0,011 und C(1) := {1, 2}. Als N¨achstes entfernen wir Vorgang 4 aus V , der ebenfalls eine Senke darstellt. F¨ ur Knoten 4 gilt φ4 > 0, d.h. die Vorg¨ ange C(4) = {4, 5} bilden ein Teilger¨ ust, das zu verz¨ ogern ist, und wir setzen z4 := z5 := 1. F¨ ur die Vorg¨ange 1 und 3 gilt 1 = 3 = 1. Vorgang 1 stellt eine Senke dar und wird aus V eliminiert. Wegen φ1 = 0,011 > 0 setzen wir z1 := 1 und z2 := 1. Knoten 3 ist wiederum eine Senke und wird aus V entfernt. Da φ3 negativ ist, verschmelzen wir Vorgang 3 mit Vorgang 0. Es ergibt sich φ0 := φ0 + φ3 = −0,037 und C(0) := {0, 3}. Da nun die Menge V leer ist, terminiert der Algorithmus. Als zul¨ assige steilste Anstiegsrichtung erhalten wir z = (0, 1, 1, 0, 1, 1)T . Wir f¨ uhren nun einen Eckenanstieg durch. Die Menge der Vorg¨ange, die verz¨ ogert werden, ist V s = {1, 2, 4, 5}. Wir setzen S0E := 0 und S3E := 8. Zun¨ achst sind die Pfeile 0, 1 und 3, 4 aus dem Ger¨ ust G zu entfernen, da 0 ∈ C(1) und 1 ∈ C(0) sowie 3 ∈ C(4) und 4 ∈ C(3). Dann ist Schrittweite λ gem¨ aß (2.8) zu bestimmen. In der ersten Iteration ergibt sich f¨ ur h ∈ {1, 2, 4, 5} und l ∈ {0, 3} eine Schrittweite von λ := min{S0E − S5 − δ50 = 0−9+10 = 1, S3E −S1 −δ13 = 8−1−4 = 3, S3E −S4 −δ43 = 8−7−1 = 0} = 0. Die Vorg¨ ange aus C(4) werden also um 0 Zeiteinheiten verz¨ogert, d.h. wir setzen S4E := 7, S5E := 9 und wir f¨ ugen den Pfeil 4, 3 zu EG hinzu. Danach setzen wir z4 = z5 := 0 und eliminieren die Vorg¨ ange 4 und 5 aus V s . In der zweiten Iteration ergibt sich mit h ∈ {1, 2} und l ∈ {0, 3, 4, 5} eine Schrittweite von λ := min{S3E − S1 − δ13 = 8 − 1 − 4 = 3, S5E − S2 − δ25 = 9 − 4 − 2 = 3} = 3. Die Vorg¨ ange aus C(1) sind um 3 Zeiteinheiten zu verz¨ogern. Wir setzen S1E := 4, S2E := 7, z1 = z3 := 0 und f¨ ugen den Pfeil 2, 5 zu EG hinzu und entnehmen die Vorg¨ ange 1 und 2 der Menge V s . Nun ist V s = ∅ und wir haben die Ecke S E = (0, 4, 7, 8, 7, 9) erreicht. Das zu S E geh¨ orige Ger¨ ust ist in Abbildung 2.33 dargestellt.
0 0 Q Q8 0 Q
2 1 −3
2 3 2 Q Q2 2 Q
1
2 4 −5
Q s 3 Q 4
0
Q s 5 Q 3 2 0
1
Abb. 2.33. Ger¨ ust zu S E = (0, 4, 7, 8, 7, 9)
In der zweiten Iteration wird in analoger Weise f¨ ur S := S E fortgefahren. Zun¨ achst setzen wir zi := 0 sowie C(i) := {i} f¨ ur alle i ∈ V und bestimmen die partiellen Ableitungen von f nach Si im Punkt S (vgl. Tab. 2.9). Die einzelnen Schritte zur Bestimmung einer steilsten Anstiegsrichtung sind in Tabelle 2.10 zusammengefasst.
168
2 Projektplanung unter Zeitrestriktionen Tabelle 2.9. Partielle Ableitungen von f nach Si im Punkt S i∈V
0
1
2
3
4
5
φi
0
0,029
−0,019
−0,037
0,047
0
Tabelle 2.10. Bestimmung einer steilsten Anstiegsrichtung i ∈ V i Quelle/Senke 1
5
Quelle
2
4
Quelle
5 4
3 2
Senke Quelle
3
1
Senke
φi
Aktion
φ1 = 0,029 Verschmelzung mit Knoten 2, φ2 := 0,010, C(2) := {1, 2} φ2 = 0,010 Verschmelzung mit Knoten 5, φ5 := 0,010, C(5) := {1, 2, 5} φ5 = 0,010 z1 := 1, z2 := 1, z5 := 1 φ4 = 0,047 Verschmelzung mit Knoten 3, φ3 := 0,010, C(3) := {3, 4} φ3 = 0,010 z3 := 1, z4 := 1
Danach f¨ uhren wir einen Eckenanstieg durch (vgl. Tab. 2.11). Es ergibt sich die Anstiegsrichtung z = (0, 1, 1, 1, 1, 1)T und wir erreichen die Ecke S E = (0, 5, 8, 9, 8, 10). Das zu S E geh¨ orige Ger¨ ust ist in Abbildung 2.34 angegeben.
Tabelle 2.11. Bestimmung der maximalen Schrittweite V
s
{1, 2, 3, 4, 5} {3, 4}
λ
Aktion
1 1
Teilger¨ ust {1, 2, 5} ∈ C(5) um 1 Zeiteinheit verz¨ ogern Teilger¨ ust {3, 4} ∈ C(3) um 1 Zeiteinheit verz¨ ogern
−10
0 ? 0 0
2 1 −3 1 3 4
3
2
- 2 Q
Q2 0 Q Q s 5 Q 3 2 0
2
1
2 4 −5
Legende: pi i cF i
δij
pj
- j
cF j
Abb. 2.34. Ger¨ ust zu S E = (0, 5, 8, 9, 8, 10)
In der dritten Iteration terminiert das Verfahren, da wir als steilste Anstiegsrichtung z = 0 erhalten. Die einzelnen Schritte zur Bestimmung von z sind in Tabelle 2.12 angegeben. Die optimale L¨osung f¨ ur das Kapitalwertmaximierungsproblem lautet S = (0, 5, 8, 9, 8, 10).
2.2 Exakte L¨ osungsverfahren
169
Tabelle 2.12. Bestimmung einer steilsten Anstiegsrichtung i ∈ V i Quelle/Senke 1
3
Quelle
3
3
Senke
2
2
Quelle
4
2
Quelle
5
1
Quelle
φi
Aktion
φ1 = 0,029
Verschmelzung mit Knoten 2, φ2 := 0,011, C(2) := {1, 2} φ3 = −0,037 Verschmelzung mit Knoten 4, φ4 := 0,009, C(4) := {3, 4} φ2 = 0,011 Verschmelzung mit Knoten 5, φ5 := 0,011, C(5) := {1, 2, 5} φ4 = 0,009 Verschmelzung mit Knoten 5, φ5 := 0,020, C(5) := {1, 2, 3, 4, 5} φ5 = 0,020 Verschmelzung mit Knoten 0, φ0 := 0,020, C(0) := {0, 1, 2, 3, 4, 5}
Das in diesem Abschnitt vorgestellte steilste Anstiegsverfahren kann ebenfalls zur L¨ osung von Earliness-Tardiness-Problemen angewendet werden. Im Gegensatz zu einem Problem der Kapitalwertmaximierung wird bei einem Earliness-Tardiness-Problem ein Schedule i.d.R. nicht durch ein Ger¨ ust, sondern durch einen Wald (Menge von Teilger¨ usten) bindender Zeitbeziehungen repr¨ asentiert. Dies resultiert daraus, dass f¨ ur Earliness-Tardiness-Probleme bei der Terminierung eines Vorgangs i nicht nur der planungsabh¨angige ES i bzw. LS i in Frage kommt, sondern zus¨ atzlich Zeitpunkte di − pi , da die partielle Ableitung φi in diesem Punkt das Vorzeichen wechselt. Vorg¨ange i ∈ V , die zu di − pi eingeplant werden, oder Teilger¨ uste, die einen solchen Vorgang enthalten, k¨ onnen im Raum stehen“, d.h. f¨ ur diese Vorg¨ange bzw. Teilger¨ uste ” m¨ ussen keine Zeitbeziehungen zu Knoten außerhalb des Teilger¨ ustes bindend sein (vgl. Abschnitt 2.1.5). 2.2.4 Ressourceninvestment-, Ressourcenabweichungs- und Ressourcennivellierungsprobleme Bei der Zielfunktion des Ressourceninvestmentproblems (RI ) handelt es sich um eine lokal regul¨ are Funktion. F¨ ur ein Projektplanungsproblem (2.1) mit lokal regul¨ arer Zielfunktion kommen, wie in Abschnitt 2.1.5 erl¨autert, die Minimalpunkte aller Schedulepolytope ST (O(S)), S ∈ ST , als L¨osungskandidaten in Frage. Die Zielfunktionen des Ressourcenabweichungsproblems (RD) und des Ressourcennivellierungsproblems (RL) sind lokal konkav (vgl. Abschnitt 2.1.5). Daher stellen die Extremalpunkte aller Schedulepolytope ST (O(S)) Kandidaten f¨ ur eine optimale L¨ osung des entsprechenden Optimierungsproblems dar. Um ein Ressourceninvestment-, Ressourcenabweichungs- bzw. Ressourcennivellierungsproblem zu l¨ osen, machen wir uns das folgende Lemma zu Nutze, das sich unmittelbar aus Satz 2.11 ergibt. Lemma 2.29. Jeder Minimalpunkt eines Schedulepolytops ST (O(S)) kann durch mindestens einen Outtree des Netzplans N (O(S)) repr¨asentiert wer-
170
2 Projektplanung unter Zeitrestriktionen
den. Analog dazu kann jede Ecke eines Schedulepolytops ST (O(S)) durch mindestens ein Ger¨ ust des Netzplans N (O(S)) repr¨asentiert werden. Jeder Pfeil des entsprechenden Outtrees bzw. Ger¨ ustes stellt dabei eine bindende Zeitbeziehung Sj − Si = δij mit i, j ∈ E oder eine bindende Vorrangbeziehung Sj − Si = pi mit (i, j) ∈ O(S) dar. Die Extremalpunkte (und damit auch die Minimalpunkte) aller Schedulepolytope ST (O(S)), S ∈ ST , k¨ onnen mit Hilfe eines so genannten ger¨ ustbasierten Enumerationsschemas bestimmt werden. Im Verlauf dieses Verfahrens werden die Ger¨ uste der Ordnungsnetzpl¨ ane N (O(S)) schrittweise aufgebaut. Da Vorgang 0 aufgrund der Nebenbedingung S0 = 0 zeitlich fixiert ist, beginnen wir das ger¨ ustbasierte Enumerationsschema mit dem Teilger¨ ust, das nur aus dem Knoten i = 0 besteht. Anschließend wird in jedem Schritt ein weiterer Knoten j u ust ¨ ber einen Pfeil i, j oder j, i an das aktuelle Teilger¨ angef¨ ugt. Dazu pr¨ ufen wir f¨ ur jeden Knoten i des aktuellen Teilger¨ ustes, ob eine der folgenden Beziehungen (i) Si + δij = ES j (ii) Si − δji = LS j (iii) ES j ≤ Si + pi ≤ LS j (iv) ES j ≤ Si − pj ≤ LS j zu einem Knoten j besteht, der nicht Knoten des Teilger¨ ustes ist. Ist Bedingung (i) erf¨ ullt, so kann eine bindende Zeitbeziehung der Form Sj − Si = δij zu Knoten j etabliert werden und wir f¨ ugen dem Ger¨ ust den Pfeil i, j mit Bewertung δij hinzu. Der Startzeitpunkt von Vorgang j ergibt sich zu Sj = ES j = Si + δij ; vgl. Abb. 2.35 (i). Gilt Bedingung (ii), dann kann eine bindende Zeitbeziehung der Form Si − Sj = δji zu Knoten j eingef¨ ugt werden. Wir erhalten den Startzeitpunkt von Vorgang j gem¨aß Sj = LS j = Si − δji ; vgl. Abb. 2.35 (ii). Ist eine der Bedingungen (iii) oder (iv) erf¨ ullt, so kann eine Vorrangbeziehung der Form Sj − Si = pi bzw. Si − Sj = pj zu Knoten j etabliert werden. Der Startzeitpunkt von Vorgang j ergibt sich dann zu Sj = Si + pi bzw. Sj = Si − pj ; vgl. Abb. 2.35 (iii) und (iv). (i) Si i
δij
(ii) Sj = Si + δij
- j
Sj = Si − δji j
(iii) Si i
pi
δji
Si
- i
(iv) Sj = S i + p i
- j
S j = Si − p j j
pj
Abb. 2.35. Bindende Zeit- und Vorrangbeziehungen
Si
- i
2.2 Exakte L¨ osungsverfahren
171
Nachdem auf diese Weise ein Knoten an das aktuelle Teilger¨ ust angef¨ ugt wurde, a angigen fr¨ uhesten und sp¨atesten ¨ndern sich i.d.R. die planungsabh¨ Startzeitpunkte der noch nicht im Teilger¨ ust enthaltenen Knoten. F¨ ur diese Vorg¨ ange m¨ ussen wir daher zun¨ achst ein so genanntes ES -LS -Update durchf¨ uhren, d.h. wir aktualisieren f¨ ur alle nicht im aktuellen Teilger¨ ust enthaltenen Vorg¨ ange j die ES - und LS -Werte gem¨aß der Vorschriften ES j := max{d0j , max(Si + dij )} bzw. i∈VG
LS j := min{−dj0 , min (Si − dji )}. i∈VG
ust G enthalHierbei bezeichnet VG ⊆ V die Menge aller im aktuellen Teilger¨ tenen Knoten. Im Folgenden behandeln wir ein kleines Beispiel zum ES -LS Update. Beispiel 2.30. Betrachten wir den MPM-Netzplan in Abbildung 2.36 mit vier realen Vorg¨ angen. Der zugeh¨ orige Vektor der fr¨ uhesten Startzeitpunkte lautet ES = (0, 0, 1, 0, 1, 5) und f¨ ur die sp¨ atesten Startzeitpunkte gilt LS = (0, 3, 4, 4, 5, 8). Die Startzeitpunkte der Vorg¨ ange 0, 2, 3 und 5 seien nun zu S0 := 0, S2 := 4, S3 := 0 und S5 := 8 festgelegt. Das zugeh¨orige Teilger¨ ust ist in Abbildung 2.36 angegeben. F¨ ur die noch nicht im Teilger¨ ust enthaltenen Knoten 1 und 4 muss nun ein ES -LS -Update durchgef¨ uhrt werden. 1 1 -2 1 2 −3 @ 4 0 0 0
-8
@
@ 4 2 0 1 @ R3 -4 @ −2
@ 0 @ R5 @ 3
2 2
@ 4 @ 0 @ -8 R5 @
0 0
@
@ 0
4
@ R3 @
Abb. 2.36. Projektnetzplan und Teilger¨ ust mit Knotenmenge VG = {0, 2, 3, 5}
F¨ ur Vorgang 1 ¨ andert sich der fr¨ uheste Startzeitpunkt zu ES 1 := max{d01 , max(S0 + d01 , S2 + d21 )} = max{0, max(0 + 0, 4 − 3)} = 1, w¨ ahrend der sp¨ ateste Startzeitpunkt von Vorgang 1 unver¨andert LS 1 = 3 bleibt. F¨ ur den Vorgang 4 ¨ andert sich der sp¨ ateste Startzeitpunkt zu LS 4 := min{−d40 , min(S3 − d43 , S5 − d45 )} = min{5, min(0 + 2, 8 − 3)} = 2. und der fr¨ uheste Startzeitpunkt von Vorgang 4 ist unver¨andert ES 4 = 1.
172
2 Projektplanung unter Zeitrestriktionen
Bevor wir den Algorithmus zur Bestimmung aller Extremalpunkte der Schedulepolytope ST (O(S)), S ∈ ST vorstellen, gehen wir auf M¨oglichkeiten ein, die Bildung redundanter Ger¨ uste im Algorithmus zu reduzieren. Eine M¨ oglichkeit ist, die Wahl des n¨ achsten an das aktuelle Teilger¨ ust anzubindenden Knotens zu beschr¨ anken. Sind beispielsweise zwei Teilger¨ uste mit Pfeilmengen { 0, 2 } und { 0, 1 } vorhanden, so darf die erste Pfeilmenge nur dann um den Pfeil 0, 1 erweitert werden, wenn die zweite Pfeilmenge nicht um den Pfeil 0, 2 erweitert wird. Wir vereinbaren daher, dass an einen Knoten i, an den bereits Knoten angebunden wurden, nur solche Knoten neu angebunden werden d¨ urfen, deren Vorgangsnummer gr¨ oßer ist als die Vorgangsnummern aller bislang an i angebundenen Knoten. Dabei ist zu beachten, dass der Knoten, an den i angebunden wurde und der deshalb auf dem eindeutigen Semiweg von 0 nach i liegt, nicht ber¨ ucksichtigt wird. Dies gew¨ahrleistet, dass wir trotz beliebiger Nummerierung der Knoten ein vollst¨andiges Ger¨ ust generieren k¨ onnen. Betrachten wir dazu das Ger¨ ust in Abbildung 2.37. Knoten 5 besitzt zwar eine gr¨ oßere Vorgangsnummer als die Knoten 2 und 3, da 5 aber auf einem Semiweg von Knoten 0 zu Knoten 1 liegt, muss er beim Anbinden der Knoten 2 und 3 an 1 vernachl¨ assigt werden.
0
2 5
* 1 3 - 1 H 2
2
H
HH j 3
Abb. 2.37. Teilger¨ ust
Im Einzelnen l¨ asst sich das ger¨ ustbasierte Enumerationsschema wie folgt beschreiben. Seien Γ die Menge bereits generierter Ger¨ uste und Ω die Menge generierter und noch zu erweiternder Teilger¨ uste VG , EG , wobei VG die Knotenmenge und EG die Pfeilmenge eines Teilger¨ ustes darstellt. Im Initialisierungsschritt setzen wir VG := {0}, EG := ∅ sowie Ω := { VG , EG }, Γ := ∅ und bestimmen die L¨ angen l¨ angster Wege dij . In jeder Iteration w¨ahlen wir dann ein Teilger¨ ust VG , EG ∈ Ω und pr¨ ufen, ob bereits ein vollst¨andiges Ger¨ ust bestimmt wurde, d.h. ob VG alle Knoten des zugrunde liegenden Projektnetzplans beinhaltet. Ist dies nicht der Fall, wird versucht, das Teilger¨ ust zu erweitern. Dazu bestimmen wir zun¨ achst, wie in Abschnitt 2.1.4 beschrieben, die Startzeitpunkte aller Vorg¨ ange in VG sowie die ES - und LS -Werte aller Vorg¨ ange aus V \ VG . F¨ ur jeden Knoten i ∈ VG ermitteln wir alle Knoten j ∈ V \ VG , die an das aktuelle Teilger¨ ust VG angebunden werden k¨onnen. Um, wie oben beschrieben, die Bildung redundanter Ger¨ uste zu vermeiden, vereinbaren wir, dass nur solche Knoten j an einen im Teilger¨ ust enthaltenen Knoten i angebunden werden, die gr¨ oßer sind als der gr¨oßte u ¨ber einen Pfeil h, i ∈ EG bzw. i, h ∈ EG an i bereits angebundene Knoten h, wobei h, i bzw. i, h nicht auf einem Semiweg von 0 nach i liegt. Danach pr¨ ufen wir f¨ ur
2.2 Exakte L¨ osungsverfahren
173
alle diese j mit Hilfe der Bedingungen (i)–(iv), ob eine bindende Zeit- bzw. Vorrangbeziehung zwischen Knoten i ∈ VG und Knoten j ∈ V \ VG eingef¨ uhrt werden kann. Ist eine der Bedingungen (i)–(iv) erf¨ ullt, dann wird das aktuelle Teilger¨ ust VG , EG um den Knoten j erweitert und das so entstandene Teilger¨ ust (VG , EG ) in die Menge Ω aufgenommen. Die Knotenmenge VG ergibt sich dabei aus VG ∪ {j} und die Pfeilmenge EG aus EG vereinigt mit dem zur jeweiligen bindenden Zeit- bzw. Vorrangbeziehung geh¨origen Pfeil. Das Verfahren terminiert, wenn die Menge Ω leer ist. Algorithmus 2.31 (Ger¨ ustbasiertes Enumerationsschema f¨ ur Problem (2.1) mit Zielfunktion (RD ) bzw. (RL)). Initialisierung: Setze VG := {0}, EG := ∅, Ω := { VG , EG }, Γ := ∅. ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ Hauptschritt: Solange Ω = ∅: Entferne ein Paar VG , EG aus Ω. Falls VG = V : Setze Γ := Γ ∪ { VG , EG }. Andernfalls : ur alle i ∈ VG . Bestimme die Startzeitpunkte Si f¨ Bestimme ES j := max{d0j , maxi∈VG (Si + dij )} und LS j := min{−dj0 , mini∈VG (Si − dji )} f¨ ur alle j ∈ V \ VG . F¨ ur alle i ∈ VG : ur die gilt: es existiert kein Vorgang h mit F¨ ur alle j ∈ V \ VG f¨ i, h ∈ EG oder h, i ∈ EG mit h > j, der nicht auf einem Semiweg von 0 nach i liegt: (i) Falls i, j ∈ E und Si + δij = ESj : ust hinzu, d.h. F¨ uge i, j mit der Bewertung δij dem Ger¨ VG := VG ∪ {j}, EG := EG ∪ { i, j }, Ω := Ω ∪ { VG , EG }. (ii) Falls j, i ∈ E und Si − δji = LSj : ust hinzu, d.h. F¨ uge j, i mit der Bewertung δji dem Ger¨ VG := VG ∪ {j}, EG := EG ∪ { j, i }, Ω := Ω ∪ { VG , EG }. (iii) Falls ES j ≤ Si + pi ≤ LS j : ust hinzu, d.h. F¨ uge i, j mit der Bewertung pi dem Ger¨ VG := VG ∪ {j}, EG := EG ∪ { i, j }, Ω := Ω ∪ { VG , EG }. (iv) Falls ES j ≤ Si − pj ≤ LS j : ust hinzu, d.h. F¨ uge j, i mit der Bewertung pj dem Ger¨ VG := VG ∪ {j}, EG := EG ∪ { j, i }, Ω := Ω ∪ { VG , EG }. R¨ uckgabe Γ .
174
2 Projektplanung unter Zeitrestriktionen
Algorithmus 2.31 generiert alle Ger¨ uste der Netzpl¨ane N (O(S)), S ∈ ST , und somit mindestens ein Ger¨ ust f¨ ur jeden Extremalpunkt eines Schedulepolytops ST (O(S)). F¨ ur ein Projektplanungsproblem (2.1) mit Zielfunktion (RI ) ist aber nur die Bestimmung von Outtrees der Ordnungsnetzpl¨ane N (O(S)) erforderlich, d.h. von Minimalpunkten der Schedulepolytope ST (O(S)). Um dies zu erreichen, sind die Bedingungen (ii) und (iv) in Algorithmus 2.31 zu streichen. Im Folgenden demonstrieren wir anhand eines Beispiels die Generierung aller Ger¨ uste f¨ ur Problem (2.1) mit Zielfunktion (RD ) bzw. (RL) mittels des ger¨ ustbasierten Enumerationsschemas. Beispiel 2.32. Wir betrachten den Projektnetzplan in Abbildung 2.38 mit zwei realen Vorg¨ angen. Der zugeh¨ orige S1 -S2 -Schnitt des zeitzul¨assigen Bereichs ST ist ebenfalls in Abbildung 2.38 angegeben. S2
1
6
0 1 1 −1 ? 1 - 2 J −2
1
0
0
4 −4
J1 J 0 JJ ^? 3
3
S3
r
2
S2
r
S5
r
S6
r
r
S4
1
- S1
r
S1
2
Abb. 2.38. Projektnetzplan und S1 -S2 -Schnitt des zeitzul¨ assigen Bereichs ST
Im Initialisierungsschritt des ger¨ ustbasierten Enumerationsschemas setzen wir VG := {0}, EG := ∅, Ω := { {0}, ∅ } und Γ := ∅. Danach bestimmen wir die L¨ angen l¨ angster Wege dij f¨ ur alle i, j ∈ V (vgl. Tab. 2.13). Tabelle 2.13. L¨ angen l¨ angster Wege dij f¨ ur alle i, j ∈ V dij 0 1 2 0 0 1 0 0 −1 1 −3 0 2 −3 −2 3 −4 −3 −4
3 4 1 1 0
Im ersten Hauptschritt entnehmen wir Ω das Teilger¨ ust {0}, ∅ . F¨ ur den Startzeitpunkt von Vorgang 0 gilt S0 := 0 und die fr¨ uhesten und sp¨atesten
2.2 Exakte L¨ osungsverfahren
175
Startzeitpunkte der Vorg¨ ange j ∈ V \ VG ergeben sich zu ES 1 := 1, LS 1 := 3, ES 2 := 0, LS 2 := 3, ES 3 := 4 und LS 3 := 4. Nun ist anhand der Bedingungen (i)–(iv) zu pr¨ ufen, welche bindenden Zeit- bzw. Vorrangbeziehungen zwischen dem Knoten 0 und einem Knoten j ∈ {1, 2, 3} etabliert werden k¨onnen. Da f¨ ur den Pfeil 0, 1 ∈ E die Bedingung S0 + 1 = 1 = ES 1 erf¨ ullt ist (Bedingung (i)), kann Knoten 1 durch eine bindende Zeitbeziehung der Form S1 − S0 = δ01 an das Teilger¨ ust {0}, ∅ angeh¨angt werden. Es ergibt sich das Teilger¨ ust {0, 1}, { 0, 1 } , das Ω hinzugef¨ ugt wird. F¨ ur die Knoten 0 und 2 sind die Bedingungen (i) und (iii) erf¨ ullt, d.h. das Teilger¨ ust {0}, ∅ kann zum einen durch eine bindende Zeitbeziehung und zum anderen durch eine bindende Vorrangbeziehung zu Knoten 2 erweitert werden. Da aber p0 = δ02 gilt, sind die beiden resultierenden Teilger¨ uste gleich, und wir nehmen das Teilger¨ ust {0, 2}, { 0, 2 } in die Menge Ω auf. F¨ ur die Knoten 0 und 3 ist die Bedingung (i) und die Bedingung (ii) erf¨ ullt. Somit k¨onnen bindende Zeitbeziehungen der Form S3 − S0 = δ03 und S0 − S3 = δ30 etabliert werden. Die Menge Ω ist um die beiden Teilger¨ uste {0, 3}, { 0, 3 } und {0, 3}, { 3, 0 } zu erweitern. Am Ende des ersten Hauptschrittes ergibt sich die Menge Ω zu Ω = { {0, 1}, { 0, 1 } , {0, 2}, { 0, 2 } , {0, 3}, { 0, 3 } , {0, 3}, { 3, 0 } }. Im zweiten Hauptschritt entnehmen wir Ω das Teilger¨ ust {0, 1}, { 0, 1 } . Die Startzeitpunkte der Vorg¨ ange 0 und 1 ergeben sich zu S0 := 0, S1 := 1. Wir bestimmen ES 2 := 0, LS 2 := 3, ES 3 := 4 und LS 3 := 4. Ausgehend von Knoten 0 sind wie im ersten Hauptschritt f¨ ur Knoten 2 die Bedingungen (i) und (iii) erf¨ ullt. Des Weiteren gelten f¨ ur die Knoten 0 und 3 die Bedingungen (i) und (ii). Somit f¨ ugen wir die Teilger¨ uste {0, 1, 2}, { 0, 1 , 0, 2 } , {0, 1, 3}, { 0, 1 , 0, 3 } und {0, 1, 3}, { 0, 1 , 3, 0 } der Menge Ω hinzu. Weiterhin sind f¨ ur die Knoten 1 und 2 alle Bedingungen (i)–(iv) erf¨ ullt. Da p1 = δ12 und p2 = δ21 gilt, werden alle vier bindenden Zeit- und Vorrangbeziehungen zu Knoten 2 eingef¨ ugt. Es resultieren die Teilger¨ uste {0, 1, 2}, { 0, 1 , 1, 2 } , {0, 1, 2}, { 0, 1 , 1, 2 } , {0, 1, 2}, { 0, 1 , 2, 1 } , {0, 1, 2}, { 0, 1 , 2, 1 } , die in der Menge Ω gespeichert werden. Im dritten Hauptschritt entnehmen wir das Teilger¨ ust {0, 1, 2}, { 0, 1 , 0, 2 } aus der Menge Ω und bestimmen die Startzeitpunkte der Vorg¨ange 0, 1 und 2. Es ergeben sich S0 := 0, S1 := 1 sowie S2 := 0. Dann aktualisieren wir ES 3 := 4 und LS 3 := 4. F¨ ur die Knoten 0 und 3 sind die Bedingungen (i) und (ii) erf¨ ullt. Daher f¨ ugen wir die vollst¨andigen Ger¨ uste {0, 1, 2, 3}, { 0, 1 , 0, 2 , 0, 3 } und {0, 1, 2, 3}, { 0, 1 , 0, 2 , 3, 0 } zuerst der Menge Ω und dann der Menge Γ hinzu. In den n¨ achsten Schritten wird auf gleiche Art und Weise fortgefahren, bis Ω = ∅ gilt. Insgesamt werden 20 unterschiedliche Ger¨ uste generiert. Die 10 Ger¨ uste, die den Pfeil 0, 3 enthalten, sind in Abbildung 2.39 veranschaulicht, sie entsprechen jeweils einem Extremalpunkt S 1 , . . . , S 6 eines Schedulepolytops ST (O(S)). Die anderen 10 Ger¨ uste unterscheiden sich von denen in Abbildung 2.39 lediglich darin, dass sie anstelle des Pfeils 0, 3 den Pfeil 3, 0 besitzen.
176
2 Projektplanung unter Zeitrestriktionen 0 zu S 1 :
1
0
0
1 ?
1 1
zu S 1 :
2
0
-3
4 0 1 1 ? 1 2 1
zu S 1 : 0 0
4
zu S 2 :
1
0
0
1 1
0
1- 1 2 4
0
0 zu S 1 :
-3
0
0
-3
4
1 1 1 1
0
0 zu S 3 :
-3
1
1 −1 1 1 -2
1 2 0
-3
4
1 1 1 2
−2 1
0
0
0
-3
4 1
zu S 3 :
1 1 1 2
−2 J 1 1
J 0 ^3 J
0
0
zu S 4 :
1 −1 1 1 -2
0 0
0 -? 3
4 1
zu S 5 : 0 0
1 1
1- 1 2 4
J1 J 0 ^3 J -
zu S 6 : 0 0
1 1
1 2 4
J1 J 0 ^? J 3
Abb. 2.39. Ger¨ uste f¨ ur den Projektnetzplan aus Abbildung 2.38
Im Prinzip k¨ onnen wir mit Algorithmus 2.31 eine optimale L¨osung f¨ ur ein Ressourceninvestment-, Ressourcenabweichungs- oder Ressourcennivellierungsproblem bestimmen, indem wir f¨ ur jedes generierte Ger¨ ust den Zielfunktionswert berechnen und dann das gem¨ aß der Zielfunktion beste Ger¨ ust ausw¨ ahlen. Da die Anzahl m¨ oglicher Ger¨ uste aber schon f¨ ur kleine Probleminstanzen sehr groß sein kann, ist dies i.d.R. nicht sinnvoll. Normalerweise existieren f¨ ur einen Extremalpunkt eines Ordnungspolytops mehrere zugeh¨ orige Ger¨ uste (vgl. z.B. die vier zu S 1 geh¨orenden Ger¨ uste in Abb. 2.39). Daher l¨ asst sich eine deutliche Beschleunigung von Algorithmus 2.31 erzielen, wenn wir anstelle der Teilger¨ uste die entsprechenden Teilschedules betrachten. Diese ergeben sich aus den Startzeitpunkten der im jeweiligen Teilger¨ ust enthaltenen Vorg¨ ange. Im Folgenden bezeichnen wir mit C := VG die Menge der bereits an ein Teilger¨ ust angegebundenen Knoten, d.h. die Menge der bereits eingeplanten Knoten. Einen Vektor von Startzeit-
2.2 Exakte L¨ osungsverfahren
177
punkten S C mit SiC ∈ R≥0 f¨ ur Vorg¨ ange i ∈ C ⊆ V und S0C = 0 nennen wir Teilschedule. Die Spezifikation eines Teilschedules erfolgt immer durch Angabe der Menge C und der zugeh¨ origen Startzeitpunkte (SiC )i∈C . Um zu gew¨ ahrleisten, dass wir nicht alle, sondern nur erfolgversprechen” de“ Teilschedules zu vollst¨ andigen Schedules erg¨anzen, indem wir die Startzeitpunkte von Vorg¨ angen i ∈ V \ C festsetzen, betten wir das ger¨ ustbasierte Enumerationsschema in ein Branch-and-Bound-Verfahren (im Folgenden auch als ger¨ ustbasierter Enumerationsansatz bezeichnet) ein. Branch-and-Bound-Verfahren geh¨ oren zu den Enumerationsbaum-Verfahren und besitzen als Hauptkomponenten eine Branching-Strategie, um den L¨ osungsbereich in immer kleinere Teilbereiche aufzuspalten, und eine Schrankenfunktion, die es erlaubt, verschiedene Teilbereiche von der weiteren Suche auszuschließen. Die Branching-Strategie unseres Branch-and-Bound-Verfahrens beruht auf dem ger¨ ustbasierten Enumerationsschema, wobei wir, wie bereits gesagt, anstelle von Teilger¨ usten Teilschedules betrachten, die sukzessive zu Schedules erg¨ anzt werden. Wir legen ausgehend von der Wurzel des Enumerationsbaums, bei der Vorgang 0 zu S0 := 0 eingeplant ist, bzw. dem Teilschedule (C, S C ) = ({0}, (0)) schrittweise Startzeitpunkte von Vorg¨angen fest, indem wir auf jeder Ebene des Enumerationsbaumes mit Hilfe der Bedingungen (i)–(iv) pr¨ ufen, ob eine bindende Zeit- oder Vorrangbeziehung zu einem Vorgang j etabliert werden kann, der noch nicht eingeplant wurde. Ist eine der Bedingungen (i)–(iv) erf¨ ullt, dann wird der aktuelle Teilschedule durch den Startzeitpunkt Sj von Vorgang j erweitert. Durch das Festlegen von Startzeitpunkten f¨ ur die einzelnen Vorg¨ ange wird der zeitzul¨assige Bereich des zugrunde liegenden Projektplanungsproblems immer weiter eingeschr¨ ankt. Legen wir etwa den Startzeitpunkt von Vorgang 1 fest, so ist der entsprechende Teilbereich, d.h. der zeitzul¨ assige Bereich des aktuellen Enumerationsknotens, durch die Menge {S ∈ ST | S1 = S1 } bestimmt. Sind alle Startzeitpunkte fixiert, so besteht der aktuelle Teilbereich nur noch aus dem generierten Schedule selbst. F¨ ur jeden Enumerationsknoten (C, S C ) berechnen wir eine untere Schranke (lower bound) f¨ ur den optimalen Zielfunktionswert des entsprechenden Teilbereichs {S ∈ ST | Si = Si f¨ ur alle i ∈ C}. Da die Zielfunktionen (RI ), (RD ) und (RL) monoton wachsend bzgl. der Ressourcenprofile sind, d.h. der Zielfunktionswert ist gr¨ oßer oder bleibt gleich, falls sich rk (S, t) f¨ ur ein t ∈ [0, d] vergr¨ oßert,11 stellt LB0 := f (S C ) die am einfachsten zu berechnende untere Schranke f¨ ur den Teilschedule S C dar. LB0 repr¨ asentiert den Zielfunktionswert aller bereits eingeplanten Vorg¨ ange. Beispielsweise erhalten wir f¨ ur einen Teilschedule S C = (0, 1) mit C = {0, 1} und den Ressourceninanspruchnahmen r01 = r02 = 0, r11 = 3, r12 = 2 an den Ressourcen 1 und 2 sowie den Dauern p0 = 0, p1 = 1 f¨ ur die 11
Entsprechende Funktionen werden in der Literatur auch r-monoton genannt (vgl. Zimmermann, 2001).
178
2 Projektplanung unter Zeitrestriktionen
P Zielfunktion eines Ressourceninvestmentproblems (RI ) mit cP 1 = c2 = 1 die untere Schranke LB0 = 3 + 2 = 5. Um im Enumerationsbaum m¨ oglichst schnell eine zeitzul¨assige L¨osung zu finden, verwenden wir als Suchstrategie eine Tiefensuche. Dazu w¨ahlen wir unter allen S¨ ohnen des aktuell betrachteten Knotens im Enumerationsbaum denjenigen Knoten zur weiteren Bearbeitung aus, der die kleinste untere Schranke LB0 aufweist. Sobald eine erste zeitzul¨assige L¨osung S ∗ gefunden wurde, stellt deren Zielfunktionswert f (S ∗ ) eine obere Schranke UB (upper bound) f¨ ur eine optimale L¨ osung des zugrunde liegenden Problems dar. Mit ihrer Hilfe k¨ onnen alle Knoten zusammen mit ihren Nachfolgern ausgelotet (d.h. von den weiteren Betrachtungen ausgeschlossen) werden, die eine untere Schranke besitzen, welche gr¨ oßer oder gleich UB ist. Jedes Mal, wenn eine neue beste L¨ osung gefunden wurde, wird UB entsprechend aktualisiert. Existiert unter den S¨ohnen eines aktuell betrachteten Knotens keine zeitzul¨assige L¨ osung oder kann dieser aufgrund seiner unteren Schranke ausgelotet werden, so f¨ uhren wir einen Backtracking-Schritt aus. Das bedeutet, dass wir im Enumerationsbaum wieder zum Vaterknoten des aktuell betrachteten Knotens zur¨ uckspringen und im Folgenden dessen noch nicht untersuchte S¨ohne betrachten. Eine Tiefensuche kann implementiert werden, indem die Menge der noch zu betrachteten Knoten als Stapel, d.h. als LIFO-Liste (last-in firstout), verwaltet wird, und die generierten Enumerationsknoten gem¨aß nicht anwachsender unterer Schrankenwerte LB0 auf den Stapel gelegt werden. F¨ ur das Ausloten von Enumerationsknoten verwenden wir eine workloadbasierte (auf dem Arbeitseinsatz basierte) untere Schranke LBA. Diese erhalten wir aus der unteren Schranke LB0 , indem der Workload (Arbeitseinsatz) der noch nicht eingeplanten Vorg¨ ange in zwei Schritten zus¨atzlich ber¨ ucksichtigt wird. Im ersten Schritt betrachten wir eine Menge C ⊆ V \C bestehend aus einem oder mehreren noch nicht eingeplanten Vorg¨ angen, deren planungsabh¨angige Zeitfenster [ES , LC [ sich nicht u ¨berlappen.12 Da diese Vorg¨ange i ∈ C nicht simultan in Ausf¨ uhrung sein k¨ onnen, planen wir jeden von ihnen unabh¨angig von den anderen Vorg¨ angen aus C˜ bestm¨ oglich ein. Hierbei ist zu beachten, dass Vorgang n + 1 immer zu seinem LS eingeplant wird, weil dadurch die zur Verf¨ ugung stehenden Ressourcen am l¨ angsten genutzt werden k¨onnen. Der Zielfunktionswert des entstandenen Teilschedules S C∪C stellt wieder eine untere Schranke f¨ ur den optimalen Zielfunktionswert dar. die Menge der noch nicht betrachSei im zweiten Schritt Cˆ = V \ {C ∪ C} teten Vorg¨ ange. Dann entspricht ˆ := wk (C) pi rik i∈Cˆ 12
Planungsabh¨ angig bedeutet, wie bereits in Abschnitt 1.4.5 erl¨ autert, dass wir die ES - und LC -Werte unter Ber¨ ucksichtigung der bereits eingeplanten Vorg¨ ange bestimmen.
2.2 Exakte L¨ osungsverfahren
179
dem Workload der noch nicht betrachteten Vorg¨ange an Ressource k ∈ R. ˆ ber¨ Den Workload wk (C) ucksichtigen wir, indem wir die Vorg¨ange j ∈ Cˆ in unterbrechbare Teilvorg¨ ange mit einer Dauer und einer Ressourceninanspruchnahme von 1 zerlegen. Diese Teilvorg¨ ange werden dann f¨ ur jede Ressource k ∈ R zu Zeitpunkten eingeplant, an denen die Ressourceninanspruchnahme der bereits eingeplanten Vorg¨ ange minimal ist. Wir vernachl¨assigen also die Zeitbeziehungen, nehmen an, die Vorg¨ ange w¨aren unterbrechbar und planen die unterbrechbaren Vorg¨ ange so gut wie m¨ oglich im Planungszeitraum [0, d] zu Zeitpunkten {0, . . . , d − 1} ein. Das beschriebene Vorgehen setzt voraus, dass die Pfeilbewertungen des Netzplans, die Vorgangsdauern und die Ressourceninanspruchnahmen der Vorg¨ ange ganzzahlig sind. Betrachten wir beispielsweise das Ressourcenprofil rk (S C∪C , t) in Abbildung 2.40 mit d = 14. Der Workload der Vorg¨ange aus der Menge Cˆ sei ˆ = 12. Dann ergibt sich die durch die gepunkteten Quadrate angedeuwk (C) tete Auff¨ ullung“ des Ressourcenprofils. ”
rk (S C∪C , t) 5
Legende:
6
r
rb
r
rb rk (S C∪C, t) ˆ wk (C)
4
r
3 2
r
rb
r
rb
r
rb
rb
r
rb
1
r
rb 2
r 4
6
-t
rb
r
rb
r
8
10
12
14
Abb. 2.40. Ressourcenprofil rk (S C∪C , t)
Sei rka (S C∪C , ·), k ∈ R das Ressourcenprofil, das aus dem Ressourcenprofil ˆ entrk (S C∪C , ·) durch Hinzuf¨ ugen des Workloads (Arbeitseinsatzes) wk (C) steht. Da, wie bereits gesagt, f¨ ur die Zielfunktionen (RI ), (RD) und (RL) der Zielfunktionswert mit der Ressourceninanspruchnahme in den einzelnen Pe rioden w¨ achst, gilt rka (S C∪C , t) ≤ rk (S, t) f¨ ur alle S ∈ ST , k ∈ R und t = [0, d]. Folglich stellt a C∪C LBA := cP , t) k max rk (S k∈R
t∈[0,d]
eine untere Schranke f¨ ur das Ressourceninvestmentproblem, D LBA := ck [rka (S C∪C , t) − Yk ]+ dt k∈R
t∈[0,d]
eine untere Schranke f¨ ur das Ressourcenabweichungsproblem und
180
2 Projektplanung unter Zeitrestriktionen
LBA :=
k∈R
(rka )2 (S C∪C , t) dt
t∈[0,d]
eine untere Schranke f¨ ur das Ressourcennivellierungsproblem dar. Algorithmus 2.33 beschreibt das Branch-and-Bound-Verfahren zur L¨osung von Ressourcenabweichungs- und Ressourcennivellierungsproblemen. Seien Ψ die Menge aller bislang generierten Teilschedules und Ω ein Stapel, der die noch zu erweiternden Teilschedules (C, S C ) enth¨alt. Die Menge Ψ dient dazu bereits betrachtete oder in Ω aufgenommene Ger¨ uste zu erkennen, so dass sie von der weiteren Betrachtung ausgeschlossen werden k¨onnen. Im Initialisierungsschritt setzen wir C := {0} und S C := (0). Weiterhin werden die fr¨ uhesten und sp¨ atesten Startzeitpunkte bestimmt. Gilt ES i = LS i zu Beginn des Verfahrens oder im weiteren Verfahrensverlauf f¨ ur einen Vorgang i, so wird Vorgang i zum Zeitpunkt Si := ESi eingeplant und C und S C werden entsprechend aktualisiert. Als erste beste“ L¨ osung w¨ahlen wir S ∗ := ES und initia” lisieren die obere Schranke UB := f (ES ). Danach setzen wir Ω := {(C, S C )} und Ψ := {(C, S C )}. In jeder Iteration entnehmen wir den jeweils obersten Teilschedule (C, S C ) des Stapels Ω, d.h. als Suchstrategie wird eine Tiefensuche durchgef¨ uhrt. Gilt f¨ ur den aktuellen Teilschedule C = V , dann ist zu pr¨ ufen, ob die gefundene L¨ osung S besser als die beste bisher gefundene L¨osung S ∗ ist. Ist f (S C ) < UB erf¨ ullt, so setzen wir S ∗ := S und verringern die obere Schranke auf UB := f (S ∗ ). Gilt C = V , dann u ufen wir, ob LBA(S C ) ¨ berpr¨ kleiner ist als die obere Schranke UB . In diesem Fall, erweitern wir den aktuelle Teilschedule gem¨ aß der vier F¨ alle (i)–(iv). Dabei speichern wir f¨ ur alle Vorg¨ ange j ∈ V \ C in einer Menge Tj jeweils alle m¨oglichen Startzeitpunkte, zu denen Vorgang j an das betrachtete Ger¨ ust angebunden werden kann. Die neu entstandenen Teilschedules (C , S C ) werden, wenn sie noch nicht in der Menge Ψ enthalten sind und ihre untere Schranke LB0 (S C ) kleiner als UB ist, den Mengen Λ und Ψ hinzugef¨ ugt. Danach werden die Teilschedules (C, S C ) der Menge Λ entnommen und dem Stapel Ω gem¨aß nicht wachsender Werte von LB0 (S C ) hinzugef¨ ugt. Das oberste Element mit kleinstem Schrankenwert wird dann als N¨ achstes gew¨ ahlt. Es werden solange Teilschedules aus Ω entnommen, bis Ω = ∅ gilt. Algorithmus 2.33 (Branch-and-Bound-Verfahren f¨ ur Problem (2.1) mit Zielfunktion (RD ) bzw. (RL)). Setze C := {0}, S C := (0). ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i ∈ V \ {0}. Setze ES i := d0i und LS i := −di0 f¨ ur ein i ∈ V : Setze Si := ES i , C := C ∪ {i}. Falls ES i = LS i f¨ Setze S ∗ := ES und UB := f (S ∗ ). Initialisiere den Stapel Ω := {(C, S C )} und die Menge Ψ := {(C, S C )}. Solange Ω = ∅:
2.2 Exakte L¨ osungsverfahren
181
Entnimm das oberste Paar (C, S C ) vom Stapel Ω. Falls C = V : Falls f (S C ) < UB : Setze S ∗ := S C und UB := f (S ∗ ). Andernfalls : Falls LBA(S C ) < UB: Initialisiere die Menge Λ := ∅. F¨ ur alle j ∈ V \ C: Setze Tj := ∅. Setze ES j := max{ES j , maxi∈C (Si + dij )} und LS j := min{LS j , mini∈C (Si − dji )}. F¨ ur alle i ∈ C: (i) Falls i, j ∈ E und Si +δij = ESj : Setze Tj := Tj ∪{Si +δij }. (ii) Falls j, i ∈ E und Si − δji = LSj : Setze Tj := Tj ∪ {Si − δji }. (iii) Falls ES j ≤ Si + pi ≤ LS j : Setze Tj := Tj ∪ {Si + pi }. (iv) Falls ES j ≤ Si − pj ≤ LS j : Setze Tj := Tj ∪ {Si − pj }. F¨ ur alle t ∈ Tj : Setze Sj := t, C := C ∪ {j}. F¨ ur alle h ∈ V \ C : Falls max(ES h , Sj + djh ) = min(LS h , Sj − dhj ) : Setze Sh := max(ES h , Sj + djh ) und C := C ∪ {h}.
Falls (C , S C ) ∈ / Ψ und LB0 (S C ) < UB : Setze Λ := Λ ∪ {(C , S C )} und Ψ := Ψ ∪ {(C , S C )}. uge sie dem Stapel Entnimm die Teilschedules (C, S C ) aus Λ und f¨ Ω gem¨aß nicht wachsender Werte von LB0 (S C ) hinzu. R¨ uckgabe S ∗ . Die Verwaltung der Menge Ψ aller bereits generierten Teilschedules ist i.d.R. sehr aufw¨ andig. Um die Bildung von redundanten Teilschedules schon bei der Konstruktion der Teilschedules zu verhindern, existieren verschiedene Techniken, die z.B. in N¨ ubel (1999) beschrieben sind. Zur L¨osung von Ressourceninvestmentproblemen k¨ onnen wieder die Bedingungen (ii) und (iv) in Algorithmus 2.33 eliminiert werden. Beispiel 2.34. Wir betrachten den Projektnetzplan in Abbildung 2.41 mit sechs realen Vorg¨ angen, zwei erneuerbaren Ressourcen und einer maximalen Projektdauer von d = 16. Im Folgenden geben wir die ersten beiden Iterationen von Algorithmus 2.33 zur L¨ osung eines Ressourceninvestmentproblems mit den Bereitstellungskosten cP ur k = 1, 2 an. k = 1 f¨ F¨ ur die Vorg¨ ange i ∈ V erhalten wir die in Tabelle 2.14 aufgef¨ uhrten fr¨ uhesten und sp¨ atesten Startzeitpunkte.
182
2 Projektplanung unter Zeitrestriktionen -16 1 2 -3 1 4 @ 2,2 1,2 @ 4 0 -2 -3 -2 @ 0? 6 1 ? 2@ 0 3 -? 7 R 7 @ 0 2 5 0,0 0,0 @ 1,2 @ 1,4 6 1 @ 2 -6 @2 Legende: @ @ pj pi 2 1 @ @ δij R @ - j R 3 -8 @ 6 i -4 ri1 , ri2 rj1 , rj2 2,2 2,1 Abb. 2.41. Projektnetzplan mit zwei erneuerbaren Ressourcen ur alle Vorg¨ ange i ∈ V Tabelle 2.14. ES i und LS i f¨ i
0
1
2
3
4
5
6
7
ES i LS i
0 0
0 10
3 7
2 13
1 12
10 14
5 15
12 16
Wir setzen S ∗ := (0, 0, 3, 2, 1, 10, 5, 12). F¨ ur S ∗ ergeben sich die in Abbildung 2.42 dargestellten Ressourcenprofile und eine obere Schranke gem¨aß UB := f (S ∗ ) = k∈R maxt∈[0,d] rkt = 3 + 4 = 7.
r1 (ES , t) 4 2
6
r2 (ES , t) 4
q
qa q aq q qa 4 3 6 1 q qa 3 q qa q 4 2 2
4
6
aq q qa q qa 5 q 8
10
2
-t 12
6 q
q qa
1 4 3 2
q qa
qa 4 3
q qa q qa 6 q 2 4
6
qa
5
q qa q 8
10
-t 12
Abb. 2.42. Ressourcenprofile zum ES -Schedule
Weiter initialisieren wir C := {0}, S C := (0), den Stapel Ω := {(C, S C )} und die Menge Ψ := {(C, S C )}. In der ersten Iteration entnehmen wir den Teilschedule ({0}, (0)) dem Stapel Ω. Dann berechnen wir die workloadbasierte untere Schranke LBA(S C ) f¨ ur S C = (0) mit C = {0}. Da sich f¨ ur die Vorg¨ ange 1 und 7 die planungsabh¨ angigen Zeitfenster [ES , LC[ nicht u ¨berlappen, planen wir Vorgang 1 und Vorgang 7 bestm¨oglich ein, d.h. beispielsweise zu S1 = 0 und S7 = 16. Die Menge der noch nicht betrachteten Vorg¨ange ist nun Cˆ = {2, . . . , 6}. F¨ ur den Workload der Vorg¨ange aus Cˆ ergibt sich ˆ ˆ w1 (C) := 15 und w2 (C) := 25. Dieser Workload wird ber¨ ucksichtigt, indem
2.2 Exakte L¨ osungsverfahren
183
wir die Vorg¨ ange j ∈ Cˆ in unterbrechbare Teilvorg¨ange mit einer Dauer und einer Ressourceninanspruchnahme von 1 zerlegen und diese zu Zeitpunkten einplanen, an denen die Ressourceninanspruchnahme der bereits eingeplanten Vorg¨ ange minimal ist. Somit ergibt sich f¨ ur die workloadbasierte untere Schranke LBA(S C ) := max rka (S C∪C , t) = 2 + 2 = 4. k∈R
t∈[0,d]
Da LBA(S C ) < UB ist, fahren wir fort und initialisieren die Menge Λ := ∅. Die Aktualisierung der ES - und LS -Werte f¨ uhrt zu keinen Ver¨anderungen. Anhand der Bedingungen (i) und (iii) ist nun zu pr¨ ufen (Zielfunktion (RI )), ob zwischen einem Knoten j ∈ {1, . . . , 7} und Knoten 0 eine bindende Zeitbzw. Vorrangbeziehung etabliert werden kann. F¨ ur die Knoten 0 und 1 gelten die Bedingungen 0, 1 ∈ E und S0 +0 = 0 = ES 1 sowie ES 1 ≤ S0 +p0 ≤ LS 1 ; Bedingungen (i) und (iii). Daher ergibt sich die Menge aller m¨oglichen Einplanungszeitpunkte von 1 zu T1 := {0}. Wir erweitern den aktuellen Teilschedule um den Knoten 1 und erhalten S C = (0, 0) mit C = {0, 1}. F¨ ur den Teilschedule S C = (0, 0) ergibt sich die untere Schranke LB0 (S C ) := f (S C ) = 2 + 2 = 4. Da LB0 (S C ) < UB erf¨ ullt ist und wir Teilschedule S C nicht bereits schon einmal generiert haben, f¨ ugen wir den Teilschedule ({0, 1}, (0, 0)) den Mengen Λ und Ψ hinzu. F¨ ur die Knoten 0 und 2 ist die Bedingung (i) erf¨ ullt, denn es gilt 0, 2 ∈ E und S0 + 3 = ES 2 . Wir speichern den Zeitpunkt t = 3 in der Menge T2 und erweitern dann den aktuellen Teilschedule um Knoten 2. Dabei ergibt sich S C = (0, 3) mit C = {0, 2}. F¨ ur Teilschedule S C = (0, 3) erhalten wir die untere Schranke LB0 (S C ) = 1 + 2 = 3. ugen wir Teilschedule ({0, 2}, (0, 3)) den Mengen Λ Da LB0 (S C ) < UB gilt, f¨ und Ψ hinzu. F¨ ur die Knoten 0 und 3 ist ebenfalls die Bedingung (i) erf¨ ullt und wir setzen T3 := {2}. Es ergibt sich der Teilschedule S C = (0, 2) mit C = {0, 3}. Wir erhalten die untere Schranke LB0 f¨ ur Teilschedule S C = (0, 2) zu LB0 (S C ) = 2 + 2 = 4. Es gilt LB0 (S C ) < UB und daher speichern wir Teilschedule ({0, 3}, (0, 2)) in den Mengen Λ und Ψ . F¨ ur die anderen Knoten 4–7 ist weder Bedingung (i) noch (iii) erf¨ ullt. Nun werden alle Teilschedules aus der Menge Λ entfernt und dem Stapel Ω gem¨ aß nicht wachsender Werte von LB0 hinzugef¨ ugt. Somit erhalten wir Ω := {({0, 2}, (0, 3)), ({0, 1}, (0, 0)), ({0, 3}, (0, 2))}. In der zweiten Iteration entnehmen wir Teilschedule ({0, 2}, (0, 3)) dem Stapel Ω. Zun¨ achst ist die workloadbasierte untere Schranke LBA(S C ) des Teilschedules S C = (0, 3) mit C = {0, 2} zu berechnen. Da sich f¨ ur die
184
2 Projektplanung unter Zeitrestriktionen
Vorg¨ ange 1 und 7 die planungsabh¨ angigen Zeitfenster [ES , LC [ nicht u ¨ berlappen, planen wir sie zu S1 = 0 und S7 = 16 ein. Somit besteht die Menge der noch nicht betrachteten Vorg¨ ange aus Cˆ = {3, . . . , 6}. F¨ ur den Workload ˆ ˆ := 13 und wir erhalten die dieser Vorg¨ ange ergibt sich w1 (C) := 9 und w2 (C) workloadbasierte untere Schranke LBA(S C ) := max rka (S C∪C , t) = 2 + 2 = 4. k∈R
t∈[0,d]
Da LBA(S C ) < UB gilt, wird versucht, den Teilschedule ({0, 2}, (0, 3)) zu erweitern. Wir initialisieren die Menge Λ = ∅. Die Aktualisierung der ES ¨ und LS -Werte f¨ uhrt zu den folgenden Anderungen: LS 1 = 6, LS 3 = 9 und LS 6 = 13. Es ist nun anhand der Bedingungen (i) und (iii) zu pr¨ ufen, ob zwischen einem Knoten j ∈ {1, 3, . . . , 7} und Knoten 0 oder 2 eine bindende Zeit- oder Vorrangbeziehung etabliert werden kann. F¨ ur die Vorg¨ange 0 und 1 treffen die Bedingungen (i) und (iii) zu und wir setzen T1 := {0}. Die untere Schranke f¨ ur den entstandenen Teilschedule S C = (0, 0, 3) mit C = {0, 1, 2} ergibt sich zu LB0 (S C ) = 2 + 2 = 4. ullt ist, f¨ ugen wir den Teilschedule Da die Bedingung LB0 (S C ) < UB erf¨ ({0, 1, 2}, (0, 0, 3)) den Mengen Λ und Ψ hinzu. F¨ ur die Knoten 0 und 3 ist Bedingung (i) und f¨ ur die Knoten 2 und 3 ist Bedingung (iii) erf¨ ullt. Wir erhalten T3 := {2, 9} und erweitern den aktuellen Teilschedule um Knoten 3. Es ergeben sich die Teilschedules S C = (0, 3, 2), C = {0, 2, 3} und S C = (0, 3, 9), C = {0, 2, 3}. Die unteren Schranken berechnen sich zu LB0 (S C ) = 3 + 4 = 7 LB0 (S C ) = 2 + 2 = 4
(S C = (0, 3, 2)) (S C = (0, 3, 9)).
ur den Teilschedule ({0, 2, 3}), (0, 3, 9)) gilt, f¨ ugen Da LB0 (S C ) < UB nur f¨ wir nur diesen Teilschedule den Mengen Λ und Ψ hinzu. F¨ ur die Knoten 2 und 4 sind die Bedingungen (i) und (iii) erf¨ ullt. Damit ergibt sich T4 := {1, 9}. Die unteren Schranken der zugeh¨origen Teilschedules lassen sich wie folgt berechnen LB0 (S C ) = 1 + 2 = 3 LB0 (S C ) = 1 + 2 = 3
(S C = (0, 3, 1)) (S C = (0, 3, 9)).
Da die untere Schranke beider Teilschedules kleiner als UB ist, werden beide Teilschedules in den Mengen Λ und Ψ gespeichert. Nun betrachten wir die Knoten 2 und 5, f¨ ur die (i) zutrifft. Wir erhalten T5 := {10} und erweitern den aktuellen Teilschedule um Knoten 5. Die untere Schranke des entsprechenden Teilschedules ergibt sich zu LB0 (S C ) = 1 + 4 = 5 .
2.2 Exakte L¨ osungsverfahren
185
Da LB0 (S C ) < UB gilt, f¨ ugen wir Teilschedule ({0, 2, 5}, (0, 3, 10)) den Mengen Λ und Ψ hinzu. F¨ ur die Knoten 2 und 6 sind ebenfalls die Bedingungen (i) und (iii) erf¨ ullt und es ergibt sich die Menge T6 := {5, 9}. Durch Erweiterung des aktuellen Teilschedules erhalten wir S C = (0, 3, 5) mit C = {0, 2, 6} und S C = (0, 3, 9) mit C = {0, 2, 6}. Die unteren Schranken berechnen sich zu LB0 (S C ) = 3 + 3 = 6 LB0 (S C ) = 2 + 2 = 4
(S C = (0, 3, 5)) (S C = (0, 3, 9)).
Da beide untere Schranken kleiner als UB sind, werden die Teilschedules den Mengen Λ und Ψ hinzugef¨ ugt. Nun werden alle generierten Teilschedules aus der Menge Λ entfernt und dem Stapel Ω gem¨aß nicht wachsender Werte von LB0 hinzugef¨ ugt. Es ergibt sich Ω := {({0, 2, 4}, (0, 3, 1)), ({0, 2, 4}, (0, 3, 9)), ({0, 1, 2}, (0, 0, 3)), ({0, 2, 3}, (0, 3, 9)), ({0, 2, 6}, (0, 3, 9)), ({0, 2, 5}, (0, 3, 10)), ({0, 2, 6}, (0, 3, 5)), ({0, 1}, (0, 0)), ({0, 3}, (0, 2))}. Der in den beiden ersten Iterationen entstandene Enumerationsbaum ist in Abbildung 2.43 dargestellt. In der n¨ achsten Iteration ist mit dem Knoten 4 fortzufahren. (0) {0}
0
HH
C Legende: SC
i
HH HH H
(0, 3)
(0, 0)
{0, 2}
{0, 1}
(0, 2) {0, 3}
1
2
3
H PP @H PP @HHPPP HH PP @ @ PP H
(0, 3, 1)
(0, 3, 9)
(0, 0, 3) (0, 3, 9) (0, 3, 9) (0, 3, 10)
(0, 3, 5)
{0, 2, 4}
{0, 2, 4}
{0, 1, 2}
{0, 2, 3}
{0, 2, 6}
{0, 2, 5}
{0, 2, 6}
4
5
6
7
8
9
10
Abb. 2.43. Enumerationsbaum f¨ ur das Beispiel 2.34
Anhand von Beispiel 2.34 erkennt man, dass die Anwendung des Branchand-Bound-Verfahrens sehr aufw¨ andig ist. Eine optimale L¨osung wird f¨ ur Ressourceninvestmentprobleme mit mehr als 50 Vorg¨angen und f¨ ur Ressourcenabweichungs- sowie Ressourcennivellierungsprobleme mit mehr als 30 Vorg¨angen i.d.R. nicht in akzeptabler Zeit gefunden. Deshalb verwendet man zur Bestimmung einer akzeptablen N¨ aherungsl¨ osung f¨ ur Projektplanungsprobleme (2.1) mit Zielfunktion (RI ), (RD ) oder (RL) zumeist eine Heuristik. Im n¨achsten Kapitel gehen wir n¨ aher auf ein solches heuristisches L¨osungsverfahren
186
2 Projektplanung unter Zeitrestriktionen
f¨ ur Ressourceninvestment-, Ressourcenabweichungs- und Ressourcennivellierungsprobleme ein.
2.3 Heuristisches L¨ osungsverfahren In diesem Abschnitt f¨ uhren wir ein Priorit¨atsregelverfahren zur Bestimmung einer N¨ aherungsl¨osung f¨ ur Projektplanungsprobleme (2.1) ein. Das Verfahren wird bei Ressourceninvestment-, Ressourcenabweichungs- und Ressourcennivellierungsproblemen angewendet, da die Ermittlung einer exakten L¨osung f¨ ur diese Probleme sehr aufw¨ andig ist. Eine Anwendung des Priorit¨atsregelverfahrens f¨ ur Projektplanungsprobleme (2.1) mit den Zielfunktionen (PD ), (MFT ), (WST ), (E + T ) und (NPV ) ist prinzipiell m¨oglich, aber i.d.R. nicht sinnvoll, da f¨ ur diese Probleme leistungsf¨ ahige exakte Verfahren existieren (vgl. Abschnitt 2.2). Das Priorit¨ atsregelverfahren generiert durch die sukzessive Einplanung von Vorg¨ angen eine N¨ aherungsl¨ osung und wird daher auch als Konstruktionsverfahren bezeichnet. Seien C die Menge der bereits eingeplanten Vorg¨ange und S C der zugeh¨ orige Teilschedule. Dann l¨ asst sich das prinzipielle Vorgehen des Priorit¨ atsregelverfahrens wie folgt beschreiben. Ausgehend vom Teilschedule S C = (0) mit C = {0} und S0 = 0 erweitern wir den aktuellen Teilschedule in jedem Schritt um mindestens einen Vorgang j, indem wir den Startzeitpunkt Sj festlegen. Dies wird solange wiederholt, bis allen Vorg¨angen des Projektes ein Startzeitpunkt zugewiesen wurde. Sei C := V \C die Menge der noch nicht eingeplanten Vorg¨ange. Wie bereits in Abschnitt 2.2.4 gesehen, ¨ andern sich beim Einplanen einzelner Vorg¨ange i.d.R. die fr¨ uhesten und sp¨ atesten Startzeitpunkte der u ¨brigen Vorg¨ange j ∈ C gem¨ aß ES j (S C ) := max{d0j , max(SiC + dij )} C
LS j (S ) :=
i∈C
min{−dj0 , min(SiC i∈C
− dji )}.
(2.9) (2.10)
Vorgang j kann somit nur innerhalb des Zeitfensters Wj (S C ) = [ES j (S C ), LS j (S C )] eingeplant werden. Beim Einplanen von Vorgang j w¨ ahlen wir f¨ ur den Startzeitpunkt Sj einen Zeitpunkt t ∈ Wj (S C ), der bez¨ uglich der zugrunde liegenden Zielfunktion am g¨ unstigsten erscheint, d.h. bei dem sich der Zielfunktionswert durch die Einplanung von Vorgang j zum Zeitpunkt Sj := t am wenigsten verschlechtert. Die Bewertung eines m¨ oglichen Startzeitpunktes t erfolgt dabei aufgrund der Differenz der Zielfunktionswerte der Teilschedules S C∪{j} und S C , was voraussetzt, dass f¨ ur einen beliebigen Teilschedule S C ein zuC geh¨ origer Zielfunktionswert f (S ) bestimmt werden kann. Dies ist f¨ ur alle (summen-)separierbaren Zielfunktionen der Form f (S) := i∈V fi (Si ), wie z.B. (PD ), (MFT ), (WST ), (E + T ) und (NPV ), bzw. f¨ ur alle ressourcengebrauchsabh¨ angigen Zielfunktionen der Form f (S) := f (rk (S, ·)k∈R ), wie z.B.
2.3 Heuristisches L¨ osungsverfahren
187
(RI ), (RD ) und (RL), die prinzipiell f¨ ur jedes Ressourcenprofil bzw. jede Menge von Ressourcenprofilen ausgewertet werden k¨onnen, der Fall. Betrachten ¨ wir die Anderung des Zielfunktionswertes, die sich bei der Einplanung eines einzelnen Vorgangs j ergibt. Definition 2.35 (Erweiterungskosten). Seien S C ein Teilschedule und f eine separierbare oder eine ressourcengebrauchsabh¨angige Zielfunktion. Weiter seien j ein noch nicht eingeplanter Vorgang, Sj ∈ Wj (S C ) und S C∪{j} ein C∪{j} C∪{j} Teilschedule, f¨ ur den Si = SiC f¨ ur alle i ∈ C und Sj = Sj gilt. Dann bezeichnen wir mit f a (S C , j, Sj ) := f (S C∪{j} ) − f (S C ) die Erweiterungskosten (additional cost), die entstehen, wenn wir den Teilschedule S C um Vorgang j mit Startzeitpunkt Sj erweitern. Beispiel 2.36. Betrachten wir den MPM-Netzplan in Abbildung 2.44 mit f¨ unf Vorg¨ angen und einer erneuerbaren Ressource, d.h. der Index k kann entfallen. Seien C = {0, 1, 2, 4} die Menge der bereits eingeplanten Vorg¨ange und S C = (0, 1, 4, 8) der entsprechende Teilschedule. Vorgang 3 kann innerhalb des Zeitfensters W3 (S C ) = [2, 7] eingeplant werden. Im Folgenden wollen wir f¨ ur die Zielfunktionen (RI ), (RD ) und (RL) die Erweiterungskosten bestimmen, die sich ergeben, wenn wir Vorgang 3 zum Zeitpunkt S3 = 4 einplanen (vgl. Abb. 2.44). 1 1 1 2
3 -4 2 1@ 4
@ 0 -10 @ R @ *4 0 1 HH 1 j H
0 0 H 0 HH2
3 1
r(t) 2 1
6 3
1
2 2
4
6
-t 8
Abb. 2.44. Projektnetzplan und m¨ ogliches Ressourcenprofil
F¨ ur die Zielfunktion des Ressourceninvestmentproblems (RI ) erhalten wir f a (S C , 3, 4) = cP max rk (S C∪{3} , t) − cP max rk (S C , t) t∈[0,d]
t∈[0,d]
= (2 − 2) cP = 0, f¨ ur die Zielfunktion (RD ) mit Y = 1 erhalten wir [rk (S C∪{3} , t) − 1]+ dt f a (S C , 3, 4) = cD t∈[0,d] −cD [rk (S C , t) − 1]+ dt = (2 − 1) cD = cD t∈[0,d]
188
2 Projektplanung unter Zeitrestriktionen
und f¨ ur die Ressourcennivellierungszielfunktion (RL) ergibt sich rk2 (S C∪{3} , t) − rk2 (S C , t) = 11 − 8 = 3. f a (S C , 3, 4) = t∈[0,d]
t∈[0,d]
Wie bereits erl¨ autert, terminiert unser Konstruktionsverfahren einen Vorgang nach dem anderen, wobei der n¨ achste einzuplanende Vorgang j immer zu einem Zeitpunkt t ∈ Wj (S C ) eingeplant wird, an dem die Erweiterungskosten f a (S C , j, t) minimal sind. Da die Anzahl der Zeitpunkte t ∈ Wj (S C ) i.d.R. u ahlbar ist, definieren wir f¨ ur die verschiedenen Zielfunktionen ¨ berabz¨ jeweils eine Menge von Entscheidungszeitpunkten Dj (S C ), die mindestens einen Minimalpunkt von f a (S C , j, ·) auf Wj (S C ) enth¨alt. Die Zielfunktion des Ressourceninvestmentproblems (RI ) geh¨ort, wie bereits in Abschnitt 2.1.5 gezeigt, zu den lokal regul¨aren Funktionen und ist somit auf der Isoordnungsmenge jedes zeitzul¨assigen Schedules regul¨ar. Insbesondere ist (RI ) konstant auf jeder Isoordnungsmenge, was folgenden R¨ uckschluss zul¨ asst. F¨ ur die Zielfunktion (RI ) sind die Erweiterungskosten f a (S C , j, Sj ) konstant auf jedem Intervall (eventuell offen oder halboffen) von Startzeitpunkten, f¨ ur die die entsprechenden Teilschedules S C∪{j} die gleiche Ordnung induzieren. In Abbildung 2.45 sind die Erweiterungskosten konstant auf den Intervallen [0, t], ]t, t [, [t , t ] und ]t , t [.13 r(S C , t) 4
f a (S C , j, Sj )
6
-
j
6
2
1
i
h t
t
-t t
rb r r t
rb r
t
rb r- Sj
t
Abb. 2.45. Ressourcenprofil des Teilschedules S C und Erweiterungskosten
Aus dieser Eigenschaft der Erweiterungskosten l¨asst sich folgern, dass bei der Einplanung eines Vorgangs j ∈ C neben dem ES j (S C ) noch Zeitpunkte zu betrachten sind, an denen mindestens ein bereits eingeplanter Vorgang endet und die Erweiterungskosten fallen k¨ onnen (Vorrangbeziehung f¨allt weg). Sei CT (S C ) := {t ∈ [0, d] | es existiert i ∈ C : t = SiC + pi } die Menge aller Zeitpunkte, zu denen gem¨ aß S C mindestens ein Vorgang endet (completion times). Dann erhalten wir f¨ ur die Zielfunktion (RI ) die folgende Menge von Entscheidungszeitpunkten Dj (S C ) := {ES j (S C )} ∪ (Wj (S C ) ∩ CT (S C )). 13
In den Abbildungen 2.45 und 2.47 gehen wir davon aus, dass Vorgang j zu jedem Zeitpunkt im Planungszeitraum starten kann.
2.3 Heuristisches L¨ osungsverfahren
189
Beispiel 2.37. Wir betrachten die in Abbildung 2.46 dargestellten Ressourcenprofile. Die Menge der bereits eingeplanten Vorg¨ange sei C = {0, 1, 2, 3} mit S C = (0, 0, 3, 3). Der als N¨ achstes zu betrachtende Vorgang 4 mit p4 = 3 kann innerhalb des Zeitfensters W4 (S C ) = [1, 4] eingeplant werden. Die Erweiterungskosten der Funktion (RI ) sind auf dem Intervall [1, 2[ konstant, es gilt f a (S C , 4, t) = 1 f¨ ur t ∈ [1, 2[. Die durch die Teilschedules S C∪{4} mit S4 ∈ [1, 2[ implizierte strenge Ordnung (Menge von Vorrangbeziehungen) ist O(S C ) = {(1, 2), (1, 3)} (vgl. Abb. 2.46a). Weiterhin sind die Erweiterungskosten auf dem Intervall [2, 4[ konstant. Wir erhalten f a (S C , 4, t ) = 1 mit t ∈ [2, 4[ und die durch die Teilschedules S C∪{4} mit S4 ∈ [2, 4[ implizierte strenge Ordnung ist O(S C ) = {(1, 2), (1, 3), (1, 4)} (vgl. Abb. 2.46b). F¨ ur den Zeitpunkt t = 4 ergibt sich f a (S C , 4, 4) = 0 und die durch S C∪{4} = (0, 0, 3, 3, 4) implizierte strenge Ordnung ist O(S C ) = {(1, 2), (1, 3), (1, 4), (3, 4)} (vgl. Abb. 2.46c). Abbildung 2.46d zeigt zusammenfassend den Verlauf der Erweiterungskosten. Die Menge der Entscheidungszeitpunkte ist D4 (S C ) = {1, 2, 4}, wobei f¨ ur S4 = 4 die Erweiterungskosten minimal sind. r(S C , t) 2
6
4 3
4
1
r(S C , t)
a)
4
1
2
2
6
1
-t
2 1
6
2 f a (S C , 4, S4 )
c)
1 2
4 3 4 4 2
1
W4 (S C ) r(S C , t)
b)
2
3 4 2
4
4
6
-t 8
1
6
4
-t 6
d)
r r
br r
2
4
- S4 6
Abb. 2.46. Ressourcenprofile des Teilschedules S C und Erweiterungskosten
Bei den Zielfunktionen (RD ) und (RL) handelt es sich um lokal konkave Funktionen, die auf der Isoordnungsmenge jedes zeitzul¨assigen Schedules konkav sind (vgl. Abschnitt 2.1.5). F¨ ur diese Funktionen sind die Erweiterungskosten f a (S C , j, Sj ) konkav auf jedem Intervall von Startzeitpunkten, f¨ ur die die entsprechenden Teilschedules S C∪{j} die gleiche Ordnung induzieren. Da sich diese Ordnung mit Sj ¨ andert, falls sich der Startzeitpunkt von Vorgang j hinter den Endzeitpunkt eines Vorgang i ∈ C verschiebt (Vorrangbeziehung (i, j) kommt hinzu) oder wenn sich der Endzeitpunkt von Vorgang j hinter den Startzeitpunkt von Vorgang l ∈ C verschiebt (Vorrangbeziehung (j, l) f¨ allt weg), m¨ ussen wir bei der Einplanung von Vorgang j ∈ C neben dem ES j (S C ) und dem LS j (S C ) alle Zeitpunkte t betrachten, an denen ein Vorgang i ∈ C endet und alle Zeitpunkte t , f¨ ur die zum Zeitpunkt t + pj ein
190
2 Projektplanung unter Zeitrestriktionen
Vorgang l ∈ C startet. In Abbildung 2.47 ist der Sachverhalt veranschaulicht, wir geben die Erweiterungskosten f¨ ur die Zielfunktion (RD ) mit Y = 1 an. f a (S C , j, Sj )
r(S C , t) 3
6
-
j
3
2 1
6
2
l
i t
t
-t
1
@ r
@ @r r t
t
@ @r- Sj
C
Abb. 2.47. Ressourcenprofil des Teilschedules S und Erweiterungskosten
Sei
ST (S C ) := {t ∈ [0, d] | es existiert i ∈ C : t = SiC }
die Menge aller Zeitpunkte, zu denen gem¨ aß S C mindestens ein Vorgang startet (start times). Dann erhalten wir f¨ ur die Zielfunktionen (RD ) und (RL) die folgende Menge von Entscheidungszeitpunkten Dj (S C ) := {ES j (S C ), LS j (S C )} ∪ (Wj (S C ) ∩ CT (S C )) ∪ {t ∈ Wj (S C )|t + pj ∈ ST (S C )}. Beispiel 2.38. Betrachten wir die in Abbildung 2.48 dargestellten Ressourcenprofile. Die Menge der bereits eingeplanten Vorg¨ange ist C = {0, 1, 2, 3} mit S C = (0, 0, 2, 6). Als N¨ achstes ist der Vorgang 4 mit p4 = 3 im Intervall W4 (S C ) = [1, 4] einzuplanen. Planen wir Vorgang 4 zum Zeitpunkt ES 4 = 1 ein, so ist die zu S C∪{4} geh¨ orige Ordnung O(S C∪{4} ) = {(1, 2), (1, 3), (2, 3), (4, 3)}. Diese Ordnung ¨ andert sich, falls wir den Einplanungszeitpunkt von 4 erh¨ ohen. Zu den Zeitpunkten t = 2, t = 3+ε mit 0 < ε 1 und t = 4 kommen Vorrangbeziehungen hinzu oder fallen weg. Auf den resultierenden Intervallen [1, 2[, [2, 3], ]3, 4[ und [4, 4] verlaufen die Erweiterungskosten konkav und da die Zielfunktionen (RD ) und (RL) stetig sind, nehmen die Erweiterungskosten jeweils auf einem der beiden Intervallrandpunkte ihr Minimum an (vgl. Abb. 2.48a bis d). Abbildung 2.48e zeigt den Verlauf der Erweiterungskosten f¨ ur die Zielfunktion (RD) mit Y = 1. Die Menge der Entscheidungszeitpunkte ist D4 (S C ) = {1, 2, 3, 4}, wobei die Erweiterungskosten f¨ ur S4 = 3 und S4 = 4 minimal sind. Im Folgenden w¨ ahlen wir immer die gr¨oßte Minimalstelle, d.h. S4 = 4. Betrachten wir nun die Vorgehensweise des Konstruktionsverfahrens im Einzelnen. In jedem Schritt weisen wir einem Vorgang j einen Startzeitpunkt Sj+ ∈ Dj (S C ) zu, wobei Sj+ die gr¨ oßte Minimialstelle der Erweiterungsa C C kosten f (S , j, ·) auf Dj (S ) darstellt. Auf diese Weise wird zum Beispiel f¨ ur ein Ressourceninvestmentproblem sukzessive ein Outtree eines Ordnungsnetzplans N (O(S)) erzeugt, d.h. ein Minimalpunkt eines Schedulepolytops
2.3 Heuristisches L¨ osungsverfahren r(S C , t) 2
r(S C , t)
a)
6
2
4
1
1
3
2
-t
b)
6
1
2
1
1
6
-t 8
e) 3
4
2 2
2
4
c) 4
r(S C , t)
3
4
2
6
1
4 2
1
W4 (S C ) r(S C , t)
191
4
6
-t
f a (S C , 4, S4 )
8 4
d)
6
4 1 2
3
4
2 4
2
6
-t
6 r @r @ @r r
8
2
- S4
4
Abb. 2.48. Ressourcenprofile des Teilschedules S C
ST (O(S)), S ∈ ST . F¨ ur Probleme mit den Zielfunktionen (RD) oder (RL) wird sukzessive ein Ger¨ ust, d.h. ein Extremalpunkt eines Schedulepolytops konstruiert. Den n¨ achsten einzuplanenden Vorgang j ∈ C bestimmen wir gem¨aß einer Priorit¨atsregel. Dabei bestimmen wir zun¨ achst f¨ ur alle Vorg¨ange j ∈ C den entsprechenden Priorit¨ atsregelwert und w¨ ahlen dann unter den Vorg¨angen mit maximalem Priorit¨ atsregelwert denjenigen mit kleinster Vorgangsnummer aus. Die Wahl der Priorit¨ atsregel h¨ angt von der zugrunde liegenden Zielfunktion ab. In der Literatur werden viele verschiedene Priorit¨atsregeln angef¨ uhrt. Priorit¨ atsregeln, die f¨ ur die Zielfunktionen (RI ), (RD ) und (RL) gute“ L¨ osungen liefern, sind: ” GRD -Regel (Greatest Resource Demand): W¨ahle Vorgang j mit dem gr¨oßten Ressourcenbedarf, d.h. j := min{i ∈ C | max ph rhk }. h∈C
k∈R
GRDT -Regel (GRD per Time unit): W¨ ahle Vorgang j mit dem gr¨oßten Ressourcenbedarf pro Zeiteinheit, d.h. j := min{i ∈ C | max rhk }. h∈C k∈R
LST -Regel (Latest Start Time): W¨ ahle Vorgang j mit dem aktuell kleinsten sp¨ atesten Startzeitpunkt, d.h. j := min{i ∈ C | min LS h (S C )}. h∈C
MST -Regel (Minimum Slack Time): W¨ ahle Vorgang j mit der aktuell kleinsten Gesamtpufferzeit, d.h. j := min{i ∈ C | min TF h (S C )}. h∈C
Allgemein unterscheidet man zwischen statischen und dynamischen Priorit¨ atsregeln. Bei den statischen Priorit¨ atsregeln (GRD und GRDT ) werden
192
2 Projektplanung unter Zeitrestriktionen
die Priorit¨ atsregelwerte nur einmal zu Beginn des Verfahrens berechnet. Bei dynamischen Priorit¨ atsregeln werden die Priorit¨atsregelwerte jedesmal wenn ein Vorgang eingeplant wurde, aktualisiert. Die LST -Regel und die MST -Regel k¨ onnen statisch oder dynamisch verwendet werden, wobei die dynamischen Versionen mit LSTd bzw. MSTd bezeichnet werden. Bei der Auswahl von Vorgang j ∈ C kann anstelle einer einzigen Priorit¨atsregel auch eine Kombination von Priorit¨ atsregeln angewendet werden. Die Priorit¨atsregelkombination MST-GRD bedeutet beispielsweise, dass zuerst alle Vorg¨ange j ∈ C mit kleinster Gesamtpufferzeit ausgew¨ ahlt werden und dann unter diesen derjenige mit dem gr¨ oßten Ressourcenbedarf. Da es i.d.R. keine Priorit¨atsregel bzw. Priorit¨ atsregelkombination gibt, die alle anderen dominiert, wendet man Priorit¨ atsregelverfahren h¨ aufig nicht nur einmal (Single Pass), sondern mehrmals mit unterschiedlichen Priorit¨ atsregelkombinationen an (Multi Pass) und w¨ ahlt dann die beste L¨ osung aus. Ist der n¨ achste einzuplanende Vorgang j ∈ C bestimmt, berechnen wir in Abh¨ angigkeit der Zielfunktion die Menge der Entscheidungszeitpunkte Dj (S C ) von Vorgang j. Dj (S C ) enth¨ alt mindestens eine Minimalstelle Sj+ der Erweiterungskosten f a (S C , j, ·) auf Wj (S C ) = [ES j (S C ), LS j (S C )]. Wir bestimmen aus Gr¨ unden der Eindeutigkeit die gr¨ oßte Minimalstelle Sj+ von f a (S C , j, ·) + und setzen Sj := Sj . Ferner entfernen wir j aus der Menge C der noch nicht eingeplanten Vorg¨ ange und f¨ ugen j in die Menge C der bereits eingeplanten Vorg¨ ange ein. Danach m¨ ussen die ES - und LS -Werte f¨ ur alle Vorg¨ange i ∈ C gem¨ aß (2.9) und (2.10) aktualisiert werden. Gilt ES i = LS i so werden die jeweiligen Vorg¨ ange i ∈ C zu ES i terminiert. In dieser Art und Weise fahren wir fort, bis allen Vorg¨ angen i ∈ V ein Startzeitpunkt zugewiesen ist. Algorithmus 2.39 fasst die einzelnen Schritte des Priorit¨atsregelverfahrens zur Bestimmung einer N¨ aherungsl¨ osung f¨ ur Projektplanungsprobleme (2.1) mit Zielfunktion (RI ), (RD) und (RL) zusammen. Algorithmus 2.39 (Priorit¨ atsregelverfahren f¨ ur Problem (2.1) mit Zielfunktion (RI ), (RD ) bzw. (RL)). Initialisierung: Setze C := {0}, S C := (0) und C := V \ {0}. ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i ∈ V \ {0}. Setze ES i := d0i und LS i := −di0 f¨ F¨ ur alle i ∈ C mit LS i = ES i : Setze Si := ES i , C := C ∪ {i} und C := C \ {i}. Hauptschritt: ∅: Solange C = ochster Priorit¨at. W¨ ahle Vorgang j ∈ C mit h¨ C angigkeit von der Zielfunktion. Bestimme Dj (S ) in Abh¨ Bestimme die gr¨ oßte Minimalstelle Sj+ von f a (S C , j, ·) auf Dj (S C ).
2.3 Heuristisches L¨ osungsverfahren
193
Setze Sj := Sj+ , C := C ∪ {j} und C := C \ {j}. F¨ ur alle i ∈ C: Setze ES i := max(d0i , Sj + dji ) und LS i := min(−di0 , Sj − dij ). F¨ ur alle i ∈ C mit LS i = ES i : Setze Si := ES i , C := C ∪ {i} und C := C \ {i} R¨ uckgabe S. Beispiel 2.40. Wir betrachten den in Abbildung 2.49 dargestellten Projektnetzplan mit sechs realen Vorg¨ angen, einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 9. Zur Minimierung der Zielfunktion (RL) wenden wir Algorithmus 2.39 mit der Priorit¨ atsregel GRD an. −9
0 0 ?
0
0 @ 0
1 3 2 6 1
4
- 6
2
1
4
- 2
2
@ 0 2 @ @ 2 2 @ R 1 @
Legende: pj pi δij j i ri rj
@ 0 2 R @ 7 0
3
-
−3
2
@ 4 @
- 5 3 1 6
3
2
@
3 4 2
Abb. 2.49. Projektnetzplan mit sechs realen Vorg¨ angen
Tabelle 2.15 zeigt die fr¨ uhesten und sp¨ atesten Startzeitpunkte sowie die Ressourcenbedarfe der Vorg¨ ange i ∈ V . Tabelle 2.15. ES i , LS i und ri pi f¨ ur i = 0, . . . , 7 i
0
1
2
3
4
5
6
7
ES i LS i ri pi
0 0 0
0 2 4
0 2 8
1 3 2
2 4 6
5 7 2
3 5 4
7 9 0
Im Initialisierungsschritt planen wir Vorgang 0 zum Zeitpunkt 0 ein, d.h. wir setzen C := {0} und S C := (0). Der Vorgang mit dem gr¨oßten Ressourcenbedarf ist Vorgang 2. Da außer Vorgang 0 noch kein Vorgang eingeplant wurde, erhalten wir als Menge der Entscheidungszeitpunkte f¨ ur Vorgang 2 den fr¨ uhsten und sp¨ atesten Startzeitpunkt von 2, d.h. D2 (S C ) = {0, 2}. Die Erweiterungskosten f¨ ur die Zeitpunkte t = 0 und t = 2 sind f a (S C , 2, 0) =
194
2 Projektplanung unter Zeitrestriktionen
f a (S C , 2, 2) = 16 − 0 = 16. Folglich planen wir Vorgang 2 zu S2 = 2 ein, der gr¨ oßten Minimalstelle von f a . Da Vorgang 2 zu seinem sp¨atesten Startzeitpunkt eingeplant wurde, aktualisieren wir die fr¨ uhesten Startzeitpunkte der Vorg¨ ange 3, 6 und 7, indem wir ES 3 := 3, ES 6 := 5 und ES 7 := 9 setzen. Damit gilt f¨ ur die Vorg¨ ange i = 3, 6, 7 nun ES i = LS i und wir setzen S3 := 3, S6 := 5, S7 := 9 (vgl. Abb. 2.50a). Im zweiten Hauptschritt w¨ ahlen wir Vorgang 4 als n¨achsten einzuplanenden Vorgang. Die Menge der Entscheidungszeitpunkte von Vorgang 4 besteht aus D4 (S C ) = {2, 4}. F¨ ur die Erweiterungskosten gilt f a (S C , 4, 2) = 80 − 36 = a C 44 und f (S , 4, 4) = 72−36 = 36. Wir planen Vorgang 4 somit zu S4 = 4 ein. Nun sind die fr¨ uhesten Startzeitpunkte der Vorg¨ange 1 und 5 zu aktualisieren, dabei erhalten wir ES 1 := 1 und ES 5 := 7. F¨ ur Vorgang 5 gilt ES 5 = LS 5 und wir setzen S5 := 7 (vgl. Abb. 2.50b). a) Schritt 1
r(S, t)
6
6 q
4
b) Schritt 2
r(S, t)
qa
q aq q qa q qa 6 q 2 qa
q aq qa 4 q aq 3 4 6 q qa 4 q q
4
3
2
q
2
4
6
6
2
aq -t
q
2
qa
8
2
4
5
-t
6 6
qa
8
c) Schritt 3
r(S, t)
6 4
q
2
q qa q qa
1
q aq qa 4 q 1 3 4 6
2 2
4
aq 4 q
5
-t
6 6
qa
8
Abb. 2.50. Ressourcenprofile der einzelnen Teilschedules
Im letzten Schritt w¨ ahlen wir Vorgang 1 als n¨achsten einzuplanenden Vorgang. Die Menge der Entscheidungszeitpunkte von Vorgang 1 ist D1 (S C ) = {1, 2}. F¨ ur die Erweiterungskosten gilt f a (S C , 1, 1) = 94 − 78 = 16 und f a (S C , 1, 2) = 110 − 78 = 32. Vorgang 1 wird daher zu S1 = 1 eingeplant. In Abbildung 2.50c ist das entstandene Ressourcenprofil mit Zielfunktionswert 94 veranschaulicht. Bei den Zielfunktionen (RI ), (RD) und (RL) h¨angen die Erweiterungskosten f a (S C , j, Sj ) vom aktuellen Ressourcengebrauch ab. Dies bedeutet, dass sich die Erweiterungskosten f a (S C , j, Sj ) ¨ andern k¨onnen, wenn wir vor der
2.3 Heuristisches L¨ osungsverfahren
195
Einplanung von Vorgang j einen anderen Vorgang h ∈ C einplanen. Im Folgenden zeigen wir, wie man schon vor der Einplanung eines Vorgangs h ∈ C einen Teil seines Ressourcenbedarfs bei der Bestimmung der Erweiterungskosten f¨ ur Vorgang j ber¨ ucksichtigen kann. Hierzu f¨ uhren wir den Begriff des Basisintervalls eines Vorgangs ein, das angibt, zu welchen Zeitpunkten sich ein noch nicht eingeplanter Vorgang in Ausf¨ uhrung befindet, und zwar unabh¨ angig davon, welche Startzeitpunkte wir ihm und den u ¨ brigen noch nicht eingeplanten Vorg¨ angen zuweisen. Seien EC i = ES i + pi der fr¨ uheste Zeitpunkt, zu dem Vorgang i enden kann, und LS i der sp¨ ateste Startzeitpunkt von Vorgang i unter Ber¨ ucksichtigung der maximalen Projektdauer d. Vorgang i muss dann unabh¨angig von seinem Startzeitpunkt Si ∈ [ES i , LS i ] im Zeitintervall [LS i , EC i [ ausgef¨ uhrt werden. Das Intervall [LS i , EC i [ wird daher als Basisintervall von Vorgang i bezeichnet. Gilt f¨ ur einen Vorgang i ∈ V beispielsweise pi = 9, ES i = 2 und LS i = 4, dann muss Vorgang i im Basisintervall [4, 11[ ausgef¨ uhrt werden unabh¨ angig davon, zu welchen Zeitpunkten er und die u brigen Vorg¨ange j ∈ V ¨ eingeplant werden (vgl. Abb. 2.51). Basisintervall von Vorgang i
i i
-t 0
1
2
3
ES i
4
LS i
5
6
7
8
9
10
11
12
EC i
13
LC i
Abb. 2.51. Basisintervall von Vorgang i
Ist TF i = 0 f¨ ur einen Vorgang i ∈ V und damit Si = ES i = LS i , so nennen wir Vorgang i fixiert. Ist f¨ ur einen Vorgang i die Ungleichung 0 < TF i < pi erf¨ ullt, so nennen wir den Vorgang teilfixiert. Ein teilfixierter Vorgang i wird unabh¨ angig von seinem Startzeitpunkt immer im Basisintervall [LS i , EC i [ ausgef¨ uhrt. Da das zugrunde liegende Projekt zum Zeitpunkt 0 startet (S0 = 0), h¨ angt die Menge der fixierten und teilfixierten Vorg¨ange von der maximalen Projektdauer d ab. Mit wachsendem d wird die Anzahl der teilfixierten Vorg¨ ange kleiner. In Abh¨ angigkeit von Teilschedule S C ergibt sich das planungsabh¨angige Basisintervall eines noch nicht eingeplanten Vorgangs j ∈ C zu [LS j (S C ), EC j (S C )[. Setzen wir ES i := LS i := Si f¨ ur alle eingeplanten Vorg¨ange i ∈ C (deren Startzeitpunkt somit schon fixiert ist), so stellt Ab (S C , t) := {i ∈ V | LS i (S C ) ≤ t < EC i (S C )}
196
2 Projektplanung unter Zeitrestriktionen
mit t ∈ [0, d] die Menge der Vorg¨ ange dar, die sich zum Zeitpunkt t in Ausf¨ uhrung befinden, und zwar unabh¨ angig davon zu welchem Zeitpunkt die noch nicht eingeplanten Vorg¨ ange j ∈ C eingeplant werden. Vorg¨ange mit Dauer 0 finden dabei keine Ber¨ ucksichtigung, da sich die Ressourcenprofile durch ihre Einplanung nicht ¨ andern. F¨ ur einen Teilschedule S C ergibt sich die Menge an Ressource k, die zum Zeitpunkt t ∈ [0, d] ben¨otigt wird, unter Ber¨ ucksichtigung aller fixierten und teilfixierten Vorg¨ange zu rkb (S C , t) := rik . i∈Ab (S C ,t)
Die Erweiterungskosten f¨ ur die Zielfunktionen (RI ), (RD ) und (RL) lassen sich unter Ber¨ ucksichtigung fixierter und teilfixierter Vorg¨ange modifizieren. Unter Einbeziehung des Ressourcenprofils rkb (S C , ·) ergeben sich f¨ ur das Ressourceninvestmentproblem die modifizierten Erweiterungskosten f b b C P b C∪{j} b C f (S , j, Sj ) := ck max rk (S , t) − max rk (S , t) , k∈R
t∈[0,d]
t∈[0,d]
f¨ ur das Ressourcenabweichungsproblem
[rkb (S C∪{j} , t) − Yk ]+ − [rkb (S C , t) − Yk ]+ dt cD f b (S C , j, Sj ) := k k∈R
t∈[0,d]
und f¨ ur das Ressourcennivellierungsproblem
(rkb )2 (S C∪{j} , t) − (rkb )2 (S C , t) dt . f b (S C , j, Sj ) := k∈R t∈[0,d]
Um die Effizienz unseres Priorit¨ atsregelverfahrens (vgl. Algorithmus 2.39) basierend auf dem unvermeidbaren Ressourcengebrauch fixierter und teilfixierter Vorg¨ ange zu steigern, ersetzen wir f a durch f b . Im Folgenden erl¨autern wir die Vorgehensweise des modifizierten Priorit¨ atsregelverfahrens an einem Beispiel. Beispiel 2.41. Betrachten wir wieder den in Abbildung 2.49 dargestellten Projektnetzplan und nehmen an, dass die Zielfunktion (RL) zu minimieren sei. Wir bestimmen eine N¨ aherungsl¨ osung f¨ ur das zugrunde liegende Problem mit Algorithmus 2.39 und der Priorit¨ atsregel GRD, wobei wir zur Bestimmung der Erweiterungskosten die Funktion f b verwenden. Die fr¨ uhesten und sp¨ atesten Startzeitpunkte sowie die Ressourcenbedarfe der Vorg¨ange i ∈ V sind in Tabelle 2.15 dargestellt. Im Initialisierungsschritt setzen wir C := {0}, S0 := 0 und S C := (0). F¨ ur alle Vorg¨ ange i ∈ V \ {0} betr¨ agt die Gesamtpufferzeit TF i = 2 und f¨ ur die Vorg¨ ange i = 2, 4, 6 gilt TF i < pi . Die Vorg¨ange 2, 4 und 6 sind somit teilfixiert. Das Ressourcenprofil ist in Abbildung 2.52a dargestellt.
2.3 Heuristisches L¨ osungsverfahren
197
Der Vorgang mit dem gr¨ oßtem Ressourcenbedarf ist Vorgang 2, er ist als Erstes einzuplanen. Wir erhalten als Menge der Entscheidungszeitpunkte von Vorgang 2 den fr¨ uhesten und sp¨ atesten Startzeitpunkt von Vorgang 2, d.h. D2 (S C ) = {0, 2}. Die Erweiterungskosten f b zu den Zeitpunkten 0 und 2 sind f b (S C , 2, 0) = 22 − 14 = 8 und f b (S C , 2, 2) = 34 − 14 = 20. Somit planen wir Vorgang 2 zu S2 = 0 ein. Die Aktualisierung der ES - und LS ¨ Werte der noch nicht eingeplanten Vorg¨ ange f¨ uhrt zu keinen Anderungen. Das Ressourcenprofil ist in Abbildung 2.52b dargestellt, wobei der fixierte Vorgang 2 mit durchgezogener Linie eingezeichnet wurde. rb (S C , t)
rb (S C , t)
a) Initialisierung
6 2
2
2 2
4
6
4
rb (S C , t)
6
8
10
rb (S C , t)
6
2
2
4
2
4
8
2
6 5
4 4
6
8
-t 10
4
6q
2
q qa
-t 8
10
6 4
2
rb (S C , t)
6
2
6
d) Schritt 3
2
10
6
2
4
1
-t
e) Schritt 4
1
6
2
5 6
4
2
6
1
rb (S C , t)
2
-t
c) Schritt 2
6
4
b) Schritt 1
6
4
5 6
-t
8
10
f) Schritt 5
qa 3
1
q qa q aq 6 q
2 2
4 4
6
6 5 8
qa -t 10
Abb. 2.52. Ressourcenprofile der einzelnen Schritte
Als N¨ achstes w¨ ahlen wir Vorgang 4 und erhalten f¨ ur die Menge der Entscheidungszeitpunkte D4 (S C ) = {2, 4}. Die Erweiterungskosten zu den Zeitpunkten 2 und 4 sind f b (S C , 4, 2) = 46 − 22 = 24 und f b (S C , 4, 4) = 38 − 22 = 16. Wir planen Vorgang 4 zu S4 = 4 ein. Da wir Vorgang 4 zu seinem sp¨atesten Startzeitpunkt eingeplant haben, aktualisieren wir die fr¨ uhesten Startzeitpunkte der Vorg¨ange 1, 5 und 7 auf ES 1 := 1, ES 5 := 7 und ES 7 := 9. Damit gilt f¨ ur die Vorg¨ ange 5 und 7 ES 5 = LS 5 und ES 7 = LS 7 ; sie sind somit fixiert. Wir setzen S5 := 7 sowie S7 := 9. F¨ ur Vorgang 1 gilt TF 1 = 1 < p1 = 2,
198
2 Projektplanung unter Zeitrestriktionen
daher ist Vorgang 1 nun teilfixiert. Abbildung 2.52c zeigt das entsprechende Ressourcenprofil. Im dritten Hauptschritt w¨ ahlen wir den Vorgang 1 als n¨achsten einzuplanenden Vorgang. Die Menge der Entscheidungszeitpunkte von Vorgang 1 ist D1 (S C ) = {1, 2}. F¨ ur die Erweiterungskosten zu den Zeitpunkten 1 und 2 erhalten wir f b (S C , 1, 1) = 64 − 52 = 12 und f b (S C , 1, 2) = 12. Wir w¨ahlen die gr¨ oßte Minimalstelle und planen Vorgang 1 zu S1 := 2 ein. Eine Aktualisierung der ES - und LS -Werte ist nicht erforderlich. Das Ressourcenprofil ist in Abbildung 2.52d dargestellt. Im vierten Schritt w¨ ahlen wir den Vorgang 6 als n¨achsten einzuplanenden Vorgang. Wir erhalten als Menge von Entscheidungszeitpunkten D6 (S C ) = {3, 4, 5}. Es ergeben sich die Erweiterungskosten f b (S C , 6, 3) = 78 − 64 = 14, f b (S C , 6, 4) = 72 − 64 = 8 und f b (S C , 6, 5) = 70 − 64 = 6. Wir planen Vorgang 6 zu S6 = 5 ein. Das Ressourcenprofil ist in Abbildung 2.52e dargestellt. Im letzten Schritt w¨ ahlen wir den Vorgang 3. F¨ ur die Menge von Entscheidungszeitpunkten gilt D3 (S C ) = {1, 3}, und es ergeben sich die Erweiterungskosten f b (S C , 3, 1) = 82 − 70 = 12 und f b (S C , 3, 3) = 90 − 70 = 20. Somit planen wir Vorgang 3 zu S3 = 1 ein. Das entstandene Ressourcenprofil mit Zielfunktionswert 82 ist in Abbildung 2.52f veranschaulicht.
2.4 Kundenauftragsfertigung In diesem Abschnitt stellen wir die Terminierung von Fertigungsauftr¨agen bei der Kundenauftragsfertigung als Anwendungsbeispiel f¨ ur die Projektplanung unter Zeitrestriktionen vor. Typischerweise ist die Kundenauftragsfertigung in der Einzel- und Kleinserienfertigung anzutreffen. Ein Kundenauftrag, der u.U. mehrere Endprodukte umfasst, bzw. der zur Erledigung des Kundenauftrags durchzuf¨ uhrende Produktionsprozess l¨asst sich als Projekt auffassen. Alle ben¨ otigten Vor-, Zwischen- und Endprodukte werden aufgrund von vorliegenden Kundenauftr¨ agen gefertigt. F¨ ur jeden Kundenauftrag liegen die Mengen der gew¨ unschten Endprodukte (Prim¨arbedarfe) und zugeh¨orige Liefertermine vor. F¨ ur jeden Produktionsprozess bzw. f¨ ur jedes Zwischen- und Endprodukt ist ein so genannter Arbeitsplan gegeben, der die einzelnen Arbeitsg¨ange (Vorg¨ ange) zur Herstellung des betrachteten Produktes sowie die Reihenfolge enth¨ alt, in der die Arbeitsg¨ ange durchzuf¨ uhren sind. Dabei werden ein oder mehrere aufeinander folgende Arbeitsg¨ange auf einer bestimmten Maschine ausgef¨ uhrt. Im Rahmen der Kundenauftragsfertigung sind die Startzeitpunkte der einzelnen Arbeitsg¨ ange so zu bestimmen, dass die einzelnen Produkte zu den gew¨ unschten Lieferterminen fertiggestellt werden k¨onnen. In der Praxis ist man h¨ aufig bestrebt, einen Kundenauftrag so schnell wie m¨oglich zu bearbeiten, damit fr¨ uhzeitig freie Produktionskapazit¨aten f¨ ur zuk¨ unftige Kundenauftr¨ age zur Verf¨ ugung stehen. Wir beschreiben im Folgenden die Fertigung eines Kundenauftrags im Rahmen einer offenen Fertigung als Projektplanungsproblem. Dabei bezeichnen
2.4 Kundenauftragsfertigung
199
wir die Fertigung des periodenbezogenen Gesamtbedarfs (Bruttobedarf) f¨ ur ein Produkt als Job. Die Bearbeitung eines Jobs auf einer Maschine wird als Operation bezeichnet. In der Praxis wird meist gefordert, dass eine Operation in ihrer Durchf¨ uhrung nicht unterbrochen werden darf, um eine gleichm¨aßige Auslastung der Betriebsmittel zu erreichen. Im Folgenden werde jede (nicht unterbrechbare) Operation, die einem oder mehreren Arbeitsg¨angen entspricht, durch einen Projektvorgang repr¨ asentiert. In der offenen Fertigung k¨ onnen aufeinanderfolgende Operationen zeitlich u ¨ berlappen. Hierbei wird ein Produkt bereits zu einer gem¨ aß des zugrunde liegenden Arbeitsplans n¨ achsten Maschine weitergeleitet, w¨ ahrend die Bearbeitung auf der ersten Maschine noch l¨ auft. Die Weitergabe erfolgt dann in Transportlosen, die kleiner als das jeweilige Fertigungslos sind. Die offene Fertigung stellt eine wichtige Maßnahme zur Verk¨ urzung von Durchlaufzeiten in der Produktion dar. Da die Gesamtdauer der Bearbeitung aller Kundenauftr¨age minimiert werden soll, w¨ ahlen wir die Minimierung der Projektdauer als Zielfunktion. Als Restriktionen sind die Befriedigung des Prim¨ arbedarfs an allen Endprodukten, die Einhaltung einer durch den Arbeitsplan vorgegebenen Bearbeitungsreihenfolge der Arbeitsg¨ ange bzw. Operationen zur Herstellung eines Produktes und die Einhaltung der Lieferzeiten f¨ ur die vorliegenden Kundenbestellungen zu ber¨ ucksichtigen. Die Einhaltung einer vorgeschriebenen Lieferzeit f¨ ur ein Produkt kann durch Einf¨ uhrung eines H¨ ochstabstandes zwischen dem Projektstart und der letzten Operation des Projektes gew¨ahrleistet werden. Zur Gew¨ ahrleistung der vorgegebenen Bearbeitungsreihenfolge der Operationen eines Jobs f¨ ugen wir zeitliche Mindestabst¨ ande ein, die sich wie folgt ergeben. Bezeichne Oi eine Operation, die der Bearbeitung eines Jobs auf der Maschine Mi entspricht. Weiterhin sei ϑi die R¨ ustzeit f¨ ur Operation Oi auf Maschine Mi und τi die Bearbeitungszeit pro Einheit des betrachteten Produktes auf Mi . Dann ist pi = ϑi + τi x die Ausf¨ uhrungszeit bzw. die Dauer der Operation Oi , wobei x den Bruttobedarf des jeweiligen Produktes darstellt. Betrachten wir den Fall, dass ein Produkt zun¨ achst auf Maschine Mi bearbeitet und danach direkt an Maschine Mj zur Weiterbearbeitung u ¨ bergeben werden soll. Ist die Transportlosgr¨ oße z des Produktes kleiner als der Bruttobedarf x, dann k¨ onnen einige Einheiten von Mi nach Mj u uhrt werden, bevor die Bear¨ berf¨ beitung des gesamten Bruttobedarfs an Mi abgeschlossen ist. Betrachten wir hierzu das folgende Beispiel. Beispiel 2.42. Gegeben sei ein (Zwischen-)Produkt mit einem Bruttobedarf von x = 3 und einer Transportlosgr¨ oße von z = 1. Abbildung 2.53 zeigt den Fall, dass die Bearbeitungszeit pro Produkteinheit auf Maschine Mi gr¨oßer ist als auf Maschine Mj , d.h. τi > τj . Dann m¨ ussen wir einen Mindestabstand Tijmin zwischen dem Start der Operation Oi und der Operation Oj einf¨ uhren, um zu gew¨ ahrleisten, dass Oj nicht unterbrochen wird. Des Weiteren betrachten wir den Fall, dass die Bearbeitungszeit des (Zwischen-)Produktes auf Mi kleiner oder gleich der Bearbeitungszeit auf Mj ist, d.h. es gilt τi ≤ τj . Abbildung 2.54 veranschaulicht diese Situation, wo-
200
2 Projektplanung unter Zeitrestriktionen ϑj
τj
Mj Tijmin -
x=3 z=1
Mi ϑi
τi
-t
Abb. 2.53. Bearbeitung auf Mi und Mj mit Mindestabstand
bei o.B.d.A. angenommen wird, dass die R¨ ustzeit auf Maschine Mi sehr viel kleiner ist als auf Maschine Mj , d.h. es gilt ϑi ϑj . In diesem Fall m¨ ussen max wir einen H¨ ochstabstand Tji zwischen dem Start der Operationen Oj und Oi einf¨ ugen, um eine m¨ oglichst z¨ ugige, unterbrechungsfreie Bearbeitung der Operationen Oi und Oj zu erreichen. ϑj
τj
Mj Mi
max Tji
x=3 z=1
ϑi
τi
-t
Abb. 2.54. Bearbeitung auf Mi und Mj mit H¨ ochstabstand
Sei x der Bruttobedarf und z die Transportlosgr¨oße eines Produktes, wobei wir annehmen, dass x/z ganzzahlig ist. Dann garantiert die Einf¨ uhrung eines Pfeils i, j mit der Bewertung ur τi > τj ϑi + xτi − ϑj − (x − z)τj , f¨ δij := (2.11) ϑi + zτi − ϑj , f¨ ur τi ≤ τj zwischen dem Start von zwei aufeinanderfolgenden Operationen Oi und Oj , dass Oj ohne Unterbrechung ausgef¨ uhrt werden kann. F¨ ur δij ≥ 0 entspricht der Pfeil i, j einem Mindestabstand Tijmin := δij zwischen dem Start von Oi max und Oj . Ist δij < 0, dann entspricht i, j einem H¨ochstabstand Tji := −δij zwischen dem Start von Oj und Oi . Existiert eine Transportzeit tij f¨ ur den Transfer des Transportloses von Maschine Mi nach Maschine Mj , so addieren wir tij zu δij hinzu. Anstatt wie eben beschrieben zwei Operationen desselben Jobs zu u onnen auch die letzte Operation Oi eines Produktes h ¨ berlappen, k¨ und die erste Operation Oj eines anderen Produktes l u ¨ berlappen, falls das (Zwischen-)Produkt h in das Produkt l eingeht. Bei der eben beschriebenen Vorgehensweise zur Erzeugung zeitlicher Mindest- und H¨ ochstabst¨ ande zwischen zwei Operationen sind wir davon ausge-
2.4 Kundenauftragsfertigung
201
gangen, dass genau eine Einheit des aus Operation Oi resultierenden Zwischenproduktes f¨ ur die Herstellung einer Einheit des aus Operation Oj resultierenden (Zwischen-)Produktes ben¨ otigt wird. Tats¨achlich herrschen in Unternehmen wesentlich komplexere Produktstrukturen vor. Die Produktstruktur eines Unternehmens gibt die strukturellen und mengenm¨aßigen Zusammenh¨ ange zwischen den Produkten wieder und l¨asst sich durch einen so genannten Gozintographen abbilden. Ein Gozintograph ist ein Digraph, dessen Knoten die Produkte darstellen, wobei zwischen End- und Zwischenprodukten sowie Rohmaterialien unterschieden wird. Endprodukte werden durch Senken, und Rohmaterialen, die extern bezogen werden, durch Quellen im Gozintographen repr¨ asentiert. Existiert ein Pfeil h, l von Knoten h zu Knoten l mit dem Gewicht ahl , dann werden ahl Einheiten von Produkt h ben¨otigt, um eine Einheit von Produkt l herzustellen. Man bezeichnet ahl daher als Inputkoeffizient. Wir unterscheiden an dieser Stelle der Einfachheit halber zwischen zwei grundlegenden Produktstrukturen. Bei einer linearen Produktstruktur besitzt jedes Produkt genau einen direkten Vorg¨anger und genau einen direkten Nachfolger im Gozintographen (vgl. Abb. 2.55a). Bei einer konvergenten Produktstruktur besitzt jedes Produkt genau einen Nachfolger im Gozintographen, d.h. der Gozintograph stellt einen Intree dar (vgl. Abb. 2.55b). Der Fall, dass eine divergente Produktstruktur vorliegt, d.h. der Gozintograph ist ein Outtree, wird in Neumann und Schwindt (1997) behandelt. l l 7 S o ail ahl 6 ahl S S h
a) Lineare Produktstruktur
h
i
b) Konvergente Produktstruktur
Abb. 2.55. Produktstrukturen
Existiert bei einer linearen oder konvergenten Produktstruktur ein Pfeil h, l von Knoten h zu Knoten l im Gozintographen, dann k¨onnen die letzte Operation Oi des (Zwischen-) Produktes h und die erste Operation Oj des Produktes l u ¨ berlappen. Operation Oi wird auf der Maschine Mi und Operation Oj auf der Maschine Mj ausgef¨ uhrt. Falls ahl Einheiten von (Zwischen-) Produkt h f¨ ur eine Einheit des Produktes l ben¨otigt werden, dann ergibt sich hl der Zeitabstand δij gem¨ aß hl δij :=
ur ahl τi > τj ϑi + ahl xl τi − ϑj − (xl − zh /ahl )τj , f¨ ϑi + zh τi − ϑj , f¨ ur ahl τi ≤ τj .
(2.12)
202
2 Projektplanung unter Zeitrestriktionen
In Gleichung (2.12) repr¨ asentiert xl den Bruttobedarf von Produkt l und zh die Transportlosgr¨ oße von Produkt h. Ist ahl = 1, so entspricht (2.12) gerade (2.11). Zum Abschluss beschreiben wir die Konstruktion des Projektnetzplans f¨ ur das beschriebene Problem der Kundenauftragsfertigung. Wir nehmen an, dass die Produktstruktur durch einen Gozintographen gegeben ist. Jeder Knoten des Gozintographen wird durch eine Sequenz von Operationen ersetzt, die den jeweiligen Job abbilden. Auf diese Weise entspricht ein Job dem Weg von seinem ersten Operations-Knoten zu seinem letzten Operations-Knoten im resultierenden Netzwerk. Die Bewertungen der Pfeile entsprechen den oben eingef¨ uhrten Mindest- und H¨ ochstabst¨ anden. Beispiel 2.43. Betrachten wir den in Abbildung 2.56 dargestellten Gozintographen einer Produktstruktur. Wir nehmen an, dass Zwischenprodukt A aus der Sequenz der Operationen A1 , A2 und Zwischenprodukt C aus der Sequenz C1 , C2 , C3 besteht, w¨ ahrend Zwischenprodukt B nur auf einer Maschine gefertigt wird. Endprodukt I bestehe aus der Sequenz I1 , I2 und Endprodukt II werde nur auf einer Maschine gefertigt. Die Arbeitspl¨ane f¨ ur die einzelnen Produkte sind ebenfalls in Abbildung 2.56 angegeben, wobei die Dauer der Operationen jeweils f¨ ur das gesamte Fertigungslos angegeben ist, d.h. wir f¨ uhren in unserem Beispiel der Einfachheit halber zeitliche Mindestabst¨ande der Form Tijmin = pi zwischen den Startzeitpunkten zweier aufeinanderfolgender Operationen Oi und Oj eines Jobs ein.
- I Q 3 Q Q s Q - II B 3 C A
A1 : 2 ZE A2 : 3 ZE B: 4 ZE C1 : 2 ZE C2 : 1 ZE C3 : 3 ZE
I1 : 1 ZE I2 : 2 ZE II : 3 ZE
Abb. 2.56. Gozintograph und Arbeitspl¨ ane
Wir erhalten ein Netzwerk N , das in Abbildung 2.57 innerhalb des gestrichelten Rechtecks dargestellt ist. Die Mindestabst¨ande Tijmin zwischen den Vorg¨ angen i und j entsprechen der Dauer der zugeh¨origen Operation Oi . Nun ist eine neue Quelle α und eine neue Senke ω einzuf¨ uhren, wobei α den Start und ω das Ende des Projektes repr¨ asentieren. Ausgehend von der Quelle α f¨ ugen wir Pfeile zu den Quellen des Netzwerks N mit der Bewertung 0 ein. Weiterhin sind Pfeile hinzuzuf¨ ugen, die von allen Senken s des Netzwerks N zu der Senke ω verlaufen und deren Bewertung gleich der Dauer der zu s geh¨ origen Operation ist. Die zus¨ atzlichen Pfeile sind in Abbildung 2.57 fett ausgezeichnet. Wir nehmen außerdem an, dass f¨ ur einige Endprodukte h eine Lieferzeit dh festgelegt ist. Sei Oj die letzte Operation von Produkt h mit der Dauer pj .
2.4 Kundenauftragsfertigung
203
2 − dI
* A1 0 ? 0 α H HH 6 0HH H j C1 H
2 A2
1 I2 H HH 2 Q HH 4Q 3 H Q j ω H - BP * PP Q 4Q PP Q PPQ Ps 3 Q q P 2 1 C2 C3 II
Q
3 I1
3
N
3 − dII Abb. 2.57. Projektnetzplan N von Beispiel 2.43 max Dann ist ein H¨ ochstabstand Tα,j := dh − pj zwischen dem Projektstart und dem Start von Operation Oj gegeben. Seien in Beispiel 2.43 die Lieferzeiten dI und dII f¨ ur die Endprodukte I und II gegeben, dann sind zwei R¨ uckw¨artspfeile einzuf¨ uhren, zum einen I2 , α und zum anderen II , α (vgl. Abb. 2.57). Die L¨ ange eines l¨ angsten Weges von α nach ω in N entspricht nun gerade der k¨ urzestm¨ oglichen Bearbeitungszeit des betrachteten Kundenauftrages, und die zugeh¨ origen Startzeitpunkte der einzelnen Operationen entsprechen den fr¨ uhesten Startzeitpunkten der entsprechenden Vorg¨ange in N .
Erg¨ anzende Literatur Brucker et al. (1999) Demeulemeester (1995) Demeulemeester und Herroelen (2002) De Reyck (1998) Herroelen et al. (1997) Kimms (2001) Kolisch (2001) Kolisch und Padman (2001) Mayer (1998) Moder et al. (1983)
M¨ ohring (1984) Neumann und Schwindt (1997) Neumann und Zimmermann (1999) Neumann und Zimmermann (2000) Neumann et al. (2003) N¨ ubel (1999) ¨ Ozdamar und Ulusoy (1995) Vanhoucke et al. (2001) Weglarz (1999) Zimmermann (2001)
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Die in Kapitel 2 getroffene Annahme, dass der gesamte Ressourcenbedarf aller simultan ausf¨ uhrbaren Vorg¨ ange geringer ist als die vorhandene Ressourcenkapazit¨ at, stellt im Allgemeinen eine starke Vereinfachung der betrieblichen Realit¨ at dar. F¨ ur praktische Anwendungen werden daher effiziente Methoden ben¨ otigt, um den Einsatz knapper Ressourcen bei der Planung und Durchf¨ uhrung von Projekten zu ber¨ ucksichtigen. Aus diesem Grund behandeln wir im Folgenden die Projektplanung unter Zeit- und Ressourcenrestriktionen, deren Aufgabe es ist, eine Menge von i.d.R. Zeit und Ressourcen beanspruchenden Vorg¨ angen so zu terminieren, dass ein vorgegebenes Ziel bestm¨ oglich erf¨ ullt wird, die Zeitbeziehungen zwischen den Vorg¨angen eingehalten und zu keinem Zeitpunkt die vorgegebenen Ressourcenkapazit¨aten u ¨ berschritten werden. In Abschnitt 3.1 geben wir zun¨ achst eine mathematische Formulierung des Projektplanungsproblems unter Zeit- und Ressourcenrestriktionen an, wobei wir uns auf die Betrachtung erneuerbarer Ressourcen beschr¨anken. Im darauffolgenden Abschnitt 3.1.1 erl¨ autern wir, wie das ressourcenbeschr¨ankte Projektplanungsproblem unter Zuhilfenahme einer zeitindexbasierten Formulierung in ein gemischt-ganzzahliges lineares Programm (MIP) u uhrt ¨ berf¨ werden kann. Anschließend beschreiben wir in Abschnitt 3.1.2 den zul¨assigen Bereich des Projektplanungsproblems unter Zeit- und Ressourcenrestriktionen und geben f¨ ur die in Abschnitt 2.1.1 behandelten Zielfunktionen ausgezeichnete Punkte des zul¨ assigen Bereichs an, die potentielle Kandidaten f¨ ur eine optimale L¨ osung darstellen (vgl. Abschnitt 3.1.3). Zur Minimierung der Projektdauer eines ressourcenbeschr¨ankten Projektplanungsproblems stellen wir in Abschnitt 3.2 ein Branch-and-BoundVerfahren vor und gehen auf geeignete Branching-Strategien, PreprocessingTechniken, untere Schranken und Auslotregeln ein. Zur L¨osung des Projektplanungsproblems unter Zeit- und Ressourcenrestriktionen mit Zielfunktionen (MFT ), (WST ), (E + T ) und (NPV ) muss das Branch-and-BoundVerfahren, wie in Abschnitt 3.3.1 beschrieben, lediglich geeignet modifiziert werden. Basierend auf dem ger¨ ustbasierten Enumerationsschema aus Ab-
206
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
schnitt 2.2.4 beschreiben wir in Abschnitt 3.3.2 einen Enumerationsansatz f¨ ur die Zielfunktionen (RI ), (RD ) und (RL). Da die Bestimmung einer optimalen L¨ osung schon f¨ ur die Zielfunktion (PD ) und f¨ ur Probleminstanzen mit 50 Vorg¨ angen sehr aufw¨ andig ist, diskutieren wir in Abschnitt 3.4 heuristische Verfahren zur Ermittlung von i.d.R. guten N¨aherungsl¨osungen f¨ ur Instanzen mit bis zu 1000 Vorg¨ angen. Im Anschluss beschreiben wir heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen (vgl. Abschnitt 3.5). In Abschnitt 3.6 behandeln wir schließlich ein Anwendungsbeispiel f¨ ur die Projektplanung unter Zeit- und Ressourcenrestriktionen.
3.1 Problemformulierung Wie in Abschnitt 2.1 sei R die Menge aller f¨ ur die Projektdurchf¨ uhrung relevanten erneuerbaren Ressourcen. Ein Vorgang i ∈ V nimmt w¨ahrend seiner Ausf¨ uhrung die Ressource k ∈ R mit rik ∈ Z≥0 Einheiten in Anspruch. Zu jedem Zeitpunkt stehen Rk ∈ Z≥0 Einheiten der Ressource k ∈ R zur Verf¨ ugung. Eine solche konstante Ressourcenkapazit¨at Rk einer Ressource k ∈ R erscheint im Ressourcenprofil von k als waagerechte Linie. In der Praxis ist jedoch nicht immer gew¨ ahrleistet, dass die Ressourcenkapazit¨at Rk , k ∈ R, konstant verl¨ auft, da die Verf¨ ugbarkeit einer Ressource h¨aufig von dem jeweils betrachteten Zeitpunkt abh¨ angt. Schwankt die Kapazit¨at einer Ressource, so ergibt sich – wie f¨ ur die Ressourceninanspruchnahme von Vorg¨angen – eine u ¨ ber die Zeit rechtsseitig stetige Treppenfunktion Rk : [0, d] → Z≥0 (vgl. hierzu die Ausf¨ uhrungen in Abschnitt 2.1). Im Folgenden gehen wir stets davon aus, dass die Ressourcenkapazit¨ at Rk f¨ ur alle k ∈ R konstant ist. Ein schwankendes Ressourcenprofil wird dadurch modelliert, dass wir k¨ unstliche Vorg¨ ange (Dummyvorg¨ange) einf¨ ugen, die die Schwankungen ausgleichen. Jeder Dummyvorgang wird dabei durch einen zeitlichen Mindest- und einen zeitlichen H¨ ochstabstand zum Vorgang 0 fixiert. Beispiel 3.1. In einer Firma arbeiten f¨ unf Mitarbeiter von 9 bis 17 Uhr. Da wir nur eine erneuerbare Ressource (Mitarbeiter) betrachten, kann der Ressourcenindex k entfallen. Wir nehmen an, dass von 12 bis 13 Uhr nur zwei und von 13 bis 14 Uhr nur drei von insgesamt f¨ unf Mitarbeitern anwesend sind. Daher f¨ ugen wir, wie in Abbildung 3.1 dargestellt, zwei Dummyvorg¨ange mit der Dauer p1 = p2 = 1 ein, um die Schwankungen der Ressourcenkapazit¨at auszugleichen. Dummyvorgang 1 startet zu S1 = 12 Uhr und besitzt die Ressourceninanspruchnahme von r1 = 3 und Dummyvorgang 2 startet zu S2 = 13 Uhr und besitzt die Ressourceninanspruchnahme von r2 = 2. Sind beim Einplanen eines Vorgangs i ∈ V neben Zeitbeziehungen zus¨atzlich beschr¨ ankte Kapazit¨ aten Rk f¨ ur die Ressourcen k ∈ R zu beachten, dann d¨ urfen die sich zum Zeitpunkt t in Ausf¨ uhrung befindlichen Vorg¨ange zusammen nicht mehr als Rk Einheiten einer Ressource k ∈ R in Anspruch nehmen.
3.1 Problemformulierung
207
r(S, t)
r6
qr
4
r
2
r 1 r
qr
2
R
qr -t
10
12
14
16
Abb. 3.1. Verf¨ ugbare Ressourcenkapazit¨ at u ¨ ber die Zeit
Wir erhalten f¨ ur jede Ressource k ∈ R die Ressourcenrestriktionen rik ≤ Rk f¨ ur alle t ∈ [0, d], rk (S, t) :=
(3.1)
i∈A(S,t)
wobei A(S, t) f¨ ur gegebenen Schedule S wieder die Menge der sich zum Zeitpunkt t in Ausf¨ uhrung befindlichen Vorg¨ ange bezeichnet (vgl. Abschnitt 2.1). Da sich die kumulierte Ressourceninanspruchnahme rk (S, t) nur dann erh¨oht, wenn mit der Ausf¨ uhrung eines Vorgangs begonnen wird, ist (3.1) ¨aquivalent zu rk (S, t) ≤ Rk f¨ ur alle t ∈ ST (S), wobei ST (S) die Menge aller Zeitpunkte darstellt, zu denen gem¨aß S mindestens ein Vorgang startet. Definition 3.2 (Zul¨ assiger Schedule). Einen Schedule, der f¨ ur alle t ∈ ST (S) die Ressourcenrestriktionen rk (S, t) ≤ Rk erf¨ ullt, bezeichnen wir als ressourcenzul¨assig. Ein zeit- und ressourcenzul¨assiger Schedule wird zul¨assig genannt. Sei S ein zeit-, aber nicht ressourcenzul¨ assiger Schedule. Dann gibt es mindestens einen Zeitpunkt t ∈ [0, d], f¨ ur den ein so genannter Ressourcenkonflikt vorliegt, d.h. zu dem rk (S, t) > Rk f¨ ur mindestens ein k ∈ R gilt. Der Ressourcenkonflikt f¨ ur Ressource k wird dabei durch die simultane Ausf¨ uhrung der Vorg¨ ange i ∈ A(S, t) mit rik > 0 verursacht.1 Betrachten wir dazu ein Beispiel. Beispiel 3.3. Gegeben sei der in Abbildung 3.2 dargestellte Projektnetzplan mit einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 10. Da nur eine Ressource betrachtet wird, entf¨allt der Index k. Die Ressourcenkapazit¨ at sei R = 3. Schedule S = (0, 0, 0, 3, 2, 7) ist zeitzul¨ assig, denn die Zeitbeziehungen ¨ Sj − Si ≥ δij sind f¨ ur alle i, j ∈ E erf¨ ullt. Zur Uberpr¨ ufung der Ressourcenzul¨ assigkeit betrachten wir das Ressourcenprofil r(S, ·) von S in Abbildung 3.3. Im Zeitintervall [3, 5[ liegt ein Ressourcenkonflikt vor, da r(S, t) > 3 f¨ ur alle t ∈ [3, 5[ gilt. Somit ist der Schedule S nicht ressourcenzul¨assig. 1
Die Menge A(S, t) enth¨ alt, wie bereits in Kapitel 2 erl¨ autert, nur Vorg¨ ange i ∈ V mit pi > 0.
208
3 Projektplanung unter Zeit- und Ressourcenrestriktionen -10
0
6 1 2
2 0
0 ? 0 0 @
2 3 @ 2 6 @4
-
1
@
-2
@
@0 @
1
1
5
0
2
2@
@ R 2 @
@ 0 @ R @ Legende: pi
R 2 ? @ - 4
δij
pj
- j
i ri rj 1 1 Abb. 3.2. Projektnetzplan mit einer erneuerbaren Ressource r(S, t)
4
r
rq 4
rq 2
2
r
6 r
r rq
rq 4
r
rq
3
r
rq
1
r 2
4
-t
6
Abb. 3.3. Ressourcenprofil f¨ ur Schedule S
Definition 3.4 (Verbotene Menge). Eine Menge F ⊆ V wird verbotene Menge (forbidden set) genannt, falls mindestens eine Ressource k ∈ R existiert, so dass i∈F rik > Rk ist. Die Menge aller verbotenen Mengen bezeichnen wir mit F . Ferner nennen wir eine verbotene Menge F min ∈ F, die keine echte verbotene Teilmenge besitzt, eine minimale verbotene Menge. Liegt f¨ ur Schedule S zum Zeitpunkt t ein Ressourcenkonflikt vor, so stellt die Menge der zum Zeitpunkt t aktiven Vorg¨ ange A(S, t) eine verbotene Menge dar. Definitionsgem¨ aß enth¨ alt jede verbotene Menge mindestens eine minimale verbotene Teilmenge. Zur Illustration betrachten wir abermals Beispiel 3.3. Der kleinste Zeitpunkt, an dem ein Ressourcenkonflikt vorliegt, ist t = 3. Die aktive Menge zu diesem Zeitpunkt besteht aus den Vorg¨angen 1, 3 und 4, daher stellt A(S, 3) = {1, 3, 4} eine verbotene Menge F dar. Die Menge {1, 3, 4} ist allerdings ur {1, 3} ⊂ {1, 3, 4} gilt keine minimale verbotene Menge, denn f¨ ebenfalls i∈{1,3} ri = 2 + 2 = 4 > R = 3. Die Menge F min = {1, 3} stellt eine minimale verbotene Menge dar, da beide einelementigen Teilmengen {1} und {3} keine verbotenen Mengen sind. Nachfolgend geben wir eine mathematische Formulierung des Projektplanungsproblems unter Zeit- und Ressourcenrestriktionen f¨ ur eine Zielfunkti-
3.1 Problemformulierung
209
on f (S) an. Dabei gehen wir davon aus, dass die Pfeilmenge E einen Pfeil n + 1, 0 mit der Bewertung δn+1,0 = −d enth¨alt, der die Einhaltung einer vorgegebenen maximalen Projektdauer d gew¨ ahrleistet. ⎫ Minimiere f (S) ⎪ ⎪ ⎬ u.d.N. Sj − Si ≥ δij ( i, j ∈ E) (3.2) S0 = 0 ⎪ ⎪ ⎭ rk (S, t) ≤ Rk (k ∈ R, t ∈ ST (S)) Wie in Abschnitt 2.1 nehmen wir ohne Beschr¨ankung der Allgemeinheit an, dass die Zielfunktion f (S) zu minimieren ist. Die Nebenbedingungen gew¨ahrleisten, dass alle vorgegebenen Mindest- und H¨ochstabst¨ande eingehalten werden, das Projekt zum Zeitpunkt 0 startet und die Ressourcenkapazit¨aten nicht u ¨ berschritten werden. Mit S bezeichnen wir die Menge aller zul¨assigen Schedules, d.h. den zul¨assigen Bereich des Projektplanungsproblems (3.2). Da die Ressourcenrestriktionen nicht linear sind und, wie wir noch sehen werden, der zul¨ assige Bereich S weder konvex noch zusammenh¨angend ist, ist Problem (3.2) auch f¨ ur einfache Zielfunktionen, wie z.B. die Projektdauer, i.d.R. ein schwer zu l¨ osendes Optimierungsproblem. 3.1.1 Zeitindexbasierte Modelle Aufgrund der nichtlinearen Ressourcenrestriktionen stellt Projektplanungsproblem (3.2) mit beliebiger Zielfunktion kein lineares Programm mehr dar. Mit Hilfe einer zeitindexbasierten Formulierung k¨onnen wir Problem (3.2) f¨ ur die Zielfunktionen (PD ), (MFT ), (WST ), (E + T ) und (NPV ) jedoch als gemischt-ganzzahliges lineares Programm (MIP) formulieren. Analog zu Abschnitt 2.1.3 diskretisieren wir dabei den Planungszeitraum [0, d] und bezeichnen mit W i = {ES i , ES i + 1, . . . , LS i } die Menge der diskreten Startzeitpunkte von Vorgang i ∈ V . Anstelle der Entscheidungsvariablen Si betrachten wir hierbei f¨ ur jeden Vorgang i ∈ V eine Menge von bin¨aren Entscheidungsvariablen xit mit t ∈ W i , wobei 1 falls t = Si xit := 0 sonst. F¨ ur die Minimierung der Projektdauer ergibt sich das folgende zeitindexbasierte gemischt-ganzzahlige lineare Programm Min.
txn+1,t
(3.3)
t∈W n+1
u.d.N.
xit = 1
t∈W i
t∈W j
txjt −
t∈W i
txit ≥ δij
(i ∈ V )
(3.4)
( i, j ∈ E)
(3.5)
210
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
i∈V
min{t,LS i }
rik
xiτ ≤ Rk (t ∈ {0, . . . , d−1}, k ∈ R) (3.6)
τ =max{ES i ,t−pi +1}
xit ∈ {0, 1}
(i ∈ V, t ∈ W i ).
(3.7)
Analog zu Abschnitt 2.1.3 gew¨ ahrleisten Nebenbedingungen (3.4), dass jeder Vorgang eines Projektes genau einmal gestartet wird. Die Bedingungen (3.5) stellen sicher, dass die vorgegebenen Mindest- und H¨ochstabst¨ande eingehalten werden. Ferner wird mit Hilfe der Nebenbedingungen (3.6) gew¨ahrleistet, dass die gesamte Ressourceninanspruchnahme aller zum Zeitpunkt t in Ausf¨ uhrung befindlichen Vorg¨ ange die vorgegebenen Ressourcenkapazit¨aten nicht u ¨ bersteigt. F¨ ur Projektplanungsprobleme (3.2) mit Zielfunktion (MFT ), (WST ), (E + T ) oder (NPV ) ergeben sich in der zeitindexbasierten Formulierung die gleichen Restriktionen (3.4) – (3.7). Lediglich die Zielfunktion muss f¨ ur diese Probleme mit Hilfe der Bin¨ arvariablen xit wie folgt neu formuliert werden. F¨ ur die Zielfunktion der Minimierung der mittleren Durchlaufzeit (MFT ) erhalten wir 1 (t + pi ) xit , n+2 i∈V t∈W i
f¨ ur die Zielfunktion der Minimierung der Summe gewichteter Startzeitpunkte (WST ) gilt wi txit , i∈V t∈W i
und f¨ ur die Zielfunktion der Kapitalwertmaximierung (NPV ) t cF − i β xit . i∈V t∈W i
Die Zielfunktion (E + T ) des Earliness-Tardiness Problems lautet + T + cE xit . i (di − t − pi ) + ci (t + pi − di ) i∈V t∈W i
Um ein Projektplanungsproblem (3.2) mit Zielfunktion (RI ), (RD) oder (RL) mit Hilfe einer zeitindexbasierten Formulierung zu beschreiben, verweisen wir auf Abschnitt 2.1.3, wobei jeweils Restriktionen (3.6) in die entsprechende MIP-Formulierung aufzunehmen sind. 3.1.2 Zul¨ assiger Bereich Der zul¨assige Bereich S ⊆ Rn+2 ≥0 von Problem (3.2) ist durch die Zeitrestriktionen Sj − Si ≥ δij f¨ ur alle i, j ∈ E, durch S0 = 0 sowie durch die Ressourcenrestriktionen rk (S, t) ≤ Rk f¨ ur alle t ∈ ST (S) und k ∈ R spezifiziert.
3.1 Problemformulierung
211
S l¨ asst sich ebenso wie der zeitzul¨ assige Bereich ST f¨ ur n ≥ 2 i.d.R. nicht sinnvoll visualisieren. Besitzt ein Projekt allerdings nur zwei Vorg¨ange i und j, die nicht zeitlich fixiert sind (Gesamtpufferzeit gr¨oßer 0), so k¨onnen wir den Bereich S als Si -Sj -Schnitt darstellen. Dazu projizieren wir S ⊆ Rn+2 ≥0 auf die entsprechende Si -Sj -Ebene. Beispiel 3.5. Gegeben sei der Projektnetzplan in Abbildung 3.4 mit einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 4. Die Ressourcenkapazit¨ at sei R = 1.
1 −4 0 ?
1 Q 1 3 0 Q 1 6 Q
0 Q s 3 Q −2 −2 0 Q 3 Q 0 0 1 ? Q 1 0 Q s 2 Q 1
Legende: pj pi δij j i ri rj
Abb. 3.4. Projektnetzplan mit einer erneuerbaren Ressource
F¨ ur die Vorg¨ ange i = 1, 2 ergeben sich die fr¨ uhesten Startzeitpunkte zu ES i = 0 und die sp¨ atesten Startzeitpunkte zu LS i = 3. Planen wir Vorgang 1 zum Zeitpunkt 0 ein (S1 = 0), so ergibt sich f¨ ur den Startzeitpunkt von Vorgang 2 entsprechend der Zeitbeziehungen zu Vorgang 1 das planungsabh¨angige Zeitfenster [0,2]. Da Vorgang 2 im Zeitfenster [0,1[ aufgrund der Ressourcenrestriktionen nicht eingeplant werden kann, verringert sich das Startzeitfenster (Menge der zul¨ assigen Einplanungszeitpunkte) auf [1,2]. Wird Vorgang 1 zum Zeitpunkt 2 eingeplant, so kann Vorgang 2 aufgrund der Zeit- und Ressourcenrestriktionen innerhalb des Zeitfensters [0, 1] oder zum Zeitpunkt 3 eingeplant werden. In Abbildung 3.5 ist der S1 -S2 -Schnitt des zul¨assigen Bereichs S dargestellt. Der zul¨ assige Bereich S ist dadurch gekennzeichnet, dass er i.d.R. weder konvex noch zusammenh¨ angend. Er l¨ asst sich aber als Vereinigung konvexer Polytope, so genannter Ordnungspolytope, darstellen (vgl. Abschnitt 2.1.5). In der Abbildung 3.5 besteht S aus der Vereinigung der beiden Polytope conv {S 1 , . . . , S 4 } und conv {S 5 , . . . , S 8 }. Polytop conv {S 1 , . . . , S 4 } entspricht gerade dem Ordnungspolytop ST (O) der Ordnung O = {(1, 2)} und Polytop conv {S 5 , . . . , S 8 } dem Ordnungspolytop der Ordnung O = {(2, 1)}. Wie in Beispiel 3.5 kann der zul¨ assige Bereich S generell durch Ordnungspolytope ST (O) := {S ∈ ST |Sj − Si ≥ pi f¨ ur alle (i, j) ∈ O} zul¨assiger, strenger Ordnungen O u ¨ berdeckt werden. Ordnungen mit ∅ = ST (O) ⊆ S nennen wir zul¨assige Ordnungen, da durch die zugeh¨origen Restriktionen
212
3 Projektplanung unter Zeit- und Ressourcenrestriktionen S2
6 3
S3
S4
r
r
S2 r
rS 7
S1 r
rS 8 r
- S1
r
S6
S5
3
Abb. 3.5. S1 -S2 -Schnitt des zul¨ assigen Bereichs S
Sj − Si ≥ pi f¨ ur (i, j) ∈ O gew¨ ahrleistet wird, dass ein zeitzul¨assiger Schedule keine Ressourcenkonflikte verursacht. Eine zeitzul¨assige Ordnung O, f¨ ur die der Netzplan N (O) keinen Zyklus positiver L¨ange enth¨alt, ist genau dann zul¨ assig, falls N (O) f¨ ur jede (minimale) verbotene Menge F ∈ F einen Weg von i ∈ F nach j ∈ F mit einer L¨ ange von mindestens pi besitzt. Die von einem zul¨ assigen Schedule S ∈ S induzierte Ordnung O(S) ist naturgem¨aß zul¨ assig. Wie in Neumann et al. (2003, Abschnitt 2.3.1) gezeigt, entspricht der zul¨ assige Bereich S der Vereinigung aller Ordnungspolytope von inklusionsminimalen, zul¨ assigen Ordnungen. Eine zul¨ assige strenge Ordnung O auf der Knotenmenge V wird inklusionsminimal genannt, wenn keine zul¨assige strenge Ordnung O auf V existiert mit O ⊂ O. Das folgende Beispiel veranschaulicht den strukturellen Unterschied zwischen dem zul¨assigen Bereich S und dem zeitzul¨ assigen Bereich ST . Beispiel 3.6. Wir betrachten den in Abbildung 3.6 dargestellten Projektnetzplan mit drei realen Vorg¨ angen und einer erneuerbaren Ressource. Die Ressourcenkapazit¨ at sei R = 2. Die Einhaltung der maximalen Projektdauer d = 6 wird durch den R¨ uckw¨ artspfeil 4, 0 mit der Bewertung δ40 = −6 sichergestellt. 0
0
1 1 -2 -? 1 2 @ -2 1 2 @1
0 0 HH 0 H 4
@
1 -6
0 @ R @ * 4 0
Legende: 2 pj pi 1 δij H j 3 H j i ri rj 1 Abb. 3.6. Projektnetzplan N mit drei realen Vorg¨ angen
H HH
3.1 Problemformulierung
213
Die Vorg¨ ange 0, 3 und 4 besitzen eine Gesamtpufferzeit von 0 und sind somit zeitlich fixiert. Die Bereiche ST und S lassen sich folglich als S1 -S2 Schnitt visualisieren. Es ergibt sich, wie bereits in Beispiel 2.9 beschrieben, der in Abbildung 3.7 dargestellte zeitzul¨ assige Bereich ST . S2
6
Sq6
5
Sq 4
q S5 S3 q
q
S1
q
S2
- S1
Abb. 3.7. S1 -S2 -Schnitt des Bereiche ST
Bei der Darstellung des zul¨ assigen Bereichs S sind zus¨atzlich die Ressourcenrestriktionen zu beachten, die verhindern, dass sich mehr Vorg¨ange simultan in Ausf¨ uhrung befinden als es die Ressourcenkapazit¨at zul¨asst. Da sich der zul¨ assige Bereich S als Vereinigung aller Ordnungspolytope von inklusionsminimalen, zul¨ assigen Ordnungen beschreiben l¨asst, sind diese zun¨achst zu bestimmen. Vorgang 2 besitzt eine Ressourceninanspruchnahme von r2 = 2, somit geh¨ oren zu den inklusionsminimalen, zul¨assigen Ordnungen alle Ordnungen, die die Vorg¨ ange 1 und 2 sowie 2 und 3 entzerren, d.h. die daf¨ ur sorgen, dass die jeweiligen Vorg¨ ange nicht mehr simultan ausgef¨ uhrt werden k¨ onnen; vgl. dazu auch das Ressourcenprofil in Abb. 3.8. Da eine maximale Projektdauer von d = 6 vorgeschrieben ist, kann ferner nur einer der Vorg¨ ange 1 oder 2 nach Vorgang 3 ausgef¨ uhrt werden, d.h. zum Zeitpunkt 5 starten. Insgesamt ergeben sich drei inklusionsminimale zul¨assige Ordnungen: O1 = {(1, 2), (1, 3), (2, 3)}, O2 = {(1, 2), (3, 2)} und O3 = {(2, 1), (2, 3)}. Die Ordnung O = {(1, 2), (1, 3), (3, 2)} ist zul¨ assig, aber nicht inklusionsminimal, da O2 ⊂ O gilt. Das Ordnungspolytop ST (O1 ) entspricht gerade dem Polytop conv {S 3 , S 7 , S 8 , S 9 }, ST (O2 ) entspricht conv {S 6 , S 10 } und ST (O3 ) dem Polytop conv {S 2 , S 5 , S 11 , S 12 }. Der zul¨ assige Bereich S ergibt sich somit als Vereinigung der drei Ordnungspolytope ST (O1 ), ST (O2 ) und ST (O3 ) und ist in Abbildung 3.8 dargestellt.
214
3 Projektplanung unter Zeit- und Ressourcenrestriktionen S2
6
Sq6
5
Sq 10
r(S, t)
6 3
r
2 1
r 1
Sq 8
q
q
Sq 11 q 5 S
S3 q
rq
qr 2
Sq 9
r r
rq
2
4
S7 q
rq 3
-t
r 6
S 12 S 2
- S1
Abb. 3.8. Ressourcenprofil und S1 -S2 -Schnitt des Bereichs S
3.1.3 Zielfunktionen und ausgezeichnete Punkte Da f¨ ur Problem (3.2) der L¨ osungsbereich beschr¨ankt und abgeschlossen ist, existiert f¨ ur stetige bzw. von unten halbstetige Zielfunktionen f (S) stets eine optimale L¨ osung. Bei der Suche nach einem optimalen Schedule f¨ ur ein Projektplanungsproblem mit Zeit- und Ressourcenrestriktionen k¨onnen wir uns wie in Abschnitt 2.1.5 auf eine Menge ausgezeichneter Punkte beschr¨anken. Die Menge der ausgezeichneten Punkte h¨ angt dabei von den Struktureigenschaften der betrachteten Zielfunktion ab. Bei den Zielfunktionen Projektdauer (PD ) und mittlere Durchlaufzeit (MFT ) handelt es sich um regul¨are Funktionen, d.h. sie sind monoton wachsend in den Startzeitpunkten der einzelnen Vorg¨ange. Da der zul¨assige Bereich S, wie in Beispiel 3.6 gezeigt, i.d.R. weder konvex noch zusammenh¨angend ist, besitzt S h¨ aufig mehrere Minimalpunkte, von denen f¨ ur regul¨are Zielfunktionen mindestens einer optimal ist. Die Menge der ausgezeichneten Punkte besteht bei einem Projektplanungsproblem (3.2) mit regul¨arer Zielfunktion folglich aus den Minimalpunkten des zul¨ assigen Bereichs S. Betrachten wir dazu Abbildung 3.8; der Bereich S besitzt die Minimalpunkte S 7 und S 12 . Beide sind sowohl bez¨ uglich (PD ) als auch (MFT ) optimal. Die Zielfunktion der Summe gewichteter Startzeitpunkte (WST ) ist linear, somit kommen alle (globalen) Extremalpunkte des zul¨assigen Bereichs S, d.h. die Extremalpunkte der konvexen H¨ ulle von S, als optimale L¨osung in Frage. F¨ ur das Projektplanungsproblem aus Beispiel 3.6 ist die Menge der Extremalpunkte {S 2 , S 3 , S 5 , S 6 , S 7 , S 10 , S 12 }. Bei der Zielfunktion des Earliness-Tardiness-Problems (E + T ) handelt es sich um eine konvexe Funktion. F¨ ur konvexe Zielfunktionen ist i.d.R. kein Punkt auf dem Rand des zul¨ assigen Bereichs S optimal. Da f¨ ur Minimierungsprobleme mit konvexer Zielfunktion jedes lokale Optimum auch global optimal ist, l¨ asst sich die Suche nach einem optimalen Schedule auf die Suche nach einem lokalen Optimum beschr¨ anken. Sei S ∗ die Menge aller lokalen Minimal-
3.1 Problemformulierung
215
stellen von f auf S, dann entspricht S ∗ der Menge der ausgezeichneten Punkte f¨ ur ein Projektplanungsproblem unter Zeit- und Ressourcenrestriktionen mit der Zielfunktion (E + T ). Bin¨armonotone Funktionen, wie beispielsweise die Zielfunktion (NPV ) des Kapitalwertmaximierungsproblems, sind auf jeder Halbgeraden bin¨arer Richtung monoton wachsend oder fallend. Da die Begrenzungslinien von S in bin¨ arer Richtung verlaufen, aber die Begrenzungslinien der konvexen H¨ ulle des zul¨ assigen Bereichs nicht notwendigerweise bin¨ar sein m¨ ussen, beinhaltet die Menge der ausgezeichneten Punkte f¨ ur ein Problem (3.2) mit bin¨armonotoner Zielfunktion neben den (globalen) Extremalpunkten auch alle lokalen Extremalpunkte von S. Hierbei bezeichnen wir einen Schedule S ∈ S als lokalen Extremalpunkt, falls er nicht auf einer ganz in S liegenden Verbindungslinie zwischen zwei Punkten aus S liegt.2 In Abbildung 3.9 entsprechen die Schedules S, S und S lokalen Extremalpunkten. F¨ ur das Projektplanungsproblem aus Beispiel 3.6 ergibt sich die Menge der ausgezeichneten Punkte (lokale Extremalpunkte) f¨ ur eine bin¨ armonotone Zielfunktion zu {S 2 , S 3 , S 5 , S 6 , S 7 , S 8 , S 9 , S 10 , S 11 , S 12 }. S2
4
2
6A S Aq A A
A
SAq
A
2
A A S Aq A
- S1 4
6
Abb. 3.9. Zul¨ assiger Bereich S und lokale Extremalpunkte
Die Zielfunktion des Ressourceninvestmentproblems (RI ) geh¨ort zu den lokal regul¨aren Funktionen, genauer ist sie von unten halbstetig und auf der Isoordnungsmenge jedes zul¨ assigen Schedules konstant. Analog zu Abschnitt 2.1.5 besteht dann die Menge der ausgezeichneten Punkte f¨ ur ein Projektplanungsproblem (3.2) mit Zielfunktion (RI ) aus den Minimalpunkten der Schedulepolytope ST (O(S)), S ∈ S. Bei den Zielfunktionen von Ressourcenabweichungs- (RD) und Ressourcennivellierungsproblemen (RL) handelt es sich um lokal konkave Funktionen, die stetig und auf der Isoordnungsmenge jedes zul¨assigen Schedules konkav sind. F¨ ur ein Problem (3.2) mit Zielfunktion (RD ) bzw. (RL) besteht die Menge der ausgezeichneten Punkte somit aus den Extremalpunkten der Schedulepolytope ST (O(S)), S ∈ S (vgl. Abschnitt 2.1.5). 2
Offensichtlich ist jeder globale Extremalpunkt auch ein lokaler Extremalpunkt.
216
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
In Tabelle 3.1 sind zusammenfassend alle eingef¨ uhrten Zielfunktionen mit ihren ausgezeichneten Punkten angegeben. Tabelle 3.1. Zielfunktionen und ausgezeichnete Punkte von S Zielfunktion
ausgezeichnete Punkte von S
(PD), (MFT ) (WST ) (E + T ) (NPV ) (RI ) (RD), (RL)
Minimalpunkte von S globale Extremalpunkte von S lokale Minimalstellen S ∗ der Funktion f lokale Extremalpunkte von S Minimalpunkte von ST (O(S)), S ∈ S Extremalpunkte von ST (O(S)), S ∈ S
In den Abschnitten 3.2 und 3.3 werden Verfahren zur Bestimmung einer optimalen L¨ osung f¨ ur Projektplanungsprobleme unter Zeit- und Ressourcenrestriktionen vorgestellt. F¨ ur Probleme mit den Zielfunktionen (PD ), (MFT ), (WST ), (E + T ) und (NPV ) kann ein relaxationsbasierter Enumerationsansatz angewendet werden, der als Branch-and-Bound-Verfahren implementiert wird. In jedem Schritt des Branch-and-Bound-Verfahrens wird die entsprechende Ressourcenrelaxation, d.h. das zugrunde liegende Problem ohne Ber¨ ucksichtigung der Ressourcenrestriktionen, gel¨ost. Ist die erhaltene L¨osung zul¨ assig, so ist ein Kandidat f¨ ur eine optimale L¨osung gefunden. Ansonsten werden Ressourcenkonflikte identifiziert und durch das Einf¨ ugen zus¨atzlicher Zeitbeziehungen sukzessive entzerrt. F¨ ur Probleme mit den Zielfunktionen (RI ), (RD) und (RL) ist die L¨ osung der entsprechenden Ressourcenrelaxation sehr viel aufw¨ andiger. Deshalb verwenden wir zur L¨osung dieser Probleme einen ger¨ ustbasierten Enumerationsansatz, der eine Erweiterung des in Abschnitt 2.2.4 vorgestellten Branch-and-Bound-Verfahrens darstellt und als L¨osung einen optimalen Minimal- bzw. Extremalpunkt eines Schedulepolytops bestimmt.
3.2 Exaktes L¨ osungsverfahren fu ¨ r die Minimierung der Projektdauer In diesem Kapitel stellen wir einen relaxationsbasierten Enumerationsansatz f¨ ur Projektplanungsprobleme (3.2) mit dem Ziel der Projektdauerminimierung vor, der als Branch-and-Bound-Verfahren mit relaxationsbasiertem Enumerationsschema implementiert wird (vgl. Abschnitt 3.2.1). Ausgangspunkt des Enumerationsschemas bildet der ES -Schedule als L¨osung der Ressourcenrelaxation. Ist dieser nicht nur zeit-, sondern auch ressourcenzul¨ assig, so handelt es sich beim ES -Schedule um eine optimale L¨osung. Andernfalls existiert mindestens ein Zeitpunkt t ∈ [0, d], an dem ein Ressourcenkonflikt vorliegt. Die Menge der Vorg¨ ange, die sich zum Zeitpunkt des
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
217
Ressourcenkonfliktes in Ausf¨ uhrung befindet, stellt eine verbotene Menge dar. Durch Hinzunahme von Vorrangbeziehungen der Form Sj − Si ≥ pi entzerren wir sukzessive die bestehenden Ressourcenkonflikte. Hierdurch wird der aktuelle L¨ osungsraum in immer kleinere Bereiche aufgeteilt (Branching). Sind alle Ressourcenkonflikte beseitigt, so haben wir ein Blatt des Enumerationsbaumes erreicht. Falls der zugeh¨ orige Schedule S zeitzul¨assig ist, so haben wir eine zul¨ assig L¨ osung gefunden. F¨ ur jeden Enumerationsknoten berechnen wir im Rahmen des Branch-andBound-Verfahrens untere Schranken f¨ ur den optimalen Zielfunktionswert des entsprechenden Bereichs (vgl. Abschnitt 3.2.3). Um im Enumerationsbaum m¨ oglichst schnell in die Tiefe vorzudringen und auf diese Weise schnell eine erste zul¨ assige L¨ osung zu erlangen, verwenden wir wie in Abschnitt 2.2.4 eine Tiefensuche. Dabei wird unter den Knoten der aktuellen Ebene des Enumerationsbaumes an einem Knoten mit kleinster unterer Schranke weiter verzweigt. Sobald eine erste zul¨ assige L¨ osung S ∗ gefunden wurde, stellt deren Zielfunktionswert f (S ∗ ) eine obere Schranke UB f¨ ur eine optimale L¨osung des zugrunde liegenden Problems dar. Mit ihrer Hilfe k¨ onnen alle Knoten zusammen mit ihren Nachfolgern ausgelotet werden, die eine untere Schranke besitzen, welche gr¨oßer oder gleich UB ist. Jedes Mal, wenn eine neue beste L¨osung gefunden wurde, wird UB entsprechend aktualisiert. Um die Anzahl der zu betrachtenden Enumerationsknoten zu reduzieren, kann vor Beginn des Branch-and-Bound-Verfahrens ein Preprocessing durchgef¨ uhrt werden. Dabei werden zus¨ atzliche Zeitbeziehungen zwischen den Vorg¨ angen bestimmt, die alle zul¨ assigen Schedules erf¨ ullen m¨ ussen. Durch Ber¨ ucksichtigung dieser zus¨ atzlichen Nebenbedingungen ist eine Beschleunigung des Verfahrens m¨ oglich. In Abschnitt 3.2.2 werden zwei PreprocessingTechniken pr¨ asentiert. In Abschnitt 3.2.4 stellen wir drei Auslotregeln vor, die es erlauben, Enumerationsknoten von den weiteren Betrachtungen auszuschließen, ohne die Vollst¨ andigkeit des Enumerationsschemas zu verlieren. Durch Anwendung der so genannten Subset-Dominanzregel k¨ onnen schon bei der Generierung von Knoten im Enumerationsbaum redundante Knoten erkannt und vollst¨andig ausgelotet werden. 3.2.1 Relaxationsbasiertes Enumerationsschema Die Minimalpunkte des zul¨ assigen Bereichs S eines Projektplanungsproblems (3.2) mit Zeit- und Ressourcenrestriktionen k¨ onnen mit Hilfe eines relaxationsbasierten Enumerationsschemas bestimmt werden. Im Verlauf des Verfahrens werden Minimalpunkte S ∗ von Ordnungspolytopen generiert, deren Vereinigung den zul¨ assigen Bereich u ¨berdecken. Eine optimale L¨osung ergibt sich, indem f¨ ur alle S ∗ die minimale Projektdauer berechnet und dann der beste Schedule gew¨ ahlt wird. Zu Beginn des Enumerationsschemas (in der Wurzel des Enumerationsbaumes) wird eine optimale L¨ osung der Ressourcenrelaxation bestimmt, d.h.
218
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
der ES -Schedule der zugrunde liegenden Probleminstanz. Ist der ES -Schedule zul¨ assig, so ist eine optimale L¨ osung gefunden. Andernfalls muss es mindestens einen Zeitpunkt t ∈ [0, d] geben, an dem ein Ressourcenkonflikt vorliegt. Betrachten wir dazu das in Abbildung 3.10a dargestellte Ressourcenprofil mit einer maximalen Projektdauer von d = 4 und einer Ressourcenkapazit¨at von R = 1. F¨ ur die beiden Vorg¨ ange i = 1, 2 gilt ES i = 1, LS i = 3 und pi = 1. Das gestrichelte Quadrat in Abbildung 3.10b entspricht dem zeitzul¨assigen Bereich ST der Ressourcenrelaxation. Starten die Vorg¨ange 1 und 2 zu ihren ES -Werten, so liegt im Zeitintervall [1, 2[ ein Ressourcenkonflikt vor. Um den bestehenden Ressourcenkonflikt zu entzerren bzw. die verbotene Menge F = A(S, t) aufzul¨ osen, f¨ ugen wir zus¨ atzliche zeitliche Nebenbedingungen (Vorrangbeziehungen) ein. Durch das Einf¨ ugen einer Vorrangbeziehung S2 − S1 ≥ p1 wird gew¨ ahrleistet, dass Vorgang 1 vor dem Start von Vorgang 2 beendet sein muss (vgl. Abb. 3.10c). Das Einf¨ ugen einer Vorrangbeziehung S1 − S2 ≥ p2 sorgt daf¨ ur, dass Vorgang 2 vor dem Start von Vorgang 1 beendet sein muss (vgl. Abb. 3.10e). Der zeitzul¨assige Bereich zerf¨allt somit in die Teilbereiche, die in den Abbildungen 3.10d und 3.10f dargestellt sind, sowie in einen dritten Teilbereich, in dem keine zul¨assige L¨osung enthalten sein kann (Branching). Im weiteren Verlauf des Enumerationsschemas m¨ ussen nun die beiden in den Abbildungen 3.10d und 3.10f dargestellten Bereiche weiter untersucht werden. r(S, t)
6 2
S2
a) O = ∅
r
q
6
rq
q
q
2
q
2 1
r
rq 1
r(S, t)
6 1
r S2
6 2
r
q
2
3
-t
2
3
c) S2 − S1 ≥ p1 O = {1, 2}
r rq
q
1
1
2 2
3
q
q d)
- S1 1
@
@
@ R @ 6
1
-t
r
1
4
r(S, t)
rq 1
b)
r
4
e) S1 − S2 ≥ p2 O = {2, 1}
r rq 1
rq 2
1 2
f)
6
q
2
1
1
q
q
2
3
- S1 2
3
4
S2
q
1
-t
r 3
- S1 1
Abb. 3.10. Branching im Rahmen des relaxationsbasierten Enumerationsschemas
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
219
Ausgehend von der Wurzel unseres Enumerationsbaumes, die wir mit der Ordnung O = ∅ identifizieren, haben wir zwei Sohnknoten generiert. Der erste Sohnknoten entspricht der Ressourcenrelaxation der durch die Vorrangbeziehung S2 − S1 ≥ p1 erweiterten Probleminstanz und wird durch die zugeh¨orige Ordnung O = {(1, 2)} repr¨ asentiert. Der in Abbildung 3.10d dargestellte Bereich entspricht gerade dem Ordnungspolytop dieser Ordnung und stellt die Menge aller zeitzul¨ assigen L¨ osungen f¨ ur die Probleminstanz, die durch den Ordnungsnetzplan N (O) spezifiziert wird, dar. Den zweiten Sohnknoten identifizieren wir mit der Ordnung O = {(2, 1)}, das zugeh¨orige Ordnungspolytop entspricht gerade dem in Abbildung 3.10f dargestellten Bereich. Im n¨achsten Schritt betrachten wir dann einen der beiden neu entstandenen Teilbereiche und bestimmen f¨ ur die Ressourcenrelaxation des zugeh¨origen Ordnungsnetzplans den ES -Schedule (Minimalpunkt des Ordnungspolytops). Ist dieser ressourcenzul¨ assig, so braucht der Teilbereich nicht weiter betrachtet werden, da der ES -Schedule f¨ ur diesen Bereich eine optimale L¨osung darstellt. Andernfalls verzweigen wir wie oben beschrieben erneut, indem wir Vorrangbeziehungen einf¨ ugen, um einen bestehenden Ressourcenkonflikt zu entzerren. In der Literatur sind eine Reihe von M¨ oglichkeiten zu finden, (minimale) verbotene Mengen zu entzerren; vgl. hierzu bspw. De Reyck und Herroelen (1998), Neumann et al. (2003) und Schwindt (2005). Im Folgenden bestimmen wir f¨ ur einen nicht ressourcenzul¨ assigen Schedule zun¨achst den kleinsten Zeitpunkt t ≥ 0, zu dem ein Ressourcenkonflikt besteht und f¨ ugen dann eine oder mehrere Vorrangbeziehungen ein, so dass die verbotene Menge F = A(S, t) entzerrt wird. Hierzu bestimmen wir zun¨achst so genannte minimale Verz¨ ogerungsalternativen Amin von F . Definition 3.7 (Verz¨ ogerungsalternative). Sei F eine verbotene Menge. Dann bezeichnen wir eine nichtleere Menge von Vorg¨angen A ⊂ F als Verz¨ogerungsalternative von F , falls F \ A keine verbotene Menge mehr ist. Eine Verz¨ ogerungsalternative A ist eine minimale Verz¨ogerungsalternative Amin ⊆ A f¨ ur eine verbotene Menge F wenn rik ≤ Rk f¨ ur alle k ∈ R und i∈F \A
rjk +
rik > Rk
f¨ ur alle j ∈ A und ein k ∈ R
i∈F \A
erf¨ ullt ist. Mit Al bezeichnen wir die Menge aller minimalen Verz¨ogerungsalternativen von F . Wir beschreiben im Folgenden ein Verfahren zur Bestimmung der Menge Al aller minimalen Verz¨ ogerungsalternativen einer verbotenen Menge F . Dazu machen wir uns klar, dass alle einelementigen Verz¨ogerungsalternativen von F minimale Verz¨ ogerungsalternativen sind. Weiterhin stellen alle zweielementigen Verz¨ ogerungsalternativen, unter deren einelementigen Teilmengen sich keine Verz¨ ogerungsalternative befindet, minimale Verz¨ogerungsalternativen dar, usw. Um die Erzeugung redundanter b-elementiger Teilmengen zu
220
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
vermeiden, f¨ ugen wir (b − 1)-elementigen Teilmengen B nur Vorg¨ange i ∈ F mit i > max B hinzu.3 Algorithmus 3.8 fasst die einzelnen Schritte zur Bestimmung der Menge Al einer verbotenen Menge F zusammen, wobei wir in A alle Teilmengen speichern, die noch keine Verz¨ogerungsalternative von F darstellen. Algorithmus 3.8 (Bestimmung der Menge Al f¨ ur F ). Initialisierung: Setze Al := ∅ und A := ∅. F¨ ur alle i ∈ F : Falls Vorgang {i} eine Verz¨ ogerungsalternative von F ist: Setze Al := Al ∪ {{i}}. Andernfalls Setze A := A ∪ {{i}}. Hauptschritt: Solange A = ∅: F¨ ur alle A ∈ A: Setze A := A \ {A}. F¨ ur alle i ∈ F mit i > max A: Falls A ∪ {i} keine Verz¨ ogerungsalternative von F ist: Setze A := A ∪ {A ∪ {i}}. Andernfalls Falls kein A ∈ Al mit A ⊂ {A ∪ {i}} existiert: Setze Al := Al ∪ {A ∪ {i}}. R¨ uckgabe Al Es sei angemerkt, dass die Anzahl minimaler Verz¨ogerungsalternativen einer verbotenen Menge F exponentiell in der Anzahl der Elemente von F sein kann. Das folgende Beispiel 3.9 verdeutlicht die Vorgehensweise bei der Bestimmung der Menge Al. Beispiel 3.9. Betrachten wir das in Abbildung 3.11 dargestellte Ressourcenprofil mit vier realen Vorg¨ angen. Die Ressourcenkapazit¨at sei R = 3. Zum Zeitpunkt t = 1 sind die Vorg¨ ange 1, 2, 3 und 4 gleichzeitig in Ausf¨ uhrung. Da f¨ ur die Ressourceninanspruchnahme zum Zeitpunkt t = 1 r(S, 1) = r1 + r2 + r3 + r4 = 5 > 3 gilt, stellt F = {1, 2, 3, 4} eine verbotene Menge dar. Mit Hilfe des Algorithmus 3.8 soll nun die Menge Al aller minimalen Verz¨ ogerungsalternativen f¨ ur F bestimmt werden. In der Initialisierung setzen wir zun¨ achst Al := ∅ und A := ∅. Da {2} bereits eine Verz¨ ogerungsalternative f¨ ur F darstellt, f¨ ugen wir diese Menge im Initialisierungsschritt der Menge Al hinzu. F¨ ur die Menge A ergibt sich 3
Hierbei bezeichnet max B das gr¨ oßte Element der Menge B, d.h. max B := maxj∈B j.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
221
r(S, t)
6
r
rq 4
4
3 2
r 4
r 2
1 1
rq 3
rq 2
2
r
rq 3
3
-t 4
Abb. 3.11. Ressourcenprofil
A = {{1}, {3}, {4}}. Im ersten Hauptschritt entnehmen wir der Menge A das Element A = {1} und betrachten die Vorg¨ ange i = 2, 3, 4. F¨ ur Vorgang 2 stellt {1, 2} zwar eine Verz¨ ogerungsalternative dar, da aber A = {2} ⊂ {1, 2} schon in Al enthalten ist, wird {1, 2} nicht der Menge Al hinzugef¨ ugt. F¨ ur die Vorg¨ ange 3, 4 stellen die Mengen {1, 3} und {1,4} Verz¨ogerungsalternativen dar, und da A = {3} ∈ Al sowie mit A = {4} ∈ Al gilt, setzen wir Al = Al ∪ {{1, 3}} ∪ {{1, 4}}. Im n¨ achsten Hauptschritt entnehmen wir A = {3} der Menge A und betrachten den Vorgang i = 4. Da f¨ ur Vorgang 4 die Menge {3, 4} eine Verz¨ ogerungsalternative darstellt und A = {4} ∈ Al ist, setzen wir Al = Al ∪ {{3, 4}}. Im letzten Schritt entnehmen wir A = {4} der Menge A. Da es kein i ∈ F mit i > max A gibt, ist nun die Menge A leer und der Algorithmus terminimiert. Die Menge der minimalen Verz¨ogerungsalternativen von F ist Al = {{2}, {1, 3}, {1, 4}, {3, 4}}. Beinhaltet das zugrunde liegende Projekt nur Mindestabst¨ande, dann gen¨ ugt es, einen bestehenden Ressourcenkonflikt zum Zeitpunkt t aufzul¨osen, indem man Zeitbeziehungen der Form Sj − Si ≥ pi zwischen Vorg¨angen j ∈ Amin und einem Vorgang i ∈ F \ Amin mit minimalem Endzeitpunkt Ci einf¨ uhrt. F¨ ur den Fall, dass neben zeitlichen Mindest- auch zeitliche H¨ ochstabst¨ ande existieren, kann nicht ausgeschlossen werden, dass der gew¨ ahlte Vorgang i zu einem sp¨ ateren Zeitpunkt noch verz¨ogert werden muss und dadurch die Vorg¨ ange j ∈ Amin weiter verz¨ogert werden als n¨otig. Betrachten wir dazu Abbildung 3.12. Wird zwischen den Vorg¨angen l1 , l2 eine Zeitbeziehung Sl1 − Sl2 ≥ pl2 eingef¨ uhrt, werden aufgrund des H¨ochstabstandes Tilmax zwischen i und l der Vorgang i sowie die Vorg¨ange j ∈ Amin 1 1 mit l1 verz¨ ogert. F¨ ur Probleme mit Mindest- und H¨ochstabst¨anden ist es daher grunds¨ atzlich notwendig, f¨ ur jede minimale Verz¨ogerungsalternative Amin min zu enumerieren. Dies f¨ uhrt zu der folgenden u ¨ ber jeden Vorgang i ∈ F \ A Definition. Definition 3.10 (Minimaler Verz¨ ogerungsmodus). Seien F ⊆ V eine verbotene Menge, Amin ⊂ F eine minimale Verz¨ogerungsalternative der verbotenen Menge F und i ∈ F \ Amin . Dann bezeichnen wir mit (i, Amin ) einen minimalen Verz¨ogerungsmodus von F mit schiebendem Vorgang i.
222
3 Projektplanung unter Zeit- und Ressourcenrestriktionen r(S, t)
6 2
r r
rq h
r
rq
l2
Amin
i 2
rq
r
rq
4
6
l1
r
-t 8
Tilmax =5 1 Abb. 3.12. Ressourcenprofil
Der folgende Satz besagt, dass es bei der Aufl¨osung von Ressourcenkonflikten f¨ ur Problem (3.2) gen¨ ugt, u ¨ ber alle Verz¨ogerungsmodi zu enumerieren. Ein Beweis findet sich in Neumann et al. (2003), wo ferner gezeigt wird, dass Satz 3.11 unabh¨ angig von der zugrunde liegenden Zielfunktion gilt, d.h. insbesondere f¨ ur alle in Abschnitt 2.1.1 eingef¨ uhrten Zielfunktionen G¨ ultigkeit besitzt. Satz 3.11. Sei F eine verbotene Menge. F¨ ur jeden zul¨assigen Schedule S ∈ S existiert ein minimaler Verz¨ ogerungsmodus (i, Amin ) von F , der die Bedingung Sj − Si ≥ pi f¨ ur alle j ∈ Amin erf¨ ullt. Ein zeitzul¨ assiger Schedule S ist zul¨ assig, wenn die strenge Ordnung O(S) zul¨ assig ist, d.h. wenn alle (minimalen) verbotenen Mengen F ∈ F durch die strenge Ordnung O(S) entzerrt sind. Offensichtlich sind alle Mengen F durch die Ordnung O(S) entzerrt, wenn alle aktiven Mengen A(S, t) mit t ∈ [0, d] zul¨ assig sind. Satz 3.11 legt somit folgendes Vorgehen zur Bestimmung einer optimalen L¨ osung f¨ ur ein Projektdauerminimierungsproblem nahe: F¨ ur eine zeit- aber nicht ressourcenzul¨ assige L¨ osung S der Ressourcenrelaxation ist es hinreichend, alle verbotenen Mengen F = A(S, t) mit t ∈ {S0 , . . . , Sn+1 } durch das Einf¨ ugen von Vorrangbeziehungen Sj − Si ≥ pi , f¨ ur j ∈ Amin und min i ∈ A(S, t) \ A sukzessive zu entzerren. Der zeitzul¨assige Bereich zerf¨allt hierdurch in Ordnungspolytope ST (O), die potentiell zul¨assige L¨osungen enthalten, und in Bereiche, die keine zul¨ assige L¨ osung besitzen (vgl. Abb. 3.10). Das dem Enumerationsknoten O zugrunde liegende Problem ist durch den Ordnungsnetzplan N (O) spezifiziert und der zugeh¨orige Teilbereich des zeitzul¨ assigen Bereichs ST ist durch das Ordnungspolytop ST (O) gegeben. Ist der Minimalpunkt eines Ordnungspolytops ST (O) zul¨assig, so stellt er eine optimale L¨ osung f¨ ur das durch N (O) spezifizierte Projektplanungsproblem und eine zul¨ assige L¨ osung f¨ ur das Ausgangsproblem dar. Zul¨assige Minimalpunkte der generierten Ordnungspolytope bilden somit Kandidaten f¨ ur eine optimale L¨ osung des zugrunde liegenden Projektdauerminimierungsproblems. Im Einzelnen l¨ asst sich das skizzierte Verfahren wie folgt beschreiben. Seien Ω die Menge der noch zu betrachtenden strengen Ordnungen O und Γ die Menge der generierten zul¨ assigen Schedules. Wir beginnen mit Ω = {∅}
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
223
und Γ = ∅. In jeder Iteration entnehmen wir eine strenge Ordnung O aus der Menge Ω und bestimmen den Schedule S der fr¨ uhesten Startzeitpunkte des Ordnungspolytops ST (O) von O. Falls Schedule S zul¨assig ist, f¨ ugen wir ihn der Menge Γ hinzu. Andernfalls existiert ein Zeitpunkt t ≥ 0, an dem ein Ressourcenkonflikt vorliegt. In diesem Fall bestimmen wir alle minimalen Verz¨ ogerungsmodi (i, Amin ) f¨ ur die aktive Menge A(S, t). F¨ ur alle Verz¨ ogerungsmodi f¨ ugen wir dann Vorrangbeziehungen zwischen i und allen Vorg¨ angen j ∈ Amin ein und erg¨ anzen alle transitiv ableitbaren Relationen, d.h. wir bilden die transitive H¨ ulle O := tr(O ∪ {(i, j) | j ∈ Amin }). Gilt O = {(j, l)} und betrachten wir den Verz¨ ogerungsmodus (i, {j}), so enth¨alt die neue Ordnung O die beiden Relationen (i, j), (j, l) und wird durch (i, l) erg¨ anzt. Ordnungen O entzerren die verbotene Menge A(S, t) zum Zeitpunkt t. Es werden solange strenge Ordnungen O aus Ω entnommen, bis Ω = ∅. Algorithmus 3.12 fasst das beschriebene Vorgehen zusammen. Algorithmus 3.12 (Relaxationsbasiertes Enumerationsschema). Initialisiere Ω := {∅} und Γ := ∅. Wiederhole Entferne eine Ordnung O aus der Menge Ω. Bestimme Schedule S := min ST (O). Falls S zul¨ assig ist: Setze Γ := Γ ∪ {S}. Andernfalls Bestimme den kleinsten Zeitpunkt t ≥ 0, an dem ein Ressourcenkonflikt vorliegt. Berechne die Menge Al aller minimalen Verz¨ogerungsalternativen f¨ ur die verbotene Menge F = A(S, t) mit Algorithmus 3.8. F¨ ur alle Amin ∈ Al: F¨ ur alle i ∈ A(S, t) \ Amin : F¨ uge Vorrangbeziehungen zwischen i und allen Vorg¨angen j ∈ Amin ein, d.h. setze O := tr(O ∪ {(i, j) | j ∈ Amin }). Falls ST (O ) = ∅: Setze Ω := Ω ∪ {O }. Solange Ω = ∅ R¨ uckgabe Γ W¨ ahlt man aus der Menge Γ aller generierten Minimalpunkte des zul¨assigen Bereichs S den Schedule S ∗ mit kleinstem Sn+1 , so hat man eine optimale L¨ osung f¨ ur das zugrunde liegende Problem gefunden. Beispiel 3.13. Betrachten wir den in Abbildung 3.13 dargestellten Projektnetzplan mit einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 10. Die Ressourcenkapazit¨ at sei R = 3. Im Folgenden wenden wir Algorithmus 3.12 zur Bestimmung der Menge Γ von Kandidaten f¨ ur eine optimale L¨ osung des entsprechenden Projektdauerminimierungsproblems an.
224
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
-10 0
2 1 1 1 2 @ -3 1 3 @ 1 1
0 ? 2 2 3 0 0 3 4 -3 -4 0 @ 3 2 6 0 @ 0 5@ 1 3 @ -2 R 5 @ 6 0 2 1
@ @ 0 3 R 7 @ 0
Legende: pi i ri
δij
pj
- j
rj
Abb. 3.13. Projektnetzplan mit einer erneuerbaren Ressource
Zu Beginn des Algorithmus setzen wir Ω := {∅} und Γ := ∅. Im ersten Hauptschritt entfernen wir die Ordnung O = ∅ aus der Menge Ω und bestimmen den Vektor S der fr¨ uhesten Startzeitpunkte des Ordnungspolytops ST (∅). Es gilt S = (0, 0, 1, 3, 3, 5, 3, 6). Zum Zeitpunkt t = 1 liegt ein Ressourcenkonflikt vor, da r(S, 1) = 4 > 3 gilt. Die Menge Al aller minimalen Verz¨ ogerungsalternativen der verbotenen Menge F = A(S, 1) ergibt sich zu Al = {{1}, {2}}. Von den zugeh¨ origen minimalen Verz¨ogerungsmodi (1, {2}) und (2, {1}) f¨ uhrt nur (1, {2}) zu einer Ordnung O mit nichtleerem Ordnungspolytop ST (O ), d.h. der zugeh¨ orige Ordnungsnetzplan N (O ) besitzt keinen Zyklus positiver L¨ ange. Wir f¨ ugen die Ordnung O = {(1, 2)} der Menge Ω hinzu, so dass sich Ω = {{(1, 2)}} ergibt. Im zweiten Schritt entnehmen wir die Ordnung O = {(1, 2)} der Menge Ω. Der zum Ordnungsnetzplan N (O) geh¨orige ES -Schedule ist S = (0, 0, 2, 3, 3, 5, 3, 6). Der kleinste Zeitpunkt, an dem ein Ressourcenkonflikt vorliegt, ist nun t = 3. Zu t = 3 gilt r(S, 3) = 6 > 3 f¨ ur die aktiven Vorg¨ ange A(S, 3) = {3, 4, 6}. Die Menge der minimalen Verz¨ogerungsalternativen f¨ ur F = A(S, 3) ist Al = {{3}, {4, 6}}. Von den zugeh¨origen minimalen Verz¨ ogerungsmodi (3, {4, 6}), (4, {3}), und (6, {3}) f¨ uhrt nur (3, {4, 6}) zu einer Ordnung O mit ST (O ) = ∅. Daher f¨ ugen wir die zugeh¨orige Ordnung O = {(1, 2), (3, 4), (3, 6)} der Menge Ω hinzu. Im dritten Schritt betrachten wir die Ordnung O = {(1, 2), (3, 4), (3, 6)} und bestimmen den Minimalpunkt S des Ordnungspolytops ST (O), es gilt S = (0, 0, 2, 3, 5, 5, 5, 8). Der kleinste Zeitpunkt an dem ein Ressourcenkonflikt vorliegt, ergibt sich zu t = 5. F¨ ur die Menge Al aller minimalen Verz¨ogerungsalternativen der verbotenen Menge F = A(S, 5) gilt Al = {{4}, {5}}. Von den zugeh¨ origen minimalen Verz¨ ogerungsmodi (5, {4}), (6, {4}), (4, {5}) und (6, {5}) f¨ uhrt nur (4, {5}) zu einer Ordnung O mit ST (O ) = ∅. Die entsprechende Ordnung O = tr(O ∪ (4, 5)) = {(1, 2), (3, 4), (3, 5), (3, 6), (4, 5)} wird der Menge Ω hinzugef¨ ugt.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
225
Im letzten Schritt entnehmen wir schließlich die Ordnung O = {(1, 2),(3, 4), (3, 5), (3, 6), (4, 5)} aus der Menge Ω. Der ES -Schedule S = (0, 0, 2, 3, 5, 7, 5, 8) von N (O) ist zul¨ assig, also wird er der Menge Γ hinzugef¨ ugt. Da nun Ω = ∅ ist, terminiert der Algorithmus. Die Menge Γ beinhaltet nur das Element S = (0, 0, 2, 3, 5, 7, 5, 8), das somit eine optimale L¨osung f¨ ur das betrachtete Projektdauerminimierungsproblem darstellt. Abbildung 3.14 zeigt die Ressourcenprofile der im Verfahrensverlauf betrachteten Schedules S. In Abbildung 3.15 ist der Netzplan N (O) zur strengen Ordnung O = {(1, 2), (3, 4), (3, 5), (3, 6), (4, 5)} dargestellt. a) O = ∅
b) O = {(1, 2)}
r(S, t)
6 4 2
r r rq
6 4
1
4
6
3
5
r rq
2
-t
r
5
r
1
rq 2
4
rq r rq 6
3
5
-t
r
5
10
d) O = {(1, 2), (3, 4), (3, 5), (3, 6), (4, 5)}
r(S, t)
r(S, t)
6
6
r rq 6
4
r r
r rq
6
10
c) O = {(1, 2), (3, 4), (3, 6)}
2
r
6
r rq
2
r rq
r(S, t)
rq
1
4
rq 5 r rq 6
rq 2
3
4 5
r qr 6r
2
-t
r r
1
rq
6
rq 2
3
10
4
5
r
5
-t 10
Abb. 3.14. Ressourcenprofile der Schedules S
-10 0
2 1 2 1 2 @ -3 1 3 @1 1
0 ? 2 2 3 - 2 0 3 4 -3 -4 0 @ 3 2 2 2 6 @ 0 H 5@ H 3 1 H -2 j H @ R 5 6 0 2 1
@
0 3 @ R 7 @ 0
Legende: pi i ri
δij
pj
- j
rj
Abb. 3.15. Netzplan N (O) f¨ ur O = {(1, 2), (3, 4), (3, 5), (3, 6), (4, 5)}
226
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
3.2.2 Preprocessing Preprocessing-Techniken beziehen sich auf eine Phase zwischen Formulierung und tats¨ achlicher L¨ osung eines Projektplanungsproblems, in der versucht wird, eine Probleminstanz f¨ ur das eigentliche L¨osungsverfahren vor” zubereiten“. Bei unserem Preprocessing (Vorverarbeitung) werden Zeitbeziehungen bestimmt, die sich aus der gemeinsamen Betrachtung bestehender Zeit- und Ressoucenrestriktionen ableiten lassen und die alle zul¨assigen Schedules erf¨ ullen m¨ ussen. Durch Hinzuf¨ ugen dieser zeitlichen Nebenbedingungen zur betrachteten Probleminstanz kann der zeitzul¨assige Bereich eingeschr¨ ankt werden, d.h. der Unterschied zwischen Problem und Ressourcenrelaxation wird kleiner. Ferner ist es bei Instanzen mit knappen Ressourcen h¨aufig m¨ oglich, schon im Vorfeld festzustellen, dass der zul¨assige Bereich S leer ist. In diesem Fall ist es nicht n¨ otig, das eigentliche L¨osungsverfahren zu starten. Der Vorteil des Preprocessings besteht somit in der Vorwegnahme von Entscheidungen, die sonst sp¨ ater w¨ ahrend der Enumeration getroffen werden m¨ ussten. Im Folgenden wollen wir zwei Preprocessing-Techniken (konjunktives und disjunktives Preprocessing) vorstellen, die auf der Entzerrung zweielementiger verbotener Mengen beruhen. Dies sind Mengen von zwei Vorg¨angen {i, j} mit i = j und rik + rjk > Rk f¨ ur mindestens ein k ∈ R. Sei F = {i, j} ⊆ V eine zweielementige verbotene Menge, deren Vorg¨ange i und j durch die bestehenden Zeitbeziehungen noch nicht entzerrt sind, d.h. es gilt dij < pi und dji < pj . Bei der Terminierung der Projektvorg¨ange k¨ onnten somit die Vorg¨ ange i und j simultan eingeplant werden, wodurch ein Ressourcenkonflikt entstehen w¨ urde. Im Folgenden wollen wir pr¨ ufen, unter welchen Umst¨ anden wir schon vorab sagen k¨onnen, ob in einer zul¨assigen L¨ osung i vor j oder j vor i eingeplant werden muss. Betrachten wir hierzu den Projektnetzplan in Abbildung 3.16 mit zwei realen Vorg¨angen und einer maximalen Projektdauer von d = 8. Die Ressourcenkapazit¨at sei R = 2. r(S, t)
-8 0 ? 0 0
4 6 1 r rq 2 1 @ 4 @ 0 2 2 R 3 @ 1 @ r q r r rq 0 2 3@ ? 2 1 R 2 @ r rq r 1 2 3 4 5 6 7 8 2 Abb. 3.16. Projektnetzplan und Ressourcenkonflikt
t
Werden die beiden Vorg¨ ange 1 und 2 zu ihrem ES eingeplant, so entsteht der in Abbildung 3.16 dargestellte Ressourcenkonflikt. Um die bestehende verbotene Menge zu entzerren, ist zu pr¨ ufen, ob eine der beiden Vorrangbeziehungen S2 − S1 ≥ p1 = 4 oder S1 − S2 ≥ p2 = 2 eingef¨ uhrt werden kann.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
227
Da durch das Einf¨ ugen von S1 − S2 ≥ 2 ein Zyklus positiver L¨ange entsteht, m¨ ussen alle zul¨ assigen Schedules die Vorrangbeziehung S2 − S1 ≥ 4 erf¨ ullen. Diese kann daher bereits im Vorfeld eingef¨ ugt werden. Allgemein kann man sagen, dass f¨ ur eine zweielementige verbotene Menge F = {i, j} eine Vorrangbeziehung der Form Sj − Si ≥ pi vor Beginn des L¨ osungsverfahrens eingef¨ ugt werden kann, wenn es aufgrund der Zeitbeziehungen nicht m¨ oglich ist, eine Vorrangbeziehung der Form Si − Sj ≥ pj einzuf¨ ugen (es entst¨ unde ein Zyklus positiver L¨ ange). Das heißt, die Bedingung Si − Sj ≥ pj kann nicht eingef¨ ugt werden, wenn dij > −pj bzw. − dij < pj
(3.8)
erf¨ ullt ist (vgl. Abb. 3.17). pj j −dij
i
Sj
Si
Abb. 3.17. Vorgang j kann nicht vor dem Start von Vorgang i beendet werden
Satz 3.14. Sei F = {i, j} ⊆ V eine zweielementige verbotene Menge mit dij < pi und dji < pj . Falls dij > −pj gilt, so erf¨ ullt jeder zul¨assige Schedule S ∈ S die Bedingung Sj − Si ≥ pi . Wenn aufgrund von Satz 3.14 dem Problem eine weitere Nebenbedingung Sj − Si ≥ pi hinzugef¨ ugt wird, m¨ ussen die L¨ angen l¨angster Wege dhl f¨ ur alle h, l ∈ V gem¨ aß dhl := max(dhl , dhi + pi + djl ) aktualisiert werden. Ist f¨ ur eine verbotene Menge F = {i, j} sowohl −dij < pj als auch −dji < pi erf¨ ullt, so kann weder Vorgang j vor dem Start von Vorgang i noch Vorgang i vor dem Start von Vorgang j beendet werden. Folglich kann die betrachtete zweielementige verbotene Menge F = {i, j} nicht entzerrt werden, und der zul¨ assige Bereich S ist leer. Algorithmus 3.15 fasst die einzelnen Schritte des erl¨ auterten konjunktiven Zweier-Preprocessings zusammen, wobei mit F2 die Menge aller zweielementigen verbotenen Mengen bezeichnet wird. Algorithmus 3.15 (Konjunktives Zweier-Preprocessing). Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i, j ∈ V . Bestimme die Menge F2 aller zweielementigen verbotenen Mengen.
228
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
F¨ ur alle {i, j} ∈ F2 mit dij < pi und dji < pj : Falls −dij < pj und −dji < pi : Abbruch! (der zul¨ assige Bereich ist leer, S = ∅) Falls −dij < pj : F¨ uge den Pfeil i, j mit δij = pi in den Projektnetzplan N ein. F¨ ur alle h, l ∈ V : dhl := max(dhl , dhi + pi + djl ). Falls −dji < pi : F¨ uge den Pfeil j, i mit δji = pj in den Projektnetzplan N ein. F¨ ur alle h, l ∈ V : dhl := max(dhl , dhj + pj + dil ). Werden mit Hilfe von Algorithmus 3.15 dem zugrunde liegenden Projekt Vorrangbeziehungen hinzugef¨ ugt, so ist es m¨ oglich, dass nach Ablauf des Verfahrens weitere zweielementige verbotene Mengen entzerrt werden k¨onnen, die zuvor nicht entzerrt werden konnten. Daher f¨ uhren wir den Algorithmus 3.15 mehrfach durch, bis keine weiteren Vorrangbeziehungen mehr eingef¨ ugt werden k¨ onnen. Insgesamt lassen sich durch das konjunktive Zweier-Preprocessing maximal 12 |V |(|V | − 1) Vorrangbeziehungen etablieren, ohne dass ein Zyklus positiver L¨ ange entsteht. Da die Bestimmung aller zweielementigen verbotenen Mengen eine Zeitkomplexit¨ at von O (|R||V |2 ) besitzt, ist die Zeitkomplexit¨ at von Algorithmus 3.15 O (max{|R||V |2 , |V |4 }). Das folgende Beispiel zeigt den Verlauf des konjunktiven Zweier-Preprocessing. Beispiel 3.16. Betrachten wir den in Abbildung 3.18 dargestellten Projektnetzplan mit einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 11. Die Ressourcenkapazit¨ at sei R = 3. Die L¨angen l¨angster Wege dij sind f¨ ur alle i, j ∈ V in Tabelle 3.2 dargestellt. Die Menge F2 aller zweielementigen verbotenen Mengen besteht aus den Elementen {i, j} mit ri + rj > 3. Somit ergibt sich F2 = {{1, 5}, {2, 5}, {3, 5}, {4, 6}, {5, 4}, {5, 6}}. −11
0
5 1 1 QQ
0 ? 0 @ 0
3
5
- 4
5
2
Q 3 Q Q
0
- 2
@ 0 @ @
1
Q
2 −3
1 Q s Q 5 3 3
5
1
@ 5 @ 1
@ 0 R @ 7
0
4
6 3 @ R 3 @
@
4
- 6 2
Abb. 3.18. Projektnetzplan
Legende: pj pi δij j i ri rj
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
229
ur alle i, j ∈ V Tabelle 3.2. L¨ angen l¨ angster Wege dij f¨ dij 0 1 0 0 0 −1 0 1 2 −8 −8 −4 −4 3 −6 −6 4 5 −10 −10 −7 −7 6 7 −11 −11
2 3 4 5 2 0 5 5 1 −1 5 4 0 −8 −3 2 2 0 1 5 −4 −6 0 −1 −3 −10 −5 0 −5 −7 −2 −2 −9 −11 −6 −6
6 3 2 −5 3 −3 −7 0 −8
7 10 10 3 7 5 1 4 0
Im ersten Schritt betrachten wir die zweielementige verbotene Menge {1, 5} mit d15 = 4 < p1 = 5 und d51 = −10 < p5 = 1. Da die Bedingung −d15 = −4 < p5 = 1 erf¨ ullt ist, kann Vorgang 5 nicht vor dem Start von Vorgang 1 beendet werden. Vorgang 5 muss also nach dem Ende von Vorgang 1 ausgef¨ uhrt werden. Daher f¨ ugen wir einen Pfeil 1, 5 mit der Bewertung δ15 = 5 in den Projektnetzplan ein und aktualisieren die L¨angen l¨angster Wege d15 := 5 und d12 := 2. Tabelle 3.3 veranschaulicht die einzelnen Schritte des Algorithmus 3.15. Die zweite Spalte gibt an, ob Vorgang j erst nach dem Ende von Vorgang i starten kann. Die dritte Spalte zeigt analog, ob Vorgang i erst nach dem Ende von Vorgang j starten kann und die letzte Spalte der Tabelle beinhaltet die Aktualisierungen der L¨ angen l¨angster Wege dij . Da f¨ ur die verbotene Menge F = {4, 6} sowohl Vorgang 4 nicht vor Vorgang 6 als auch 6 nicht vor 4 ausgef¨ uhrt werden kann, ist der zul¨assige Bereich S des betrachteten Projektplanungsproblems unter Zeit- und Ressourcenrestriktionen leer. Der Algorithmus bricht ab. Tabelle 3.3. Konjunktives Zweier-Preprocessing {i, j}
−dij < pj
−dji < pi
Aktualisierung der dij
{1, 5} −d15 = −4 < p5 = 1 −d51 = 10 < p1 =5 d15 = 5, d12 = 2 {2, 5} −d25 = −2 < p5 = 1 −d52 = 3 < p2 =3
d25 = 3, d20 = −7 d21 = d23 = −7, d24 = −2, d26 = −4, d27 = 4
{3, 5} −d35 = −5 < p5 = 1 −d53 = 10 < p3 =6 d35 = 6, d02 = d32 = 3, d42 = −3 d62 = −4, d72 = −8, d05 = 6 d45 = 0, d65 = −1, d75 = −5 {4, 6} −d46 = 3 < p6 = 4
−d64 = 2 < p4 = 5 ⇒S=∅
Falls f¨ ur zwei Elemente i, j mit {i, j} ∈ F2 und dij < pi bzw. dji < pj Bedingung (3.8) weder f¨ ur i und j noch f¨ ur j und i erf¨ ullt ist, wissen wir
230
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
dennoch, dass in einer zul¨ assigen L¨ osung entweder Vorgang i vor Vorgang j oder Vorgang j vor Vorgang i ausgef¨ uhrt werden muss. Gilt f¨ ur zwei Vorg¨ange h und l mit h, l ∈ {i, j}, dass die L¨ ange eines l¨angsten Weges von h nach l sowohl nach Einf¨ ugen eines Pfeils i, j mit der Bewertung δij = pi als auch nach Einf¨ ugen eines Pfeils j, i mit der Bewertung δji = pj gr¨oßer als dhl ist, so k¨ onnen wir schon im Vorfeld eine neue Zeitbeziehung zwischen den Vorg¨ angen h und l etablieren. Um dies zu verdeutlichen, betrachten wir ein Beispiel. Beispiel 3.17. Gegeben seien das Projektnetzwerk in Abbildung 3.19 mit vier realen Vorg¨ angen und einer erneuerbaren Ressource sowie eine Ressourcenkapazit¨ at von R = 3. −13 0 ? 1 0 0 1 0 S 3 S 1
2
3
- 3 2
S S 2? S w 2 1
1 1
0 3 5 7 0 2
2 ? - 4
Legende: pj pi δij j i ri rj
2 1 Abb. 3.19. Projektnetzwerk mit einer Ressource
F¨ ur die zweielementige verbotene Menge F = {2, 3} ist Bedingung (3.8) nicht erf¨ ullt, denn −d23 = 8 < p3 = 3 und −d32 = 9 < p2 = 2. In einer zul¨ assigen L¨ osung muss allerdings entweder Vorgang 2 vor Vorgang 3 oder Vorgang 3 vor Vorgang 2 ausgef¨ uhrt werden. Die L¨ange des l¨angsten Weges zwischen den Vorg¨ angen 1 und 4 betr¨ agt d14 = 3. Durch Einf¨ ugen eines Pfeils 2, 3 mit der Bewertung δ23 = 2 k¨ ame es zu einer Erh¨ohung von d14 auf 4. Die Einf¨ ugung eines Pfeils 3, 2 mit der Bewertung δ32 = 3 w¨ urde eine Erh¨ohung von d14 auf 6 hervorrufen. Daher kann eine neue Zeitbeziehung zwischen den Vorg¨ angen 1 und 4 etabliert werden, die daf¨ ur sorgt, dass zwischen dem Start der Vorg¨ ange 1 und 4 mindestens 4 Zeiteinheiten liegen. Der Projektnetzplan wird also durch den Pfeil 1, 4 mit der Bewertung δ14 = 4 erweitert. Der folgende Algorithmus 3.18 beschreibt das erl¨auterte Preprocessing, welches wir im Weiteren als disjunktives Zweier-Preprocessing bezeichnen.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
231
Algorithmus 3.18 (Disjunktives Zweier-Preprocessing). ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ Bestimme die Menge F2 aller zweielementigen verbotenen Mengen. ur die Bedingung F¨ ur alle i, j ∈ V mit {i, j} ∈ F2 und dij < pi bzw. dji < pj , f¨ (3.8) nicht erf¨ ullt ist: F¨ ur alle h ∈ V \ {i, j}: F¨ ur alle l ∈ V \ {h, i, j}: Falls dhl < min(dhi + pi + djl , dhj + pj + dil ): Setze dhl := min(dhi + pi + djl , dhj + pj + dil ). F¨ uge einen Pfeil h, l mit δhl = dhl in das Projektnetzwerk ein. ur ein h ∈ V : Abbruch! (der zul¨assige Bereich ist leer, Falls dhh > 0 f¨ S = ∅) Werden mit Hilfe von Algorithmus 3.18 dem zugrunde liegenden Projekt neue Zeitbeziehungen hinzugef¨ ugt, kann es nach Ablauf des Algorithmus vorkommen, dass weitere Zeitbeziehungen eingef¨ ugt werden k¨onnen, die zuvor nicht hinzu genommen werden konnten. Daher ist es h¨aufig sinnvoll, dass disjunktive und das konjunktive Zweier-Preprocessing im Wechsel durchzuf¨ uhren, um weitere Zeitbeziehungen zu etablieren. Da aber auch Algorithmus 3.18 eine Zeitkomplexit¨ at von O (max{|R||V |2 , |V |4 }) besitzt, ist abzuw¨ agen, wie viele Durchl¨ aufe der beiden Algorithmen durchgef¨ uhrt werden sollten. Beispiel 3.19. Betrachten wir wieder die Probleminstanz aus Beispiel 3.17 mit einer Ressourcenkapazit¨ at von R = 3. Die L¨angen l¨angster Wege sind in Tabelle 3.4 gegeben und f¨ ur die Menge F2 aller zweielementigen verbotenen Mengen ergibt sich F2 = {{1, 2}, {1, 3}, {1, 4}, {2, 3}}. Tabelle 3.4. L¨ angen l¨ angster Wege dij dij 0 1 2 3 4 5
0 0 −8 −10 −10 −11 −13
1 2 3 4 0 1 2 3 0 1 2 3 −10 0 −8 1 −10 −9 0 1 −11 −10 −9 0 −13 −12 −11 −10
5 5 5 3 3 2 0
Da die Mengen {1, 2}, {1, 3} und {1, 4} bereits entzerrt sind, betrachten wir die verbotene Menge {2, 3}. Die Ungleichung dhl < min(dhi + pi + djl , dhj + pj + dil )
(3.9)
232
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
gilt f¨ ur die verbotene Menge F = {2, 3} in Kombination mit den Vorg¨angen h = 0 und l = 4, denn d04 = 3 < min(1 + 2 + 1, 2 + 3 + 1) = 4. Wir setzen daher d04 = 4 und f¨ ugen einen Pfeil 0, 4 mit der Bewertung δ04 = 4 in den Projektnetzplan ein. Des Weiteren ist (3.9) f¨ ur h = 0 und l = 5, h = 1 und l = 0, 4, 5 und h = 5, l = 4 erf¨ ullt. Wir erhalten die neuen L¨angen l¨angster Wege d05 = 6, d10 = −7, d14 = 4, d15 = 6 und d54 = −9. Die Pfeile 0, 5 , 1, 0 , 1, 4 , 1, 5 und 5, 4 mit den entsprechenden Bewertungen werden in den Netzplan eingef¨ ugt. Abbildung 3.20 zeigt den entstandenen Netzplan, wobei wir auf die Angabe redundanter Pfeile verzichtet haben. −13 0 ? 1 0 2 0 1 -7 S 0 3 @
S 1S
3
- 3 2
0 5 7 0
@ 4 1 @ 1 2 S 2 ? 1 @ 2 ? S R 4 @ w 2 S 2
1
Legende: pj pi δij - j i ri rj
Abb. 3.20. Projektnetzplan nach dem disjunktiven Zweier-Preprocessing
3.2.3 Untere Schranken In Branch-and-Bound-Verfahren kommt dem Ausloten von Enumerationsknoten durch untere Schrankenwerte eine große Bedeutung zu. Stellt beispielsweise LB (lower bound) eine untere Schranke f¨ ur die minimale Projektdauer f¨ ur den Enumerationsknoten p dar, dann ist LB auch eine untere Schranke f¨ ur alle Knoten des Enumerationsbaumes, die Knoten p als Vorg¨angerknoten besitzen. Ist die untere Schranke gr¨ oßer oder gleich der Projektdauer der besten bisher gefundenen zul¨ assigen L¨ osung, dann k¨ onnen der Enumerationsknoten p und damit auch alle seine Nachfolger ausgelotet, d.h. von den weiteren Betrachtungen ausgeschlossen, werden. Die am einfachsten zu berechnende untere Schranke f¨ ur das Ausloten von Enumerationsknoten ist LB0 := ESn+1 , die der minimalen Projektdauer der Ressourcenrelaxation entspricht und automatisch bei der Berechnung des ES -Schedules bestimmt wird. Da diese untere Schranke i.d.R. nicht sehr scharf (gut) ist, geben wir im Folgenden drei weitere untere Schranken f¨ ur das Ausloten von Enumerationsknoten an. Der Gesamtbedarf an Ressource k ∈ R, der f¨ ur die Ausf¨ uhrung der Vorg¨ ange i ∈ V ben¨ otigt wird, ist durch den Term i∈V rik pi gegeben. Da
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
233
zu jedem ugung stehen, Zeitpunkt nur Rk Einheiten von Ressource k zur Verf¨ stellt i∈V rik pi /Rk eine untere Schranke f¨ ur die Zeit dar, die zur Ausf¨ uhrung aller Vorg¨ ange ben¨ otigt wird. Unter der Annahme, dass alle Pfeilbewertungen δij ganzzahlig sind, existiert im Fall S= ∅ ein ganzzahliger optimaler Schedule. Somit erhalten wir eine zweite untere Schranke f¨ ur die minimale Projektdauer durch ⎡ ⎤ rik pi i∈V ⎥. LBR := max ⎢ ⎥ k∈R ⎢ ⎢ Rk ⎥ Eine weitere untere Schranke f¨ ur die Projektdauerminimierung erh¨alt man durch die sukzessive Zur¨ uckweisung hypothetischer oberer Schrankenwerte (vgl. Klein und Scholl, 1999). In der Literatur spricht man daher von einer destruktiven (zur¨ uckweisenden) unteren Schranke LBD . Hierbei wird zun¨ achst ein oberer Schrankenwert d festgelegt. Kann gezeigt werden, dass kein zul¨ assiger Schedule S mit Sn+1 ≤ d existiert, so stellt LBD = d + 1 eine erste untere Schranke dar. Durch sukzessives Erh¨ohen von d, bis der aktuelle Wert nicht mehr zur¨ uckgewiesen werden kann, erh¨alt man i.d.R. eine gute untere Schranke. Zur Bestimmung der destruktiven unteren Schranke LBD ben¨otigen wir eine untere Schranke LB start , beispielsweise LB start = max(LB0 , LBR), und eine obere Schranke UB start , z.B. UB start = d. Gilt LBstart > UB start , so existiert kein zul¨ assiger Schedule. In jeder Iteration des Algorithmus zur Berechnung von LBD wird eine hypothetische obere Schranke d bestimmt, die zwischen der aktuellen unteren und oberen Schranke liegt: LB + UB d := . (3.10) 2 Mit der oberen Schranke d aus (3.10) wird nun ein Preprocessing-Schritt durchgef¨ uhrt, wobei wir die Bewertung des Pfeils n + 1, 0 auf δn+1,0 = −d setzen. Es k¨ onnen wahlweise das konjunktive, disjunktive oder beide Preprocessing-Verfahren ausgef¨ uhrt werden (vgl. Abschnitt 3.2.2). Bricht der Algorithmus des Preprocessings ab, weil ein Zyklus positiver L¨ange im Projektnetzplan entstanden ist, dann wird die obere Schranke d zur¨ uckgewiesen. Ist d = UB start , dann repr¨ asentiert LB := d + 1 eine untere Schranke und wir m¨ ussen den Bereich [d + 1, UB] n¨ aher untersuchen. Dazu w¨ahlen wir wieder eine obere Schranke d gem¨ aß (3.10) und fahren fort. Wird die obere Schranke d zur¨ uckgewiesen, bis wir d = UB start erhalten und lehnen wir auch diese Schranke ab, so ist der zul¨ assige Bereich leer. Falls das Preprocessing die obere Schranke d nicht zur¨ uckweist, setzen wir UB := d − 1 als neue obere Schranke und LB := max(LB , ES n+1 ) als neue untere Schranke fest. ES n+1 stellt dabei die k¨ urzeste Projektdauer dar, die im letzten Preprocessing-Schritt berechnet wurde. In den folgenden Schritten wird dann der Bereich [LB , d−1] weiter untersucht. Dazu w¨ahlen wir d wieder gem¨ aß (3.10) und fahren fort. Der Algorithmus terminiert, sobald LB > UB erf¨ ullt ist.
234
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Algorithmus 3.20 (Destruktive untere Schranke LBD). Setze LB := LB start , UB := UB start . Solange LB ≤ UB : Setze d := (LB + UB)/2. F¨ uhre einen Preprocessing-Schritt im Netzplan N mit δn+1,0 = −d durch. Falls das Preprocessing die obere Schranke d zur¨ uckweist: assige Bereich ist leer, S = ∅) Falls d = UB start : Abbruch! (der zul¨ Andernfalls Setze LB := d + 1. Andernfalls Setze UB := d − 1 und LB := max(LB, ESn+1 ) mit ESn+1 aus Preprocessing. Setze LBD := LB. R¨ uckgabe LBD . Zur Verdeutlichung der Vorgehensweise bei der Bestimmung einer destruktiven unteren Schranke LBD f¨ ur die Projektdauerminimierung betrachten wir das folgende Beispiel. Beispiel 3.21. Gegeben sei das Projektplanungsproblem in Abbildung 3.21 mit einer erneuerbaren Ressource und sechs realen Vorg¨angen. Die Ressourcenkapazit¨ at sei R = 2. Wir bestimmen die destruktive untere Schranke LBD mit Algorithmus 3.20, wobei wir im Preprocessing-Schritt einen Durchlauf des konjunktiven Zweier-Preprocessings ausf¨ uhren. -16 1 -3 1 1 0 -2 -3 0? 6 3 -? 7 0 2 0 @ 1 @ 6 @ 2 -6 @2 @ @ @ 2 @ R @ R 3 -8 @ -4 2
2 4 @ 1 @ 4 -2 @ 1 ? @ 0 2 R 7 @ 5 0 1 1 1 6 2
pi
Legende:
i ri
δij
pj
- j
rj
Abb. 3.21. Projektnetzplan mit einer erneuerbaren Ressourcen
Als Erstes bestimmen wir eine untere Schranke LB start . Dazu berechnen wir LB0 := ES7 = 12 sowie LBR := (0+1+6+4+2+1+2+0)/2 = 16/2 = 8 und setzen LB start := max(12, 8) = 12. Die obere Schranke UB start setzen
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
235
wir auf UB start := d = 16. Da LB start < UB start gilt, legen wir im ersten Schritt die hypothetische obere Schranke d = (12 + 16)/2 = 14 fest und f¨ uhren dann mit δn+1,0 = −14 das konjunktive Zweier-Preprocessing durch. Die Ergebnisse sind in Tabelle 3.5 aufgef¨ uhrt. Tabelle 3.5. Preprocessing-Schritt {i, j}
−dij < pj
−dji < pi
{1, 3} {1, 6} {2, 3} {2, 6} {3, 6} {4, 3} {4, 6} {5, 3} {5, 6}
−d13 −d16 −d23 −d26 −d36 −d43 −d46 −d53 −d56
−d31 −d61 −d32 −d62 −d63 −d34 −d64 −d35 −d65
= 5 < p3 = 2 = 1 < p6 = 1 = 2 < p3 = 2 = −2 < p6 = 1 = 0 < p6 = 1 = 5 < p3 = 2 = 1 < p6 = 1 = 7 < p3 = 2 = 3 < p6 = 1
= 11 < p1 = 1 = 13 < p1 = 1 = 6 < p2 = 6 = 10 < p2 = 6 = 4 < p3 = 2 = 8 < p4 = 2 = 12 < p4 = 2 = −1 < p5 = 1 = 2 < p5 = 1
zus¨ atzliche Pfeile
2, 6 mit δ26 = 6 3, 6 mit δ36 = 2
3, 5 mit δ35 = 2
Das Preprocessing bricht nicht vorzeitig ab, daher wird die obere Schranke d = 14 nicht zur¨ uckgewiesen. Wir setzen UB := 13 und da wir ES 7 = 12 im Preprocessing-Schritt bestimmt haben, ergibt sich LB := max(12, 12) = 12. Da LB ≤ UB gilt, fahren wir fort. Im zweiten Hauptschritt bestimmen wir die obere Schranke d = (12 + 13)/2 = 13 und f¨ uhren einen PreprocessingSchritt mit δn+1,0 = −13 durch. Die einzelnen Schritte des Preprocessing sind in Tabelle 3.6 angegeben. Tabelle 3.6. Preprocessing-Schritt {i, j}
−dij < pj
−dji < pi
{1, 3} {1, 6} {2, 3} {2, 6} {3, 6} {4, 3} {4, 6} {5, 3} {5, 6}
−d13 −d16 −d23 −d26 −d36 −d43 −d46 −d53 −d56
−d31 −d61 −d32 −d62 −d63 −d34 −d64 −d35 −d65
= 5 < p3 = 2 = 1 < p6 = 1 = 2 < p3 = 2 = −2 < p6 = 1 = 0 < p6 = 1 = 4 < p3 = 2 = 0 < p6 = 1 = 6 < p3 = 2 = 2 < p6 = 1
= 10 < p1 = 1 = 12 < p1 = 1 = 6 < p2 = 6 = 9 < p2 = 6 = 4 < p3 = 2 = 8 < p4 = 2 = 11 < p4 = 2 = −1 < p5 = 1 = 2 < p5 = 1
zus¨ atzliche Pfeile
2, 6 mit δ26 = 6 3, 6 mit δ36 = 2 4, 6 mit δ46 = 2 3, 5 mit δ35 = 2
Wieder bricht das Preprocessing nicht vorzeitig ab. Die obere Schranke d = 13 wird also nicht zur¨ uckgewiesen und wir setzen UB := 12, LB :=
236
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
max(12, 12) = 12. Da LB ≤ UB gilt, fahren wir fort. Im dritten Hauptschritt bestimmen wir die hypothetische obere Schranke d = (12 + 12)/2 = 12 und f¨ uhren einen Preprocessing-Schritt mit δn+1,0 = −12 durch. Die Schritte des Preprocessing sind in Tabelle 3.7 angegeben. Tabelle 3.7. Preprocessing-Schritt {i, j}
−dij < pj
−dji < pi
{1, 3}
−d13 = 4 < p3 = 2
−d31 = 9 < p1 = 1
{1, 6}
−d16 = 1 < p6 = 1
−d61 = 11 < p1 = 1
{2, 3} {2, 6}
−d23 = 1 < p3 = 2 −d26 = −2 < p6 = 1
−d32 = 6 < p2 = 6 −d62 = 8 < p2 = 6
2, 3 mit δ23 = 6 2, 6 mit δ26 = 6
{3, 6}
−d36 = 0 < p6 = 1
−d63 = 2 < p3 = 2
3, 6 mit δ36 = 2
{4, 3}
−d43 = −1 < p3 = 2
−d34 = 8 < p4 = 2
4, 3 mit δ43 = 2
{4, 6}
−d46 = −4 < p6 = 1
−d64 = 10 < p4 = 2
4, 6 mit δ46 = 2
{5, 3}
−d53 = 1 < p3 = 2
−d35 = −1 < p5 = 1
Abbruch: S = ∅
zus¨ atzliche Pfeile
Da mit Hilfe des Preprocessings gezeigt werden kann, dass f¨ ur δn+1,0 = −12 kein zul¨ assiger Schedule existiert, kann Schranke d = 12 zur¨ uckgewiesen werden. Es gilt d = 12 = UB start = 16, deshalb setzen wir LB := 13. Da nun LB > UB gilt, terminiert der Algorithmus und liefert die untere Schranke LBD = 13 zur¨ uck. Bei großen Projekten beinhalten minimale verbotene Mengen h¨aufig mehr als zwei Vorg¨ ange, so dass die vorgestellten Preprocessing-Techniken den zul¨ assigen Bereich des zugrunde liegenden Problems nur wenig einschr¨anken. Die destruktive untere Schranke LBD besitzt in diesem Fall eine begrenzte Effektivit¨ at. Deshalb betrachten wir im Folgenden eine workloadbasierte untere Schranke LBW , die eine Verbesserung der unteren Schranke LBR darstellt. In einem beliebigen Intervall [a, d] mit a ≥ 0 m¨ ussen alle Vorg¨ange h ∈ V ausgef¨ uhrt werden, f¨ ur die a ≤ ES h gilt. Vorg¨ange j ∈ V , f¨ ur die die Bedingung ES j < a ≤ EC j erf¨ ullt ist, werden mindestens f¨ ur die Dauer von EC j − a Zeiteinheiten im Intervall [a, d] ausgef¨ uhrt. Vorg¨ange i ∈ V mit EC i < a werden gar nicht oder h¨ ochstens LC i − a Zeiteinheiten im Intervall [a, d] ausgef¨ uhrt. Dieser Sachverhalt ist in Abbildung 3.22 verdeutlicht. F¨ ur einen zeitzul¨ assigen Schedule S mit Sn+1 ≤ d wird ein Vorgang i ∈ V im Intervall [a, d] somit mindestens pi (a, d) := max{0, min(pi , EC i − a)} Zeiteinheiten ausgef¨ uhrt.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
237
h j
i
- t 0
EC i
a ES h
EC j
d
Abb. 3.22. Ausf¨ uhrungszeiten der Vorg¨ ange i, j, h im Intervall [a, d]
Der Workload (Arbeitseinsatz, der mindestens geleistet werden muss) f¨ ur Ressource k ∈ R im Intervall [a, d] kann somit durch wk (a, d) := pi (a, d) rik i∈V
angegeben werden. Zur Ausf¨ uhrung des Workloads wk (a, d) sind bei einer Ressourcenkapazit¨ at von Rk mindestens wk (a, d)/Rk Zeiteinheiten erforderlich. Setzen wir den Zeitpunkt a auf den fr¨ uhesten Startzeitpunkt ES i eines ! Vorgangs i ∈ V , dann repr¨ asentiert maxk∈R wk (ES i , d)/Rk die Zeitspanne, die ab dem Zeitpunkt ES i noch mindestens bis zum Eintritt des Projektendes n¨ otig ist. Daher erhalten wir mit wk (ES i , d) LBW := max ES i + max i∈V k∈R Rk eine untere Schranke der Projektdauer, sofern S = ∅ ist. Wir illustrieren die Berechnung der workloadbasierten unteren Schranke LBW an einem Beispiel. Beispiel 3.22. Betrachten wir erneut den in Abbildung 3.21 angegebenen Netzplan mit einer erneuerbaren Ressource. Die Ressourcenkapazit¨at sei R = 2. Der Vektor der fr¨ uhesten Startzeitpunkte ergibt sich zu ES = (0, 0, 3, 2, 1, 10, 5, 12). Nachfolgend sind die Berechnungen der workloadbasierten unteren Schranken f¨ ur die Vorg¨ ange i ∈ V aufgezeichnet. ES 0 + wk (ES 0 , d)/2 = 0 + 16/2 = ES 1 + wk (ES 1 , d)/2 = 0 + 16/2 = ES 2 + wk (ES 2 , d)/2 = 3 + 11/2 = ES 3 + wk (ES 3 , d)/2 = 2 + 14/2 = ES 4 + wk (ES 4 , d)/2 = 1 + 15/2 = ES 5 + wk (ES 5 , d)/2 = 10 + 1/2 = ES 6 + wk (ES 6 , d)/2 = 5 + 7/2 = ES 7 + wk (ES 7 , d)/2 = 12 + 0/2 =
0+8= 8 0+8= 8 3+6= 9 2+7= 9 1+8= 9 10 + 1 = 11 5+4= 9 12 + 0 = 12
F¨ ur die workloadbasierte untere Schranke ergibt sich somit LBW := max (8, 8, 9, 9, 9, 11, 9, 12) = 12.
238
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
3.2.4 Auslotregeln In diesem Abschnitt betrachten wir Auslotregeln, die es erlauben, Enumerationsknoten, die im Rahmen unseres Enumerationsschemas erzeugt werden, von den weiteren Betrachtungen auszuschließen. Zun¨achst stellen wir drei Auslotregeln vor, die einen Teil der Enumerationsknoten ausschließen, die sich beim Enumerieren u ogerungsmodi ergeben, indem einzelne Vorg¨ange ¨ ber alle Verz¨ i ∈ F \ Amin als schiebende Vorg¨ ange ausgeschlossen werden. Bei der Anwendung des relaxationsbasierten Enumerationsschemas kann es ferner vorkommen, dass Enumerationsknoten erzeugt werden, deren zugeh¨origes Ordnungspolytop Teil eines bereits untersuchten Ordnungspolytops ist. In diesem Fall ist der entsprechende Knoten redundant und muss nicht mehr untersucht werden. Daher behandeln wir die Subset-Dominanz-Regel, die schon bei der Generierung von Enumerationsknoten solche dominierten Knoten erkennt und auslotet. Sei Amin ⊆ F eine minimale Verz¨ ogerungsalternative einer verbotenen Menge F = A(S, t). Mit Hilfe der folgenden drei Auslotregeln werden diejenigen Vorg¨ ange i ∈ F \Amin als schiebende Vorg¨ange ausgeschlossen, deren Ressourceninanspruchnahme 0 ist, die durch einen anderen Vorgang j ∈ F \ Amin dominiert werden oder f¨ ur die der resultierende zul¨assige Bereich offensichtlich leer ist. (1) Ressourcenregel : Ein Vorgang i ∈ F \ Amin wird nicht als schiebender Vorgang gew¨ahlt, wenn er die Ressource k, die den Konflikt verursacht, nicht in Anspruch nimmt. (2) RDM-Regel : (Redundant Delaying Mode) Existieren zwei Vorg¨ ange i, j ∈ F \ Amin , f¨ ur die dji + pi ≥ pj gilt, so wird Vorgang i nicht als schiebender Vorgang betrachtet, da er nicht vor Vorgang j beendet werden kann. Im Fall der Gleichheit ist zu beachten, dass falls dji + pi = pj und dij + pj = pi nur i oder j als schiebender Vorgang gestrichen wird. (3) DDA-Regel : (Delayed Delaying Activity) Existiert f¨ ur einen Vorgang i ∈ F \Amin ein Vorgang j ∈ Amin mit dji ≥ 0, so wird i nicht als schiebender Vorgang gew¨ahlt, da durch das Einf¨ ugen eines Pfeiles i, j mit δij > 0 ein Zyklus positiver L¨ange entst¨ unde (dii = dij + dji > 0). Beispiel 3.23. Gegeben seien der Projektnetzplan in Abbildung 3.23 mit vier realen Vorg¨ angen, einer maximalen Projektdauer von d = 5 und eine Ressourcenkapazit¨ at von R = 2. Im Folgenden zeigen wir, welche Knoten aufgrund der vorgestellten Auslotregeln (2) und (3) im Rahmen der ersten Iteration des relaxationsbasierten Enumerationsschemas (vgl. Algorithmus 3.12) erst gar nicht generiert werden m¨ ussen.
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer 2 1 2 Q Q3 1 0 Q 0 s Q −5 0 5 Q 1 3 0 Q 2 0 Q 1 1 −1 Q s - 3 4 1 1 1
239
2 1 0 3 1
Legende: pj pi δij j i ri rj
Abb. 3.23. Projektnetzplan N mit vier realen Vorg¨ angen
Zu Beginn des Algorithmus 3.12 setzen wir Ω := {∅} und Γ := ∅. Im ersten Hauptschritt entfernen wir die Ordnung O = ∅ aus der Menge Ω und bestimmen den Vektor S der fr¨ uhesten Startzeitpunkte des Ordnungspolytops ST (∅). Es ergibt sich S = (0, 0, 1, 1, 0, 4). Zum Zeitpunkt t = 1 liegt ein Ressourcenkonflikt vor, da r(S, 1) = 3 > 2 gilt. Die Menge aller minimalen Verz¨ ogerungsalternativen der verbotenen Menge F = A(S, 1) = {1, 2, 3} ist Al = {{1}, {2}, {3}}. Bei einer Wahl von Amin = {3} gilt f¨ ur die Vorg¨ange 1, 2 ∈ A(S, 1) \ {3} die Bedingung d12 + p2 = 1 + 2 = 3 ≥ p1 = 2. Vorgang 2 muss somit aufgrund der RDM-Regel nicht als schiebender Vorgang gew¨ ahlt werden und (2, {3}) entf¨ allt. Betrachten wir Amin = {1}, dann gilt f¨ ur 2 ∈ A(S, 1) \ {1} die Bedingung d12 = 1 ≥ 0 und analog f¨ ur 3 ∈ A(S, 1) \ {1} die Bedingung d13 = 0 ≥ 0. Aufgrund der DDA-Regel m¨ ussen daher (2, {1}) und (3, {1}) nicht betrachtet werden. Es verbleiben die Verz¨ogerungsmodi (1, {2}), (1, {3}) und (3, {2}). Die zugeh¨ origen Ordnungen {(1, 2)}, {(1, 3)} und {(3, 2)} werden der Menge Ω hinzugef¨ ugt. Eine weitere M¨ oglichkeit, die Gr¨ oße des Enumerationsbaumes zu reduzieren, stellt die Subset-Dominanz-Regel dar. Mit Hilfe dieser Regel k¨onnen bei der Generierung von Enumerationsknoten dominierte Knoten erkannt und ausgelotet werden. Ist die zu einem Enumerationsknoten p zugeh¨orige Ord nung Op eine Teilmenge der zu Knoten p geh¨origen Ordnung Op , d.h. gilt Op ⊆ Op , dann ist ST (Op ) ⊆ ST (Op ) erf¨ ullt. Wurde ferner das durch Knoten p repr¨ asentierte Ordnungspolytop ST (Op ) schon vollst¨andig untersucht, so kann Knoten p ausgelotet werden, da der entsprechende Bereich ST (Op ) ⊆ ST (Op ) schon untersucht wurde. Im Folgenden veranschaulichen wir die Subset-Dominanz-Regel an einem Beispiel. Beispiel 3.24. Gegeben sei der in Abbildung 3.24 dargestellte Projektnetzplan mit einer Ressource. Die Ressourcenkapazit¨at sei R = 2. Wir wenden nun das relaxationsbasierte Enumerationsschema (vgl. Algorithmus 3.12) an und zeigen, welche Knoten aufgrund der Subset-Dominanz-Regel ausgelotet werden k¨ onnen. Der zur Wurzel des Enumerationsbaumes korrespondierende ES -Schedule ist ES = (0, 0, 0, 2, 0, 6). Das zugeh¨ orige Ressourcenprofil ist in Abbildung 3.25 (Knoten 0) zu sehen. Planen wir die Vorg¨ ange i = 0, 1, ..., 5 gem¨aß des ES -
240
3 Projektplanung unter Zeit- und Ressourcenrestriktionen -6
0
1 1 1
0
2
- 2
1 @
@2 @ 1 0 4 @ - 3 R 5 @ * 1 0 1 H HH 1 H j 4 H 2
0 ? 2 0 HH 0 H 0
Legende: pj pi δij j i ri rj
Abb. 3.24. Projektnetzplan mit einer erneuerbaren Ressource
Schedules ein, so erhalten wir zum Zeitpunkt t = 0 den ersten Ressourcenkonflikt mit der zugeh¨ origen verbotenen Menge F = {1, 2, 4}. F besitzt unter anderem die minimale Verz¨ ogerungsalternative Amin = {4}. Hierzu korrespondieren die minimalen Verz¨ ogerungsmodi (1, {4}) und (2, {4}). F¨ ur die Ordnung O = {(1, 4)} ergibt sich der Vektor der fr¨ uhesten Startzeitpunkte zu S = (0, 0, 0, 2, 1, 6) (Knoten 1) und f¨ ur die Ordnung O = {(2, 4)} zu S = (0, 0, 0, 2, 2, 6) (Knoten 2). Betrachten wir nun den Enumerationsknoten 2. Zum Zeitpunkt t = 2 liegt ein Ressourcenkonflikt vor. Von den zugeh¨ origen Verz¨ogerungsmodi (4, {3}) und (3, {4}) f¨ uhrt nur (3, {4}) zu einer Ordnung O mit ST (O ) = ∅. F¨ ur die Ordnung O = {(2, 4), (3, 4)} ergibt sich der Vektor der fr¨ uhesten Startzeitpunkte zu S = (0, 0, 0, 2, 3, 6) (Knoten 3). Da S zul¨assig ist, sind wir nun an einem Blatt im Enumerationsbaum angekommen und fahren mit dem Enumerationsknoten 1 fort. Zum Zeitpunkt t = 1 liegt ein Ressourcenkonflikt vor. Die zugeh¨ origen Verz¨ ogerungsmodi (2, {4}) und (4, {2}) f¨ uhren beide zu Ordnungen O mit ST (O ) = ∅. Bestimmen wir den Minimalpunkt S des Ordnungspolytops ST ({(2, 4)}), so erhalten wir S = (0, 0, 0, 2, 2, 6) (Knoten 4). F¨ ur ST ({(4, 2)}) ergibt sich der Vektor der fr¨ uhesten Startzeitpunkte zu S = (0, 0, 2, 2, 1, 6) (Knoten 5), wobei S zul¨ assig ist. Knoten 4 l¨asst sich nun mit Hilfe der Subset-Dominanz-Regel ausloten, da die zu Knoten 2 geh¨orige Ordnung O2 = {(2, 4)} eine Teilmenge der zu Knoten 4 geh¨origen Ordnung O4 = {(1, 4), (2, 4)} ist und Knoten 2 bereits vollst¨andig untersucht wurde. Die Subset-Dominanz-Regel kann noch weiter versch¨arft werden, wenn zus¨ atzlich die L¨ angen l¨ angster Wege dij zwischen den Knoten in die Betrachtungen einbezogen werden, d.h. gilt dij ≥ pi im Netzplan N (O), so kann der Ordnung O die Relation (i, j) hinzugef¨ ugt werden. Weitere Ausf¨ uhrungen zur Subset-Dominanz-Regel finden sich in Zimmermann (2001).
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
241
r(S, t)
6
4
Knoten 0 O0 = ∅
4
3 2
2
1
1 2 3 1
1
1 2 3 2
-t 3
4
5
2 1
4
1
2
3
1
-t 4
4
1 2 3 1
2
-t 3
4
5
Knoten 5 (4, 2)}
1
1
2 2
3 2
3
4
1
6
? r(S, t)
5 6 O = {(1, 2), (1, 4)
2
3
O2 = {(2, 4)}
2
6
r(S, t)
Knoten 4
1 2 3
Knoten 2
6
@ R @
4 6 O = {(1, 4), (2, 4)}
2
@ R
r(S, t)
2
3
6
@
4
1
r(S, t)
5
3
2
1
4
Knoten 1 O1 = {(1, 4)}
6
2
3
r(S, t) 3
-t
2
3
-t 4
Knoten 3
3 6 O = {(2, 4), (3, 4)}
2 1
4
2 3 1
2
3
-t 4
Abb. 3.25. Ressourcenprofile der Schedules S im Enumerationsbaum
3.2.5 Branch-and-Bound-Verfahren In diesem Abschnitt stellen wir einen relaxationsbasierten Enumerationsansatz (Branch-and-Bound-Verfahren) zur L¨ osung des ressourcenbeschr¨ankten Projektdauerminimierungsproblems vor, der auf dem in Abschnitt 3.2.1 eingef¨ uhrten relaxationsbasierten Enumerationsschema beruht. Vor Beginn des eigentlichen Branch-and-Bound-Verfahrens f¨ uhren wir Preprocessing-Schritte durch, um zus¨ atzliche Zeitbeziehungen zwischen den Vorg¨angen zu bestimmen, die alle zul¨ assigen Schedules erf¨ ullen m¨ ussen (vgl. Abschnitt 3.2.2). Durch die Ber¨ ucksichtigung dieser zus¨atzlichen Nebenbedingungen ist i.d.R. eine Beschleunigung des Branch-and-Bound-Verfahrens m¨oglich oder es kann bereits im Vorfeld gezeigt werden, dass der zul¨assige Bereich S des zugrunde liegenden Problems leer ist. Die Branching-Strategie des Branch-and-Bound-Verfahrens, die den Enumerationsbaum induziert, beruht auf dem in Abschnitt 3.2.1 beschriebenen relaxationsbasierten Enumerationsschema. Ausgangspunkt bildet dabei der zur
242
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Wurzel des Enumerationsbaumes geh¨ orige ES -Schedule. Ist dieser zeit- und ressourcenzul¨ assig, so ist bereits eine optimale L¨osung gefunden. Andernfalls muss es mindestens einen Zeitpunkt t ∈ [0, d] geben, an dem ein Ressourcenkonflikt vorliegt. Die Menge der Vorg¨ ange A(S, t), die sich zum Zeitpunkt des Ressourcenkonfliktes in Ausf¨ uhrung befindet, bildet dann eine verbotene Menge. Durch Enumeration u ¨ ber alle minimalen Verz¨ogerungsmodi der verbotenen Menge A(S, t) entstehen neue Sohnknoten“ im Enumerationsbaum. ” Ein Vorgang i ∈ A(S, t) \ Amin wird dabei nur dann als schiebender Vorgang ausgew¨ ahlt, wenn keine der drei in Abschnitt 3.2.4 beschriebenen Auslotregeln (Ressourcenregel, RDM-Regel, DDA-Regel) greift. Ferner verwerfen wir einen neuen Sohnknoten, wenn wir mit Hilfe der Subset-Dominanz-Regel erkennen, dass wir das zugeh¨ orige Ordnungspolytop bereits untersucht haben. Sind alle Ressourcenkonflikte durch die Hinzunahme von Vorrangbeziehungen beseitigt, so sind wir an einem Blatt des Enumerationsbaumes angekommen und der zugeh¨ orige Schedule S ist zul¨ assig. F¨ ur jeden Enumerationknoten berechnen wir eine untere Schranke LB f¨ ur den optimalen Zielfunktionswert des entsprechenden Teilbereichs. Um im Enumerationsbaum m¨ oglichst schnell in die Tiefe vorzudringen, verwenden wir als Suchstrategie eine Tiefensuche. Dabei wird unter den Knoten der aktuellen Ebene des Enumerationsbaumes an demjenigen weiter verzweigt, der die kleinste untere Schranke LB := max(LBR, LB0 ) aufweist. Sobald eine zul¨ assige L¨ osung S ∗ gefunden wurde, k¨ onnen alle Knoten und deren Nachfolger ausgelotet werden, die eine untere Schranke besitzen, welche gr¨oßer oder gleich dem Zielfunktionswert der besten bisher gefundenen L¨osung ist. Existiert unter den S¨ ohnen eines aktuell betrachteten Knotens keine zul¨assige L¨ osung oder konnte der Knoten ausgelotet werden, so f¨ uhren wir einen Backtracking-Schritt aus. Beim Erzeugen der Enumerationsknoten verwenden wir zum Ausloten von Knoten neben den drei Auslotregeln und der Subset-Dominanz Regel die schnell berechenbare untere Schranke LB . Bevor von einem Enumerationsknoten weiter verzweigt wird, pr¨ ufen wir dann mit den sch¨arferen unteren Schranken LBW und LBD , ob der jeweilige Knoten nicht doch ausgelotet werden kann. Algorithmus 3.25 zeigt die einzelnen Schritte des Branch-andBound-Verfahrens, wobei Ω ein Stapel der noch zu betrachtenden Enumerationsknoten ist und Λ eine Menge, die zur Sortierung der S¨ohne eines Enumerationsknotens dient. Ist die obere Schranke UB bei Beendigung des Algorithmus kleiner als d + 1 (Initialisierungswert), wurde ein optimaler Schedule S ∗ gefunden. Andernfalls ist S = ∅ und wir geben S ∗ = 0 zur¨ uck. Algorithmus 3.25 (Branch-and-Bound-Verfahren f¨ ur Problem (3.2) mit dem Ziel der Projektdauerminimierung). F¨ uhre Preprocessing durch. Falls S = ∅: Abbruch! Initialisiere den Stapel Ω := {∅} und die obere Schranke UB := d + 1. Setze S ∗ := (0, . . . , 0) ∈ Rn+2 .
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
243
Solange Ω = ∅: Entnimm die oberste Ordnung O vom Stapel Ω. Bestimme Schedule S := min ST (O). Falls S zul¨ assig: ∗ . Falls Sn+1 < UB : Setze S ∗ := S und UB := Sn+1 Andernfalls Berechne LBW mit ES = S und LBD f¨ ur den Netzplan N (O). Falls max(LBW , LBD ) < UB: Bestimme den kleinsten Zeitpunkt t ≥ 0, an dem ein Ressourcenkonflikt vorliegt. Berechne die Menge Al aller minimalen Verz¨ogerungsalternativen f¨ ur die verbotene Menge F = A(S, t). Initialisiere die Menge Λ := ∅. F¨ ur alle Amin ∈ Al: F¨ ur alle i ∈ A(S, t)\Amin , die nicht durch eine der Auslotregeln (1) – (3) ausgeschlossen werden: F¨ uge Vorrangbeziehungen zwischen i und allen Vorg¨angen j ∈ Amin ein, d.h. setze O := tr(O ∪ {(i, j) | j ∈ Amin }). Falls ST (O ) = ∅ und ST (O ) nicht Teilmenge eines bereits untersuchten Bereichs ist: Bestimme Schedule S = min ST (O ). ) < UB : Falls LB := max(LBR, Sn+1 Setze Λ := Λ ∪ {O }. Entnimm Ordnungen O der Menge Λ und f¨ uge sie dem Stapel Ω gem¨aß nicht wachsender Werte von LB hinzu. assige Bereich ist leer, S = ∅) Falls UB = d + 1: Abbruch! (der zul¨ ∗ Andernfalls R¨ uckgabe S . Das nachfolgende Beispiel verdeutlicht die Vorgehensweise des Branch-andBound-Verfahrens. Beispiel 3.26. Gegeben seien der Netzplan in Abbildung 3.26 mit einer erneuerbaren Ressource und eine Ressourcenkapazit¨at von R = 2. Im Folgenden f¨ uhren wir das Branch-and-Bound-Verfahren zur L¨osung des Projektdauerminimierungsproblems durch. Dabei verzichten wir der Einfachheit halber auf die Anwendung der Subset-Dominanz-Regel und die Bestimmung der destruktiven unteren Schranke LBD . Vor Beginn des eigentlichen Branch-and-Bound-Verfahrens f¨ uhren wir ein Preprocessing durch, wobei wir das konjunktive Zweier-Preprocessing einmal anwenden. Es ergibt sich die Menge der zweielementigen verbotenen Mengen F2 = {{1, 3}, {1, 6},
244
3 Projektplanung unter Zeit- und Ressourcenrestriktionen -16 1 -3 1 1 0 -2 -3 0? 6 3 -? 7 0 2 0 @ 1 @ 6 @ 2 -6 @2 @ @ @ 2 @ -8 R @ R 3 @ -4 2
2 4 @ 1 @ 4 -2 @ 1 ? @ 0 2 R 7 @ 5 0 1 1 pi
1 6 2
Legende:
i ri
δij
pj
- j
rj
Abb. 3.26. Projektnetzplan mit einer erneuerbaren Ressource
{2, 3}, {2, 6}, {3, 6}, {4, 3}, {4, 6}, {5, 3}, {5, 6}}. Die einzelnen Schritte des Preprocessing sind in Tabelle 3.8 angegeben. Tabelle 3.8. Preprocessing-Schritt {i, j}
−dij < pj
−dji < pi
{1, 3} {1, 6} {2, 3} {2, 6} {3, 6} {4, 3} {4, 6} {5, 3} {5, 6}
−d13 −d16 −d23 −d26 −d36 −d43 −d46 −d53 −d56
−d31 −d61 −d32 −d62 −d63 −d34 −d64 −d35 −d65
= 5 < p3 = 2 = 1 < p6 = 1 = 2 < p3 = 2 = −2 < p6 = 1 = 0 < p6 = 1 = 7 < p3 = 2 = 3 < p6 = 1 = 9 < p3 = 2 = 5 < p6 = 1
= 13 < p1 = 1 = 15 < p1 = 1 = 6 < p2 = 6 = 10 < p2 = 6 = 4 < p3 = 2 = 8 < p4 = 2 = 12 < p4 = 2 = −1 < p5 = 1 = 2 < p5 = 1
zus¨ atzliche Pfeile
2, 6 mit δ26 = 6 3, 6 mit δ36 = 2
3, 5 mit δ35 = 2
Wir initialisieren den Stapel Ω = {∅} und die obere Schranke UB = 17. Da die untere Schranke LBR nicht vom aktuellen Schedule abh¨angt, kann sie vor Beginn der Iterationen berechnet werden. Es ergibt sich LBR = (0 + 1 + 6 + 4 + 2 + 1 + 2 + 0)/2 = 16/2 = 8. In der ersten Iteration entfernen wir die Ordnung O = ∅ vom Stapel Ω und bestimmen den ES-Schedule des Ordnungspolytops ST (∅). Es ergibt sich S = (0, 0, 3, 5, 1, 10, 9, 12). Da S nicht zul¨assig ist, bestimmen wir die workloadbasierte untere Schranke LBW mit ES = S. F¨ ur die einzelnen Vorg¨ ange i ∈ V ergeben sich die folgenden workloadbasierten unteren Schranken S0 + wk (S0 , d)/2 = 0 + 16/2 = 0 + 8 = 8
3.2 Exaktes L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
S1 + wk (S1 , d)/2 = 0 + 16/2 = 0 + 8 = S2 + wk (S2 , d)/2 = 3 + 13/2 = 3 + 7 = S3 + wk (S3 , d)/2 = 5 + 11/2 = 5 + 6 = S4 + wk (S4 , d)/2 = 1 + 15/2 = 1 + 8 = S5 + wk (S5 , d)/2 = 10 + 1/2 = 10 + 1 = S6 + wk (S6 , d)/2 = 9 + 3/2 = 9 + 2 = S7 + wk (S7 , d)/2 = 12 + 0/2 = 12 + 0 =
245
8 10 11 9 11 11 12 .
Wir erhalten die untere Schranke LBW = 12. Da LBW < UB = 17 erf¨ ullt ist, fahren wir fort und bestimmen den kleinsten Zeitpunkt, an dem ein Ressourcenkonflikt vorliegt. Zum Zeitpunkt t = 5 ist die aktive Menge A(S, 5) = {2, 3} verboten. Die Menge Al aller minimalen Verz¨ogerungsalternativen ergibt sich zu Al = {{2}, {3}}. Von den zugeh¨origen Verz¨ogerungsmodi (3, {2}) und (2, {3}), f¨ uhrt nur (2, {3}) zu einer Ordnung O mit ST (O ) = ∅. Nun bestimmen wir den Vektor der fr¨ uhesten Startzeitpunkte des Ordnungspolytops ST (O ) mit O = {(2, 3)}. Es ergibt sich S = (0, 0, 3, 9, 1, 11, 11, 13), d.h. f¨ ur die Projektdauer gilt Sn+1 = 13. Somit erhalten wir die untere Schranke LB := max(LBR, Sn+1 ) = max(8, 13) = 13. Wir f¨ ugen die Ordnung O = {(2, 3)} der Menge Λ hinzu. Damit sind alle Verz¨ogerungsmodi betrachtet, die A(S, 5) entzerren, und wir f¨ ugen die Elemente von Λ nach nicht wachsenden LB -Werten dem Stapel Ω hinzu. In der zweiten Iteration entnehmen wir die Ordnung O = {(2, 3)} dem Stapel Ω. Der ES-Schedule des Ordnungspolytops ST (O) mit O = {(2, 3)} ergibt sich zu S := (0, 0, 3, 9, 1, 11, 11, 13). Da S nicht zul¨assig ist, bestimmen wir die workloadbasierte untere Schranke LBW mit ES = S. F¨ ur die einzelnen Vorg¨ ange ergeben sich die workloadbasierten unteren Schranken wie folgt S0 + wk (S0 , d)/2 = 0 + 16/2 = 0 + 8 = S1 + wk (S1 , d)/2 = 0 + 16/2 = 0 + 8 = S2 + wk (S2 , d)/2 = 3 + 13/2 = 3 + 7 = S3 + wk (S3 , d)/2 = 9 + 7/2 = 9 + 4 = S4 + wk (S4 , d)/2 = 1 + 15/2 = 1 + 8 = S5 + wk (S5 , d)/2 = 11 + 3/2 = 11 + 2 = S6 + wk (S6 , d)/2 = 11 + 3/2 = 11 + 2 = S7 + wk (S7 , d)/2 = 13 + 0/2 = 13 + 0 =
8 8 10 13 9 13 13 13 .
Wir erhalten die untere Schranke LBW = 13. Da die Bedingung LBW < UB = 17 erf¨ ullt ist, fahren wir fort. Zun¨ achst bestimmen wir den kleinsten Zeitpunkt, an dem ein Ressourcenkonflikt vorliegt. Zum Zeitpunkt t = 11 ist die aktive Menge A(S, 11) = {5, 6} verboten und es gilt Al = {{5}, {6}}. Beide Verz¨ ogerungsmodi (5, {6}) und (6, {5}) f¨ uhren zu Ordnungen O mit ST (O ) = ∅. Betrachten wir zuerst den Verz¨ ogerungsmodus (5, {6}). F¨ ur den Vektor der fr¨ uhesten Startzeitpunkte des Ordnungspolytops ST (O ) mit O = {(2, 3), (5, 6)} ergibt sich S = (0, 0, 3, 9, 1, 11, 12, 13). Somit erhalten wir die untere Schranke LB gem¨ aß LB := max(LBR, Sn+1 ) = max(8, 13) = 13. Die
246
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Ordnung O = {(2, 3), (5, 6)} wird der Menge Λ hinzugef¨ ugt. Gehen wir nun auf den Verz¨ ogerungsmodus (6, {5}) ein. F¨ ur den ES -Schedule des Ordnungspolytops ST (O ) mit O = {(2, 3), (6, 5)} gilt S = (0, 0, 3, 9, 1, 12, 11, 14). Die untere Schranke LB ist daher LB := max(8, 14) = 14. Die Ordnung O = {(2, 3), (6, 5)} wird der Menge Λ hinzugef¨ ugt. Danach werden die Ordnungen O ∈ Λ gem¨ aß nicht wachsender Werte von LB auf den Stapel Ω gelegt. Es ergibt sich Ω = {{(2, 3), (5, 6)}, {(2, 3), (6, 5)}}. In der n¨ achsten Iteration entfernen wir die Ordnung O = {(2, 3), (5, 6)} vom Stapel Ω. Der ES -Schedule des zugeh¨ origen Ordnungspolytops ist S := (0, 0, 3, 9, 1, 11, 12, 13). Da S zul¨ assig ist und Sn+1 = 13 < UB = 17, setzen wir S ∗ := S und UB := 13. Im letzten Schritt entnehmen wir schließlich die Ordnung O = {(2, 3), (6, 5)} dem Stapel Ω. Der ES -Schedule des zugeh¨origen Ordnungspolytops ist S := (0, 0, 3, 9, 1, 12, 11, 14). Da S zul¨assig ist, aber Sn+1 = 14 < UB = 13 gilt, wird der beste bislang gefundene Schedule S ∗ nicht ersetzt. Nun ist Ω = ∅. Das Verfahren terminiert, und wir haben mit S ∗ = (0, 0, 3, 9, 1, 11, 12, 13) und Zielfunktionswert f (S ∗ ) = 13 eine optimale L¨ osung des Projektdauerminimierungsproblems bestimmt. In Abbildung 3.27 ist der entstandene Enumerationsbaum dargestellt. 0
?
2, 3 1
@ 5, 6 2 optimal mit ES 7 = 13
@ R 6, 5 @ 3 zul¨ assig mit ES 7 = 14
Abb. 3.27. Enumerationsbaum
3.3 Exakte L¨ osungsverfahren fu ¨ r weitere Zielfunktionen Zur L¨ osung von Projektplanungsproblemen (3.2) mit Zielfunktion (MFT ), (WST ), (E + T ) bzw. (NPV ) kann der in Abschnitt 3.2.5 vorgestellte relaxationsbasierte Enumerationsansatz angepasst werden. Die f¨ ur die einzelnen Zielfunktionen notwendigen Modifikationen behandeln wir in Abschnitt 3.3.1. Projektplanungsprobleme (3.2) mit Zielfunktion (RI ), (RD ) bzw. (RL) k¨ onnen mit Hilfe einer Erweiterung des ger¨ ustbasierten Enumerationsansatzes aus Abschnitt 2.2.4 gel¨ ost werden. In Abschnitt 3.3.2 gehen wir n¨ aher auf die hierzu notwendigen Modifikationen ein.
3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen
247
Um den zul¨ assigen Bereich S schon im Vorfeld einzuschr¨anken oder um zu zeigen, dass S = ∅ gilt, empfiehlt sich abermals die Anwendung von Preprocessing-Techniken. Die in Abschnitt 3.2.2 vorgestellten PreprocessingTechniken k¨ onnen ganz unabh¨ angig von der Zielfunktion f¨ ur ressourcenbeschr¨ ankte Projektplanungsprobleme angewendet werden. Daher werden wir sie nachfolgend nicht weiter thematisieren. 3.3.1 Relaxationsbasierter Enumerationsansatz Der in Abschnitt 3.2.5 eingef¨ uhrte relaxationsbasierte Enumerationsansatz kann prinzipiell f¨ ur Problem (3.2) mit regul¨arer, linearer, konvexer oder bin¨ armonotoner Zielfunktion angewendet werden. Voraussetzung f¨ ur eine sinnvolle Anwendung ist allerdings, dass sich die entsprechende Ressourcenrelaxation effizient l¨ osen l¨ asst, d.h. eine Minimalstelle S + der Funktion f muss auf dem zeitzul¨ assigen Bereich ST bzw. auf einem Ordnungspolytop ST (O) ¨ effizient bestimmt werden k¨ onnen. Anderungen des relaxationsbasierten Enumerationsansatzes betreffen die Initialisierung der oberen Schranke UB , die Bestimmung einer unteren Schranke LB0 f¨ ur den optimalen Zielfunktionswert des aktuellen Bereichs (Ordnungspolytops) und die Wahl der Auslotregeln. Als untere Schranke benutzen wir das Pendant zur unteren Schranke LB0 bei der Projektdauerminimierung, d.h. LB0 := f (S + ). Die unteren Schranken LBR, LBD und LBW k¨onnen in der in Abschnitt 3.2.3 beschriebenen Form nicht genutzt werden. Sie werden daher im Folgenden nicht weiter betrachtet. Die Auslotregeln (1) und (3) aus Abschnitt 3.2.4 k¨ onnen u ¨ bernommen werden. Auch die Anwendung der Subset-DominanzRegel ist m¨ oglich. F¨ ur regul¨ are Zielfunktionen (z.B. (MFT )), die monoton wachsend in den Startzeitpunkten der einzelnen Vorg¨ ange sind, erfolgt die Initialisierung der oberen Schranke f¨ ur den optimalen Zielfunktionswert durch UB := f (LS ) + 1. F¨ ur die Zielfunktion (WST ) ergibt sich eine obere Schranke f¨ ur den optimalen Zielfunktionswert, indem wir alle Vorg¨ ange mit positivem Gewicht, d.h. die Vorg¨ ange aus der Menge V + := {i ∈ V | wi > 0}, so sp¨at wie m¨oglich und alle Vorg¨ ange mit negativem Gewicht, d.h. die Vorg¨ange aus der Menge V − := {i ∈ V | wi < 0}, so fr¨ uh wie m¨ oglich einplanen und zum zugeh¨origen Wert eine positive Zahl addieren. Somit ergibt sich UB := wi LS i + wj ES j + 1. i∈V +
j∈V −
Analog planen wir f¨ ur die Zielfunktion (NPV ) alle Vorg¨ange, die zu einer Einzahlung f¨ uhren, d.h. die Vorg¨ ange aus V + := {h ∈ V | cF h > 0}, so
248
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
sp¨at wie m¨ oglich und alle Vorg¨ ange, die zu einer Auszahlung f¨ uhren, d.h. die Vorg¨ ange aus V − := {h ∈ V | cF uh wie m¨oglich ein.4 Wir erhalten h < 0}, so fr¨ F LS i F ES j UB := − + 1. ci β + cj β i∈V +
j∈V −
F¨ ur Zielfunktion (E + T ) w¨ ahlen wir als obere Schranke f¨ ur den optimalen Zielfunktionswert T UB := max{cE i di , ci (d − di )} + 1. i∈V
Insgesamt liest sich das modifizierte relaxationsbasierte Branch-and-BoundVerfahren wie folgt. Algorithmus 3.27 (Branch-and-Bound-Verfahren f¨ ur Problem (3.2) mit Zielfunktion (MFT ), (WST ), (NPV ) bzw. (E + T )). F¨ uhre Preprocessing durch. Falls S = ∅: Abbruch! Initialisiere den Stapel Ω := {∅}. Initialisiere obere Schranke UB in Abh¨ angigkeit von der Zielfunktion f und setze S ∗ := (0, . . . , 0) ∈ Rn+2 . Solange Ω = ∅: Entnimm die oberste Ordnung O vom Stapel Ω. Bestimme eine Minimalstelle S + von Funktion f auf ST (O). assig ist: Falls S + zul¨ Falls f (S + ) < UB : Setze S ∗ := S + und UB := f (S + ). Andernfalls Falls LB0 = f (S + ) < UB : Bestimme den kleinsten Zeitpunkt t ≥ 0, an dem ein Ressourcenkonflikt vorliegt. Berechne die Menge Al aller minimalen Verz¨ogerungsalternativen f¨ ur die verbotene Menge F = A(S + , t). Initialisiere die Menge Λ := ∅. F¨ ur alle Amin ∈ Al: F¨ ur alle i ∈ A(S + , t) \ Amin , die nicht durch eine der Auslotregeln (1) und (3) ausgeschlossen werden: F¨ uge Vorrangbeziehungen zwischen i und allen Vorg¨angen j ∈ Amin ein, d.h. setze O := tr(O ∪ {(i, j) | j ∈ Amin }). 4
Bei der Zielfunktion (NPV ) handelt es sich origin¨ ar um eine zu maximierende Zielfunktion. Daher wird an dieser Stelle eigentlich nach einer unteren Schranke gesucht.
3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen
249
Falls ST (O ) = ∅ und ST (O ) nicht Teilmenge eines bereits untersuchten Bereichs ist: Bestimme die Minimalstelle S+ von f auf ST (O ). Berechne die untere Schranke LB0 = f (S+ ). Falls LB0 < UB : Setze Λ := Λ ∪ {O }. Entnimm Ordnungen O der Menge Λ und f¨ uge sie dem Stapel Ω gem¨ aß nicht wachsender Werte von LB0 hinzu. R¨ uckgabe S ∗ . uck gibt, bedeutet dies, Falls Algorithms 3.27 den Schedule S ∗ = 0 zur¨ dass keine zul¨ assige L¨ osung gefunden wurde und somit der zul¨assige Bereich des zugrunde liegenden Problems leer ist. Im Folgenden veranschaulichen wir die Vorgehensweise des Branch-and-Bound-Verfahrens an einem Beispiel. Beispiel 3.28. Betrachten wir den in Abbildung 3.28 dargestellten Projektnetzplan mit einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 5. Ferner sei eine Ressourcenkapazit¨ at von R = 2 gegeben. Die einzelnen Vorg¨ ange des Projektes seien mit Gewichten w0 = 0, w1 = 3, w2 = −2, w3 = −1, w4 = 1 und w5 = 2 bewertet. 2 1 1 1 2 Q -3 0 3 Q1 1 2 Q
0 0 Q 1 0 Q
0 5 3 0
s Q
-5
Q 1 s Q 3 1
4 1 0 - 4 1
Legende: pj pi δij j i ri rj
Abb. 3.28. Projektnetzplan N mit vier realen Vorg¨ angen
Wir wenden im Folgenden Algorithmus 3.27 ohne Preprocessing und Auslotregeln f¨ ur obige Probleminstanz mit Zielfunktion (WST ) an. Die Zielfunktion f (S) = i∈V wi Si ist eine lineare Funktion, so dass f¨ ur die entsprechende Ressourcenrelaxation die Ecken des zeitzul¨assigen Bereichs als optimale ¨ L¨ osungen in Frage kommen. Der Ubersichtlichkeit halber l¨osen wir die Ressourcenrelaxation aber nicht mit dem in Abschnitt 2.2.2 eingef¨ uhrten Verfahren, sondern betrachten jeweils alle Eckpunkte des jeweiligen Ordnungspolytops und w¨ ahlen die Ecke mit dem kleinsten Zielfunktionswert. Zu Beginn setzen wir Ω := {∅}. Um eine obere Schranke UB f¨ ur die Zielfunktion (WST ) zu bestimmen, bilden wir zun¨achst die Mengen V + := {i ∈ V | wi > 0} = {1, 4, 5} und V − := {h ∈ V | wi < 0} = {2, 3}. Die Vorg¨ ange aus V + werden nun so sp¨ at wie m¨oglich und die Vorg¨ange aus der Menge V − so fr¨ uh wie m¨ oglich eingeplant. Somit ergibt sich UB := 3 · 3 + 1 · 1 + 2 · 5 + (−2 · 1 − 1 · 1) + 1 = 20 − 3 + 1 = 18.
250
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Im ersten Hauptschritt entnehmen wir die Ordnung O = ∅ dem Stapel Ω und bestimmen die Minimalstelle S + von (WST ) auf dem Ordnungspolytop ST (∅). Dazu betrachten wir den zeitzul¨ assigen Bereich ST des Projektes. Da die Vorg¨ ange 3 und 4 zeitlich fixiert sind, stellen wir ST als S1 -S2 -Schnitt dar; vgl. Abb. 3.29. S2
6
S2
Sq 3
6
Sq 4
S2 q
S6 q
Sq 4
S5 q
S1 q
- S1
- S1
Abb. 3.29. S1 -S2 -Schnitte der Bereiche ST ({∅}) und ST ({(3, 1)}) bzw. ST ({(4, 1)})
Von den Ecken S 1 , . . . , S 4 besitzt S 2 = (0, 0, 3, 1, 1, 5) den kleinsten Zielfunktionswert mit f (S 2 ) = 4, d.h. S + = (0, 0, 3, 1, 1, 5). Da f (S 2 ) = 4 < UB = 18 gilt, bestimmen wir das Ressourcenprofil f¨ ur S 2 . Zum Zeitpunkt t = 1 liegt ein Ressourcenkonflikt vor. Die Menge Al aller minimalen Verz¨ ogerungsalternativen der verbotenen Menge F = A(S + , 1) ergibt sich zu Al = {{1}, {3}, {4}}. Von den zugeh¨ origen minimalen Verz¨ogerungsmodi (3, {1}) (4, {1}) (1, {3}) (4, {3}) (1, {4}) (3, {4}) f¨ uhren nur (3, {1}) und (4, {1}) zu Ordnungen O mit ST (O ) = ∅. Nun bestimmen wir die Minimalstelle S+ von (WST ) auf dem Ordnungspolytop ST ({(3, 1)}). Dazu betrachten wir den zugeh¨ origen S1 -S2 -Schnitt von ST ({(3, 1)}) in Abbildung 3.29. Von den Ecken S 4 , S 5 und S 6 besitzt S 6 = (0, 2, 4, 1, 1, 5) den kleinsten Zielfunktionswert mit f (S 6 ) = 8. Aus diesem Grund setzen wir S+ = (0, 2, 4, 1, 1, 5). ugen wir die Ordnung O = {(3, 1)} der MenDa f (S+ ) = 8 < UB = 18 gilt, f¨ ge Λ hinzu. Nun bestimmen wir die Minimalstelle S+ von (WST ) auf dem Ordnungspolytop ST ({(4, 1)}). Der zeitzul¨ assige Bereich des Ordnungspolytops ST ({(4, 1)}) ist gleich dem zeitzul¨ assigen Bereich des Ordnungspolytops ST ({(3, 1)}). Daher ergibt sich S+ wieder zu S+ = (0, 2, 4, 1, 1, 5) und wir speichern O = {(4, 1)} in der Menge Λ. Danach werden die Ordnungen O dem Stapel Ω gem¨ aß nicht wachsender Werte von LB0 hinzugef¨ ugt, es ergibt sich Ω = {{(3, 1)}, {(4, 1)}}. In der zweiten Iteration entnehmen wir die oberste Ordnung O = {(3, 1)} dem Stapel Ω. Die Minimalstelle S+ von (WST ) auf ST ({(3, 1)}) ist S + = (0, 2, 4, 1, 1, 5). Da S + zul¨ assig ist und f (S + ) = 8 < UB = 18, setzen wir ∗ + S := S und UB := 8. In der letzten Iteration entnehmen wir schließlich die Ordnung O = {(4, 1)} dem Stapel Ω. Die Minimalstelle S+ von (WST )
3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen
251
auf ST ({(4, 1)}) ist ebenfalls S + = (0, 2, 4, 1, 1, 5). Da S + zul¨assig ist, aber f (S + ) < UB = 8 gilt, terminiert der Algorithmus. Abbildung 3.30 zeigt die Ressourcenprofile der Schedules S + , die im Laufe des Verfahrens betrachtet werden. a) O = ∅
b) O = {(3, 1)}
r(S + , t)
r(S + , t)
6 r rq 2
c) O = {(4, 1)}
4 r rq r rq 3 2 1 r rq r 2
4
r(S + , t)
6 2
-t 6
r qr r qr 4r rq 2 -t r rq 3 1 2
4
6
6 2
r qr r qr 4r rq 2 -t r rq 3 1 2
Abb. 3.30. Ressourcenprofile der Schedules S
4
6
+
3.3.2 Ger¨ ustbasierter Enumerationsansatz F¨ ur Projektplanungsprobleme (3.2) mit lokal regul¨arer oder lokal konkaver Zielfunktion ist schon die L¨ osung der Ressourcenrelaxation sehr aufw¨andig. Wie in Abschnitt 2.2.4 verwenden wir einen ger¨ ustbasierten Enumerationsansatz (Branch-and-Bound-Verfahren) zur L¨osung dieser Probleme, wobei wir wie in Algorithmus 2.33 anstelle von Teilger¨ usten Teilschedules betrachten, die sukzessive zu Schedules erg¨ anzt werden. Ausgehend von Teilschedule (C, S C ) mit C = {0} und S C = (0) legen wir schrittweise Startzeitpunkte von Vorg¨ angen fest, indem wir auf jeder Ebene des Enumerationsbaumes mit Hilfe der folgenden Bedingungen (i) – (iv) pr¨ ufen, ob eine bindende Zeit- oder Vorrangbeziehung von einem Vorgang i ∈ C zu einem Vorgang j etabliert werden kann, der noch nicht eingeplant wurde. Dabei muss Vorgang j ressourcenzul¨ assig eingeplant werden k¨ onnen, d.h. zu einem Zeitpunkt t ∈ Wj (S C ) mit C rk (S , τ ) + rjk ≤ Rk f¨ ur alle τ ∈ [t, t + pj [ und k ∈ R. Wie f¨ ur den Fall ohne Ressourcenrestriktionen kommen f¨ ur lokal konkave Funktionen Zeitpunkte t in Frage, die einer der folgenden vier Bedingungen gen¨ ugen: (i) Si + δij = ES j , ur rk (S C , τ ) + rjk ≤ Rk f¨ (ii) Si − δji = LS j rk (S C , τ ) + rjk ≤ Rk f¨ ur (iii) ES j ≤ Si + pi ≤ LS j rk (S C , τ ) + rjk ≤ Rk f¨ ur (iv) ES j ≤ Si − pj ≤ LS j rk (S C , τ ) + rjk ≤ Rk f¨ ur
alle τ ∈ [ES j , ES j + pj [, k ∈ R alle τ ∈ [LS j , LS j + pj [, k ∈ R alle τ ∈ [Si + pi , Si + pi + pj [, k ∈ R alle τ ∈ [Si − pj , Si [, k ∈ R.
Ist Bedingung (i) erf¨ ullt, so kann eine bindende Zeitbeziehung der Form Sj − Si = δij zu Knoten j etabliert werden. F¨ ur den Startzeitpunkt von Vorgang j
252
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
ergibt sich Sj = ES j = Si + δij . Gilt Bedingung (ii), dann kann eine bindende Zeitbeziehung der Form Si − Sj = δji zu Knoten j eingef¨ ugt werden. Der Startzeitpunkt von Vorgang j ergibt sich gem¨aß Sj = LS j = Si − δji . Ist eine der Bedingungen (iii) oder (iv) erf¨ ullt, so kann eine Vorrangbeziehung der Form Sj − Si = pi bzw. Si − Sj = pj zu Knoten j etabliert werden. Der Startzeitpunkt von Vorgang j ergibt sich dann zu Sj = Si + pi bzw. Sj = Si −pj . Da f¨ ur Projektplanungsprobleme (3.2) mit Zielfunktion (RI ) nur die Minimalpunkte der Schedulepolytope ST (O(S)), S ∈ S generiert werden m¨ ussen, gen¨ ugt es, Zeitpunkte t ∈ Wj (S C ) zu betrachten, die den Bedingungen (i) und (iii) gen¨ ugen. ¨ Anderungen des ger¨ ustbasierten Enumerationsansatzes betreffen weiterhin die Bestimmung einer oberen Schranke f¨ ur den optimalen Zielfunktionswert des zugrunde liegenden Problems und die Bestimmung unterer Schranken f¨ ur den optimalen Zielfunktionswert des aktuellen Teilbereichs. Als untere Schranken benutzen wir LB0 := f (S C ) und die in Abschnitt 2.2.4 spezifizierte workloadbasierte untere Schranke LBA. F¨ ur die Zielfunktion (RI ) erfolgt die Initialisierung der oberen Schranke f¨ ur den optimalen Zielfunktionswert durch UB := cP rik + 1. k k∈R
i∈V
F¨ ur die Zielfunktionen (RD) und (RL) bestimmen wir zun¨achst die maximale Vorgangsdauer pmax := maxi∈V pi des zugrunde liegenden Projektes. Mit Hilfe von pmax ergibt sich eine obere Schranke f¨ ur den optimalen Zielfunktionswert eines Problems (3.2) mit Zielfunktion (RD ) zu UB := rik − Yk pmax + 1 k∈R
i∈V
und f¨ ur die Zielfunktion (RL) zu UB :=
k∈R
2 rik
pmax + 1.
i∈V
Im Einzelnen l¨ asst sich das Branch-and-Bound-Verfahren f¨ ur Problem (3.2) mit Zielfunktion (RD ) bzw. (RL) wie folgt beschreiben. Sei Ω der Stapel, auf den die noch zu erweiternden Teilschedules (C, S C ) gelegt werden. Die Menge Ψ wird verwendet, um einen bereits untersuchten oder schon im Stapel Ω befindlichen Teilschedule nicht nochmals zu betrachten. Im Initialisierungsschritt setzen wir C := {0} und S C := (0). Weiterhin werden die fr¨ uhesten und sp¨ atesten Startzeitpunkte aller Vorg¨ange bestimmt. Gilt zu Beginn des Verfahrens oder im weiteren Verfahrensverlauf f¨ ur einen Vorgang i, dass ES i = LS i ist, so wird Vorgang i zum Zeitpunkt Si := ES i eingeplant
3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen
253
und C sowie S C werden entsprechend aktualisiert. Schließlich initialisieren wir eine obere Schranke UB in Abh¨ angigkeit von der Zielfunktion f und den Stapel Ω := {({0}, (0))} sowie die Menge Ψ := {({0}, (0))}. In jeder Iteration entnehmen wir einen Teilschedule {(C, S C )} aus Ω und pr¨ ufen, ob C bereits alle Knoten des zugrunde liegenden Projektnetzplans beinhaltet. Gilt C = V und ist der Zielfunktionswert der gefundenen L¨osung kleiner als die obere Schranke UB f¨ ur den optimalen Zielfunktionswert, so speichern wir den aktuellen Schedule in S ∗ und setzen UB := f (S ∗ ). Ist C = V , dann versuchen wir, den aktuellen Teilschedule S C gem¨ aß der vier F¨alle (i)–(iv) zu erweitern. Dabei speichern wir f¨ ur alle Vorg¨ ange j ∈ V \ C in einer Menge Tj jeweils alle m¨ oglichen Startzeitpunkte, zu denen Vorgang j zeit- und ressourcenzul¨assig an das betrachtete Ger¨ ust angebunden werden kann. Die neu entstandenen Teilschedules (C , S C ) werden, wenn ihre untere Schranke kleiner als UB ist, den Mengen Λ und Ψ hinzugef¨ ugt. Danach werden die Teilschedules (C, S C ) der Menge Λ entnommen und dem Stapel Ω gem¨aß nicht wachsender Werte von LB0 (S C ) hinzugef¨ ugt. Es werden solange Teilschedules aus Ω entnommen, bis Ω = ∅ gilt. Danach wird S ∗ zur¨ uckgegeben. Entspricht S ∗ dem Initialisierungswert, so ist der zul¨ assige Bereich leer. Algorithmus 3.29 (Branch-and-Bound-Verfahren f¨ ur Problem (3.2) mit Zielfunktion (RD) bzw. (RL)). Setze C := {0}, S C := (0). ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i ∈ V \ {0}. Setze ES i := d0i und LS i := −di0 f¨ ur ein i ∈ V : Setze Si := ES i , C = C ∪ {i}. Falls ES i = LS i f¨ Bestimme die obere Schranke UB in Abh¨ angigkeit von der Zielfunktion f und setze S ∗ = (0, . . . , 0) ∈ Rn+2 . Initialisiere den Stapel Ω := {(C, S C )} und die Menge Ψ := {(C, S C )}. Solange Ω = ∅: Entnimm das oberste Paar (C, S C ) vom Stapel Ω. Falls C = V : Falls f (S C ) < UB : Setze S ∗ := S C und UB := f (S ∗ ). Andernfalls : Falls LBA(S C ) < UB: F¨ ur alle j ∈ V \ C: Initialisiere die Menge Λ := ∅. Setze Tj := ∅. Setze ES j := max{ES j , maxi∈C (Si + dij )} und LS j := min{LS j , mini∈C (Si − dji )}. F¨ ur alle i ∈ C:
254
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
(i) Falls i, j ∈ E, Si + δij = ESj und rk (S C , τ ) + rjk ≤ Rk f¨ ur alle τ ∈ [ES j , ES j + pj [, k ∈ R: Setze Tj := Tj ∪ {Si + δij }. ur (ii) Falls j, i ∈ E, Si − δji = LSj und rk (S C , τ ) + rjk ≤ Rk f¨ alle τ ∈ [LS j , LS j + pj [, k ∈ R: Setze Tj := Tj ∪ {Si − δji }. ur (iii) Falls ES j ≤ Si + pi ≤ LS j und rk (S C , τ ) + rjk ≤ Rk f¨ alle τ ∈ [Si + pi , Si + pi + pj [, k ∈ R: Setze Tj := Tj ∪{Si + pi }. ur (iv) Falls ES j ≤ Si − pj ≤ LS j und rk (S C , τ ) + rjk ≤ Rk f¨ alle τ ∈ [Si − pj , Si [, k ∈ R: Setze Tj := Tj ∪ {Si − pj }. F¨ ur alle t ∈ Tj : Setze Sj := t, C := C ∪ {j}. F¨ ur alle h ∈ V \ C : Falls max(ES h , Sj + djh ) = min(LS h , Sj − dhj ) : Setze Sh := max(ES h , Sj + djh ) und C = C ∪ {h}.
/ Ψ und LB0 (S C ) < UB : Falls (C , S C ) ∈ Setze Λ := Λ ∪ {(C , S C )} und Ψ := Ψ ∪ {(C , S C )}. uge sie dem Stapel Entnimm die Teilschedules (C, S C ) aus Λ und f¨ Ω gem¨aß nicht wachsender Werte von LB0 (S C ) hinzu. R¨ uckgabe S ∗ . Algorithmus 3.29 generiert alle Extremalpunkte von Schedulepolytopen ST (O(S)), S ∈ S. Um f¨ ur Projektplanungsprobleme (3.2) mit Zielfunktion (RI ) die Minimalpunkte der Schedulepolytope ST (O(S)), S ∈ S zu bestimmen, m¨ ussen die Abfragen (ii) und (iv) in Algorithmus 3.29 eliminiert werden. Aus enumerationstechnischer Sicht sind ressourcenbeschr¨ankte Projektplanungsprobleme (3.2) mit lokal regul¨ arer oder lokal konkaver Zielfunktion einfacher zu l¨ osen als entsprechende Probleme ohne Ressourcenrestriktionen, da viele Knoten des Enumerationsbaumes aufgrund der Ressourcenrestriktionen ausgelotet werden k¨ onnen. Das folgende Beispiel veranschaulicht die Vorgehensweise des ger¨ ustbasierten Enumerationsansatzes f¨ ur ein ressourcenbeschr¨ anktes Ressourceninvestmentproblem. Beispiel 3.30. Betrachten wir den Projektnetzplan in Abbildung 3.31 mit zwei realen Vorg¨ angen und einer erneuerbaren Ressource. Die Ressourcenkapazit¨ at sei R = 1. Der zugeh¨ orige S1 -S2 -Schnitt des zul¨assigen Bereichs S findet sich ebenfalls in Abbildung 3.31. Mit Hilfe von Algorithmus 3.29 soll eine optimale L¨ osung f¨ ur das entsprechende Ressourceninvestmentproblem bestimmt werden. Dabei verwenden wir der Einfachheit halber nur die untere Schranke LB0 , d.h. wir ersetzen LBA in Algorithmus 3.29 durch LB0 und gehen von Bereitstellungskosten cP = 1 aus, so dass wir f (S) = maxt∈[0,4] r(S, t) als zu minimierende Zielfunktion erhalten. Im Initialisierungsschritt setzen wir C := {0}, S C := (0), Ω := {({0}, (0))} und Ψ := {({0}, (0))}. Weiterhin bestimmen wir ES := (0, 1, 0, 2) und LS := (0, 3, 3, 4) sowie die obere Schranke
3.3 Exakte L¨ osungsverfahren f¨ ur weitere Zielfunktionen
255
S2
6
1 1 1 −1 1 - 2 −2
J 1 1 1 J1
0
0 0
2 −4
J 0 J ^? 3 0
3
S3
r
2
S2
r
Sr 5
r
S4
1
r
S1
- S1 2
Abb. 3.31. Projektnetzplan und S1 -S2 -Schnitt des zul¨ assigen Bereichs S
UB :=
ri + 1 = 2 + 1 = 3.
i∈V
Im ersten Iterationsschritt entfernen wir aus Ω den Teilschedule ({0}, (0)). Da die untere Schranke LB 0 des Teilschedules kleiner als die obere Schranke UB ist, fahren wir fort. Die Aktualisierung der ES- und LS -Werte f¨ uhrt zu keinen Ver¨ anderungen. Wir pr¨ ufen nun anhand der Bedingungen (i) und (iii), ob zwischen Knoten 0 und einem Knoten aus der Menge {1, 2, 3} eine bindende Zeit- bzw. Vorrangbeziehung etabliert werden kann, wobei die entstehenden Teilschedules ressourcenzul¨ assig sind. F¨ ur die Knoten 0 und 1 besitzt der Pfeil 0, 1 ∈ E die Bewertung δ01 = 1, d.h. es gelten die Bedingungen S0 + 1 = 1 = ES 1 sowie r(S C , τ )+ 1 ≤ 1 f¨ ur alle τ ∈ [ES 1 , ES 1 + 1[; Bedingung (i). Wir setzen daher T1 = {1}. Da f¨ ur die untere Schranke LB0 = f (S C ) = 1 < UB = 3 gilt und der entstandene Teilschedule ({0, 1}, (0, 1)) noch nicht in der Menge Ψ enthalten ist, speichern wir ({0, 1}, (0, 1)) in Λ und Ψ . F¨ ur die Knoten 0 und 2 ist ES 2 ≤ S0 +0 ≤ LS 2 sowie r(S C , τ )+1 ≤ 1 f¨ ur alle τ ∈ [S0 +p0 , S0 +p0 +p2 [ erf¨ ullt; Bedingung (iii). Somit erhalten wir T2 = {0}. Da f¨ ur die untere Schranke LB0 = f (S C ) = 1 < UB = 3 gilt, f¨ ugen wir den Teilschedule ({0, 2}, (0, 0)) den Mengen Λ und Ψ hinzu. F¨ ur die Knoten 0 und 3 ist Bedingung (i) erf¨ ullt und wir setzen T3 = {2}. Als untere Schranke f¨ ur den Teilschedule S C = (0, 2) mit C = {0, 3} ergibt sich LB0 = 0. Da die untere Schranke kleiner als UB ist, f¨ ugen wir den entstandenen Teilschedule ({0, 3}, (0, 2)) den Mengen Λ und Ψ hinzu. Danach werden die Teilschedules der Menge Λ entnommen und gem¨aß nicht wachsender Werte von LB0 auf den Stapel Ω gelegt. Es ergibt sich Ω = {({0, 3}, (0, 2)), ({0, 1}, (0, 1)), ({0, 2}, (0, 0))}. Im zweiten Hauptschritt entnehmen wir den Teilschedule ({0, 3}, (0, 2)) dem Stapel Ω. Es gilt LB0 < UB. Bei der anschließenden Aktualisierung der ES- und LS -Werte ergeben sich LS 1 = 1 und LS 2 = 1. F¨ ur die Knoten 0 und 1 ist, wie im ersten Hauptschritt, Bedingung (i) erf¨ ullt, daher setzen wir T1 = {1}. Da die untere Schranke LB0 = 1 < UB = 3 ist, speichern wir Teilschedule ({0, 1, 3}, (0, 1, 2)) in den Mengen Λ und Ψ . F¨ ur die Knoten 0 und 2 gilt Bedin-
256
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
gung (iii) und wir setzen T2 = {0}. Wir erhalten die untere Schranke LB0 = 1 < UB = 3 und speichern den Teilschedule ({0, 2, 3}, (0, 0, 2)) in den Mengen Λ und Ψ . Jetzt werden die Teilschedules der Menge Λ entnommen und gem¨aß nicht wachsender Werte von LB0 auf den Stapel Ω gelegt. Wir haben nun Ω = {({0, 1, 3}, (0, 1, 2)), ({0, 2, 3}, (0, 0, 2)), ({0, 1}, (0, 1)), ({0, 2}, (0, 0))}. Im dritten Hauptschritt entnehmen wir Teilschedule ({0, 1, 3}, (0, 1, 2)) dem Stapel Ω. Da LB0 < UB gilt, aktualisieren wir LS 2 = 1. F¨ ur die Knoten 0 und 2 ist Bedingung (iii) und f¨ ur die Knoten 1 und 2 Bedingung (i) erf¨ ullt. Wir erhalten somit T2 = {0}. Da die untere Schranke LB0 = 1 < UB = 3 ist, speichern wir den Teilschedule ({0, 1, 2, 3}, (0, 1, 0, 2)) in den Mengen Λ und Ψ . Danach wird er der Menge Λ entnommen und auf den Stapel Ω gelegt. Im vierten Iterationsschritt entnehmen wir Ω den Teilschedule ({0, 1, 2, 3}, (0, 1, 0, 2)). Da S = (0, 1, 0, 2)) zul¨ assig ist, speichern wir ihn als beste bisher gefundene L¨ osung und setzen UB := 1. Da alle Teilschedules, die sich noch auf dem Stapel Ω befinden, eine untere Schranke LB0 = 1 = UB aufweisen, k¨ onnen sie ausgelotet werden. Damit terminimiert der Algorithmus, da nun Ω = ∅ ist. Ein zum generierten Schedule ({0, 1, 2, 3}, (0, 1, 0, 2)) geh¨ origer Outtree ist in Abbildung 3.32 dargestellt. Er entspricht dem Minimalpunkt S 1 des Schedulepolytops ST (O(S 1 )) und besitzt den Zielfunktionswert f (S 1 ) = maxt∈[0,4] r(S 1 , t) = 1.
1 −1 1 -2 1
1
0
0
2
0
-3
Abb. 3.32. Outtree zu S 1
3.4 Heuristische L¨ osungsverfahren fu ¨ r die Minimierung der Projektdauer In diesem Abschnitt stellen wir zwei Priorit¨atsregelverfahren zur Bestimmung einer N¨ aherungsl¨ osung f¨ ur Projektplanungsproblem (3.2) mit Zielfunktion (PD ) vor. Bei den Priorit¨ atsregelverfahren handelt es sich um Konstruktionsverfahren, die durch sukzessives Einplanen von Vorg¨angen eine N¨aherungsl¨ osung f¨ ur das zugrunde liegende Problem generieren. Im Gegensatz zu dem in Abschnitt 2.3 vorgestellten Priorit¨ atsregelverfahren werden nun Ressourcenrestriktionen ber¨ ucksichtigt und der als n¨achstes einzuplanende Vorgang aus einer Menge einplanbarer“ Vorg¨ ange ausgew¨ahlt. Vor Beginn des ” eigentlichen Priorit¨ atsregelverfahrens ist es wieder m¨oglich, PreprocessingTechniken einzusetzen, um den zul¨ assigen Bereich des betrachteten Problems zu verkleinern.
3.4 Heuristische L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
257
Wir betrachten zun¨ achst den Fall, dass der zugrunde liegende MPMNetzplan N bis auf den R¨ uckw¨ artspfeil n + 1, 0 nur Mindestabst¨ande Tijmin ≥ 0 beinhaltet, d.h. es gilt δij ≥ 0 f¨ ur alle i, j ∈ E \ { n + 1, 0 }. Somit enth¨ alt der zugrunde liegende Projektnetzplan N ohne den Pfeil n + 1, 0 keine Zyklen. Ferner sei die maximale Projektdauer d hinreichend groß, so dass alle Vorg¨ ange unter Einhaltung der Mindestabst¨ande nacheinander bearbeitet werden k¨ onnen. F¨ ur diesen Fall kann das aus der Literatur bekannte klassische serielle Generierungsschema zur Bestimmung einer N¨aherungsl¨osung S verwendet werden. Das Verfahren l¨ asst sich wie folgt beschreiben. Seien C wieder die Menge der bereits eingeplanten Vorg¨ange, C die Menge der noch nicht eingeplanten Vorg¨ ange und S C der aktuelle Teilschedule. Wir starten C mit dem Teilschedule S = (0) mit C = {0}. In jedem von n + 1 Schritten erweitern wir den Teilschedule S C um einen Vorgang j, dessen Vorg¨anger im Projektnetzplan bereits eingeplant sind. Wir w¨ahlen Vorgang j somit aus der Menge Eˆ := {j ∈ C | Pred (j) ⊆ C} der einplanbaren Vorg¨ ange. Die Vorg¨ ange werden also gem¨aß einer topologischen Sortierung (vgl. Abschnitt 1.4.4) eingeplant. Stehen mehrere Vorg¨ange zur Auswahl, so verwenden wir eine Priorit¨atsregel, um den als n¨achstes einzuplanenden Vorgang zu bestimmen. Dazu ermitteln wir zun¨achst alle Vorg¨ange j ∈ Eˆ mit maximalem Priorit¨ atsregelwert. Sofern mehrere solche Vorg¨ange existieren, w¨ ahlen wir unter ihnen denjenigen mit kleinster Vorgangsnummer aus. Einige typische Priorit¨ atsregeln sind in Abschnitt 2.3 aufgef¨ uhrt. Der als n¨ achstes einzuplanende Vorgang j wird nun so fr¨ uh wie m¨oglich zeitund ressourcenzul¨ assig eingeplant. Um den entsprechenden Startzeitpunkt Sj f¨ ur j ∈ Eˆ zu bestimmen, betrachten wir die Ressourcenprofile rk (S C , ·) des Teilschedules S C = (Si )i∈C f¨ ur alle k ∈ R. Der fr¨ uheste Zeitpunkt, zu dem Vorgang j zeit- und ressourcenzul¨ assig eingeplant werden kann, ist t∗ := min{t ≥ ES j (S C )|rk (S C , τ ) + rjk ≤ Rk f¨ ur t ≤ τ < t + pj und alle k ∈ R}. Die einzelnen Schritte des klassischen seriellen Generierungsschemas sind in Algorithmus 3.31 angegeben. Algorithmus 3.31 (Serielles Generierungsschema). Setze C := {0} und S C := (0). F¨ ur alle α = 1, . . . , n + 1: Bestimme Eˆ := {j ∈ C | Pred (j) ⊆ C}. W¨ ahle Vorgang j ∈ Eˆ mit h¨ ochster Priorit¨ at. Bestimme ES j := maxi∈Pred(j) (Si + δij ). ur t ≤ τ < t + pj und Bestimme t∗ := {t ≥ ES j | rk (S C , τ ) + rjk ≤ Rk f¨ alle k ∈ R}.
258
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Plane Vorgang j zum Zeitpunkt t∗ ein, d.h. setze Sj := t∗ und C := C ∪{j}. R¨ uckgabe S C . Beispiel 3.32. Gegeben seien der in Abbildung 3.33 dargestellte Projektnetzplan mit einer Ressource sowie eine Ressourcenkapazit¨at von R = 2. Da der Netzplan bis auf den Pfeil 5, 0 mit δ50 = −8 nur Mindestabst¨ande Tijmin ≥ 0 enth¨ alt und d = 8 hinreichend groß ist, k¨ onnen wir das klassische serielle Generierungsschema zur Bestimmung einer N¨ aherungsl¨osung f¨ ur das Projektdauerminimierungsproblem anwenden. Als Priorit¨atsregel verwenden wir die in Abschnitt 2.3 spezifizierte GRD -Regel. -8
1
1 1 2
1
- 2 @ 2
2
@1 @ 0 @ R 5 @ * 0 4
3
0 ? 1 1 0 3 H H 0 2 H HH 3 H
3
Legende: pj pi δij j i ri rj
H j 4 H 1
Abb. 3.33. Projektnetzplan mit einer erneuerbaren Ressource
In der Initialisierung setzen wir C := {0} und S C := (0). Im ersten Hauptschritt bestimmen wir die Menge der einplanbaren Vorg¨ange Eˆ = {1, 3, 4}. Der Vorgang mit h¨ ochster Priorit¨ at ist Vorgang 4, der zum Zeitpunkt t∗ = 3 eingeplant wird. Im zweiten Hauptschritt ist Eˆ = {1, 3}. Da die Vorg¨ange 1 und 3 gleiche Priorit¨ at haben, w¨ ahlen wir Vorgang 1 mit kleinerer Vorgangsnummer. Vorgang 1 wird zum Zeitpunkt t∗ = 1 eingeplant. Fahren wir auf diese Weise fort, so erhalten wir als N¨ aherungl¨osung f¨ ur das zugrunde liegende Projektdauerminimierungsproblem S = (0, 1, 6, 2, 3, 7). Die einzelnen Iterationen sind zusammenfassend in Tabelle 3.9 aufgef¨ uhrt. Tabelle 3.9. Iterationsschritte des Seriellen Generierungsschemas Iteration 1 2 3 4 5
C
Eˆ
{0} {1,3,4} {0, 4} {1,3} {0, 1, 4} {3} {0, 1, 3,4} {2} {0, . . . , 4} {5}
j
t∗
4 1 3 2 5
3 1 2 6 7
3.4 Heuristische L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
259
Bei MPM-Netzpl¨ anen mit allgemeinen Mindest- und H¨ochstabst¨anden und S = ∅ ist es aufgrund der i.d.R. vorhandenen Zyklen im Netzplan wesentlich schwieriger, eine zul¨ assige N¨ aherungsl¨ osung f¨ ur das Projektdauerminimierungsproblem zu generieren. Dies hat zwei Gr¨ unde: 1) Die Menge Eˆ der einplanbaren Vorg¨ ange kann leer sein. 2) Der Zeitpunkt t∗ ist gr¨ oßer als der sp¨ ateste Startzeitpunkt LS j (S C ) des als n¨ achsten einzuplanenden Vorgangs j. Betrachten wir zun¨ achst ein Beispiel, bei dem wir eine leere Menge Eˆ erhalten, wenn wir das klassische serielle Generierungsschema anwenden. Gegeben sei der Netzplan in Abbildung 3.34. Im Initialisierungsschritt setzen wir C := {0} und S C := (0). Ist Vorgang 0 eingeplant, so ist im n¨achsten Schritt Eˆ = ∅, weil kein Vorgang j ∈ {1, 2, 3} existiert, dessen Vorg¨anger bereits eingeplant sind. Dies ist plausibel, da sich die Knoten von Netzpl¨anen mit Zyklen grunds¨ atzlich nicht topologisch sortieren lassen. Daher verwenden wir f¨ ur die Definition der Menge der einplanbaren Vorg¨ ange f¨ ur Netzpl¨ane mit Mindestund H¨ ochstabst¨ anden die so genannte Distanzordnung, die f¨ ur zwei Vorg¨ange i und j angibt, ob Vorgang j fr¨ uhestens zum Startzeitpunkt von Vorgang i oder auch sp¨ ater starten kann. -7 2 * 1 H H 3 0 1 H 6
0 ? 0 H HH 0 0
H
HH 0 j 3 H * 0 3 HH 1 ? H j 2 H −2
−2
Legende: pj pi δij - j i ri rj
1 Abb. 3.34. Projektnetzplan mit zwei realen Vorg¨ angen
Definition 3.33 (Distanzordnung). Sei dij die L¨ange eines l¨angsten Weges von Knoten i nach Knoten j. Die Distanzordnung ≺D im Projektnetzplan N mit der Knotenmenge V ist wie folgt definiert. F¨ ur i, j ∈ V, i = j, gilt i ≺D j genau dann, wenn entweder dij > 0 oder dij = 0 und dji < 0 erf¨ ullt ist. Die Menge E der einplanbaren Vorg¨ ange enth¨alt nun alle noch nicht eingeplanten Vorg¨ ange j ∈ C, deren Vorg¨ angerknoten bez¨ uglich der Distanzordnung ≺D eine Teilmenge der bereits eingeplanten Vorg¨ange bilden, d.h. wir w¨ahlen E := {j ∈ C|Pred ≺D (j) ⊆ C}. Ist die Menge E bestimmt, so wird im seriellen Generierungsschema f¨ ur Netzpl¨ ane mit Mindest- und H¨ ochstabst¨ anden der n¨achste einzuplanende Vorgang
260
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
j analog zum klassischen seriellen Generierungsschema gem¨aß einer Priorit¨atsregel gew¨ ahlt und dann so fr¨ uh wie m¨ oglich zeit- und ressourcenzul¨assig eingeplant, d.h. zu einem Zeitpunkt t∗ := min{t ≥ ES j (S C )|rk (S C , τ ) + rjk ≤ Rk f¨ ur t ≤ τ < t + pj und alle k ∈ R}. assig und wir k¨onnen Vorgang j zum Falls t∗ ≤ LS j (S C ), dann ist t∗ zul¨ Zeitpunkt Sj := t∗ einplanen. Danach m¨ ussen die fr¨ uhesten und sp¨atesten Startzeitpunkte ES i und LS i f¨ ur alle Vorg¨ ange i ∈ C gem¨aß ES i := max(ES i , Sj + dji ) und LS i := min(LS i , Sj − dij ) aktualisiert werden. Falls t∗ > LS j (S C ), dann ist t∗ nicht zul¨ assig, und wir m¨ ussen einen Ausplanungs-Schritt durchf¨ uhren, in dem bereits eingeplante Vorg¨ange wieder ausgeplant werden. Betrachten wir dazu ein Beispiel. Beispiel 3.34. Gegeben seien der Projektnetzplan in Abbildung 3.35 mit einer erneuerbaren Ressoure und einer maximalen Projektdauer von d = 7 sowie eine Ressourcenkapazit¨ at von R = 1.
0
2 −3 - 2 1 2 −3 1 @ 1 @3 −3 @
0 0 H HH 3 0
2 -7
0 @ R @ * 4
0 Legende: 4 pj pi 1 δij HH - j j 3 H i ri rj 1 Abb. 3.35. Projektnetzplan N mit drei realen Vorg¨ angen
HH
Da Vorgang 3 zeitlich fixiert ist, muss er auf jeden Fall zum Zeitpunkt S3 = 3 starten. Unabh¨ angig davon welcher der Vorg¨ange 1 oder 2 zuerst eingeplant wird, startet der erste von beiden (sagen wir i) zum Zeitpunkt 0 und der zweite (sagen wir j) erh¨ alt einen sp¨ atesten Startzeitpunkt von LS j (S C ) = 3. Zum Zeitpunkt 3 oder fr¨ uher kann j aber nicht ressourcenzul¨assig eingeplant werden, da t∗ = 4 > LS j (S C ) = 3 gilt. Der planungsabh¨angige sp¨ateste Startzeitpunkt LS j (S C ) von Vorgang j wird durch die Einplanung von Vorgang i zum Zeitpunkt Si = 0 bedingt, d.h. LS j (S C ) = Si − dji . Planen wir Vorgang i aus und zu einem sp¨ ateren Zeitpunkt, beispielsweise zu Si = 1, wieder ein, so k¨ onnen wir Vorgang j ressourcenzul¨ assig einplanen.
3.4 Heuristische L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
261
Durch das Ausplanen bereits eingeplanter Vorg¨ange kann also der sp¨ateste Startzeitpunkt LS j (S C ) eines einzuplanenden Vorgangs j vergr¨oßert werden, wenn LS j (S C ) < −dj0 gilt, d.h. wenn beim Einplanen eines Vorgangs i eine Aktualisierung von LS j erfolgt ist. Der sp¨ ateste Startzeitpunkt LS j (S C ) von Vorgang j resultiert dann aus dem Startzeitpunkt eines Vorgangs i ∈ C abz¨ uglich der L¨ ange eines l¨ angsten Weges von Vorgang j zu Vorgang i, d.h. LS j (S C ) = Si − dji . Sei U := {i ∈ C | LS j (S C ) = Si − dji } die Menge all dieser Vorg¨ ange. Um den sp¨ atesten Startzeitpunkt LS j (S C ) von j zu erh¨ ohen, werden alle Vorg¨ ange i ∈ U ausgeplant und ihre fr¨ uhesten Startzeitpunkte ES i um t∗ −LS j (S C ) Zeiteinheiten erh¨oht. Auf diese Weise werden alle Vorg¨ ange ausgeplant, zu denen eine bindende Zeitbeziehung Si − Sj = δji existiert bzw. die den Startzeitpunkt des einzuplanenden Vorgangs j beeinflussen. In den nachfolgenden Iterationen werden dann die ausgeplanten Vorg¨ange wieder eingeplant und zwar zu Zeitpunkten, die mindestens um t∗ − LS j (S C ) Zeiteinheiten gr¨ oßer sind als bei der urspr¨ unglichen Einplanung. Betrachten wir noch einmal Beispiel 3.34. Die Menge der Vorg¨ange, die ausgeplant werden m¨ ussen, ergibt sich zu U = {i}. Wir erh¨ ohen den fr¨ uhesten Startzeitpunkt von Vorgang i auf ES i = 0 + 1 = 1. Somit wird Vorgang i im n¨achsten Schritt zu Si = 1 eingeplant. Danach setzen wir Sj = 4 und erhalten somit die zul¨assige N¨ aherungsl¨ osung S = (0, 1, 4, 3, 7). Das zugeh¨orige Ressourcenprofil ist in Abbildung 3.36 dargestellt. r(S, t)
6 1
r
r rq
rq i 2
j
3 4
r
-t
6
Abb. 3.36. Ressourcenprofil
Zus¨ atzlich zu den Vorg¨ angen aus U sollten noch alle Vorg¨ange i ∈ C ausgeplant werden, deren Startzeitpunkt gr¨ oßer ist, als der kleinste Startzeitpunkt eines Vorgangs h ∈ U, d.h. Si > minh∈U Sh . Diese Vorg¨ange k¨onnen unter Umst¨ anden, aufgrund der Rechtsverschiebung der Vorg¨ange aus U, fr¨ uher gestartet werden. Zum Ende des Ausplanungs-Schritts m¨ ussen die fr¨ uhesten und sp¨ atesten Startzeitpunkte aller noch einzuplanenden bzw. wieder neu einzuplanenden Vorg¨ ange berechnet werden. Gilt 0 ∈ U, dann m¨ usste der Projektstart verz¨ ogert werden. Da dieser aber fixiert ist, terminiert das serielle Generierungsschema mit Ausplanung ohne eine zul¨assige L¨osung gefunden zu haben. Das serielle Generierungsschema liefert somit nicht immer eine zul¨ assige L¨ osung, obwohl es eventuell eine solche gibt. Um die Terminierung des Verfahrens zu erzwingen, ist es empfehlenswert, eine maximale Anzahl
262
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
an Ausplanungs-Schritten u = 1, . . . , u vorzuschreiben, z.B. u = |V |. Ferner sehen wir davon ab, fixierte Vorg¨ ange sofort einzuplanen. Dies entspricht, anschaulich gesprochen, der Grundidee des Verfahrens, die Ressourcenprofile von links nach rechts zu f¨ ullen. Algorithmus 3.35 (Serielles Generierungsschema mit Ausplanung). Setze C := {0}, S C := (0) und u := 0. ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i ∈ V \ {0}. Setze ES i := d0i und LS i := −di0 f¨ ur alle Vorg¨ange i ∈ V . Bestimme die Vorg¨ angermengen Pred ≺D (i) f¨ Solange C = V: Bestimme E := {i ∈ C|Pred ≺D (i) ⊆ C}. W¨ ahle Vorgang j ∈ E mit h¨ ochster Priorit¨ at. ∗ C ur t ≤ τ < t + Bestimme t := min{t ≥ ES j |rk (S , τ ) + rjk ≤ Rk f¨ pj und alle k ∈ R}. Falls t∗ > LS j : Setze u := u + 1. Ausplanungs-Schritt(j,Δ = t∗ − LS j ). Andernfalls Plane j zum Zeitpunkt Sj := t∗ ein und setze C := C ∪ {j}. F¨ ur alle h ∈ C: Aktualisiere ES h := max(ES h , Sj +djh ), LS h := min(LS h , Sj −dhj ) R¨ uckgabe S C . Der Ausplanungs-Schritt wird folgendermaßen durchgef¨ uhrt. Algorithmus 3.36 (Ausplanungs-Schritt(j,Δ)). Bestimme die Menge U := {i ∈ C | LS j = Si − dji }. Falls 0 ∈ U oder u > u: Abbruch! F¨ ur alle i ∈ U: (Rechtsverschiebung der Vorg¨ange i ∈ U) Setze ES i := Si + Δ und C := C \ {i}. Falls ES i > −di0 : Abbruch! F¨ ur alle i ∈ C mit Si > minh∈U Sh : (Ausplanung aller i mit Si > minh∈U Sh ) Setze C := C \ {i}. F¨ ur alle h ∈ C: Setze ES h := max(d0h , maxi∈U (ES i + dih )) und LS h := −dh0 . F¨ ur alle i ∈ C: Setze ES h := max(ES h , Si + dih ) und LS h := min(LS h , Si − dhi ).
3.4 Heuristische L¨ osungsverfahren f¨ ur die Minimierung der Projektdauer
263
Wir veranschaulichen das vorgestellte serielle Generierungsschema mit Ausplanung an einem Beispiel. Beispiel 3.37. Gegeben sei der Projektnetzplan N in Abbildung 3.37 mit f¨ unf realen Vorg¨ angen, einer erneuerbaren Ressource und einer maximalen Projektdauer von d = 6. Die Ressourcenkapazit¨at sei auf R = 3 festgesetzt. Mit Hilfe des seriellen Generierungsschemas mit Ausplanung erzeugen wir eine N¨ aherungsl¨ osung f¨ ur die obige Probleminstanz. Als Priorit¨atsregel wenden wir die statische LST -Regel an. −6 1 1 2 3 5 @ −2 1 2 @1
1 0 ? 0 0
1 0 1 1 @
@
−3
@2 @
1
0
@ R 6 @ 0
1 1 1 @ R 2 @ 4 −1 1 2
Legende: pj pi δij j i ri rj
Abb. 3.37. Projektnetzplan N
Zu Beginn des seriellen Generierungsschemas setzen wir C := {0}, S C := (0) und u := 0. Danach bestimmen wir die L¨ angen l¨angster Wege dij f¨ ur alle i, j ∈ V (vgl. Tab. 3.10). Als Vektor der fr¨ uhesten Startzeitpunkte ergibt sich ES = (0, 0, 2, 1, 3, 3, 4) und als Vektor der sp¨atesten Startzeitpunkte LS = (0, 2, 4, 3, 5, 5, 6). Die Mengen der Vorg¨ anger bez¨ uglich der Distanz-Ordnung ≺D f¨ ur die Vorg¨ ange i ∈ V sind in Tabelle 3.11 angegeben. Tabelle 3.10. L¨ angen l¨ angster Wege dij f¨ ur alle i, j ∈ V dij 0 1 2 3 4 5 6
0 0 −2 −4 −3 −5 −5 −6
1 2 3 4 5 0 2 1 3 3 0 2 1 3 3 −4 0 −3 1 −1 −1 1 0 2 2 −5 −1 −4 0 −2 −3 −1 −2 0 0 −6 −4 −5 −3 −3
6 4 4 2 3 1 1 0
In der ersten Iteration bestimmen wir zun¨achst die Menge E der einplanbaren Vorg¨ ange, sie ergibt sich zu E = {1}. Daher planen wir Vorgang 1
264
3 Projektplanung unter Zeit- und Ressourcenrestriktionen ur alle i ∈ V Tabelle 3.11. Pred ≺D (i) f¨ i∈V
0
1
2
3
4
5
6
Pred ≺D (i)
∅
{0}
{0, 1, 3}
{0, 1}
{0, 1, 2, 3, 5}
{0, 1, 3}
{0, . . . , 5}
zum Zeitpunkt t∗ = 0 ein. Nun sind die fr¨ uhesten und sp¨atesten Startzeitpunkte der anderen Vorg¨ ange zu aktualisieren, es ergibt sich LS 3 = 1 und LS 5 = 3. In der zweiten Iteration ist die Menge der bereits eingeplanten Vorg¨ ange C = {0, 1}. F¨ ur die Menge der einplanbaren Vorg¨ange gilt E = {3}. Also w¨ ahlen wir als n¨ achsten einzuplanenden Vorgang den Vorgang 3, der zum Zeitpunkt t∗ = 1 eingeplant wird. F¨ ur die Menge C = {0, 1, 3} ergibt sich in der dritten Iteration die Menge der einplanbaren Vorg¨ange zu E = {2, 5}. Vorgang 2 besitzt mit −d20 = 4 den kleineren sp¨ atesten Startzeitpunkt, deshalb w¨ ahlen wir 2 als n¨ achsten einzuplanenden Vorgang. Vorgang 2 wird zum Zeitpunkt t∗ = 2 eingeplant. Wir aktualisieren LS 4 = 3. In der vierten Iteration ist C = {0, 1, 2, 3} und wir erhalten f¨ ur die Menge der einplanbaren Vorg¨ange E = {5}. Vorgang 5 wird zu t∗ = 3 eingeplant. In der f¨ unften Iteration ist E = {4}. Vorgang 4 kann allerdings erst zum Zeitpunkt t∗ = 4 > LS 4 = 3 ressourcenzul¨ assig eingeplant werden. Daher ist ein Ausplanungs-Schritt durchzuf¨ uhren. Nur f¨ ur Vorgang 2 ist die Bedingung S2 − d42 = 2 + 1 = 3 = LS 4 erf¨ ullt, deshalb planen wir Vorgang 2 aus und erh¨ohen seinen fr¨ uhesten Startzeitpunkt auf ES 2 = 3. F¨ ur Vorgang 5 gilt S5 = 3 > S2 = 2, deshalb planen wir auch Vorgang 5 aus, da er m¨ oglicherweise fr¨ uher eingeplant werden kann. Die Aktualisierung der ES - und LS -Werte ergibt LS 2 = 4, ES 4 = 4, LS 4 = 5, ES 5 = 3, LS 5 = 3, ES 6 = 5 und LS 6 = 6. Im n¨achsten Schritt w¨ahlen wir erneut Vorgang 2 als n¨ achsten einzuplanenden Vorgang und fahren wie in Tabelle 3.12 angegeben fort. Tabelle 3.12. Iterationsschritte des seriellen Generierungsschemas Iteration 1 2 3 4 5
6 7 8 9
C
E
j
t∗
Update
{0} {1} 1 0 LS 3 := 1, LS 5 := 3 {0, 1} {3} 3 1 {0, 1, 3} {2,5} 2 2 LS 4 := 3 {0, 1, 2, 3} {5} 5 3 {0, 1, 2, 3, 5} {4} 4 4 > LS 4 = 3 Ausplanungs-Schritt: Ausplanen der Vorg¨ ange 2 und 5. ES 2 = 3, ES 4 = 4, ES 5 = 3, ES 6 = 5 LS 2 = 4, LS 4 = 5, LS 5 = 3, LS 6 = 6 {0, 1, 3} {2,5} 2 3 LS 4 := 4 {0, 1, 2, 3} {5} 5 3 {0, 1, 2, 3, 5} {4} 4 4 {0, . . . , 5} {6} 6 5
3.5 Heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen
265
Am Ende der 9. Iteration liefert das serielle Generierungsschema mit Ausplanung den zul¨ assigen Schedule S = (0, 0, 3, 1, 4, 3, 5), dessen zugeh¨origes Ressourcenprofil in Abbildung 3.38 angegeben ist. r(S, t)
6
r
rq 2 r
2
r
qr 1 3 r
5
rq
rq 4
r
-t
5
Abb. 3.38. Ressourcenprofil des Schedule S
3.5 Heuristische L¨ osungsverfahren fu ¨ r weitere Zielfunktionen Das in Abschnitt 3.4 eingef¨ uhrte serielle Generierungsschema mit Ausplanung generiert i.d.R. gute N¨ aherungsl¨ osungen, wobei die einzelnen Vorg¨ange immer so fr¨ uh wie m¨ oglich eingeplant werden. Das Verfahren kann somit ohne ¨ Anderungen f¨ ur Probleme (3.2) mit regul¨ arer Zielfunktion wie z.B. (MFT ) angewendet werden. Die spezielle Zielfunktion sollte aber bei der Wahl der Priorit¨ atsregel ber¨ ucksichtigt werden. F¨ ur Probleme (3.2) mit linearer Zielfunktion, wie z.B. (WST ), oder mit bin¨ armonotoner Zielfunktion, beispielsweise (NPV ), konstruiert das serielle Generierungsschema i.d.R. keine guten L¨ osungen. Vorg¨ange mit negativem Gewicht (wi < 0) bzw. Vorg¨ ange, denen eine Auszahlung (cF i < 0) zugeordnet ist, werden durch das serielle Generierungsschema i.d.R. zu fr¨ uh eingeplant. Betrachten wir dazu ein kleines Beispiel. Beispiel 3.38. Gegeben seien der Projektnetzplan in Abbildung 3.39 mit einer erneuerbaren Ressource, eine Ressourcenkapazit¨at von R = 1 und ein Zinssatz α = 0,1. Den einzelnen Knoten sind zus¨atzlich zur jeweiligen Dauer und Ressourceninanspruchnahme Zahlungen zugeordnet, die jeweils zu Beginn des entsprechenden Vorgangs i ∈ V anfallen. 1,1 1
1-
2,1 2
J
10 0 −50 J2 J 0,0 0,0
−6 J
^ 0 3 0
6
pi ,ri Legende:
0 Abb. 3.39. Projektnetzplan
i cF i
δij
pj ,rj
- j
cF j
266
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Wenden wir das serielle Generierungsschema an, so werden die Vorg¨ange des Projektes so fr¨ uh wie m¨ oglich eingeplant. Es ergibt sich der Schedule S = (0, 0, 1, 6) mit Kapitalwert −40,1. Der optimale Schedule ist allerdings S = (0, 3, 4, 6) mit Kapitalwert −27,43. Um zu erreichen, dass Vorg¨ ange mit negativem Gewicht oder Vorg¨ange, denen eine Auszahlung zugeordnet ist, so sp¨ at wie m¨oglich eingeplant werden, skizzieren wir ein bidirektionales serielles Generierungsschema, bei dem die Vorg¨ ange von beiden Seiten des Netzplans“ eingeplant werden (vgl. Selle ” und Zimmermann, 2003). Dabei unterscheiden wir zwischen der Menge E1 aller noch nicht eingeplanten Vorg¨ ange, deren Vorg¨anger bez¨ uglich der Distanzordnung ≺D bereits eingeplant sind, und der Menge E2 aller noch nicht eingeplanten Vorg¨ ange, deren Nachfolger bez¨ uglich der Distanzordnung ≺D bereits eingeplant sind. In jeder Iteration wird dann entweder ein Vorgang j1 aus der Menge E1 so fr¨ uh wie m¨ oglich oder ein Vorgang j2 aus der Menge E2 so sp¨ at wie m¨ oglich eingeplant. Der als n¨ achstes einzuplanende Vorgang j ist dabei entweder ein Vorgang j1 ∈ E1 oder ein Vorgang j2 ∈ E2 mit h¨ochster Priorit¨ at. Um zu entscheiden, ob der als n¨ achstes einzuplanende Vorgang j der Vorgang j1 oder der Vorgang j2 ist, betrachten wir drei F¨alle. 1. Falls Vorgang j1 ein positives Gewicht (Einzahlung) besitzt, setzen wir j := j1 . 2. Falls Vorgang j2 ein negatives Gewicht (Auszahlung) besitzt, setzen wir j := j2 . 3. Falls weder Bedingung 1 noch 2 erf¨ ullt ist, dann w¨ahlen wir den Vorgang j, f¨ ur den die Differenz zwischen einer Einplanung zum ES und einer Einplanung zum LS am geringsten ist (Regel des kleinsten Bedauerns“). ” Betrachten wir dazu noch einmal Beispiel 3.38. In der ersten Iteration des bidirektionalen Verfahrens erhalten wir E1 = {1} und E2 = {2}. Da cF 1 = −50 < 0 und cF 2 = 10 > 0 gilt, liegt Fall 3 vor. Die Differenz zwischen einer Einplanung zum ES und einer Einplanung zum LS von Vorgang 1 ist 12,96 und damit gr¨ oßer als die Differenz zwischen ES - und LS -Einplanung von Vorgang 2 mit 2,35. Somit planen wir Vorgang 2 ∈ E2 zu seinem sp¨atesten Startzeitpunkt LS 2 = 4 ein. In der n¨ achsten Iteration ergibt sich E1 = {1} und E2 = {1}. Da cF ullt ist, tritt Fall 2 ein, und wir planen Vorgang 1 ∈ E2 1 < 0 erf¨ zum Zeitpunkt 3 ein. Es ergibt sich der (optimale) Schedule S = (0, 3, 4, 6). F¨ ur Ressourceninvestment-, Ressourcenabweichungs- und Ressourcennivellierungsprobleme kann das Priorit¨ atsregelverfahren aus Abschnitt 2.3 angepasst werden. Im Gegensatz zu Projektplanungsproblemen (2.1) ohne Ressourcenrestriktionen kommt es bei Projektplanungsproblemen (3.2) vor, dass bei einer sukzessiven Einplanung der Vorg¨ ange f¨ ur den aktuell einzuplanenden Vorgang j kein zul¨ assiger Einplanungszeitpunkt mehr existiert. In diesem Fall existiert kein zul¨ assiger Schedule S ∈ S, der eine Erweiterung des aktuellen Teilschedules S C darstellt. Daher werden in diesem Fall in einem AusplanungsSchritt die Vorg¨ ange ausgeplant, aufgrund derer Vorgang j nicht ressourcenzul¨ assig eingeplant werden kann.
3.5 Heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen
267
Sei "j (S C ) := {t ∈ Wj (S C )|rk (S C , τ ) + rjk ≤ Rk f¨ ur t ≤ τ < t + pj W und k ∈ R} die Menge aller Zeitpunkte, zu denen Vorgang j zeit- und ressourcenzul¨assig eingeplant werden kann. Wie in Abschnitt 2.3 definieren wir f¨ ur die verschiedenen Zielfunktionen jeweils eine Menge von Entscheidungszeitpunkten j (S C ) := Dj (S C ) ∩ W "j (S C ), D welche mindestens einen Minimalpunkt der Erweiterungskosten f a (S C , j, ·) bzw. f b (S C , j, ·) enth¨ alt. Gehen wir zun¨ achst auf den erforderlichen Ausplanungs-Schritt ein. In Abschnitt 3.4 wurde bereits ein Ausplanungs-Schritt (vgl. Algorithmus 3.36) in Kombination mit dem seriellen Generierungsschema vorgestellt. Beim seriellen Generierungsschema werden die Vorg¨ ange so fr¨ uh wie m¨oglich eingeplant, d.h. das Ressourcenprofil wird von links nach rechts gef¨ ullt. Kann ein Vorgang j nicht zeit- und ressourcenzul¨ assig eingeplant werden, dann ist der fr¨ uheste ressourcenzul¨ assige Zeitpunkt gr¨ oßer als der gem¨aß der vorhandenen Zeitbeziehungen sp¨ ateste Startzeitpunkt von j. In diesem Fall kann Vorgang j nur eingeplant werden, wenn die Vorg¨ ange, die den sp¨atesten zeitzul¨assigen Startzeitpunkt bedingen (Vorg¨ ange i mit LSj (S C ) = Si −dji ) zusammen mit j nach rechts verschoben werden. Bei nicht regul¨ aren Zielfunktionen planen wir die Vorg¨ ange mehr oder weniger gleichm¨ aßig u ¨ ber den ganzen Planungshorizont verteilt ein, wobei der Startzeitpunkt eines Vorgangs weder seinem planungsabh¨ angigen fr¨ uhest- noch seinem sp¨ atestm¨ oglichen Startzeitpunkt entsprechen muss. Daher kann das planungsabh¨ angige Zeitfenster [ES j (S C ), LS j (S C )] f¨ ur Vorgang j i.d.R. weder durch eine Rechts- noch durch eine Linksverschiebung von Vorg¨ angen ausgedehnt werden. Existieren f¨ ur den einzuplanenden j (S C ) = ∅, gehen Vorgang j keine zul¨ assigen Einplanungszeitpunkte, d.h. D wir daher wie folgt vor. Wir planen alle Vorg¨ange i ∈ C aus, die im Intervall [ES j (S C ), LC j (S C )[ ausgef¨ uhrt werden, aber dort nicht notwendigerweise ausgef¨ uhrt werden m¨ ussen. Seien S C der aktuelle Teilschedule und j ∈ C der als n¨ achstes einzuplanende Vorgang. Dann ergibt sich die Menge der auszuplanenden Vorg¨ange zu U := {i ∈ C | [Si , Ci [ \ [−di0 , d0i + pi [ ∩ [ES j (S C ), LC j (S C )[ = ∅}. Menge U enth¨ alt alle Vorg¨ ange i ∈ C, die sich im Intervall [ES j (S C ), C LC j (S )[ in Ausf¨ uhrung befinden, aber dort aufgrund der Zeitrestriktionen nicht ausgef¨ uhrt werden m¨ ussen. Durch die Einplanung von Vorgang j werden i.d.R. weitere Vorg¨ ange aus C fixiert oder teilfixiert (vgl. Abschnitt 2.3). d F¨ ur eine Ressource k ∈ R entspricht der Term 0 (rkb (S C∪{j} , τ ) − Rk )+ dτ der Ressourcen¨ uberschreitung u ¨ber den gesamten Planungszeitraum. Die Ressourcen¨ uberschreitung wird durch Einplanung von Vorgang j zum Zeitpunkt
268
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Sj := t verursacht oder durch Vorg¨ ange, die nach Einplanung von j fixiert bzw. teilfixiert sind. C
R(S , j, t) :=
k∈R
d
(rkb (S C∪{j} , τ ) − Rk )+ dτ
0
bezeichnet dann die gesamte Ressourcen¨ uberschreitung, die durch das Einplanen von Vorgang j zum Zeitpunkt t bei gegebenem S C verursacht wird. Ist R(S C , j, t) = 0 erf¨ ullt, so ist das Einplanen von Vorgang j zum Zeitpunkt t zul¨ assig und es gilt rkb (S C∪{j} , τ ) ≤ Rk f¨ ur alle k ∈ R und alle τ ∈ [0, d]. Bei der Einplanung eines Vorgangs j ∈ C unterscheiden wir drei verschiedene F¨ alle. j (S C ) = ∅, d.h. j kann zu keinem Zeitpunkt t ∈ W "j (S C ) zul¨assig 1. Ist D eingeplant werden, so planen wir alle Vorg¨ ange aus der Menge U aus und bestimmen die Menge der Entscheidungszeitpunkte von j neu. Erhalten j (S C ) = ∅, so terminiert der Algorithmus ohne eine zul¨assige wir wieder D L¨ osung gefunden zu haben. (Andernfalls siehe F¨alle 2 und 3). j (S C ) = ∅ und ist f¨ j (S C ) die Bedingung R(S C , j, t) > 0 2. Ist D ur alle t ∈ D erf¨ ullt, d.h. beim Einplanen von Vorgang j wird mindestens ein Vorgang h ∈ C fixiert oder teilfixiert, der in seinem Basisintervall nicht zul¨assig eingeplant werden kann, dann bestimmen wir zun¨achst den gr¨oßten Zeitj (S C ) mit minimaler Ressourcen¨ punkt t ∈ D uberschreitung R(S C , j, t) und planen Vorgang j zum Zeitpunkt t ein. Im n¨achsten Schritt w¨ahlen wir dann einen Vorgang aus der Menge aller fixierten und teilfixierten Vorg¨ ange, der Element einer verbotenen Menge ist. j (S C ) = ∅ und es existiert mindestens ein t ∈ D j (S C ) mit R(S C , j, t) = 3. Ist D 0, d.h. Vorgang j kann zeit- und ressourcenzul¨assig eingeplant werden, j (S C ). dann entfernen wir alle Zeitpunkte t mit R(S C , j, t) > 0 aus D Vorgang j wird nun zum sp¨ atesten Zeitpunkt t eingeplant, an dem die Erweiterungskosten f b (S C , j, ·) ihr Minimum annehmen. Die Schritte des Priorit¨ atsregelverfahrens sind in Algorithmus 3.39 angegeben, wobei u wieder die Anzahl der Ausplanungsschritte angibt. Algorithmus 3.39 (Priorit¨ atsregelverfahren f¨ ur Problem (3.2) mit Zielfunktion (RI ), (RD ) und (RL)). Setze C := {0}, S C := (0) und u := 0. ur alle i, j ∈ V . Bestimme die L¨ angen l¨ angster Wege dij f¨ ur alle i ∈ V \ {0}. Setze ES i := d0i und LS i := −di0 f¨ Solange C = V: b ur mindestens ein t ∈ [0, d] und k ∈ R: Falls rk (S C , t) > Rk f¨ W¨ ahle einen fixierten oder teilfixierten Vorgang j ∈ C, der Element einer verbotenen aktiven Menge Ab (S, t) ist.
3.5 Heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen
269
Andernfalls F¨ ur alle i ∈ C Falls ES i = LSi : Setze Si := ES i , C := C ∪ {i}. ochster Priorit¨at. Bestimme den Vorgang j ∈ C mit h¨ j (S C ) in Abh¨ angigkeit der Zielfunktion f . Bestimme die Menge D j (S C ) = ∅ : (Fall 1) Falls D Ausplanungsschritt(j). j (S C ) neu. Berechne D j (S C ) = ∅ : Abbruch! Falls D j (S C ): Berechne R(S C , j, t). (Fall 2 bzw. Fall 3) F¨ ur alle t ∈ D j (S C ) | R(S C , j, t) = minτ ∈D (S C ) R(S C , j, τ )}. Bestimme D := {t ∈ D j
F¨ ur alle t ∈ D: Berechne die Erweiterungskosten f b (S C , j, t). + Sj := max{t ∈ D | f b (S C , j, t) = minτ ∈D f b (S C , j, τ )} Sj := Sj+ , C := C ∪ {j}. F¨ ur alle i ∈ C: Setze ES i := max{ES i , Sj + dji } und LS i := min{LS i , Sj − dij }. R¨ uckgabe S. In Fall 1 planen wir die Vorg¨ ange i ∈ U aus und bestimmen danach f¨ ur uhesten und alle nicht eingeplanten Vorg¨ ange i ∈ C die planungsabh¨angigen fr¨ sp¨ atesten Startzeitpunkte. Sei u wieder eine vorgegebene maximale Anzahl an Ausplanungs-Schritten, dann erhalten wir die folgende algorithmische Beschreibung des Ausplanungs-Schritts. Algorithmus 3.40 (Ausplanungs-Schritt(j)). u := u + 1. Falls u > u: Abbruch! (keine zul¨ assige L¨ osung gefunden) Bestimme U := {i ∈ C | [Si , Ci [ \ [−di0 , d0i + pi [ ∩ [ES j , LC j [ = ∅}. Setze C := C \ U. F¨ ur alle i ∈ C: Setze ES i := d0i und LS i := −di0 . F¨ ur alle h ∈ C: Setze ES i := max{ES i , Sh + dhi } und LS i := min{LS i , Sh − dih }. Im Folgenden betrachten wir ein Beispiel, um die Anwendung des erl¨auterten Priorit¨ atsregelverfahrens zu illustrieren.
270
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Beispiel 3.41. Wir betrachten den in Abbildung 3.40 dargestellten Projektnetzplan mit sechs realen Vorg¨ angen und einer erneuerbaren Ressource. Die Ressourcenkapazit¨ at sei R = 4 und die maximale Projektdauer d = 12. Im Folgenden wird mit Hilfe von Algorithmus 3.39 eine N¨aherungsl¨osung f¨ ur das zugrunde liegende Projekt mit Zielfunktion (RL) generiert. Dabei wird die statische Priorit¨ atsregel MST bei der Bestimmung des Vorgangs mit h¨ochster Priorit¨ at angewendet.
−12 5 5 1 1 @ @ 3
0 0 ?
-
0
- 2
3
@ 0 @ @
1
−3
@ 5 @
@ @
0 @ 0
2
5 4 @ 2
1 5 3
@ R @
1 4
5 6 @ R 3 @ 1
3
@ 0 R @ 7 0 Legende: pj pi δij - j i ri rj
2 -6 2
Abb. 3.40. Netzplan mit einer Ressource
Im Initialisierungsschritt setzen wir C := {0}, S C := (0) und u := 0. Die fr¨ uhesten und sp¨ atesten Startzeitpunkte sowie die Gesamtpufferzeiten sind f¨ ur alle i ∈ V in Tabelle 3.13 angegeben. Die Vorg¨ange 1, 3 und 4 sind teilfixiert. Das zugeh¨ orige Ressourcenprofil rb (S C , t), t ∈ [0, d] ist in Abbildung 3.41a dargestellt. Tabelle 3.13. ES i , LS i und TF i f¨ ur alle i ∈ V i
0
1
2
3
4
5
6
7
ES i LS i TF i
0 0 0
0 2 2
2 9 7
0 5 5
5 7 2
5 11 6
3 8 5
10 12 2
Von den Vorg¨ angen mit kleinster Gesamtpufferzeit besitzt Vorgang 1 die kleinste Vorgangsnummer. F¨ ur die Menge der Entscheidungszeitpunkte von 1 (S C ) = {0, 2}. Da D 1 (S C ) = ∅ ist und durch Vorgang 1 erhalten wir D die Einplanung von Vorgang 1 zu den Zeitpunkten 0 oder 2 keine Ressourcen¨ uberschreitung verursacht wird, bestimmen wir die Erweiterungskosten
3.5 Heuristische L¨ osungsverfahren f¨ ur weitere Zielfunktionen
271
f b (S C , 1, 0) = 2 und f b (S C , 1, 2) = 4. Wir planen Vorgang 1 somit zum Zeitpunkt 0 ein. Ein ES –LS –Update ist nicht erforderlich. Im zweiten Iterationsschritt w¨ ahlen wir Vorgang 4 als n¨achsten einzuplanenden Vorgang. F¨ ur die Menge der Entscheidungszeitpunkte von Vorgang 4 4 (S C ) = {5, 7}. Da R(S C , 4, t) = 0 f¨ gilt D ur t ∈ {5, 7}, berechnen wir die Erweiterungskosten zu den Zeitpunkten 5 und 7. Es ergibt sich f b (S C , 4, 5) = 12 und f b (S C , 4, 7) = 8. Daher planen wir Vorgang 4 zu t = 7 ein und aktualisieren ES 7 = 12. Vorgang 7 ist somit fixiert. Im n¨ achsten Schritt planen wir Vorgang 7 zu S7 = ES 7 = 12 ein. Die Menge der bereits eingeplanten Vorg¨ ange besteht nun aus C = {0, 1, 4, 7}. Nun w¨ ahlen wir den Vorgang 3 als n¨ achsten einzuplanenden Vorgang. Die 3 (S C ) = {0, 1, 5}. Menge der Entscheidungszeitpunkte von 3 ergibt sich zu D Da durch das Einplanen von Vorgang 3 zu den Zeitpunkten 0, 1 oder 5 keine Ressourcen¨ uberschreitung verursacht wird, bestimmen wir f b (S C , 3, 0) = 15, f b (S C , 3, 1) = 13 und f b (S C , 3, 5) = 21. Wir planen Vorgang 3 zu t = 1 ein (vgl. Abb. 3.41b). Es ergeben sich die folgenden Aktualisierungen ES 5 = 6 und ES 6 = 4. Der als n¨ achstes einzuplanende Vorgang ist Vorgang 6. Die Menge der Ent 6 (S C ) = {4, 5, 7, 8}. Durch das Einplanen von scheidungszeitpunkte von 6 ist D Vorgang 6 zu einem dieser Zeitpunkte wird keine Ressourcen¨ uberschreitung verursacht. Deshalb bestimmen wir die Erweiterungskosten f b (S C , 6, 4) = 20, f b (S C , 6, 5) = 16, f b (S C , 6, 7) = 24 und f b (S C , 6, 8) = 24 und planen Vorgang 6 zum Zeitpunkt t = 5 ein. Im f¨ unften Iterationsschritt w¨ ahlen wir Vorgang 5 als n¨achsten einzupla 5 (S C ) = ∅ nenden Vorgang. F¨ ur die Menge der Entscheidungszeitpunkte gilt D (Fall 1). Wir bestimmen die Menge der eingeplanten Vorg¨ange U, die aufgrund ihres geplanten Ausf¨ uhrungszeitraumes simultan mit Vorgang 5 ausgef¨ uhrt werden k¨ onnen, aber dort nicht ausgef¨ uhrt werden m¨ ussen. Es ergibt sich U = {3, 4, 6}. Im anschließenden Ausplanungs-Schritt setzen wir C = {0, 1, 7}, die ES - und LS -Werte der nicht eingeplanten Vorg¨ange entsprechen den in Tabelle 3.13 angegebenen Werten. Nun bestimmen wir erneut die Menge der 5 (S C ) = {5, 11}. Wir Einplanungszeitpunkte von Vorgang 5, es ergibt sich D b C berechnen die Erweiterungskosten f (S , 5, 5) = 15 und f b (S C , 5, 11) = 9. Vorgang 5 wird damit zu seinem sp¨ atesten Startzeitpunkt t = 11 eingeplant. Wir aktualisieren ES 2 = 8, LS 2 = 9. Vorgang 2 ist somit teilfixiert (vgl. Abb. 3.41c). In den n¨ achsten Schritten planen wir Vorgang 2 zum Zeitpunkt 8, Vorgang 3 zum Zeitpunkt 0, Vorgang 4 zum Zeitpunkt 6 und Vorgang 6 zum Zeitpunkt 5 ein. Wir erhalten den in Abbildung 3.41 d) dargestellten zul¨assigen Schedule mit einem Zielfunktionswert von 85.
272
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
rb (S C , t)
rb (S C , t)
a) Initialisierung
6
6
2
2
1 2
4
3
4
rb (S C , t) 4
b) Schritt 3
6
8
-t 10
12
2
6 2
2
2
4
3 4
6
8
5 2 10
4
6
2
q
6
8
-t
10
12
d) zul¨ assiger Schedule
q qa q qa 6 q qa 6 q qa
3 1
-t 12
4
3 4
rb (S C , t)
c) Schritt 5
1
3 1
2
4
5
4
3 6
qa
2
8
-t 10
12
Abb. 3.41. Ressourcenprofile einiger Iterationsschritte
3.6 Fabrikabholung von Neuwagen In diesem Abschnitt stellen wir basierend auf einer Arbeit von Mellentien et al. (2004) die Anwendung von Modellen und Methoden der ressourcenbeschr¨ ankten Projektplanung f¨ ur die Planung der Fabrikabholung von Neuwagen vor. Viele Automobilhersteller bieten den K¨aufern ihrer Fahrzeuge die M¨ oglichkeit, ihr neu erworbenes Fahrzeug direkt ab Werk in Empfang zu nehmen. Im Zuge einer solchen Fabrikabholung nehmen die Kunden i.d.R. an einem umfangreichen Besuchsprogramm teil, das neben der eigentlichen ¨ Ubergabe des Fahrzeugs zahlreiche weitere Aktivit¨aten enth¨alt, wie z.B. eine Werksbesichtigung, einen Besuch des werkseigenen Museums, oder ein Fahrsicherheitstraining auf der betriebseigenen Erprobungsstrecke. Ziel solcher Besuchsprogramme ist es, eine emotionale Bindung zwischen den Kunden und der Fahrzeugmarke zu etablieren. Um einen reibungslosen Ablauf bei der Fabrikabholung zu gew¨ ahrleisten, ist ein Zeitplan f¨ ur alle Aktivit¨aten des Besuchsprogramms zu erstellen. Dabei ist die Wartezeit der Kunden w¨ahrend ihres Aufenthaltes zu minimieren, um auf diese Weise einen Beitrag zur Erh¨ ohung der Kundenzufriedenheit zu leisten. Sei C die Menge aller Kunden, die an dem betrachteten Tag an einem Besuchsprogramm teilnehmen. Im Folgenden wird angenommen, dass die einzelnen Kunden jeweils genau einer von mehreren Besuchergruppen zugeordnet seien und dass alle Kunden einer solchen Gruppe gleichzeitig an den Programmpunkten des jeweiligen Besuchsprogramms teilnehmen. Die einzelnen Aktivit¨ aten eines Besuchsprogramms entsprechen jeweils einem Vorgang in einem MPM-Netzplan. F¨ ur jede Besuchergruppe f¨ uhren wir genau dann einen Vorgang ein, falls sich mindestens ein Mitglied der betrachteten Gruppe f¨ ur die Teilnahme an der entsprechenden Aktivit¨at angemeldet hat. M¨ochte ein Kunde an einer oder mehreren einzelnen Aktivit¨aten des Besuchsprogramms
3.6 Fabrikabholung von Neuwagen
273
nicht teilnehmen, so nehmen wir an, dass er entweder seinen Besuch beendet, wenn er an allen von ihm gew¨ unschten Aktivit¨aten teilgenommen hat, oder aber er wartet, bis der n¨ achste ihn interessierende Programmpunkt stattfindet. Sei Vc die Menge aller Vorg¨ ange, f¨ ur die sich Kunde c ∈ C angemeldet hat. Dann entspricht max(Si + pi ) − min Si − pi c∈C
i∈Vc
i∈Vc
i∈Vc
der zu minimierenden gesamten Wartezeit aller Kunden f¨ ur gegebenen Schedule S. F¨ uhren wir f¨ ur alle Kunden c ∈ C die fiktiven Vorg¨ange bc und ec ein, die den Beginn und das Ende der Teilnahme des Kunden c am Besuchsprogramm repr¨ asentieren, und addieren wir zu der vorgenannten Zielfunktion die konstante Summe aller Vorgangsdauern c∈C i∈Vc pi hinzu, so k¨onnen wir die zu minimierende Zielfunktion in der Form f (S) = (Sec − Sbc ) c∈C
schreiben. f entspricht somit gerade der Zielfunktion i∈V wi Si mit wi = 1 (i = ec , c ∈ C), wi = −1 (i = bc , c ∈ C) und wi = 0 f¨ ur alle u ¨ brigen Vorg¨ange i. Die Menge aller Vorg¨ ange des Netzplans ist durch # V := Vc ∪ {bc , ec } ∪ {0, n + 1} c∈C
spezifiziert. Um zu gew¨ ahrleisten, dass kein Vorgang vor dem Start von Vorgang bc ausgef¨ uhrt werden kann, f¨ uhren wir f¨ ur alle Vorg¨ange j ∈ Vc und alle Kunden c ∈ C einen zeitlichen Mindestabstand Tbmin = 0 ein. Analog m¨ ussen cj min wir zeitliche Mindestabst¨ ande Tie = p einf¨ u hren, um sicherzustellen, dass i c kein Vorgang i ∈ Vc nach dem Ende Sec des Besuchsprogramms des Kunden c ∈ C stattfindet. Damit alle Kunden ihr Besuchsprogramm innerhalb eines Tages absolvieren k¨ onnen, f¨ ugen wir außerdem einen zeitlichen H¨ochstabstand max T0,n+1 = d¯ ein, wobei d¯ gerade der L¨ ange eines Arbeitstages entspricht, sowie min = Temin = 0 f¨ ur alle c ∈ C. die zeitlichen Mindestabst¨ ande T0b c n+1 c Zwischen einigen Vorg¨ angen i, j ∈ Vc bestehen aus organisatorischen Gr¨ unden Reihenfolgebeziehungen der Form Tijmin = pi . Beispielsweise muss ein Kunde erst eine Einweisung in sein Fahrzeug erhalten, bevor er mit dem Fahrsicherheitstraining beginnen darf. F¨ ur andere Vorg¨ange aus Vc hingegen, z.B. den Besuch des Museums oder die Werksbesichtigung, ist i.d.R. keine zwingend notwendige Reihenfolge vorgegeben. Um sicherzustellen, dass sich zwei Vorg¨ ange i, j ∈ Vc nicht gleichzeitig in Ausf¨ uhrung befinden, f¨ uhren wir daher f¨ ur jede Besuchergruppe eine erneuerbare Ressource k mit einer Kapazit¨ at von Rk = 1 Einheiten ein. Ordnen wir jeder Aktivit¨at i einer jeden
274
3 Projektplanung unter Zeit- und Ressourcenrestriktionen
Besuchergruppe die Ressourceninanspruchnahme rik = 1 zu, so ist gew¨ahrleistet, dass sich die einzelnen Aktivit¨ aten einer Besuchergruppe zeitlich nicht u onnen. ¨ berlappen k¨ Zur Illustration betrachten wir den in Abbildung 3.42 skizzierten Netzplan mit zwei Besuchergruppen und vier Kunden. Die Kunden 1 und 2 sind der ersten Besuchergruppe und die Kunden 3 und 4 der zweiten Besuchergruppe zugeordnet. Das Programm der ersten Besuchergruppe beinhaltet die Aktivit¨ aten 1 bis 4, und das Besuchsprogramm der zweiten Gruppe besteht ¨ aus den Vorg¨ angen 5 bis 7. Aus Gr¨ unden der Ubersichtlichkeit verzichten wir in Abbildung 3.42 auf die Angabe von Pfeilbewertungen. Stattdessen sind Vorrangbeziehungen Tijmin = pi zwischen zwei Vorg¨angen i und j durch einen durchgezogenen Pfeil und zeitliche Mindestabst¨ande Tijmin = 0 durch einen gestrichelten Pfeil zwischen den entsprechenden Vorg¨angen gekennzeichnet. Um ¨ die Uberlappung der Aktivit¨ aten einer Besuchergruppe zu vermeiden, f¨ uhren wir, wie oben beschrieben, zwei erneuerbare Ressourcen k = 1, 2 mit der Kapazit¨ at Rk = 1 ein. Die Inanspruchnahmen rik der Ressourcen k = 1, 2 durch einen Vorgang i sind in Abbildung 3.42 unterhalb des entsprechenden Knotens max in der Form (ri1 ; ri2 ) angegeben. Ein H¨ ochstabstand T0,n+1 = d¯ gew¨ahrleistet das rechtzeitige Ende des gesamten Besuchsprogramms.
Besuchergruppe 1 1 1;0
2 1;0
b1
3 1;0
e1
b2
4 1;0
e2 n+1
0 −d¯ b3
5 0;1
b4 Besuchergruppe 2
6 0;1 7 0;1
e3 e4
Abb. 3.42. MPM-Netzplan f¨ ur die Planung der Fabrikabholung von Neuwagen
F¨ ur die Durchf¨ uhrung der Vorg¨ ange i ∈ Vc , c ∈ C, werden ferner einige weitere erneuerbare Ressourcen ben¨ otigt. Dabei handelt es sich entweder um einzelne Mitarbeiter bzw. Mitarbeitergruppen, wie z.B. Fahrlehrer oder Mitarbeiter, die die Werksbesichtigung durchf¨ uhren, oder verschiedene Arten
3.6 Fabrikabholung von Neuwagen
275
¨ von Einrichtungen, z.B. Ubergabestationen f¨ ur die Fahrzeug¨ ubergabe. Alle unterschiedlichen Arten von Ressourcen werden jeweils durch eine erneuerbare Ressource k mit einer entsprechenden Ressourcenkapazit¨at Rk modelliert, die von den Vorg¨ angen i ∈ Vc , c ∈ C, in der ben¨otigten H¨ohe rik beansprucht werden. Um das beschriebene ressourcenbeschr¨ ankte Projektplanungsproblem mit Zielfunktion f (S) zu l¨ osen, k¨ onnen wir den relaxationsbasierten Enumerationsansatz aus Abschnitt 3.3.1 oder das in Abschnitt 3.5 beschriebene serielle Generierungsschema verwenden. Aus dem resultierenden (n¨aherungsweise) optimalen Schedule S kann man f¨ ur jeden Kunden c ∈ C sofort den Beginn Sbc und das Ende Sec seines Besuchsprogramms sowie die Startzeitpunkte Si , i ∈ Vc , der Aktivit¨ aten entnehmen, f¨ ur die sich der Kunde angemeldet hat. Mellentien et al. (2004) ber¨ ucksichtigen in ihrer Arbeit weitere praxisrelevante Anforderungen, f¨ ur deren Modellierung spezielle Typen von erneuerbaren Ressourcen ben¨ otigt werden. So wird beispielsweise angenommen, dass eine Besuchergruppe f¨ ur die Dauer ihres Besuchsprogramms von genau einem Mitarbeiter begleitet wird, der als Ansprechpartner bei Fragen und Problemen zur Verf¨ ugung steht. Dieser Sachverhalt kann mit Hilfe so genannter allozierbarer Ressourcen abgebildet werden; vgl. hierzu bspw. Schwindt und Trautmann (2003). Dazu f¨ uhrt man f¨ ur jede Besuchergruppe zwei weitere fiktive Vorg¨ ange ein, die jeweils den Beginn und das Ende des Besuchsprogramms der entsprechenden Gruppe repr¨ asentieren. Eine Einheit einer allozierbaren Ressource wird dann zu Beginn eines Besuchsprogramms belegt und erst am Ende des entsprechenden Besuchsprogramms wieder freigegeben. Ein weiterer praktischer Aspekt, den wir unber¨ ucksichtigt gelassen haben, ist, dass einzelne Aktivit¨ aten von mehreren Gruppen gemeinsam durchgef¨ uhrt werden k¨ onnen. Dies ist z.B. bei der Vorf¨ uhrung von Werbefilmen in einem werkseigenen Kinosaal der Fall. Die Schwierigkeit besteht hier darin, dass alle beteiligten Besuchergruppen gleichzeitig mit der Durchf¨ uhrung der entsprechenden Aktivit¨ at beginnen m¨ ussen. Dieser Sachverhalt l¨asst sich mit so genannten synchronisierenden Ressourcen abbilden; vgl. Neumann et al. (2003, Kap. 2.13).
Erg¨ anzende Literatur Bartusch et al. (1988) Brucker und Knust (2003) Demeulemeester und Herroelen (2002) Dorndorf (2002) Franck (1999) Hartmann (1999) Klein (2000) Kolisch (1995) Kolisch und Padman (2001) Mellentien et al. (2004)
M¨ ohring et al. (2003) Neumann und Zimmermann (2002) Neumann et al. (2003) Schirmer (1999) Schwindt (1998b) Schwindt (2005) Selle (2002) Trautmann (2001) Weglarz (1999)
4 Kostenplanung
In den Kapiteln 2 und 3 sind wir bei der Terminierung der Vorg¨ange eines Projektes unter Zeitrestriktionen bzw. unter Zeit- und Ressourcenrestriktionen davon ausgegangen, dass die Dauern der Projektvorg¨ange vorgegeben sind. Im Rahmen der Zeit-, Ressourcen- und Kostenanalyse (vgl. Abschnitt 1.4.2) haben wir jedoch gesehen, dass die Dauer pi eines Vorgangs i h¨aufig variabel ist und i.d.R. von der Menge der zur Durchf¨ uhrung des Vorgangs eingesetz¨ ten Ressourcen abh¨ angt. Andern wir f¨ ur einen Vorgang z.B. die Anzahl der eingesetzten Maschinen bzw. Mitarbeiter oder ver¨andern wir die Geschwindigkeit der eingesetzten Maschinen, so wird die Dauer des betrachteten Vorgangs erh¨ oht oder vermindert. Eine solche Maßnahme geht dabei meist mit einer entsprechenden Ver¨ anderung der Vorgangseinzelkosten einher, die im Rahmen der Ausf¨ uhrung des Vorgangs anfallen. Man kann sich daher die aus der Ausf¨ uhrung eines Vorgangs i resultierenden Einzelkosten ci (pi ) als eine Funktion in Abh¨ angigkeit von der Vorgangsdauer pi denken. Dabei nehmen wir an, dass alle Vorg¨ ange eines Projektes voneinander unabh¨angig seien, d.h. die Beschleunigung oder Verz¨ ogerung eines Vorgangs hat keinerlei Auswirkungen auf die Dauern der u ange. F¨ ur die Dauer pi eines Vorgangs ¨ brigen Vorg¨ i lassen sich aufgrund technologischer bzw. organisatorischer Gegebenheiten zumeist eine untere Schranke pmin und eine obere Schranke pmax angeben, i i die nicht unter- bzw. u urfen. Ferner nehmen wir an, ¨ berschritten werden d¨ dass die Kostenfunktion ci (pi ) stetig oder zumindest von unten halbstetig ist (vgl. Definition 2.5). Somit besitzt ci (pi ) genau eine kleinste Minimalstelle pni , d.h. pni ist die kleinste Dauer pi ∈ [pmin , pmax ], f¨ ur die die resultierenden i i n 1 Vorgangskosten ci minimal sind. Bei der Planung eines Projektes ist es im Allgemeinen sinnvoll, wie bereits in Abschnitt 1.4.2 beschrieben, f¨ ur alle Projektvorg¨ange die Vorgangsdauern so zu w¨ ahlen, dass die aus der Projektdurchf¨ uhrung resultierenden Kosten mi1
F¨ ur einen fiktiven Vorgang i (in MPM-Netzpl¨ anen) bzw. einen Scheinvorgang i (in = pmax = pn CPM-Netzpl¨ anen) ist die Vorgangsdauer naturgem¨ aß pi = pmin i i i := 0 und die zugeh¨ origen Vorgangskosten seien ci (pi ) := 0.
278
4 Kostenplanung
nimal sind. Daher haben wir im Rahmen der Planung in den Kapiteln 2 und 3 grunds¨ atzlich f¨ ur alle Vorg¨ ange i ihre kostenminimalen Vorgangsdauern pni zugrunde gelegt. H¨ aufig zeigt sich jedoch bei der Projektplanung oder der Projekt¨ uberwachung (vgl. Abschnitt 1.5.1), dass ein Projekt unter der Annahme vorgangskostenminimaler Dauern pni f¨ ur alle Projektvorg¨ange i nicht rechtzeitig bis zum Zeitpunkt d¯ abgeschlossen werden kann, oder dass ein vorgegebenes Budget zur Durchf¨ uhrung des Projektes f¨ ur gegebene Vorgangsdauern pi < pni nicht ausreicht. Aufgabe der Kostenplanung ist es daher, entweder •
ange so festzulegen, dass das Prodie Vorgangsdauern pi der Projektvorg¨ jektende sp¨ atestens zum Zeitpunkt d¯ eintritt und die aus der Projektdurchf¨ uhrung resultierenden Kosten minimal sind, oder die Vorgangsdauern pi der Projektvorg¨ ange so festzulegen, dass das Projektende so fr¨ uh wie m¨ oglich eintritt und die resultierenden Kosten ein vorgegebenes Budget L nicht u ¨ berschreiten.
•
Das Problem der Kostenplanung wird in der Literatur h¨aufig auch als TimeCost-Tradeoff-Problem bezeichnet, da eine Abw¨agung zwischen der Projektdauer und den hieraus resultierenden Kosten vorgenommen wird. In Abschnitt 4.1 wird das Problem der Kostenplanung zun¨achst mathematisch modelliert, wobei wir die Notation f¨ ur MPM-Netzpl¨ane zugrunde legen. Beinhaltet das betrachtete Projekt nur Vorrangbeziehungen, so l¨asst es sich auch in der f¨ ur CPM-Netzpl¨ ane gebr¨ auchlichen Notation formulieren (vgl. Abschnitt 4.2). Zur L¨ osung des resultierenden Time-Cost-Tradeoff-Problems f¨ ur Netzpl¨ ane mit Vorrangbeziehungen wird das Verfahren von Kelley (1961) vorgestellt, welches auf Vorgangspfeilnetzpl¨ anen operiert. In Abschnitt 4.3 pr¨ asentieren wir f¨ ur das Time-Cost-Tradeoff-Problem f¨ ur MPM-Netzpl¨ane mit allgemeinen Zeitbeziehungen eine auf Hajdu (1997) basierende L¨osungsmethode, die eine Erweiterung des Kelley-Verfahrens darstellt. Abschließend betrachten wir in Abschnitt 4.4 ein Anwendungsbeispiel zur Kostenplanung.
4.1 Problemformulierung Wir betrachten im Folgenden den speziellen Fall, dass die Kostenfunktionen ci (pi ) f¨ ur alle Projektvorg¨ ange lineare Funktionen darstellen.2 Ist die Kostenfunktion f¨ ur einen Vorgang i nicht linear, so approximieren wir sie im Intervall pi ∈ [pmin , pni ] durch die lineare Funktion i ci (pi ) = bi − ai pi mit bi := 2
− pmin cni pni cmin i i n min pi − pi
F¨ ur den Fall der konvexen Funktionen verweisen wir den interessierten Leser auf Elmaghraby (1977).
4.1 Problemformulierung
und ai :=
− cni cmin i . pni − pmin i
279
(4.1)
Der Faktor −ai < 0 stellt hierbei die Steigung der linearen Kostenfunktion dar, d.h. ai entspricht den zus¨ atzlichen Kosten, die entstehen, wenn wir Vorgang i um eine Zeiteinheit beschleunigen. In Abbildung 4.1 ist eine lineare Approximation einer konvexen Kostenfunktion durch die gestrichelte Gerade dargestellt. Die Beschr¨ ankung der Vorgangsdauer pi auf das Intervall ci (pi )
cmin i
cn i pmin i
pn i
pmax i
pi
Abb. 4.1. Vorgangskosten in Abh¨ angigkeit der Vorgangsdauer
[pmin , pni ] ist sinnvoll, da die Projektvorg¨ ange ausgehend von der kostenminii malen Dauer pni nur beschleunigt, jedoch nie verz¨ogert werden sollten. Grundvoraussetzung f¨ ur die Betrachtung des Time-Cost-Tradeoff-Problems ist, dass die Projektdauer des zugrunde liegenden Projektes von den Dauern der einzelnen Projektvorg¨ ange abh¨ angt. Der Einfachheit halber nehmen wir zun¨ achst an, dass das zugrunde liegende Projekt ausschließlich Vorrangbeziehungen anstelle von allgemeinen zeitlichen Mindest- und H¨ochstabst¨ anden zwischen zwei Vorg¨ angen i und j enth¨ alt, d.h. wir betrachten lediglich Zeitbeziehungen der Form Sj − Si ≥ pi . Somit k¨onnen wir das Time-CostTradeoff-Problem zur Bestimmung der Vorgangsdauern pi ∈ [pmin , pni ] und i der Startzeitpunkte Si f¨ ur alle Projektvorg¨ ange i in der f¨ ur MPM-Netzpl¨ane u ¨ blichen Notation formulieren, so dass das Projekt gerade zum Zeitpunkt d¯ endet. ⎫ (bi − ai pi ) Minimiere C (p) = ⎪ ⎪ ⎪ i∈V ⎪ ⎪ u.d.N. Sj − S i ≥ p i ( i, j ∈ E) ⎬ (4.2) S0 = 0 ⎪ ⎪ ⎪ ⎪ Sn+1 = d ⎪ ⎭ n pi ∈ [pmin , p ] (i ∈ V ) i i
280
4 Kostenplanung
Wir nehmen an, dass die f¨ ur die Durchf¨ uhrung des betrachteten Projektes ben¨ otigten Ressourcen in beliebiger Menge zur Verf¨ ugung stehen, so dass in Problem (4.2) keine Ressourcenrestriktionen ber¨ ucksichtigt werden m¨ ussen. Stattdessen finden die Ressourceninanspruchnahmen implizit durch die zu minimierende Kostenfunktion Ber¨ ucksichtigung, die den Zusammenhang zwischen der Dauer eines Vorgangs, seiner korrespondierenden Ressourceninanspruchnahme und den resultierenden Kosten abbildet.3 Weiterhin sei angemerkt, dass die Nebenbedingung Sn+1 = d in Problem (4.2) ur Sn+1 < d existiert stets mindestens ein aquivalent zu Sn+1 ≤ d ist, denn f¨ ¨ Vorgang i, dessen Dauer pi erh¨ oht werden kann, so dass der Zielfunktionswert verbessert wird. Da i∈V bi konstant ist, k¨onnen wir in Problem (4.2) außerdem die Zielfunktion C (p) durch die zu minimierende Zielfunktion ai p i C(p) = − i∈V
ersetzen. F¨ ur beliebige stetige, nichtlineare Kostenfunktionen ci (pi ) beschreiben Moder et al. (1983, Kapitel 8) ein geeignetes Vorgehen zur Kostenplanung, das auf der st¨ uckweise linearen Approximation der nichtlinearen Kostenfunktionen beruht. F¨ ur den Fall nicht-konvexer Kostenfunktionen stellt die resultierende Optimierungsaufgabe ein gemischt-ganzzahliges Programm dar, welches i.d.R. schwierig zu l¨ osen ist. H¨ aufig werden im Rahmen der Kostenplanung auch diskrete Kostenfunktionen betrachtet, z.B. weil die zur Beschleunigung eines Vorgangs zus¨ atzlich eingesetzten Ressourcen nur in diskreten Mengeneinheiten zur Verf¨ ugung stehen. Zur L¨osung solcher diskreter Time-Cost-Tradeoff-Probleme beschreiben beispielsweise Demeulemeester und Herroelen (2002, Kapitel 8) geeignete Branch-and-Bound-Verfahren.
4.2 Time-Cost-Tradeoff fu ane mit ¨r Netzpl¨ Vorrangbeziehungen Wie in Abschnitt 1.4.4 erl¨ autert, entsprechen in einem CPM-Netzplan die Vorg¨ ange eines Projektes den Pfeilen des Netzplans, und die Knoten stellen Ereignisse dar. Die Pfeilmenge sei ohne Beschr¨ankung der Allgemeinheit durch E = {1, . . . , n} gegeben, und die Knotenmenge sei als V = {1, . . . , m} spezifiziert, wobei Knoten 1 den Projektstart und Knoten m das Projektende repr¨ asentieren. Die Bewertung eines Pfeils i ∈ E entspricht gerade der Dauer pi des zugeh¨ origen Vorgangs. Ein Vorgang i ist stets mit genau einem Startereignis ei ∈ V und einem Endereignis e¯i ∈ V inzident. F¨ ur jedes Ereignis e ∈ V l¨ asst sich ein fr¨ uhester Eintrittszeitpunkt EZ e angeben. Ferner bezeichne Ze ≥ EZ e , e ∈ V , den geplanten Eintrittszeitpunkt von Ereignis e. 3
F¨ ur Probleme (4.2) mit Ressourcenrestriktionen sei auf Demeulemeester und Herroelen (2002) verwiesen.
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
281
Der fr¨ uheste Startzeitpunkt eines Vorgangs i mit Startereignis ei entspricht ES i := EZ ei , und der fr¨ uhestm¨ ogliche Endzeitpunkt des betrachteten Pro¯ wobei d¯ der L¨ange eines jekts ist wegen Z1 = EZ 1 := 0 gerade EZ n := d, kritischen Pfades f¨ ur resultierende Dauern pi entspricht. In der f¨ ur CPMNetzpl¨ ane gel¨ aufigen Notation kann Problem (4.2) mit Zielfunktion C(p) wie folgt als Optimierungsproblem Minimiere C(p) = − ai p i (4.3) i∈E
u.d.N.
Ze¯i − Zei ≥ pi Z1 = 0 Zn = d , pni ] pi ∈ [pmin i
(i ∈ E) (i ∈ E)
(4.4) (4.5) (4.6) (4.7)
mit den Entscheidungsvariablen Ze f¨ ur alle e ∈ V und pi f¨ ur alle i ∈ E angegeben werden. Die Restriktionen (4.4) stellen sicher, dass ein Ereignis e ∈ V erst dann eintreten kann, wenn alle Vorg¨ ange abgeschlossen wurden, deren Endereignis e ist. Nebenbedingungen (4.5) und (4.6) gew¨ahrleisten, dass das betrachtete Projekt zum Zeitpunkt 0 beginnt und gerade zum vorgegebenen Zeitpunkt d¯ endet. Bedingungen (4.7) beschr¨ anken die gesuchte Dauer pi eines n Vorgangs auf das Intervall [pmin , p ]. Zielfunktion C sorgt daf¨ ur, dass die aus i i der beschleunigten Ausf¨ uhrung aller Vorg¨ ange resultierenden Zusatzkosten minimal sind. Dazu werden die Vorgangsdauern pi grunds¨atzlich so groß wie m¨ oglich gew¨ ahlt, so dass die Vorrangbeziehungen zwischen den Vorg¨angen eingehalten werden und das Projekt zum Zeitpunkt d¯ beendet wird. Eine optimale L¨ osung f¨ ur Problem (4.3) – (4.7) h¨angt von der vorzugebenden maximalen Projektdauer d¯ ab. Damit f¨ ur das Time-Cost-TradeoffProblem eine zul¨ assige L¨ osung existiert, muss d¯ aus dem Intervall [d¯min , d¯n ] gew¨ ahlt werden. Hierbei entspricht d¯min der k¨ urzestm¨oglichen Projektdauer, wenn wir f¨ ur alle Vorg¨ ange i ∈ E die Vorgangsdauer pmin vorgeben. Analog i stellt d¯n die k¨ urzestm¨ ogliche Projektdauer dar, wenn f¨ ur alle Projektvorg¨ange i die Dauer pni angenommen wird. Problem (4.3) – (4.7) kann als parametrisches Optimierungsproblem mit dem Parameter d¯ ∈ [d¯min , d¯n ] verstanden werden. Die optimalen Werte der Entscheidungsvariablen Ze∗ , e ∈ V , und p∗i , i ∈ E, sowie der optimale Zielfunktionswert C ∗ lassen sich dann als Funktionen des Parameters d¯ auffassen. Da C ∗ , Ze∗ und p∗i stetige und st¨ uckweise lineare Funktionen der maximalen Projektdauer d¯ sind, kann das parametrische Optimierungsproblem zu (4.3) – (4.7) durch eine endliche Folge nicht-parametrischer Optimierungsprobleme ersetzt werden, die sich jeweils auf ein bestimmtes Teilintervall von [d¯min , d¯n ] ¯ Z ∗ (d), ¯ e ∈ V , und p∗ (d), ¯ i ∈ E, linear beziehen, f¨ ur das die Funktionen C ∗ (d), e i min ¯n ¯ sind. Nehmen wir an, dass das Intervall [d , d ] zu diesem Zweck, wie in Abbildung 4.2 dargestellt, sukzessive in r Teilintervalle [d¯ , d¯ −1 ], = 1, . . . , r, zerlegt wird, wobei f¨ ur jedes dieser Intervalle die untere Intervallgrenze d¯ auf Grundlage der oberen Intervallgrenze d¯ −1 bestimmt wird (d.h. d¯ −1 ist gegeben und d¯ muss erst noch ermittelt werden). Ausgehend von Teilintervall
282
4 Kostenplanung
[d¯1 , d¯n = d¯0 ] l¨ osen wir dann f¨ ur jedes der Teilintervalle [d¯1 , d¯0 ], [d¯2 , d¯1 ], . . ., min ¯ ¯ ¯ [dr = d , dr−1 ] ein nicht-parametrisches Optimierungsproblem. - t d¯min = d¯r
0
d¯r−1
...
d¯
d¯−1
...
d¯n = d¯0
d¯1
Abb. 4.2. Lage der Intervalle [d¯ , d¯−1 ]
Bevor wir das Verfahren zur Konstruktion der Teilintervalle und L¨osung der resultierenden Optimierungsprobleme in seiner Gesamtheit erl¨autern, besprechen wir zun¨achst das Vorgehen zur L¨ osung eines einzelnen Optimierungsproblems f¨ ur ein Teilintervall [d¯ , d¯ −1 ] aus dem Gesamtintervall [d¯min , d¯n ]. Zu diesem Zweck f¨ uhren wir das Konzept einer so genannten Verk¨ urzungsmenge ein. Dazu nehmen wir an, dass f¨ ur den zugrunde liegenden CPM-Netzplan N Pfeilbewertungen pi ∈ [pmin , pni ] f¨ ur alle i ∈ E vorgegeben sind. d¯ −1 enti spricht der k¨ urzestm¨ oglichen Projektdauer f¨ ur die gegebenen Vorgangsdauern pi . Definition 4.1 (Verk¨ urzungsmenge, Verk¨ urzungsfaktor). Eine Menge K ⊆ E von kritischen Vorg¨ angen des Netzplans N heißt Verk¨ urzungsmenge von N , wenn es einen Faktor δ > 0 gibt, so dass die Verk¨ urzung oder Verl¨angerung der Dauer pi aller Vorg¨ ange i ∈ K um jeweils δ Zeiteinheiten eine Verk¨ urzung aller kritischen Wege vom Projektstart zum Projektende – und damit auch der Projektdauer – um δ Zeiteinheiten nach sich zieht. Den gr¨ oßtm¨ oglichen Faktor δ bezeichnen wir als den zur Verk¨ urzungsmenge K geh¨ orenden Verk¨ urzungsfaktor δ K . Beispiel 4.2. Wir betrachten den CPM-Netzplan in Abbildung 4.3 mit f¨ unf Vorg¨ angen und vier Ereignissen, wobei an den Pfeilen des Netzplans jeweils die Nummer i des zugeh¨ origen Vorgangs, die Vorgangsdauer pi sowie die untere und obere Schranke pmin bzw. pni f¨ ur die Vorgangsdauer vermerkt sind. i 2 3; 6; 6 4
3
1
1; 3; 5
3; 3 2; 1 1; 6; 6 2
Legende: 4
5; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.3. CPM-Netzplan N
In Tabelle 4.1 sind f¨ ur die unteren und oberen Schranken pmin und pni die i min n zugeh¨ origen Kosten ci und ci f¨ ur alle i ∈ E angegeben. Damit k¨onnen wir
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
283
unter Zuhilfenahme von (4.1) die Zusatzkosten ai bestimmen, die durch die Beschleunigung eines Vorgangs i ∈ E um eine Zeiteinheit verursacht werden. F¨ ur Vorgang 1 erhalten wir z.B. a1 :=
7−1 =6. 3−2
Die entsprechenden Werte der u ange sind in Tabelle 4.1 angegeben. ¨ brigen Vorg¨ Tabelle 4.1. Zus¨ atzliche Informationen f¨ ur Netzplan N in Abbildung 4.3 i∈E
1
2
3
4
5
pmin i pn i cmin i cn i ai
2 3 7 1 6
1 6 21 1 4
1 5 9 1 2
3 6 10 1 3
2 5 13 1 4
Wir wollen nun f¨ ur Netzplan N die Menge aller m¨oglichen Verk¨ urzungsmengen K sowie die zugeh¨ origen Verk¨ urzungsfaktoren δ K bestimmen. Die kritischen Vorg¨ ange 1, 2, 3 und 5 sind in Abbildung 4.3 durch stark ausgezeichnete Pfeile gekennzeichnet. F¨ ur die an den Pfeilen des Netzplans angegebenen Vorgangsdauern pi kann das Projekt fr¨ uhestens zum Zeitpunkt 11 beendet werden, d.h. es gilt d¯ −1 = 11. F¨ ur N lassen sich vier verschiedene Verk¨ urzungsmengen angeben, n¨ amlich K1 = {1, 2},
K2 = {5},
K3 = {1, 3, 5} und K4 = {2, 3} .
F¨ ur K1 ist der zugeh¨ orige Verk¨ urzungsfaktor δ K1 = 1, d.h. eine Verk¨ urzung der Vorg¨ ange 1 und 2 um eine Zeiteinheit f¨ uhrt dazu, dass das fr¨ uheste Projektende eine Zeiteinheit fr¨ uher eintreten kann. Eine dar¨ uber hinausgehende Verk¨ urzung der Vorg¨ ange aus K1 ist nicht m¨ oglich, da pmin = 2 gilt. Weiterhin 1 ist δ K2 = 2, d.h. die Ausf¨ uhrung von Vorgang 5 kann um zwei Zeiteinheiten beschleunigt werden. Eine weitere Verk¨ urzung von Vorgang 5 ist zwar m¨oglich, h¨ atte aber keine ebenso große Verk¨ urzung des fr¨ uhesten Projektendes zur Folge, da dann Vorgang 4 kritisch w¨ urde, w¨ ahrend Vorgang 5 unkritisch w¨are. F¨ ur K3 ist δ K3 = 1, wobei die Vorg¨ ange 1 und 5 um eine Zeiteinheit verk¨ urzt werden und die Ausf¨ uhrungsdauer von Vorgang 3 um eine Zeiteinheit erh¨oht wird. Schließlich gilt δ K4 = 2, d.h. die Dauern der Vorg¨ange 2 und 3 werden um zwei Zeiteinheiten verk¨ urzt. Es ist zu beachten, dass beispielsweise die Menge {1, 2, 3} keine Verk¨ urzungsmenge darstellt, da die Verk¨ urzung der Vorg¨ange 1, 2, und 3 um jeweils 0 < δ ≤ 1 Zeiteinheiten dazu f¨ uhrt, dass der kritische Weg 1, 2, 3, 4 k¨ urzer w¨ urde als der kritische Weg 1, 3, 4 . Zur Verk¨ urzung aller kritischen Wege und damit des fr¨ uhestm¨oglichen Projektendes ist genau eine Verk¨ urzungsmenge K auszuw¨ahlen, deren Vorg¨ange
284
4 Kostenplanung
i ∈ K um δ K Zeiteinheiten verk¨ urzt oder verl¨angert werden. Existieren mehrere Verk¨ urzungsmengen, wie z.B. f¨ ur den CPM-Netzplan in Abbildung 4.3, so w¨ ahlen wir diejenige Verk¨ urzungsmenge, f¨ ur die eine Verk¨ urzung oder Verl¨ angerung der zugeh¨ origen Vorg¨ ange um eine Zeiteinheit die geringsten Zusatzkosten verursacht. Bezeichne K − ⊆ K die Menge der Vorg¨ange, deren Dauern verk¨ urzt werden, und K + = K \ K − die Menge der Vorg¨ange, deren Dauern erh¨ oht werden. Dann entspricht ur i ∈ K − ai f¨ aK := i −ai f¨ ur i ∈ K + den Kosten, die entstehen, wenn ein Vorgang i ∈ K um eine Zeiteinheit verk¨ urzt bzw. verl¨ angert wird. Definition 4.3 (Kostenfaktor, minimale Verk¨ urzungsmenge). Der zur Verk¨ urzungsmenge K geh¨ orige Kostenfaktor aK := aK i i∈K
gibt die zus¨ atzlichen Kosten an, die die Verk¨ urzung oder Verl¨angerung der Vorg¨ ange i ∈ K um eine Zeiteinheit nach sich zieht. Eine Verk¨ urzungsmenge, die unter allen m¨oglichen Verk¨ urzungsmengen einen minimalen Kostenfaktor besitzt, nennen wir (kosten-)minimale Verk¨ urzungsmenge. Beispiel 4.4 (Fortsetzung von Beispiel 4.2). Wir betrachten wieder den Netzplan N in Abbildung 4.3 und wollen nun eine minimale Verk¨ urzungsmenge f¨ ur N bestimmen. F¨ ur die Verk¨ urzungsmengen K1 bis K4 erhalten wir die zugeh¨ origen Kostenfaktoren aK1 = 6 + 4 = 10, aK2 = 4, aK3 = 6 − 2 + 4 = 8 sowie aK4 = 4+2 = 6. Als minimale Verk¨ urzungsmenge erhalten wir demnach K2 = {5}. Haben wir eine minimale Verk¨ urzungsmenge K identifiziert, so verk¨ urzen bzw. verl¨ angern wir alle Vorg¨ ange i ∈ K um δ ∈ [0, δ K ] Zeiteinheiten. Ausgehend von einem gegebenen d¯ −1 und zugeh¨ origen optimalen Funktionswerten C ∗ (d¯ −1 ), Ze∗ (d¯ −1 ), e ∈ V , und p∗i (d¯ −1 ), i ∈ E, erhalten wir f¨ ur beliebige Werte d¯ aus dem Intervall [d¯ , d¯ −1 ] mit d¯ = d¯ −1 − δ K wie folgt optimale Funktionswerte C ∗ , Ze∗ , e ∈ V , und p∗i , i ∈ E. F¨ ur die optimale Vorgangsdauer p∗i eines Vorgangs i ∈ E gilt f¨ ur beliebiges d mit d¯ = d¯ −1 − δ, δ ∈ [0, δ K ] ⎧ ∗ ur i ∈ K − ⎨ pi (d¯ −1 ) − δ f¨ ∗ ¯ ∗ ¯ ur i ∈ K + pi (d) := pi (d −1 ) + δ f¨ ⎩ ∗ ¯ pi (d −1 ) sonst. F¨ ur die Zielfunktion (4.3) erhalten wir ¯ := C ∗ (d¯ −1 ) + δaK . C ∗ (d)
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
285
¯ ergeben sich als die fr¨ Die Gr¨ oßen Ze∗ (d) uhesten Eintrittszeitpunkte der Er¯ Z ∗ (d), ¯ e ∈ V , ist somit die eignisse e ∈ V unter Beachtung der Dauern p∗i (d). e L¨ osung des u ¨ berbestimmten linearen Gleichungssystems ¯ (i ∈ E|TF i = 0) Ze¯ − Ze = p∗ (d) i
i
i
Z1 = 0 Zn = d¯ , wobei ei gerade dem Start- und e¯i dem Endereignis des Vorgangs i ∈ E ¯ := entsprechen. F¨ ur alle Vorg¨ ange i ∈ E, f¨ ur dieTF i = 0 erf¨ ullt ist, gilt Ze∗ (d) ∗ ¯ ∗ ¯ ∗ ¯ ∗ ¯ Ze (d −1 ). Die Funktionen C (d), Ze (d), e ∈ V , und pi (d), i ∈ E, sind also linear auf dem Intervall [d¯ , d¯ −1 ]. Beispiel 4.5 (Fortsetzung von Beispiel 4.4). F¨ ur den CPM-Netzplan in Abbildung 4.3 ist d¯ −1 = 11 und die Werte p∗i (d¯ −1 ), i ∈ E, entsprechen den an den Pfeilen in Abbildung 4.3 angegebenen Vorgangsdauern pi . Somit erhalten wir f¨ ur Ze∗ (d¯ −1 ), e ∈ V , die in Tabelle 4.2 dargestellten Werte. Unter Beachtung der in Tabelle 4.1 angegebenen Zusatzkosten ai ergibt sich f¨ ur den Zielfunktionswert C ∗ (d¯ −1 ) = − i∈E ai p∗i (d¯ −1 ) = −86. Tabelle 4.2. Startzeitpunkte Ze∗ (d¯−1 ) der Ereignisse e ∈ V f¨ ur d¯−1 = 11 e∈V
1
2
3
4
Ze∗ (d¯−1 )
0
3
6
11
In Beispiel 4.4 haben wir die minimale Verk¨ urzungsmenge K2 = {5} mit zugeh¨ origem Verk¨ urzungsfaktor δ K2 = 2 und Kostenfaktor aK2 = 4 bestimmt. F¨ ur eine Projektdauer d¯ aus dem Intervall [d¯ = d¯ −1 − δ K2 , d¯ −1 ] = [9, 11] ¯ Z ∗ (d) ¯ und C ∗ (d). ¯ erhalten wir wie folgt die optimalen Funktionswerte p∗i (d), e Da K2 lediglich den zu verk¨ urzenden Vorgang 5 enth¨alt, gilt wegen δ K2 = ¯ := 5 − (11 − d) ¯ f¨ d¯ −1 − d¯ f¨ ur die optimale Dauer dieses Vorgangs p∗5 (d) ur ¯ := p∗ (d¯ −1 ), d.h. die Vord¯ ∈ [9, 11]. F¨ ur alle u ange ist p∗i (d) ¨ brigen Vorg¨ i gangsdauern dieser Vorg¨ ange bleiben unver¨ andert. F¨ ur die Eintrittszeitpunkte der Ereignisse e ∈ V ergeben sich f¨ ur d¯ ∈ [9, 11] die in Tabelle 4.3 dar¯ mit d¯ ∈ [9, 11] erhalten wir gestellten Werte. Als Zielfunktionswert C ∗ (d) ¯ := C ∗ (11) + (11 − d)a ¯ K2 = −86 + (11 − d)4. ¯ C ∗ (d) ¯ der Ereignisse e ∈ V f¨ Tabelle 4.3. Startzeitpunkte Ze∗ (d) ur d¯ ∈ [9, 11] e∈V
1
2
3
4
¯ Ze∗ (d)
0
3
6
d¯
Verk¨ urzen wir die Ausf¨ uhrungsdauer von Vorgang 5 so stark wie m¨oglich, d.h. um δ K2 = 2 Zeiteinheiten, so erhalten wir p∗5 = 3 und die minimale
286
4 Kostenplanung
Projektdauer ergibt sich zu d¯ = d¯ −1 − δ K2 = 11 − 2 = 9 Zeiteinheiten. Der optimale Zielfunktionswert lautet dann C ∗ (d¯ ) = −86 + 8 = −78. Abbildung 4.4 zeigt den entsprechend modifizierten CPM-Netzplan.
2 3; 6; 6 4
3
1
1; 3; 5
3; 3 2; 1 1; 6; 6 2
Legende: 4
3; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.4. CPM-Netzplan
Um Problem (4.3) – (4.7) f¨ ur alle m¨ oglichen Werte von d¯ aus dem Intermin ¯n ¯ vall [d , d ] zu l¨ osen, gehen wir wie folgt vor. Ausgehend von einem CPMNetzplan mit den Pfeilbewertungen pni sowie der resultierenden Projektdauer d¯0 := d¯n und dem Zielfunktionswert − i∈E ai pni bestimmen wir zun¨achst eine minimale Verk¨ urzungsmenge K sowie den zugeh¨origen Verk¨ urzungsfaktor δ K und den Kostenfaktor aK . Der Verk¨ urzungsfaktor δ K liefert unmittelbar die untere Grenze d¯1 = d¯0 − δ K f¨ ur das erste zu betrachtende Intervall [d¯1 , d¯0 ] ¯ ¯ ¯ (vgl. Abb. 4.2). F¨ ur d ∈ [d1 , d0 ] ermitteln wir dann wie oben beschrieben eine ¯ i ∈ E, Z ∗ (d), ¯ e ∈ V , und C ∗ (d). ¯ optimale L¨ osung f¨ ur die Funktionen p∗i (d), e Anschließend gehen wir von dem zugrunde liegenden CPM-Netzplan mit den Pfeilbewertungen p∗i (d¯1 ), i ∈ E, und dem Zielfunktionswert C ∗ (d¯1 ) aus und bestimmen abermals eine minimale Verk¨ urzungsmenge und die resultierende untere Intervallgrenze d¯2 . F¨ ur d¯ ∈ [d¯2 , d¯1 ] ermitteln wir wiederum die Werte ¯ i ∈ E, Z ∗ (d), ¯ e ∈ V , und C ∗ (d). ¯ Diese Schritte werden so lange wiep∗i (d), e derholt, bis das gesamte Intervall [d¯min , d¯n ] auf diese Weise untersucht wurde, ¯ i ∈ E, Z ∗ (d), ¯ e ∈ V , und C ∗ (d) ¯ d.h. bis wir im r-ten Verfahrensschritt p∗i (d), e f¨ ur d¯ ∈ [d¯r = d¯min , d¯r−1 ] bestimmt haben. Dies ist der Fall, wenn f¨ ur alle Vorg¨ ange, die auf einem kritischen Weg von 1 nach m liegen, die Vorgangsdauer pi = pmin ist. i Die Schwierigkeit in der geschilderten Vorgehensweise besteht in der Bestimmung einer minimalen Verk¨ urzungsmenge K f¨ ur den einem Intervall [d¯ , d¯ −1 ], = 1, . . . , r, zugrunde liegenden CPM-Netzplan. F¨ ur gr¨oßere Netzpl¨ ane nimmt die Anzahl m¨ oglicher Verk¨ urzungsmengen rasch zu, so dass eine Enumeration aller m¨ oglichen Verk¨ urzungsmengen sehr aufw¨andig ist. In Abschnitt 4.2.2 beschreiben wir daher mit dem Algorithmus von Kelley ein rechentechnisch sehr g¨ unstiges Verfahren zur L¨osung des parametrischen Optimierungsproblems (4.3) – (4.7). Daf¨ ur ben¨ otigen wir jedoch zun¨achst einige
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
287
weitere graphentheoretische Grundlagen zur Bestimmung maximaler Fl¨ usse und minimaler Schnitte in einem Netzwerk mit Kapazit¨aten, die wir im folgenden Abschnitt 4.2.1 erl¨ autern. 4.2.1 Bestimmung maximaler Fl¨ usse In Abschnitt 2.2.2 haben wir ein Verfahren kennengelernt, mit dem man in einem Netzwerk einen kostenminimalen Fluss vorgegebener St¨arke ermittelt. Im Folgenden beschreiben wir den Algorithmus von Ford und Fulkerson zur Bestimmung eines Flusses maximaler St¨ arke in einem solchen Netzwerk. Eine Einf¨ uhrung in die Optimierung auf Graphen und Netzen findet sich z.B. in Winston (2004, Kapitel 8). Gegeben sei ein Digraph V F , E F mit Knotenmenge V F und Pfeilmenge E F sowie einer Minimalkapazit¨ at λij ≥ 0 und einer Maximalkapazit¨at κij ≥ λij f¨ ur jeden Pfeil i, j ∈ E F . Sei ferner xij f¨ ur alle i, j ∈ E F eine Entscheidungsvariable, die angibt, wie viele Flusseinheiten u ¨ ber den Pfeil i, j transportiert werden. Dann entspricht die Bestimmung eines maximalen Flusses zwischen zwei ausgezeichneten Knoten r (Flussquelle) und s (Flusssenke) im Flussnetzwerk N F = V F , E F ; λ, κ mit Kapazit¨aten der L¨osung des linearen Optimierungsproblems ⎫ Max. ω ⎪ ⎪ ⎧ ⎪ ⎪ ω f¨ u r i = r ⎬ ⎨ (4.8) ur i = s (i ∈ V F ) u.d.N. xij − xki = −ω f¨ ⎪ ⎩ ⎪ j∈Succ(i) k∈Pred(i) 0 sonst ⎪ ⎪ ⎭ ( i, j ∈ E F ) λij ≤ xij ≤ κij Der Wert der Entscheidungsvariable ω repr¨ asentiert die St¨arke des zugeh¨origen Flusses von r nach s; eine optimale L¨ osung dieses Problems kann mit Hilfe des Simplex-Algorithmus bestimmt werden. Aufgrund der speziellen Struktur von Problem (4.8) existiert mit dem Algorithmus von Ford und Fulkerson jedoch ein wesentlich effizienteres Verfahren zur Bestimmung maximaler Fl¨ usse in einem Netzwerk N F . Dazu ben¨otigt man eine zul¨ assige L¨ osung f¨ ur Problem (4.8) und konstruiert dann ausgehend von dieser Startl¨ osung eine Folge von zul¨ assigen Fl¨ ussen mit wachsender Flussst¨ arke ω.4 Zu diesem Zweck werden flussvergr¨oßernde (r, s)-Semiwege von Knoten r nach Knoten s konstruiert. Sei W = i1 , i2 , . . . , in ein Semiweg von Knoten i1 nach Knoten in . Ein Pfeil von W heißt Vorw¨ artspfeil, wenn er dieselbe Orientierung wie W hat, 4
Gilt λij = 0 f¨ ur alle i, j ∈ E F , so ist eine zul¨ assige Ausgangsl¨ osung unmittelur alle i, j ∈ E F gegeben. Ist dies nicht der bar durch ω := 0 und xij := 0 f¨ Fall, so kann, wie in Neumann und Morlock (2002, Kap. 2.6.4) beschrieben, ein zul¨ assiger Ausgangsfluss ermittelt werden. F¨ ur den in Abschnitt 4.2.2 beschriebenen Algorithmus von Kelley gilt zu Beginn des Verfahrens stets λij = 0 f¨ ur alle i, j ∈ E F .
288
4 Kostenplanung
andernfalls R¨ uckw¨ artspfeil. F¨ ur einen zul¨ assigen Fluss xi1 i2 , xi2 i3 , . . . , xin−1 in auf einem Semiweg W = i1 , i2 , . . . , in stellt κij − xij , falls i, j Vorw¨artspfeil von W εij := xij − λij , falls i, j R¨ uckw¨artspfeil von W den maximalen Betrag dar, um den der Wert der Flussvariablen xij auf dem Vorw¨ artspfeil i, j erh¨ oht bzw. der Wert der Flussvariablen xij auf dem R¨ uckw¨ artspfeil i, j vermindert werden kann. Ist εij > 0 f¨ ur alle Pfeile i, j ∈ W , so heißt W flussvergr¨oßernder (i1 , in )-Semiweg. Zur Bestimmung eines flussvergr¨ oßernden Semiweges zwischen der Flussquelle r und der Flusssenke s werden ausgehend von Knoten r alle Knoten i markiert, zu denen von r aus mindestens eine zus¨atzliche Flusseinheit transportiert werden kann. Dazu u ufen wir f¨ ur alle Vorw¨artspfeile r, i , ob ¨ berpr¨ xri < κri gilt, bzw. f¨ ur alle R¨ uckw¨ artspfeile i, r , ob xir > λir erf¨ ullt ist. Gilt xri < κri oder xir > λir f¨ ur einen Knoten i, so markieren wir i. Ausgehend von einem der bereits markierten Knoten u ufen wir nun ganz analog, ob ¨ berpr¨ sich ein noch nicht markierter Knoten j markieren l¨asst. Diese Schritte werden solange wiederholt, bis schließlich die Senke s markiert werden konnte. Von s aus konstruieren wir danach mit Hilfe der Markierungen einen (r, s)Semiweg W und erh¨ ohen bzw. vermindern den Fluss auf den Vorw¨artspfeilen bzw. R¨ uckw¨ artspfeilen dieses Semiweges um mini,j ∈W εij Flusseinheiten. F¨ ur die resultierende neue L¨ osung xij ( i, j ∈ E F ) versuchen wir abermals einen flussvergr¨ oßerenden Semiweg zwischen der Quelle r und der Senke s zu finden. Das Verfahren terminiert, wenn die Senke s in einem der Verfahrensschritte nicht markiert werden kann. Der zuletzt gefundene Fluss von Knoten r nach Knoten s ist dann maximal. Der beschriebene Algorithmus von Ford und Fulkerson besteht somit aus einem Markierungsschritt und einem Flussvergr¨oßerungsschritt, die wir nachfolgend zusammenfassen. Markierung: Ausgehend von der Flussquelle, die mit (+, ∞) markiert wird, versucht man, die Flusssenke zu markieren. Dazu markiert man, ausgehend von einem markierten Knoten i, dessen unmarkierte Vorg¨anger k, f¨ ur die xki > λki gilt, mit (i−, εk = min{εi , xki −λki }) und dessen unmarkierte Nachfolger j, f¨ ur die xij < κij gilt, mit (i+, εj = min{εi , κij − xij }). Kann die Flusssenke markiert werden, bedeutet dies, dass ein flussvergr¨oßernder (r, s)-Semiweg existiert und der Ausgangsfluss um εs Flusseinheiten vergr¨ oßert werden kann. Flussvergr¨ oßerung: Ausgehend von der Senke s konstruiert man mit Hilfe der Markierungen einen (r, s)-Semiweg. Auf den Vorw¨artspfeilen dieses Semiweges erh¨ oht man den Wert der entsprechenden Flussvariablen um εs Einheiten, auf den R¨ uckw¨ artspfeilen verringert man den Wert der korrespondierenden Flussvariablen um εs Einheiten. Zur Illustration des Verfahrens betrachten wir das folgende Beispiel.
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
289
Beispiel 4.6. Wir legen das in Abbildung 4.5 dargestellte Netzwerk mit minimalen und maximalen Kapazit¨ aten zugrunde. Knoten 3 stellt eine Flussquelle dar und Knoten 6 eine Flusssenke. An den Pfeilen des Netzwerks ist außerdem ein zul¨ assiger Fluss der St¨ arke 5 von Knoten 3 nach Knoten 6 angegeben. 2; 6
2
2; 8 6
3
0
0; 5 5
1; 3
0; 1
1; 3 2
1
4
2
1; 3 2
2; 4
3
3
6 0; 2 0
5
Legende: λij ; κij i
xij
j
Abb. 4.5. Netzwerk mit Kapazit¨ aten
Wir wollen einen Fluss maximaler St¨ arke von Knoten 3 nach Knoten 6 bestimmen. Dazu markieren wir zun¨ achst, wie in Tabelle 4.4 dargestellt, die Flussquelle (Knoten 3) mit (+, ∞). Von Knoten 3 aus markieren wir nun Knoten 5 u uckw¨ artspfeil. Da x53 − λ53 = 3 − 2 = 1 > 0 ist, erh¨alt ¨ ber einen R¨ Knoten 5 die Markierung (3−, min{∞, 1}) = (3−, 1). Schließlich markieren wir u artspfeil Knoten 6 von Knoten 5 aus mit (5+, min{1, 2}) = ¨ ber einen Vorw¨ (5+, 1), da κ56 − x56 = 2 − 0 = 2 > 0 . Tabelle 4.4. Ablauf des Algorithmus von Ford und Fulkerson i ∈ V F Iteration 1 Iteration 2 1 2 3 4 5 6
(+, ∞)
(3+, 1) (3+, 1) (+, ∞) (2+, 1)
(3−, 1) (5+, 1)
Nun haben wir die Flusssenke markiert und somit einen Semiweg von Knoten 3 u ¨ ber Knoten 5 nach Knoten 6 gefunden, auf dem wir den aktuellen Fluss um ε6 = 1 Einheit erh¨ ohen bzw. verringern. Wir setzen daher x53 := x53 − 1 und x56 := x56 + 1 und erhalten das in Abbildung 4.6 dargestellte Netzwerk, in dem der gefundene flussvergr¨ oßernde Semiweg durch stark ausgezeichnete Pfeile repr¨ asentiert wird. Ausgehend von dem Netzwerk in Abbildung 4.6 versuchen wir nun abermals einen flussvergr¨ oßernden Semiweg von der Quelle zur Senke zu bestim-
4 Kostenplanung 2; 6
2
6
3
0
0; 5 5
1; 3
0; 1
1; 3 2
1
4
2
2; 8
290
1; 3 2
6 0; 2 1
2; 4 3
2
Legende: λij ; κij
5
i
xij
j
Abb. 4.6. Netzwerk mit Kapazit¨ aten
men. Wir markieren daher wieder Knoten 3 mit (+, ∞), von Knoten 3 aus markieren wir die Knoten 1 und 2 jeweils mit (3+, 1), und schließlich markieren wir Knoten 4 von Knoten 2 aus mit (2+, 1) (vgl. Tab. 4.4). Wir sind allerdings nicht in der Lage, von den markierten Knoten 1 bis 4 einen der bislang unmarkierten Knoten 5 oder 6 zu erreichen. Somit terminiert das Verfahren. Der in Abbildung 4.6 abgebildete Fluss der St¨arke 6 zwischen den Knoten 3 und 6 stellt daher einen maximalen Fluss dar. Wenn wir in einem Netzwerk N F mit Kapazit¨aten einen maximalen Fluss ω von der Quelle r zur Senke s bestimmt haben, sind wir h¨aufig daran interessiert, den Flaschenhals“ in N F zu ermitteln, d.h. die Menge der Pfeile in ” N F , die uns daran hindern, mehr als die ermittelten ω Flusseinheiten von r nach s zu transportieren. Dazu m¨ ussen wir zun¨achst den Begriff eines Schnittes in einem Digraphen einf¨ uhren. Hierzu sei die Knotenmenge V F von N F in zwei disjunkte (d.h. elementfremde), nichtleere Knotenmengen A und B zerlegt mit V F = A ∪ B und A ∩ B = ∅. Die Menge der von A nach B f¨ uhrenden Pfeile, d.h. die Menge der Pfeile i, j mit i ∈ A und j ∈ B, nennen wir einen (A von B) trennenden Schnitt, f¨ ur den wir kurz C(A, B) schreiben. Einen trennenden Schnitt C(B, A), der die Menge aller von B nach A f¨ uhrenden Pfeile enth¨ alt, bezeichnen wir als den zu C(A, B) kontr¨aren Schnitt. F¨ ur ein Netzwerk N F = V F , E F ; λ, κ mit Kapazit¨ aten k¨onnen wir jedem Schnitt C(A, B) eine Minimalkapazit¨ at λ(C(A, B)) := λij i,j ∈C(A,B)
und eine Maximalkapzit¨ at κ(C(A, B)) :=
κij
i,j ∈C(A,B)
zuordnen. Die Kapazit¨at eines Schnittes C(A, B) ist dann durch μ(C(A, B)) := κ(C(A, B)) − λ(C(B, A))
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
291
spezifiziert. μ(C(A, B)) entspricht also der maximal von A nach B transportierbaren Menge an Flusseinheiten abz¨ uglich der minimalen R¨ uckflussmenge“ ” von B nach A. In einem Netzwerk N F = V F , E F ; λ, κ bezeichnen wir einen Schnitt C(A, B), der die Quelle r ∈ A von der Senke s ∈ B trennt, auch als (r, s)Schnitt. Einen (r, s)-Schnitt, der unter allen m¨oglichen (r, s)-Schnitten die geringste Kapazit¨ at hat, bezeichnen wir als minimalen (r, s)-Schnitt. Das Problem der Bestimmung eines minimalen (r, s)-Schnittes entspricht gerade dem zu (4.8) dualen Optimierungsproblem. Daraus ergibt sich das folgende Theorem, welches beispielsweise in Bertsekas (1998, Kap. 3.1) bewiesen wird. Theorem 4.7 (Maximalfluss-Minimalschnitt-Theorem). Die St¨arke eines maximalen Flusses von r nach s in einem Netzwerk N F ist gleich der Kapazit¨ at eines minimalen (r, s)-Schnittes in N F . Die Kapazit¨ at eines (r, s)-Schnittes in N F ist also eine obere Schranke f¨ ur den maximalen Fluss von der Quelle r zur Senke s in N F . Wollen wir den maximalen Fluss von r nach s erh¨ ohen, so m¨ ussen wir die Maximalkapazit¨at κij f¨ ur mindestens einen Pfeil des minimalen (r, s)-Schnittes erh¨ohen bzw. die Minimalkapazit¨ at λij f¨ ur mindestens einen Pfeil des entsprechenden kontr¨aren Schnittes verringern. Zur Bestimmung eines minimalen (r, s)-Schnittes in einem Netzwerk N F kann man eine optimale L¨ osung f¨ ur Problem (4.8) bestimmen und dann mit Hilfe des Satzes 2.21 vom komplement¨ aren Schlupf eine optimale L¨osung des zu (4.8) dualen Problems ermitteln. Einfacher ist jedoch das nachfolgend beschriebene ¨ aquivalente Vorgehen. Wir bestimmen zun¨achst einen maximalen Fluss von der Quelle r zur Senke s in N F mit Hilfe des Algorithmus von Ford und Fulkerson. Wie wir gesehen haben, terminiert der Algorithmus von Ford und Fulkerson, wenn Knoten s von Knoten r ausgehend nicht markiert werden kann. Seien A die Menge der im letzten Iterationsschritt des Algorithmus markierten Knoten und B die Menge der nicht markierten Knoten. Dann ist der A von B trennende Schnitt C(A, B) ein minimaler (r, s)-Schnitt; zum Beweis siehe Neumann (1975, Kapitel 4.2.3). Beispiel 4.8 (Fortsetzung von Beispiel 4.6). Ausgehend von dem Netzwerk in Abbildung 4.5 und zugeh¨ origem Ausgangsfluss haben wir den in Abbildung 4.6 angegebenen maximalen Fluss von Knoten 3 nach Knoten 6 bestimmt. In Tabelle 4.4 sind die entsprechenden Iterationen des Algorithmus von Ford und Fulkerson zusammengefasst. Da in dem Netzwerk aus Abbildung 4.6 ausgehend von Knoten 3 ausschließlich die Knoten 1, 2, 3 und 4 markiert werden k¨onnen (vgl. Tab. 4.4), ist ein minimaler (3, 6)-Schnitt durch C(A, B) mit A = {1, 2, 3, 4} und B = {5, 6} gegeben, d.h. C(A, B) = { 4, 5 , 4, 6 }. Der hierzu kontr¨are Schnitt lautet C(B, A) = { 5, 3 }. Die Kapazit¨at des Schnittes C(A, B) ist somit μ(C(A, B)) = κ45 + κ46 − λ53 = 3 + 5 − 2 = 6. Wie wir sehen, entspricht μ(C(A, B)) gerade der St¨ arke des maximalen Flusses von Knoten 3 nach Knoten 6.
292
4 Kostenplanung
4.2.2 Algorithmus von Kelley In diesem Abschnitt beschreiben wir das Prinzip des von Kelley (1961) entwickelten Verfahrens zur L¨ osung des Time-Cost-Tradeoff-Problems f¨ ur CPMNetzpl¨ ane. Dabei lehnen wir uns an die von Phillips und Dessouky (1977) etablierte Darstellungsweise des Verfahrens an. Eine detaillierte Beschreibung und Herleitung des Verfahrens findet sich ferner in Neumann (1975, Kapitel 7.2.2) oder Demeulemeester und Herroelen (2002, Kapitel 8). Wie zu Beginn von Abschnitt 4.2 beschrieben, sei die Pfeilmenge eines CPMNetzplans durch E = {1, . . . , n} und die Knotenmenge durch V = {1, . . . , m} gegeben, wobei Knoten 1 den Projektstart und Knoten m das Projektende repr¨ asentieren. Im Folgenden beschreiben wir nur einen Verk¨ urzungsschritt, d.h. das Vorgehen zur L¨ osung eines nicht-parametrischen Optimierungsproblems (4.3) – (4.7) f¨ ur das Intervall [d¯ , d¯ −1 ]. Wir nehmen an, dass die optimalen Funktionswerte p∗i (d¯ −1 ), i ∈ E, Ze∗ (d¯ −1 ), e ∈ V , und C ∗ (d¯ −1 ) im Vorfeld bereits ermittelt wurden. Dem entsprechenden Netzplan N = V, E; p∗ (d¯ −1 ) dieses Verk¨ urzungsschrittes ordnen wir wie folgt ein Flussnetzwerk mit Kapazit¨aten N F = V F , E F ; λ, κ zu. Die Pfeilmenge E F enth¨alt alle Vorg¨ange i aus N mit freier Pufferzeit EFF i = 0 (vgl. Abschnitt 1.4.4), d.h. alle Vorg¨ange i, f¨ ur die eine Verz¨ ogerung des Startzeitpunktes von i zu einer entsprechenden Verz¨ ogerung mindestens eines unmittelbaren Nachl¨aufers von i f¨ uhrt. Die Knotenmenge V F := {ei , e¯i ∈ V | i ∈ E F } beinhaltet alle die Start- und Endereignisse der Vorg¨ ange i ∈ E F repr¨ asentierenden Knoten. Die Minimalund Maximalkapazit¨ aten λi und κi eines Pfeils i ∈ E F w¨ahlen wir so, dass wir eine minimale Verk¨ urzungsmenge K auf einfache Weise aus einem minimalen (1, m)-Schnitt in N F , den wir mit C(A, B) bezeichnen wollen, und dessen kontr¨ arem Schnitt C(B, A) erhalten. Die Kapazit¨at eines solchen minimalen (1, m)-Schnittes soll gerade dem zur Verk¨ urzungsmenge K geh¨orenden Kostenfaktor aK entsprechen. Zu diesem Zweck zerlegen wir die Pfeilmenge E F von N F in vier Teilmengen E1F , . . . , E4F . Zu welcher dieser Teilmengen ein Vorgang i ∈ E F geh¨ ort, h¨ angt von seiner Dauer p∗i (d¯ −1 ) ab. Die ZuordF nung eines Vorgangs i ∈ E zu einer der Pfeilmengen E1F , . . . , E4F und die resultierenden Minimal- und Maximalkapazit¨ aten λi und κi sind in Tabelle 4.5 zusammengefasst. Die Dauern der Vorg¨ ange aus den Pfeilmengen E1F und E3F k¨onnen verk¨ urzt werden, w¨ ahrend die Dauern der Vorg¨ange aus E2F und E3F verl¨ angert werden k¨ onnen. Die Menge E4F enth¨alt alle Vorg¨ange, deren Dauern weder verk¨ urzt noch verl¨ angert werden k¨ onnen und damit insbesondere die Scheinvorg¨ ange eines CPM-Netzplans. Neumann (1975, Abschnitt 7.2.2) zeigt, dass K := K − ∪ K + mit
K − := C(A, B)
und K + := {i ∈ C(B, A) | i ∈ E2F ∪ E3F }
eine minimale Verk¨ urzungsmenge von N darstellt, wenn man die Minimalund Maximalkapazit¨ aten wie in Tabelle 4.5 angegeben w¨ahlt, und dass die
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
293
Tabelle 4.5. Bestimmung der Minimal- und Maximalkapazit¨ aten in N F i ∈ EF
Dauer p∗i (d¯−1 )
E1F E2F E3F E4F
pmin i pmin i pmin i pmin i
< = < =
p∗i (d¯−1 ) p∗i (d¯−1 ) p∗i (d¯−1 ) p∗i (d¯−1 )
= < < =
pn i pn i pn i pn i
λi
κi
0
ai
ai
∞
ai
ai
0
∞
Kapazit¨ at des zugrunde liegenden Schnittes dem Kostenfaktor der minimalen Verk¨ urzungsmenge entspricht. Wir verdeutlichen den Zusammenhang zwischen den (1, m)-Schnitten in N F und den zugeh¨ origen Verk¨ urzungsmengen in N anhand des folgenden Beispiels. Beispiel 4.9. Wir betrachten den CPM-Netzplan N aus Abbildung 4.3, dem wir wie oben beschrieben und unter Zuhilfenahme von Tabelle 4.5 das in Abbildung 4.7 dargestellte kapazitierte Netzwerk N F zuordnen. Pfeilmenge E1F besteht aus den Vorg¨ angen 1, 2 und 5, Pfeilmenge E3F beinhaltet Vorgang 3, und f¨ ur die beiden verbleibenden Pfeilmengen gilt E2F = E4F = ∅. Ein zul¨assiger Fluss der St¨ arke 2 sei vorgegeben und an den Pfeilen in Abbildung 4.7 vermerkt. C(A1 , B 1 )
C(A2 , B 2 ) 2 2; 6 0; 1
3
2; 2; 2
1
Legende:
0; 0; 4 2
C(A4 , B 4 )
3
4 2; 4 0; 5
ei
λi ; xi ; κi e¯i i
C(A3 , B 3 )
Abb. 4.7. Netzwerk mit Kapazit¨ aten N F und zugeh¨ orige (1, 4)-Schnitte
In Netzwerk N F gibt es insgesamt vier Knoten 1 von Knoten 4 trennende Schnitte, die wir mit C(A1 , B 1 ), . . . , C(A4 , B 4 ) bezeichnen und durch die gestrichelten Linien angedeutet haben. Schnitt C(A1 , B 1 ) beinhaltet mit A1 = {1} und B 1 = {2, 3, 4} die Vorg¨ ange 1 und 2, und die zugeh¨ orige Schnittkapazit¨at ist μ(C(A1 , B 1 )) = 1 1 6 + 4 = 10. Schnitt C(A , B ) entspricht somit gerade der Verk¨ urzungsmenge K 1 = {1, 2}, die wir in Beispiel 4.2 bestimmt haben, und die Kapazit¨at μ(C(A1 , B 1 )) des Schnittes ist gleich dem zu K 1 geh¨origen Kostenfaktor aK1 = 10 (vgl. Beispiel 4.4). Ebenso wie in Beispiel 4.2 k¨onnen die Vorg¨ange
294
4 Kostenplanung
in C(A1 , B 1 ) verk¨ urzt werden, w¨ ahrend kein Vorgang verl¨angert wird, da der zu C(A1 , B 1 ) kontr¨ are Schnitt C(B 1 , A1 ) leer ist. Ganz analog gelten f¨ ur Schnitt C(A2 , B 2 ) mit A2 = {1, 2, 3} und B 2 = {4} 2 die Beziehungen C(A , B 2 ) = {5} = K 2 und μ(C(A2 , B 2 )) = 4 = aK2 . Der Vorgang in C(A2 , B 2 ) wird verk¨ urzt und da C(B 2 , A2 ) = ∅ gilt, wird kein Vorgang verl¨ angert. Schnitt C(A3 , B 3 ) = {1, 5} und der zugeh¨ orige nichtleere kontr¨are Schnitt C(B 3 , A3 ) = {3} sind durch die Knotenmengen A3 = {1, 3} und B 3 = {2, 4} eindeutig spezifiziert. Die Kapazit¨ at dieses Schnittes betr¨agt μ(C(A3 , B 3 )) = 3 3 3 3 κ(C(A , B )) − λ(C(B , A )) = 6 + 4 − 2 = 8. Daher gilt C(A3 , B 3 ) ∪ {i ∈ C(B 3 , A3 ) | i ∈ E2F ∪ E3F } = {1, 5} ∪ {3} = K 3 und μ(C(A3 , B 3 )) = aK3 . Wie in Beispiel 4.2 werden die Vorg¨ ange in Schnitt C(A3 , B 3 ) verk¨ urzt und 3 3 der im kontr¨ aren Schnitt C(B , A ) enthaltene Vorgang i ∈ E2F ∪ E3F um die entsprechende Zeitspanne verl¨ angert. Schließlich gelten f¨ ur Schnitt C(A4 , B 4 ) mit A4 = {1, 2} und B 4 = {3, 4} die Beziehungen C(A4 , B 4 ) = {2, 3} = K 4 sowie μ(C(A4 , B 4 )) = 6 = aK4 . Die Vorg¨ ange in C(A4 , B 4 ) werden alle verk¨ urzt und kein Vorgang wird verl¨angert. Wir wollen nunmehr die in Tabelle 4.5 angegebene Wahl der zu einem Vorgang i ∈ E geh¨ orenden Minimal- und Maximalkapazit¨aten λi bzw. κi in N F plausibilisieren. Nehmen wir an, ein Vorgang i sei in der Pfeilmenge E1F (wie z.B. Vorgang 1 in Beispiel 4.2) enthalten, d.h. er kann nur verk¨ urzt, aber nicht verl¨angert werden. Damit Vorgang i verk¨ urzt wird, muss er Bestandteil eines (1, m)Schnittes C(A, B) sein, was wegen κi := ai < ∞ m¨oglich ist. In diesem Fall gehen die Kosten ai f¨ ur die Verk¨ urzung des Vorgangs in die Kapazit¨at des Schnittes C(A, B) ein. Andererseits darf Vorgang i ∈ E1F nicht verl¨angert werden. Dies wird durch die Definition von K + := {i ∈ C(B, A) | i ∈ E2F ∪ E3F } gew¨ ahrleistet. Selbst wenn Vorgang i auf dem zu einem Schnitt C(A, B) kontr¨ aren Schnitt C(B, A) liegt, geht wegen λi := 0 die untere Flusskapazit¨at des zu Vorgang i geh¨ orenden Pfeils in N F nicht in die Kapazit¨at eines (1, m)Schnittes ein. Kann Vorgang i nur verl¨ angert, aber nicht verk¨ urzt werden, d.h. er ist Bestandteil der Pfeilmenge E2F , so wird durch κi := ∞ gew¨ahrleistet, dass Vorgang i nicht auf einem (1, m)-Schnitt C(A, B) liegt. Wegen λi := ai > −∞ kann Vorgang i aber Bestandteil des zu einem Schnitt C(A, B) kontr¨aren Schnittes C(B, A) bzw. der zugeh¨ origen Menge K + sein und somit verl¨angert werden. Falls Vorgang i verl¨ angert wird, finden die entsprechen zus¨atzlichen Kosten −ai wegen λi := ai bei der Ermittlung der Kapazit¨at des zugeh¨origen Schnittes C(A, B) Ber¨ ucksichtigung. Ist Vorgang i Bestandteil der Menge E3F (vgl. bspw. Vorgang 3 in Beispiel 4.2), d.h. er kann sowohl verk¨ urzt als auch verl¨angert werden, dann wird durch λi := ai > −∞ und κi := ai < ∞ sichergestellt, dass er entweder Bestandteil eines (1, m)-Schnittes C(A, B) oder des kontr¨aren Schnittes C(B, A) sein kann. In beiden F¨ allen werden die Kosten ai zur Verk¨ urzung
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
295
bzw. Verl¨ angerung des Vorgangs bei der Bestimmung der Kapazit¨at des zugeh¨ origen Schnittes C(A, B) ber¨ ucksichtigt. Kann Vorgang i weder verk¨ urzt noch verl¨ angert werden, d.h. Vorgang i ist in E4F enthalten, so darf Vorgang i nicht Bestandteil eines (1, m)-Schnittes C(A, B) sein, was durch κi := ∞ sichergestellt ist. Wegen K + := {i ∈ C(B, A) | i ∈ E2F ∪ E3F } wird Vorgang i außerdem nicht verl¨angert werden, und falls er auf einem zu C(A, B) kontr¨ aren Schnitt C(B, A) liegt, bleibt er wegen λi := 0 bei der Bestimmung der zugeh¨origen Schnittkapazit¨at unber¨ ucksichtigt. Haben wir mit Hilfe des Algorithmus von Ford und Fulkerson einen minimalen (1, m)-Schnitt in N F und damit eine minimale Verk¨ urzungsmenge K = K − ∪K + = C(A, B)∪(C(B, A)∩(E2F ∪E3F )) sowie den zugeh¨origen Kostenfaktor aK = μ(C(A, B)) bestimmt, muss nun der zugeh¨orige Verk¨ urzungs˜ ⊂ E die Menge aller Vorg¨ange i mit pofaktor δ K ermittelt werden. Sei E sitiver freier Pufferzeit EFF i > 0, deren Startereignis ei bei gegebenem minimalen Schnitt C(A, B) Bestandteil der Menge A und deren Endereignis e¯i Bestandteil der Menge B ist, d.h. ˜ := {i ∈ E \ E F | ei ∈ A, e¯i ∈ B} . E Dann setzen wir δ K := min{δ1K , δ2K , δ3K } mit δ1K := min− {p∗i (d¯ −1 ) − pmin } i i∈K δ K := min {pn − p∗ (d¯ −1 )} 2
δ3K
i∈K +
:=
i
i
min{Ze¯∗i (d¯ −1 ) ˜ i∈E
− Ze∗i (d¯ −1 ) − p∗i (d¯ −1 )} .
δ1K und δ2K sorgen daf¨ ur, dass bei einer Verk¨ urzung bzw. Verl¨angerung der Dauer eines Vorgangs i die zugeh¨ orige Mindestdauer pmin bzw. H¨ochstdauer i pni nicht unter- bzw. u ¨ berschritten wird. δ3K gew¨ahrleistet, dass die Dauer eines Vorgangs aus K − nur soweit verk¨ urzt werden kann, bis ein nicht kritischer Vorgang kritisch geworden ist. Sobald wir die minimale Verk¨ urzungsmenge K = K − ∪ K + und den K Verk¨ urzungsfaktor δ bestimmt haben, erhalten wir analog zu der zu Beginn von Abschnitt 4.2 beschriebenen Vorgehensweise f¨ ur d¯ = d¯ −1 − δ, δ ∈ [0, δ K ], die neuen optimalen Funktionswerte ⎧ ∗ ¯ ⎪ ur i ∈ K − ⎪ ⎨ pi (d −1 ) − δ f¨ ¯ := p∗ (d¯ −1 ) + δ f¨ p∗i (d) (i ∈ E) ur i ∈ K + i ⎪ ⎪ ⎩ ∗ ¯ p (d ) sonst ⎧ i −1 ⎨ Z ∗ (d¯ ) − δ falls e ∈ B
−1 e ¯ := Ze∗ (d) (e ∈ V ) ⎩ Z ∗ (d¯ −1 ) sonst e
296
4 Kostenplanung
¯ := C ∗ (d¯ −1 ) + δω C ∗ (d) wobei die St¨ arke ω eines maximalen Flusses von 1 nach m in N F gerade dem zur minimalen Verk¨ urzungsmenge K geh¨ orenden Kostenfaktor aK entspricht. Ausgehend von den optimalen Werten p∗i (d¯ ), i ∈ E, Ze∗ (d¯ ), e ∈ V , und C ∗ (d¯ ) mit d¯ := d¯ −1 − δ wiederholen wir die beschriebenen Schritte, bis schließlich das gesamte Intervall [d¯min , d¯n ] untersucht wurde. Beispiel 4.10. Wir illustrieren das Verfahren von Kelley anhand eines Beispiels. Dazu betrachten wir den in Abbildung 4.8 dargestellten CPM-Netzplan mit 5 Vorg¨ angen, wobei die Dauer jedes Vorgangs i gleich pni ist. 2 3; 6; 6 4
3
1
1; 5; 5
3; 3 2; 1 1; 6; 6 2
Legende: ei
4
pmin ; pi ; pn i i
e¯i
i
5; 5 2; 5
3 Abb. 4.8. CPM-Netzplan zu Beispiel 4.10
Die zu den unteren und oberen Schranken pmin und pni geh¨origen Kosten i n und ci und somit die Zusatzkosten ai f¨ ur alle Vorg¨ange i ∈ E entsprechen ¨ gerade den Werten aus Beispiel 4.2. Aus Gr¨ unden der Ubersichtlichkeit geben wir diese Werte nochmals in Tabelle 4.6 an. cmin i
Tabelle 4.6. Zus¨ atzliche Informationen f¨ ur Netzplan N in Abbildung 4.8 i∈E
1
2
3
4
5
pmin i pn i cmin i cn i
2 3 7 1 6
1 6 21 1 4
1 5 9 1 2
3 6 10 1 3
2 5 13 1 4
ai
¯ ¯n ∗ ¯ Wir setzen pni f¨ ur alle Vorg¨ange i ∈ E und d0 :=∗ d¯ , pi (d0 ) := ∗ ¯ ¯ C (d0 ) := − i∈E ai pi (d0 ) = −90. Ze (d0 ) entspricht f¨ ur alle Ereignisse e ∈ V gerade dem fr¨ uhesten Eintrittszeitpunkt des Ereignisses e f¨ ur gegebene Dauern p∗i (d¯0 ), d.h. Z1∗ := 0, Z2∗ := 3, Z3∗ := 8 und Z4∗ := 13. Abbildung 4.9 zeigt das zum ersten Verfahrensschritt geh¨orige Netzwerk N F mit Kapazit¨ aten und als zul¨ assigen Ausgangsfluss den Nullfluss. Da zu ∗
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
297
Beginn des Verfahrens pmin < p∗i (d¯0 ) = pni gilt, setzen wir f¨ ur alle Vorg¨ange i F F i ∈ E = E1 die Minimalkapazit¨ at λi auf 0 und die Maximalkapazit¨at κi gleich ai .
2 0; 6 0; 1
3
0; 0; 2
1
Legende: ei
4
λi ; xi ; κi e¯i i
0; 4 0; 5
3 Abb. 4.9. Ausgangsfluss im 1. Verfahrensschritt
Wir bestimmen nun einen maximalen Fluss von Knoten 1 nach Knoten 4 im Netzwerk N F . Tabelle 4.7 zeigt die entsprechenden Markierungsschritte f¨ ur den Algorithmus von Ford und Fulkerson (vgl. Abschnitt 4.2.1), und in Abbildung 4.10 ist der gefundene maximale Fluss der St¨arke ω = 2 dargestellt.
Tabelle 4.7. 1. Verfahrensschritt des Ford-Fulkerson-Algorithmus e ∈ V Iteration 1 Iteration 2 1 2 3 4
(+, ∞) (1+, 6) (2+, 2) (3+, 2)
(+, ∞) (1+, 4)
2 2; 6 0; 1
3
0; 2; 2
1
Legende: 4 2; 4 0; 5
ei
λi ; xi ; κi e¯i i
3 Abb. 4.10. Maximaler Fluss im 1. Verfahrensschritt
298
4 Kostenplanung
Die Menge der in der zweiten Iteration des Algorithmus von Ford und Fulkerson markierten Knoten ist A = {1, 2}, und die nicht markierten Knoten sind B = {3, 4}. Der minimale (1, 4)-Schnitt C(A, B) enth¨alt somit nur den Vorgang 3 mit Startereignis 2 und Endereignis 3, der kontr¨are Schnitt C(B, A) ist leer. Damit erhalten wir ˜ = {2, 4} K − = {3}, K + = ∅, E K K K δ1 = 4, δ2 = ∞, δ3 = min{2, 4} = 2, δ K = min{δ1K , δ2K , δ3K } = 2 . Wegen δ K = 2 kann die Dauer des Vorgangs 3 um h¨ochstens zwei Zeiteinheiten verk¨ urzt werden, die Dauern der u ¨ brigen Vorg¨ange bleiben unver¨andert. Abbildung 4.11 zeigt den modifizierten CPM-Netzplan f¨ ur d¯1 := d¯0 − 2 = 11. Die Werte Ze∗ (d¯1 ) entsprechen gerade den fr¨ uhesten Eintrittszeitpunkten der Ereignisse e ∈ V , und f¨ ur den zugeh¨ origen Zielfunktionswert erhalten wir C ∗ (d¯1 ) := C ∗ (d¯0 ) + δ K ω = −90 + 2 · 2 = −86. 2 3; 6; 6 4
3
1
1; 3; 5
3; 3 2; 1 1; 6; 6 2
Legende: 4
5; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.11. CPM-Netzplan nach dem 1. Verfahrensschritt
Das Netzwerk mit Kapazit¨ aten f¨ ur den 2. Verfahrensschritt des Algorithmus von Kelley ist in Abbildung 4.12 dargestellt. F¨ ur die Vorg¨ange i = 1, 2, 5 setzen wir λi := 0 und κi := ai . Da Vorgang 3 wegen pmin < p∗3 (d¯1 ) < pn3 in 3 der Pfeilmenge E3F enthalten ist, gilt λ3 = a3 und κ3 = a3 . Als Ausgangsfluss w¨ ahlen wir f¨ ur alle i ∈ E F den jeweiligen maximalen Flusswert aus dem vorhergehenden Verfahrensschritt. F¨ ur den neu hinzugekommenen Vorgang 2 setzen wir x2 := 0. Die Markierungsschritte zur Bestimmung des in Abbildung 4.13 dargestellten maximalen Flusses der St¨ arke 4 sind in Tabelle 4.8 zusammengefasst. Der minimale (1, 4)-Schnitt beinhaltet Vorgang 5. Wir erhalten somit ˜ = {4} K − = {5}, K + = ∅, E K K K δ1 = 3, δ2 = ∞, δ3 = 2, δ K = min{δ1K , δ2K , δ3K } = 2 .
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen 2
4
1
2; 4 0; 5
3
0; 0; 4 2
;6 0; 2 1
2; 2; 2
3
1
2
2; 2; 2
2; 6 0; 1
299
0; 2 ; 2
4
4 ;4 0; 4 5
3
3
Abb. 4.12. Ausgangsfluss im 2. Verfahrensschritt
Abb. 4.13. Maximaler Fluss im 2. Verfahrensschritt
Tabelle 4.8. 2. Verfahrensschritt des Ford-Fulkerson-Algorithmus e ∈ V Iteration 1 Iteration 2 1 2 3 4
(+, ∞) (1+, 4) (3+, 2)
(+, ∞) (1+, 4) (1+, 2)
Daher verk¨ urzen wir die Dauer des Vorgangs 5 um 2 Zeiteinheiten. Der neue CPM-Netzplan f¨ ur d¯2 := d¯1 −2 = 9 ist in Abbildung 4.14 angegeben. F¨ ur den Zielfunktionswert erhalten wir C ∗ (d¯2 ) := C ∗ (d¯1 ) + δ K ω = −86 + 2 · 4 = −78. 2 3; 6; 6 4
3
1
1; 3; 5
3; 3 2; 1 1; 6; 6 2
Legende: 4
3; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.14. CPM-Netzplan nach dem 2. Verfahrensschritt
Das zum Netzplan in Abbildung 4.14 geh¨ orige kapazitierte Netzwerk N F ist in Abbildung 4.15 dargestellt und der resultierende maximale Fluss der St¨arke ω = 7 in Abbildung 4.16. Der zugeh¨ orige Knoten 1 von Knoten 4 trennende minimale Schnitt C(A, B) ist durch die Knotenmengen A = {1, 2, 3} und B = {4} spezifiziert. Folglich ergibt sich ˜=∅ K − = {4, 5}, K + = ∅, E
300
4 Kostenplanung 2
;6 0; 5 1
4
1
4; 4 4; 5
3
0; 2; 4 2
2
0; 0; 3 4
0; 2 ; 2
0; 3 ;
2; 2; 2
3
1
2; 2; 2
2; 6 0; 1
4
4
3
4 ;4 4; 4 5
3
3
Abb. 4.15. Ausgangsfluss im 3. Verfahrensschritt
Abb. 4.16. Maximaler Fluss im 3. Verfahrensschritt
δ1K = min{3, 1} = 1, δ2K = ∞, δ3K = ∞, δ K = min{δ1K , δ2K , δ3K } = 1 , und wir verk¨ urzen die Dauern der Vorg¨ ange 4 und 5 um eine Zeiteinheit. Abbildung 4.17 zeigt den neuen CPM-Netzplan f¨ ur d¯3 := d¯2 − 1 = 8. Der ∗ ¯ entsprechende Zielfunktionswert lautet C (d3 ) := C ∗ (d¯2 )+δ K ω = −78+1·7 = −71. 2 3; 5; 6 4
3
1
1; 3; 5
3; 3 2; 1 1; 6; 6 2
Legende: 4
2; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.17. CPM-Netzplan nach dem 3. Verfahrensschritt
In der 4. Iteration des Algorithmus von Kelley betrachten wir das in Abbildung 4.18 dargestellte Netzwerk mit Kapazit¨ aten. Da Vorgang 5 nicht weiter verk¨ urzt werden kann, ist der Vorgang Bestandteil der Menge E2F und wir setzen λ5 := 4 und κ5 := ∞. Mit Hilfe des Algorithmus von Ford und Fulkerson ermitteln wir den in Abbildung 4.19 angegebenen maximalen Fluss von Knoten 1 nach Knoten 4 und den zugeh¨ origen minimalen Schnitt C(A, B) mit A = {1, 2} und B = {3, 4}. Es gilt ˜=∅ K − = {2, 3, 4}, K + = ∅, E δ1K = min{5, 2, 2} = 2, δ2K = ∞, δ3K = ∞, δ K = min{δ1K , δ2K , δ3K } = 2 , und wir verk¨ urzen die Dauern der Vorg¨ ange 2, 3 und 4 um zwei Zeiteinheiten. Der resultierende CPM-Netzplan ist f¨ ur d¯4 := d¯3 − 2 = 6 in Abbildung 4.20
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen 2
;6 0; 5 1
4
1
4; ∞ 4; 5
3
0; 2; 4 2
2
3; 3; 3 4
0; 4 ; 2
3; 3 ;
2; 2; 2
3
1
2; 2; 2
5; 6 0; 1
4
4
301
3
4 ;∞ 4; 6 5
3
3
Abb. 4.18. Ausgangsfluss im 4. Verfahrensschritt
Abb. 4.19. Maximaler Fluss im 4. Verfahrensschritt
wiedergegeben, und wir bestimmen C ∗ (d¯4 ) := C ∗ (d¯3 ) + δ K ω = −71 + 2 · 9 = −53.
2 3; 3; 6 4
3
1
1; 1; 5
3; 3 2; 1 1; 4; 6 2
Legende: pmin ; pi ; pn i i
ei
4
e¯i
i
2; 5 2; 5
3 Abb. 4.20. CPM-Netzplan nach dem 4. Verfahrensschritt
F¨ ur den 5. Verfahrensschritt erhalten wir das kapazitierte Netzwerk in Abbildung 4.21 sowie den in Abbildung 4.22 dargestellten maximalen Fluss der St¨ arke 10.
2
;6 0; 6 1
4 6; ∞ 4; 5
1
3
4; 4; 4 2
2
3; 3; ∞ 4
4; 4 ; 2
4
2; 3; ∞
3
1
2; 2; ∞
5; 6 0; 1
3; 3 ; 4
∞
4 ;∞ 4; 7 5
3
3
Abb. 4.21. Ausgangsfluss im 5. Verfahrensschritt
Abb. 4.22. Maximaler Fluss im 5. Verfahrensschritt
302
4 Kostenplanung
Der minimale (1, 4)-Schnitt beinhaltet die Vorg¨ange 1 und 2. Daher ist ˜=∅ K − = {1, 2}, K + = ∅, E K K δ1 = min{1, 3} = 1, δ2 = ∞, δ3K = ∞, δ K = min{δ1K , δ2K , δ3K } = 1 , d.h. die Dauern der Vorg¨ ange 1 und 2 werden um je eine Zeiteinheit vermindert, so dass wir f¨ ur d¯5 := d¯4 − 1 = 5 den Netzplan in Abbildung 4.23 mit C ∗ (d¯5 ) := C ∗ (d¯4 ) + δ K ω = −53 + 1 · 10 = −43 erhalten. 2 3; 3; 6 4
3
1
1; 1; 5
2; 3 2; 1 1; 3; 6 2
Legende: 4
2; 5 2; 5
ei
pmin ; pi ; pn i i
e¯i
i
3 Abb. 4.23. CPM-Netzplan nach dem 5. Verfahrensschritt
Damit terminiert der Algorithmus von Kelley, da es einen kritischen Weg von Knoten 1 zu Knoten 4 gibt, auf dem die Dauern der kritischen Vorg¨ange i gerade den Minimaldauern pmin entsprechen. Im korrespondierenden Flussi netzwerk w¨ urde sich ein maximaler Fluss der St¨arke ∞ ergeben. Das Projektende kann somit nicht fr¨ uher als zum Zeitpunkt d¯5 = 5 eintreten. Abbil¯ f¨ dung 4.24 zeigt die konvexe, st¨ uckweise lineare Funktion C ∗ (d) ur d¯ ∈ [5, 13]. Wir haben uns in diesem Abschnitt bislang ganz allgemein mit der L¨osung des Optimierungsproblems (4.3) – (4.7) in Abh¨angigkeit des Parameters d¯ ∈ [d¯min , d¯n ] besch¨ aftigt. Im Folgenden beschreiben wir das Vorgehen zur L¨osung von Problem (4.3) – (4.7) f¨ ur einen vorgeschriebenen Projektendtermin d¯ , d.h. wir betrachten das Optimierungsproblem ⎫ Minimiere C(p) = −ai pi ⎪ ⎪ ⎪ i∈E ⎪ ⎪ u.d.N. Ze¯i − Zei ≥ pi (i ∈ E) ⎬ (4.9) Z1 = 0 ⎪ ⎪ ⎪ Zn = d¯ ⎪ ⎪ ⎭ pi ∈ [pmin , pni ] (i ∈ E). i Um sicherzustellen, dass Problem (4.9) eine zul¨assige L¨osung besitzt, nehmen wir an, dass d¯ ∈ [d¯min , d¯n ] gilt. Zur Berechnung einer optimalen L¨osung f¨ ur das obige Problem k¨ onnen wir wieder den Algorithmus von Kelley verwenden. Dazu beginnen wir im ersten Verfahrensschritt mit den Vorgangsdauern p∗i (d¯0 ) := pni f¨ ur alle i ∈ E, wobei d¯0 gerade der Projektdauer d¯n entspricht.
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen −35
4
5
6
7
8
9
10
11
12
303
13 d¯
−40 −45 −50 −55 −60 −65 −70 −75 −80 −85 −90 ¯ C ∗ (d) ¯ f¨ Abb. 4.24. Optimale Zielfunktionswerte C ∗ (d) ur d¯ ∈ [d¯min = 5, d¯n = 13]
Der Algorithmus von Kelley wird solange ausgef¨ uhrt, bis im -ten Verfahrensschritt d¯ ≤ d¯ < d¯ −1 gilt. Sei K = K − ∪ K + die in diesem Verfahrensschritt ermittelte minimale Verk¨ urzungsmenge mit dem zugeh¨origen Verk¨ urzungsfaktor δ K . Dann erhalten wir f¨ ur die optimalen Vorgangsdauern ⎧ ∗ ur i ∈ K − ⎨ pi (d¯ −1 ) − δ f¨ ∗ ¯ ∗ ¯ ur i ∈ K + (i ∈ E) pi (d ) := pi (d −1 ) + δ f¨ ⎩ ∗ ¯ pi (d −1 ) sonst mit δ := d¯ −1 − d¯ , δ ∈ [0, δ K ]. Die optimalen Eintrittszeitpunkte Ze∗ (d¯ ) der Ereignisse e ∈ V ergeben sich nun unmittelbar aus den fr¨ uhesten Eintrittszeitpunkten EZ e der entsprechenden Ereignisse unter Ber¨ ucksichtigung der Vorgangsdauern p∗i (d¯ ), und der zugeh¨ orige optimale Zielfunktionswert ergibt sich wie bisher gem¨ aß C ∗ (d¯ ) := C ∗ (d¯ −1 ) + δω, wobei ω die St¨arke des im -ten Verfahrensschrittes bestimmten maximalen Flusses im zugeh¨origen kapazitierten Netzwerk N F ist.
304
4 Kostenplanung
In der Praxis ist man außerdem h¨ aufig daran interessiert, die Dauer eines Projektes unter Ber¨ ucksichtigung eines vorgegebenen Budgets L zu minimieren. Die mit der Ausf¨ uhrung eines Vorgangs i ∈ E verbundenen Kosten sind, wie zu Beginn von Kapitel 4 beschrieben, gerade gleich ci (pi ) = bi − ai pi . Damit lautet unsere Optimierungsaufgabe Minimiere Zn u.d.N. Ze¯i − Zei ≥ pi Z 1 = 0 (bi − ai pi ) ≤ L i∈E
pi ∈ [pmin , pni ] i
(i ∈ E)
(i ∈ E).
(4.10) (4.11) (4.12) (4.13) (4.14)
Nebenbedingung (4.13) stellt sicher, dass die Vorgangsdauern pi so gew¨ahlt werden, dass das vorgegebene Budget L eingehalten wird. Alternativ k¨onnen wir (4.13) auch in der Form − ai p i ≤ L i∈E
mit
L := L −
bi
i∈E
schreiben. Um zu gew¨ ahrleisten, dass f¨ ur Problem (4.10) – (4.14) eine zul¨assige L¨ o sung existiert, nehmen wir im Folgenden außerdem an, dass die Bedingung − i∈E ai pni ≤ L erf¨ ullt ist. Zur Bestimmung einer optimalen L¨osung von Problem (4.10) – (4.14) nutzen wir ¨ ahnlich zur oben beschriebenen Vorgehensweise das Verfahren von Kelley. Dazu beginnen wir im ersten Verfahrensschritt wieder mit den Vorgangsdauern p∗i (d¯0 ) := pni f¨ ur alle i ∈ E, wobei d¯0 geran ¯ de der Projektdauer d entspricht. Der Algorithmus von Kelley wird solange ausgef¨ uhrt, bis im -ten Verfahrensschritt f¨ ur ein d¯ ∈ [d¯ , d¯ −1 ] die Gleichung ¯ = L − ai p∗i (d) i∈E
¯ f¨ ¯ erf¨ ullt ist. p∗i (d) ur alle i ∈ E und die zugeh¨ origen Eintrittszeitpunkte Ze∗ (d) f¨ ur alle e ∈ V stellen dann eine optimale L¨ osung mit dem Zielfunktionswert ¯ dar. Zn∗ (d) Zu Beginn dieses Kapitels haben wir unsere Ausf¨ uhrungen in Bezug auf das Time-Cost-Tradeoff-Problem dahingehend eingeschr¨ankt, dass wir ausschließlich Vorgangseinzelkosten betrachten. Wie wir im Rahmen der Kostenanalyse in Abschnitt 1.4.2 gesehen haben, fallen im Zuge der Ausf¨ uhrung eines Projektes neben Vorgangseinzelkosten aber auch Gemeinkosten an. Wir beschreiben im Folgenden daher das Vorgehen zur Bestimmung eines Projektendtermins ¯ derart, dass die Gesamtd¯ ∈ [d¯min , d¯n ] und zugeh¨ origer Vorgangsdauern p∗i (d) kosten bestehend aus Einzel- und Gemeinkosten minimal sind.
4.2 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit Vorrangbeziehungen
Die Zielfunktion ¯ =− C(d)
305
¯ ai p∗i (d)
i∈E
bzw.
¯ = C (d)
¯ = ¯ bi + C(d) bi − ai p∗i (d)
i∈E
i∈E
des betrachteten parametrischen Optimierungsproblems (4.3) – (4.7) mit Paucksichtigt nur die Kosten, die sich einem Vorgang rameter d¯ ∈ [d¯min , d¯n ] ber¨ ¨ i ∈ E unmittelbar zurechnen lassen. Der Ubersichtlichkeit halber wollen wir im Folgenden die gesamten aus der Projektdurchf¨ uhrung resultierenden Ein ∗ ¯ ¯ mit zelkosten, d.h. die optimalen Funktionswerte C (d) = i∈E bi + C ∗ (d), ¯ bezeichnen. Da C EK (d) ¯ gerade einer Parallelverschiebung von C ∗ (d) ¯ C EK (d) ¯ ebenso wie C ∗ (d) ¯ konentspricht (vgl. Abb. 4.24), ist die Funktion C EK (d) ¯ in Abbildung 4.25 vex und st¨ uckweise linear. Die Knickstellen von C EK (d) entsprechen gerade den Intervallgrenzen der Intervalle [d¯ , d¯ −1 ], = 1, . . . , r, ¯ mit Hilfe des Algorithmus von Kelley die sich bei der Bestimmung von C ∗ (d) ergeben. ¯ wie in AbbilWir nehmen nun an, dass die Gemeinkosten C GK (d), dung 4.25 skizziert, eine lineare Funktion in Abh¨angigkeit der Projektdauer d¯ ∈ [d¯min , d¯n ] darstellen. Man stelle sich dazu beispielsweise die Kosten f¨ ur die Bauleitung bei einem Bauprojekt oder Versicherungsbeitr¨age vor, deren H¨ ohe von der Dauer des betrachteten Projektes abh¨angt. Die Durchf¨ uhrung eines Projektes in der Weise, dass das Projekt gerade ¯ := C GK (d) ¯ + zum Zeitpunkt d¯ endet, f¨ uhrt somit zu Gesamtkosten C G (d) EK ¯ G ¯ EK ¯ C (d) (vgl. Abb. 4.25). Die Funktion C (d) ist wie C (d) konvex und ¯ wie bei C EK (d) ¯ gerade st¨ uckweise linear, wobei die Knickstellen von C G (d) den Intervallgrenzen d¯ , = 0, 1, . . . , r, entsprechen. Man kann daher zeigen, ¯ ihr Minimum an mindestens einer dieser Knickstellen dass die Funktion C G (d) annehmen muss. ¯ minimiert, bestimmen Zur Ermittlung einer Projektdauer d¯∗ , die C G (d) wir f¨ ur s¨ amtliche Knickstellen d¯ , = 0, 1, . . . , r, den Funktionswert C G (d¯ ) und ermitteln den kleinsten Wert d¯ , f¨ ur den C G (d¯ ) minimal ist, d.h. ) ' G ( C (d¯ ) . d¯∗ := min d¯ | C G (d¯ ) = min
=0,1,...,r
F¨ ur d¯∗ lassen sich dann wie beschrieben die zugeh¨origen Dauern p∗i (d¯∗ ) der Vorg¨ ange i ∈ V sowie die Eintrittszeitpunkte Ze∗ (d¯∗ ) der Ereignisse e ∈ V ermitteln.
306
4 Kostenplanung
¯ C G (d)
C G (d¯∗ )
¯ C GK (d)
¯ C EK (d)
d¯∗
d¯
¯ Abb. 4.25. Bestimmung minimaler Gesamtkosten C G (d)
4.3 Time-Cost-Tradeoff fu ane mit allgemeinen ¨r Netzpl¨ Zeitbeziehungen In diesem Abschnitt behandeln wir das Time-Cost-Tradeoff-Problem f¨ ur MPM-Netzpl¨ ane N = V, E; δ mit allgemeinen Zeitbeziehungen, d.h. wir betrachten die Optimierungsaufgabe ⎫ Minimiere − ai p i ⎪ ⎪ ⎪ i∈V ⎪ ⎪ u.d.N. Sj − Si ≥ δij (pi , pj ) ( i, j ∈ E) ⎬ (4.15) S0 = 0 ⎪ ⎪ ⎪ ⎪ Sn+1 = d ⎪ ⎭ n pi ∈ [pmin , p ] (i ∈ V ) i i Ebenso wie f¨ ur Netzpl¨ ane mit Vorrangbeziehungen (vgl. Abschnitt 4.2) kann Problem (4.15) als parametrisches Optimierungsproblem mit dem Parameter d¯ aufgefasst werden. Anders als bei Netzpl¨anen mit Vorrangbeziehungen nehmen wir nun an, dass die Pfeilbewertungen δij (pi , pj ), i, j ∈ E, lineare Funktionen der Vorgangsdauern pi und pj darstellen, womit sich s¨amtliche
4.3 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit allgemeinen Zeitbeziehungen
307
der vier in Abschnitt 1.4.1 erl¨ auterten Arten von Verkn¨ upfungstypen zwischen zwei Vorg¨ angen i und j darstellen lassen. Wir betrachten zur Veranschaulichung ein Projekt, das aus vier realen Vorg¨ angen mit den in Tabelle 4.9 angegebenen Dauern und entsprechenden Kostenfaktoren ai besteht, wobei wir analog zu Abschnitt 4.2 annehmen, dass f¨ ur die Vorgangsdauern aller Vorg¨ ange i ∈ V zu Beginn des Verfahrens pi := pni gelte. Zudem setzen wir voraus, dass bei Wahl der Normaldauer pni f¨ ur alle Vorg¨ ange i ∈ V keine Zyklen positiver L¨ ange im Netzplan entstehen. Tabelle 4.9. Dauern der Vorg¨ ange 1 bis 4 i∈V
1
2
3
4
pmin i pi pn i ai
1 4 4 3
3 5 5 3
2 6 6 2
4 10 10 1
Weiterhin seien die folgenden Zeitbeziehungen zwischen den Vorg¨angen gegeben • • •
min Vorgang 2 soll fr¨ uhestens es T12 = 2 Zeiteinheiten nach dem Ende von Vorgang 1 starten. min Vorgang 3 soll fr¨ uhestens se T13 = 8 Zeiteinheiten nach dem Start von se min Vorgang 1 und fr¨ uhestens T23 = 1 Zeiteinheit nach dem Start von Vorgang 2 enden. min Vorgang 4 soll fr¨ uhestens ss T34 = 4 Zeiteinheiten nach dem Beginn von min Vorgang 3 starten und fr¨ uhestens ee T24 = 3 Zeiteinheiten nach dem Ende von Vorgang 2 enden.
F¨ ur das beschriebene Projekt erhalten wir den in Abbildung 4.26 dargestellten MPM-Netzplan, wobei ES 5 = 16 gilt. 3; 5; 5
p
0
p0
2
2
1; 4; 4 1
8−
p3
p2
1 − p3
0; 0; 0
+ 1
−
p4
+
3
p4 4
4 4; 10; 10
0; 0; 0 5
Legende: 3 2; 6; 6
; pi ; pn pmin i i
Abb. 4.26. MPM-Netzplan
i
min n δij pj ; pj ; pj j
308
4 Kostenplanung
Die Schwierigkeit bei der L¨ osung des Time-Cost-Tradeoff-Problems f¨ ur Netzpl¨ ane mit allgemeinen Zeitbeziehungen liegt darin, dass mehrere Zeitbeziehungen von ein und derselben Vorgangsdauer abh¨angen k¨onnen (bspw. h¨angen die Zeitbeziehungen δ13 und δ23 beide von der Dauer des Vorgangs 3 ab) und unterschiedliche Verkn¨ upfungstypen vorliegen k¨onnen. Deshalb transformieren wir den zugrunde liegenden MPM-Netzplan N = V, E; δ , ¨ahnlich zu dem in Elmaghraby und Kamburowski (1992) beschriebenen Vorgehen, ˇ Hierbei ordnen wir jedem Vorgang ˇ = Vˇ , E; ˇ δ . in ein Ereignisknotennetz N ˇ zu, i ∈ V ein Paar entgegengesetzt gerichteter Pfeile { ei , e¯i , ¯ ei , ei } ∈ E deren Bewertung f¨ ur ei , e¯i gerade pi und f¨ ur e¯i , ei gerade −pi entspricht. Der Knoten ei repr¨ asentiert dann wie in einem CPM-Netzplan das Startereignis von Vorgang i und Knoten e¯i das Endereignis von i. Auf diese Weise gilt ˇ |Vˇ | = 2|V |. Abbildung 4.27 zeigt den entsprechend modifizierten Netzplan N f¨ ur den MPM-Netzplan aus Abbildung 4.26 mit Vorgangsdauern pni , in dem die Vorg¨ ange i ∈ V den durchgezogenen Pfeilen entsprechen. 5 e2
e¯2
2 e0 0
e¯1 0
e¯0
-5
4 0
10 8
0
e¯4
1 -4
e1
3
-10
0
e4
e¯3
e5 0 e¯5
4 6
-6
Legende: pn i
e3 ei ˇ Abb. 4.27. Ereignisknotennetzplan N
e¯i −pn i
Die gestrichelten Pfeile in Abbildung 4.27 repr¨asentieren die allgemeinen Zeitbeziehungen zwischen den Start- und Endzeitpunkten der Vorg¨ange. Beispielsweise soll Vorgang 3 fr¨ uhestens 8 Zeiteinheiten nach dem Start von Vorgang 1 enden. Um diese Zeitbeziehung abzubilden, f¨ uhren wir einen Pfeil mit der Bewertung δˇe1 ,¯e3 := 8 von Knoten e1 , der den Start von Vorgang 1 repr¨ asentiert, zu Knoten e¯3 ein, der das Ende der Durchf¨ uhrung von Vorgang 3 symbolisiert. Weiterhin gilt z.B., dass Vorgang 4 fr¨ uhestens 3 Zeiteinheiten nach dem Ende von Vorgang 2 beendet werden darf. Dieser Zeitbeziehung entspricht der Pfeil von Knoten e¯2 nach Knoten e¯4 mit der Bewertung δˇe¯2 ,¯e4 := 3. ˇ , anders als Es ist zu beachten, dass der resultierende modifizierte Netzplan N bei CPM-Netzpl¨ anen, zwei Arten von Pfeilen enth¨alt. Zum einen sind ge-
4.3 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit allgemeinen Zeitbeziehungen
309
nau |E| Pfeile vorhanden, die die Zeitbeziehungen repr¨asentieren (gestrichelt dargestellt) und zum anderen sind 2|V | Pfeile enthalten, die die Vorg¨ange darstellen. Hajdu (1997, Kapitel 7) stellt eine Variante des Verfahrens von Kelley vor, die zur L¨ osung des Time-Cost-Tradeoff Problems mit allgemeinen Zeitbeziehungen auf Ereignisknotennetze angewendet werden kann. Im Folgenden beschreiben wir einen Verk¨ urzungsschritt, d.h. das Vorgehen zur L¨osung des nicht-parametrischen Optimierungsproblems (4.15) f¨ ur ein Teilintervall * + d¯ , d¯ −1 . Hierzu geben wir die gegen¨ uber unseren Ausf¨ uhrungen in Ab¨ schnitt 4.2 notwendigen Anderungen an. Wir nehmen an, dass die optimalen Funktionswerte p∗i (d¯ −1 ), i ∈ V, und ∗ ¯ Ze (d −1 ), e ∈ Vˇ , bereits bestimmt wurden. Dem entsprechenden Ereignisknoˇ des Verk¨ tennetzplan N urzungsschritts ordnen wir wie folgt ein kapazitiertes ˇ F = Vˇ , E ˇ F ; λ, κ zu. Die Pfeilmenge E ˇ F setzt sich aus den Flussnetzwerk N r r beiden disjunkten Mengen Δ und V , Δ ∩ V = ∅, zusammen. Die Menge Δ ˇ des Ereignisknotennetzplans, die bindende enth¨ alt diejenigen Pfeile h, l ∈ E Zeitbeziehungen darstellen, f¨ ur die also , Zl∗ (d¯ −1 ) − Zh∗ (d¯ −1 ) = δˇhl ( h, l ∈ Eˇ gilt. Menge V r erhalten wir, indem wir f¨ ur jedes Paar entgegengesetzt gerichˇ jeweils den Vorw¨artspfeil ei , e¯i teter Vorgangspfeile { ei , e¯i , ¯ ei , ei } ∈ E r u ¨ bernehmen. Somit beinhaltet V genau |V | Pfeile. Die Minimal- und Maximalkapazit¨ aten λ und κ w¨ahlen wir wieder so, dass wir, wie beim Verfahren von Kelley, eine minimale Verk¨ urzungsmenge K aus ˇ F erhalten. Zu diesem Zweck zerleeinem minimalen (e0 , e¯n+1 )-Schnitt in N ˇ F in vier disjunkte Teilmengen Eˇ F , . . . , E ˇF . gen wir die Pfeilmenge V r ⊂ E 1 4 F ˇ Die Zuordnung eines Vorgangs i ∈ V zu einer der Teilmengen E1 , . . . , Eˇ4F und die resultierenden Minimal- und Maximalkapazit¨aten λ und κ f¨ ur den entsprechenden Vorgangspfeil ei , e¯i ∈ V r sind in Tabelle 4.10 dargestellt. Die Pfeile i, j ∈ Δ erhalten als Minimalkapazit¨at den Wert λij := 0 und als Maximalkapazit¨ at den Wert κij := ∞. Tabelle 4.10. Bestimmung der Minimal- und Maximalkapazit¨ aten der Pfeile in V r ei , e¯i i∈V ˇ1F E ˇ2F E ˇ3F E ˇ4F E
Dauer p∗i (d¯−1 ) pmin i pmin i pmin i pmin i
< =
p∗i (d¯−1 ) p∗i (d¯−1 )
=
< < p∗i (d¯−1 ) < = p∗i (d¯−1 ) =
pn i pn i pn i pn i
λei ,¯ei
κei ,¯ei
−∞
ai
ai
∞
ai
ai
−∞
∞
Analog zum Fall, bei dem ausschließlich Vorrangbeziehungen vorliegen (vgl. Abschnitt 4.2.2), gilt f¨ ur einen minimalen Schnitt C(A, B) des Flussˇ F , dass netzwerks N
310
4 Kostenplanung
K := K − ∪ K + mit
K − := C(A, B)
ˇF ∪ E ˇF } und K + := {i ∈ C(B, A) | i ∈ E 3 2
ˇ darstellt. Die Kaeine minimale Verk¨ urzungsmenge f¨ ur Ereignisknotennetz N pazit¨ at des minimalen Schnittes entspricht dem Kostenfaktor der minimalen Verk¨ urzungsmenge. Wir illustrieren die Konstruktion des Flussnetzwerks f¨ ur den in Abbilˇ und anschließend den ersdung 4.27 dargestellte Ereignisknotennetzplan N * + ˇ erhalten wir d¯0 = 16 ten Verk¨ urzungsschritt f¨ ur das Intervall d¯1 , d¯0 . F¨ ur N (L¨ ange eines kritischen Weges von e0 nach e¯5 f¨ ur Vorgangsdauern pni ). Ferner ergeben sich die fr¨ uhesten Eintrittszeitpunkte Ze∗ (d¯0 ) aller Ereignisse e ∈ Vˇ gem¨ aß Tabelle 4.11. Tabelle 4.11. Fr¨ uheste Eintrittszeitpunkte Ze∗ der Ereignisse e ∈ Vˇ f¨ ur d¯0 = 16 i∈V
0
1
Ze∗i Ze¯∗i
0
0
6
2
6
16
0
4
11
8
16
16
2
3
4
5
Da pmin < p∗i (d¯0 ) = pni f¨ ur i ∈ V \ {0, n + 1} gilt, setzen wir f¨ ur i ˇ F die Minimalkapazit¨at auf alle Vorgangspfeile ei , e¯i im Flussnetzwerk N λei ,¯ei := −∞ und die Maximalkapazit¨ at auf κei ,¯ei := ai (vgl. Tab. 4.9). Die zugeh¨ origen Pfeile der Vorg¨ ange 0 und n + 1 erhalten stets die Kapazit¨aten λe0 ,¯e0 = λen+1 ,¯en+1 := −∞ bzw. κe0 ,¯e0 = κen+1 ,¯en+1 := ∞ (und k¨onnen streng genommen mitsamt ihrer Knoten aus dem Flussnetzwerk entfernt werden). Die Zeitbeziehungen zwischen den Ereignissen e¯0 und e1 , e¯1 und e2 , e1 und e¯3 , e3 und e4 sowie e¯4 und e5 sind bindend, d.h. wir setzen die Minimalkapazit¨ at der entsprechenden Pfeile i, j ∈ Δ auf λij := 0 und die Maximalkapazit¨ at κij := ∞. Die u ¨ brigen Zeitbeziehungen sind nicht bindend und werden daher nicht als Pfeil in das Flussnetzwerk u ¨bernommen. Abbildung 4.28 zeigt ˇF. das zum ersten Verfahrensschritt geh¨ orige Flussnetzwerk N Wir bestimmen mit Hilfe des Algorithmus von Ford und Fulkerson einen ˇ F von Knoten e0 (Flussquelle) nach Knoten maximalen Fluss in Netzwerk N e¯5 (Flusssenke). Um das Verfahren zu beginnen, w¨ahlen wir den Nullfluss als zul¨ assigen Ausgangsfluss. Abbildung 4.28 zeigt den ermittelten maximalen Fluss der St¨ arke ω = 1. Der minimale (e0 , e¯5 )-Schnitt, den wir in der letzten Iteration des Algorithmus von Ford und Fulkerson erhalten, enth¨alt den Vorgangspfeil e4 , e¯4 sowie den Pfeil ¯ e2 , e¯4 , der einen Mindestabstand vom Typ Ende-Ende zwischen den Vorg¨ angen 2 und 4 repr¨asentiert. Der kontr¨are Schnitt ist leer. Somit gilt K − = {4}, K + = ∅.
4.3 Time-Cost-Tradeoff f¨ ur Netzpl¨ ane mit allgemeinen Zeitbeziehungen −∞; 3 0
0
2 Legende: λij ; κij ei xij
0
0; ∞
2
0; ∞ 1
0; ∞ 1
1
;1
0; ∞ 1
3
4 −∞
; −1 2
3 −∞
1
5
;∞ −∞ 1
0; ∞ 1
e¯i
0
−∞
;∞ −∞ 1
;3
1
0
311
4
5
Abb. 4.28. Flussnetzwerk und Maximalfluss im ersten Verfahrensschritt
Als N¨ achstes muss der zugeh¨ orige Verk¨ urzungsfaktor δ K ermittelt werden. Hierzu definieren wir die Menge ˜ := { h, l ∈ E ˇ \ (V r ∪ Δ)|(h ∈ A ∧ l ∈ B) ∨ (h ∈ B ∧ l ∈ A)} E und setzen δ K := min{δ1K , δ2K , δ3K } mit } δ1K := min {p∗i (d¯ −1 ) − pmin i i∈K − δ K := min {pn − p∗ (d¯ −1 )} 2
δ3K
i∈K +
:= min
˜ h,l ∈E
i
i
{Zl∗ (d¯ −1 )
− Zh∗ (d¯ −1 ) − δˇhl } .
δ1K und δ2K sorgen daf¨ ur, dass bei einer Verk¨ urzung bzw. Verl¨angerung der Dauer eines Vorgangs i ∈ V die zugeh¨ orige Mindestdauer pmin bzw. H¨ochsti dauer pni nicht unter- bzw. u ¨ berschritten wird. δ3K gew¨ahrleistet, dass die Dauer eines Vorgangs aus K − nur soweit verk¨ urzt werden kann, bis ein nicht bindender Zeitabstand bindend wird bzw. die Dauer eines Vorgangs aus K + nur soweit verl¨ angert werden kann, bis ein nicht bindender Zeitabstand bindend wird. ˜ = { ¯ F¨ ur unser Beispiel ergeben sich mit K − = {4}, K + = ∅ und E e2 , e¯4 } K K folgende Werte f¨ ur δ1 , . . . , δ3 : δ1K := p∗4 − pmin = 10 − 4 = 6, 4 δ2K := ∞ δ3K := Ze¯∗4 − Ze¯∗2 − δˇe¯2 ,¯e4 = 16 − 11 − 3 = 2.
312
4 Kostenplanung
F¨ ur den Verk¨ urzungsfaktor δ K gilt somit δ K := min{6, ∞, 2} = 2. Wegen δ K = 2 kann die Dauer von Vorgang 4 um h¨ochstens zwei Zeiteinheiten verk¨ urzt werden, bis die Zeitbeziehung zwischen Vorgang 2 und Vorgang 4 bindend wird. Durch die Verk¨ urzung von Vorgang 4 um δ K = 2 Zeiteinheiten gelangen wir ausgehend von der Projektdauer d¯0 = 16 zur Projektdauer d¯1 := d¯0 − δ K = 16 − 2 = 14. Die zur neuen Projektdauer geh¨orenden Eintrittszeitpunkte aller Ereignisse e ∈ Vˇ erhalten wir, indem wir die Eintrittszeitpunkte aller in B liegenden Ereignisse um δ K reduzieren Ze∗ (d¯ )
:=
Ze∗ (d¯ −1 ) − δ K falls e ∈ B Ze∗ (d¯ −1 ) sonst .
(e ∈ V )
onnen wir sukzessive weitere VerAusgehend von der Projektdauer d¯1 k¨ k¨ urzungsmengen bestimmen, bis wir mit d¯3 = 10 die kleinstm¨ogliche Projektdauer erreichen. In Tabelle 4.12 sind die Zeitintervalle, Verk¨ urzungsmengen und Kostenfaktoren f¨ ur s¨ amtliche Verk¨ urzungsschritte dargestellt. Der modifizierte Kelley-Algorithmus terminiert, sobald auf einem kritischen Weg von Knoten e0 nach Knoten e¯n+1 alle Vorg¨ ange mit ihrer kleinsten Dauer pmin ausi gef¨ uhrt werden und alle Zeitbeziehungen entlang dieses Weges bindend sind. ˇ F in einem maximalen Dies resultiert im korrespondierenden Flussnetzwerk N Fluss ωe0 ,¯en+1 der St¨ arke ∞. Tabelle 4.12. Verfahrensschritte f¨ ur = 1, . . . , 3 [d¯ , d¯−1 ] 1 2 3
[14, 16] [12, 14] [10, 12]
K−
δK
aK
{4} {2,4} {1,4}
2 2 2
1 4 4
4.4 Bau eines Biomassekraftwerks Die RBT GmbH ist ein innovativer Betrieb der Holzindustrie. J¨ahrlich verarbeitet das Unternehmen u ¨ ber 300 000 Festmeter Rundholz aus heimischen Best¨ anden zu einem breiten Angebot an geschnittenen und auf Wunsch veredelten Qualit¨ atsh¨ olzern sowie Hobelware. Von den verarbeiteten St¨ammen fallen im Produktionsprozess des S¨ agewerks etwa 300 000 Sch¨ uttraummeter Nebenprodukte an. Etwa 80% dieser Nebenprodukte machen Hackschnitzel
4.4 Bau eines Biomassekraftwerks
313
aus, die u ane. Dazu kommen noch etwa 60 000 Sch¨ uttraum¨ brigen 20% sind Sp¨ meter Rinde. Getreu dem Firmenmotto Kein Span geht verloren“, sollen die ” Nebenprodukte in Zukunft einer wirtschaftlichen Verwertung zugef¨ uhrt werden. Hierzu plant das Unternehmen auf dem Firmengel¨ande ein Biomassekraftwerk zu errichten, in dem durch die Verbrennung der Nebenprodukte elektrische und thermische Energie erzeugt wird. Langfristig sollen Gewinne aus der Einspeiseverg¨ utung f¨ ur Strom aus Biomasse erzielt werden. Die thermische Energie wird in den firmeneigenen Trockenkammern eingesetzt. F¨ ur das Projekt Biomassekraftwerk“ werden wir zun¨achst eine Struktur” und Zeitanalyse durchf¨ uhren (vgl. Abschnitt 4.4.1). Im Anschluss erfolgt dann die Zeitplanung (vgl. Abschnitt 4.4.2). Des Weiteren wenden wir das vorgestellte Verfahren f¨ ur Time-Cost-Tradeoff-Probleme mit allgemeinen Zeitbeziehungen auf das Projekt an (vgl. Abschnitt 4.4.3). 4.4.1 Struktur- und Zeitanalyse Im Rahmen der Strukturanalyse werden alle Vorg¨ange und Ereignisse ermittelt, die f¨ ur die erfolgreiche Durchf¨ uhrung des Projektes erforderlich sind. Gleichzeitig wird u uft, welche Anordnungsbeziehungen zwischen den ¨berpr¨ Vorg¨ angen bestehen, um f¨ ur jeden Vorgang seine unmittelbaren Vorg¨anger und Nachfolger angeben zu k¨ onnen. Anschließend werden aus den Anordnungsbeziehungen entsprechende Zeitbeziehungen zwischen den einzelnen Projektvorg¨ angen abgeleitet. Hierf¨ ur sind im Rahmen der Zeitanalyse die Vorgangsdauern sowie die Mindest- und H¨ ochstabst¨ande zwischen den Vorg¨angen zu quantifizieren. Die resultierenden Vorg¨ ange, Ereignisse und Zeitbeziehungen stellen wir in einem MPM-Netzplan dar. Durch die Analyse des Projektes Biomassekraftwerk“ hinsichtlich der ” durchzuf¨ uhrenden Teilprojekte und Arbeitspakete konnten die in Tabelle 4.13 dargestellten Vorg¨ ange identifiziert werden. Zwischen den ermittelten Projektvorg¨ angen lassen sich 19 verschiedene technische, logische oder ablauforganisatorische Vorg¨anger-Nachfolger-Beziehungen identifizieren: 1. Zu Beginn des Projekts erfolgen allgemeine Vorarbeiten (Vorgang 1). Darunter fallen die Erstellung von Baupl¨ anen, Genehmigungsverfahren und weitere allgemeine Planungen, insbesondere die Auswahl des Brennkessels, der Turbine und der anlagenseitigen Peripherie (F¨ordertechnik, Filter etc.). Das Startereignis von Vorgang 1 stellt gleichzeitig den Projektstart dar. 2. Der Bestellung der technischen Komponenten (Vorgang 2) muss deren Auswahl (Vorgang 1) vorangehen. 3. Bevor die technischen Komponenten angeliefert werden k¨onnen (Vorgang 3), m¨ ussen sie bestellt werden (Vorgang 2) und die vorbereitenden Arbeiten auf dem Gel¨ ande (Vorgang 5) (Begradigen, Aufschieben von Wegen und Lagerfl¨ achen) m¨ ussen beendet worden sein.
314
4 Kostenplanung Tabelle 4.13. Vorg¨ ange des Praxisprojektes Vorgang Beschreibung 1
2 3 4
5 6 7 8 9 10 11 12 13 14 15
Vorbereitung, Planung, Auswahl der technischen Komponenten f¨ ur das Biomassekraftwerk (Kessel, Turbine, Generator), Auswahl der peripheren Anlagenkomponenten (F¨ order- und Steuerungstechnik) Bestellung der technischen Komponenten Lieferung der technischen Komponenten durch eine Spedition Bestellung von Baumaterialien: Zement, Sand, Kies, Armierung, Dachkonstruktion und Rauchgaskamin, Schalungen, Betonteile, Innenkonstruktion Vorbereitende Arbeiten auf dem Baugel¨ ande: Ausheben, Begradigen, Lagerfl¨ achen schaffen, Wege aufschieben Bereitstellung spezieller Baumaschinen durch ein Transporttechnikunternehmen Lieferung von Kies, Zement, Sand und Armierung Lieferung von Schalungen und vorbereiteten Rohbaubetonteilen, Lieferung der Innenkonstruktion Lieferung der teilweise vormontierten Dachkonstruktion und des Rauchgaskamins Vorarbeiten f¨ ur das Fundament, Frostkoffer und Drainage legen Gießen des Plattenfundaments f¨ ur das Biomassekraftwerk Rohbau, Montage technischer Komponenten und Innenkonstruktion Installation von Kessel, Turbine und Generator Montage der Dachkonstruktion und des Rauchgaskamins Abnahme der technischen Komponenten und Vorbereitung der Inbetriebnahme
4. Die ben¨ otigten Baumaterialien (Zement, Sand, Armierung etc.), die Stahltr¨ ager und die Unterkonstruktion f¨ ur Kessel und Turbine (Vorgang 4) k¨ onnen nach Abschluss der Vorarbeiten (Vorgang 1) bestellt werden. 5. Mit den Gel¨andearbeiten (Vorgang 5) kann unmittelbar nach Abschluss der Vorarbeiten (Vorgang 1) begonnen werden. ¨ 6. Die Bereitstellung bzw. Uberf¨ uhrung der ben¨otigten zus¨atzlichen Baumaschinen (Vorgang 6) (Planierraupen, Mulden-Hinterkipper etc.) soll fr¨ uhestens zeitgleich mit den Gel¨ andearbeiten (Vorgang 5) beginnen. 7. Es sind drei Arbeitstage notwendig, um entsprechende Lagerfl¨achen f¨ ur die Baumaterialien auf dem Betriebsgel¨ ande zu schaffen. Die Anlieferung der Baumaterialien (Vorgang 7) kann also unmittelbar nach deren Bestellung beginnen (Vorgang 4), darf aber fr¨ uhestens drei Tage nach Beginn der Bodenarbeiten (Vorgang 5) erfolgen. 8. Die Lieferung der Fertigbetonteile und der Schalungen f¨ ur den Rohbau sowie der Innenkonstruktion des Kraftwerks (Vorgang 8) kann unmittelbar
4.4 Bau eines Biomassekraftwerks
9.
10.
11.
12.
13.
14.
15.
16. 17.
315
nach Abschluss der Bestellung (Vorgang 4) und zeitgleich mit dem Beginn der Bodenarbeiten (Vorgang 5) starten. Die Dachkonstruktion (Vorgang 9) kann fr¨ uhestens nach Abschluss der Bestellung (Vorgang 4) angeliefert werden. Die Erdarbeiten (Vorgang 5) und die Anlieferung der Dachkonstruktion k¨onnen zeitgleich beginnen. Mit den Vorarbeiten f¨ ur das Fundament (Ausschachten, Frostkoffer, Drainage) (Vorgang 10) kann begonnen werden, nachdem die ben¨otigten Baumaschinen geliefert (Vorgang 6) und die Erdarbeiten (Vorgang 5) abgeschlossen worden sind. Mit der Ausf¨ uhrung der Gr¨ undungsplatte (Vorgang 11) kann auf Teilfl¨ achen schon begonnen werden, auch wenn die Vorarbeiten (Vorgang 10) f¨ ur die Gesamtfl¨ ache noch nicht vollst¨ andig abgeschlossen wurden. Allerdings ist stets ein Zeitabstand von mindestens f¨ unf Tagen zwischen diesen beiden Vorg¨ angen einzuhalten, in denen sich der Frostkoffer setzen und verdichten kann. Bevor mit dem Gießen des Fundaments (Vorgang 11) begonnen werden kann, ist sicherzustellen, dass gen¨ ugend Zement und Sand angeliefert wurde (Vorgang 7). Als ausreichend werden drei Tageslieferungen angenommen. Des Weiteren soll w¨ ahrend der gesamten Durchf¨ uhrung der Fundamentarbeiten st¨ andig ein Sicherheitsbestand an Zement und Sand in H¨ohe von drei Tageslieferungen auf der Baustelle vorhanden sein. Einen Meilenstein im Projektablauf stellt die Fertigstellung des Fundaments dar, die sp¨ atestens 100 Tage nach Projektstart erfolgen soll. Mit der Baufirma, die die Lieferung von Zement und Sand (Vorgang 7), die Fundamentarbeiten (Vorgang 11) und die Erstellung des Rohbaus (Vorgang 12) u ¨bernimmt, wurde vereinbart, dass sie s¨amtliche Leistungen innerhalb eines Zeitraums von 65 Tagen erbringt. Nachdem das Fundament gegossen wurde (Vorgang 11), kann sofort mit dem Rohbau und der Montage der technischen Komponenten sowie der Innenkonstruktion (Vorgang 12) begonnen werden. Fundamentfl¨achen m¨ ussen jedoch mindestens 10 Tage aush¨ arten, bevor auf ihnen weitere Arbeiten vorgenommen werden k¨ onnen. W¨ ahrend der Rohbauphase (Vorgang 12) sollte immer ein gen¨ ugend großer Bestand an Fertigbetonteilen bzw. Schalungen (Vorgang 8) vor Ort vorhanden sein. Es wird davon ausgegangen, dass ein Bestand in H¨ohe von zehn Tageslieferungen ausreicht. Nach Abschluss des Rohbaus (Vorgang 12) k¨onnen die technischen Anlagenkomponenten installiert werden (Vorgang 13). Dachkonstruktion und Rauchgaskamin k¨ onnen erst dann montiert werden (Vorgang 14), wenn Kessel, Turbine und Generator installiert wurden (Vorgang 13). Die einzelnen Teile der Dachkonstruktion k¨onnen nicht soussen fort nach ihrer Anlieferung (Vorgang 9) verbaut werden, sondern m¨ zun¨ achst gepr¨ uft und sortiert werden. Dieses nimmt zwei Arbeitstage in Anspruch. Nat¨ urlich kann die Montage der Dachkonstruktion erst dann beendet werden, wenn auch alle Teile angeliefert, u uft und montiert ¨ berpr¨
316
4 Kostenplanung
wurden. Lieferung und Montage der Dachkonstruktion und des Rauchgaskamins werden durch ein Spezialunternehmen durchgef¨ uhrt, mit dem vereinbart wurde, dass es s¨ amtliche Leistungen innerhalb von 100 Tagen erbringt. 18. Die Abnahme von Kessel, Turbine und Generator (Vorgang 15) kann zeitgleich mit der Montage des Daches beginnen. Der Zeitpunkt des Abschlusses der Abnahme steht stellvertretend f¨ ur die Fertigstellung des gesamten Projekts. Daher ist zu fordern, dass dieser fr¨ uhestens nach Fertigstellung des Daches (Vorgang 14) eintreten kann. 19. Die Anlieferung der technischen Komponenten (Vorgang 3) soll bedarfssynchron zum Beginn der Montage (Vorgang 12) erfolgen, um die relativ aufw¨ andige Lagerung der hochwertigen Komponenten weitestgehend zu vermeiden. Tabelle 4.14 zeigt zusammenfassend die aus den Beschreibungen der Abh¨angigkeiten abgeleitete Vorgangsliste, die f¨ ur jeden Projektvorgang seine unmittelbaren Vorg¨ anger und Nachfolger auff¨ uhrt. Tabelle 4.14. Vorg¨ ange mit jeweiligen Vorg¨ angern und Nachfolgern Nr. Vorgang 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Vorg¨ anger
Vorbereitung — Bestellung technischer Komponenten 1 Lieferung technischer Komponenten 2, 5 Bestellung Baumaterialien 1 Erdarbeiten auf Gel¨ ande 1 Bereitstellung Baumaschinen 5 Lieferung Kies, Zement, Sand 4, 5 Lieferung Schalung, Betonteile, Innenkonstr. 4, 5 Lieferung Dach und Rauchgaskamin 4, 5 Vorbereitung Fundament 5, 6 Gießen Fundament 1, 7, 10 Rohbau 3, 7, 8, 11 Installation technischer Komponenten 12 Montage Dach und Rauchgaskamin 9, 13 Projektabnahme 14
Nachfolger 2, 4, 5, 11 3 12 7, 8, 9 3, 6, 7, 8, 9, 10 10 11, 12 12 14 11 12 13 14 15 —
Aus den verbalen Beschreibungen der Anordnungsbeziehungen lassen sich die entsprechenden Zeitbeziehungen zwischen den Vorg¨angen ableiten. Zur Veranschaulichung des Vorgehens greifen wir im Folgenden exemplarisch zwei der Beschreibungen heraus und leiten die implizierten Zeitbeziehungen ab. 13. Mit der Baufirma, die die Lieferung von Zement und Sand, die Fundamentarbeiten und die Erstellung des Rohbaus u ¨ bernimmt, wurde verein-
4.4 Bau eines Biomassekraftwerks
317
bart, dass sie s¨ amtliche Leistungen innerhalb eines Zeitraums von 65 Tagen erbringt. Die Beschreibung impliziert einen zeitlichen H¨ochstabstand vom Typ StartEnde zwischen den Vorg¨ angen 7 und 12. Wir f¨ uhren also einen Pfeil 12, 7 max mit der Bewertung δ12,7 = p12 − se T7,12 = p12 − 65 im MPM-Netzplan ein. 14. Nachdem das Fundament gegossen wurde, kann sofort mit dem Rohbau und der Montage der technischen Komponenten sowie der Innenkonstruktion begonnen werden. Fundamentfl¨ achen m¨ ussen jedoch mindestens 10 Tage aush¨ arten, bevor auf ihnen weitere Arbeiten vorgenommen werden k¨ onnen. Da auf Teilfl¨ achen des Fundaments, die zu Beginn der Durchf¨ uhrung von Vorgang 11 gegossen wurden, bereits fr¨ uher weitergearbeitet werden kann als auf Fl¨ achen, die sp¨ ater gegossen wurden, muss gew¨ahrleistet werden, dass zwischen den Vorg¨ angen 11 und 12 jederzeit ein Mindestabstand in H¨ohe von 10 Tagen eingehalten wird. Zur Modellierung dieses Sachverhalts f¨ uhren wir einen Mindestabstand vom Typ Start-Start und einen Mindestabstand vom Typ Ende-Ende zwischen den Vorg¨ angen ein. Im MPM-Netzplan entspricht dies 1 min 2 einem Pfeil 11, 12 mit der Bewertung max(δ11,12 = ss T11,12 = 10, δ11,12 = ee min T11,12 = 10 − p12 + p11 ). Zur Verdeutlichung betrachten wir Abbildung 4.29. F¨ ur den Fall, dass Vorgang 12 schneller ausgef¨ uhrt wird als Vorgang 11 (p12 < p11 ), gew¨ahrleistet der Mindestabstand vom Typ Ende-Ende, dass Vorgang 12 nicht zu fr¨ uh gestartet wird. Analog ist f¨ ur p12 > p11 die Zeitbeziehung vom Typ StartStart bindend, d.h. Vorgang 12 kann fr¨ uhestens nach Ablauf des zeitlichen Mindestabstands beginnen. F¨ ur variable Werte von p11 und p12 stellen nur beide Zeitbeziehungen gemeinsam sicher, dass der gew¨ unschte Zeitabstand zwischen der Ausf¨ uhrung der Vorg¨ ange eingehalten wird. Insbesondere darf auch bei bekannten Ausgangswerten f¨ ur p11 und p12 keine der Zeitbeziehungen vernachl¨ assigt werden, da im Verlauf der Iterationen des Time-Cost-TradeoffVerfahrens die den Sicherheitsabstand repr¨ asentierende Zeitbeziehung durch Verk¨ urzung oder Verl¨ angerung der Vorg¨ ange mehrfach wechseln kann. ≥
ee
min T11,12
Vorgang 12 ≥
ss
p12
min T11,12
Vorgang 11 p11
t 0
S11
S12
Abb. 4.29. Zeitbeziehungen zwischen Vorg¨ angen 11 und 12
318
4 Kostenplanung
Um die Zeitbeziehungen vollst¨ andig angeben und im MPM-Netzplan darstellen zu k¨ onnen, werden die in Tabelle 4.15 angegebenen Normaldauern pni f¨ ur alle Vorg¨ ange i ∈ V ben¨ otigt. Tabelle 4.15. Normaldauern der Projektvorg¨ ange i∈V
1
pn i
30 20 30 10 14 30 20 80 90 10 30 20
2
3
4
5
6
7
8
9
10 11 12 13 14 15 5
20 15
Bei der Konstruktion des MPM-Netzplans ist zu beachten, dass zwischen zwei Knoten i und j ∈ V nur diejenige Zeitbeziehung als Pfeil dargestellt wird, die den gr¨ oßten Mindestabstand induziert. Ausgehend von den spezifizierten Zeitbeziehungen kann das Projekt, wie in Abbildung 4.30 dargestellt, als MPM-Netzplan veranschaulicht werden. An den Knoten notieren wir zus¨atzlich die entprechende Normaldauer des Vorgangs.
20 2
30
30 3
20
Legende: pn i i
-30 14
-70
30 1
30 6
30
0
14 20 7
3
5
10 10
5
30 11
30
3 20
14 30
20 -45
12
20
5 13
5
20 14
10
0
70 10 30
pn j j
δij
10
4
80 8
0 10
90 9
70 -80
Abb. 4.30. MPM-Netzplan f¨ ur das Praxisbeispiel
5
15 15
4.4 Bau eines Biomassekraftwerks
319
4.4.2 Zeitplanung Im Rahmen der Zeit- bzw. Terminplanung werden die fr¨ uhesten und sp¨atesten Start- und Endzeitpunkte der Projektvorg¨ange sowie die Pufferzeiten bestimmt. Tabelle 4.16 enth¨ alt die resultierenden Ergebnisse aller Projektvorg¨ ange. Zus¨ atzlich zu den Gesamtpufferzeiten TF i werden ebenfalls die freien Pufferzeiten EFF i f¨ ur alle Vorg¨ ange i ∈ V angegeben. Tabelle 4.16. Fr¨ uheste und sp¨ ateste Start- und Endzeitpunkte der Vorg¨ ange i
1
2
3
4
5
6
7
8
9
10
ES i EC i LS i LC i TF i EFF i
0 30 0 30 0 0
30 80 30 30 50 110 40 44 60 80 30 35 80 110 40 49 30 0 0 5 30 0 0 0
30 60 35 65 5 0
65 40 55 85 120 145 67 40 65 87 120 155 2 0 10 0 0 10
11
12
13
14
15
60 68 70 98 65 70 75 100 5 2 3 2
110 130 110 130 0 0
130 135 130 135 0 0
135 155 135 155 0 0
140 155 140 155 0 0
¨ Zur besseren Ubersicht u ¨ber den geplanten Projektverlauf stellen wir die zeitliche Abfolge der Vorg¨ ange grafisch in Form eines Gantt-Charts dar. Dabei werden die (realen) Vorg¨ ange als Rechtecke u ¨ ber der Zeitachse visualisiert, wobei die Breite des Rechtecks der Dauer des jeweiligen Vorgangs entspricht. Werden alle Vorg¨ ange i ∈ V so eingeplant, dass sie zu ihrem fr¨ uhestm¨oglichen Startzeitpunkt ES i beginnen, ergibt sich der Gantt-Chart in Abbildung 4.31.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
50
100
150
Tage
Abb. 4.31. Gantt-Chart f¨ ur das Praxisbeispiel, Vorg¨ ange beginnen zu Si := ES i
320
4 Kostenplanung
4.4.3 Kostenplanung Bisher sind wir davon ausgegangen, dass alle Projektvorg¨ange mit ihrer Noruhrt werden. In diesem Fall kann das Projekt Biomasmaldauer pni ausgef¨ ” sekraftwerk“ fr¨ uhestens nach 155 Tagen abgeschlossen werden. Es wird erwartet, dass durch das Kraftwerk t¨ aglich Einspeiseverg¨ utungen in H¨ohe von 10 000 Euro generiert werden. Man hat sich daher entschieden, f¨ ur das Projekt eine Time-Cost-Tradeoff-Untersuchung durchzuf¨ uhren, in deren Rahmen gepr¨ uft werden soll, inwieweit die Projektdauer kosteneffizient verk¨ urzt werden kann. Das heißt es gilt, die Projektdauer zu identifizieren, f¨ ur die sich Beschleunigungskosten pro Tag und Einspeiseverg¨ utungen pro Tag gerade die Waage halten. F¨ ur die Projektvorg¨ ange i wurden Mindestdauern pmin und Kostenfaktoi ren ai (in Tausend e) gem¨ aß Tabelle 4.17 gesch¨atzt bzw. in Gespr¨achen mit den externen Projektpartnern festgelegt. Der Einbau sowie die Installation der technischen Komponenten (Vorgang 12 und 13) sollen aus Qualit¨atsgr¨ unden nicht verk¨ urzt werden. Ebenso kann die Lieferzeit von Kessel, Turbine und Generator (Vorgang 3) nicht beeinflusst werden. Tabelle 4.17. Kostenfaktoren und Normal- bzw. Mindestdauern der Vorg¨ ange i∈V
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pn i pmin i
30 20 10
20 15 4
30 30 —
10 6 5
14 10 20
30 25 15
20 12 8
80 50 7
90 50 6
10 5 25
30 25 35
20 20 —
5 5 —
20 12 30
15 10 12
ai
Zur Bestimmung der optimalen Verk¨ urzungsmenge K f¨ ur das Intervall [d¯1 , d¯0 = 155], klassifizieren wir Vorg¨ ange wie in Abschnitt 4.3 beschrieben. ˇ4F ergibt sich Die Zuordnung der Vorg¨ ange i ∈ V zu den Teilmengen Eˇ1F , . . . , E in der 1. Iteration wie folgt: ˇ1F = {1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15} E ˇF = ∅ E 2 ˇ E3F = ∅ ˇ4F = {3, 12, 13}. E Mit Hilfe des Algorithmus von Ford und Fulkerson bestimmen wir im entˇ F wiederum einen maximalen Fluss und den sprechenden Flussnetzwerk N zugeh¨ origen minimalen Schnitt C(A, B). Die Menge B enth¨ alt die Start- und Endereignisknoten der Vorg¨ange 3, 7, 8, 9, 11, 12, 13, 14, 15 und den Endereignisknoten von Vorgang 4. Der (Vorgangs-)Pfeil e4 , e¯4 liegt im Schnitt, wodurch K − = {4}, K + = {∅} sowie δ1K = 10 − 6 = 4 und δ2K = ∞ gilt. In Tabelle 4.18 sind die Pfeile aufgef¨ uhrt, die nicht bindende Zeitbeziehungen darstellen und deren Anfangsbzw. Endknoten sich auf die Mengen A und B aufteilen und somit bei der Ermittlung von δ K ber¨ ucksichtigt werden m¨ ussen.
4.4 Bau eines Biomassekraftwerks
321
Tabelle 4.18. Nicht bindende Zeitbeziehungen, die im Schnitt liegen ˜ i, j ∈ E δ3K
¯ e2 , e3 ¯ e5 , e3 e5 , e7 e5 , e8 e5 , e9 e10 , e11 ¯ e10 , e11 30 36 32 10 25 3 23
Der zur optimalen Verk¨ urzungsmenge K geh¨orende Verk¨ urzungfaktor δ K ergibt sich zu δ K = min(4, ∞, 30, 36, 32, 10, 25, 3, 23) = 3. In der ersten Iteration wird die Projektdauer somit von d¯n = 155 auf ¯ d1 = d¯n − δ K = 152 Tage verk¨ urzt. Der maximale Fluss im kapazitierten Ereignisknotennetzplan und damit die Kapazit¨at eines minimalen Schnittes betr¨ agt ω = 5. Somit verursacht jeder Tag, um den das Projekt im Intervall [152, 155] verk¨ urzt wird, zus¨ atzliche Kosten in H¨ohe von 5.000 e. Die Eintrittszeitpunkte aller Ereignisse e ∈ B werden um δ K nach vorn verschoben, d.h. dass beispielsweise das Endereignis von Vorgang 9 vom Zeitpunkt Ze¯∗9 (d¯0 ) = 145 um δ K = 3 Zeiteinheiten auf den Zeitpunkt Ze¯∗9 (d¯1 ) = 142 verschoben wird. F¨ ur die n¨ achste Iteration des Time-Cost-Tradeoff-Verfahrens ergeben sich damit die in Tabelle 4.19 angegebenen Startzeitpunkte S ∗ (d¯1 ) und Vorgangsdauern p∗ (d¯1 ). Tabelle 4.19. Vorgangsdauern und Startzeitpunkte f¨ ur die Projektdauer d¯1 = 152 i∈V
1
Si∗ (d¯1 ) p∗i (d¯1 )
0 30 77 30 30 30 62 37 52 60 65 107 127 132 137 30 20 30 7 14 30 20 80 90 10 30 20 5 20 15
2
3
4
5
6
7
8
9
10 11
12
13
14
15
Ausgehend von der Projektdauer d¯1 k¨ onnen wir sukzessive weitere Verk¨ urzungsmengen bestimmen, bis wir mit d¯10 = d¯min = 103 die kleinstm¨ogliche Projektdauer erreichen. In Tabelle 4.20 sind die entsprechenden Zeitintervalle, Verk¨ urzungsmengen und Kostenfaktoren dargestellt. Abbildung 4.32 zeigt die optimale Time-Cost-Tradeoff-Kurve f¨ ur das Praxisbeispiel im Zeitintervall [103, 152]. Jede Verk¨ urzung, die zu einer Projektdauer von unter 120 Tagen f¨ uhrt, ist mit zus¨ atzlichen Kosten von mehr als Te a ˆK = 10 verbunden. Da das Kraftwerk nur 10 000 e pro Tag an EinspeiTag severg¨ utungen generiert, w¨ are eine u urzung ¨ber 120 Tage hinausgehende Verk¨ nicht effizient. Das Ziel unserer Time-Cost-Tradeoff-Analyse bestand darin, dass Projekt soweit zu verk¨ urzen, dass die durch die fr¨ uhere Inbetriebnahme des Kraftwerks zus¨ atzlich generierten Einspeiseverg¨ utungen maximiert werden. Bis zu einer Projektdauer von 120 Tagen werden die Beschleunigungkosten durch die zus¨ atzlichen Einspeiseverg¨ utungen u ¨ berkompensiert. Daraus folgt, dass wir alle Vorg¨ ange i ∈ V so einplanen, dass Si := Si∗ (d¯5 ) und pi := p∗i (d¯5 ) gilt. Durch
322
4 Kostenplanung Tabelle 4.20. Zeitintervalle des Praxisbeispiels
[d¯ , d¯−1 ]
K−
1 2 3 4 5
[152, 155] [151, 152] [136, 151] [130, 136] [120, 130]
{4} {4} {8} {8} {1}
6 7 8 9 10
[116, 120] {6,8} [115, 116] {6,8,9} [110, 115] {9,14} [107, 110] {9,14,15} [103, 107] {2,8,9,11}
K + δ K aK ∅ ∅ ∅ ∅ ∅
3 1 15 6 10
5 5 7 7 10
∅ ∅ ∅ ∅ ∅
4 1 5 3 4
22 28 36 48 52
∗
¯ C (d)
a ˆK = 10 TEUR Tag
a ˆK
103
107
110
115 116
120
130
136
152 151 155 Tage
Abb. 4.32. Time-Cost-Tradeoff-Kurve f¨ ur das Praxisbeispiel
die fr¨ uhere Inbetriebnahme generiert das Kraftwerk zus¨atzlich 350 000 e an Einspeiseverg¨ utungen. Dem gegen¨ uber stehen Beschleunigungskosten in H¨ohe von 237 000 e, so dass durch Anwendung der Time-Cost-Tradeoff-Analyse ein
4.4 Bau eines Biomassekraftwerks
323
zus¨ atzliches wirtschaftliches Potenzial in H¨ ohe von 113 000 e f¨ ur das Projekt aufgezeigt werden konnte.
Erg¨ anzende Literatur Demeulemeester und Herroelen (2002) Elmaghraby (1977) Hajdu (1997) Heilmann (2000) Kelley (1961) Kimms (2001)
Moder et al. (1983) Neumann (1975) Neumann (1987) Phillips und Dessouky (1977) Skutella (1998a) Skutella (1998b)
5 Softwaresysteme fu ¨r die Projektplanung
In den vorangegangenen Kapiteln haben wir Ans¨atze behandelt, mit denen man f¨ ur ein Projekt im Hinblick auf eine quantifizierbare Zielsetzung einen m¨ oglichst guten oder sogar optimalen Terminplan finden kann. In der betriebswirtschaftlichen Praxis greift das Projektmanagement i.d.R. auf die verf¨ ugbare Projektplanungssoftware zur¨ uck, die allerdings oftmals nur eine unterst¨ utzende und keine beratende“ Rolle bei der Projektplanung einnimmt. ” Der Fokus liegt vor allem auf der – bisweilen manuellen – Erstellung umsetzbarer Terminpl¨ ane, die dann f¨ ur die Steuerung und Abweichungsanalyse im Projektverlauf verwendet werden. In den folgenden Abs¨atzen beschreiben wir kurz ein typisches Vorgehen, welches bei der Erstellung von Terminpl¨anen in der Praxis durchgef¨ uhrt wird. Die Ergebnisse bilden dann eine geeignete Ausgangsbasis f¨ ur eine weitergehende Verbesserung bzw. Optimierung mit den in diesem Buch beschriebenen Verfahren. Zu Beginn eines Projektes wird grunds¨ atzlich ein Rahmenterminplan erstellt, der bei minimalistischer Herangehensweise nur die wichtigsten Meilensteine beinhaltet, h¨ aufig jedoch auch bereits eine Anzahl von Arbeitspaketen auf einem geeignet abstrakt gew¨ ahlten Aggregationsniveau. Zur Modellierung von sachlogischen oder ablaufbedingten Abh¨angigkeiten verwendet der u ¨ berwiegende Teil der Projektplaner Anordnungs- oder Zeitbeziehungen zwischen den Arbeitspaketen (Vorg¨ angen). Dazu bietet jede marktg¨angige Projektplanungssoftware eine mehr oder weniger benutzerfreundliche Modellierungsm¨ oglichkeit. Im Rahmen der Modellierung werden von den Softwaretools u ange unter Beachtung der angegebenen Anord¨ blicherweise alle Vorg¨ nungsbeziehungen automatisch fr¨ uhestm¨ oglich eingeplant, so dass sich der fr¨ uhestm¨ ogliche Projektendtermin automatisch errechnet. Neben der Modellierung von Anordnungsbeziehungen bieten nahezu alle Systeme eine in den meisten F¨ allen recht komfortabel gestaltete M¨oglichkeit zur Ressourcenplanung. Dabei k¨ onnen die f¨ ur die Planung vorgesehenen Ressourcen den Arbeitspaketen einfach unter Angabe des zu leistenden Aufwandes zugeordnet werden. Anschließend kann eine Analyse der Auslastung einer Ressource u ubergreifend u ¨ ber das Projekt oder auch unternehmens¨ ¨ ber alle
326
5 Softwaresysteme f¨ ur die Projektplanung
laufenden Projekte erfolgen. Durch die Einbeziehung der Ressourcen in die Planung ist es m¨ oglich, eine durchaus belastbare Aussage u ¨ ber die Umsetzbarkeit eines Terminplans zu treffen. Einige der g¨ angigen Softwaretools bieten bereits in der Basisversion einfache Optimierungsfunktionen an. Eine h¨ aufig vorliegende Funktion ist die M¨oglichkeit, sich nach der Spezifikation von Arbeitspaketen und Ressourcen sowie der Eingabe von Dauern, Zeitbeziehungen und Ressourceninanspruchnahmen einen Terminplan mit minimaler Gesamtdauer unter Ber¨ ucksichtigung der vorgegebenen Ressourcenkapazit¨ aten bestimmen zu lassen. In Unternehmen, die eine Planung unter Einbeziehung von Anordnungsbeziehungen und Ressourenzuordnungen durchf¨ uhren, sollten f¨ ur die in den vorangegangenen Kapiteln vorgeschlagenen Planungsverfahren bereits alle notwendigen Input-Daten (d.h. Zeitbeziehungen, Vorgangsdauern, Ressourceninanspruchnahmen von Vorg¨ angen sowie Ressourcenkapazit¨aten) vorhanden sein. Somit steht einer Implementierung der vorgestellten Verfahren grunds¨ atzlich nichts im Wege; einige Planungstools erlauben sogar den Eingriff in die existierenden Planungsverfahren, beispielswiese in Form von VisualBasic-Makros oder u ¨ ber durch den Nutzer vorzugebende Priorit¨atskennziffern. Im Folgenden vergleichen wir basierend auf einer Studie von Kuhns und Stark (2005) mehrere Softwareprodukte f¨ ur die Projektplanung unter Zeit- und Ressourcenrestriktionen. Gegenstand der Untersuchung sind drei der f¨ uhrenden Softwareprodukte in diesem Marktsegment: Microsoft Project 20031, CS Project Professional 3.02 und Primavera Project Management3 . Der Fokus unserer Betrachtungen liegt insbesondere auf dem Vergleich der Planungsg¨ ute, die mit Hilfe der untersuchten Softwaresysteme erzielt werden kann. Weitere Studien, die die Leistungsf¨ ahigkeit der Planungskomponenten verschiedener Softwaresysteme zur Projektplanung untersuchen, stammen von Trautmann und Baumann (2009), Hartung et al. (2001), Schneider und Hieber (1997) sowie Kolisch und Hempel (1996). Einen ausf¨ uhrli¨ chen Uberblick u ur ¨ber den Funktionsumfang zahlreicher Softwareprodukte f¨ das Projektmanagement und die Projektplanung findet man beispielsweise in Schneider und Hieber (1997), Wiegand et al. (2002) und Ahlemann (2004). In Abschnitt 5.1 beschreiben wir kurz die untersuchten Softwareprodukte. Um die Leistungsf¨ ahigkeit dieser Softwaresysteme im Hinblick auf ihre Planungskomponenten zu vergleichen, wurden mehrere Instanzen des ressourcenbeschr¨ ankten Projektplanungsproblems (3.2) erzeugt und f¨ ur die Zielfunktion (PD ) mit Hilfe der betrachteten Softwaresysteme gel¨ost. Eine Charakteri1
2
3
Build 11.1.2004.1707.15 SP1 Microsoft Deutschland GmbH, Konrad-Zuse-Straße 1, 85716 Unterschleißheim Release 25.10.2000 Crest Management Systems GmbH, Neuer Kamp 2a, 25451 Quickborn Release 4.1 SP2 Build 30000009 Primavera Systems, Inc., 2nd Floor Commonwealth House, 2 Chalkhill Road, London W6 8DW, United Kingdom
5.1 Softwareprodukte
327
sierung dieser Probleminstanzen und weitere Eigenschaften der betrachteten Testumgebung geben wir in Abschnitt 5.2 an. In Abschnitt 5.3 fassen wir schließlich die Testergebnisse zusammen. Um die G¨ ute der von den untersuchten Programmen erzeugten Schedules zu beurteilen, wurde f¨ ur alle Testinstanzen eine optimale L¨ osung oder eine untere Schranke bestimmt. Ferner wurde f¨ ur jede Testinstanz mittels des in Abschnitt 3.4 dargestellten seriellen Generierungsschemas eine N¨ aherungsl¨ osung ermittelt.
5.1 Softwareprodukte ¨ In dem vorliegenden Abschnitt geben wir einen Uberblick u ¨ ber die grundlegenden Funktionalit¨ aten der drei untersuchten Softwaresysteme Microsoft Project 2003, CS Project Professional 3.0 und Primavera Project Management. In den Abschnitten 5.1.1 bis 5.1.3 gehen wir n¨aher auf einige Besonderheiten der betrachteten Programme bei der Konstruktion und Planung von Projekten ein. Die technischen Mindestanforderungen f¨ ur den Betrieb der einzelnen Softwareprodukte sind nach dem aktuellen Stand der Technik als gering einzustufen, so dass ein handels¨ ublicher PC mit dem Betriebssystem Microsoft Windows XP f¨ ur den Betrieb vollkommen ausreichend ist. Die Bedienung der Programme erfolgt mittels Maus und Tastatur und bedarf lediglich einer geringen Einarbeitungszeit, da sich alle Programme stark an die von Microsoft-Produkten gewohnte Bedienungsphilosophie anlehnen. Ferner erm¨ oglichen zahlreiche Beispielprojekte und die bei allen Programmen vor¨ handene Online-Hilfe dem Nutzer einen raschen Uberblick u ¨ ber die einzelnen Schritte, die f¨ ur die Projektplanung notwendig sind. Bei der Darstellung der projektbezogenen Informationen bieten alle Produkte einen umfangreichen Katalog von M¨ oglichkeiten. Neben Gantt-Charts und Ressourcenprofilen l¨ asst sich auch der einem Projekt zugrunde liegende Netzplan visualisieren. Dabei k¨ onnen die verschiedenen Visualisierungsformen i.d.R. an die subjektiven Bed¨ urfnisse der Anwender angepasst werden, z.B. durch die Definition eigener Ansichten, das Ein- und Ausblenden einzelner Spalten in umfangreichen Tabellen oder eine flexible farbliche Gestaltung der dargebotenen Informationen. Im Rahmen der Konstruktion eines Projektnetzplans erlauben alle drei Programme dem Anwender, zwischen zeitlichen Mindestabst¨anden vom Typ Start-Start, Start-Ende, Ende-Start sowie Ende-Ende zu w¨ahlen. Die Modellierung zeitlicher H¨ ochstabst¨ ande unterst¨ utzt allerdings keines der untersuchten Programme in ad¨ aquater Weise. Zwar ist es grunds¨atzlich m¨oglich, negative Mindestabst¨ ande zu definieren, allerdings darf der resultierende Netzplan keine Zyklen enthalten, so dass viele praxisrelevante Sachverhalte bei der Modellierung eines Projektes unber¨ ucksichtigt bleiben m¨ ussen. Alle Programme unterscheiden ferner zwischen erneuerbaren Ressourcen, die meist unter dem Begriff Arbeitskr¨ afte“ zusammengefasst werden, und nicht-erneuerbaren ”
328
5 Softwaresysteme f¨ ur die Projektplanung
Ressourcen, die unter der Bezeichnung Material“ subsumiert werden. Es ist ” bei allen Programmen außerdem m¨ oglich, die Inanspruchnahme der Ressourcen durch einzelne Vorg¨ ange mit selbst definierten Kostens¨atzen zu bewerten. ¨ Dabei wird zwischen fixen Kosten, variablen Kosten und Uberstundenkosten unterschieden. Weiterhin kann der Anwender in allen Programmen einen Betriebskalender definieren, in dem Sonn- und Feiertage, werkt¨agliche Arbeitszeiten, Betriebsferien sowie die eingeschr¨ankte Verf¨ ugbarkeit einzelner Ressourcen spezifiziert werden k¨ onnen. Als Zielfunktion verwenden alle untersuchten Programme standardm¨ aßig das Ziel der Projektdauerminimierung (PD ). Weitere Zielfunktionen werden nicht unterst¨ utzt. Es besteht lediglich die M¨ oglichkeit, f¨ ur einzelne Vorg¨ ange eines Projektes und unter Vorgabe eines Projektendtermins Planungsmaßgaben vorzugeben, wie z.B. dass ein Vorgang so fr¨ uh oder so sp¨ at wie m¨ oglich starten soll. Auf diese Weise kann beispielsweise die Zielfunktion (WST ) mit wi ∈ {1, −1}, i ∈ V , rudiment¨ar ber¨ ucksichtigt werden. 5.1.1 Microsoft Project 2003 Microsoft Project orientiert sich mit seinem Bedienungskonzept an der hauseigenen Office-Familie, so dass ein ge¨ ubter Anwender sich in dem Programm sofort zurecht findet. In der aktuellen Version ist der Export in das alte MPXDateiformat nicht mehr m¨ oglich. F¨ ur den Datenaustausch mit anderen Programmen werden so genannte Exportschemata angeboten, mit deren Hilfe man beliebige Felder spezifizieren kann, die dann in eine Tabelle exportiert werden k¨ onnen. Ein Makro-Recorder und eine VBA-Entwicklungsumgebung4 erm¨ oglichen es, h¨ aufig auszuf¨ uhrende Arbeitsschritte zu automatisieren und das Programm um selbst geschriebene Funktionen zu erweitern. Die Projektvorg¨ ange und die ben¨ otigten Ressourcen k¨onnen entweder in tabellarischer Form oder mit Hilfe vorgefertigter Abfragemasken in das System eingepflegt werden. F¨ ur den so genannten Kapazit¨atsabgleich (vgl. Abb. 5.1), d.h. die Terminierung der Projektvorg¨ ange unter Beachtung der Ressourcenrestriktionen, k¨ onnen die drei nachfolgend beschriebenen Priorit¨atsregeln ausgew¨ ahlt werden, die den Ablauf des Kapazit¨ atsabgleichs steuern. Zus¨atzlich kann jedem Vorgang manuell eine Priorit¨ at zugeordnet werden. Hierdurch hat der Anwender die M¨ oglichkeit, die Einplanungsreihenfolge der Vorg¨ange seinen Vorstellungen entsprechend zu beeinflussen. Nur Nr.: Die Vorg¨ ange werden in der Reihenfolge ihrer Vorgangsnummern eingeplant. Standard: Hierbei wertet Microsoft Project u.a. die Pufferzeit eines Vorgangs, vorgegebene Bereitstellungs- oder Fertigstellungstermine sowie die Priorit¨ at eines Vorgangs aus, um eine Einplanungsreihenfolge der Projektvorg¨ ange zu bestimmen. 4
VBA: Visual Basic for Applications
5.1 Softwareprodukte
329
Priorit¨at, Standard: Bei dieser Priorit¨ atsregel werden zun¨achst die manuell zugeordneten Priorit¨ aten der einzelnen Vorg¨ange und anschließend die vorgenannten Kriterien ber¨ ucksichtigt, um zu einer Einplanungsreihenfolge zu gelangen.
Abb. 5.1. Kapazit¨ atsabgleich bei Microsoft Project 2003
5.1.2 CS Project Professional 3.0 Der Gebrauch von CS Project Professional l¨ asst sich wie bei Microsoft Project sehr einfach erlernen. Leider kann CS Project nicht das MPP-Dateiformat von Microsoft lesen, sondern nur das Format MPX, so dass Projekte aus aktuellen Versionen von Microsoft Project nicht ohne weiteres importiert werden k¨onnen. Daf¨ ur k¨ onnen Projekte aus Primavera Project Management problemlos importiert werden. Zur Automatisierung repetitiver Arbeitsabl¨aufe steht ein Makro-Editor zur Verf¨ ugung, der jedoch bei weitem nicht dieselben M¨ oglichkeiten bietet, wie man sie mit VBA unter Microsoft Project hat. Das Einpflegen eines Projektes unter CS Project verl¨auft ¨ahnlich problemlos wie bei Microsoft Project. F¨ ur den Kapazit¨ atsabgleich – der bei CS Project
330
5 Softwaresysteme f¨ ur die Projektplanung
als Ressourcenabgleich“ bezeichnet wird (vgl. Abb. 5.2) – lassen sich den ein” zelnen Vorg¨ angen abermals manuelle Priorit¨ atswerte zuordnen. Im Vergleich zu MS Project stellt CS Project jedoch eine deutlich gr¨oßere Anzahl m¨oglicher Priorit¨ atsregeln zur Verf¨ ugung. Zus¨ atzlich kann man ausw¨ahlen, ob die Projektvorg¨ ange gem¨ aß dieser Priorit¨ atsregeln in auf- oder absteigender Reihenfolge eingeplant werden sollen, und man kann gleichzeitig bis zu vier verschiedene Priorit¨ atsregeln kombinieren. Da die Anzahl m¨oglicher Priorit¨atsregelkombinationen sehr groß ist, wurden in Kuhns und Stark (2005) zahlreiche Priorit¨ atsregelkombinationen miteinander verglichen. Außerdem wurde der so genannte CARLO“-Abgleich untersucht, bei dem hintereinander verschiede” ne Priorit¨ atsregelkombinationen angewendet werden, um bessere Ergebnisse zu erzielen. Wie in Abschnitt 5.3 ausgef¨ uhrt, werden die besten L¨osungen i.d.R. mit Hilfe des CARLO-Abgleiches gefunden. In den wenigen F¨allen, in denen der CARLO-Abgleich nicht zum besten Ergebnis f¨ uhrte, wurde das jeweils beste Ergebnis mit der Regel Priorit¨ at, aufsteigend“ erzielt, bei der die ” Vorg¨ ange gem¨ aß zuf¨ allig erzeugter Priorit¨ atswerte in aufsteigender Reihenfolge eingeplant werden.
Abb. 5.2. Ressourcenabgleich bei CS Project Professional 3.0
5.1.3 Primavera Project Management Primavera Project Management ist standardm¨aßig f¨ ur den Client-ServerBetrieb ausgelegt; eine Stand-Alone-Installation ist aber m¨oglich. F¨ ur den Imund Export von Projekten kommen s¨ amtliche Microsoft-Project-Dateiformate in Frage. Der routinierte Anwender vermisst bei Primavera Project Management allerdings einen Makro-Rekorder o.¨ a. und muss sich zur Automatisierung von Arbeitsabl¨ aufen externer Programme bedienen.
5.2 Testumgebung
331
Die Konstruktion eines Projektes entspricht im Wesentlichen dem von den anderen Produkten bekannten Vorgehen. Eine Besonderheit von Primavera Project Management findet man jedoch bei der Definition der Ressourceninanspruchnahme eines Projektvorgangs. Hier besteht die M¨oglichkeit, zwischen zw¨ olf Funktionen zu w¨ ahlen, die die Inanspruchnahme einer Ressource durch einen Vorgang in Abh¨ angigkeit von der Zeit abbilden. Auf diese Weise kann man beispielsweise festlegen, dass gegen Ende eines Vorgangs die zugeh¨ orige Ressourceninanspruchnahme pro Zeiteinheit h¨oher ist als zu Beginn eines Vorgangs. Dies ist aber vor allem f¨ ur die Bestimmung der zeitlichen Struktur der Kosten von Interesse und hat keinen Einfluss auf den Ressourcenabgleich. Primavera Project Management bietet dem Anwender f¨ ur den Ressourcenabgleich (vgl. Abb. 5.3) die mit Abstand gr¨oßte Anzahl m¨oglicher Priorit¨ atsregelkombinationen zur Auswahl an. In Kuhns und Stark (2005) wurden unterschiedliche Priorit¨ atsregelkombinationen miteinander verglichen. Es hat sich gezeigt, dass sechs Priorit¨ atsregeln alle anderen untersuchten Regeln dominieren. Im Einzelnen handelt es sich dabei um • • • • • •
die Fr¨ uher Start“-Regel, bei der die Vorg¨ ange in absteigender Reihenfolge ” gem¨ aß ihres fr¨ uhesten Startzeitpunktes eingeplant werden, die Sp¨ ater Start“-Regel (LST -Regel), bei der die Vorg¨ange in aufsteigen” der Reihenfolge gem¨ aß ihres sp¨ atesten Startzeitpunktes eingeplant werden, die Sp¨ ate Fertigstellung“- Regel, bei der die Vorg¨ange in aufsteigender ” Reihenfolge gem¨ aß ihres sp¨ atesten Endzeitpunktes eingeplant die Gesamtpuffer“-Regel (MST -Regel), bei der die Vorg¨ange in aufstei” gender Reihenfolge gem¨ aß ihrer gesamten Pufferzeit (TF ) eingeplant werden, die Freie Puffer“-Regel, bei der die Vorg¨ ange in aufsteigender Reihenfolge ” gem¨ aß ihrer freien Pufferzeit (EFF ) eingeplant werden, und die Geplante Dauer“-Regel, bei der die Vorg¨ange in aufsteigender Rei” henfolge gem¨aß ihrer Vorgangsdauer eingeplant werden.
5.2 Testumgebung Um die Leistungsf¨ ahigkeit der drei untersuchten Softwaresysteme zu evaluieren, wurden zuf¨ allig jeweils 60 Instanzen des ressourcenbeschr¨ankten Projektplanungsproblems mit 30, 60, 90 und 120 Vorg¨angen, d.h. insgesamt 240 Probleminstanzen, mit Hilfe des Problemgenerators ProGen/max5 generiert. Da die untersuchten Programme nicht in der Lage sind, Netzpl¨ane mit Zyklen zu verarbeiten, enthalten die Testinstanzen ausschließlich zeitliche Mindestabst¨ ande, jedoch keine zeitlichen H¨ ochstabst¨ande. Ferner enthalten alle 240 Testinstanzen jeweils zwei erneuerbare Ressourcen. Als Zielfunktion wurde (PD ) zugrunde gelegt. 5
vgl. http://www.wior.uni-karlsruhe.de
332
5 Softwaresysteme f¨ ur die Projektplanung
Abb. 5.3. Ressourcenabgleich bei Primavera Project Management
Die verwendeten Probleminstanzen lassen sich im Wesentlichen u ¨ ber die drei Parameter resource strength (RS), resource factor (RF ) und restrictiveness of Thesen (RT ) charakterisieren. Eine ausf¨ uhrliche Beschreibung dieser und weiterer Charakteristika von Netzpl¨ anen findet sich in Kolisch (1995), Schwindt (1996) und Schwindt (1998a), so dass wir im Folgenden lediglich die Bedeutung der vorgenannten Parameter beschreiben. Die resource strength gibt den Grad der Ressourcenknappheit an. RS = 1 besagt, dass die vorhandenen Ressourcen nicht knapp sind und somit effektiv keine Einschr¨ ankung f¨ ur die Projektplanung darstellen, da alle Vorg¨ange zu ihrem fr¨ uhesten Startzeitpunkt eingeplant werden k¨onnen. RS = 0 bedeutet, dass wenigstens ein Vorgang die gesamte Kapazit¨at zumindest einer Ressource in Anspruch nimmt. Ressourcenbeschr¨ ankte Projektplanungsprobleme mit einem niedrigen Wert f¨ ur RS sind somit tendenziell schwieriger zu l¨osen. Bei der Erzeugung der Testsets mit ProGen/max wurden f¨ ur die resource strength die Werte RS ∈ {0,25; 0,5} gew¨ ahlt. Der resource factor gibt die durchschnittliche Anzahl der beanspruchten Ressourcen an. Mit RF = 0 beansprucht kein Vorgang irgendeine der Res-
5.3 Testergebnisse
333
sourcen. RF = 1 bedeutet, dass jeder Vorgang alle Ressourcen beansprucht. Hohe Werte f¨ ur den resource factor implizieren, dass das zugrunde liegende Problem schwieriger zu l¨ osen ist. F¨ ur die betrachteten Testinstanzen wurde RF ∈ {0,5; 1} gew¨ ahlt. Die so genannte restrictiveness of Thesen, die durch die in Neumann et al. (2003, Kap. 2.8) erl¨ auterte order strength approximiert wird, ist ein Maß f¨ ur die Komplexit¨ at des zugrunde liegenden Netzplans. Ist RT = 0, so ist der entsprechende Netzplan parallel, d.h. es existieren keine Zeitbeziehungen zwischen den Projektvorg¨ angen i, j ∈ V \ {0, n + 1}. Gilt hingegen RT = 1, so ist das resultierende Netzwerk seriell. F¨ ur niedrige Werte von RT ist die L¨ osung des entsprechenden Projektplanungsproblems daher schwieriger als f¨ ur hohe Werte, da die Anzahl der an einem Ressourcenkonflikt beteiligten Vorg¨ ange zunimmt. Bei der Erzeugung der betrachteten Testinstanzen wurden die Werte RT ∈ {0,1; 0,25; 0,5} zugrunde gelegt. In Tabelle 5.1 sind alle untersuchten Kombinationen der drei Parameter RS, RF und RT dargestellt. Die Menge der Testinstanzen enth¨alt somit f¨ ur jede dieser Parameterkombinationen f¨ unf Probleminstanzen mit jeweils 30, 60, 90 bzw. 120 Vorg¨ angen. Tabelle 5.1. Untersuchte Kombinationen der Parameter RS, RF , RT Kombination
RS
RF
RT
1 2 3 4 5 6 7 8 9 10 11 12
0,25 0,5 0,25 0,5 0,25 0,5 0,25 0,5 0,25 0,5 0,25 0,5
0,5 0,5 1 1 0,5 0,5 1 1 0,5 0,5 1 1
0,1 0,1 0,1 0,1 0,25 0,25 0,25 0,25 0,5 0,5 0,5 0,5
5.3 Testergebnisse Die Tests wurden auf einem Pentium IV Prozessor mit 3.2 GHz unter Microsoft Windows XP durchgef¨ uhrt. Dazu wurden die von ProGen/max generierten Probleminstanzen mit Hilfe verschiedener VBA-Routinen in MS Project 2003 (MSP) eingelesen und im MPP-Format gespeichert. Als N¨achstes wurden die MPP-Dateien in Primavera Project Management (PPM) importiert. Aus diesem Programm ließen sich die einzelnen Testinstanzen im MPX-Format
334
5 Softwaresysteme f¨ ur die Projektplanung
speichern, um sie schließlich in CS Project Professional (CSP) einzulesen. Anschließend wurden die einzelnen Probleminstanzen in jedem der drei Programme gel¨ ost und die Ergebnisse in eine Tabelle geschrieben. Die manuellen Priorit¨ atswerte, die man den Vorg¨ angen in allen Programmen zuordnen konnte, wurden gleichverteilt zuf¨ allig erzeugt, wobei f¨ ur alle Programme dieselben zuf¨ alligen Priorit¨ aten verwendet wurden. Da bei allen Programmen grunds¨atzlich mehrere Priorit¨ atsregeln zur Anwendung kommen k¨onnen, wurden die einzelnen Probleminstanzen f¨ ur alle m¨ oglichen (MS Project) bzw. f¨ ur eine gr¨oßere Anzahl vielversprechender Priorit¨ atsregelkombinationen (Primavera Project Management und CSP Project Professional) gel¨ost. In der Auswertung wurde dann jeweils nur die beste gefundene L¨osung f¨ ur die zugrunde liegende Probleminstanz ber¨ ucksichtigt. Um f¨ ur die Testinstanzen eine optimale Referenzl¨osung zu erhalten, wurde die sehr effiziente Implementierung eines auf dem relaxationsbasierten Enumerationsschema beruhenden Branch-and-Bound-Verfahren von Schwindt (1998b) verwendet. F¨ ur 31 von 240 Probleminstanzen konnte der Algorithmus jedoch keine optimale L¨ osung in akzeptabler Zeit finden, so dass f¨ ur diese Probleminstanzen eine in Schwindt (1998b) beschriebene workload-basierte untere Schranke f¨ ur den Zielfunktionswert als Referenzwert angenommen wurde. Außerdem wurden alle Probleminstanzen mit dem in Abschnitt 3.4 beschriebenen klassischen seriellen Generierungsschema (SGS) n¨aherungsweise gel¨ ost. Dabei kamen f¨ unf verschiedene Priorit¨atsregeln zur Anwendung: die in Abschnitt 2.3 beschriebenen GRD -, GRDT -, LST - und MST -Regeln sowie einfach die Nummer der Projektvorg¨ ange, d.h. die Vorg¨ange mit kleinster Nummer werden zuerst eingeplant. Unter Microsoft Project wurden die besten Ergebnisse f¨ ur etwa 80% der Probleminstanzen mit der Priorit¨ atsregel Standard“ (vgl. Abschnitt 5.1.1) er” zielt. Als einziges Programm war Microsoft Project bei f¨ unf Probleminstanzen jedoch nicht in der Lage, eine zul¨ assige L¨ osung zu erzeugen. Bei CS Project Professional wurden die mit Abstand besten Ergebnisse mit dem CARLOAbgleich erzielt (f¨ ur ca. 97% aller Testprobleme). Unter Primavera Project Management erwies sich die Priorit¨ atsregel Sp¨ater Start“ (aufsteigend) in gut ” 95% aller F¨ alle als am besten. F¨ ur das serielle Generierungsschema wurden die besten Ergebnisse sowohl mit der MST - als auch mit der LST -Regel in ca. 95% der F¨ alle erzielt. Sowohl bei Primavera Project Management als auch beim seriellen Generierungsschema erweist sich die Verwendung der LST -Regel somit in nahezu allen untersuchten F¨ allen als die vorteilhafteste Strategie. Tabelle 5.2 zeigt, aufgeschl¨ usselt nach der Problemgr¨oße (Anzahl Vorg¨ ange), die prozentuale mittlere sowie maximale Abweichung vom vorgenannten Referenzwert. Da als Referenzwert in einigen F¨allen eine untere Schranke und nicht eine optimale L¨ osung angenommen wurde, ist anzumerken, dass die prozentualen Abweichungen zu einer optimalen L¨osung tendenziell ein wenig niedriger als angegeben sind. In Tabelle 5.3 ist die Varianz der einzelnen Ergebnisse angegeben sowie die Anzahl der Testinstanzen, f¨ ur die die einzelnen Programme eine L¨osung
5.3 Testergebnisse
335
Tabelle 5.2. Mittlere und maximale Abweichung (in %) 30
Vorg¨ ange MSP CSP PPM SGS
Mittlere Abweichung 60 90 120
4,27 2,42 1,54 3,89
4,72 2,77 1,50 3,44
2,80 0,93 0,53 0,68
2,19 1,10 0,51 0,87
∅
30
3,50 1,81 1,02 2,22
24,69 22,22 17,28 30,86
Maximale Abweichung 60 90 120 45,07 19,44 16,67 33,09
29,46 20,69 13,79 19,83
20,69 15,17 15,53 27,48
max 45,07 22,22 17,28 33,09
gefunden haben, die gerade so gut ist wie die Referenzl¨osung. Das serielle Generierungsschema ermittelte in 197 von 240 F¨allen die Referenzl¨osung und schneidet damit besser ab als Microsoft Project und CS Project; daf¨ ur ist die Streuung der mit Hilfe des seriellen Generierungsschemas ermittelten L¨osungen in vielen F¨ allen sehr groß. Am h¨ aufigsten wurde eine optimale L¨osung von Primavera Project Management ermittelt. Tabelle 5.3. Varianz und Anzahl erreichter Referenzl¨ osungen Vorg¨ ange MSP CSP PPM SGS
30
60
Varianz 90
120
∅
30
Referenzl¨ osungen 60 90 120 Summe
38,78 22,09 15,92 60,92
70,82 25,92 16,80 64,76
29,23 9,69 4,58 8,28
21,46 10,54 5,21 16,86
40,07 17,06 10,63 37,71
30 39 49 41
27 39 49 46
30 51 55 55
36 49 55 55
123 178 208 197
Um f¨ ur die untersuchten Probleminstanzen den Einfluss der charakteristischen Gr¨ oßen RF , RS und RT auf die G¨ ute der gefundenen L¨osungen aufzuzeigen, sind in den Tabellen 5.4, 5.5 und 5.6 die mittleren Abweichungen der durch die einzelnen Programme ermittelten L¨osungen vom Referenzwert in Abh¨ angigkeit der genannten Parameter angegeben. Wie zu erwarten war, weichen die gefundenen L¨ osungen f¨ ur hohe Werte von RF und niedrige Werte von RS st¨ arker von der Referenzl¨ osung ab als im umgekehrten Fall. F¨ ur den Parameter RT l¨ asst sich allerdings keine deutliche Aussage treffen, wie seine Wahl die G¨ ute der gefundenen L¨ osungen beeinflusst. Abschließend l¨ asst sich festhalten, dass alle getesteten Programme f¨ ur die zugrunde liegenden Probleminstanzen ordentliche Ergebnisse erzielt haben, die im Mittel nur wenige Prozentpunkte u ¨ ber der entsprechenden Referenzl¨ osung lagen. Dass das serielle Generierungsschema stellenweise etwas schlechter abgeschnitten hat als das ein oder andere Programm, ist nicht weiter verwunderlich, da sowohl f¨ ur CS Project Professional als auch Primavera Project Management viele verschiedene Priorit¨atsregelkombinationen getestet und jeweils die besten Ergebnisse verwendet wurden, w¨ahrend f¨ ur das serielle Generierungsschema nur f¨ unf verschiedene Regeln in die Untersuchung einbezogen wurden. Durch eine Einbettung des seriellen Generierungsschemas in
336
5 Softwaresysteme f¨ ur die Projektplanung Tabelle 5.4. Mittlere Abweichung (in %) in Abh¨ angigkeit von RF Vorg¨ ange RF 30 30 60 60 90 90 120 120
0,5 1 0,5 1 0,5 1 0,5 1
MSP 3,70 4,83 4,59 4,85 2,31 3,29 2,92 1,49
CSP PPM
SGS
1,73 3,11 2,13 3,42 0,42 1,44 0,83 1,37
1,05 6,72 1,18 5,71 0,20 1,17 0,26 1,48
0,57 2,51 1,03 1,98 0,10 0,97 0,77 0,25
Tabelle 5.5. Mittlere Abweichung (in %) in Abh¨ angigkeit von RS Vorg¨ ange
RS
MSP
30 30 60 60 90 90 120 120
0,25 0,5 0,25 0,5 0,25 0,5 0,25 0,5
7,57 0,96 4,95 1,09 2,64 1,80 1,96 0,73
CSP PPM
SGS
4,23 0,61 2,21 0,27 0,64 0,44 1,18 0,00
7,39 0,39 2,48 0,08 0,31 0,46 0,61 0,00
2,74 0,33 0,80 0,08 0,31 0,36 0,74 0,00
Tabelle 5.6. Mittlere Abweichung (in %) in Abh¨ angigkeit von RT Vorg¨ ange
RT
MSP
30 30 30 60 60 60 90 90 90 120 120 120
0,1 0,25 0,5 0,1 0,25 0,5 0,1 0,25 0,5 0,1 0,25 0,5
3,94 3,76 5,10 5,65 3,09 5,41 1,70 2,20 4,51 2,27 1,81 2,48
CSP PPM
SGS
2,36 1,00 3,89 2,64 1,97 3,71 0,36 1,26 1,17 1,47 1,05 0,77
4,21 2,68 4,77 3,10 2,59 4,63 0,00 0,99 1,05 0,76 0,36 1,48
2,35 0,23 2,03 0,99 0,86 2,66 0,00 0,69 0,91 0,93 0,36 0,24
ein Verbesserungsverfahren wie beispielsweise Tabu Search lassen sich jedoch i.d.R. bessere Ergebnisse erzielen; vgl. Klein (2000, Kapitel 5.3). Nachholbedarf besteht bei den professionellen Softwaresystemen jedoch insbesondere in zweierlei Hinsicht: F¨ ur den praktischen Einsatz w¨are es sinnvoll, dass sowohl zeitliche Mindest- als auch H¨ ochstabst¨ ande modelliert werden k¨onnten. Dies unterst¨ utzen die verf¨ ugbaren Softwaresysteme i.d.R. nicht oder nur in eingeschr¨ ankter Form. Weiterhin ist bei den kommerziellen Programmen zur Pro-
5.3 Testergebnisse
337
jektplanung das Ziel der Projektdauerminimierung ein vorherrschendes Zielkriterium. Anspruchsvollere Zielfunktionen, z.B. die Zielfunktionen (NPV ) oder (RL) (vgl. Abschnitt 2.1.1), werden dem Anwender nicht zur Verf¨ ugung gestellt. In ihrer F¨ ahigkeit, allgemeine Zeitbeziehungen sowie eine Vielzahl verschiedener Zielfunktionen ber¨ ucksichtigen zu k¨onnen, liegt somit eine wesentliche St¨ arke der in diesem Buch beschriebenen Modelle und Verfahren im Vergleich zur aktuell vorhandenen kommerziellen Software. Sie k¨onnten somit als Grundlage f¨ ur die Erweiterung kommerzieller Softwaresysteme dienen.
Literaturverzeichnis
Ahlemann F. (2004), Comparative Market Analysis of Project Management Systems. Technical Report, Universit¨ at Osnabr¨ uck, Lehrstuhl f¨ ur Betriebswirtschaftslehre, Organisation und Informationssysteme Bachem A. (1980), Komplexit¨ atstheorie im Operations Research. Zeitschrift f¨ ur Betriebswirtschaftslehre 7, 812–844 Bamberg G. und Baur F. (2001), Statistik. Oldenbourg, M¨ unchen Bartusch M., M¨ ohring R.H. und Radermacher F.J. (1988), Scheduling Project Networks with Resource Constraints and Time Windows. Annals of Operations Research 16, 201–240 Bertsekas D.P. (1998), Network Optimization – Continuous and Discrete Models. Athena Scientific, Belmont B¨ ottcher J., Drexl A., Kolisch R. und Salewski F. (1999), Project Scheduling Under Partially Renewable Resource Constraints. Management Science 45, 543– 559 Breuer W. (2001), Investition II. Gabler, Wiesbaden Brucker P. (1973), Die Erstellung von CPM-Netzpl¨ anen. In: P. Gessner, R. Henn, V. Steinecke und H. Todt (Hg.) Proceedings in Operations Research, 122–130, Physica, W¨ urzburg Brucker P., Drexl A., M¨ ohring R.H., Neumann K. und Pesch E. (1999), Resource-Constrained Project Scheduling: Notation, Classification, Models, and Methods. European Journal of Operational Research 112, 3–41 Brucker P. und Knust S. (2003), Lower Bounds for Resource-Constrained Project Scheduling Problems. European Journal of Operational Research 149, 302–313 Burghardt M. (2000), Projektmanagement. Publicis MCD, M¨ unchen Burghardt M. (1999), Einf¨ uhrung in Projektmanagement. Publicis MCD, M¨ unchen Coenenberg A. (2003), Kostenrechnung und Kostenanalyse. Sch¨ affer-Poeschel, Stuttgart De Reyck B. (1998), Scheduling Projects with Generalized Precedence Relations: Exact and Heuristic Procedures. Dissertation, Catholic University of Leuven De Reyck B. und Herroelen W.S. (1998), A Branch-and-Bound Procedure for the Resource-Constrained Project Scheduling Problem with Generalized Precedence Relations. European Journal of Operational Research 111, 152–174
340
Literaturverzeichnis
Demeulemeester E.L. (1995), Minimizing Resource Availability Costs in TimeLimited Project Networks. Management Science 41, 1590–1598 Demeulemeester E.L. und Herroelen W.S. (2002), Project Scheduling – A Research Handbook. Kluwer, Boston Diethelm G. (2000), Projektmanagement, Bd. 1. NWB, Herne Diethelm G. (2001), Projektmanagement, Bd. 2. NWB, Herne Domschke W. und Drexl A. (2005), Einf¨ uhrung in Operations Research. Springer, Berlin Dorndorf U. (2002), Project Scheduling with Time Windows. Physica, Heidelberg Elmaghraby S.E. (1977), Activity Networks – Project Planning and Control by Network Models. John Wiley, New York Elmaghraby S.E. und Kamburowski J. (1992), The Analysis of Activity Networks Under Generalized Precedence Relations (GPRs). Management Science 38, 1245–1263 Franck B. (1999), Priorit¨ atsregelverfahren f¨ ur die ressourcenbeschr¨ ankte Projektplanung mit und ohne Kalender. Shaker, Aachen Garey M.R. und Johnson D.S. (1979), Computers and Intractability: A Guide to the Theory on NP-Completeness. Freeman, New York Haberstock L. (2004), Kostenrechnung I. Erich Schmidt, Berlin Habib M., Morvan M. und Rampon J.X. (1993), On the Calculation of Transitive Reduction-Closure of Orders. Discrete Mathematics 111, 289–303 Hajdu M. (1997), Network Scheduling Techniques for Construction Project Management. Kluwer, Dordrecht Hartmann S. (1999), Project Scheduling Under Limited Resources – Models, Methods, and Applications. Springer, Berlin Hartung T., Mellentien C. und Trautmann N. (2001), Software zur ressourcenbeschr¨ ankten Projektplanung im Vergleich. Technical Report WIOR–604, Universit¨ at Karlsruhe Heilmann R. (2000), Ressourcenbeschr¨ ankte Projektplanung im Mehr-Modus-Fall. Gabler, Wiesbaden Herroelen W.S., Van Dommelen P. und Demeulemeester E.L. (1997), Project Network Models with Discounted Cash Flows: A Guided Tour Through Recent Developments. European Journal of Operational Research 100, 97–121 Heuser H. (1998), Lehrbuch der Analysis – Teil 1. Teubner, Stuttgart Kelley J.E. (1961), Critical-Path Planning and Scheduling: Mathematical Basis. Operations Research 9, 296–320 Kerzner H. (2003), Project Management: A Systems Approach to Planning, Scheduling, and Controlling. Wiley, New Jersey Kimms A. (2001), Mathematical Programming and Financial Objectives for Scheduling Projects. Kluwer, Dordrecht Klein R. (2000), Scheduling of Resource-Constrained Projects. Kluwer, Boston Klein R. und Scholl A. (1999), Computing Lower Bounds by Destructive Improvement: An Application to Resource-Constrained Project Scheduling. European Journal of Operational Research 112, 322–346 Kolisch R. (1995), Project Scheduling Under Resource Constraints. Physica, Heidelberg Kolisch R. (2001), Make-to-Order Assembly Management. Springer, Berlin
Literaturverzeichnis
341
Kolisch R. und Hempel K. (1996), Experimentelle Evaluation der Kapazit¨ atsplanung von Projektmanagementsoftware. Zeitschrift f¨ ur betriebswirtschaftliche Forschung 48, 999–1018 Kolisch R. und Padman R. (2001), An Integrated Survey of Deterministic Project Scheduling. Omega 29, 249–272 Kruschwitz L. (2005), Investitionsrechnung. Oldenbourg, M¨ unchen Kuhns G. und Stark C. (2005), Software zur ressourcenbeschr¨ ankten Projektplanung im Vergleich. WiWi-Report No. 5, Technische Universit¨ at Clausthal Law A.M. und Kelton W.D. (2000), Simulation Modelling and Analysis. McGrawHill, Berkshire Lehner J.M. (Hg.) (2001), Praxisorientiertes Projektmanagement – Grundlagenwissen an Fallbeispielen illustriert. Gabler, Wiesbaden Litke H.D. (1995), Projektmanagement – Methoden, Techniken, Verhaltensweisen. Hanser, M¨ unchen Luczak H. (1998), Arbeitswissenschaften. Springer, Berlin Mayer H. (1998), Projektplanung bei beschr¨ ankten Ressourcen – Effiziente L¨ osungsverfahren zur Kapitalwertmaximierung. Peter Lang, Frankfurt Maylor H. (2003), Project Management. Pearson, Harlow Mellentien C., Schwindt C. und Trautmann N. (2004), Scheduling the Factory Pick-Up of New Cars. OR Spektrum 26, 579–601 M¨ ohring R.H. (1984), Minimizing Costs of Resource Requirements in Project Networks Subject to a Fixed Completion Time. Operations Research 32, 89–120 M¨ ohring R.H., Schulz A.S., Stork F. und Uetz M. (2003), Solving Project Scheduling Problems by Minimum Cut Computations. Management Science 49, 330–350 Moder J.J., Phillips C.R. und Davis E.W. (1983), Project Management with CPM, PERT and Precedence Diagramming. Van Nostrand Reinhold, New York Neumann K. (1975), Operations Research Verfahren, Bd. 3. Hanser, M¨ unchen Neumann K. (1987), Graphen und Netzwerke. In: T. Gal (Hg.) Grundlagen des Operations Research, Bd. 2, 165–260, Springer, Berlin Neumann K. (1990), Stochastic Project Networks – Temporal Analysis, Scheduling and Cost Minimization. Springer, Berlin Neumann K. (1999), A Heuristic Procedure for Constructing an Activity-on-Arc Project Network. In: W. Gaul und M. Schader (Hg.) Mathematische Methoden der Wirtschaftswissenschaft, 328–336, Physica, Heidelberg Neumann K. und Morlock M. (2002), Operations Research. Hanser, M¨ unchen Neumann K. und Schwindt C. (1997), Activity-on-Node Networks with Minimal and Maximal Time-Lags and Their Application to Make-to-Order Production. OR Spektrum 19, 205–217 Neumann K., Schwindt C. und Zimmermann J. (2003), Project Scheduling with Time Windows and Scarce Resources. Springer, Berlin Neumann K. und Steinhardt U. (1979), GERT Networks and the Time-Oriented Evaluation of Projects. Springer, Berlin Neumann K. und Zimmermann J. (1999), Resource Levelling for Projects with Schedule-Dependent Time Windows. European Journal of Operational Research 117, 591–605 Neumann K. und Zimmermann J. (2000), Procedures for Resource Levelling and Net Present Value Problems in Project Scheduling with General Temporal and Resource Constraints. European Journal of Operational Research 127, 425–443
342
Literaturverzeichnis
Neumann K. und Zimmermann J. (2002), Exact and Truncated Branch-and-Bound Procedures for Resource-Constrained Project Scheduling with Discounted Cash Flows and General Temporal Constraints. Central European Journal of Operations Research 10, 357–380 Nicolai W. (1980), On the Temporal Analysis of Special GERT Networks Using a Modified Markov Renewal Process. Zeitschrift f¨ ur Operations Research 24, 263–272 N¨ ubel H. (1999), Minimierung der Ressourcenkosten f¨ ur Projekte mit planungsabh¨ angigen Zeitfenstern. Gabler, Wiesbaden ¨ Ozdamar L. und Ulusoy G. (1995), A Survey on the Resource-Constrained Project Scheduling Problem. IIE Transactions 27, 574–586 Perridon L. und Steiner M. (2004), Finanzwirtschaft der Unternehmung. Vahlen, M¨ unchen Phillips S. und Dessouky M.I. (1977), Solving the Project Time/Cost Tradeoff Problem Using the Minimal Cut Concept. Management Science 24, 393–400 Pritsker A., Waters L. und Wolfe P. (1969), Multiproject Scheduling with Limited Resources: A Zero-One Programming Approach. Management Science 16, 93–108 REFA (Hg.) (1974), Methodenlehre der Planung und Steuerung – Grundlagen, Bd. 1. Carl Hanser Verlag, M¨ unchen, Verband f¨ ur Arbeitsstudien und Betriebsorganisation e.V. Schirmer A. (1999), Project Scheduling with Scarce Resources: Models, Methods, and Applications. Dr. Kovaˇc, Hamburg Schlittgen R. (1998), Einf¨ uhrung in die Statistik: Analyse und Modellierung von Daten. Oldenbourg, M¨ unchen Schneider W.G. und Hieber D. (1997), Software zur ressourcenbeschr¨ ankten Projektplanung. Technical Report WIOR–494, Universit¨ at Karlsruhe Schwarze J. (2001), Projektmanagement mit Netzplantechnik. NWB, Herne Schwindt C. (1996), Generation of Resource-Constrained Project Scheduling Problems with Minimal and Maximal Time Lags. Technical Report WIOR–489, Universit¨ at Karlsruhe Schwindt C. (1998a), Generation of Resource-Constrained Project Scheduling Problems Subject to Temporal Constraints. Technical Report WIOR–543, Universit¨ at Karlsruhe Schwindt C. (1998b), Verfahren zur L¨ osung des ressourcenbeschr¨ ankten Projektdauerminimierungsproblems mit planungsabh¨ angigen Zeitfenstern. Shaker, Aachen Schwindt C. (2005), Resource Allocation in Project Management. Springer, Berlin Schwindt C. und Trautmann N. (2003), Scheduling the Production of Rolling Ingots: Industrial Context, Model, and Solution Method. International Transactions in Operational Research 10, 501–524 Schwindt C. und Zimmermann J. (1998), Maximizing the Net Present Value of Projects Subject to Temporal Constraints. Technical Report WIOR–536, Universit¨ at Karlsruhe Schwindt C. und Zimmermann J. (2002), Parametrische Optimierung als Instrument zur Bewertung von Investitionsprojekten. Zeitschrift f¨ ur Betriebswirtschaftslehre 72, 593–617 Selle T. (2002), Untere Schranken f¨ ur Projektplanungsprobleme. Shaker, Aachen
Literaturverzeichnis
343
Selle T. und Zimmermann J. (2003), A Bidirectional Heuristic for Maximizing the Net Present Value of Large-Scale Projects Subject to Limited Resources. Naval Research Logistics 50, 130–148 Skutella M. (1998a), Approximation Algorithms for the Discrete Time-Cost Tradeoff Problem. Mathematics of Operations Research 23, 909–929 Skutella M. (1998b), Approximation and Randomization in Scheduling. Dissertation, Technische Universit¨ at Berlin Streich R., Marquardt M. und Sanden H. (1996), Projektmanagement – Prozesse und Praxisfelder. Schaeffer-Poeschel, Stuttgart Trautmann N. (2001), Anlagenbelegungsplanung in der Prozessindustrie. Gabler, Wiesbaden Trautmann N. und Baumann P. (2009), Resource-allocation Capabilities of Commercial Project Management Software: An Experimental Analysis. In: I. Kacem (Hg.) Proceedings of the 39th International Conference on Computers and Industrial Engineering, 1155–1160, Troyes Turner J.R. (1999), The Handbook of Project-Based Management. McGraw-Hill, Berkshire Vanhoucke M., Demeulemeester E.L. und Herroelen W.S. (2001), An Exact Procedure for the Resource-Constrained Weighted Earliness-Tardiness Project Scheduling Problem. Annals of Operations Research 102, 179–196 Weglarz J. (Hg.) (1999), Project Scheduling – Recent Models, Algorithms, and Applications. Kluwer, Dordrecht Wiegand D., Mellentien C. und Trautmann N. (2002), Methoden gegen das Chaos – Projektmanagement-Software im Vergleich. c’t – Magazin f¨ ur Computertechnik 7, 194 ff. Winston W.L. (2004), Operations Research – Applications and Algorithms. Thomson, Belmont Zeidler E. (Hg.) (2003), Teubner-Taschenbuch der Mathematik. Teubner, Wiesbaden Zimmermann J. (1995), Mehrmaschinen-Schedulingprobleme mit GERT-Anordnungsbeziehungen. Dissertation, Universit¨ at Karlsruhe Zimmermann J. (2001), Ablauforientiertes Projektmanagement. Gabler, Wiesbaden
Index
Ablauforganisation, 7, 36 aktive Menge, 124 Aktivierungswahrscheinlichkeit, 108 Aktivierungszahl, 108 Algorithmus Branch-and-Bound-, 180, 242, 248, 253 CPM-Konstruktions-, 84 Ford-Fulkerson-, 287 Ger¨ ust-Generierungs-, 142 Kelley-, 292 L¨ angste-Wege-, 67, 72 Label-Correcting-, 67 Tripel-, 72 Analogiemethode, 15 ¨ Anderungsverfahren, 11 begleitendes, 12 eingeschobenes, 11 kontinuierliches, 11 Anordnungsbeziehung, 46 Anstiegsrichtung steilste, 159, 162 Anstiegsverfahren, 159, 165 Aufbauorganisation, 7, 33 Aufwand, 6, 15 Aufwandskontrolle, 115 absolute, 116 aufwandskorrelierte, 116 lineare, 116 plankorrigierte, 116 Aufwandssch¨ atzung, 6, 15 ausgezeichnete Punkte, 144, 150, 151, 214, 216
Auslotregeln, 217, 238 Ausplanungs-Schritt, 260, 262, 267, 269 Basisintervall planungsabh¨ angiges, 195 Bellmansches Optimalit¨ atsprinzip, 67 Bereich zeitzul¨ assiger, 125, 139 zul¨ assiger, 210 Beschaffungskostensatz, 128 Betaverteilung, 92 bidirektionales serielles Generierungsschema, 266 bin¨ armonotone Funktion, 145, 215 bindende Zeitbeziehung, 142 Branch-and-Bound-Algorithmus, 180, 242, 248, 253 Branching-Strategie, 177 CPM-Konstruktions-Algorithmus, 84 CPM-Netzplantechnik, 77 DDA-Regel, 238 disjunktives Zweier-Preprocessing, 231 Diskontfaktor, 127 Distanzordnung, 259 Dreizeitensch¨ atzung, 52, 94 Dummyvorgang, 206 dynamische Priorit¨ atsregel, 191 dynamische Wirtschaftlichkeitsanalyse, 23 Earliness-Tardiness-Zielfunktion, 127, 132, 210
346
Index
Ecke, 139, 141 Eckenanstieg, 164 Eintrittszeitpunkt erwarteter fr¨ uhester, 96 erwarteter sp¨ atester, 96 fr¨ uhester, 88 modifizierter, 90 sp¨ atester, 88 Einzelentscheidung, 28 Endereignis, 46, 88 Endzeitpunkt fr¨ uhester, 70 sp¨ atester, 72 Entscheidungszeitpunkte Menge der, 188 Menge von, 267 Enumerationsansatz ger¨ ustbasierter, 177, 251 relaxationsbasierter, 216, 241, 247 Enumerationsschema ger¨ ustbasiertes, 170, 172, 173 relaxationsbasiertes, 217, 223 Ereignis, 4, 46 erneuerbare Ressource, 55 Erweiterungskosten, 187, 196 ES -LS -Update, 171 externes Projekt, 3 Extremalpunkt, 139, 141 F¨ alligkeitstermin, 127 Faktorenverfahren, 17 fiktiver Vorgang, 46 fixierter Vorgang, 195 Flussnetzwerk, 155 flussvergr¨ oßernder Semiweg, 288 Ford-Fulkerson-Algorithmus, 287 Fortschrittszahlung, 13 fr¨ uhester Eintrittszeitpunkt, 88 fr¨ uhester Endzeitpunkt, 70 fr¨ uhester Startzeitpunkt, 69 freie Pufferzeit, 76, 91 freie R¨ uckw¨ artspufferzeit, 76, 91 Function-Point-Methode, 19 Funktion bin¨ armonotone, 145, 215 konkave, 151 konvexe, 144, 214 lineare, 144, 214 lokal konkave, 151, 215
lokal regul¨ are, 150, 215 nach unten halbstetige, 131 regul¨ are, 144, 214 Gammafunktion, 93 Gantt-Chart, 122 Generierungsschema bidirektionales serielles , 266 serielles, 257, 262 Ger¨ ust, 141 Ger¨ ust-Generierungs-Algorithmus, 142 ger¨ ustbasierter Enumerationsansatz, 177, 251 ger¨ ustbasiertes Enumerationsschema, 170, 172, 173 GERT-Netzplantechnik, 102 Gesamtpufferzeit, 76, 90 H¨ ochstabstand zeitlicher, 47, 61 H¨ ulle konvexe, 147 transitive, 223 inklusionsminimale zul¨ assige Ordnung, 212 Inkrementnetzwerk, 156 internes Projekt, 2 Isoordnungsmenge, 148 Kapitalwert, 23 Kapitalwertmaximierung, 127, 134, 159, 210 Kelley-Algorithmus, 292 komplement¨ arer Schlupf Satz vom, 155 konjunktives Zweier-Preprocessing, 227 konkave Funktion, 151 ¨ kontinuierliches Anderungsverfahren, 11 Konventionalstrafe, 13 konvexe Funktion, 144, 214 konvexe H¨ ulle, 147 Kostenanalyse, 8, 56 Kostenfaktor, 284 Kostenfunktion, 277 Kostenkontrolle, 115 Kostenplanung, 277 Kostenzuschlagsvertrag, 12 kritischer Index, 98
Index kritischer Vorgang, 90 kritischer Weg, 90 Kundenauftragsfertigung, 198 kurzfristige Projektplanung, 42 L¨ angste-Wege-Algorithmus, 67, 72 Label-Correcting-Algorithmus, 67 langfristige Projektplanung, 41 lineare Aufwandskontrolle, 116 lineare Funktion, 144, 214 lokal konkave Funktion, 151, 215 lokal regul¨ are Funktion, 150, 215 Machbarkeitsstudie, 6, 14 Matrix-Projektorganisation, 35 maximale Projektdauer, 71 Maximalfluss-Minimalschnitt-Theorem, 291 Maximalpunkt, 139 Meilenstein, 7 Menge aktive, 124 verbotene, 208 Menge der auszuplanenden Vorg¨ ange, 261, 267 Menge der Entscheidungszeitpunkte, 188 Menge von Entscheidungszeitpunkten, 267 Mindestabstand zeitlicher, 47, 60 minimale Verk¨ urzungsmenge, 284 minimale Verz¨ ogerungsalternative, 219, 220 minimaler Schnitt, 291 minimaler Verz¨ ogerungsmodus, 221 Minimalpunkt, 139 Minimierung der mittleren Durchlaufzeit, 126, 152, 210 Minimierung der Summe gewichteter Startzeitpunkte, 126, 153, 210 mittelfristige Projektplanung, 42 modifizierter Eintrittszeitpunkt, 90 monet¨ are Zielfunktionen, 127 MPM-Netzplantechnik, 8, 59 MTM-Methode, 52 nach unten halbstetige Funktion, 131 Nachfolger, 47
347
net present value, siehe Kapitalwert Netzplantechnik, 8 CPM, 77 GERT, 102 MPM, 8, 59 PERT, 92 nicht-erneuerbare Ressource, 54 Nutzwertanalyse, 29 obere Schranke, 178, 242, 247, 252 Optimalit¨ atsprinzip Bellmansches, 67 Ordnung Distanz-, 259 inklusionsminimale zul¨ assige, 212 Schedule induzierte, 147 strenge, 146 zeitzul¨ assige, 146 zul¨ assige, 211 Ordnungsnetzplan, 147 Ordnungspolytop, 146 Outtree, 141 Pauschalpreisvertrag, 12 PERT-Netzplantechnik, 92 Pfeilfolge, 65 Pflichtenheft, 6, 11 Phasenmodell, 6 plankorrigierte Aufwandskontrolle, 116 planungsabh¨ angiges Basisintervall, 195 planungsabh¨ angiges Zeitfenster, 111 Potential, 65 Preprocessing, 217, 226 disjunktives Zweier-, 231 konjunktives Zweier-, 227 Priorit¨ atsregel, 191 dynamische, 191 statische, 191 Priorit¨ atsregelverfahren, 186, 192, 256, 268 atsregelwert, 191 Priorit¨ produktbezogene Ziele, 39 Programmentscheidung, 31 Projekt, 2 einmaliges, 3 externes, 3 internes, 2 Routine-, 3 Projekt¨ uberwachung, 112
348
Index
Projektabschluss, 8, 112 Projektauftrag, 6, 10 projektbezogene Ziele, 41 Projektdauer, 60 maximale, 71 Projektdauerminimierung, 126, 152, 209, 216 Projektende, 59 Projektkonzeption, 6, 10 Projektlebenszyklus, 5 Projektmanagement, 3 Projektorganisation Matrix-, 35 reine, 34 Stabsstellen-, 34 Projektplanung, 7, 43 kurzfristige, 42 langfristige, 41 mittelfristige, 42 unter Zeit- und Ressourcenrestriktionen, 205 unter Zeitrestriktionen, 121 Projektr¨ uckschau, 8, 119 Projektrealisation, 8, 112 Projektselektion, 7, 28 Projektspezifikation, 7, 33 Projektstart, 59 Projektstrukturplan, 44 Projektziele, 7, 39 Prozentsatzmethode, 16 Pufferzeit freie, 76, 91 freie R¨ uckw¨ arts-, 76, 91 gesamte, 76, 90 Quelle, 66 RDM-Regel, 238 REFA-Methode, 51 regul¨ are Funktion, 144, 214 reine Projektorganisation, 34 relaxationsbasierter Enumerationsansatz, 216, 241, 247 relaxationsbasiertes Enumerationsschema, 217, 223 Ressource erneuerbare, 55 nicht-erneuerbare, 54
ressourcenabh¨ angige Zielfunktionen, 128 Ressourcenabweichungsproblem, 128, 138, 169 Ressourcenanalyse, 8, 54 Ressourceninanspruchnahme, 123 Ressourceninvestmentproblem, 128, 135, 169 Ressourcenkonflikt, 207 Ressourcenniveau, 128 Ressourcennivellierung, 128, 139, 169 Ressourcenprofil, 123 Ressourcenregel, 238 Ressourcenrelaxation, 216 Ressourcenrestriktionen, 207 ressourcenzul¨ assiger Schedule, 207 Risikoanalyse, 6, 25 Routineprojekt, 3 Satz vom komplement¨ aren Schlupf, 155 Schedule, 122 ressourcenzul¨ assiger, 207 zeitzul¨ assiger, 122, 125 zul¨ assiger, 207 Schedule induzierte Ordnung, 147 Schedulepolytop, 147 Scheinvorgang, 79 Schnitt minimaler, 291 Schnittkapazit¨ at, 290 Schrittweite, 163 Semiweg flussvergr¨ oßernder, 288 Senke, 66 serielles Generierungsschema, 257, 262 Si -Sj -Schnitt, 139, 211 sp¨ atester Eintrittszeitpunkt, 88 sp¨ atester Endzeitpunkt, 72 sp¨ atester Startzeitpunkt, 70 Stabsstellen-Projektorganisation, 34 Startereignis, 46, 88 Startzeitpunkt fr¨ uhester, 69 sp¨ atester, 70 statische Priorit¨ atsregel, 191 statische Wirtschaftlichkeitsanalyse, 22 steilste Anstiegsrichtung, 159, 162 Strukturanalyse, 7, 43 Strukturelemente, 4
Index Subset-Dominanz-Regel, 238, 239 Summe gewichteter Startzeitpunkte Minimierung der, 126, 153
Vorl¨ aufer, 81 Vorrangbeziehung, 49 Vorranggraph, 81
teilfixierter Vorgang, 195 Teilschedule, 177 Terminierung, 8, 110 Terminkontrolle, 113 Tiefensuche, 178 Time-Cost-Tradeoff, 278, 292, 305 transitive H¨ ulle, 223 Tripel-Algorithmus, 72
Wahlentscheidung, 29 Weg, 65 kritischer, 90 Wirtschaftlichkeitsanalyse, 6, 21 dynamische, 23 statische, 22
¨ Uberschreitungskosten, 128 untere Schranke, 177, 217, 232 destruktive, 233, 234 workloadbasierte, 178, 236 verbotene Menge, 208 Verfr¨ uhungskosten, 127 Verk¨ urzungsfaktor, 282 Verk¨ urzungsmenge, 282 minimale, 284 Verkn¨ upfungstypen, 46 Versp¨ atungskosten, 127 Verz¨ ogerungsalternative, 219 minimale, 219, 220 Verz¨ ogerungsmodus minimaler, 221 Vorg¨ anger, 47 Vorgang, 4, 44 Dummy-, 206 fiktiver, 46 fixierter, 195 kritischer, 90 teilfixierter, 195 Vorgangseinzelkosten, 56 Vorgangsgemeinkosten, 56 Vorgangsknotennetz, 59 Vorgangspfeilnetz, 77
Zahlungsmodalit¨ aten, 12 Zeit-Aufwands-Kurve, 117 Zeitanalyse, 8, 51 Zeitbeziehung, 4, 46, 47 bindende, 142 zeitbezogene Zielfunktionen, 126 Zeitfenster planungsabh¨ angiges, 111 zeitlicher H¨ ochstabstand, 47, 61 zeitlicher Mindestabstand, 47, 60 Zeitplanung, 67 zeitzul¨ assige Ordnung, 146 zeitzul¨ assiger Bereich, 125, 139 zeitzul¨ assiger Schedule, 122, 125 Zieldekomposition, 40 Ziele produktbezogene, 39 projektbezogene, 41 Zielfunktionen, 126 Earliness-Tardiness-, 132 monet¨ are, 127 ressourcenabh¨ angige, 128 zeitbezogene, 126 zul¨ assige Ordnung, 211 zul¨ assiger Bereich, 210 zul¨ assiger Schedule, 207 Zusatzkosten, 279 Zyklus, 65
349